diff options
173 files changed, 11788 insertions, 9250 deletions
diff --git a/.gitignore b/.gitignore index 66199edd4a..b5f9defed3 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ /GIT-CFLAGS /GIT-LDFLAGS /GIT-PREFIX +/GIT-PERL-DEFINES /GIT-PYTHON-VARS /GIT-SCRIPT-DEFINES /GIT-USER-AGENT @@ -75,7 +76,6 @@ /git-init-db /git-instaweb /git-log -/git-lost-found /git-ls-files /git-ls-remote /git-ls-tree @@ -105,7 +105,6 @@ /git-pack-refs /git-parse-remote /git-patch-id -/git-peek-remote /git-prune /git-prune-packed /git-pull @@ -131,7 +130,6 @@ /git-remote-testsvn /git-repack /git-replace -/git-repo-config /git-request-pull /git-rerere /git-reset @@ -159,7 +157,6 @@ /git-svn /git-symbolic-ref /git-tag -/git-tar-tree /git-unpack-file /git-unpack-objects /git-update-index diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines index a600e35c81..ef67b53f72 100644 --- a/Documentation/CodingGuidelines +++ b/Documentation/CodingGuidelines @@ -260,9 +260,11 @@ Writing Documentation: Every user-visible change should be reflected in the documentation. The same general rule as for code applies -- imitate the existing - conventions. A few commented examples follow to provide reference - when writing or modifying command usage strings and synopsis sections - in the manual pages: + conventions. + + A few commented examples follow to provide reference when writing or + modifying command usage strings and synopsis sections in the manual + pages: Placeholders are spelled in lowercase and enclosed in angle brackets: <file> @@ -312,3 +314,29 @@ Writing Documentation: Use 'git' (all lowercase) when talking about commands i.e. something the user would type into a shell and use 'Git' (uppercase first letter) when talking about the version control system and its properties. + + A few commented examples follow to provide reference when writing or + modifying paragraphs or option/command explanations that contain options + or commands: + + Literal examples (e.g. use of command-line options, command names, and + configuration variables) are typeset in monospace, and if you can use + `backticks around word phrases`, do so. + `--pretty=oneline` + `git rev-list` + `remote.pushdefault` + + Word phrases enclosed in `backtick characters` are rendered literally + and will not be further expanded. The use of `backticks` to achieve the + previous rule means that literal examples should not use AsciiDoc + escapes. + Correct: + `--pretty=oneline` + Incorrect: + `\--pretty=oneline` + + If some place in the documentation needs to typeset a command usage + example with inline substitutions, it is fine to use +monospaced and + inline substituted text+ instead of `monospaced literal text`, and with + the former, the part that should not get substituted must be + quoted/escaped. diff --git a/Documentation/RelNotes/1.8.4.3.txt b/Documentation/RelNotes/1.8.4.3.txt new file mode 100644 index 0000000000..03f3d17751 --- /dev/null +++ b/Documentation/RelNotes/1.8.4.3.txt @@ -0,0 +1,54 @@ +Git v1.8.4.3 Release Notes +======================== + +Fixes since v1.8.4.2 +-------------------- + + * The interaction between use of Perl in our test suite and NO_PERL + has been clarified a bit. + + * A fast-import stream expresses a pathname with funny characters by + quoting them in C style; remote-hg remote helper (in contrib/) + forgot to unquote such a path. + + * One long-standing flaw in the pack transfer protocol used by "git + clone" was that there was no way to tell the other end which branch + "HEAD" points at, and the receiving end needed to guess. A new + capability has been defined in the pack protocol to convey this + information so that cloning from a repository with more than one + branches pointing at the same commit where the HEAD is at now + reliably sets the initial branch in the resulting repository. + + * We did not handle cases where http transport gets redirected during + the authorization request (e.g. from http:// to https://). + + * "git rev-list --objects ^v1.0^ v1.0" gave v1.0 tag itself in the + output, but "git rev-list --objects v1.0^..v1.0" did not. + + * The fall-back parsing of commit objects with broken author or + committer lines were less robust than ideal in picking up the + timestamps. + + * Bash prompting code to deal with an SVN remote as an upstream + were coded in a way not supported by older Bash versions (3.x). + + * "git checkout topic", when there is not yet a local "topic" branch + but there is a unique remote-tracking branch for a remote "topic" + branch, pretended as if "git checkout -t -b topic remote/$r/topic" + (for that unique remote $r) was run. This hack however was not + implemented for "git checkout topic --". + + * Coloring around octopus merges in "log --graph" output was screwy. + + * We did not generate HTML version of documentation to "git subtree" + in contrib/. + + * The synopsis section of "git unpack-objects" documentation has been + clarified a bit. + + * An ancient How-To on serving Git repositories on an HTTP server + lacked a warning that it has been mostly superseded with more + modern way. + +Also contains a handful of trivial code clean-ups, documentation +updates, updates to the test suite, etc. diff --git a/Documentation/RelNotes/1.8.4.4.txt b/Documentation/RelNotes/1.8.4.4.txt new file mode 100644 index 0000000000..7bc4c5dcc0 --- /dev/null +++ b/Documentation/RelNotes/1.8.4.4.txt @@ -0,0 +1,10 @@ +Git v1.8.4.4 Release Notes +======================== + +Fixes since v1.8.4.3 +-------------------- + + * The fix in v1.8.4.3 to the pack transfer protocol to propagate + the target of symbolic refs broke "git clone/git fetch" from a + repository with too many symbolic refs. As a hotfix/workaround, + we transfer only the information on HEAD. diff --git a/Documentation/RelNotes/1.8.4.5.txt b/Documentation/RelNotes/1.8.4.5.txt new file mode 100644 index 0000000000..215bd1a7a2 --- /dev/null +++ b/Documentation/RelNotes/1.8.4.5.txt @@ -0,0 +1,13 @@ +Git v1.8.4.5 Release Notes +========================== + +Fixes since v1.8.4.4 +-------------------- + + * Recent update to remote-hg that attempted to make it work better + with non ASCII pathnames fed Unicode strings to the underlying Hg + API, which was wrong. + + * "git submodule init" copied "submodule.$name.update" settings from + .gitmodules to .git/config without making sure if the suggested + value was sensible. diff --git a/Documentation/RelNotes/1.8.5.1.txt b/Documentation/RelNotes/1.8.5.1.txt new file mode 100644 index 0000000000..7236aaf232 --- /dev/null +++ b/Documentation/RelNotes/1.8.5.1.txt @@ -0,0 +1,9 @@ +Git v1.8.5.1 Release Notes +========================== + +Fixes since v1.8.5 +------------------ + + * "git submodule init" copied "submodule.$name.update" settings from + .gitmodules to .git/config without making sure if the suggested + value was sensible. diff --git a/Documentation/RelNotes/1.8.5.txt b/Documentation/RelNotes/1.8.5.txt index 13b4336e51..602df0cac2 100644 --- a/Documentation/RelNotes/1.8.5.txt +++ b/Documentation/RelNotes/1.8.5.txt @@ -8,7 +8,7 @@ When "git push [$there]" does not say what to push, we have used the traditional "matching" semantics so far (all your branches were sent to the remote as long as there already are branches of the same name over there). In Git 2.0, the default will change to the "simple" -semantics that pushes: +semantics, which pushes: - only the current branch to the branch with the same name, and only when the current branch is set to integrate with that remote @@ -53,9 +53,12 @@ Updates since v1.8.4 Foreign interfaces, subsystems and ports. - * "git-svn" used with SVN 1.8.0 when talking over https:// connection + * "git-svn" has been taught to use the serf library, which is the + only option SVN 1.8.0 offers us when talking the HTTP protocol. + + * "git-svn" talking over an https:// connection using the serf library dumped core due to a bug in the serf library that SVN uses. Work - it around on our side, even though the SVN side is being fixed. + around it on our side, even though the SVN side is being fixed. * On MacOS X, we detected if the filesystem needs the "pre-composed unicode strings" workaround, but did not automatically enable it. @@ -65,10 +68,7 @@ Foreign interfaces, subsystems and ports. repository relative to the home directory, e.g. "clone hg::~/there". * imap-send ported to OS X uses Apple's security framework instead of - OpenSSL one. - - * Subversion 1.8.0 that was recently released breaks older subversion - clients coming over http/https in various ways. + OpenSSL's. * "git fast-import" treats an empty path given to "ls" as the root of the tree. @@ -79,22 +79,22 @@ UI, Workflows & Features * xdg-open can be used as a browser backend for "git web-browse" (hence to show "git help -w" output), when available. - * "git grep" and "git show" pays attention to "--textconv" option + * "git grep" and "git show" pay attention to the "--textconv" option when these commands are told to operate on blob objects (e.g. "git - grep -e pattern HEAD:Makefile"). + grep -e pattern --textconv HEAD:Makefile"). * "git replace" helper no longer allows an object to be replaced with another object of a different type to avoid confusion (you can - still manually craft such replacement using "git update-ref", as an + still manually craft such a replacement using "git update-ref", as an escape hatch). - * "git status" no longer prints dirty status information for + * "git status" no longer prints the dirty status information of submodules for which submodule.$name.ignore is set to "all". * "git rebase -i" honours core.abbrev when preparing the insn sheet for editing. - * "git status" during a cherry-pick shows what original commit is + * "git status" during a cherry-pick shows which original commit is being picked. * Instead of typing four capital letters "HEAD", you can say "@" now, @@ -102,21 +102,21 @@ UI, Workflows & Features * "git check-ignore" follows the same rule as "git add" and "git status" in that the ignore/exclude mechanism does not take effect - on paths that are already tracked. With "--no-index" option, it + on paths that are already tracked. With the "--no-index" option, it can be used to diagnose which paths that should have been ignored have been mistakenly added to the index. * Some irrelevant "advice" messages that are shared with "git status" output have been removed from the commit log template. - * "update-refs" learnt a "--stdin" option to read multiple update + * "update-refs" learned a "--stdin" option to read multiple update requests and perform them in an all-or-none fashion. * Just like "make -C <directory>", "git -C <directory> ..." tells Git to go there before doing anything else. - * Just like "git checkout -" knows to check out and "git merge -" - knows to merge the branch you were previously on, "git cherry-pick" + * Just like "git checkout -" knows to check out, and "git merge -" + knows to merge, the branch you were previously on, "git cherry-pick" now understands "git cherry-pick -" to pick from the previous branch. @@ -126,56 +126,58 @@ UI, Workflows & Features "git status --porcelain" instead, as its format is stable and easier to parse. - * Make "foo^{tag}" to peel a tag to itself, i.e. no-op., and fail if - "foo" is not a tag. "git rev-parse --verify v1.0^{tag}" would be - a more convenient way to say "test $(git cat-file -t v1.0) = tag". + * The ref syntax "foo^{tag}" (with the literal string "{tag}") peels a + tag ref to itself, i.e. it's a no-op., and fails if + "foo" is not a tag. "git rev-parse --verify v1.0^{tag}" is + a more convenient way than "test $(git cat-file -t v1.0) = tag" to + check if v1.0 is a tag. * "git branch -v -v" (and "git status") did not distinguish among a - branch that does not build on any other branch, a branch that is in - sync with the branch it builds on, and a branch that is configured - to build on some other branch that no longer exists. + branch that is not based on any other branch, a branch that is in + sync with its upstream branch, and a branch that is configured with an + upstream branch that no longer exists. - * Earlier we started rejecting an attempt to add 0{40} object name to + * Earlier we started rejecting any attempt to add the 0{40} object name to the index and to tree objects, but it sometimes is necessary to - allow so to be able to use tools like filter-branch to correct such - broken tree objects. "filter-branch" can again be used to to do - so. + allow this to be able to use tools like filter-branch to correct such + broken tree objects. "filter-branch" can again be used to do this. * "git config" did not provide a way to set or access numbers larger than a native "int" on the platform; it now provides 64-bit signed integers on all platforms. * "git pull --rebase" always chose to do the bog-standard flattening - rebase. You can tell it to run "rebase --preserve-merges" by + rebase. You can tell it to run "rebase --preserve-merges" with + "git pull --rebase=preserve" or by setting "pull.rebase" configuration to "preserve". * "git push --no-thin" actually disables the "thin pack transfer" optimization. - * Magic pathspecs like ":(icase)makefile" that matches both Makefile - and makefile and ":(glob)foo/**/bar" that matches "bar" in "foo" - and any subdirectory of "foo" can be used in more places. + * Magic pathspecs like ":(icase)makefile" (matches both Makefile + and makefile) and ":(glob)foo/**/bar" (matches "bar" in "foo" + and any subdirectory of "foo") can be used in more places. - * The "http.*" variables can now be specified per URL that the - configuration applies. For example, + * The "http.*" variables can now be specified for individual URLs. + For example, [http] sslVerify = true [http "https://weak.example.com/"] sslVerify = false - would flip http.sslVerify off only when talking to that specified + would flip http.sslVerify off only when talking to that specific site. - * "git mv A B" when moving a submodule A has been taught to - relocate its working tree and to adjust the paths in the + * "git mv A B" when moving a submodule has been taught to + relocate the submodule's working tree and to adjust the paths in the .gitmodules file. * "git blame" can now take more than one -L option to discover the - origin of multiple blocks of the lines. + origin of multiple blocks of lines. * The http transport clients can optionally ask to save cookies - with http.savecookies configuration variable. + with the http.savecookies configuration variable. * "git push" learned a more fine grained control over a blunt "--force" when requesting a non-fast-forward update with the @@ -197,7 +199,7 @@ UI, Workflows & Features * "git whatchanged" may still be used by old timers, but mention of it in documents meant for new users will only waste readers' time - wonderig what the difference is between it and "git log". Make it + wondering what the difference is between it and "git log". Make it less prominent in the general part of the documentation and explain that it is merely a "git log" with different default behaviour in its own document. @@ -219,23 +221,23 @@ Performance, Internal Implementation, etc. should apply the same "no subprocess or pipe" optimization as we apply to user-supplied GIT_PAGER=cat. - * Many commands use --dashed-option as a operation mode selector - (e.g. "git tag --delete") that the user can use at most one - (e.g. "git tag --delete --verify" is a nonsense) and you cannot - negate (e.g. "git tag --no-delete" is a nonsense). parse-options + * Many commands use a --dashed-option as an operation mode selector + (e.g. "git tag --delete") that excludes other operation modes + (e.g. "git tag --delete --verify" is nonsense) and that cannot be + negated (e.g. "git tag --no-delete" is nonsense). The parse-options API learned a new OPT_CMDMODE macro to make it easier to implement such a set of options. - * OPT_BOOLEAN() in parse-options API was misdesigned to be "counting + * OPT_BOOLEAN() in the parse-options API was misdesigned to be "counting up" but many subcommands expect it to behave as "on/off". Update them to use OPT_BOOL() which is a proper boolean. - * "git gc" exits early without doing a double-work when it detects + * "git gc" exits early without doing any work when it detects that another instance of itself is already running. * Under memory pressure and/or file descriptor pressure, we used to - close pack windows that are not used and also closed filehandle to - an open but unused packfiles. These are now controlled separately + close pack windows that are not used and also closed filehandles to + open but unused packfiles. These are now controlled separately to better cope with the load. Also contains various documentation updates and code clean-ups. @@ -245,32 +247,32 @@ Fixes since v1.8.4 ------------------ Unless otherwise noted, all the fixes since v1.8.4 in the maintenance -track are contained in this release (see release notes to them for +track are contained in this release (see the maintenance releases' notes for details). * An ancient How-To on serving Git repositories on an HTTP server - lacked a warning that it has been mostly superseded with more + lacked a warning that it has been mostly superseded with a more modern way. (merge 6d52bc3 sc/doc-howto-dumb-http later to maint). - * The interaction between use of Perl in our test suite and NO_PERL + * The interaction between the use of Perl in our test suite and NO_PERL has been clarified a bit. (merge f8fc0ee jn/test-prereq-perl-doc later to maint). - * The synopsis section of "git unpack-objects" documentation has been + * The synopsis section of the "git unpack-objects" documentation has been clarified a bit. (merge 61e2e22 vd/doc-unpack-objects later to maint). - * We did not generate HTML version of documentation to "git subtree" + * We did not generate the HTML version of the documentation to "git subtree" in contrib/. (merge 95c62fb jk/subtree-install-fix later to maint). * A fast-import stream expresses a pathname with funny characters by - quoting them in C style; remote-hg remote helper forgot to unquote + quoting them in C style; the remote-hg remote helper forgot to unquote such a path. (merge 1136265 ap/remote-hg-unquote-cquote later to maint). - * "git reset -p HEAD" has a codepath to special case it to behave + * "git reset -p HEAD" has a codepath to special-case it to behave differently from resetting to contents of other commits, but a recent change broke it. @@ -289,38 +291,38 @@ details). "HEAD" points at, and the receiving end needed to guess. A new capability has been defined in the pack protocol to convey this information so that cloning from a repository with more than one - branches pointing at the same commit where the HEAD is at now + branch pointing at the same commit where the HEAD is at now reliably sets the initial branch in the resulting repository. (merge 360a326 jc/upload-pack-send-symref later to maint). - * We did not handle cases where http transport gets redirected during + * We did not handle cases where the http transport gets redirected during the authorization request (e.g. from http:// to https://). (merge 70900ed jk/http-auth-redirects later to maint). * Bash prompting code to deal with an SVN remote as an upstream - were coded in a way not supported by older Bash versions (3.x). + was coded in a way unsupported by older Bash versions (3.x). (merge 52ec889 sg/prompt-svn-remote-fix later to maint). * The fall-back parsing of commit objects with broken author or - committer lines were less robust than ideal in picking up the + committer lines was less robust than ideal in picking up the timestamps. (merge 03818a4 jk/split-broken-ident later to maint). - * "git rev-list --objects ^v1.0^ v1.0" gave v1.0 tag itself in the + * "git rev-list --objects ^v1.0^ v1.0" gave the v1.0 tag itself in the output, but "git rev-list --objects v1.0^..v1.0" did not. (merge 895c5ba jc/revision-range-unpeel later to maint). - * "git clone" gave some progress messages to the standard output, not - to the standard error, and did not allow suppressing them with the + * "git clone" wrote some progress messages to standard output, not + to standard error, and did not suppress them with the --no-progress option. (merge 643f918 jk/clone-progress-to-stderr later to maint). - * "format-patch --from=<whom>" forgot to omit unnecessary in-body + * "format-patch --from=<whom>" forgot to omit an unnecessary in-body from line, i.e. when <whom> is the same as the real author. (merge 662cc30 jk/format-patch-from later to maint). * "git shortlog" used to choke and die when there is a malformed - commit (e.g. missing authors); it now simply ignore such a commit + commit (e.g. missing authors); it now simply ignores such a commit and keeps going. (merge cd4f09e jk/shortlog-tolerate-broken-commit later to maint). @@ -334,16 +336,16 @@ details). small empty messages to keep the connection alive. (merge 115dedd jk/upload-pack-keepalive later to maint). - * "git rebase" had a portability regression in v1.8.4 to trigger a + * "git rebase" had a portability regression in v1.8.4 that triggered a bug in some BSD shell implementations. (merge 99855dd mm/rebase-continue-freebsd-WB later to maint). * "git branch --track" had a minor regression in v1.8.3.2 and later that made it impossible to base your local work on anything but a - local branch of the upstream repository you are tracking from. + local branch of the upstream repository you are tracking. (merge b0f49ff jh/checkout-auto-tracking later to maint). - * When the webserver responds with "405 Method Not Allowed", "git + * When the web server responds with "405 Method Not Allowed", "git http-backend" should tell the client what methods are allowed with the "Allow" header. (merge 9247be0 bc/http-backend-allow-405 later to maint). @@ -357,22 +359,22 @@ details). executable files. (merge 1b48d56 jc/cvsserver-perm-bit-fix later to maint). - * When send-email comes up with an error message to die with upon + * When send-email obtains an error message to die with upon failure to start an SSL session, it tried to read the error string from a wrong place. (merge 6cb0c88 bc/send-email-ssl-die-message-fix later to maint). - * The implementation of "add -i" has a crippling code to work around + * The implementation of "add -i" has some crippling code to work around an ActiveState Perl limitation but it by mistake also triggered on Git for Windows where MSYS perl is used. (merge df17e77 js/add-i-mingw later to maint). - * We made sure that we notice the user-supplied GIT_DIR is actually a + * We made sure that we notice when the user-supplied GIT_DIR is actually a gitfile, but did not do the same when the default ".git" is a gitfile. (merge 487a2b7 nd/git-dir-pointing-at-gitfile later to maint). - * When an object is not found after checking the packfiles and then + * When an object is not found after checking the packfiles and the loose object directory, read_sha1_file() re-checks the packfiles to prevent racing with a concurrent repacker; teach the same logic to has_sha1_file(). @@ -390,22 +392,22 @@ details). made it unnecessarily inefficient. (merge 680be04 jc/ls-files-killed-optim later to maint). - * The commit object names in the insn sheet that was prepared at the - beginning of "rebase -i" session can become ambiguous as the + * The shortened commit object names in the insn sheet that is prepared at the + beginning of a "rebase -i" session can become ambiguous as the rebasing progresses and the repository gains more commits. Make sure the internal record is kept with full 40-hex object names. (merge 75c6976 es/rebase-i-no-abbrev later to maint). * "git rebase --preserve-merges" internally used the merge machinery - and as a side effect, left merge summary message in the log, but - when rebasing, there should not be a need for merge summary. + and as a side effect left the merge summary message in the log, but + when rebasing there is no need for the merge summary. (merge a9f739c rt/rebase-p-no-merge-summary later to maint). - * A call to xread() was used without a loop around to cope with short - read in the codepath to stream new contents to a pack. + * A call to xread() was used without a loop around it to cope with short + reads in the codepath to stream new contents to a pack. (merge e92527c js/xread-in-full later to maint). - * "git rebase -i" forgot that the comment character can be + * "git rebase -i" forgot that the comment character is configurable while reading its insn sheet. (merge 7bca7af es/rebase-i-respect-core-commentchar later to maint). @@ -416,8 +418,8 @@ details). * We used to send a large request to read(2)/write(2) as a single system call, which was bad from the latency point of view when the operation needs to be killed, and also triggered an error on - broken 64-bit systems that refuse to take more than 2GB read or - write in one go. + broken 64-bit systems that refuse to read or write more than 2GB + in one go. (merge a487916 sp/clip-read-write-to-8mb later to maint). * "git fetch" that auto-followed tags incorrectly reused the @@ -431,17 +433,17 @@ details). had a similar problem. (merge 838f9a1 tr/log-full-diff-keep-true-parents later to maint). - * Setting submodule.*.path configuration variable to true (without + * Setting a submodule.*.path configuration variable to true (without giving "= value") caused Git to segfault. (merge 4b05440 jl/some-submodule-config-are-not-boolean later to maint). * "git rebase -i" (there could be others, as the root cause is pretty - generic) fed a random, data dependeant string to 'echo' and - expects it to come out literally, corrupting its error message. + generic) fed a random, data dependent string to 'echo' and + expected it to come out literally, corrupting its error message. (merge 89b0230 mm/no-shell-escape-in-die-message later to maint). * Some people still use rather old versions of bash, which cannot - grok some constructs like 'printf -v varname' the prompt and + grok some constructs like 'printf -v varname' which the prompt and completion code started to use recently. (merge a44aa69 bc/completion-for-bash-3.0 later to maint). diff --git a/Documentation/RelNotes/1.9.txt b/Documentation/RelNotes/1.9.txt new file mode 100644 index 0000000000..9debcc41eb --- /dev/null +++ b/Documentation/RelNotes/1.9.txt @@ -0,0 +1,133 @@ +Git v1.9 Release Notes +====================== + +Backward compatibility notes +---------------------------- + +"git submodule foreach $cmd $args" used to treat "$cmd $args" the same +way "ssh" did, concatenating them into a single string and letting the +shell unquote. Careless users who forget to sufficiently quote $args +gets their argument split at $IFS whitespaces by the shell, and got +unexpected results due to this. Starting from this release, the +command line is passed directly to the shell, if it has an argument. + +Read-only support for experimental loose-object format, in which users +could optionally choose to write in their loose objects for a short +while between v1.4.3 to v1.5.3 era, has been dropped. + + +Backward compatibility notes (for Git 2.0) +------------------------------------------ + +When "git push [$there]" does not say what to push, we have used the +traditional "matching" semantics so far (all your branches were sent +to the remote as long as there already are branches of the same name +over there). In Git 2.0, the default will change to the "simple" +semantics, which pushes: + + - only the current branch to the branch with the same name, and only + when the current branch is set to integrate with that remote + branch, if you are pushing to the same remote as you fetch from; or + + - only the current branch to the branch with the same name, if you + are pushing to a remote that is not where you usually fetch from. + +Use the user preference configuration variable "push.default" to +change this. If you are an old-timer who is used to the "matching" +semantics, you can set the variable to "matching" to keep the +traditional behaviour. If you want to live in the future early, you +can set it to "simple" today without waiting for Git 2.0. + +When "git add -u" (and "git add -A") is run inside a subdirectory and +does not specify which paths to add on the command line, it +will operate on the entire tree in Git 2.0 for consistency +with "git commit -a" and other commands. There will be no +mechanism to make plain "git add -u" behave like "git add -u .". +Current users of "git add -u" (without a pathspec) should start +training their fingers to explicitly say "git add -u ." +before Git 2.0 comes. A warning is issued when these commands are +run without a pathspec and when you have local changes outside the +current directory, because the behaviour in Git 2.0 will be different +from today's version in such a situation. + +In Git 2.0, "git add <path>" will behave as "git add -A <path>", so +that "git add dir/" will notice paths you removed from the directory +and record the removal. Versions before Git 2.0, including this +release, will keep ignoring removals, but the users who rely on this +behaviour are encouraged to start using "git add --ignore-removal <path>" +now before 2.0 is released. + +The default prefix for "git svn" will change in Git 2.0. For a long +time, "git svn" created its remote-tracking branches directly under +refs/remotes, but it will place them under refs/remotes/origin/ unless +it is told otherwise with its --prefix option. + + +Updates since v1.8.5 +-------------------- + +Foreign interfaces, subsystems and ports. + + * The HTTP transport, when talking GSS-Negotinate, uses "100 + Continue" response to avoid having to rewind and resend a large + payload, which may not be always doable. + + * Various bugfixes to remote-bzr and remote-hg (in contrib/). + + +UI, Workflows & Features + + * "git for-each-ref --format=..." learned a few formatting directives; + e.g. "%(color:red)%(HEAD)%(color:reset) %(refname:short) %(subject)". + + * The command string given to "git submodule foreach" is passed + directly to the shell, without being eval'ed. This is a backward + incompatible change that may break existing users. + + * "git log" and friends learned the "--exclude=<glob>" option, to + allow people to say "list history of all branches except those that + match this pattern" with "git log --exclude='*/*' --branches". + + * "git rev-parse --parseopt" learned a new "--stuck-long" option to + help scripts parse options with an optional parameter. + + +Performance, Internal Implementation, etc. + + * The new PERLLIB_EXTRA makefile variable can be used to specify + additional directories Perl modules (e.g. the ones necessary to run + git-svn) are installed on the platform when building. + + * "git merge-base" learned the "--fork-point" mode, that implements + the same logic used in "git pull --rebase" to find a suitable fork + point out of the reflog entries for the remote-tracking branch the + work has been based on. + + + +Also contains various documentation updates and code clean-ups. + + +Fixes since v1.8.5 +------------------ + +Unless otherwise noted, all the fixes since v1.8.5 in the maintenance +track are contained in this release (see the maintenance releases' notes +for details). + + * "git diff -- ':(icase)makefile'" was unnecessarily rejected at the + command line parser. + (merge 887c6c1 nd/magic-pathspec later to maint). + + * "git cat-file --batch-check=ok" did not check the existence of + the named object. + (merge 4ef8d1d sb/sha1-loose-object-info-check-existence later to maint). + + * "git am --abort" sometimes complained about not being able to write + a tree with an 0{40} object in it. + (merge 77b43ca jk/two-way-merge-corner-case-fix later to maint). + + * Two processes creating loose objects at the same time could have + failed unnecessarily when the name of their new objects started + with the same byte value, due to a race condition. + (merge b2476a6 jh/loose-object-dirs-creation-race later to maint). diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches index 705557689d..e6d46edbe7 100644 --- a/Documentation/SubmittingPatches +++ b/Documentation/SubmittingPatches @@ -139,8 +139,15 @@ People on the Git mailing list need to be able to read and comment on the changes you are submitting. It is important for a developer to be able to "quote" your changes, using standard e-mail tools, so that they may comment on specific portions of -your code. For this reason, all patches should be submitted -"inline". If your log message (including your name on the +your code. For this reason, each patch should be submitted +"inline" in a separate message. + +Multiple related patches should be grouped into their own e-mail +thread to help readers find all parts of the series. To that end, +send them as replies to either an additional "cover letter" message +(see below), the first patch, or the respective preceding patch. + +If your log message (including your name on the Signed-off-by line) is not writable in ASCII, make sure that you send off a message in the correct encoding. diff --git a/Documentation/config.txt b/Documentation/config.txt index ab26963d61..a4058063ce 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -2087,8 +2087,8 @@ remote.<name>.vcs:: remote.<name>.prune:: When set to true, fetching from this remote by default will also - remove any remote-tracking branches which no longer exist on the - remote (as if the `--prune` option was give on the command line). + remove any remote-tracking references that no longer exist on the + remote (as if the `--prune` option was given on the command line). Overrides `fetch.prune` settings, if any. remotes.<group>:: diff --git a/Documentation/date-formats.txt b/Documentation/date-formats.txt index c000f08a9d..ccd1fc8122 100644 --- a/Documentation/date-formats.txt +++ b/Documentation/date-formats.txt @@ -8,9 +8,9 @@ endif::git-commit[] support the following date formats: Git internal format:: - It is `<unix timestamp> <timezone offset>`, where `<unix + It is `<unix timestamp> <time zone offset>`, where `<unix timestamp>` is the number of seconds since the UNIX epoch. - `<timezone offset>` is a positive or negative offset from UTC. + `<time zone offset>` is a positive or negative offset from UTC. For example CET (which is 2 hours ahead UTC) is `+0200`. RFC 2822:: diff --git a/Documentation/fetch-options.txt b/Documentation/fetch-options.txt index ba1fe49582..f0ef7d02a5 100644 --- a/Documentation/fetch-options.txt +++ b/Documentation/fetch-options.txt @@ -41,17 +41,20 @@ ifndef::git-pull[] -p:: --prune:: - After fetching, remove any remote-tracking branches which - no longer exist on the remote. + After fetching, remove any remote-tracking references that no + longer exist on the remote. Tags are not subject to pruning + if they are fetched only because of the default tag + auto-following or due to a --tags option. However, if tags + are fetched due to an explicit refspec (either on the command + line or in the remote configuration, for example if the remote + was cloned with the --mirror option), then they are also + subject to pruning. endif::git-pull[] -ifdef::git-pull[] ---no-tags:: -endif::git-pull[] ifndef::git-pull[] -n:: ---no-tags:: endif::git-pull[] +--no-tags:: By default, tags that point at objects that are downloaded from the remote repository are fetched and stored locally. This option disables this automatic tag following. The default @@ -61,11 +64,12 @@ endif::git-pull[] ifndef::git-pull[] -t:: --tags:: - This is a short-hand for giving `refs/tags/*:refs/tags/*` - refspec from the command line, to ask all tags to be fetched - and stored locally. Because this acts as an explicit - refspec, the default refspecs (configured with the - remote.$name.fetch variable) are overridden and not used. + Fetch all tags from the remote (i.e., fetch remote tags + `refs/tags/*` into local tags with the same name), in addition + to whatever else would otherwise be fetched. Using this + option alone does not subject tags to pruning, even if --prune + is used (though tags may be pruned anyway if they are also the + destination of an explicit refspec; see '--prune'). --recurse-submodules[=yes|on-demand|no]:: This option controls if and under what conditions new commits of diff --git a/Documentation/git-blame.txt b/Documentation/git-blame.txt index f2c85cc633..8e70a61840 100644 --- a/Documentation/git-blame.txt +++ b/Documentation/git-blame.txt @@ -103,7 +103,7 @@ This header line is followed by the following information at least once for each commit: - the author name ("author"), email ("author-mail"), time - ("author-time"), and timezone ("author-tz"); similarly + ("author-time"), and time zone ("author-tz"); similarly for committer. - the filename in the commit that the line is attributed to. - the first line of the commit log message ("summary"). diff --git a/Documentation/git-cherry.txt b/Documentation/git-cherry.txt index 2d0daae626..0ea921a593 100644 --- a/Documentation/git-cherry.txt +++ b/Documentation/git-cherry.txt @@ -3,7 +3,7 @@ git-cherry(1) NAME ---- -git-cherry - Find commits not merged upstream +git-cherry - Find commits yet to be applied to upstream SYNOPSIS -------- @@ -12,46 +12,26 @@ SYNOPSIS DESCRIPTION ----------- -The changeset (or "diff") of each commit between the fork-point and <head> -is compared against each commit between the fork-point and <upstream>. -The diffs are compared after removing any whitespace and line numbers. +Determine whether there are commits in `<head>..<upstream>` that are +equivalent to those in the range `<limit>..<head>`. -Every commit that doesn't exist in the <upstream> branch -has its id (sha1) reported, prefixed by a symbol. The ones that have -equivalent change already -in the <upstream> branch are prefixed with a minus (-) sign, and those -that only exist in the <head> branch are prefixed with a plus (+) symbol: - - __*__*__*__*__> <upstream> - / - fork-point - \__+__+__-__+__+__-__+__> <head> - - -If a <limit> has been given then the commits along the <head> branch up -to and including <limit> are not reported: - - __*__*__*__*__> <upstream> - / - fork-point - \__*__*__<limit>__-__+__> <head> - - -Because 'git cherry' compares the changeset rather than the commit id -(sha1), you can use 'git cherry' to find out if a commit you made locally -has been applied <upstream> under a different commit id. For example, -this will happen if you're feeding patches <upstream> via email rather -than pushing or pulling commits directly. +The equivalence test is based on the diff, after removing whitespace +and line numbers. git-cherry therefore detects when commits have been +"copied" by means of linkgit:git-cherry-pick[1], linkgit:git-am[1] or +linkgit:git-rebase[1]. +Outputs the SHA1 of every commit in `<limit>..<head>`, prefixed with +`-` for commits that have an equivalent in <upstream>, and `+` for +commits that do not. OPTIONS ------- -v:: - Verbose. + Show the commit subjects next to the SHA1s. <upstream>:: - Upstream branch to compare against. - Defaults to the first tracked remote branch, if available. + Upstream branch to search for equivalent commits. + Defaults to the upstream branch of HEAD. <head>:: Working branch; defaults to HEAD. @@ -59,6 +39,103 @@ OPTIONS <limit>:: Do not report commits up to (and including) limit. +EXAMPLES +-------- + +Patch workflows +~~~~~~~~~~~~~~~ + +git-cherry is frequently used in patch-based workflows (see +linkgit:gitworkflows[7]) to determine if a series of patches has been +applied by the upstream maintainer. In such a workflow you might +create and send a topic branch like this: + +------------ +$ git checkout -b topic origin/master +# work and create some commits +$ git format-patch origin/master +$ git send-email ... 00* +------------ + +Later, you can see whether your changes have been applied by saying +(still on `topic`): + +------------ +$ git fetch # update your notion of origin/master +$ git cherry -v +------------ + +Concrete example +~~~~~~~~~~~~~~~~ + +In a situation where topic consisted of three commits, and the +maintainer applied two of them, the situation might look like: + +------------ +$ git log --graph --oneline --decorate --boundary origin/master...topic +* 7654321 (origin/master) upstream tip commit +[... snip some other commits ...] +* cccc111 cherry-pick of C +* aaaa111 cherry-pick of A +[... snip a lot more that has happened ...] +| * cccc000 (topic) commit C +| * bbbb000 commit B +| * aaaa000 commit A +|/ +o 1234567 branch point +------------ + +In such cases, git-cherry shows a concise summary of what has yet to +be applied: + +------------ +$ git cherry origin/master topic +- cccc000... commit C ++ bbbb000... commit B +- aaaa000... commit A +------------ + +Here, we see that the commits A and C (marked with `-`) can be +dropped from your `topic` branch when you rebase it on top of +`origin/master`, while the commit B (marked with `+`) still needs to +be kept so that it will be sent to be applied to `origin/master`. + + +Using a limit +~~~~~~~~~~~~~ + +The optional <limit> is useful in cases where your topic is based on +other work that is not in upstream. Expanding on the previous +example, this might look like: + +------------ +$ git log --graph --oneline --decorate --boundary origin/master...topic +* 7654321 (origin/master) upstream tip commit +[... snip some other commits ...] +* cccc111 cherry-pick of C +* aaaa111 cherry-pick of A +[... snip a lot more that has happened ...] +| * cccc000 (topic) commit C +| * bbbb000 commit B +| * aaaa000 commit A +| * 0000fff (base) unpublished stuff F +[... snip ...] +| * 0000aaa unpublished stuff A +|/ +o 1234567 merge-base between upstream and topic +------------ + +By specifying `base` as the limit, you can avoid listing commits +between `base` and `topic`: + +------------ +$ git cherry origin/master topic base +- cccc000... commit C ++ bbbb000... commit B +- aaaa000... commit A +------------ + + SEE ALSO -------- linkgit:git-patch-id[1] diff --git a/Documentation/git-cvsimport.txt b/Documentation/git-cvsimport.txt index d1bcda28f4..2df9953968 100644 --- a/Documentation/git-cvsimport.txt +++ b/Documentation/git-cvsimport.txt @@ -144,7 +144,7 @@ This option can be used several times to provide several detection regexes. CVS by default uses the Unix username when writing its commit logs. Using this option and an author-conv-file maps the name recorded in CVS to author name, e-mail and - optional timezone: + optional time zone: + --------- exon=Andreas Ericsson <ae@op5.se> @@ -154,7 +154,7 @@ This option can be used several times to provide several detection regexes. + 'git cvsimport' will make it appear as those authors had their GIT_AUTHOR_NAME and GIT_AUTHOR_EMAIL set properly -all along. If a timezone is specified, GIT_AUTHOR_DATE will +all along. If a time zone is specified, GIT_AUTHOR_DATE will have the corresponding offset applied. + For convenience, this data is saved to `$GIT_DIR/cvs-authors` diff --git a/Documentation/git-fast-import.txt b/Documentation/git-fast-import.txt index 73f980638e..fd22a9a0c1 100644 --- a/Documentation/git-fast-import.txt +++ b/Documentation/git-fast-import.txt @@ -251,7 +251,7 @@ advisement to help formatting routines display the timestamp. If the local offset is not available in the source material, use ``+0000'', or the most common local offset. For example many organizations have a CVS repository which has only ever been accessed -by users who are located in the same location and timezone. In this +by users who are located in the same location and time zone. In this case a reasonable offset from UTC could be assumed. + Unlike the `rfc2822` format, this format is very strict. Any @@ -271,7 +271,7 @@ the malformed string. There are also some types of malformed strings which Git will parse wrong, and yet consider valid. Seriously malformed strings will be rejected. + -Unlike the `raw` format above, the timezone/UTC offset information +Unlike the `raw` format above, the time zone/UTC offset information contained in an RFC 2822 date string is used to adjust the date value to UTC prior to storage. Therefore it is important that this information be as accurate as possible. @@ -287,13 +287,13 @@ format, or its format is easily convertible to it, as there is no ambiguity in parsing. `now`:: - Always use the current time and timezone. The literal + Always use the current time and time zone. The literal `now` must always be supplied for `<when>`. + -This is a toy format. The current time and timezone of this system +This is a toy format. The current time and time zone of this system is always copied into the identity string at the time it is being created by fast-import. There is no way to specify a different time or -timezone. +time zone. + This particular format is supplied as it's short to implement and may be useful to a process that wants to create a new commit diff --git a/Documentation/git-fetch-pack.txt b/Documentation/git-fetch-pack.txt index 444b805d35..93b5067946 100644 --- a/Documentation/git-fetch-pack.txt +++ b/Documentation/git-fetch-pack.txt @@ -12,7 +12,7 @@ SYNOPSIS 'git fetch-pack' [--all] [--quiet|-q] [--keep|-k] [--thin] [--include-tag] [--upload-pack=<git-upload-pack>] [--depth=<n>] [--no-progress] - [-v] [<host>:]<directory> [<refs>...] + [-v] <repository> [<refs>...] DESCRIPTION ----------- @@ -97,19 +97,18 @@ be in a separate packet, and the list must end with a flush packet. -v:: Run verbosely. -<host>:: - A remote host that houses the repository. When this - part is specified, 'git-upload-pack' is invoked via - ssh. - -<directory>:: - The repository to sync from. +<repository>:: + The URL to the remote repository. <refs>...:: The remote heads to update from. This is relative to $GIT_DIR (e.g. "HEAD", "refs/heads/master"). When unspecified, update from all heads the remote side has. +SEE ALSO +-------- +linkgit:git-fetch[1] + GIT --- Part of the linkgit:git[1] suite diff --git a/Documentation/git-fetch.txt b/Documentation/git-fetch.txt index e08a028946..10657134a8 100644 --- a/Documentation/git-fetch.txt +++ b/Documentation/git-fetch.txt @@ -24,13 +24,13 @@ The ref names and their object names of fetched refs are stored in `.git/FETCH_HEAD`. This information is left for a later merge operation done by 'git merge'. -When <refspec> stores the fetched result in remote-tracking branches, -the tags that point at these branches are automatically -followed. This is done by first fetching from the remote using -the given <refspec>s, and if the repository has objects that are -pointed by remote tags that it does not yet have, then fetch -those missing tags. If the other end has tags that point at -branches you are not interested in, you will not get them. +By default, tags are auto-followed. This means that when fetching +from a remote, any tags on the remote that point to objects that exist +in the local repository are fetched. The effect is to fetch tags that +point at branches that you are interested in. This default behavior +can be changed by using the --tags or --no-tags options, by +configuring remote.<name>.tagopt, or by using a refspec that fetches +tags explicitly. 'git fetch' can fetch from either a single named repository, or from several repositories at once if <group> is given and diff --git a/Documentation/git-for-each-ref.txt b/Documentation/git-for-each-ref.txt index f2e08d11c1..94f5c465da 100644 --- a/Documentation/git-for-each-ref.txt +++ b/Documentation/git-for-each-ref.txt @@ -91,7 +91,19 @@ objectname:: upstream:: The name of a local ref which can be considered ``upstream'' from the displayed ref. Respects `:short` in the same way as - `refname` above. + `refname` above. Additionally respects `:track` to show + "[ahead N, behind M]" and `:trackshort` to show the terse + version: ">" (ahead), "<" (behind), "<>" (ahead and behind), + or "=" (in sync). Has no effect if the ref does not have + tracking information associated with it. + +HEAD:: + '*' if HEAD matches current ref (the checked out branch), ' ' + otherwise. + +color:: + Change output color. Followed by `:<colorname>`, where names + are described in `color.branch.*`. In addition to the above, for commit and tag objects, the header field names (`tree`, `parent`, `object`, `type`, and `tag`) can diff --git a/Documentation/git-log.txt b/Documentation/git-log.txt index 34097efea7..1f7bc67d6c 100644 --- a/Documentation/git-log.txt +++ b/Documentation/git-log.txt @@ -15,9 +15,9 @@ DESCRIPTION ----------- Shows the commit logs. -The command takes options applicable to the 'git rev-list' +The command takes options applicable to the `git rev-list` command to control what is shown and how, and options applicable to -the 'git diff-*' commands to control how the changes +the `git diff-*` commands to control how the changes each commit introduces are shown. @@ -42,29 +42,27 @@ OPTIONS --use-mailmap:: Use mailmap file to map author and committer names and email - to canonical real names and email addresses. See + addresses to canonical real names and email addresses. See linkgit:git-shortlog[1]. --full-diff:: - Without this flag, "git log -p <path>..." shows commits that + Without this flag, `git log -p <path>...` shows commits that touch the specified paths, and diffs about the same specified paths. With this, the full diff is shown for commits that touch the specified paths; this means that "<path>..." limits only commits, and doesn't limit diff for those commits. + Note that this affects all diff-based output types, e.g. those -produced by --stat etc. +produced by `--stat`, etc. --log-size:: - Before the log message print out its size in bytes. Intended - mainly for porcelain tools consumption. If Git is unable to - produce a valid value size is set to zero. - Note that only message is considered, if also a diff is shown - its size is not included. + Include a line ``log size <number>'' in the output for each commit, + where <number> is the length of that commit's message in bytes. + Intended to speed up tools that read log messages from `git log` + output by allowing them to allocate space in advance. -L <start>,<end>:<file>:: -L :<regex>:<file>:: - Trace the evolution of the line range given by "<start>,<end>" (or the funcname regex <regex>) within the <file>. You may not give any pathspec limiters. This is currently limited to @@ -80,16 +78,16 @@ include::line-range-format.txt[] whole history leading to the current commit). `origin..HEAD` specifies all the commits reachable from the current commit (i.e. `HEAD`), but not from `origin`. For a complete list of - ways to spell <revision range>, see the "Specifying Ranges" + ways to spell <revision range>, see the 'Specifying Ranges' section of linkgit:gitrevisions[7]. [\--] <path>...:: Show only commits that are enough to explain how the files - that match the specified paths came to be. See "History - Simplification" below for details and other simplification + that match the specified paths came to be. See 'History + Simplification' below for details and other simplification modes. + -Paths may need to be prefixed with "\-- " to separate them from +Paths may need to be prefixed with ``\-- '' to separate them from options or the revision range, when confusion arises. include::rev-list-options.txt[] @@ -113,12 +111,12 @@ EXAMPLES `git log v2.6.12.. include/scsi drivers/scsi`:: Show all commits since version 'v2.6.12' that changed any file - in the include/scsi or drivers/scsi subdirectories + in the `include/scsi` or `drivers/scsi` subdirectories `git log --since="2 weeks ago" -- gitk`:: Show the changes during the last two weeks to the file 'gitk'. - The "--" is necessary to avoid confusion with the *branch* named + The ``--'' is necessary to avoid confusion with the *branch* named 'gitk' `git log --name-status release..test`:: @@ -129,7 +127,7 @@ EXAMPLES `git log --follow builtin/rev-list.c`:: - Shows the commits that changed builtin/rev-list.c, including + Shows the commits that changed `builtin/rev-list.c`, including those commits that occurred before the file was given its present name. @@ -147,17 +145,18 @@ EXAMPLES `git log -p -m --first-parent`:: Shows the history including change diffs, but only from the - "main branch" perspective, skipping commits that come from merged + ``main branch'' perspective, skipping commits that come from merged branches, and showing full diffs of changes introduced by the merges. This makes sense only when following a strict policy of merging all topic branches when staying on a single integration branch. `git log -L '/int main/',/^}/:main.c`:: - Shows how the function `main()` in the file 'main.c' evolved + Shows how the function `main()` in the file `main.c` evolved over time. `git log -3`:: + Limits the number of commits to show to 3. DISCUSSION @@ -172,12 +171,12 @@ See linkgit:git-config[1] for core variables and linkgit:git-diff[1] for settings related to diff generation. format.pretty:: - Default for the `--format` option. (See "PRETTY FORMATS" above.) - Defaults to "medium". + Default for the `--format` option. (See 'Pretty Formats' above.) + Defaults to `medium`. i18n.logOutputEncoding:: - Encoding to use when displaying logs. (See "Discussion", above.) - Defaults to the value of `i18n.commitEncoding` if set, UTF-8 + Encoding to use when displaying logs. (See 'Discussion' above.) + Defaults to the value of `i18n.commitEncoding` if set, and UTF-8 otherwise. log.date:: @@ -186,7 +185,7 @@ log.date:: dates like `Sat May 8 19:35:34 2010 -0500`. log.showroot:: - If `false`, 'git log' and related commands will not treat the + If `false`, `git log` and related commands will not treat the initial commit as a big creation event. Any root commits in `git log -p` output would be shown without a diff attached. The default is `true`. @@ -197,7 +196,7 @@ mailmap.*:: notes.displayRef:: Which refs, in addition to the default set by `core.notesRef` or 'GIT_NOTES_REF', to read notes from when showing commit - messages with the 'log' family of commands. See + messages with the `log` family of commands. See linkgit:git-notes[1]. + May be an unabbreviated ref name or a glob and may be specified diff --git a/Documentation/git-lost-found.txt b/Documentation/git-lost-found.txt deleted file mode 100644 index d54932889f..0000000000 --- a/Documentation/git-lost-found.txt +++ /dev/null @@ -1,74 +0,0 @@ -git-lost-found(1) -================= - -NAME ----- -git-lost-found - Recover lost refs that luckily have not yet been pruned - -SYNOPSIS --------- -[verse] -'git lost-found' - -DESCRIPTION ------------ - -*NOTE*: this command is deprecated. Use linkgit:git-fsck[1] with -the option '--lost-found' instead. - -Finds dangling commits and tags from the object database, and -creates refs to them in the .git/lost-found/ directory. Commits and -tags that dereference to commits are stored in .git/lost-found/commit, -and other objects are stored in .git/lost-found/other. - - -OUTPUT ------- -Prints to standard output the object names and one-line descriptions -of any commits or tags found. - -EXAMPLE -------- - -Suppose you run 'git tag -f' and mistype the tag to overwrite. -The ref to your tag is overwritten, but until you run 'git -prune', the tag itself is still there. - ------------- -$ git lost-found -[1ef2b196d909eed523d4f3c9bf54b78cdd6843c6] GIT 0.99.9c -... ------------- - -Also you can use gitk to browse how any tags found relate to each -other. - ------------- -$ gitk $(cd .git/lost-found/commit && echo ??*) ------------- - -After making sure you know which the object is the tag you are looking -for, you can reconnect it to your regular `refs` hierarchy by using -the `update-ref` command. - ------------- -$ git cat-file -t 1ef2b196 -tag -$ git cat-file tag 1ef2b196 -object fa41bbce8e38c67a218415de6cfa510c7e50032a -type commit -tag v0.99.9c -tagger Junio C Hamano <junkio@cox.net> 1131059594 -0800 - -GIT 0.99.9c - -This contains the following changes from the "master" branch, since -... -$ git update-ref refs/tags/not-lost-anymore 1ef2b196 -$ git rev-parse not-lost-anymore -1ef2b196d909eed523d4f3c9bf54b78cdd6843c6 ------------- - -GIT ---- -Part of the linkgit:git[1] suite diff --git a/Documentation/git-merge-base.txt b/Documentation/git-merge-base.txt index 87842e33f8..808426faac 100644 --- a/Documentation/git-merge-base.txt +++ b/Documentation/git-merge-base.txt @@ -13,6 +13,7 @@ SYNOPSIS 'git merge-base' [-a|--all] --octopus <commit>... 'git merge-base' --is-ancestor <commit> <commit> 'git merge-base' --independent <commit>... +'git merge-base' --fork-point <ref> [<commit>] DESCRIPTION ----------- @@ -24,8 +25,8 @@ that does not have any better common ancestor is a 'best common ancestor', i.e. a 'merge base'. Note that there can be more than one merge base for a pair of commits. -OPERATION MODE --------------- +OPERATION MODES +--------------- As the most common special case, specifying only two commits on the command line means computing the merge base between the given two commits. @@ -56,6 +57,14 @@ from linkgit:git-show-branch[1] when used with the `--merge-base` option. and exit with status 0 if true, or with status 1 if not. Errors are signaled by a non-zero status that is not 1. +--fork-point:: + Find the point at which a branch (or any history that leads + to <commit>) forked from another branch (or any reference) + <ref>. This does not just look for the common ancestor of + the two commits, but also takes into account the reflog of + <ref> to see if the history leading to <commit> forked from + an earlier incarnation of the branch <ref> (see discussion + on this mode below). OPTIONS ------- @@ -137,6 +146,31 @@ In modern git, you can say this in a more direct way: instead. +Discussion on fork-point mode +----------------------------- + +After working on the `topic` branch created with `git checkout -b +topic origin/master`, the history of remote-tracking branch +`origin/master` may have been rewound and rebuilt, leading to a +history of this shape: + + o---B1 + / + ---o---o---B2--o---o---o---B (origin/master) + \ + B3 + \ + Derived (topic) + +where `origin/master` used to point at commits B3, B2, B1 and now it +points at B, and your `topic` branch was started on top of it back +when `origin/master` was at B3. This mode uses the reflog of +`origin/master` to find B3 as the fork point, so that the `topic` +can be rebased on top of the updated `origin/master` by: + + $ fork_point=$(git merge-base --fork-point origin/master topic) + $ git rebase --onto origin/master $fork_point topic + See also -------- diff --git a/Documentation/git-peek-remote.txt b/Documentation/git-peek-remote.txt deleted file mode 100644 index 87ea3fb054..0000000000 --- a/Documentation/git-peek-remote.txt +++ /dev/null @@ -1,43 +0,0 @@ -git-peek-remote(1) -================== - -NAME ----- -git-peek-remote - List the references in a remote repository - - -SYNOPSIS --------- -[verse] -'git peek-remote' [--upload-pack=<git-upload-pack>] [<host>:]<directory> - -DESCRIPTION ------------ -This command is deprecated; use 'git ls-remote' instead. - -OPTIONS -------- ---upload-pack=<git-upload-pack>:: - Use this to specify the path to 'git-upload-pack' on the - remote side, if it is not found on your $PATH. Some - installations of sshd ignores the user's environment - setup scripts for login shells (e.g. .bash_profile) and - your privately installed git may not be found on the system - default $PATH. Another workaround suggested is to set - up your $PATH in ".bashrc", but this flag is for people - who do not want to pay the overhead for non-interactive - shells, but prefer having a lean .bashrc file (they set most of - the things up in .bash_profile). - -<host>:: - A remote host that houses the repository. When this - part is specified, 'git-upload-pack' is invoked via - ssh. - -<directory>:: - The repository to sync from. - - -GIT ---- -Part of the linkgit:git[1] suite diff --git a/Documentation/git-pull.txt b/Documentation/git-pull.txt index beea10b148..6083aab87b 100644 --- a/Documentation/git-pull.txt +++ b/Documentation/git-pull.txt @@ -42,6 +42,8 @@ Assume the following history exists and the current branch is A---B---C master on origin / D---E---F---G master + ^ + origin/master in your repository ------------ Then "`git pull`" will fetch and replay the changes from the remote @@ -51,7 +53,7 @@ result in a new commit along with the names of the two parent commits and a log message from the user describing the changes. ------------ - A---B---C remotes/origin/master + A---B---C origin/master / \ D---E---F---G---H master ------------ diff --git a/Documentation/git-repo-config.txt b/Documentation/git-repo-config.txt deleted file mode 100644 index 9ec115b9e0..0000000000 --- a/Documentation/git-repo-config.txt +++ /dev/null @@ -1,23 +0,0 @@ -git-repo-config(1) -================== - -NAME ----- -git-repo-config - Get and set repository or global options - - -SYNOPSIS --------- -[verse] -'git repo-config' ... - - -DESCRIPTION ------------ - -This is a synonym for linkgit:git-config[1]. Please refer to the -documentation of that command. - -GIT ---- -Part of the linkgit:git[1] suite diff --git a/Documentation/git-rev-parse.txt b/Documentation/git-rev-parse.txt index d068a65377..0d2cdcde55 100644 --- a/Documentation/git-rev-parse.txt +++ b/Documentation/git-rev-parse.txt @@ -50,6 +50,10 @@ Options for --parseopt the first non-option argument. This can be used to parse sub-commands that take options themselves. +--stuck-long:: + Only meaningful in `--parseopt` mode. Output the options in their + long form if available, and with their arguments stuck. + Options for Filtering ~~~~~~~~~~~~~~~~~~~~~ @@ -173,6 +177,20 @@ shown. If the pattern does not contain a globbing character (`?`, character (`?`, `*`, or `[`), it is turned into a prefix match by appending `/*`. +--exclude=<glob-pattern>:: + Do not include refs matching '<glob-pattern>' that the next `--all`, + `--branches`, `--tags`, `--remotes`, or `--glob` would otherwise + consider. Repetitions of this option accumulate exclusion patterns + up to the next `--all`, `--branches`, `--tags`, `--remotes`, or + `--glob` option (other options or arguments do not clear + accumlated patterns). ++ +The patterns given should not begin with `refs/heads`, `refs/tags`, or +`refs/remotes` when applied to `--branches`, `--tags`, or `--remotes`, +respectively, and they must begin with `refs/` when applied to `--glob` +or `--all`. If a trailing '/{asterisk}' is intended, it must be given +explicitly. + --disambiguate=<prefix>:: Show every object whose name begins with the given prefix. The <prefix> must be at least 4 hexadecimal digits long to @@ -285,7 +303,9 @@ Each line of options has this format: `<flags>` are of `*`, `=`, `?` or `!`. * Use `=` if the option takes an argument. - * Use `?` to mean that the option is optional (though its use is discouraged). + * Use `?` to mean that the option takes an optional argument. You + probably want to use the `--stuck-long` mode to be able to + unambiguously parse the optional argument. * Use `*` to mean that this option should not be listed in the usage generated for the `-h` argument. It's shown for `--help-all` as diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt index dcad890616..30c5ee2564 100644 --- a/Documentation/git-svn.txt +++ b/Documentation/git-svn.txt @@ -124,15 +124,15 @@ This automatically updates the rev_map if needed (see '$GIT_DIR/svn/\*\*/.rev_map.*' in the FILES section below for details). --localtime;; - Store Git commit times in the local timezone instead of UTC. This + Store Git commit times in the local time zone instead of UTC. This makes 'git log' (even without --date=local) show the same times - that `svn log` would in the local timezone. + that `svn log` would in the local time zone. + This doesn't interfere with interoperating with the Subversion repository you cloned from, but if you wish for your local Git repository to be able to interoperate with someone else's local Git repository, either don't use this option or you should both use it in -the same local timezone. +the same local time zone. --parent;; Fetch only from the SVN parent of the current HEAD. diff --git a/Documentation/git-tar-tree.txt b/Documentation/git-tar-tree.txt deleted file mode 100644 index f7362dc2d1..0000000000 --- a/Documentation/git-tar-tree.txt +++ /dev/null @@ -1,82 +0,0 @@ -git-tar-tree(1) -=============== - -NAME ----- -git-tar-tree - Create a tar archive of the files in the named tree object - - -SYNOPSIS --------- -[verse] -'git tar-tree' [--remote=<repo>] <tree-ish> [ <base> ] - -DESCRIPTION ------------ -THIS COMMAND IS DEPRECATED. Use 'git archive' with `--format=tar` -option instead (and move the <base> argument to `--prefix=base/`). - -Creates a tar archive containing the tree structure for the named tree. -When <base> is specified it is added as a leading path to the files in the -generated tar archive. - -'git tar-tree' behaves differently when given a tree ID versus when given -a commit ID or tag ID. In the first case the current time is used as -modification time of each file in the archive. In the latter case the -commit time as recorded in the referenced commit object is used instead. -Additionally the commit ID is stored in a global extended pax header. -It can be extracted using 'git get-tar-commit-id'. - -OPTIONS -------- - -<tree-ish>:: - The tree or commit to produce tar archive for. If it is - the object name of a commit object. - -<base>:: - Leading path to the files in the resulting tar archive. - ---remote=<repo>:: - Instead of making a tar archive from local repository, - retrieve a tar archive from a remote repository. - -CONFIGURATION -------------- - -tar.umask:: - This variable can be used to restrict the permission bits of - tar archive entries. The default is 0002, which turns off the - world write bit. The special value "user" indicates that the - archiving user's umask will be used instead. See umask(2) for - details. - -EXAMPLES --------- -`git tar-tree HEAD junk | (cd /var/tmp/ && tar xf -)`:: - - Create a tar archive that contains the contents of the - latest commit on the current branch, and extracts it in - `/var/tmp/junk` directory. - -`git tar-tree v1.4.0 git-1.4.0 | gzip >git-1.4.0.tar.gz`:: - - Create a tarball for v1.4.0 release. - -`git tar-tree v1.4.0^{tree} git-1.4.0 | gzip >git-1.4.0.tar.gz`:: - - Create a tarball for v1.4.0 release, but without a - global extended pax header. - -`git tar-tree --remote=example.com:git.git v1.4.0 >git-1.4.0.tar`:: - - Get a tarball v1.4.0 from example.com. - -`git tar-tree HEAD:Documentation/ git-docs > git-1.4.0-docs.tar`:: - - Put everything in the current head's Documentation/ directory - into 'git-1.4.0-docs.tar', with the prefix 'git-docs/'. - -GIT ---- -Part of the linkgit:git[1] suite diff --git a/Documentation/git.txt b/Documentation/git.txt index 824a179a96..4448ce2704 100644 --- a/Documentation/git.txt +++ b/Documentation/git.txt @@ -43,9 +43,18 @@ unreleased) version of Git, that is available from 'master' branch of the `git.git` repository. Documentation for older releases are available here: -* link:v1.8.4.2/git.html[documentation for release 1.8.4.2] +* link:v1.8.5.1/git.html[documentation for release 1.8.5.1] * release notes for + link:RelNotes/1.8.5.1.txt[1.8.5.1], + link:RelNotes/1.8.5.txt[1.8.5]. + +* link:v1.8.4.5/git.html[documentation for release 1.8.4.5] + +* release notes for + link:RelNotes/1.8.4.5.txt[1.8.4.5], + link:RelNotes/1.8.4.4.txt[1.8.4.4], + link:RelNotes/1.8.4.3.txt[1.8.4.3], link:RelNotes/1.8.4.2.txt[1.8.4.2], link:RelNotes/1.8.4.1.txt[1.8.4.1], link:RelNotes/1.8.4.txt[1.8.4]. diff --git a/Documentation/gitcli.txt b/Documentation/gitcli.txt index 3146413cce..3f33ca5507 100644 --- a/Documentation/gitcli.txt +++ b/Documentation/gitcli.txt @@ -72,23 +72,23 @@ scripting Git: * splitting short options to separate words (prefer `git foo -a -b` to `git foo -ab`, the latter may not even work). - * when a command line option takes an argument, use the 'sticked' form. In + * when a command line option takes an argument, use the 'stuck' form. In other words, write `git foo -oArg` instead of `git foo -o Arg` for short options, and `git foo --long-opt=Arg` instead of `git foo --long-opt Arg` for long options. An option that takes optional option-argument must be - written in the 'sticked' form. + written in the 'stuck' form. * when you give a revision parameter to a command, make sure the parameter is not ambiguous with a name of a file in the work tree. E.g. do not write `git log -1 HEAD` but write `git log -1 HEAD --`; the former will not work if you happen to have a file called `HEAD` in the work tree. - * many commands allow a long option "--option" to be abbreviated + * many commands allow a long option `--option` to be abbreviated only to their unique prefix (e.g. if there is no other option - whose name begins with "opt", you may be able to spell "--opt" to - invoke the "--option" flag), but you should fully spell them out + whose name begins with `opt`, you may be able to spell `--opt` to + invoke the `--option` flag), but you should fully spell them out when writing your scripts; later versions of Git may introduce a - new option whose name shares the same prefix, e.g. "--optimize", + new option whose name shares the same prefix, e.g. `--optimize`, to make a short prefix that used to be unique no longer unique. @@ -149,7 +149,7 @@ prefix of a long option as if it is fully spelled out, but use this with a caution. For example, `git commit --amen` behaves as if you typed `git commit --amend`, but that is true only until a later version of Git introduces another option that shares the same prefix, -e.g `git commit --amenity" option. +e.g. `git commit --amenity` option. Separating argument from the option @@ -165,7 +165,7 @@ $ git foo -o Arg ---------------------------- However, this is *NOT* allowed for switches with an optional value, where the -'sticked' form must be used: +'stuck' form must be used: ---------------------------- $ git describe --abbrev HEAD # correct $ git describe --abbrev=10 HEAD # correct diff --git a/Documentation/gitignore.txt b/Documentation/gitignore.txt index 54e334e3af..f971960512 100644 --- a/Documentation/gitignore.txt +++ b/Documentation/gitignore.txt @@ -113,12 +113,12 @@ full pathname may have special meaning: - A leading "`**`" followed by a slash means match in all directories. For example, "`**/foo`" matches file or directory - "`foo`" anywhere, the same as pattern "`foo`". "**/foo/bar" + "`foo`" anywhere, the same as pattern "`foo`". "`**/foo/bar`" matches file or directory "`bar`" anywhere that is directly under directory "`foo`". - - A trailing "/**" matches everything inside. For example, - "abc/**" matches all files inside directory "abc", relative + - A trailing "`/**`" matches everything inside. For example, + "`abc/**`" matches all files inside directory "`abc`", relative to the location of the `.gitignore` file, with infinite depth. - A slash followed by two consecutive asterisks then a slash diff --git a/Documentation/gitweb.conf.txt b/Documentation/gitweb.conf.txt index 305db633cc..e2113d93c9 100644 --- a/Documentation/gitweb.conf.txt +++ b/Documentation/gitweb.conf.txt @@ -822,18 +822,18 @@ timed:: Project specific override is not supported. javascript-timezone:: - Enable and configure the ability to change a common timezone for dates + Enable and configure the ability to change a common time zone for dates in gitweb output via JavaScript. Dates in gitweb output include authordate and committerdate in "commit", "commitdiff" and "log" views, and taggerdate in "tag" view. Enabled by default. + -The value is a list of three values: a default timezone (for if the client -hasn't selected some other timezone and saved it in a cookie), a name of cookie -where to store selected timezone, and a CSS class used to mark up +The value is a list of three values: a default time zone (for if the client +hasn't selected some other time zone and saved it in a cookie), a name of cookie +where to store selected time zone, and a CSS class used to mark up dates for manipulation. If you want to turn this feature off, set "default" to empty list: `[]`. + -Typical gitweb config files will only change starting (default) timezone, +Typical gitweb config files will only change starting (default) time zone, and leave other elements at their default values: + --------------------------------------------------------------------------- @@ -843,9 +843,9 @@ $feature{'javascript-timezone'}{'default'}[0] = "utc"; The example configuration presented here is guaranteed to be backwards and forward compatible. + -Timezone values can be "local" (for local timezone that browser uses), "utc" +Time zone values can be "local" (for local time zone that browser uses), "utc" (what gitweb uses when JavaScript or this feature is disabled), or numerical -timezones in the form of "+/-HHMM", such as "+0200". +time zones in the form of "+/-HHMM", such as "+0200". + Project specific override is not supported. diff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt index e4706615be..aa1c8880dd 100644 --- a/Documentation/glossary-content.txt +++ b/Documentation/glossary-content.txt @@ -362,12 +362,12 @@ full pathname may have special meaning: - A leading "`**`" followed by a slash means match in all directories. For example, "`**/foo`" matches file or directory - "`foo`" anywhere, the same as pattern "`foo`". "**/foo/bar" + "`foo`" anywhere, the same as pattern "`foo`". "`**/foo/bar`" matches file or directory "`bar`" anywhere that is directly under directory "`foo`". - - A trailing "/**" matches everything inside. For example, - "abc/**" matches all files inside directory "abc", relative + - A trailing "`/**`" matches everything inside. For example, + "`abc/**`" matches all files inside directory "abc", relative to the location of the `.gitignore` file, with infinite depth. - A slash followed by two consecutive asterisks then a slash diff --git a/Documentation/rev-list-options.txt b/Documentation/rev-list-options.txt index 5bdfb42852..03533af715 100644 --- a/Documentation/rev-list-options.txt +++ b/Documentation/rev-list-options.txt @@ -18,33 +18,27 @@ ordering and formatting options, such as `--reverse`. -<number>:: -n <number>:: --max-count=<number>:: - Limit the number of commits to output. --skip=<number>:: - Skip 'number' commits before starting to show the commit output. --since=<date>:: --after=<date>:: - Show commits more recent than a specific date. --until=<date>:: --before=<date>:: - Show commits older than a specific date. ifdef::git-rev-list[] --max-age=<timestamp>:: --min-age=<timestamp>:: - Limit the commits output to specified time range. endif::git-rev-list[] --author=<pattern>:: --committer=<pattern>:: - Limit the commits output to ones with author/committer header lines that match the specified pattern (regular expression). With more than one `--author=<pattern>`, @@ -52,7 +46,6 @@ endif::git-rev-list[] chosen (similarly for multiple `--committer=<pattern>`). --grep-reflog=<pattern>:: - Limit the commits output to ones with reflog entries that match the specified pattern (regular expression). With more than one `--grep-reflog`, commits whose reflog message @@ -60,7 +53,6 @@ endif::git-rev-list[] error to use this option unless `--walk-reflogs` is in use. --grep=<pattern>:: - Limit the commits output to ones with log message that matches the specified pattern (regular expression). With more than one `--grep=<pattern>`, commits whose message @@ -71,46 +63,39 @@ When `--show-notes` is in effect, the message from the notes as if it is part of the log message. --all-match:: - Limit the commits output to ones that match all given --grep, + Limit the commits output to ones that match all given `--grep`, instead of ones that match at least one. -i:: --regexp-ignore-case:: - - Match the regexp limiting patterns without regard to letters case. + Match the regular expression limiting patterns without regard to letter + case. --basic-regexp:: - Consider the limiting patterns to be basic regular expressions; this is the default. -E:: --extended-regexp:: - Consider the limiting patterns to be extended regular expressions instead of the default basic regular expressions. -F:: --fixed-strings:: - Consider the limiting patterns to be fixed strings (don't interpret pattern as a regular expression). --perl-regexp:: - - Consider the limiting patterns to be Perl-compatible regexp. + Consider the limiting patterns to be Perl-compatible regular expressions. Requires libpcre to be compiled in. --remove-empty:: - Stop when a given path disappears from the tree. --merges:: - Print only merge commits. This is exactly the same as `--min-parents=2`. --no-merges:: - Do not print commits with more than one parent. This is exactly the same as `--max-parents=1`. @@ -118,7 +103,6 @@ if it is part of the log message. --max-parents=<number>:: --no-min-parents:: --no-max-parents:: - Show only commits which have at least (or at most) that many parent commits. In particular, `--max-parents=1` is the same as `--no-merges`, `--min-parents=2` is the same as `--merges`. `--max-parents=0` @@ -138,31 +122,26 @@ parents) and `--max-parents=-1` (negative numbers denote no upper limit). brought in to your history by such a merge. --not:: - Reverses the meaning of the '{caret}' prefix (or lack thereof) - for all following revision specifiers, up to the next '--not'. + for all following revision specifiers, up to the next `--not`. --all:: - Pretend as if all the refs in `refs/` are listed on the command line as '<commit>'. --branches[=<pattern>]:: - Pretend as if all the refs in `refs/heads` are listed on the command line as '<commit>'. If '<pattern>' is given, limit branches to ones matching given shell glob. If pattern lacks '?', '{asterisk}', or '[', '/{asterisk}' at the end is implied. --tags[=<pattern>]:: - Pretend as if all the refs in `refs/tags` are listed on the command line as '<commit>'. If '<pattern>' is given, limit tags to ones matching given shell glob. If pattern lacks '?', '{asterisk}', or '[', '/{asterisk}' at the end is implied. --remotes[=<pattern>]:: - Pretend as if all the refs in `refs/remotes` are listed on the command line as '<commit>'. If '<pattern>' is given, limit remote-tracking branches to ones matching given shell glob. @@ -174,14 +153,27 @@ parents) and `--max-parents=-1` (negative numbers denote no upper limit). is automatically prepended if missing. If pattern lacks '?', '{asterisk}', or '[', '/{asterisk}' at the end is implied. ---ignore-missing:: +--exclude=<glob-pattern>:: + Do not include refs matching '<glob-pattern>' that the next `--all`, + `--branches`, `--tags`, `--remotes`, or `--glob` would otherwise + consider. Repetitions of this option accumulate exclusion patterns + up to the next `--all`, `--branches`, `--tags`, `--remotes`, or + `--glob` option (other options or arguments do not clear + accumlated patterns). ++ +The patterns given should not begin with `refs/heads`, `refs/tags`, or +`refs/remotes` when applied to `--branches`, `--tags`, or `--remotes`, +respectively, and they must begin with `refs/` when applied to `--glob` +or `--all`. If a trailing '/{asterisk}' is intended, it must be given +explicitly. + +--ignore-missing:: Upon seeing an invalid object name in the input, pretend as if the bad input was not given. ifndef::git-rev-list[] --bisect:: - Pretend as if the bad bisection ref `refs/bisect/bad` was listed and as if it was followed by `--not` and the good bisection refs `refs/bisect/good-*` on the command @@ -189,7 +181,6 @@ ifndef::git-rev-list[] endif::git-rev-list[] --stdin:: - In addition to the '<commit>' listed on the command line, read them from the standard input. If a '--' separator is seen, stop reading commits and start reading paths to limit the @@ -197,36 +188,32 @@ endif::git-rev-list[] ifdef::git-rev-list[] --quiet:: - Don't print anything to standard output. This form is primarily meant to allow the caller to test the exit status to see if a range of objects is fully connected (or not). It is faster than redirecting stdout - to /dev/null as the output does not have to be formatted. + to `/dev/null` as the output does not have to be formatted. endif::git-rev-list[] --cherry-mark:: - Like `--cherry-pick` (see below) but mark equivalent commits with `=` rather than omitting them, and inequivalent ones with `+`. --cherry-pick:: - Omit any commit that introduces the same change as - another commit on the "other side" when the set of + another commit on the ``other side'' when the set of commits are limited with symmetric difference. + For example, if you have two branches, `A` and `B`, a usual way to list all commits on only one side of them is with `--left-right` (see the example below in the description of -the `--left-right` option). It however shows the commits that were cherry-picked -from the other branch (for example, "3rd on b" may be cherry-picked -from branch A). With this option, such pairs of commits are +the `--left-right` option). However, it shows the commits that were +cherry-picked from the other branch (for example, ``3rd on b'' may be +cherry-picked from branch A). With this option, such pairs of commits are excluded from the output. --left-only:: --right-only:: - List only commits on the respective side of a symmetric range, i.e. only those which would be marked `<` resp. `>` by `--left-right`. @@ -238,7 +225,6 @@ More precisely, `--cherry-pick --right-only --no-merges` gives the exact list. --cherry:: - A synonym for `--right-only --cherry-mark --no-merges`; useful to limit the output to the commits on our side and mark those that have been applied to the other side of a forked history with @@ -247,30 +233,27 @@ list. -g:: --walk-reflogs:: - Instead of walking the commit ancestry chain, walk reflog entries from the most recent one to older ones. When this option is used you cannot specify commits to exclude (that is, '{caret}commit', 'commit1..commit2', nor 'commit1\...commit2' notations cannot be used). + -With '\--pretty' format other than oneline (for obvious reasons), +With `--pretty` format other than `oneline` (for obvious reasons), this causes the output to have two extra lines of information taken from the reflog. By default, 'commit@\{Nth}' notation is used in the output. When the starting commit is specified as 'commit@\{now}', output also uses 'commit@\{timestamp}' notation -instead. Under '\--pretty=oneline', the commit message is +instead. Under `--pretty=oneline`, the commit message is prefixed with this information on the same line. -This option cannot be combined with '\--reverse'. +This option cannot be combined with `--reverse`. See also linkgit:git-reflog[1]. --merge:: - After a failed merge, show refs that touch files having a conflict and don't exist on all heads to merge. --boundary:: - Output excluded boundary commits. Boundary commits are prefixed with `-`. @@ -287,11 +270,9 @@ is how to do it, as there are various strategies to simplify the history. The following options select the commits to be shown: <paths>:: - Commits modifying the given <paths> are selected. --simplify-by-decoration:: - Commits that are referred by some branch or tag are selected. Note that extra commits can be shown to give a meaningful history. @@ -299,33 +280,27 @@ Note that extra commits can be shown to give a meaningful history. The following options affect the way the simplification is performed: Default mode:: - Simplifies the history to the simplest history explaining the final state of the tree. Simplest because it prunes some side branches if the end result is the same (i.e. merging branches with the same content) --full-history:: - Same as the default mode, but does not prune some history. --dense:: - Only the selected commits are shown, plus some to have a meaningful history. --sparse:: - All commits in the simplified history are shown. --simplify-merges:: - - Additional option to '--full-history' to remove some needless + Additional option to `--full-history` to remove some needless merges from the resulting history, as there are no selected commits contributing to this merge. --ancestry-path:: - When given a range of commits to display (e.g. 'commit1..commit2' or 'commit2 {caret}commit1'), only display commits that exist directly on the ancestry chain between the 'commit1' and @@ -352,36 +327,35 @@ The horizontal line of history A---Q is taken to be the first parent of each merge. The commits are: * `I` is the initial commit, in which `foo` exists with contents - "asdf", and a file `quux` exists with contents "quux". Initial + ``asdf'', and a file `quux` exists with contents ``quux''. Initial commits are compared to an empty tree, so `I` is !TREESAME. -* In `A`, `foo` contains just "foo". +* In `A`, `foo` contains just ``foo''. * `B` contains the same change as `A`. Its merge `M` is trivial and hence TREESAME to all parents. -* `C` does not change `foo`, but its merge `N` changes it to "foobar", +* `C` does not change `foo`, but its merge `N` changes it to ``foobar'', so it is not TREESAME to any parent. -* `D` sets `foo` to "baz". Its merge `O` combines the strings from - `N` and `D` to "foobarbaz"; i.e., it is not TREESAME to any parent. +* `D` sets `foo` to ``baz''. Its merge `O` combines the strings from + `N` and `D` to ``foobarbaz''; i.e., it is not TREESAME to any parent. -* `E` changes `quux` to "xyzzy", and its merge `P` combines the - strings to "quux xyzzy". `P` is TREESAME to `O`, but not to `E`. +* `E` changes `quux` to ``xyzzy'', and its merge `P` combines the + strings to ``quux xyzzy''. `P` is TREESAME to `O`, but not to `E`. * `X` is an independent root commit that added a new file `side`, and `Y` modified it. `Y` is TREESAME to `X`. Its merge `Q` added `side` to `P`, and `Q` is TREESAME to `P`, but not to `Y`. -'rev-list' walks backwards through history, including or excluding -commits based on whether '\--full-history' and/or parent rewriting -(via '\--parents' or '\--children') are used. The following settings +`rev-list` walks backwards through history, including or excluding +commits based on whether `--full-history` and/or parent rewriting +(via `--parents` or `--children`) are used. The following settings are available. Default mode:: - Commits are included if they are not TREESAME to any parent - (though this can be changed, see '\--sparse' below). If the + (though this can be changed, see `--sparse` below). If the commit was a merge, and it was TREESAME to one parent, follow only that parent. (Even if there are several TREESAME parents, follow only one of them.) Otherwise, follow all @@ -400,12 +374,11 @@ available, removed `B` from consideration entirely. `C` was considered via `N`, but is TREESAME. Root commits are compared to an empty tree, so `I` is !TREESAME. + -Parent/child relations are only visible with --parents, but that does +Parent/child relations are only visible with `--parents`, but that does not affect the commits selected in default mode, so we have shown the parent lines. --full-history without parent rewriting:: - This mode differs from the default in one point: always follow all parents of a merge, even if it is TREESAME to one of them. Even if more than one side of the merge has commits that are @@ -425,9 +398,8 @@ about the parent/child relationships between the commits, so we show them disconnected. --full-history with parent rewriting:: - Ordinary commits are only included if they are !TREESAME - (though this can be changed, see '\--sparse' below). + (though this can be changed, see `--sparse` below). + Merges are always included. However, their parent list is rewritten: Along each parent, prune away commits that are not included @@ -441,7 +413,7 @@ themselves. This results in `-------------' ----------------------------------------------------------------------- + -Compare to '\--full-history' without rewriting above. Note that `E` +Compare to `--full-history` without rewriting above. Note that `E` was pruned away because it is TREESAME, but the parent list of P was rewritten to contain `E`'s parent `I`. The same happened for `C` and `N`, and `X`, `Y` and `Q`. @@ -450,22 +422,19 @@ In addition to the above settings, you can change whether TREESAME affects inclusion: --dense:: - Commits that are walked are included if they are not TREESAME to any parent. --sparse:: - All commits that are walked are included. + -Note that without '\--full-history', this still simplifies merges: if +Note that without `--full-history`, this still simplifies merges: if one of the parents is TREESAME, we follow only that one, so the other sides of the merge are never walked. --simplify-merges:: - First, build a history graph in the same way that - '\--full-history' with parent rewriting does (see above). + `--full-history` with parent rewriting does (see above). + Then simplify each commit `C` to its replacement `C'` in the final history according to the following rules: @@ -484,7 +453,7 @@ history according to the following rules: -- + The effect of this is best shown by way of comparing to -'\--full-history' with parent rewriting. The example turns into: +`--full-history` with parent rewriting. The example turns into: + ----------------------------------------------------------------------- .-A---M---N---O @@ -494,7 +463,7 @@ The effect of this is best shown by way of comparing to `---------' ----------------------------------------------------------------------- + -Note the major differences in `N`, `P` and `Q` over '--full-history': +Note the major differences in `N`, `P`, and `Q` over `--full-history`: + -- * `N`'s parent list had `I` removed, because it is an ancestor of the @@ -511,11 +480,10 @@ Note the major differences in `N`, `P` and `Q` over '--full-history': Finally, there is a fifth simplification mode available: --ancestry-path:: - Limit the displayed commits to those directly on the ancestry - chain between the "from" and "to" commits in the given commit - range. I.e. only display commits that are ancestor of the "to" - commit, and descendants of the "from" commit. + chain between the ``from'' and ``to'' commits in the given commit + range. I.e. only display commits that are ancestor of the ``to'' + commit and descendants of the ``from'' commit. + As an example use case, consider the following commit history: + @@ -530,14 +498,14 @@ As an example use case, consider the following commit history: A regular 'D..M' computes the set of commits that are ancestors of `M`, but excludes the ones that are ancestors of `D`. This is useful to see what happened to the history leading to `M` since `D`, in the sense -that "what does `M` have that did not exist in `D`". The result in this +that ``what does `M` have that did not exist in `D`''. The result in this example would be all the commits, except `A` and `B` (and `D` itself, of course). + When we want to find out what commits in `M` are contaminated with the bug introduced by `D` and need fixing, however, we might want to view only the subset of 'D..M' that are actually descendants of `D`, i.e. -excluding `C` and `K`. This is exactly what the '--ancestry-path' +excluding `C` and `K`. This is exactly what the `--ancestry-path` option does. Applied to the 'D..M' range, it results in: + ----------------------------------------------------------------------- @@ -548,7 +516,7 @@ option does. Applied to the 'D..M' range, it results in: L--M ----------------------------------------------------------------------- -The '\--simplify-by-decoration' option allows you to view only the +The `--simplify-by-decoration` option allows you to view only the big picture of the topology of the history, by omitting commits that are not referenced by tags. Commits are marked as !TREESAME (in other words, kept after history simplification rules described @@ -561,50 +529,47 @@ Bisection Helpers ~~~~~~~~~~~~~~~~~ --bisect:: - -Limit output to the one commit object which is roughly halfway between -included and excluded commits. Note that the bad bisection ref -`refs/bisect/bad` is added to the included commits (if it -exists) and the good bisection refs `refs/bisect/good-*` are -added to the excluded commits (if they exist). Thus, supposing there -are no refs in `refs/bisect/`, if - + Limit output to the one commit object which is roughly halfway between + included and excluded commits. Note that the bad bisection ref + `refs/bisect/bad` is added to the included commits (if it + exists) and the good bisection refs `refs/bisect/good-*` are + added to the excluded commits (if they exist). Thus, supposing there + are no refs in `refs/bisect/`, if ++ ----------------------------------------------------------------------- $ git rev-list --bisect foo ^bar ^baz ----------------------------------------------------------------------- - ++ outputs 'midpoint', the output of the two commands - ++ ----------------------------------------------------------------------- $ git rev-list foo ^midpoint $ git rev-list midpoint ^bar ^baz ----------------------------------------------------------------------- - ++ would be of roughly the same length. Finding the change which introduces a regression is thus reduced to a binary search: repeatedly generate and test new 'midpoint's until the commit chain is of length one. --bisect-vars:: - -This calculates the same as `--bisect`, except that refs in -`refs/bisect/` are not used, and except that this outputs -text ready to be eval'ed by the shell. These lines will assign the -name of the midpoint revision to the variable `bisect_rev`, and the -expected number of commits to be tested after `bisect_rev` is tested -to `bisect_nr`, the expected number of commits to be tested if -`bisect_rev` turns out to be good to `bisect_good`, the expected -number of commits to be tested if `bisect_rev` turns out to be bad to -`bisect_bad`, and the number of commits we are bisecting right now to -`bisect_all`. + This calculates the same as `--bisect`, except that refs in + `refs/bisect/` are not used, and except that this outputs + text ready to be eval'ed by the shell. These lines will assign the + name of the midpoint revision to the variable `bisect_rev`, and the + expected number of commits to be tested after `bisect_rev` is tested + to `bisect_nr`, the expected number of commits to be tested if + `bisect_rev` turns out to be good to `bisect_good`, the expected + number of commits to be tested if `bisect_rev` turns out to be bad to + `bisect_bad`, and the number of commits we are bisecting right now to + `bisect_all`. --bisect-all:: - -This outputs all the commit objects between the included and excluded -commits, ordered by their distance to the included and excluded -commits. Refs in `refs/bisect/` are not used. The farthest -from them is displayed first. (This is the only one displayed by -`--bisect`.) + This outputs all the commit objects between the included and excluded + commits, ordered by their distance to the included and excluded + commits. Refs in `refs/bisect/` are not used. The farthest + from them is displayed first. (This is the only one displayed by + `--bisect`.) + This is useful because it makes it easy to choose a good commit to test when you want to avoid to test some of them for some reason (they @@ -654,9 +619,8 @@ avoid showing the commits from two parallel development track mixed together. --reverse:: - Output the commits in reverse order. - Cannot be combined with '\--walk-reflogs'. + Cannot be combined with `--walk-reflogs`. Object Traversal ~~~~~~~~~~~~~~~~ @@ -664,37 +628,32 @@ Object Traversal These options are mostly targeted for packing of Git repositories. --objects:: - Print the object IDs of any object referenced by the listed - commits. '--objects foo ^bar' thus means "send me + commits. `--objects foo ^bar` thus means ``send me all object IDs which I need to download if I have the commit - object 'bar', but not 'foo'". + object _bar_ but not _foo_''. --objects-edge:: - - Similar to '--objects', but also print the IDs of excluded - commits prefixed with a "-" character. This is used by - linkgit:git-pack-objects[1] to build "thin" pack, which records + Similar to `--objects`, but also print the IDs of excluded + commits prefixed with a ``-'' character. This is used by + linkgit:git-pack-objects[1] to build ``thin'' pack, which records objects in deltified form based on objects contained in these excluded commits to reduce network traffic. --unpacked:: - - Only useful with '--objects'; print the object IDs that are not + Only useful with `--objects`; print the object IDs that are not in packs. --no-walk[=(sorted|unsorted)]:: - Only show the given commits, but do not traverse their ancestors. This has no effect if a range is specified. If the argument - "unsorted" is given, the commits are show in the order they were - given on the command line. Otherwise (if "sorted" or no argument - was given), the commits are show in reverse chronological order + `unsorted` is given, the commits are shown in the order they were + given on the command line. Otherwise (if `sorted` or no argument + was given), the commits are shown in reverse chronological order by commit time. --do-walk:: - - Overrides a previous --no-walk. + Overrides a previous `--no-walk`. Commit Formatting ~~~~~~~~~~~~~~~~~ @@ -708,46 +667,41 @@ endif::git-rev-list[] include::pretty-options.txt[] --relative-date:: - Synonym for `--date=relative`. --date=(relative|local|default|iso|rfc|short|raw):: - Only takes effect for dates shown in human-readable format, such - as when using "--pretty". `log.date` config variable sets a default - value for log command's --date option. + as when using `--pretty`. `log.date` config variable sets a default + value for the log command's `--date` option. + `--date=relative` shows dates relative to the current time, -e.g. "2 hours ago". +e.g. ``2 hours ago''. + -`--date=local` shows timestamps in user's local timezone. +`--date=local` shows timestamps in user's local time zone. + `--date=iso` (or `--date=iso8601`) shows timestamps in ISO 8601 format. + `--date=rfc` (or `--date=rfc2822`) shows timestamps in RFC 2822 -format, often found in E-mail messages. +format, often found in email messages. + -`--date=short` shows only date but not time, in `YYYY-MM-DD` format. +`--date=short` shows only the date, but not the time, in `YYYY-MM-DD` format. + `--date=raw` shows the date in the internal raw Git format `%s %z` format. + -`--date=default` shows timestamps in the original timezone +`--date=default` shows timestamps in the original time zone (either committer's or author's). ifdef::git-rev-list[] --header:: - Print the contents of the commit in raw-format; each record is separated with a NUL character. endif::git-rev-list[] --parents:: - Print also the parents of the commit (in the form "commit parent..."). Also enables parent rewriting, see 'History Simplification' below. --children:: - Print also the children of the commit (in the form "commit child..."). Also enables parent rewriting, see 'History Simplification' below. @@ -757,7 +711,6 @@ ifdef::git-rev-list[] endif::git-rev-list[] --left-right:: - Mark which side of a symmetric diff a commit is reachable from. Commits from the left side are prefixed with `<` and those from the right with `>`. If combined with `--boundary`, those @@ -787,7 +740,6 @@ you would get an output like this: ----------------------------------------------------------------------- --graph:: - Draw a text-based graphical representation of the commit history on the left hand side of the output. This may cause extra lines to be printed in between commits, in order for the graph history @@ -795,31 +747,29 @@ you would get an output like this: + This enables parent rewriting, see 'History Simplification' below. + -This implies the '--topo-order' option by default, but the -'--date-order' option may also be specified. +This implies the `--topo-order` option by default, but the +`--date-order` option may also be specified. ifdef::git-rev-list[] --count:: Print a number stating how many commits would have been listed, and suppress all other output. When used together - with '--left-right', instead print the counts for left and + with `--left-right`, instead print the counts for left and right commits, separated by a tab. When used together with - '--cherry-mark', omit patch equivalent commits from these + `--cherry-mark`, omit patch equivalent commits from these counts and print the count for equivalent commits separated by a tab. endif::git-rev-list[] - ifndef::git-rev-list[] Diff Formatting ~~~~~~~~~~~~~~~ -Below are listed options that control the formatting of diff output. +Listed below are options that control the formatting of diff output. Some of them are specific to linkgit:git-rev-list[1], however other diff options may be given. See linkgit:git-diff-files[1] for more options. -c:: - With this option, diff output for a merge commit shows the differences from each of the parents to the merge result simultaneously instead of showing pairwise diff between a parent @@ -827,26 +777,22 @@ options may be given. See linkgit:git-diff-files[1] for more options. which were modified from all parents. --cc:: - - This flag implies the '-c' option and further compresses the + This flag implies the `-c` option and further compresses the patch output by omitting uninteresting hunks whose contents in the parents have only two variants and the merge result picks one of them without modification. -m:: - This flag makes the merge commits show the full diff like regular commits; for each merge parent, a separate log entry and diff is generated. An exception is that only diff against - the first parent is shown when '--first-parent' option is given; + the first parent is shown when `--first-parent` option is given; in that case, the output represents the changes the merge brought _into_ the then-current branch. -r:: - Show recursive diffs. -t:: - - Show the tree objects in the diff output. This implies '-r'. + Show the tree objects in the diff output. This implies `-r`. endif::git-rev-list[] diff --git a/Documentation/technical/api-parse-options.txt b/Documentation/technical/api-parse-options.txt index 0be2b5159f..be50cf4de3 100644 --- a/Documentation/technical/api-parse-options.txt +++ b/Documentation/technical/api-parse-options.txt @@ -29,9 +29,9 @@ that allow to change the behavior of a command. The parse-options API allows: -* 'sticked' and 'separate form' of options with arguments. - `-oArg` is sticked, `-o Arg` is separate form. - `--option=Arg` is sticked, `--option Arg` is separate form. +* 'stuck' and 'separate form' of options with arguments. + `-oArg` is stuck, `-o Arg` is separate form. + `--option=Arg` is stuck, `--option Arg` is separate form. * Long options may be 'abbreviated', as long as the abbreviation is unambiguous. diff --git a/Documentation/technical/api-ref-iteration.txt b/Documentation/technical/api-ref-iteration.txt index aa1c50f181..02adfd45d3 100644 --- a/Documentation/technical/api-ref-iteration.txt +++ b/Documentation/technical/api-ref-iteration.txt @@ -50,10 +50,10 @@ submodules object database. You can do this by a code-snippet like this: const char *path = "path/to/submodule" - if (!add_submodule_odb(path)) + if (add_submodule_odb(path)) die("Error submodule '%s' not populated.", path); -`add_submodule_odb()` will return an non-zero value on success. If you +`add_submodule_odb()` will return zero on success. If you do not do this you will get an error for each ref that it does not point to a valid object. diff --git a/Documentation/technical/api-remote.txt b/Documentation/technical/api-remote.txt index 4be87768f6..5d245aa9d1 100644 --- a/Documentation/technical/api-remote.txt +++ b/Documentation/technical/api-remote.txt @@ -58,16 +58,16 @@ default remote, given the current branch and configuration. struct refspec -------------- -A struct refspec holds the parsed interpretation of a refspec. If it -will force updates (starts with a '+'), force is true. If it is a -pattern (sides end with '*') pattern is true. src and dest are the two -sides (if a pattern, only the part outside of the wildcards); if there -is only one side, it is src, and dst is NULL; if sides exist but are -empty (i.e., the refspec either starts or ends with ':'), the -corresponding side is "". - -This parsing can be done to an array of strings to give an array of -struct refpsecs with parse_ref_spec(). +A struct refspec holds the parsed interpretation of a refspec. If it +will force updates (starts with a '+'), force is true. If it is a +pattern (sides end with '*') pattern is true. src and dest are the +two sides (including '*' characters if present); if there is only one +side, it is src, and dst is NULL; if sides exist but are empty (i.e., +the refspec either starts or ends with ':'), the corresponding side is +"". + +An array of strings can be parsed into an array of struct refspecs +using parse_fetch_refspec() or parse_push_refspec(). remote_find_tracking(), given a remote and a struct refspec with either src or dst filled out, will fill out the other such that the diff --git a/Documentation/technical/http-protocol.txt b/Documentation/technical/http-protocol.txt index caf941a1c5..d21d77d1de 100644 --- a/Documentation/technical/http-protocol.txt +++ b/Documentation/technical/http-protocol.txt @@ -307,7 +307,7 @@ Clients MUST first perform ref discovery with S: ....ACK %s, continue S: ....NAK -Clients MUST NOT reuse or revalidate a cached reponse. +Clients MUST NOT reuse or revalidate a cached response. Servers MUST include sufficient Cache-Control headers to prevent caching of the response. @@ -468,7 +468,7 @@ Clients MUST first perform ref discovery with S: S: .... -Clients MUST NOT reuse or revalidate a cached reponse. +Clients MUST NOT reuse or revalidate a cached response. Servers MUST include sufficient Cache-Control headers to prevent caching of the response. diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN index 4dcaac3e97..b9532f0ce4 100755 --- a/GIT-VERSION-GEN +++ b/GIT-VERSION-GEN @@ -1,7 +1,7 @@ #!/bin/sh GVF=GIT-VERSION-FILE -DEF_VER=v1.8.5-rc0 +DEF_VER=v1.8.5.GIT LF=' ' @@ -452,7 +452,6 @@ SCRIPT_SH += git-am.sh SCRIPT_SH += git-bisect.sh SCRIPT_SH += git-difftool--helper.sh SCRIPT_SH += git-filter-branch.sh -SCRIPT_SH += git-lost-found.sh SCRIPT_SH += git-merge-octopus.sh SCRIPT_SH += git-merge-one-file.sh SCRIPT_SH += git-merge-resolve.sh @@ -587,11 +586,8 @@ BUILT_INS += git-cherry$X BUILT_INS += git-cherry-pick$X BUILT_INS += git-format-patch$X BUILT_INS += git-fsck-objects$X -BUILT_INS += git-get-tar-commit-id$X BUILT_INS += git-init$X BUILT_INS += git-merge-subtree$X -BUILT_INS += git-peek-remote$X -BUILT_INS += git-repo-config$X BUILT_INS += git-show$X BUILT_INS += git-stage$X BUILT_INS += git-status$X @@ -932,6 +928,7 @@ BUILTIN_OBJS += builtin/fmt-merge-msg.o BUILTIN_OBJS += builtin/for-each-ref.o BUILTIN_OBJS += builtin/fsck.o BUILTIN_OBJS += builtin/gc.o +BUILTIN_OBJS += builtin/get-tar-commit-id.o BUILTIN_OBJS += builtin/grep.o BUILTIN_OBJS += builtin/hash-object.o BUILTIN_OBJS += builtin/help.o @@ -983,7 +980,6 @@ BUILTIN_OBJS += builtin/show-ref.o BUILTIN_OBJS += builtin/stripspace.o BUILTIN_OBJS += builtin/symbolic-ref.o BUILTIN_OBJS += builtin/tag.o -BUILTIN_OBJS += builtin/tar-tree.o BUILTIN_OBJS += builtin/unpack-file.o BUILTIN_OBJS += builtin/unpack-objects.o BUILTIN_OBJS += builtin/update-index.o @@ -1588,6 +1584,7 @@ PERL_PATH_SQ = $(subst ','\'',$(PERL_PATH)) PYTHON_PATH_SQ = $(subst ','\'',$(PYTHON_PATH)) TCLTK_PATH_SQ = $(subst ','\'',$(TCLTK_PATH)) DIFF_SQ = $(subst ','\'',$(DIFF)) +PERLLIB_EXTRA_SQ = $(subst ','\'',$(PERLLIB_EXTRA)) LIBS = $(GITLIBS) $(EXTLIBS) @@ -1792,9 +1789,12 @@ perl/PM.stamp: FORCE perl/perl.mak: GIT-CFLAGS GIT-PREFIX perl/Makefile perl/Makefile.PL $(QUIET_SUBDIR0)perl $(QUIET_SUBDIR1) PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' $(@F) -$(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl GIT-VERSION-FILE +PERL_DEFINES = $(PERL_PATH_SQ):$(PERLLIB_EXTRA_SQ) +$(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl perl/perl.mak GIT-PERL-DEFINES GIT-VERSION-FILE $(QUIET_GEN)$(RM) $@ $@+ && \ INSTLIBDIR=`MAKEFLAGS= $(MAKE) -C perl -s --no-print-directory instlibdir` && \ + INSTLIBDIR_EXTRA='$(PERLLIB_EXTRA_SQ)' && \ + INSTLIBDIR="$$INSTLIBDIR$${INSTLIBDIR_EXTRA:+:$$INSTLIBDIR_EXTRA}" && \ sed -e '1{' \ -e ' s|#!.*perl|#!$(PERL_PATH_SQ)|' \ -e ' h' \ @@ -1807,6 +1807,13 @@ $(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl GIT-VERSION-FILE chmod +x $@+ && \ mv $@+ $@ +GIT-PERL-DEFINES: FORCE + @FLAGS='$(PERL_DEFINES)'; \ + if test x"$$FLAGS" != x"`cat $@ 2>/dev/null`" ; then \ + echo >&2 " * new perl-specific parameters"; \ + echo "$$FLAGS" >$@; \ + fi + .PHONY: gitweb gitweb: @@ -2494,7 +2501,8 @@ ifndef NO_TCLTK $(MAKE) -C git-gui clean endif $(RM) GIT-VERSION-FILE GIT-CFLAGS GIT-LDFLAGS GIT-BUILD-OPTIONS - $(RM) GIT-USER-AGENT GIT-PREFIX GIT-SCRIPT-DEFINES GIT-PYTHON-VARS + $(RM) GIT-USER-AGENT GIT-PREFIX + $(RM) GIT-SCRIPT-DEFINES GIT-PERL-DEFINES GIT-PYTHON-VARS .PHONY: all install profile-clean clean strip .PHONY: shell_compatibility_test please_set_SHELL_PATH_to_a_more_modern_shell @@ -1 +1 @@ -Documentation/RelNotes/1.8.5.txt
\ No newline at end of file +Documentation/RelNotes/1.9.txt
\ No newline at end of file @@ -103,7 +103,6 @@ extern int cmd_remote(int argc, const char **argv, const char *prefix); extern int cmd_remote_ext(int argc, const char **argv, const char *prefix); extern int cmd_remote_fd(int argc, const char **argv, const char *prefix); extern int cmd_repack(int argc, const char **argv, const char *prefix); -extern int cmd_repo_config(int argc, const char **argv, const char *prefix); extern int cmd_rerere(int argc, const char **argv, const char *prefix); extern int cmd_reset(int argc, const char **argv, const char *prefix); extern int cmd_rev_list(int argc, const char **argv, const char *prefix); diff --git a/builtin/blame.c b/builtin/blame.c index 6da7233968..4916eb2bd2 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -409,7 +409,9 @@ static struct origin *find_origin(struct scoreboard *sb, paths[0] = origin->path; paths[1] = NULL; - parse_pathspec(&diff_opts.pathspec, PATHSPEC_ALL_MAGIC, 0, "", paths); + parse_pathspec(&diff_opts.pathspec, + PATHSPEC_ALL_MAGIC & ~PATHSPEC_LITERAL, + PATHSPEC_LITERAL_PATH, "", paths); diff_setup_done(&diff_opts); if (is_null_sha1(origin->commit->object.sha1)) @@ -1549,8 +1551,7 @@ static void assign_blame(struct scoreboard *sb, int opt) */ origin_incref(suspect); commit = suspect->commit; - if (!commit->object.parsed) - parse_commit(commit); + parse_commit(commit); if (reverse || (!(commit->object.flags & UNINTERESTING) && !(revs->max_age != -1 && commit->date < revs->max_age))) diff --git a/builtin/branch.c b/builtin/branch.c index ad0f86de54..636a16ea4e 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -424,6 +424,7 @@ static void fill_tracking_info(struct strbuf *stat, const char *branch_name, struct branch *branch = branch_get(branch_name); struct strbuf fancy = STRBUF_INIT; int upstream_is_gone = 0; + int added_decoration = 1; switch (stat_tracking_info(branch, &ours, &theirs)) { case 0: @@ -451,9 +452,13 @@ static void fill_tracking_info(struct strbuf *stat, const char *branch_name, if (upstream_is_gone) { if (show_upstream_ref) strbuf_addf(stat, _("[%s: gone]"), fancy.buf); + else + added_decoration = 0; } else if (!ours && !theirs) { if (show_upstream_ref) strbuf_addf(stat, _("[%s]"), fancy.buf); + else + added_decoration = 0; } else if (!ours) { if (show_upstream_ref) strbuf_addf(stat, _("[%s: behind %d]"), fancy.buf, theirs); @@ -474,7 +479,8 @@ static void fill_tracking_info(struct strbuf *stat, const char *branch_name, ours, theirs); } strbuf_release(&fancy); - strbuf_addch(stat, ' '); + if (added_decoration) + strbuf_addch(stat, ' '); free(ref); } @@ -496,7 +502,7 @@ static void add_verbose_info(struct strbuf *out, struct ref_item *item, const char *sub = _(" **** invalid ref ****"); struct commit *commit = item->commit; - if (commit && !parse_commit(commit)) { + if (!parse_commit(commit)) { pp_commit_easy(CMIT_FMT_ONELINE, commit, &subject); sub = subject.buf; } @@ -975,9 +981,8 @@ int cmd_branch(int argc, const char **argv, const char *prefix) die(_("no such branch '%s'"), argv[0]); } - if (!branch_has_merge_config(branch)) { + if (!branch_has_merge_config(branch)) die(_("Branch '%s' has no upstream information"), branch->name); - } strbuf_addf(&buf, "branch.%s.remote", branch->name); git_config_set_multivar(buf.buf, NULL, NULL, 1); diff --git a/builtin/checkout.c b/builtin/checkout.c index 54f80bd38a..904fd715f0 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -380,8 +380,8 @@ static void show_local_changes(struct object *head, static void describe_detached_head(const char *msg, struct commit *commit) { struct strbuf sb = STRBUF_INIT; - parse_commit(commit); - pp_commit_easy(CMIT_FMT_ONELINE, commit, &sb); + if (!parse_commit(commit)) + pp_commit_easy(CMIT_FMT_ONELINE, commit, &sb); fprintf(stderr, "%s %s... %s\n", msg, find_unique_abbrev(commit->object.sha1, DEFAULT_ABBREV), sb.buf); strbuf_release(&sb); @@ -677,12 +677,12 @@ static int add_pending_uninteresting_ref(const char *refname, static void describe_one_orphan(struct strbuf *sb, struct commit *commit) { - parse_commit(commit); strbuf_addstr(sb, " "); strbuf_addstr(sb, find_unique_abbrev(commit->object.sha1, DEFAULT_ABBREV)); strbuf_addch(sb, ' '); - pp_commit_easy(CMIT_FMT_ONELINE, commit, sb); + if (!parse_commit(commit)) + pp_commit_easy(CMIT_FMT_ONELINE, commit, sb); strbuf_addch(sb, '\n'); } @@ -789,7 +789,7 @@ static int switch_branches(const struct checkout_opts *opts, new->commit = old.commit; if (!new->commit) die(_("You are on a branch yet to be born")); - parse_commit(new->commit); + parse_commit_or_die(new->commit); } ret = merge_working_tree(opts, &old, new, &writeout_error); @@ -995,7 +995,7 @@ static int parse_branchname_arg(int argc, const char **argv, /* not a commit */ *source_tree = parse_tree_indirect(rev); } else { - parse_commit(new->commit); + parse_commit_or_die(new->commit); *source_tree = new->commit->tree; } diff --git a/builtin/commit.c b/builtin/commit.c index 6ab4605cf5..e89c519192 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -1338,7 +1338,7 @@ static void print_summary(const char *prefix, const unsigned char *sha1, commit = lookup_commit(sha1); if (!commit) die(_("couldn't look up newly created commit")); - if (!commit || parse_commit(commit)) + if (parse_commit(commit)) die(_("could not parse newly created commit")); strbuf_addstr(&format, "format:%h] %s"); @@ -1525,7 +1525,7 @@ int cmd_commit(int argc, const char **argv, const char *prefix) current_head = NULL; else { current_head = lookup_commit_or_die(sha1, "HEAD"); - if (!current_head || parse_commit(current_head)) + if (parse_commit(current_head)) die(_("could not parse HEAD commit")); } argc = parse_and_validate_options(argc, argv, builtin_commit_options, diff --git a/builtin/config.c b/builtin/config.c index 20e89fe4e0..92ebf23f0a 100644 --- a/builtin/config.c +++ b/builtin/config.c @@ -671,9 +671,3 @@ int cmd_config(int argc, const char **argv, const char *prefix) return 0; } - -int cmd_repo_config(int argc, const char **argv, const char *prefix) -{ - fprintf(stderr, "WARNING: git repo-config is deprecated in favor of git config.\n"); - return cmd_config(argc, argv, prefix); -} diff --git a/builtin/describe.c b/builtin/describe.c index b9d3603704..6f62109887 100644 --- a/builtin/describe.c +++ b/builtin/describe.c @@ -9,7 +9,7 @@ #include "hash.h" #include "argv-array.h" -#define SEEN (1u<<0) +#define SEEN (1u << 0) #define MAX_TAGS (FLAG_BITS - 1) static const char * const describe_usage[] = { @@ -36,7 +36,6 @@ static const char *diff_index_args[] = { "diff-index", "--quiet", "HEAD", "--", NULL }; - struct commit_name { struct commit_name *next; unsigned char peeled[20]; @@ -46,6 +45,7 @@ struct commit_name { unsigned char sha1[20]; char *path; }; + static const char *prio_names[] = { "head", "lightweight", "annotated", }; @@ -488,9 +488,8 @@ int cmd_describe(int argc, const char **argv, const char *prefix) } else if (dirty) { die(_("--dirty is incompatible with commit-ishes")); } else { - while (argc-- > 0) { + while (argc-- > 0) describe(*argv++, argc == 0); - } } return 0; } diff --git a/builtin/diff.c b/builtin/diff.c index 2fb8c5dc0b..fe0cc7f1b5 100644 --- a/builtin/diff.c +++ b/builtin/diff.c @@ -64,15 +64,18 @@ static void stuff_change(struct diff_options *opt, static int builtin_diff_b_f(struct rev_info *revs, int argc, const char **argv, - struct blobinfo *blob, - const char *path) + struct blobinfo *blob) { /* Blob vs file in the working tree*/ struct stat st; + const char *path; if (argc > 1) usage(builtin_diff_usage); + GUARD_PATHSPEC(&revs->prune_data, PATHSPEC_FROMTOP | PATHSPEC_LITERAL); + path = revs->prune_data.items[0].match; + if (lstat(path, &st)) die_errno(_("failed to stat '%s'"), path); if (!(S_ISREG(st.st_mode) || S_ISLNK(st.st_mode))) @@ -169,7 +172,7 @@ static int builtin_diff_tree(struct rev_info *revs, if (ent1->item->flags & UNINTERESTING) swap = 1; sha1[swap] = ent0->item->sha1; - sha1[1-swap] = ent1->item->sha1; + sha1[1 - swap] = ent1->item->sha1; diff_tree_sha1(sha1[0], sha1[1], "", &revs->diffopt); log_tree_diff_flush(revs); return 0; @@ -255,7 +258,6 @@ int cmd_diff(int argc, const char **argv, const char *prefix) struct rev_info rev; struct object_array ent = OBJECT_ARRAY_INIT; int blobs = 0, paths = 0; - const char *path = NULL; struct blobinfo blob[2]; int nongit; int result = 0; @@ -366,13 +368,8 @@ int cmd_diff(int argc, const char **argv, const char *prefix) die(_("unhandled object '%s' given."), name); } } - if (rev.prune_data.nr) { - /* builtin_diff_b_f() */ - GUARD_PATHSPEC(&rev.prune_data, PATHSPEC_FROMTOP | PATHSPEC_LITERAL); - if (!path) - path = rev.prune_data.items[0].match; + if (rev.prune_data.nr) paths += rev.prune_data.nr; - } /* * Now, do the arguments look reasonable? @@ -385,7 +382,7 @@ int cmd_diff(int argc, const char **argv, const char *prefix) case 1: if (paths != 1) usage(builtin_diff_usage); - result = builtin_diff_b_f(&rev, argc, argv, blob, path); + result = builtin_diff_b_f(&rev, argc, argv, blob); break; case 2: if (paths) diff --git a/builtin/fast-export.c b/builtin/fast-export.c index 78250eab08..ea6305258d 100644 --- a/builtin/fast-export.c +++ b/builtin/fast-export.c @@ -287,7 +287,7 @@ static void handle_commit(struct commit *commit, struct rev_info *rev) rev->diffopt.output_format = DIFF_FORMAT_CALLBACK; - parse_commit(commit); + parse_commit_or_die(commit); author = strstr(commit->buffer, "\nauthor "); if (!author) die ("Could not find author in commit %s", @@ -308,7 +308,7 @@ static void handle_commit(struct commit *commit, struct rev_info *rev) if (commit->parents && get_object_mark(&commit->parents->item->object) != 0 && !full_tree) { - parse_commit(commit->parents->item); + parse_commit_or_die(commit->parents->item); diff_tree_sha1(commit->parents->item->tree->object.sha1, commit->tree->object.sha1, "", &rev->diffopt); } diff --git a/builtin/fetch.c b/builtin/fetch.c index bd7a10164f..3d978eb58e 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -160,48 +160,156 @@ static void add_merge_config(struct ref **head, } } +static int add_existing(const char *refname, const unsigned char *sha1, + int flag, void *cbdata) +{ + struct string_list *list = (struct string_list *)cbdata; + struct string_list_item *item = string_list_insert(list, refname); + item->util = xmalloc(20); + hashcpy(item->util, sha1); + return 0; +} + +static int will_fetch(struct ref **head, const unsigned char *sha1) +{ + struct ref *rm = *head; + while (rm) { + if (!hashcmp(rm->old_sha1, sha1)) + return 1; + rm = rm->next; + } + return 0; +} + static void find_non_local_tags(struct transport *transport, struct ref **head, - struct ref ***tail); + struct ref ***tail) +{ + struct string_list existing_refs = STRING_LIST_INIT_DUP; + struct string_list remote_refs = STRING_LIST_INIT_NODUP; + const struct ref *ref; + struct string_list_item *item = NULL; + + for_each_ref(add_existing, &existing_refs); + for (ref = transport_get_remote_refs(transport); ref; ref = ref->next) { + if (prefixcmp(ref->name, "refs/tags/")) + continue; + + /* + * The peeled ref always follows the matching base + * ref, so if we see a peeled ref that we don't want + * to fetch then we can mark the ref entry in the list + * as one to ignore by setting util to NULL. + */ + if (!suffixcmp(ref->name, "^{}")) { + if (item && !has_sha1_file(ref->old_sha1) && + !will_fetch(head, ref->old_sha1) && + !has_sha1_file(item->util) && + !will_fetch(head, item->util)) + item->util = NULL; + item = NULL; + continue; + } + + /* + * If item is non-NULL here, then we previously saw a + * ref not followed by a peeled reference, so we need + * to check if it is a lightweight tag that we want to + * fetch. + */ + if (item && !has_sha1_file(item->util) && + !will_fetch(head, item->util)) + item->util = NULL; + + item = NULL; + + /* skip duplicates and refs that we already have */ + if (string_list_has_string(&remote_refs, ref->name) || + string_list_has_string(&existing_refs, ref->name)) + continue; + + item = string_list_insert(&remote_refs, ref->name); + item->util = (void *)ref->old_sha1; + } + string_list_clear(&existing_refs, 1); + + /* + * We may have a final lightweight tag that needs to be + * checked to see if it needs fetching. + */ + if (item && !has_sha1_file(item->util) && + !will_fetch(head, item->util)) + item->util = NULL; + + /* + * For all the tags in the remote_refs string list, + * add them to the list of refs to be fetched + */ + for_each_string_list_item(item, &remote_refs) { + /* Unless we have already decided to ignore this item... */ + if (item->util) + { + struct ref *rm = alloc_ref(item->string); + rm->peer_ref = alloc_ref(item->string); + hashcpy(rm->old_sha1, item->util); + **tail = rm; + *tail = &rm->next; + } + } + + string_list_clear(&remote_refs, 0); +} static struct ref *get_ref_map(struct transport *transport, - struct refspec *refs, int ref_count, int tags, - int *autotags) + struct refspec *refspecs, int refspec_count, + int tags, int *autotags) { int i; struct ref *rm; struct ref *ref_map = NULL; struct ref **tail = &ref_map; - const struct ref *remote_refs = transport_get_remote_refs(transport); + /* opportunistically-updated references: */ + struct ref *orefs = NULL, **oref_tail = &orefs; - if (ref_count || tags == TAGS_SET) { - struct ref **old_tail; + const struct ref *remote_refs = transport_get_remote_refs(transport); - for (i = 0; i < ref_count; i++) { - get_fetch_map(remote_refs, &refs[i], &tail, 0); - if (refs[i].dst && refs[i].dst[0]) + if (refspec_count) { + for (i = 0; i < refspec_count; i++) { + get_fetch_map(remote_refs, &refspecs[i], &tail, 0); + if (refspecs[i].dst && refspecs[i].dst[0]) *autotags = 1; } - /* Merge everything on the command line, but not --tags */ + /* Merge everything on the command line (but not --tags) */ for (rm = ref_map; rm; rm = rm->next) rm->fetch_head_status = FETCH_HEAD_MERGE; - if (tags == TAGS_SET) - get_fetch_map(remote_refs, tag_refspec, &tail, 0); /* - * For any refs that we happen to be fetching via command-line - * arguments, take the opportunity to update their configured - * counterparts. However, we do not want to mention these - * entries in FETCH_HEAD at all, as they would simply be - * duplicates of existing entries. + * For any refs that we happen to be fetching via + * command-line arguments, the destination ref might + * have been missing or have been different than the + * remote-tracking ref that would be derived from the + * configured refspec. In these cases, we want to + * take the opportunity to update their configured + * remote-tracking reference. However, we do not want + * to mention these entries in FETCH_HEAD at all, as + * they would simply be duplicates of existing + * entries, so we set them FETCH_HEAD_IGNORE below. + * + * We compute these entries now, based only on the + * refspecs specified on the command line. But we add + * them to the list following the refspecs resulting + * from the tags option so that one of the latter, + * which has FETCH_HEAD_NOT_FOR_MERGE, is not removed + * by ref_remove_duplicates() in favor of one of these + * opportunistic entries with FETCH_HEAD_IGNORE. */ - old_tail = tail; for (i = 0; i < transport->remote->fetch_refspec_nr; i++) get_fetch_map(ref_map, &transport->remote->fetch[i], - &tail, 1); - for (rm = *old_tail; rm; rm = rm->next) - rm->fetch_head_status = FETCH_HEAD_IGNORE; + &oref_tail, 1); + + if (tags == TAGS_SET) + get_fetch_map(remote_refs, tag_refspec, &tail, 0); } else { /* Use the defaults */ struct remote *remote = transport->remote; @@ -238,11 +346,21 @@ static struct ref *get_ref_map(struct transport *transport, tail = &ref_map->next; } } - if (tags == TAGS_DEFAULT && *autotags) + + if (tags == TAGS_SET) + /* also fetch all tags */ + get_fetch_map(remote_refs, tag_refspec, &tail, 0); + else if (tags == TAGS_DEFAULT && *autotags) find_non_local_tags(transport, &ref_map, &tail); - ref_remove_duplicates(ref_map); - return ref_map; + /* Now append any refs to be updated opportunistically: */ + *tail = orefs; + for (rm = orefs; rm; rm = rm->next) { + rm->fetch_head_status = FETCH_HEAD_IGNORE; + tail = &rm->next; + } + + return ref_remove_duplicates(ref_map); } #define STORE_REF_ERROR_OTHER 1 @@ -612,106 +730,6 @@ static int prune_refs(struct refspec *refs, int ref_count, struct ref *ref_map) return result; } -static int add_existing(const char *refname, const unsigned char *sha1, - int flag, void *cbdata) -{ - struct string_list *list = (struct string_list *)cbdata; - struct string_list_item *item = string_list_insert(list, refname); - item->util = xmalloc(20); - hashcpy(item->util, sha1); - return 0; -} - -static int will_fetch(struct ref **head, const unsigned char *sha1) -{ - struct ref *rm = *head; - while (rm) { - if (!hashcmp(rm->old_sha1, sha1)) - return 1; - rm = rm->next; - } - return 0; -} - -static void find_non_local_tags(struct transport *transport, - struct ref **head, - struct ref ***tail) -{ - struct string_list existing_refs = STRING_LIST_INIT_DUP; - struct string_list remote_refs = STRING_LIST_INIT_NODUP; - const struct ref *ref; - struct string_list_item *item = NULL; - - for_each_ref(add_existing, &existing_refs); - for (ref = transport_get_remote_refs(transport); ref; ref = ref->next) { - if (prefixcmp(ref->name, "refs/tags/")) - continue; - - /* - * The peeled ref always follows the matching base - * ref, so if we see a peeled ref that we don't want - * to fetch then we can mark the ref entry in the list - * as one to ignore by setting util to NULL. - */ - if (!suffixcmp(ref->name, "^{}")) { - if (item && !has_sha1_file(ref->old_sha1) && - !will_fetch(head, ref->old_sha1) && - !has_sha1_file(item->util) && - !will_fetch(head, item->util)) - item->util = NULL; - item = NULL; - continue; - } - - /* - * If item is non-NULL here, then we previously saw a - * ref not followed by a peeled reference, so we need - * to check if it is a lightweight tag that we want to - * fetch. - */ - if (item && !has_sha1_file(item->util) && - !will_fetch(head, item->util)) - item->util = NULL; - - item = NULL; - - /* skip duplicates and refs that we already have */ - if (string_list_has_string(&remote_refs, ref->name) || - string_list_has_string(&existing_refs, ref->name)) - continue; - - item = string_list_insert(&remote_refs, ref->name); - item->util = (void *)ref->old_sha1; - } - string_list_clear(&existing_refs, 1); - - /* - * We may have a final lightweight tag that needs to be - * checked to see if it needs fetching. - */ - if (item && !has_sha1_file(item->util) && - !will_fetch(head, item->util)) - item->util = NULL; - - /* - * For all the tags in the remote_refs string list, - * add them to the list of refs to be fetched - */ - for_each_string_list_item(item, &remote_refs) { - /* Unless we have already decided to ignore this item... */ - if (item->util) - { - struct ref *rm = alloc_ref(item->string); - rm->peer_ref = alloc_ref(item->string); - hashcpy(rm->old_sha1, item->util); - **tail = rm; - *tail = &rm->next; - } - } - - string_list_clear(&remote_refs, 0); -} - static void check_not_current_branch(struct ref *ref_map) { struct branch *current_branch = branch_get(NULL); @@ -831,30 +849,16 @@ static int do_fetch(struct transport *transport, } if (prune) { /* - * If --tags was specified, pretend that the user gave us - * the canonical tags refspec + * We only prune based on refspecs specified + * explicitly (via command line or configuration); we + * don't care whether --tags was specified. */ - if (tags == TAGS_SET) { - const char *tags_str = "refs/tags/*:refs/tags/*"; - struct refspec *tags_refspec, *refspec; - - /* Copy the refspec and add the tags to it */ - refspec = xcalloc(ref_count + 1, sizeof(struct refspec)); - tags_refspec = parse_fetch_refspec(1, &tags_str); - memcpy(refspec, refs, ref_count * sizeof(struct refspec)); - memcpy(&refspec[ref_count], tags_refspec, sizeof(struct refspec)); - ref_count++; - - prune_refs(refspec, ref_count, ref_map); - - ref_count--; - /* The rest of the strings belong to fetch_one */ - free_refspec(1, tags_refspec); - free(refspec); - } else if (ref_count) { + if (ref_count) { prune_refs(refs, ref_count, ref_map); } else { - prune_refs(transport->remote->fetch, transport->remote->fetch_refspec_nr, ref_map); + prune_refs(transport->remote->fetch, + transport->remote->fetch_refspec_nr, + ref_map); } } free_refs(ref_map); @@ -930,8 +934,8 @@ static void add_options_to_argv(struct argv_array *argv) { if (dry_run) argv_array_push(argv, "--dry-run"); - if (prune > 0) - argv_array_push(argv, "--prune"); + if (prune != -1) + argv_array_push(argv, prune ? "--prune" : "--no-prune"); if (update_head_ok) argv_array_push(argv, "--update-head-ok"); if (force) diff --git a/builtin/for-each-ref.c b/builtin/for-each-ref.c index d096051b15..875bd813d5 100644 --- a/builtin/for-each-ref.c +++ b/builtin/for-each-ref.c @@ -9,6 +9,7 @@ #include "quote.h" #include "parse-options.h" #include "remote.h" +#include "color.h" /* Quoting styles */ #define QUOTE_NONE 0 @@ -75,6 +76,8 @@ static struct { { "upstream" }, { "symref" }, { "flag" }, + { "HEAD" }, + { "color" }, }; /* @@ -90,6 +93,7 @@ static struct { static const char **used_atom; static cmp_type *used_atom_type; static int used_atom_cnt, sort_atom_limit, need_tagged, need_symref; +static int need_color_reset_at_eol; /* * Used to parse format string and sort specifiers @@ -176,13 +180,21 @@ static const char *find_next(const char *cp) static int verify_format(const char *format) { const char *cp, *sp; + static const char color_reset[] = "color:reset"; + + need_color_reset_at_eol = 0; for (cp = format; *cp && (sp = find_next(cp)); ) { const char *ep = strchr(sp, ')'); + int at; + if (!ep) return error("malformed format string %s", sp); /* sp points at "%(" and ep points at the closing ")" */ - parse_atom(sp + 2, ep); + at = parse_atom(sp + 2, ep); cp = ep + 1; + + if (!memcmp(used_atom[at], "color:", 6)) + need_color_reset_at_eol = !!strcmp(used_atom[at], color_reset); } return 0; } @@ -649,6 +661,7 @@ static void populate_value(struct refinfo *ref) int deref = 0; const char *refname; const char *formatp; + struct branch *branch = NULL; if (*name == '*') { deref = 1; @@ -660,7 +673,6 @@ static void populate_value(struct refinfo *ref) else if (!prefixcmp(name, "symref")) refname = ref->symref ? ref->symref : ""; else if (!prefixcmp(name, "upstream")) { - struct branch *branch; /* only local branches may have an upstream */ if (prefixcmp(ref->refname, "refs/heads/")) continue; @@ -670,8 +682,13 @@ static void populate_value(struct refinfo *ref) !branch->merge[0]->dst) continue; refname = branch->merge[0]->dst; - } - else if (!strcmp(name, "flag")) { + } else if (!prefixcmp(name, "color:")) { + char color[COLOR_MAXLEN] = ""; + + color_parse(name + 6, "--format", color); + v->s = xstrdup(color); + continue; + } else if (!strcmp(name, "flag")) { char buf[256], *cp = buf; if (ref->flag & REF_ISSYMREF) cp = copy_advance(cp, ",symref"); @@ -684,20 +701,62 @@ static void populate_value(struct refinfo *ref) v->s = xstrdup(buf + 1); } continue; - } - else if (!deref && grab_objectname(name, ref->objectname, v)) + } else if (!deref && grab_objectname(name, ref->objectname, v)) { continue; - else + } else if (!strcmp(name, "HEAD")) { + const char *head; + unsigned char sha1[20]; + + head = resolve_ref_unsafe("HEAD", sha1, 1, NULL); + if (!strcmp(ref->refname, head)) + v->s = "*"; + else + v->s = " "; + continue; + } else continue; formatp = strchr(name, ':'); - /* look for "short" refname format */ if (formatp) { + int num_ours, num_theirs; + formatp++; if (!strcmp(formatp, "short")) refname = shorten_unambiguous_ref(refname, warn_ambiguous_refs); - else + else if (!strcmp(formatp, "track") && + !prefixcmp(name, "upstream")) { + char buf[40]; + + stat_tracking_info(branch, &num_ours, &num_theirs); + if (!num_ours && !num_theirs) + v->s = ""; + else if (!num_ours) { + sprintf(buf, "[behind %d]", num_theirs); + v->s = xstrdup(buf); + } else if (!num_theirs) { + sprintf(buf, "[ahead %d]", num_ours); + v->s = xstrdup(buf); + } else { + sprintf(buf, "[ahead %d, behind %d]", + num_ours, num_theirs); + v->s = xstrdup(buf); + } + continue; + } else if (!strcmp(formatp, "trackshort") && + !prefixcmp(name, "upstream")) { + assert(branch); + stat_tracking_info(branch, &num_ours, &num_theirs); + if (!num_ours && !num_theirs) + v->s = "="; + else if (!num_ours) + v->s = "<"; + else if (!num_theirs) + v->s = ">"; + else + v->s = "<>"; + continue; + } else die("unknown %.*s format %s", (int)(formatp - name), name, formatp); } @@ -875,11 +934,9 @@ static void sort_refs(struct ref_sort *sort, struct refinfo **refs, int num_refs qsort(refs, num_refs, sizeof(struct refinfo *), compare_refs); } -static void print_value(struct refinfo *ref, int atom, int quote_style) +static void print_value(struct atom_value *v, int quote_style) { - struct atom_value *v; struct strbuf sb = STRBUF_INIT; - get_value(ref, atom, &v); switch (quote_style) { case QUOTE_NONE: fputs(v->s, stdout); @@ -946,15 +1003,26 @@ static void show_ref(struct refinfo *info, const char *format, int quote_style) const char *cp, *sp, *ep; for (cp = format; *cp && (sp = find_next(cp)); cp = ep + 1) { + struct atom_value *atomv; + ep = strchr(sp, ')'); if (cp < sp) emit(cp, sp); - print_value(info, parse_atom(sp + 2, ep), quote_style); + get_value(info, parse_atom(sp + 2, ep), &atomv); + print_value(atomv, quote_style); } if (*cp) { sp = cp + strlen(cp); emit(cp, sp); } + if (need_color_reset_at_eol) { + struct atom_value resetv; + char color[COLOR_MAXLEN] = ""; + + color_parse("reset", "--format", color); + resetv.s = color; + print_value(&resetv, quote_style); + } putchar('\n'); } diff --git a/builtin/get-tar-commit-id.c b/builtin/get-tar-commit-id.c new file mode 100644 index 0000000000..aa72596083 --- /dev/null +++ b/builtin/get-tar-commit-id.c @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2005, 2006 Rene Scharfe + */ +#include "cache.h" +#include "commit.h" +#include "tar.h" +#include "builtin.h" +#include "quote.h" + +static const char builtin_get_tar_commit_id_usage[] = +"git get-tar-commit-id < <tarfile>"; + +/* ustar header + extended global header content */ +#define RECORDSIZE (512) +#define HEADERSIZE (2 * RECORDSIZE) + +int cmd_get_tar_commit_id(int argc, const char **argv, const char *prefix) +{ + char buffer[HEADERSIZE]; + struct ustar_header *header = (struct ustar_header *)buffer; + char *content = buffer + RECORDSIZE; + ssize_t n; + + if (argc != 1) + usage(builtin_get_tar_commit_id_usage); + + n = read_in_full(0, buffer, HEADERSIZE); + if (n < HEADERSIZE) + die("git get-tar-commit-id: read error"); + if (header->typeflag[0] != 'g') + return 1; + if (memcmp(content, "52 comment=", 11)) + return 1; + + n = write_in_full(1, content + 11, 41); + if (n < 41) + die_errno("git get-tar-commit-id: write error"); + + return 0; +} diff --git a/builtin/merge-base.c b/builtin/merge-base.c index e88eb93f14..a2923235e1 100644 --- a/builtin/merge-base.c +++ b/builtin/merge-base.c @@ -1,6 +1,9 @@ #include "builtin.h" #include "cache.h" #include "commit.h" +#include "refs.h" +#include "diff.h" +#include "revision.h" #include "parse-options.h" static int show_merge_base(struct commit **rev, int rev_nr, int show_all) @@ -27,6 +30,7 @@ static const char * const merge_base_usage[] = { N_("git merge-base [-a|--all] --octopus <commit>..."), N_("git merge-base --independent <commit>..."), N_("git merge-base --is-ancestor <commit> <commit>"), + N_("git merge-base --fork-point <ref> [<commit>]"), NULL }; @@ -85,37 +89,148 @@ static int handle_is_ancestor(int argc, const char **argv) return 1; } +struct rev_collect { + struct commit **commit; + int nr; + int alloc; + unsigned int initial : 1; +}; + +static void add_one_commit(unsigned char *sha1, struct rev_collect *revs) +{ + struct commit *commit; + + if (is_null_sha1(sha1)) + return; + + commit = lookup_commit(sha1); + if (!commit || + (commit->object.flags & TMP_MARK) || + parse_commit(commit)) + return; + + ALLOC_GROW(revs->commit, revs->nr + 1, revs->alloc); + revs->commit[revs->nr++] = commit; + commit->object.flags |= TMP_MARK; +} + +static int collect_one_reflog_ent(unsigned char *osha1, unsigned char *nsha1, + const char *ident, unsigned long timestamp, + int tz, const char *message, void *cbdata) +{ + struct rev_collect *revs = cbdata; + + if (revs->initial) { + revs->initial = 0; + add_one_commit(osha1, revs); + } + add_one_commit(nsha1, revs); + return 0; +} + +static int handle_fork_point(int argc, const char **argv) +{ + unsigned char sha1[20]; + char *refname; + const char *commitname; + struct rev_collect revs; + struct commit *derived; + struct commit_list *bases; + int i, ret = 0; + + switch (dwim_ref(argv[0], strlen(argv[0]), sha1, &refname)) { + case 0: + die("No such ref: '%s'", argv[0]); + case 1: + break; /* good */ + default: + die("Ambiguous refname: '%s'", argv[0]); + } + + commitname = (argc == 2) ? argv[1] : "HEAD"; + if (get_sha1(commitname, sha1)) + die("Not a valid object name: '%s'", commitname); + + derived = lookup_commit_reference(sha1); + memset(&revs, 0, sizeof(revs)); + revs.initial = 1; + for_each_reflog_ent(refname, collect_one_reflog_ent, &revs); + + for (i = 0; i < revs.nr; i++) + revs.commit[i]->object.flags &= ~TMP_MARK; + + bases = get_merge_bases_many(derived, revs.nr, revs.commit, 0); + + /* + * There should be one and only one merge base, when we found + * a common ancestor among reflog entries. + */ + if (!bases || bases->next) { + ret = 1; + goto cleanup_return; + } + + /* And the found one must be one of the reflog entries */ + for (i = 0; i < revs.nr; i++) + if (&bases->item->object == &revs.commit[i]->object) + break; /* found */ + if (revs.nr <= i) { + ret = 1; /* not found */ + goto cleanup_return; + } + + printf("%s\n", sha1_to_hex(bases->item->object.sha1)); + +cleanup_return: + free_commit_list(bases); + return ret; +} + int cmd_merge_base(int argc, const char **argv, const char *prefix) { struct commit **rev; int rev_nr = 0; int show_all = 0; - int octopus = 0; - int reduce = 0; - int is_ancestor = 0; + int cmdmode = 0; struct option options[] = { OPT_BOOL('a', "all", &show_all, N_("output all common ancestors")), - OPT_BOOL(0, "octopus", &octopus, N_("find ancestors for a single n-way merge")), - OPT_BOOL(0, "independent", &reduce, N_("list revs not reachable from others")), - OPT_BOOL(0, "is-ancestor", &is_ancestor, - N_("is the first one ancestor of the other?")), + OPT_CMDMODE(0, "octopus", &cmdmode, + N_("find ancestors for a single n-way merge"), 'o'), + OPT_CMDMODE(0, "independent", &cmdmode, + N_("list revs not reachable from others"), 'r'), + OPT_CMDMODE(0, "is-ancestor", &cmdmode, + N_("is the first one ancestor of the other?"), 'a'), + OPT_CMDMODE(0, "fork-point", &cmdmode, + N_("find where <commit> forked from reflog of <ref>"), 'f'), OPT_END() }; git_config(git_default_config, NULL); argc = parse_options(argc, argv, prefix, options, merge_base_usage, 0); - if (!octopus && !reduce && argc < 2) - usage_with_options(merge_base_usage, options); - if (is_ancestor && (show_all || octopus || reduce)) - die("--is-ancestor cannot be used with other options"); - if (is_ancestor) + + if (cmdmode == 'a') { + if (argc < 2) + usage_with_options(merge_base_usage, options); + if (show_all) + die("--is-ancestor cannot be used with --all"); return handle_is_ancestor(argc, argv); - if (reduce && (show_all || octopus)) - die("--independent cannot be used with other options"); + } + + if (cmdmode == 'r' && show_all) + die("--independent cannot be used with --all"); - if (octopus || reduce) - return handle_octopus(argc, argv, reduce, show_all); + if (cmdmode == 'r' || cmdmode == 'o') + return handle_octopus(argc, argv, cmdmode == 'r', show_all); + + if (cmdmode == 'f') { + if (argc < 1 || 2 < argc) + usage_with_options(merge_base_usage, options); + return handle_fork_point(argc, argv); + } + + if (argc < 2) + usage_with_options(merge_base_usage, options); rev = xmalloc(argc * sizeof(*rev)); while (argc-- > 0) diff --git a/builtin/merge.c b/builtin/merge.c index 02a69c14e6..41fb66dec2 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -186,13 +186,6 @@ static int option_parse_n(const struct option *opt, return 0; } -static int option_parse_ff_only(const struct option *opt, - const char *arg, int unset) -{ - fast_forward = FF_ONLY; - return 0; -} - static struct option builtin_merge_options[] = { { OPTION_CALLBACK, 'n', NULL, NULL, NULL, N_("do not show a diffstat at the end of the merge"), @@ -210,9 +203,9 @@ static struct option builtin_merge_options[] = { OPT_BOOL('e', "edit", &option_edit, N_("edit message before committing")), OPT_SET_INT(0, "ff", &fast_forward, N_("allow fast-forward (default)"), FF_ALLOW), - { OPTION_CALLBACK, 0, "ff-only", NULL, NULL, + { OPTION_SET_INT, 0, "ff-only", &fast_forward, NULL, N_("abort if fast-forward is not possible"), - PARSE_OPT_NOARG | PARSE_OPT_NONEG, option_parse_ff_only }, + PARSE_OPT_NOARG | PARSE_OPT_NONEG, NULL, FF_ONLY }, OPT_RERERE_AUTOUPDATE(&allow_rerere_auto), OPT_BOOL(0, "verify-signatures", &verify_signatures, N_("Verify that the named commit has a valid GPG signature")), diff --git a/builtin/name-rev.c b/builtin/name-rev.c index 20fcf8c696..23daaa7d99 100644 --- a/builtin/name-rev.c +++ b/builtin/name-rev.c @@ -27,8 +27,7 @@ static void name_rev(struct commit *commit, struct commit_list *parents; int parent_number = 1; - if (!commit->object.parsed) - parse_commit(commit); + parse_commit(commit); if (commit->date < cutoff) return; diff --git a/builtin/push.c b/builtin/push.c index 7b1b66c36a..a73982a308 100644 --- a/builtin/push.c +++ b/builtin/push.c @@ -174,6 +174,13 @@ N_("push.default is unset; its implicit value is changing in\n" "\n" " git config --global push.default simple\n" "\n" + "When push.default is set to 'matching', git will push local branches\n" + "to the remote branches that already exist with the same name.\n" + "\n" + "In Git 2.0, Git will default to the more conservative 'simple'\n" + "behavior, which only pushes the current branch to the corresponding\n" + "remote branch that 'git pull' uses to update the current branch.\n" + "\n" "See 'git help config' and search for 'push.default' for further information.\n" "(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n" "'current' instead of 'simple' if you sometimes use older versions of Git)"); diff --git a/builtin/remote.c b/builtin/remote.c index 4e14891095..f532f35457 100644 --- a/builtin/remote.c +++ b/builtin/remote.c @@ -6,6 +6,7 @@ #include "strbuf.h" #include "run-command.h" #include "refs.h" +#include "argv-array.h" static const char * const builtin_remote_usage[] = { N_("git remote [-v | --verbose]"), @@ -77,9 +78,6 @@ static const char * const builtin_remote_seturl_usage[] = { static int verbose; -static int show_all(void); -static int prune_remote(const char *remote, int dry_run); - static inline int postfixcmp(const char *string, const char *postfix) { int len1 = strlen(string), len2 = strlen(postfix); @@ -1084,6 +1082,64 @@ static int show_push_info_item(struct string_list_item *item, void *cb_data) return 0; } +static int get_one_entry(struct remote *remote, void *priv) +{ + struct string_list *list = priv; + struct strbuf url_buf = STRBUF_INIT; + const char **url; + int i, url_nr; + + if (remote->url_nr > 0) { + strbuf_addf(&url_buf, "%s (fetch)", remote->url[0]); + string_list_append(list, remote->name)->util = + strbuf_detach(&url_buf, NULL); + } else + string_list_append(list, remote->name)->util = NULL; + if (remote->pushurl_nr) { + url = remote->pushurl; + url_nr = remote->pushurl_nr; + } else { + url = remote->url; + url_nr = remote->url_nr; + } + for (i = 0; i < url_nr; i++) + { + strbuf_addf(&url_buf, "%s (push)", url[i]); + string_list_append(list, remote->name)->util = + strbuf_detach(&url_buf, NULL); + } + + return 0; +} + +static int show_all(void) +{ + struct string_list list = STRING_LIST_INIT_NODUP; + int result; + + list.strdup_strings = 1; + result = for_each_remote(get_one_entry, &list); + + if (!result) { + int i; + + sort_string_list(&list); + for (i = 0; i < list.nr; i++) { + struct string_list_item *item = list.items + i; + if (verbose) + printf("%s\t%s\n", item->string, + item->util ? (const char *)item->util : ""); + else { + if (i && !strcmp((item - 1)->string, item->string)) + continue; + printf("%s\n", item->string); + } + } + } + string_list_clear(&list, 1); + return result; +} + static int show(int argc, const char **argv) { int no_query = 0, result = 0, query_flag = 0; @@ -1246,26 +1302,6 @@ static int set_head(int argc, const char **argv) return result; } -static int prune(int argc, const char **argv) -{ - int dry_run = 0, result = 0; - struct option options[] = { - OPT__DRY_RUN(&dry_run, N_("dry run")), - OPT_END() - }; - - argc = parse_options(argc, argv, NULL, options, builtin_remote_prune_usage, - 0); - - if (argc < 1) - usage_with_options(builtin_remote_prune_usage, options); - - for (; argc; argc--, argv++) - result |= prune_remote(*argv, dry_run); - - return result; -} - static int prune_remote(const char *remote, int dry_run) { int result = 0, i; @@ -1304,6 +1340,26 @@ static int prune_remote(const char *remote, int dry_run) return result; } +static int prune(int argc, const char **argv) +{ + int dry_run = 0, result = 0; + struct option options[] = { + OPT__DRY_RUN(&dry_run, N_("dry run")), + OPT_END() + }; + + argc = parse_options(argc, argv, NULL, options, builtin_remote_prune_usage, + 0); + + if (argc < 1) + usage_with_options(builtin_remote_prune_usage, options); + + for (; argc; argc--, argv++) + result |= prune_remote(*argv, dry_run); + + return result; +} + static int get_remote_default(const char *key, const char *value, void *priv) { if (strcmp(key, "remotes.default") == 0) { @@ -1315,42 +1371,42 @@ static int get_remote_default(const char *key, const char *value, void *priv) static int update(int argc, const char **argv) { - int i, prune = 0; + int i, prune = -1; struct option options[] = { OPT_BOOL('p', "prune", &prune, N_("prune remotes after fetching")), OPT_END() }; - const char **fetch_argv; - int fetch_argc = 0; + struct argv_array fetch_argv = ARGV_ARRAY_INIT; int default_defined = 0; - - fetch_argv = xmalloc(sizeof(char *) * (argc+5)); + int retval; argc = parse_options(argc, argv, NULL, options, builtin_remote_update_usage, PARSE_OPT_KEEP_ARGV0); - fetch_argv[fetch_argc++] = "fetch"; + argv_array_push(&fetch_argv, "fetch"); - if (prune) - fetch_argv[fetch_argc++] = "--prune"; + if (prune != -1) + argv_array_push(&fetch_argv, prune ? "--prune" : "--no-prune"); if (verbose) - fetch_argv[fetch_argc++] = "-v"; - fetch_argv[fetch_argc++] = "--multiple"; + argv_array_push(&fetch_argv, "-v"); + argv_array_push(&fetch_argv, "--multiple"); if (argc < 2) - fetch_argv[fetch_argc++] = "default"; + argv_array_push(&fetch_argv, "default"); for (i = 1; i < argc; i++) - fetch_argv[fetch_argc++] = argv[i]; + argv_array_push(&fetch_argv, argv[i]); - if (strcmp(fetch_argv[fetch_argc-1], "default") == 0) { + if (strcmp(fetch_argv.argv[fetch_argv.argc-1], "default") == 0) { git_config(get_remote_default, &default_defined); - if (!default_defined) - fetch_argv[fetch_argc-1] = "--all"; + if (!default_defined) { + argv_array_pop(&fetch_argv); + argv_array_push(&fetch_argv, "--all"); + } } - fetch_argv[fetch_argc] = NULL; - - return run_command_v_opt(fetch_argv, RUN_GIT_CMD); + retval = run_command_v_opt(fetch_argv.argv, RUN_GIT_CMD); + argv_array_clear(&fetch_argv); + return retval; } static int remove_all_fetch_refspecs(const char *remote, const char *key) @@ -1505,64 +1561,6 @@ static int set_url(int argc, const char **argv) return 0; } -static int get_one_entry(struct remote *remote, void *priv) -{ - struct string_list *list = priv; - struct strbuf url_buf = STRBUF_INIT; - const char **url; - int i, url_nr; - - if (remote->url_nr > 0) { - strbuf_addf(&url_buf, "%s (fetch)", remote->url[0]); - string_list_append(list, remote->name)->util = - strbuf_detach(&url_buf, NULL); - } else - string_list_append(list, remote->name)->util = NULL; - if (remote->pushurl_nr) { - url = remote->pushurl; - url_nr = remote->pushurl_nr; - } else { - url = remote->url; - url_nr = remote->url_nr; - } - for (i = 0; i < url_nr; i++) - { - strbuf_addf(&url_buf, "%s (push)", url[i]); - string_list_append(list, remote->name)->util = - strbuf_detach(&url_buf, NULL); - } - - return 0; -} - -static int show_all(void) -{ - struct string_list list = STRING_LIST_INIT_NODUP; - int result; - - list.strdup_strings = 1; - result = for_each_remote(get_one_entry, &list); - - if (!result) { - int i; - - sort_string_list(&list); - for (i = 0; i < list.nr; i++) { - struct string_list_item *item = list.items + i; - if (verbose) - printf("%s\t%s\n", item->string, - item->util ? (const char *)item->util : ""); - else { - if (i && !strcmp((item - 1)->string, item->string)) - continue; - printf("%s\n", item->string); - } - } - } - string_list_clear(&list, 1); - return result; -} - int cmd_remote(int argc, const char **argv, const char *prefix) { struct option options[] = { diff --git a/builtin/rev-parse.c b/builtin/rev-parse.c index c76b89dc5b..1d9ecafd41 100644 --- a/builtin/rev-parse.c +++ b/builtin/rev-parse.c @@ -9,6 +9,8 @@ #include "quote.h" #include "builtin.h" #include "parse-options.h" +#include "diff.h" +#include "revision.h" #define DO_REVS 1 #define DO_NOREV 2 @@ -30,6 +32,9 @@ static int abbrev_ref; static int abbrev_ref_strict; static int output_sq; +static int stuck_long; +static struct string_list *ref_excludes; + /* * Some arguments are relevant "revision" arguments, * others are about output format or other details. @@ -185,6 +190,8 @@ static int show_default(void) static int show_reference(const char *refname, const unsigned char *sha1, int flag, void *cb_data) { + if (ref_excluded(ref_excludes, refname)) + return 0; show_rev(NORMAL, sha1, refname); return 0; } @@ -320,12 +327,15 @@ static int parseopt_dump(const struct option *o, const char *arg, int unset) struct strbuf *parsed = o->value; if (unset) strbuf_addf(parsed, " --no-%s", o->long_name); - else if (o->short_name) + else if (o->short_name && (o->long_name == NULL || !stuck_long)) strbuf_addf(parsed, " -%c", o->short_name); else strbuf_addf(parsed, " --%s", o->long_name); if (arg) { - strbuf_addch(parsed, ' '); + if (!stuck_long) + strbuf_addch(parsed, ' '); + else if (o->long_name) + strbuf_addch(parsed, '='); sq_quote_buf(parsed, arg); } return 0; @@ -351,6 +361,8 @@ static int cmd_parseopt(int argc, const char **argv, const char *prefix) OPT_BOOL(0, "stop-at-non-option", &stop_at_non_option, N_("stop parsing after the " "first non-option argument")), + OPT_BOOL(0, "stuck-long", &stuck_long, + N_("output in stuck long form")), OPT_END(), }; @@ -618,32 +630,43 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix) if (!prefixcmp(arg, "--branches=")) { for_each_glob_ref_in(show_reference, arg + 11, "refs/heads/", NULL); + clear_ref_exclusion(&ref_excludes); continue; } if (!strcmp(arg, "--branches")) { for_each_branch_ref(show_reference, NULL); + clear_ref_exclusion(&ref_excludes); continue; } if (!prefixcmp(arg, "--tags=")) { for_each_glob_ref_in(show_reference, arg + 7, "refs/tags/", NULL); + clear_ref_exclusion(&ref_excludes); continue; } if (!strcmp(arg, "--tags")) { for_each_tag_ref(show_reference, NULL); + clear_ref_exclusion(&ref_excludes); continue; } if (!prefixcmp(arg, "--glob=")) { for_each_glob_ref(show_reference, arg + 7, NULL); + clear_ref_exclusion(&ref_excludes); continue; } if (!prefixcmp(arg, "--remotes=")) { for_each_glob_ref_in(show_reference, arg + 10, "refs/remotes/", NULL); + clear_ref_exclusion(&ref_excludes); continue; } if (!strcmp(arg, "--remotes")) { for_each_remote_ref(show_reference, NULL); + clear_ref_exclusion(&ref_excludes); + continue; + } + if (!prefixcmp(arg, "--exclude=")) { + add_ref_exclusion(&ref_excludes, arg + 10); continue; } if (!strcmp(arg, "--local-env-vars")) { diff --git a/builtin/show-branch.c b/builtin/show-branch.c index 001f29ca1b..46902c3de4 100644 --- a/builtin/show-branch.c +++ b/builtin/show-branch.c @@ -227,8 +227,7 @@ static void join_revs(struct commit_list **list_p, parents = parents->next; if ((this_flag & flags) == flags) continue; - if (!p->object.parsed) - parse_commit(p); + parse_commit(p); if (mark_seen(p, seen_p) && !still_interesting) extra--; p->object.flags |= flags; diff --git a/builtin/tar-tree.c b/builtin/tar-tree.c deleted file mode 100644 index ba3ffe69a9..0000000000 --- a/builtin/tar-tree.c +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (c) 2005, 2006 Rene Scharfe - */ -#include "cache.h" -#include "commit.h" -#include "tar.h" -#include "builtin.h" -#include "quote.h" - -static const char tar_tree_usage[] = -"git tar-tree [--remote=<repo>] <tree-ish> [basedir]\n" -"*** Note that this command is now deprecated; use \"git archive\" instead."; - -static const char builtin_get_tar_commit_id_usage[] = -"git get-tar-commit-id < <tarfile>"; - -int cmd_tar_tree(int argc, const char **argv, const char *prefix) -{ - /* - * "git tar-tree" is now a wrapper around "git archive --format=tar" - * - * $0 --remote=<repo> arg... ==> - * git archive --format=tar --remote=<repo> arg... - * $0 tree-ish ==> - * git archive --format=tar tree-ish - * $0 tree-ish basedir ==> - * git archive --format-tar --prefix=basedir tree-ish - */ - const char **nargv = xcalloc(sizeof(*nargv), argc + 3); - struct strbuf sb = STRBUF_INIT; - char *basedir_arg; - int nargc = 0; - - nargv[nargc++] = "archive"; - nargv[nargc++] = "--format=tar"; - - if (2 <= argc && !prefixcmp(argv[1], "--remote=")) { - nargv[nargc++] = argv[1]; - argv++; - argc--; - } - - /* - * Because it's just a compatibility wrapper, tar-tree supports only - * the old behaviour of reading attributes from the work tree. - */ - nargv[nargc++] = "--worktree-attributes"; - - switch (argc) { - default: - usage(tar_tree_usage); - break; - case 3: - /* base-path */ - basedir_arg = xmalloc(strlen(argv[2]) + 11); - sprintf(basedir_arg, "--prefix=%s/", argv[2]); - nargv[nargc++] = basedir_arg; - /* fallthru */ - case 2: - /* tree-ish */ - nargv[nargc++] = argv[1]; - } - nargv[nargc] = NULL; - - fprintf(stderr, - "*** \"git tar-tree\" is now deprecated.\n" - "*** Running \"git archive\" instead.\n***"); - sq_quote_argv(&sb, nargv, 0); - strbuf_addch(&sb, '\n'); - fputs(sb.buf, stderr); - strbuf_release(&sb); - return cmd_archive(nargc, nargv, prefix); -} - -/* ustar header + extended global header content */ -#define RECORDSIZE (512) -#define HEADERSIZE (2 * RECORDSIZE) - -int cmd_get_tar_commit_id(int argc, const char **argv, const char *prefix) -{ - char buffer[HEADERSIZE]; - struct ustar_header *header = (struct ustar_header *)buffer; - char *content = buffer + RECORDSIZE; - ssize_t n; - - if (argc != 1) - usage(builtin_get_tar_commit_id_usage); - - n = read_in_full(0, buffer, HEADERSIZE); - if (n < HEADERSIZE) - die("git get-tar-commit-id: read error"); - if (header->typeflag[0] != 'g') - return 1; - if (memcmp(content, "52 comment=", 11)) - return 1; - - n = write_in_full(1, content + 11, 41); - if (n < 41) - die_errno("git get-tar-commit-id: write error"); - - return 0; -} @@ -7,6 +7,7 @@ #include "list-objects.h" #include "run-command.h" #include "refs.h" +#include "argv-array.h" static const char bundle_signature[] = "# v2 git bundle\n"; @@ -234,13 +235,13 @@ static int is_tag_in_date_range(struct object *tag, struct rev_info *revs) } int create_bundle(struct bundle_header *header, const char *path, - int argc, const char **argv) + int argc, const char **argv) { static struct lock_file lock; int bundle_fd = -1; int bundle_to_stdout; - const char **argv_boundary = xmalloc((argc + 4) * sizeof(const char *)); - const char **argv_pack = xmalloc(6 * sizeof(const char *)); + struct argv_array argv_boundary = ARGV_ARRAY_INIT; + struct argv_array argv_pack = ARGV_ARRAY_INIT; int i, ref_count = 0; struct strbuf buf = STRBUF_INIT; struct rev_info revs; @@ -262,13 +263,14 @@ int create_bundle(struct bundle_header *header, const char *path, init_revisions(&revs, NULL); /* write prerequisites */ - memcpy(argv_boundary + 3, argv + 1, argc * sizeof(const char *)); - argv_boundary[0] = "rev-list"; - argv_boundary[1] = "--boundary"; - argv_boundary[2] = "--pretty=oneline"; - argv_boundary[argc + 2] = NULL; + argv_array_pushl(&argv_boundary, + "rev-list", "--boundary", "--pretty=oneline", + NULL); + for (i = 1; i < argc; i++) + argv_array_push(&argv_boundary, argv[i]); + memset(&rls, 0, sizeof(rls)); - rls.argv = argv_boundary; + rls.argv = argv_boundary.argv; rls.out = -1; rls.git_cmd = 1; if (start_command(&rls)) @@ -383,14 +385,12 @@ int create_bundle(struct bundle_header *header, const char *path, write_or_die(bundle_fd, "\n", 1); /* write pack */ - argv_pack[0] = "pack-objects"; - argv_pack[1] = "--all-progress-implied"; - argv_pack[2] = "--stdout"; - argv_pack[3] = "--thin"; - argv_pack[4] = "--delta-base-offset"; - argv_pack[5] = NULL; + argv_array_pushl(&argv_pack, + "pack-objects", "--all-progress-implied", + "--stdout", "--thin", "--delta-base-offset", + NULL); memset(&rls, 0, sizeof(rls)); - rls.argv = argv_pack; + rls.argv = argv_pack.argv; rls.in = -1; rls.out = bundle_fd; rls.git_cmd = 1; diff --git a/command-list.txt b/command-list.txt index 08b04e2c66..cf36c3d71e 100644 --- a/command-list.txt +++ b/command-list.txt @@ -64,7 +64,6 @@ git-init mainporcelain common git-instaweb ancillaryinterrogators gitk mainporcelain git-log mainporcelain common -git-lost-found ancillarymanipulators deprecated git-ls-files plumbinginterrogators git-ls-remote plumbinginterrogators git-ls-tree plumbinginterrogators @@ -88,7 +87,6 @@ git-pack-redundant plumbinginterrogators git-pack-refs ancillarymanipulators git-parse-remote synchelpers git-patch-id purehelpers -git-peek-remote purehelpers deprecated git-prune ancillarymanipulators git-prune-packed plumbingmanipulators git-pull mainporcelain common @@ -102,7 +100,6 @@ git-relink ancillarymanipulators git-remote ancillarymanipulators git-repack ancillarymanipulators git-replace ancillarymanipulators -git-repo-config ancillarymanipulators deprecated git-request-pull foreignscminterface git-rerere ancillaryinterrogators git-reset mainporcelain common @@ -127,7 +124,6 @@ git-submodule mainporcelain git-svn foreignscminterface git-symbolic-ref plumbingmanipulators git-tag mainporcelain common -git-tar-tree plumbinginterrogators deprecated git-unpack-file plumbinginterrogators git-unpack-objects plumbingmanipulators git-update-index plumbingmanipulators diff --git a/commit-slab.h b/commit-slab.h index d4c8286470..cc114b53b0 100644 --- a/commit-slab.h +++ b/commit-slab.h @@ -22,8 +22,17 @@ * * Initializes the indegree slab that associates an array of integers * to each commit. 'stride' specifies how big each array is. The slab - * that id initialied by the variant without "_with_stride" associates + * that is initialized by the variant without "_with_stride" associates * each commit with an array of one integer. + * + * - void clear_indegree(struct indegree *); + * + * Empties the slab. The slab can be reused with the same stride + * without calling init_indegree() again or can be reconfigured to a + * different stride by calling init_indegree_with_stride(). + * + * Call this function before the slab falls out of scope to avoid + * leaking memory. */ /* allocate ~512kB at once, allowing for malloc overhead */ @@ -31,6 +40,8 @@ #define COMMIT_SLAB_SIZE (512*1024-32) #endif +#define MAYBE_UNUSED __attribute__((__unused__)) + #define define_commit_slab(slabname, elemtype) \ \ struct slabname { \ @@ -41,8 +52,8 @@ struct slabname { \ }; \ static int stat_ ##slabname## realloc; \ \ -static void init_ ##slabname## _with_stride(struct slabname *s, \ - unsigned stride) \ +static MAYBE_UNUSED void init_ ##slabname## _with_stride(struct slabname *s, \ + unsigned stride) \ { \ unsigned int elem_size; \ if (!stride) \ @@ -54,12 +65,12 @@ static void init_ ##slabname## _with_stride(struct slabname *s, \ s->slab = NULL; \ } \ \ -static void init_ ##slabname(struct slabname *s) \ +static MAYBE_UNUSED void init_ ##slabname(struct slabname *s) \ { \ init_ ##slabname## _with_stride(s, 1); \ } \ \ -static void clear_ ##slabname(struct slabname *s) \ +static MAYBE_UNUSED void clear_ ##slabname(struct slabname *s) \ { \ int i; \ for (i = 0; i < s->slab_count; i++) \ @@ -69,8 +80,8 @@ static void clear_ ##slabname(struct slabname *s) \ s->slab = NULL; \ } \ \ -static elemtype *slabname## _at(struct slabname *s, \ - const struct commit *c) \ +static MAYBE_UNUSED elemtype *slabname## _at(struct slabname *s, \ + const struct commit *c) \ { \ int nth_slab, nth_slot; \ \ @@ -80,7 +91,7 @@ static elemtype *slabname## _at(struct slabname *s, \ if (s->slab_count <= nth_slab) { \ int i; \ s->slab = xrealloc(s->slab, \ - (nth_slab + 1) * sizeof(s->slab)); \ + (nth_slab + 1) * sizeof(*s->slab)); \ stat_ ##slabname## realloc++; \ for (i = s->slab_count; i <= nth_slab; i++) \ s->slab[i] = NULL; \ @@ -94,4 +105,16 @@ static elemtype *slabname## _at(struct slabname *s, \ \ static int stat_ ##slabname## realloc +/* + * Note that this seemingly redundant second declaration is required + * to allow a terminating semicolon, which makes instantiations look + * like function declarations. I.e., the expansion of + * + * define_commit_slab(indegree, int); + * + * ends in 'static int stat_indegreerealloc;'. This would otherwise + * be a syntax error according (at least) to ISO C. It's hard to + * catch because GCC silently parses it by default. + */ + #endif /* COMMIT_SLAB_H */ @@ -79,7 +79,7 @@ struct commit *lookup_commit_reference_by_name(const char *name) if (get_sha1_committish(name, sha1)) return NULL; commit = lookup_commit_reference(sha1); - if (!commit || parse_commit(commit)) + if (parse_commit(commit)) return NULL; return commit; } @@ -341,6 +341,13 @@ int parse_commit(struct commit *item) return ret; } +void parse_commit_or_die(struct commit *item) +{ + if (parse_commit(item)) + die("unable to parse commit %s", + item ? sha1_to_hex(item->object.sha1) : "(null)"); +} + int find_commit_subject(const char *commit_buffer, const char **subject) { const char *eol; @@ -49,6 +49,7 @@ struct commit *lookup_commit_or_die(const unsigned char *sha1, const char *ref_n int parse_commit_buffer(struct commit *item, const void *buffer, unsigned long size); int parse_commit(struct commit *item); +void parse_commit_or_die(struct commit *item); /* Find beginning and length of commit subject. */ int find_commit_subject(const char *commit_buffer, const char **subject); @@ -1210,15 +1210,14 @@ int git_config(config_fn_t fn, void *data) * Find all the stuff for git_config_set() below. */ -#define MAX_MATCHES 512 - static struct { int baselen; char *key; int do_not_match; regex_t *value_regex; int multi_replace; - size_t offset[MAX_MATCHES]; + size_t *offset; + unsigned int offset_alloc; enum { START, SECTION_SEEN, SECTION_END_SEEN, KEY_SEEN } state; int seen; } store; @@ -1241,11 +1240,11 @@ static int store_aux(const char *key, const char *value, void *cb) if (matches(key, value)) { if (store.seen == 1 && store.multi_replace == 0) { warning("%s has multiple values", key); - } else if (store.seen >= MAX_MATCHES) { - error("too many matches for %s", key); - return 1; } + ALLOC_GROW(store.offset, store.seen + 1, + store.offset_alloc); + store.offset[store.seen] = cf->do_ftell(cf); store.seen++; } @@ -1273,11 +1272,15 @@ static int store_aux(const char *key, const char *value, void *cb) * Do not increment matches: this is no match, but we * just made sure we are in the desired section. */ + ALLOC_GROW(store.offset, store.seen + 1, + store.offset_alloc); store.offset[store.seen] = cf->do_ftell(cf); /* fallthru */ case SECTION_END_SEEN: case START: if (matches(key, value)) { + ALLOC_GROW(store.offset, store.seen + 1, + store.offset_alloc); store.offset[store.seen] = cf->do_ftell(cf); store.state = KEY_SEEN; store.seen++; @@ -1285,6 +1288,9 @@ static int store_aux(const char *key, const char *value, void *cb) if (strrchr(key, '.') - key == store.baselen && !strncmp(key, store.key, store.baselen)) { store.state = SECTION_SEEN; + ALLOC_GROW(store.offset, + store.seen + 1, + store.offset_alloc); store.offset[store.seen] = cf->do_ftell(cf); } } @@ -1583,6 +1589,7 @@ int git_config_set_multivar_in_file(const char *config_filename, } } + ALLOC_GROW(store.offset, 1, store.offset_alloc); store.offset[0] = 0; store.state = START; store.seen = 0; diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index dba3c15700..874611db56 100644 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -673,7 +673,6 @@ __git_list_porcelain_commands () index-pack) : plumbing;; init-db) : deprecated;; local-fetch) : plumbing;; - lost-found) : infrequent;; ls-files) : plumbing;; ls-remote) : plumbing;; ls-tree) : plumbing;; @@ -687,14 +686,12 @@ __git_list_porcelain_commands () pack-refs) : plumbing;; parse-remote) : plumbing;; patch-id) : plumbing;; - peek-remote) : plumbing;; prune) : plumbing;; prune-packed) : plumbing;; quiltimport) : import;; read-tree) : plumbing;; receive-pack) : plumbing;; remote-*) : transport;; - repo-config) : deprecated;; rerere) : plumbing;; rev-list) : plumbing;; rev-parse) : plumbing;; @@ -707,7 +704,6 @@ __git_list_porcelain_commands () ssh-*) : transport;; stripspace) : plumbing;; symbolic-ref) : plumbing;; - tar-tree) : deprecated;; unpack-file) : plumbing;; unpack-objects) : plumbing;; update-index) : plumbing;; diff --git a/contrib/examples/git-whatchanged.sh b/contrib/examples/git-whatchanged.sh index 1fb9feb348..2edbdc6d99 100755 --- a/contrib/examples/git-whatchanged.sh +++ b/contrib/examples/git-whatchanged.sh @@ -9,12 +9,12 @@ case "$0" in *whatchanged) count= test -z "$diff_tree_flags" && - diff_tree_flags=$(git-repo-config --get whatchanged.difftree) + diff_tree_flags=$(git config --get whatchanged.difftree) diff_tree_default_flags='-c -M --abbrev' ;; *show) count=-n1 test -z "$diff_tree_flags" && - diff_tree_flags=$(git-repo-config --get show.difftree) + diff_tree_flags=$(git config --get show.difftree) diff_tree_default_flags='--cc --always' ;; esac test -z "$diff_tree_flags" && diff --git a/contrib/gitview/gitview b/contrib/gitview/gitview index 4c99dfb903..4e23c650fe 100755 --- a/contrib/gitview/gitview +++ b/contrib/gitview/gitview @@ -1205,7 +1205,7 @@ class GitView(object): #The first parent always continue on the same line try: - # check we alreay have the value + # check we already have the value tmp_node_pos = self.nodepos[commit.parent_sha1[0]] except KeyError: self.colours[commit.parent_sha1[0]] = colour diff --git a/contrib/mw-to-git/Makefile b/contrib/mw-to-git/Makefile index f206f9655b..a4b6f7a2cd 100644 --- a/contrib/mw-to-git/Makefile +++ b/contrib/mw-to-git/Makefile @@ -18,9 +18,13 @@ SCRIPT_PERL+=git-mw.perl GIT_ROOT_DIR=../.. HERE=contrib/mw-to-git/ +INSTALL = install + SCRIPT_PERL_FULL=$(patsubst %,$(HERE)/%,$(SCRIPT_PERL)) INSTLIBDIR=$(shell $(MAKE) -C $(GIT_ROOT_DIR)/perl \ -s --no-print-directory instlibdir) +DESTDIR_SQ = $(subst ','\'',$(DESTDIR)) +INSTLIBDIR_SQ = $(subst ','\'',$(INSTLIBDIR)) all: build @@ -30,7 +34,9 @@ test: all check: perlcritic test install_pm: - install $(GIT_MEDIAWIKI_PM) $(INSTLIBDIR)/$(GIT_MEDIAWIKI_PM) + $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(INSTLIBDIR_SQ)/Git' + $(INSTALL) -m 644 $(GIT_MEDIAWIKI_PM) \ + '$(DESTDIR_SQ)$(INSTLIBDIR_SQ)/$(GIT_MEDIAWIKI_PM)' build: $(MAKE) -C $(GIT_ROOT_DIR) SCRIPT_PERL="$(SCRIPT_PERL_FULL)" \ @@ -43,7 +49,6 @@ install: install_pm clean: $(MAKE) -C $(GIT_ROOT_DIR) SCRIPT_PERL="$(SCRIPT_PERL_FULL)" \ clean-perl-script - rm $(INSTLIBDIR)/$(GIT_MEDIAWIKI_PM) perlcritic: perlcritic -5 $(SCRIPT_PERL) diff --git a/contrib/mw-to-git/git-remote-mediawiki.perl b/contrib/mw-to-git/git-remote-mediawiki.perl index 476e0a2bc0..3f8d993afa 100755 --- a/contrib/mw-to-git/git-remote-mediawiki.perl +++ b/contrib/mw-to-git/git-remote-mediawiki.perl @@ -1315,7 +1315,7 @@ sub get_mw_namespace_id { # Store "notANameSpace" as special value for inexisting namespaces my $store_id = ($id || 'notANameSpace'); - # Store explicitely requested namespaces on disk + # Store explicitly requested namespaces on disk if (!exists $cached_mw_namespace_id{$name}) { run_git(qq(config --add remote.${remotename}.namespaceCache "${name}:${store_id}")); $cached_mw_namespace_id{$name} = 1; diff --git a/contrib/mw-to-git/t/test-gitmw-lib.sh b/contrib/mw-to-git/t/test-gitmw-lib.sh index ca6860ff30..3372b2af34 100755 --- a/contrib/mw-to-git/t/test-gitmw-lib.sh +++ b/contrib/mw-to-git/t/test-gitmw-lib.sh @@ -91,7 +91,7 @@ test_diff_directories () { # Check that <dir> contains exactly <N> files test_contains_N_files () { if test `ls -- "$1" | wc -l` -ne "$2"; then - echo "directory $1 sould contain $2 files" + echo "directory $1 should contain $2 files" echo "it contains these files:" ls "$1" false diff --git a/contrib/mw-to-git/t/test.config b/contrib/mw-to-git/t/test.config index 4cfebe9c69..5ba0684162 100644 --- a/contrib/mw-to-git/t/test.config +++ b/contrib/mw-to-git/t/test.config @@ -12,7 +12,7 @@ SERVER_ADDR=localhost TMP=/tmp DB_FILE=wikidb.sqlite -# If LIGHTTPD is not set to true, the script will use the defaut +# If LIGHTTPD is not set to true, the script will use the default # web server running in WIKI_DIR_INST. WIKI_DIR_INST=/var/www diff --git a/contrib/remote-helpers/git-remote-bzr b/contrib/remote-helpers/git-remote-bzr index 054161ae21..7e345320ad 100755 --- a/contrib/remote-helpers/git-remote-bzr +++ b/contrib/remote-helpers/git-remote-bzr @@ -44,8 +44,8 @@ import StringIO import atexit, shutil, hashlib, urlparse, subprocess NAME_RE = re.compile('^([^<>]+)') -AUTHOR_RE = re.compile('^([^<>]+?)? ?<([^<>]*)>$') -EMAIL_RE = re.compile('^([^<>]+[^ \\\t<>])?\\b(?:[ \\t<>]*?)\\b([^ \\t<>]+@[^ \\t<>]+)') +AUTHOR_RE = re.compile('^([^<>]+?)? ?[<>]([^<>]*)(?:$|>)') +EMAIL_RE = re.compile(r'([^ \t<>]+@[^ \t<>]+)') RAW_AUTHOR_RE = re.compile('^(\w+) (.+)? <(.*)> (\d+) ([+-]\d+)') def die(msg, *args): @@ -193,8 +193,7 @@ def fixup_user(user): else: m = EMAIL_RE.match(user) if m: - name = m.group(1) - mail = m.group(2) + mail = m.group(1) else: m = NAME_RE.match(user) if m: diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg index 3222afd9da..30402d5532 100755 --- a/contrib/remote-helpers/git-remote-hg +++ b/contrib/remote-helpers/git-remote-hg @@ -51,8 +51,8 @@ import time as ptime # NAME_RE = re.compile('^([^<>]+)') -AUTHOR_RE = re.compile('^([^<>]+?)? ?<([^<>]*)>$') -EMAIL_RE = re.compile('^([^<>]+[^ \\\t<>])?\\b(?:[ \\t<>]*?)\\b([^ \\t<>]+@[^ \\t<>]+)') +AUTHOR_RE = re.compile('^([^<>]+?)? ?[<>]([^<>]*)(?:$|>)') +EMAIL_RE = re.compile(r'([^ \t<>]+@[^ \t<>]+)') AUTHOR_HG_RE = re.compile('^(.*?) ?<(.*?)(?:>(.+)?)?$') RAW_AUTHOR_RE = re.compile('^(\w+) (?:(.+)? )?<(.*)> (\d+) ([+-]\d+)') @@ -316,8 +316,7 @@ def fixup_user_git(user): else: m = EMAIL_RE.match(user) if m: - name = m.group(1) - mail = m.group(2) + mail = m.group(1) else: m = NAME_RE.match(user) if m: @@ -747,7 +746,7 @@ def parse_commit(parser): f = { 'deleted' : True } else: die('Unknown file command: %s' % line) - path = c_style_unescape(path).decode('utf-8') + path = c_style_unescape(path) files[path] = f # only export the commits if we are on an internal proxy repo diff --git a/contrib/remote-helpers/test-bzr.sh b/contrib/remote-helpers/test-bzr.sh index 5c50251783..1e53ff9a58 100755 --- a/contrib/remote-helpers/test-bzr.sh +++ b/contrib/remote-helpers/test-bzr.sh @@ -5,7 +5,8 @@ test_description='Test remote-bzr' -. ./test-lib.sh +test -n "$TEST_DIRECTORY" || TEST_DIRECTORY=${0%/*}/../../t +. "$TEST_DIRECTORY"/test-lib.sh if ! test_have_prereq PYTHON then @@ -378,7 +379,7 @@ test_expect_success 'export utf-8 authors' ' git add content && git commit -m one && git remote add bzr "bzr::../bzrrepo" && - git push bzr + git push bzr master ) && ( diff --git a/contrib/remote-helpers/test-hg.sh b/contrib/remote-helpers/test-hg.sh index 72f745d63f..347e812923 100755 --- a/contrib/remote-helpers/test-hg.sh +++ b/contrib/remote-helpers/test-hg.sh @@ -8,7 +8,8 @@ test_description='Test remote-hg' -. ./test-lib.sh +test -n "$TEST_DIRECTORY" || TEST_DIRECTORY=${0%/*}/../../t +. "$TEST_DIRECTORY"/test-lib.sh if ! test_have_prereq PYTHON then @@ -53,14 +54,14 @@ check_bookmark () { } check_push () { - local expected_ret=$1 ret=0 ref_ret=0 IFS=':' + expected_ret=$1 ret=0 ref_ret=0 shift git push origin "$@" 2>error ret=$? cat error - while read branch kind + while IFS=':' read branch kind do case "$kind" in 'new') @@ -82,7 +83,7 @@ check_push () { test $ref_ret -ne 0 && echo "match for '$branch' failed" && break done - if test $expected_ret -ne $ret -o $ref_ret -ne 0 + if test $expected_ret -ne $ret || test $ref_ret -ne 0 then return 1 fi @@ -205,16 +206,17 @@ test_expect_success 'authors' ' >../expected && author_test alpha "" "H G Wells <wells@example.com>" && - author_test beta "test" "test <unknown>" && - author_test beta "test <test@example.com> (comment)" "test <test@example.com>" && - author_test gamma "<test@example.com>" "Unknown <test@example.com>" && - author_test delta "name<test@example.com>" "name <test@example.com>" && - author_test epsilon "name <test@example.com" "name <test@example.com>" && - author_test zeta " test " "test <unknown>" && - author_test eta "test < test@example.com >" "test <test@example.com>" && - author_test theta "test >test@example.com>" "test <test@example.com>" && - author_test iota "test < test <at> example <dot> com>" "test <unknown>" && - author_test kappa "test@example.com" "Unknown <test@example.com>" + author_test beta "beta" "beta <unknown>" && + author_test gamma "gamma <test@example.com> (comment)" "gamma <test@example.com>" && + author_test delta "<delta@example.com>" "Unknown <delta@example.com>" && + author_test epsilon "epsilon<test@example.com>" "epsilon <test@example.com>" && + author_test zeta "zeta <test@example.com" "zeta <test@example.com>" && + author_test eta " eta " "eta <unknown>" && + author_test theta "theta < test@example.com >" "theta <test@example.com>" && + author_test iota "iota >test@example.com>" "iota <test@example.com>" && + author_test kappa "kappa < test <at> example <dot> com>" "kappa <unknown>" && + author_test lambda "lambda@example.com" "Unknown <lambda@example.com>" && + author_test mu "mu.mu@example.com" "Unknown <mu.mu@example.com>" ) && git clone "hg::hgrepo" gitrepo && @@ -3394,7 +3394,7 @@ int parse_long_opt(const char *opt, const char **argv, if (prefixcmp(arg, opt)) return 0; arg += strlen(opt); - if (*arg == '=') { /* sticked form: --option=value */ + if (*arg == '=') { /* stuck form: --option=value */ *optarg = arg + 1; return 1; } @@ -244,7 +244,7 @@ extern struct diff_filepair *diff_unmerge(struct diff_options *, const char *pat #define DIFF_SETUP_USE_SIZE_CACHE 4 /* - * Poor man's alternative to parse-option, to allow both sticked form + * Poor man's alternative to parse-option, to allow both stuck form * (--option=value) and separate form (--option value). */ extern int parse_long_opt(const char *opt, const char **argv, diff --git a/fetch-pack.c b/fetch-pack.c index 1042448fa0..5a1200f1a0 100644 --- a/fetch-pack.c +++ b/fetch-pack.c @@ -47,9 +47,8 @@ static void rev_list_push(struct commit *commit, int mark) if (!(commit->object.flags & mark)) { commit->object.flags |= mark; - if (!(commit->object.parsed)) - if (parse_commit(commit)) - return; + if (parse_commit(commit)) + return; prio_queue_put(&rev_list, commit); @@ -128,8 +127,7 @@ static const unsigned char *get_rev(void) return NULL; commit = prio_queue_get(&rev_list); - if (!commit->object.parsed) - parse_commit(commit); + parse_commit(commit); parents = commit->parents; commit->object.flags |= POPPED; @@ -302,7 +302,7 @@ split_patches () { # not starting with Author, From or Date is the # subject, and the body starts with the next nonempty # line not starting with Author, From or Date - perl -ne 'BEGIN { $subject = 0 } + @@PERL@@ -ne 'BEGIN { $subject = 0 } if ($subject > 1) { print ; } elsif (/^\s+$/) { next ; } elsif (/^Author:/) { s/Author/From/ ; print ;} @@ -334,7 +334,7 @@ split_patches () { # Since we cannot guarantee that the commit message is in # git-friendly format, we put no Subject: line and just consume # all of the message as the body - LANG=C LC_ALL=C perl -M'POSIX qw(strftime)' -ne 'BEGIN { $subject = 0 } + LANG=C LC_ALL=C @@PERL@@ -M'POSIX qw(strftime)' -ne 'BEGIN { $subject = 0 } if ($subject) { print ; } elsif (/^\# User /) { s/\# User/From:/ ; print ; } elsif (/^\# Date /) { diff --git a/git-bisect.sh b/git-bisect.sh index 9f064b6f4f..73b4c14d4f 100755 --- a/git-bisect.sh +++ b/git-bisect.sh @@ -137,7 +137,7 @@ bisect_start() { # cogito usage, and cogito users should understand # it relates to cg-seek. [ -s "$GIT_DIR/head-name" ] && - die "$(gettext "won't bisect on seeked tree")" + die "$(gettext "won't bisect on cg-seek'ed tree")" start_head="${head#refs/heads/}" ;; *) diff --git a/git-gui/Makefile b/git-gui/Makefile index e9c2bc347d..cde8b2ea31 100644 --- a/git-gui/Makefile +++ b/git-gui/Makefile @@ -4,7 +4,7 @@ all:: # # Define NO_MSGFMT if you do not have msgfmt from the GNU gettext # package and want to use our rough pure Tcl po->msg translator. -# TCL_PATH must be vaild for this to work. +# TCL_PATH must be valid for this to work. # GIT-VERSION-FILE: FORCE diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh index 153f85da06..db46ac50bf 100755 --- a/git-gui/git-gui.sh +++ b/git-gui/git-gui.sh @@ -894,6 +894,7 @@ set default_config(gui.textconv) true set default_config(gui.pruneduringfetch) false set default_config(gui.trustmtime) false set default_config(gui.fastcopyblame) false +set default_config(gui.maxrecentrepo) 10 set default_config(gui.copyblamethreshold) 40 set default_config(gui.blamehistoryctx) 7 set default_config(gui.diffcontext) 5 @@ -912,6 +913,7 @@ set font_descs { {fontdiff font_diff {mc "Diff/Console Font"}} } set default_config(gui.stageuntracked) ask +set default_config(gui.displayuntracked) true ###################################################################### ## @@ -1282,7 +1284,11 @@ apply_config # v1.7.0 introduced --show-toplevel to return the canonical work-tree if {[package vsatisfies $_git_version 1.7.0]} { - set _gitworktree [git rev-parse --show-toplevel] + if { [is_Cygwin] } { + catch {set _gitworktree [exec cygpath --windows [git rev-parse --show-toplevel]]} + } else { + set _gitworktree [git rev-parse --show-toplevel] + } } else { # try to set work tree from environment, core.worktree or use # cdup to obtain a relative path to the top of the worktree. If @@ -1550,18 +1556,23 @@ proc rescan_stage2 {fd after} { set buf_rdf {} set buf_rlo {} - set rescan_active 3 + set rescan_active 2 ui_status [mc "Scanning for modified files ..."] set fd_di [git_read diff-index --cached -z [PARENT]] set fd_df [git_read diff-files -z] - set fd_lo [eval git_read ls-files --others -z $ls_others] fconfigure $fd_di -blocking 0 -translation binary -encoding binary fconfigure $fd_df -blocking 0 -translation binary -encoding binary - fconfigure $fd_lo -blocking 0 -translation binary -encoding binary + fileevent $fd_di readable [list read_diff_index $fd_di $after] fileevent $fd_df readable [list read_diff_files $fd_df $after] - fileevent $fd_lo readable [list read_ls_others $fd_lo $after] + + if {[is_config_true gui.displayuntracked]} { + set fd_lo [eval git_read ls-files --others -z $ls_others] + fconfigure $fd_lo -blocking 0 -translation binary -encoding binary + fileevent $fd_lo readable [list read_ls_others $fd_lo $after] + incr rescan_active + } } proc load_message {file {encoding {}}} { @@ -2654,6 +2665,16 @@ if {![is_bare]} { .mbar.repository add command \ -label [mc "Explore Working Copy"] \ -command {do_explore} +} + +if {[is_Windows]} { + .mbar.repository add command \ + -label [mc "Git Bash"] \ + -command {eval exec [auto_execok start] \ + [list "Git Bash" bash --login -l &]} +} + +if {[is_Windows] || ![is_bare]} { .mbar.repository add separator } @@ -3203,13 +3224,19 @@ unset i # -- Diff and Commit Area # -${NS}::frame .vpane.lower -height 300 -width 400 +${NS}::panedwindow .vpane.lower -orient vertical ${NS}::frame .vpane.lower.commarea -${NS}::frame .vpane.lower.diff -relief sunken -borderwidth 1 -pack .vpane.lower.diff -fill both -expand 1 -pack .vpane.lower.commarea -side bottom -fill x +${NS}::frame .vpane.lower.diff -relief sunken -borderwidth 1 -height 500 +.vpane.lower add .vpane.lower.diff +.vpane.lower add .vpane.lower.commarea .vpane add .vpane.lower -if {!$use_ttk} {.vpane paneconfigure .vpane.lower -sticky nsew} +if {$use_ttk} { + .vpane.lower pane .vpane.lower.diff -weight 1 + .vpane.lower pane .vpane.lower.commarea -weight 0 +} else { + .vpane.lower paneconfigure .vpane.lower.diff -stretch always + .vpane.lower paneconfigure .vpane.lower.commarea -stretch never +} # -- Commit Area Buttons # diff --git a/git-gui/lib/blame.tcl b/git-gui/lib/blame.tcl index 324f7744c4..b1d15f4621 100644 --- a/git-gui/lib/blame.tcl +++ b/git-gui/lib/blame.tcl @@ -5,7 +5,7 @@ class blame { image create photo ::blame::img_back_arrow -data {R0lGODlhGAAYAIUAAPwCBEzKXFTSZIz+nGzmhGzqfGTidIT+nEzGXHTqhGzmfGzifFzadETCVES+VARWDFzWbHzyjAReDGTadFTOZDSyRDyyTCymPARaFGTedFzSbDy2TCyqRCyqPARaDAyCHES6VDy6VCyiPAR6HCSeNByWLARyFARiDARqFGTifARiFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAAALAAAAAAYABgAAAajQIBwSCwaj8ikcsk0BppJwRPqHEypQwHBis0WDAdEFyBIKBaMAKLBdjQeSkFBYTBAIvgEoS6JmhUTEwIUDQ4VFhcMGEhyCgoZExoUaxsWHB0THkgfAXUGAhoBDSAVFR0XBnCbDRmgog0hpSIiDJpJIyEQhBUcJCIlwA22SSYVogknEg8eD82qSigdDSknY0IqJQXPYxIl1dZCGNvWw+Dm510GQQAh/mhDcmVhdGVkIGJ5IEJNUFRvR0lGIFBybyB2ZXJzaW9uIDIuNQ0KqSBEZXZlbENvciAxOTk3LDE5OTguIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQpodHRwOi8vd3d3LmRldmVsY29yLmNvbQA7} -# Persistant data (survives loads) +# Persistent data (survives loads) # field history {}; # viewer history: {commit path} field header ; # array commit,key -> header field diff --git a/git-gui/lib/choose_repository.tcl b/git-gui/lib/choose_repository.tcl index ee58981f53..3c10bc656d 100644 --- a/git-gui/lib/choose_repository.tcl +++ b/git-gui/lib/choose_repository.tcl @@ -24,6 +24,10 @@ field sorted_recent ; # recent repositories (sorted) constructor pick {} { global M1T M1B use_ttk NS + if {[set maxrecent [get_config gui.maxrecentrepo]] eq {}} { + set maxrecent 10 + } + make_dialog top w wm title $top [mc "Git Gui"] @@ -148,7 +152,7 @@ constructor pick {} { -background [get_bg_color $w_body.recentlabel] \ -wrap none \ -width 50 \ - -height 10 + -height $maxrecent $w_recentlist tag conf link \ -foreground blue \ -underline 1 @@ -264,7 +268,11 @@ proc _append_recentrepos {path} { git config --global --add gui.recentrepo $path load_config 1 - while {[llength $recent] > 10} { + if {[set maxrecent [get_config gui.maxrecentrepo]] eq {}} { + set maxrecent 10 + } + + while {[llength $recent] > $maxrecent} { _unset_recentrepo [lindex $recent 0] set recent [lrange $recent 1 end] } diff --git a/git-gui/lib/index.tcl b/git-gui/lib/index.tcl index 8efbbdde21..74a81a7b42 100644 --- a/git-gui/lib/index.tcl +++ b/git-gui/lib/index.tcl @@ -414,7 +414,7 @@ proc revert_helper {txt paths} { # such distinction is needed in some languages. Previously, the # code used "Revert changes in" for both, but that can't work # in languages where 'in' must be combined with word from - # rest of string (in diffrent way for both cases of course). + # rest of string (in different way for both cases of course). # # FIXME: Unfortunately, even that isn't enough in some languages # as they have quite complex plural-form rules. Unfortunately, diff --git a/git-gui/lib/option.tcl b/git-gui/lib/option.tcl index 0cf1da1d7e..23c9ae72a4 100644 --- a/git-gui/lib/option.tcl +++ b/git-gui/lib/option.tcl @@ -150,6 +150,7 @@ proc do_options {} { {b gui.matchtrackingbranch {mc "Match Tracking Branches"}} {b gui.textconv {mc "Use Textconv For Diffs and Blames"}} {b gui.fastcopyblame {mc "Blame Copy Only On Changed Files"}} + {i-0..100 gui.maxrecentrepo {mc "Maximum Length of Recent Repositories List"}} {i-20..200 gui.copyblamethreshold {mc "Minimum Letters To Blame Copy On"}} {i-0..300 gui.blamehistoryctx {mc "Blame History Context Radius (days)"}} {i-1..99 gui.diffcontext {mc "Number of Diff Context Lines"}} @@ -159,6 +160,7 @@ proc do_options {} { {c gui.encoding {mc "Default File Contents Encoding"}} {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"}} } { set type [lindex $option 0] set name [lindex $option 1] diff --git a/git-gui/lib/spellcheck.tcl b/git-gui/lib/spellcheck.tcl index e6120303e9..538d61c792 100644 --- a/git-gui/lib/spellcheck.tcl +++ b/git-gui/lib/spellcheck.tcl @@ -14,7 +14,7 @@ field w_menu ; # context menu for the widget field s_menuidx 0 ; # last index of insertion into $w_menu field s_i {} ; # timer registration for _run callbacks -field s_clear 0 ; # did we erase mispelled tags yet? +field s_clear 0 ; # did we erase misspelled tags yet? field s_seen [list] ; # lines last seen from $w_text in _run field s_checked [list] ; # lines already checked field s_pending [list] ; # [$line $data] sent to ispell/aspell @@ -259,7 +259,7 @@ method _run {} { if {$n == $cur_line && ![regexp {^\W$} [$w_text get $cur_pos insert]]} { - # If the current word is mispelled remove the tag + # If the current word is misspelled remove the tag # but force a spellcheck later. # set tags [$w_text tag names $cur_pos] diff --git a/git-gui/macosx/Info.plist b/git-gui/macosx/Info.plist index b3bf15fa1c..1ade121c4c 100644 --- a/git-gui/macosx/Info.plist +++ b/git-gui/macosx/Info.plist @@ -24,5 +24,7 @@ <string>GITg</string> <key>CFBundleVersion</key> <string>@@GITGUI_VERSION@@</string> + <key>NSHighResolutionCapable</key> + <true/> </dict> </plist> diff --git a/git-instaweb.sh b/git-instaweb.sh index 01a1b05e6b..e93a238675 100755 --- a/git-instaweb.sh +++ b/git-instaweb.sh @@ -581,7 +581,7 @@ EOF gitweb_conf() { cat > "$fqgitdir/gitweb/gitweb_config.perl" <<EOF -#!/usr/bin/perl +#!@@PERL@@ our \$projectroot = "$(dirname "$fqgitdir")"; our \$git_temp = "$fqgitdir/gitweb/tmp"; our \$projects_list = \$projectroot; diff --git a/git-lost-found.sh b/git-lost-found.sh deleted file mode 100755 index 0b3e8c7a86..0000000000 --- a/git-lost-found.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh - -USAGE='' -SUBDIRECTORY_OK='Yes' -OPTIONS_SPEC= -. git-sh-setup - -echo "WARNING: '$0' is deprecated in favor of 'git fsck --lost-found'" >&2 - -if [ "$#" != "0" ] -then - usage -fi - -laf="$GIT_DIR/lost-found" -rm -fr "$laf" && mkdir -p "$laf/commit" "$laf/other" || exit - -git fsck --full --no-reflogs | -while read dangling type sha1 -do - case "$dangling" in - dangling) - if git rev-parse -q --verify "$sha1^0" >/dev/null - then - dir="$laf/commit" - git show-branch "$sha1" - else - dir="$laf/other" - fi - echo "$sha1" >"$dir/$sha1" - ;; - esac -done @@ -1311,7 +1311,7 @@ class P4Submit(Command, P4UserMap): else: die("unknown modifier %s for %s" % (modifier, path)) - diffcmd = "git format-patch -k --stdout \"%s^\"..\"%s\"" % (id, id) + diffcmd = "git diff-tree -p \"%s\"" % (id) patchcmd = diffcmd + " | git apply " tryPatchCmd = patchcmd + "--check -" applyPatchCmd = patchcmd + "--check --apply -" diff --git a/git-pull.sh b/git-pull.sh index b946fd975b..97716b885f 100755 --- a/git-pull.sh +++ b/git-pull.sh @@ -172,7 +172,7 @@ error_on_no_merge_candidates () { do case "$opt" in -t|--t|--ta|--tag|--tags) - echo "Fetching tags only, you probably meant:" + echo "It doesn't make sense to pull all tags; you probably meant:" echo " git fetch --tags" exit 1 esac diff --git a/git-request-pull.sh b/git-request-pull.sh index ebf1269d29..fe21d5db63 100755 --- a/git-request-pull.sh +++ b/git-request-pull.sh @@ -106,7 +106,7 @@ find_matching_ref=' } ' -ref=$(git ls-remote "$url" | perl -e "$find_matching_ref" "$head" "$headrev" "$tag_name") +ref=$(git ls-remote "$url" | @@PERL@@ -e "$find_matching_ref" "$head" "$headrev" "$tag_name") url=$(git ls-remote --get-url "$url") diff --git a/git-submodule.sh b/git-submodule.sh index 896f1c9b82..2677f2e8b3 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -156,7 +156,7 @@ module_list() git ls-files -z --error-unmatch --stage -- "$@" || echo "unmatched pathspec exists" ) | - perl -e ' + @@PERL@@ -e ' my %unmerged = (); my ($null_sha1) = ("0" x 40); my @out = (); @@ -545,7 +545,12 @@ cmd_foreach() sm_path=$(relative_path "$sm_path") && # we make $path available to scripts ... path=$sm_path && - eval "$@" && + if test $# -eq 1 + then + eval "$1" + else + "$@" + fi && if test -n "$recursive" then cmd_foreach "--recursive" "$@" @@ -612,11 +617,21 @@ cmd_init() fi # Copy "update" setting when it is not set yet - upd="$(git config -f .gitmodules submodule."$name".update)" - test -z "$upd" || - test -n "$(git config submodule."$name".update)" || - git config submodule."$name".update "$upd" || - die "$(eval_gettext "Failed to register update mode for submodule path '\$displaypath'")" + if upd="$(git config -f .gitmodules submodule."$name".update)" && + test -n "$upd" && + test -z "$(git config submodule."$name".update)" + then + case "$upd" in + rebase | merge | none) + ;; # known modes of updating + *) + echo >&2 "warning: unknown update mode '$upd' suggested for submodule '$name'" + upd=none + ;; + esac + git config submodule."$name".update "$upd" || + die "$(eval_gettext "Failed to register update mode for submodule path '\$displaypath'")" + fi done } @@ -706,7 +721,6 @@ cmd_deinit() cmd_update() { # parse $args after "submodule ... update". - orig_flags= while test $# -ne 0 do case "$1" in @@ -731,7 +745,6 @@ cmd_update() --reference) case "$2" in '') usage ;; esac reference="--reference=$2" - orig_flags="$orig_flags $(git rev-parse --sq-quote "$1")" shift ;; --reference=*) @@ -765,7 +778,6 @@ cmd_update() break ;; esac - orig_flags="$orig_flags $(git rev-parse --sq-quote "$1")" shift done @@ -909,7 +921,7 @@ Maybe you want to use 'update --init'?")" prefix="$prefix$sm_path/" clear_local_git_env cd "$sm_path" && - eval cmd_update "$orig_flags" + eval cmd_update ) res=$? if test $res -gt 0 @@ -408,7 +408,6 @@ static void handle_internal_command(int argc, const char **argv) { "pack-redundant", cmd_pack_redundant, RUN_SETUP }, { "pack-refs", cmd_pack_refs, RUN_SETUP }, { "patch-id", cmd_patch_id }, - { "peek-remote", cmd_ls_remote, RUN_SETUP_GENTLY }, { "pickaxe", cmd_blame, RUN_SETUP }, { "prune", cmd_prune, RUN_SETUP }, { "prune-packed", cmd_prune_packed, RUN_SETUP }, @@ -421,7 +420,6 @@ static void handle_internal_command(int argc, const char **argv) { "remote-fd", cmd_remote_fd }, { "repack", cmd_repack, RUN_SETUP }, { "replace", cmd_replace, RUN_SETUP }, - { "repo-config", cmd_repo_config, RUN_SETUP_GENTLY }, { "rerere", cmd_rerere, RUN_SETUP }, { "reset", cmd_reset, RUN_SETUP }, { "rev-list", cmd_rev_list, RUN_SETUP }, @@ -438,7 +436,6 @@ static void handle_internal_command(int argc, const char **argv) { "stripspace", cmd_stripspace }, { "symbolic-ref", cmd_symbolic_ref, RUN_SETUP }, { "tag", cmd_tag, RUN_SETUP }, - { "tar-tree", cmd_tar_tree }, { "unpack-file", cmd_unpack_file, RUN_SETUP }, { "unpack-objects", cmd_unpack_objects, RUN_SETUP }, { "update-index", cmd_update_index, RUN_SETUP }, diff --git a/gitk-git/gitk b/gitk-git/gitk index 5cd00d80fe..33c3a6c6b3 100755 --- a/gitk-git/gitk +++ b/gitk-git/gitk @@ -156,10 +156,12 @@ proc unmerged_files {files} { proc parseviewargs {n arglist} { global vdatemode vmergeonly vflags vdflags vrevs vfiltered vorigargs env + global vinlinediff global worddiff git_version set vdatemode($n) 0 set vmergeonly($n) 0 + set vinlinediff($n) 0 set glflags {} set diffargs {} set nextisval 0 @@ -227,12 +229,20 @@ proc parseviewargs {n arglist} { "--until=*" - "--before=*" - "--max-age=*" - "--min-age=*" - "--author=*" - "--committer=*" - "--grep=*" - "-[iE]" - "--remove-empty" - "--first-parent" - "--cherry-pick" - - "-S*" - "--pickaxe-all" - "--pickaxe-regex" - + "-S*" - "-G*" - "--pickaxe-all" - "--pickaxe-regex" - "--simplify-by-decoration" { # These mean that we get a subset of the commits set filtered 1 lappend glflags $arg } + "-L*" { + # Line-log with 'stuck' argument (unstuck form is + # not supported) + set filtered 1 + set vinlinediff($n) 1 + set allknown 0 + lappend glflags $arg + } "-n" { # This appears to be the only one that has a value as a # separate word following it @@ -1704,8 +1714,17 @@ proc parsecommit {id contents listed} { set comment $newcomment } set hasnote [string first "\nNotes:\n" $contents] + set diff "" + # If there is diff output shown in the git-log stream, split it + # out. But get rid of the empty line that always precedes the + # diff. + set i [string first "\n\ndiff" $comment] + if {$i >= 0} { + set diff [string range $comment $i+1 end] + set comment [string range $comment 0 $i-1] + } set commitinfo($id) [list $headline $auname $audate \ - $comname $comdate $comment $hasnote] + $comname $comdate $comment $hasnote $diff] } proc getcommit {id} { @@ -2385,6 +2404,7 @@ proc makewindow {} { $ctext tag conf found -back $foundbgcolor $ctext tag conf currentsearchhit -back $currentsearchhitbgcolor $ctext tag conf wwrap -wrap word + $ctext tag conf bold -font textfontbold .pwbottom add .bleft if {!$use_ttk} { @@ -6387,6 +6407,25 @@ proc bindline {t id} { $canv bind $t <Button-1> "lineclick %x %y $id 1" } +proc graph_pane_width {} { + global use_ttk + + if {$use_ttk} { + set g [.tf.histframe.pwclist sashpos 0] + } else { + set g [.tf.histframe.pwclist sash coord 0] + } + return [lindex $g 0] +} + +proc totalwidth {l font extra} { + set tot 0 + foreach str $l { + set tot [expr {$tot + [font measure $font $str] + $extra}] + } + return $tot +} + proc drawtags {id x xt y1} { global idtags idheads idotherrefs mainhead global linespc lthickness @@ -6398,9 +6437,27 @@ proc drawtags {id x xt y1} { set marks {} set ntags 0 set nheads 0 + set singletag 0 + set maxtags 3 + set maxtagpct 25 + set maxwidth [expr {[graph_pane_width] * $maxtagpct / 100}] + set delta [expr {int(0.5 * ($linespc - $lthickness))}] + set extra [expr {$delta + $lthickness + $linespc}] + if {[info exists idtags($id)]} { set marks $idtags($id) set ntags [llength $marks] + if {$ntags > $maxtags || + [totalwidth $marks mainfont $extra] > $maxwidth} { + # show just a single "n tags..." tag + set singletag 1 + if {$ntags == 1} { + set marks [list "tag..."] + } else { + set marks [list [format "%d tags..." $ntags]] + } + set ntags 1 + } } if {[info exists idheads($id)]} { set marks [concat $marks $idheads($id)] @@ -6413,7 +6470,6 @@ proc drawtags {id x xt y1} { return $xt } - set delta [expr {int(0.5 * ($linespc - $lthickness))}] set yt [expr {$y1 - 0.5 * $linespc}] set yb [expr {$yt + $linespc - 1}] set xvals {} @@ -6428,7 +6484,7 @@ proc drawtags {id x xt y1} { } lappend xvals $xt lappend wvals $wid - set xt [expr {$xt + $delta + $wid + $lthickness + $linespc}] + set xt [expr {$xt + $wid + $extra}] } set t [$canv create line $x $y1 [lindex $xvals end] $y1 \ -width $lthickness -fill $reflinecolor -tags tag.$id] @@ -6444,7 +6500,12 @@ proc drawtags {id x xt y1} { $xr $yt $xr $yb $xl $yb $x [expr {$yb - $delta}] \ -width 1 -outline $tagoutlinecolor -fill $tagbgcolor \ -tags tag.$id] - $canv bind $t <1> [list showtag $tag_quoted 1] + if {$singletag} { + set tagclick [list showtags $id 1] + } else { + set tagclick [list showtag $tag_quoted 1] + } + $canv bind $t <1> $tagclick set rowtextx([rowofcommit $id]) [expr {$xr + $linespc}] } else { # draw a head or other ref @@ -6471,7 +6532,7 @@ proc drawtags {id x xt y1} { set t [$canv create text $xl $y1 -anchor w -text $tag -fill $headfgcolor \ -font $font -tags [list tag.$id text]] if {$ntags >= 0} { - $canv bind $t <1> [list showtag $tag_quoted 1] + $canv bind $t <1> $tagclick } elseif {$nheads >= 0} { $canv bind $t $ctxbut [list headmenu %X %Y $id $tag_quoted] } @@ -7080,6 +7141,7 @@ proc selectline {l isnew {desired_loc {}}} { global cmitmode showneartags allcommits global targetrow targetid lastscrollrows global autoselect autosellen jump_to_here + global vinlinediff catch {unset pending_select} $canv delete hover @@ -7221,6 +7283,8 @@ proc selectline {l isnew {desired_loc {}}} { init_flist [mc "Comments"] if {$cmitmode eq "tree"} { gettree $id + } elseif {$vinlinediff($curview) == 1} { + showinlinediff $id } elseif {[llength $olds] <= 1} { startdiff $id } else { @@ -7557,6 +7621,39 @@ proc startdiff {ids} { } } +proc showinlinediff {ids} { + global commitinfo commitdata ctext + global treediffs + + set info $commitinfo($ids) + set diff [lindex $info 7] + set difflines [split $diff "\n"] + + initblobdiffvars + set treediff {} + + set inhdr 0 + foreach line $difflines { + if {![string compare -length 5 "diff " $line]} { + set inhdr 1 + } elseif {$inhdr && ![string compare -length 4 "+++ " $line]} { + # offset also accounts for the b/ prefix + lappend treediff [string range $line 6 end] + set inhdr 0 + } + } + + set treediffs($ids) $treediff + add_flist $treediff + + $ctext conf -state normal + foreach line $difflines { + parseblobdiffline $ids $line + } + maybe_scroll_ctext 1 + $ctext conf -state disabled +} + # If the filename (name) is under any of the passed filter paths # then return true to include the file in the listing. proc path_filter {filter name} { @@ -7710,15 +7807,25 @@ proc changeworddiff {name ix op} { reselectline } +proc initblobdiffvars {} { + global diffencoding targetline diffnparents + global diffinhdr currdiffsubmod diffseehere + set targetline {} + set diffnparents 0 + set diffinhdr 0 + set diffencoding [get_path_encoding {}] + set currdiffsubmod "" + set diffseehere -1 +} + proc getblobdiffs {ids} { global blobdifffd diffids env - global diffinhdr treediffs + global treediffs global diffcontext global ignorespace global worddiff global limitdiffs vfilelimit curview - global diffencoding targetline diffnparents - global git_version currdiffsubmod + global git_version set textconv {} if {[package vcompare $git_version "1.6.1"] >= 0} { @@ -7742,13 +7849,9 @@ proc getblobdiffs {ids} { error_popup [mc "Error getting diffs: %s" $err] return } - set targetline {} - set diffnparents 0 - set diffinhdr 0 - set diffencoding [get_path_encoding {}] fconfigure $bdf -blocking 0 -encoding binary -eofchar {} set blobdifffd($ids) $bdf - set currdiffsubmod "" + initblobdiffvars filerun $bdf [list getblobdiffline $bdf $diffids] } @@ -7814,13 +7917,17 @@ proc makediffhdr {fname ids} { set diffline 0 } +proc blobdiffmaybeseehere {ateof} { + global diffseehere + if {$diffseehere >= 0} { + mark_ctext_line [lindex [split $diffseehere .] 0] + } + maybe_scroll_ctext ateof +} + proc getblobdiffline {bdf ids} { - global diffids blobdifffd ctext curdiffstart - global diffnexthead diffnextnote difffilestart - global ctext_file_names ctext_file_lines - global diffinhdr treediffs mergemax diffnparents - global diffencoding jump_to_here targetline diffline currdiffsubmod - global worddiff + global diffids blobdifffd + global ctext set nr 0 $ctext conf -state normal @@ -7829,212 +7936,220 @@ proc getblobdiffline {bdf ids} { catch {close $bdf} return 0 } - if {![string compare -length 5 "diff " $line]} { - if {![regexp {^diff (--cc|--git) } $line m type]} { - set line [encoding convertfrom $line] - $ctext insert end "$line\n" hunksep - continue + parseblobdiffline $ids $line + } + $ctext conf -state disabled + blobdiffmaybeseehere [eof $bdf] + if {[eof $bdf]} { + catch {close $bdf} + return 0 + } + return [expr {$nr >= 1000? 2: 1}] +} + +proc parseblobdiffline {ids line} { + global ctext curdiffstart + global diffnexthead diffnextnote difffilestart + global ctext_file_names ctext_file_lines + global diffinhdr treediffs mergemax diffnparents + global diffencoding jump_to_here targetline diffline currdiffsubmod + global worddiff diffseehere + + if {![string compare -length 5 "diff " $line]} { + if {![regexp {^diff (--cc|--git) } $line m type]} { + set line [encoding convertfrom $line] + $ctext insert end "$line\n" hunksep + continue + } + # start of a new file + set diffinhdr 1 + $ctext insert end "\n" + set curdiffstart [$ctext index "end - 1c"] + lappend ctext_file_names "" + lappend ctext_file_lines [lindex [split $curdiffstart "."] 0] + $ctext insert end "\n" filesep + + if {$type eq "--cc"} { + # start of a new file in a merge diff + set fname [string range $line 10 end] + if {[lsearch -exact $treediffs($ids) $fname] < 0} { + lappend treediffs($ids) $fname + add_flist [list $fname] } - # start of a new file - set diffinhdr 1 - $ctext insert end "\n" - set curdiffstart [$ctext index "end - 1c"] - lappend ctext_file_names "" - lappend ctext_file_lines [lindex [split $curdiffstart "."] 0] - $ctext insert end "\n" filesep - - if {$type eq "--cc"} { - # start of a new file in a merge diff - set fname [string range $line 10 end] - if {[lsearch -exact $treediffs($ids) $fname] < 0} { - lappend treediffs($ids) $fname - add_flist [list $fname] - } + } else { + set line [string range $line 11 end] + # If the name hasn't changed the length will be odd, + # the middle char will be a space, and the two bits either + # side will be a/name and b/name, or "a/name" and "b/name". + # If the name has changed we'll get "rename from" and + # "rename to" or "copy from" and "copy to" lines following + # this, and we'll use them to get the filenames. + # This complexity is necessary because spaces in the + # filename(s) don't get escaped. + set l [string length $line] + set i [expr {$l / 2}] + if {!(($l & 1) && [string index $line $i] eq " " && + [string range $line 2 [expr {$i - 1}]] eq \ + [string range $line [expr {$i + 3}] end])} { + return + } + # unescape if quoted and chop off the a/ from the front + if {[string index $line 0] eq "\""} { + set fname [string range [lindex $line 0] 2 end] } else { - set line [string range $line 11 end] - # If the name hasn't changed the length will be odd, - # the middle char will be a space, and the two bits either - # side will be a/name and b/name, or "a/name" and "b/name". - # If the name has changed we'll get "rename from" and - # "rename to" or "copy from" and "copy to" lines following - # this, and we'll use them to get the filenames. - # This complexity is necessary because spaces in the - # filename(s) don't get escaped. - set l [string length $line] - set i [expr {$l / 2}] - if {!(($l & 1) && [string index $line $i] eq " " && - [string range $line 2 [expr {$i - 1}]] eq \ - [string range $line [expr {$i + 3}] end])} { - continue - } - # unescape if quoted and chop off the a/ from the front - if {[string index $line 0] eq "\""} { - set fname [string range [lindex $line 0] 2 end] - } else { - set fname [string range $line 2 [expr {$i - 1}]] - } + set fname [string range $line 2 [expr {$i - 1}]] } - makediffhdr $fname $ids + } + makediffhdr $fname $ids + + } elseif {![string compare -length 16 "* Unmerged path " $line]} { + set fname [encoding convertfrom [string range $line 16 end]] + $ctext insert end "\n" + set curdiffstart [$ctext index "end - 1c"] + lappend ctext_file_names $fname + lappend ctext_file_lines [lindex [split $curdiffstart "."] 0] + $ctext insert end "$line\n" filesep + set i [lsearch -exact $treediffs($ids) $fname] + if {$i >= 0} { + setinlist difffilestart $i $curdiffstart + } - } elseif {![string compare -length 16 "* Unmerged path " $line]} { - set fname [encoding convertfrom [string range $line 16 end]] - $ctext insert end "\n" - set curdiffstart [$ctext index "end - 1c"] - lappend ctext_file_names $fname - lappend ctext_file_lines [lindex [split $curdiffstart "."] 0] + } elseif {![string compare -length 2 "@@" $line]} { + regexp {^@@+} $line ats + set line [encoding convertfrom $diffencoding $line] + $ctext insert end "$line\n" hunksep + if {[regexp { \+(\d+),\d+ @@} $line m nl]} { + set diffline $nl + } + set diffnparents [expr {[string length $ats] - 1}] + set diffinhdr 0 + + } elseif {![string compare -length 10 "Submodule " $line]} { + # start of a new submodule + if {[regexp -indices "\[0-9a-f\]+\\.\\." $line nameend]} { + set fname [string range $line 10 [expr [lindex $nameend 0] - 2]] + } else { + set fname [string range $line 10 [expr [string first "contains " $line] - 2]] + } + if {$currdiffsubmod != $fname} { + $ctext insert end "\n"; # Add newline after commit message + } + set curdiffstart [$ctext index "end - 1c"] + lappend ctext_file_names "" + if {$currdiffsubmod != $fname} { + lappend ctext_file_lines $fname + makediffhdr $fname $ids + set currdiffsubmod $fname + $ctext insert end "\n$line\n" filesep + } else { $ctext insert end "$line\n" filesep + } + } elseif {![string compare -length 3 " >" $line]} { + set $currdiffsubmod "" + set line [encoding convertfrom $diffencoding $line] + $ctext insert end "$line\n" dresult + } elseif {![string compare -length 3 " <" $line]} { + set $currdiffsubmod "" + set line [encoding convertfrom $diffencoding $line] + $ctext insert end "$line\n" d0 + } elseif {$diffinhdr} { + if {![string compare -length 12 "rename from " $line]} { + set fname [string range $line [expr 6 + [string first " from " $line] ] end] + if {[string index $fname 0] eq "\""} { + set fname [lindex $fname 0] + } + set fname [encoding convertfrom $fname] set i [lsearch -exact $treediffs($ids) $fname] if {$i >= 0} { setinlist difffilestart $i $curdiffstart } - - } elseif {![string compare -length 2 "@@" $line]} { - regexp {^@@+} $line ats - set line [encoding convertfrom $diffencoding $line] - $ctext insert end "$line\n" hunksep - if {[regexp { \+(\d+),\d+ @@} $line m nl]} { - set diffline $nl + } elseif {![string compare -length 10 $line "rename to "] || + ![string compare -length 8 $line "copy to "]} { + set fname [string range $line [expr 4 + [string first " to " $line] ] end] + if {[string index $fname 0] eq "\""} { + set fname [lindex $fname 0] } - set diffnparents [expr {[string length $ats] - 1}] + makediffhdr $fname $ids + } elseif {[string compare -length 3 $line "---"] == 0} { + # do nothing + return + } elseif {[string compare -length 3 $line "+++"] == 0} { set diffinhdr 0 + return + } + $ctext insert end "$line\n" filesep - } elseif {![string compare -length 10 "Submodule " $line]} { - # start of a new submodule - if {[regexp -indices "\[0-9a-f\]+\\.\\." $line nameend]} { - set fname [string range $line 10 [expr [lindex $nameend 0] - 2]] - } else { - set fname [string range $line 10 [expr [string first "contains " $line] - 2]] - } - if {$currdiffsubmod != $fname} { - $ctext insert end "\n"; # Add newline after commit message - } - set curdiffstart [$ctext index "end - 1c"] - lappend ctext_file_names "" - if {$currdiffsubmod != $fname} { - lappend ctext_file_lines $fname - makediffhdr $fname $ids - set currdiffsubmod $fname - $ctext insert end "\n$line\n" filesep - } else { - $ctext insert end "$line\n" filesep - } - } elseif {![string compare -length 3 " >" $line]} { - set $currdiffsubmod "" - set line [encoding convertfrom $diffencoding $line] - $ctext insert end "$line\n" dresult - } elseif {![string compare -length 3 " <" $line]} { - set $currdiffsubmod "" - set line [encoding convertfrom $diffencoding $line] - $ctext insert end "$line\n" d0 - } elseif {$diffinhdr} { - if {![string compare -length 12 "rename from " $line]} { - set fname [string range $line [expr 6 + [string first " from " $line] ] end] - if {[string index $fname 0] eq "\""} { - set fname [lindex $fname 0] - } - set fname [encoding convertfrom $fname] - set i [lsearch -exact $treediffs($ids) $fname] - if {$i >= 0} { - setinlist difffilestart $i $curdiffstart + } else { + set line [string map {\x1A ^Z} \ + [encoding convertfrom $diffencoding $line]] + # parse the prefix - one ' ', '-' or '+' for each parent + set prefix [string range $line 0 [expr {$diffnparents - 1}]] + set tag [expr {$diffnparents > 1? "m": "d"}] + set dowords [expr {$worddiff ne [mc "Line diff"] && $diffnparents == 1}] + set words_pre_markup "" + set words_post_markup "" + if {[string trim $prefix " -+"] eq {}} { + # prefix only has " ", "-" and "+" in it: normal diff line + set num [string first "-" $prefix] + if {$dowords} { + set line [string range $line 1 end] + } + if {$num >= 0} { + # removed line, first parent with line is $num + if {$num >= $mergemax} { + set num "max" } - } elseif {![string compare -length 10 $line "rename to "] || - ![string compare -length 8 $line "copy to "]} { - set fname [string range $line [expr 4 + [string first " to " $line] ] end] - if {[string index $fname 0] eq "\""} { - set fname [lindex $fname 0] + if {$dowords && $worddiff eq [mc "Markup words"]} { + $ctext insert end "\[-$line-\]" $tag$num + } else { + $ctext insert end "$line" $tag$num } - makediffhdr $fname $ids - } elseif {[string compare -length 3 $line "---"] == 0} { - # do nothing - continue - } elseif {[string compare -length 3 $line "+++"] == 0} { - set diffinhdr 0 - continue - } - $ctext insert end "$line\n" filesep - - } else { - set line [string map {\x1A ^Z} \ - [encoding convertfrom $diffencoding $line]] - # parse the prefix - one ' ', '-' or '+' for each parent - set prefix [string range $line 0 [expr {$diffnparents - 1}]] - set tag [expr {$diffnparents > 1? "m": "d"}] - set dowords [expr {$worddiff ne [mc "Line diff"] && $diffnparents == 1}] - set words_pre_markup "" - set words_post_markup "" - if {[string trim $prefix " -+"] eq {}} { - # prefix only has " ", "-" and "+" in it: normal diff line - set num [string first "-" $prefix] - if {$dowords} { - set line [string range $line 1 end] + if {!$dowords} { + $ctext insert end "\n" $tag$num } - if {$num >= 0} { - # removed line, first parent with line is $num - if {$num >= $mergemax} { - set num "max" - } - if {$dowords && $worddiff eq [mc "Markup words"]} { - $ctext insert end "\[-$line-\]" $tag$num - } else { - $ctext insert end "$line" $tag$num - } - if {!$dowords} { - $ctext insert end "\n" $tag$num - } - } else { - set tags {} - if {[string first "+" $prefix] >= 0} { - # added line - lappend tags ${tag}result - if {$diffnparents > 1} { - set num [string first " " $prefix] - if {$num >= 0} { - if {$num >= $mergemax} { - set num "max" - } - lappend tags m$num + } else { + set tags {} + if {[string first "+" $prefix] >= 0} { + # added line + lappend tags ${tag}result + if {$diffnparents > 1} { + set num [string first " " $prefix] + if {$num >= 0} { + if {$num >= $mergemax} { + set num "max" } + lappend tags m$num } - set words_pre_markup "{+" - set words_post_markup "+}" } - if {$targetline ne {}} { - if {$diffline == $targetline} { - set seehere [$ctext index "end - 1 chars"] - set targetline {} - } else { - incr diffline - } - } - if {$dowords && $worddiff eq [mc "Markup words"]} { - $ctext insert end "$words_pre_markup$line$words_post_markup" $tags + set words_pre_markup "{+" + set words_post_markup "+}" + } + if {$targetline ne {}} { + if {$diffline == $targetline} { + set diffseehere [$ctext index "end - 1 chars"] + set targetline {} } else { - $ctext insert end "$line" $tags - } - if {!$dowords} { - $ctext insert end "\n" $tags + incr diffline } } - } elseif {$dowords && $prefix eq "~"} { - $ctext insert end "\n" {} - } else { - # "\ No newline at end of file", - # or something else we don't recognize - $ctext insert end "$line\n" hunksep + if {$dowords && $worddiff eq [mc "Markup words"]} { + $ctext insert end "$words_pre_markup$line$words_post_markup" $tags + } else { + $ctext insert end "$line" $tags + } + if {!$dowords} { + $ctext insert end "\n" $tags + } } + } elseif {$dowords && $prefix eq "~"} { + $ctext insert end "\n" {} + } else { + # "\ No newline at end of file", + # or something else we don't recognize + $ctext insert end "$line\n" hunksep } } - if {[info exists seehere]} { - mark_ctext_line [lindex [split $seehere .] 0] - } - maybe_scroll_ctext [eof $bdf] - $ctext conf -state disabled - if {[eof $bdf]} { - catch {close $bdf} - return 0 - } - return [expr {$nr >= 1000? 2: 1}] } proc changediffdisp {} { @@ -10878,6 +10993,23 @@ proc listrefs {id} { return [list $x $y $z] } +proc add_tag_ctext {tag} { + global ctext cached_tagcontent tagids + + if {![info exists cached_tagcontent($tag)]} { + catch { + set cached_tagcontent($tag) [exec git cat-file -p $tag] + } + } + $ctext insert end "[mc "Tag"]: $tag\n" bold + if {[info exists cached_tagcontent($tag)]} { + set text $cached_tagcontent($tag) + } else { + set text "[mc "Id"]: $tagids($tag)" + } + appendwithlinks $text {} +} + proc showtag {tag isnew} { global ctext cached_tagcontent tagids linknum tagobjid @@ -10888,17 +11020,28 @@ proc showtag {tag isnew} { clear_ctext settabs 0 set linknum 0 - if {![info exists cached_tagcontent($tag)]} { - catch { - set cached_tagcontent($tag) [exec git cat-file -p $tag] - } + add_tag_ctext $tag + maybe_scroll_ctext 1 + $ctext conf -state disabled + init_flist {} +} + +proc showtags {id isnew} { + global idtags ctext linknum + + if {$isnew} { + addtohistory [list showtags $id 0] savectextpos } - if {[info exists cached_tagcontent($tag)]} { - set text $cached_tagcontent($tag) - } else { - set text "[mc "Tag"]: $tag\n[mc "Id"]: $tagids($tag)" + $ctext conf -state normal + clear_ctext + settabs 0 + set linknum 0 + set sep {} + foreach tag $idtags($id) { + $ctext insert end $sep + add_tag_ctext $tag + set sep "\n\n" } - appendwithlinks $text {} maybe_scroll_ctext 1 $ctext conf -state disabled init_flist {} @@ -761,6 +761,12 @@ void finish_active_slot(struct active_request_slot *slot) if (slot->results != NULL) { slot->results->curl_result = slot->curl_result; slot->results->http_code = slot->http_code; +#if LIBCURL_VERSION_NUM >= 0x070a08 + curl_easy_getinfo(slot->curl, CURLINFO_HTTPAUTH_AVAIL, + &slot->results->auth_avail); +#else + slot->results->auth_avail = 0; +#endif } /* Run callback if appropriate */ @@ -54,6 +54,7 @@ struct slot_results { CURLcode curl_result; long http_code; + long auth_avail; }; struct active_request_slot { diff --git a/log-tree.c b/log-tree.c index 8534d91826..e958d0748f 100644 --- a/log-tree.c +++ b/log-tree.c @@ -734,7 +734,7 @@ static int log_tree_diff(struct rev_info *opt, struct commit *commit, struct log if (!opt->diff && !DIFF_OPT_TST(&opt->diffopt, EXIT_WITH_STATUS)) return 0; - parse_commit(commit); + parse_commit_or_die(commit); sha1 = commit->tree->object.sha1; /* Root commit? */ @@ -759,7 +759,7 @@ static int log_tree_diff(struct rev_info *opt, struct commit *commit, struct log * parent, showing summary diff of the others * we merged _in_. */ - parse_commit(parents->item); + parse_commit_or_die(parents->item); diff_tree_sha1(parents->item->tree->object.sha1, sha1, "", &opt->diffopt); log_tree_diff_flush(opt); @@ -774,7 +774,7 @@ static int log_tree_diff(struct rev_info *opt, struct commit *commit, struct log for (;;) { struct commit *parent = parents->item; - parse_commit(parent); + parse_commit_or_die(parent); diff_tree_sha1(parent->tree->object.sha1, sha1, "", &opt->diffopt); log_tree_diff_flush(opt); diff --git a/notes-utils.c b/notes-utils.c index 9107c379d9..7bb3473dbe 100644 --- a/notes-utils.c +++ b/notes-utils.c @@ -18,7 +18,7 @@ void create_notes_commit(struct notes_tree *t, struct commit_list *parents, unsigned char parent_sha1[20]; if (!read_ref(t->ref, parent_sha1)) { struct commit *parent = lookup_commit(parent_sha1); - if (!parent || parse_commit(parent)) + if (parse_commit(parent)) die("Failed to find/parse commit %s", t->ref); commit_list_insert(parent, &parents); } diff --git a/pathspec.c b/pathspec.c index ad1a9f5b28..87b3b82f1f 100644 --- a/pathspec.c +++ b/pathspec.c @@ -128,7 +128,11 @@ static unsigned prefix_pathspec(struct pathspec_item *item, die(_("global 'literal' pathspec setting is incompatible " "with all other global pathspec settings")); - if (elt[0] != ':' || literal_global) { + if (flags & PATHSPEC_LITERAL_PATH) + global_magic = 0; + + if (elt[0] != ':' || literal_global || + (flags & PATHSPEC_LITERAL_PATH)) { ; /* nothing to do */ } else if (elt[1] == '(') { /* longhand */ @@ -193,11 +197,11 @@ static unsigned prefix_pathspec(struct pathspec_item *item, magic |= short_magic; *p_short_magic = short_magic; - /* --noglob-pathspec adds :(literal) _unless_ :(glob) is specifed */ + /* --noglob-pathspec adds :(literal) _unless_ :(glob) is specified */ if (noglob_global && !(magic & PATHSPEC_GLOB)) global_magic |= PATHSPEC_LITERAL; - /* --glob-pathspec is overriden by :(literal) */ + /* --glob-pathspec is overridden by :(literal) */ if ((global_magic & PATHSPEC_GLOB) && (magic & PATHSPEC_LITERAL)) global_magic &= ~PATHSPEC_GLOB; @@ -405,6 +409,9 @@ void parse_pathspec(struct pathspec *pathspec, item[i].magic = prefix_pathspec(item + i, &short_magic, argv + i, flags, prefix, prefixlen, entry); + if ((flags & PATHSPEC_LITERAL_PATH) && + !(magic_mask & PATHSPEC_LITERAL)) + item[i].magic |= PATHSPEC_LITERAL; if (item[i].magic & magic_mask) unsupported_magic(entry, item[i].magic & magic_mask, diff --git a/pathspec.h b/pathspec.h index 944baeb622..a75e9242d1 100644 --- a/pathspec.h +++ b/pathspec.h @@ -58,6 +58,13 @@ struct pathspec { #define PATHSPEC_STRIP_SUBMODULE_SLASH_EXPENSIVE (1<<5) #define PATHSPEC_PREFIX_ORIGIN (1<<6) #define PATHSPEC_KEEP_ORDER (1<<7) +/* + * For the callers that just need pure paths from somewhere else, not + * from command line. Global --*-pathspecs options are ignored. No + * magic is parsed in each pathspec either. If PATHSPEC_LITERAL is + * allowed, then it will automatically set for every pathspec. + */ +#define PATHSPEC_LITERAL_PATH (1<<8) extern void parse_pathspec(struct pathspec *pathspec, unsigned magic_mask, @@ -8,7 +8,7 @@ Leader: Byrial Jensen <byrial@vip.cybercity.dk> Language: de (German) Repository: https://github.com/ralfth/git-po-de Leader: Ralf Thielow <ralf.thielow@googlemail.com> -Members: Thomas Rast <trast@student.ethz.ch> +Members: Thomas Rast <tr@thomasrast.ch> Jan Krüger <jk@jk.gs> Christian Stimming <stimming@tuhh.de> @@ -5,9 +5,9 @@ # msgid "" msgstr "" -"Project-Id-Version: git 1.8.4\n" +"Project-Id-Version: git 1.8.5\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2013-08-06 14:10+0800\n" +"POT-Creation-Date: 2013-11-02 08:06+0800\n" "PO-Revision-Date: 2013-07-28 18:42+0200\n" "Last-Translator: Ralf Thielow <ralf.thielow@gmail.com>\n" "Language-Team: German <>\n" @@ -57,71 +57,76 @@ msgstr "" msgid "git archive --remote <repo> [--exec <cmd>] --list" msgstr "git archive --remote <Repository> [--exec <Programm>] --list" -#: archive.c:323 +#: archive.c:242 builtin/add.c:240 builtin/add.c:556 builtin/rm.c:328 +#, c-format +msgid "pathspec '%s' did not match any files" +msgstr "Pfadspezifikation '%s' stimmt mit keinen Dateien überein" + +#: archive.c:327 msgid "fmt" msgstr "Format" -#: archive.c:323 +#: archive.c:327 msgid "archive format" msgstr "Archivformat" -#: archive.c:324 builtin/log.c:1173 +#: archive.c:328 builtin/log.c:1193 msgid "prefix" msgstr "Prefix" -#: archive.c:325 +#: archive.c:329 msgid "prepend prefix to each pathname in the archive" msgstr "stellt einen Präfix vor jeden Pfadnamen in dem Archiv" -#: archive.c:326 builtin/archive.c:88 builtin/blame.c:2292 -#: builtin/blame.c:2293 builtin/config.c:56 builtin/fast-export.c:673 -#: builtin/fast-export.c:675 builtin/grep.c:714 builtin/hash-object.c:77 -#: builtin/ls-files.c:496 builtin/ls-files.c:499 builtin/notes.c:408 -#: builtin/notes.c:565 builtin/read-tree.c:108 parse-options.h:152 +#: archive.c:330 builtin/archive.c:88 builtin/blame.c:2264 +#: builtin/blame.c:2265 builtin/config.c:58 builtin/fast-export.c:680 +#: builtin/fast-export.c:682 builtin/grep.c:716 builtin/hash-object.c:77 +#: builtin/ls-files.c:486 builtin/ls-files.c:489 builtin/notes.c:408 +#: builtin/notes.c:565 builtin/read-tree.c:108 parse-options.h:154 msgid "file" msgstr "Datei" -#: archive.c:327 builtin/archive.c:89 +#: archive.c:331 builtin/archive.c:89 msgid "write the archive to this file" msgstr "schreibt das Archiv in diese Datei" -#: archive.c:329 +#: archive.c:333 msgid "read .gitattributes in working directory" msgstr "liest .gitattributes aus dem Arbeitsverzeichnis" -#: archive.c:330 +#: archive.c:334 msgid "report archived files on stderr" msgstr "gibt archivierte Dateien in der Standard-Fehlerausgabe aus" -#: archive.c:331 +#: archive.c:335 msgid "store only" msgstr "nur speichern" -#: archive.c:332 +#: archive.c:336 msgid "compress faster" msgstr "schneller komprimieren" -#: archive.c:340 +#: archive.c:344 msgid "compress better" msgstr "besser komprimieren" -#: archive.c:343 +#: archive.c:347 msgid "list supported archive formats" msgstr "listet unterstützte Archivformate auf" -#: archive.c:345 builtin/archive.c:90 builtin/clone.c:85 +#: archive.c:349 builtin/archive.c:90 builtin/clone.c:84 msgid "repo" msgstr "Repository" -#: archive.c:346 builtin/archive.c:91 +#: archive.c:350 builtin/archive.c:91 msgid "retrieve the archive from remote repository <repo>" msgstr "ruft das Archiv von Remote-Repository <Repository> ab" -#: archive.c:347 builtin/archive.c:92 builtin/notes.c:487 +#: archive.c:351 builtin/archive.c:92 builtin/notes.c:487 msgid "command" msgstr "Programm" -#: archive.c:348 builtin/archive.c:93 +#: archive.c:352 builtin/archive.c:93 msgid "path to the remote git-upload-archive command" msgstr "Pfad zum externen \"git-upload-archive\"-Programm" @@ -207,19 +212,19 @@ msgstr "Branch '%s' existiert bereits." msgid "Cannot force update the current branch." msgstr "Kann Aktualisierung des aktuellen Branches nicht erzwingen." -#: branch.c:216 +#: branch.c:215 #, c-format msgid "Cannot setup tracking information; starting point '%s' is not a branch." msgstr "" "Kann Tracking-Informationen nicht einrichten; Startpunkt '%s' ist kein " "Branch." -#: branch.c:218 +#: branch.c:217 #, c-format msgid "the requested upstream branch '%s' does not exist" msgstr "der angeforderte Upstream-Branch '%s' existiert nicht" -#: branch.c:220 +#: branch.c:219 msgid "" "\n" "If you are planning on basing your work on an upstream\n" @@ -240,26 +245,26 @@ msgstr "" "\"git push -u\" verwenden, um den Upstream-Branch beim \"push\"\n" "zu konfigurieren." -#: branch.c:265 +#: branch.c:264 #, c-format msgid "Not a valid object name: '%s'." msgstr "Ungültiger Objekt-Name: '%s'" -#: branch.c:285 +#: branch.c:284 #, c-format msgid "Ambiguous object name: '%s'." msgstr "mehrdeutiger Objekt-Name: '%s'" -#: branch.c:290 +#: branch.c:289 #, c-format msgid "Not a valid branch point: '%s'." msgstr "Ungültiger Branchpunkt: '%s'" -#: branch.c:296 +#: branch.c:295 msgid "Failed to lock ref for update" msgstr "Fehler beim Sperren der Referenz zur Aktualisierung." -#: branch.c:314 +#: branch.c:313 msgid "Failed to write ref" msgstr "Fehler beim Schreiben der Referenz." @@ -273,7 +278,7 @@ msgstr "'%s' sieht nicht wie eine v2 Paketdatei aus" msgid "unrecognized header: %s%s (%d)" msgstr "nicht erkannter Kopfbereich: %s%s (%d)" -#: bundle.c:89 builtin/commit.c:697 +#: bundle.c:89 builtin/commit.c:706 #, c-format msgid "could not open '%s'" msgstr "Konnte '%s' nicht öffnen" @@ -282,9 +287,9 @@ msgstr "Konnte '%s' nicht öffnen" msgid "Repository lacks these prerequisite commits:" msgstr "Dem Repository fehlen folgende vorausgesetzte Commits:" -#: bundle.c:164 sequencer.c:661 sequencer.c:1111 builtin/log.c:331 -#: builtin/log.c:801 builtin/log.c:1399 builtin/log.c:1625 builtin/merge.c:364 -#: builtin/shortlog.c:156 +#: bundle.c:164 sequencer.c:662 sequencer.c:1112 builtin/log.c:332 +#: builtin/log.c:821 builtin/log.c:1418 builtin/log.c:1644 builtin/merge.c:364 +#: builtin/shortlog.c:158 msgid "revision walk setup failed" msgstr "Einrichtung des Revisionsgangs fehlgeschlagen" @@ -310,7 +315,7 @@ msgstr[1] "Das Paket benötigt diese %d Referenzen:" msgid "rev-list died" msgstr "\"rev-list\" abgebrochen" -#: bundle.c:300 builtin/log.c:1310 builtin/shortlog.c:259 +#: bundle.c:300 builtin/log.c:1329 builtin/shortlog.c:261 #, c-format msgid "unrecognized argument: %s" msgstr "nicht erkanntes Argument: %s" @@ -461,7 +466,7 @@ msgstr "" "Fehler in 'diff.dirstat' Konfigurationsvariable gefunden:\n" "%s" -#: diff.c:3487 +#: diff.c:3490 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" @@ -470,7 +475,7 @@ msgstr "" "Fehler beim Parsen des --dirstat/-X Optionsparameters:\n" "%s" -#: diff.c:3501 +#: diff.c:3504 #, c-format msgid "Failed to parse --submodule option parameter: '%s'" msgstr "Fehler beim Parsen des --submodule Optionsparameters: '%s'" @@ -497,17 +502,17 @@ msgstr "konnte temporäre Datei '%s' nicht erstellen: %s" msgid "failed writing detached signature to '%s': %s" msgstr "Fehler beim Schreiben der Signatur nach '%s': %s" -#: grep.c:1623 +#: grep.c:1695 #, c-format msgid "'%s': unable to read %s" msgstr "'%s': konnte nicht lesen %s" -#: grep.c:1640 +#: grep.c:1712 #, c-format msgid "'%s': %s" msgstr "'%s': %s" -#: grep.c:1651 +#: grep.c:1723 #, c-format msgid "'%s': short read %s" msgstr "'%s': read() zu kurz %s" @@ -580,8 +585,8 @@ msgstr "%s: %s - %s" msgid "failed to read the cache" msgstr "Lesen des Zwischenspeichers fehlgeschlagen" -#: merge.c:110 builtin/checkout.c:365 builtin/checkout.c:566 -#: builtin/clone.c:656 +#: merge.c:110 builtin/checkout.c:358 builtin/checkout.c:559 +#: builtin/clone.c:655 msgid "unable to write new index file" msgstr "Konnte neue Staging-Area-Datei nicht schreiben." @@ -630,7 +635,7 @@ msgstr "kann Objekt %s '%s' nicht lesen" msgid "blob expected for %s '%s'" msgstr "Blob erwartet für %s '%s'" -#: merge-recursive.c:774 builtin/clone.c:312 +#: merge-recursive.c:774 builtin/clone.c:311 #, c-format msgid "failed to open '%s'" msgstr "Fehler beim Öffnen von '%s'" @@ -767,7 +772,7 @@ msgstr "%s ausgelassen (Ergebnis des Merges existiert bereits)" msgid "Auto-merging %s" msgstr "automatischer Merge von %s" -#: merge-recursive.c:1634 git-submodule.sh:1118 +#: merge-recursive.c:1634 git-submodule.sh:1125 msgid "submodule" msgstr "Submodul" @@ -866,58 +871,122 @@ msgstr "" msgid "Bad %s value: '%s'" msgstr "Ungültiger %s Wert: '%s'" -#: object.c:204 +#: object.c:202 #, c-format msgid "unable to parse object: %s" msgstr "Konnte Objekt '%s' nicht parsen." -#: parse-options.c:489 +#: parse-options.c:537 msgid "..." msgstr "..." -#: parse-options.c:507 +#: parse-options.c:555 #, c-format msgid "usage: %s" msgstr "Verwendung: %s" #. TRANSLATORS: the colon here should align with the #. one in "usage: %s" translation -#: parse-options.c:511 +#: parse-options.c:559 #, c-format msgid " or: %s" msgstr " oder: %s" -#: parse-options.c:514 +#: parse-options.c:562 #, c-format msgid " %s" msgstr " %s" -#: parse-options.c:548 +#: parse-options.c:596 msgid "-NUM" msgstr "-NUM" -#: pathspec.c:83 +#: pathspec.c:118 +msgid "global 'glob' and 'noglob' pathspec settings are incompatible" +msgstr "Globale Einstellungen zur Pfadspezifikation 'glob' und 'noglob' sind inkompatibel." + +#: pathspec.c:128 +msgid "" +"global 'literal' pathspec setting is incompatible with all other global " +"pathspec settings" +msgstr "Globale Einstellung zur Pfadspezifikation 'literal' ist inkompatibel\n" +"mit allen anderen Optionen." + +#: pathspec.c:158 +msgid "invalid parameter for pathspec magic 'prefix'" +msgstr "ungültiger Parameter für Pfadspezifikationsangabe 'prefix'" + +#: pathspec.c:164 +#, c-format +msgid "Invalid pathspec magic '%.*s' in '%s'" +msgstr "ungültige Pfadspezifikationsangabe '%.*s' in '%s'" + +#: pathspec.c:168 +#, c-format +msgid "Missing ')' at the end of pathspec magic in '%s'" +msgstr "Fehlendes ')' am Ende der Pfadspezifikationsangabe in '%s'" + +#: pathspec.c:186 +#, c-format +msgid "Unimplemented pathspec magic '%c' in '%s'" +msgstr "nicht unterstützte Pfadspezifikationsangabe '%c' in '%s'" + +#: pathspec.c:211 +#, c-format +msgid "%s: 'literal' and 'glob' are incompatible" +msgstr "%s: 'literal' und 'glob' sind inkompatibel" + +#: pathspec.c:222 +#, c-format +msgid "%s: '%s' is outside repository" +msgstr "%s: '%s' liegt außerhalb des Repositories" + +#: pathspec.c:278 #, c-format -msgid "Path '%s' is in submodule '%.*s'" -msgstr "Pfad '%s' befindet sich in Submodul '%.*s'" +msgid "Pathspec '%s' is in submodule '%.*s'" +msgstr "Pfadspezifikation '%s' befindet sich in Submodul '%.*s'" -#: pathspec.c:99 +#. +#. * We may want to substitute "this command" with a command +#. * name. E.g. when add--interactive dies when running +#. * "checkout -p" +#. +#: pathspec.c:340 #, c-format -msgid "'%s' is beyond a symbolic link" -msgstr "'%s' ist hinter einem symbolischen Verweis" +msgid "%s: pathspec magic not supported by this command: %s" +msgstr "%s: Pfadspezifikationsangabe wird von diesem Kommando nicht unterstützt: %s" -#: remote.c:1788 +#: pathspec.c:415 +#, c-format +msgid "pathspec '%s' is beyond a symbolic link" +msgstr "Pfadspezifikation '%s' ist hinter einem symbolischen Verweis" + +#: remote.c:1833 +#, c-format +msgid "Your branch is based on '%s', but the upstream is gone.\n" +msgstr "Ihr Branch basiert auf '%s', aber Upstream-Branch wurde entfernt.\n" + +#: remote.c:1837 +msgid " (use \"git branch --unset-upstream\" to fixup)\n" +msgstr " (benutzen Sie \"git branch --unset-upstream\" zum Beheben)\n" + +#: remote.c:1840 +#, c-format +msgid "Your branch is up-to-date with '%s'.\n" +msgstr "Ihr Branch ist auf dem selben Stand wie '%s'.\n" + +#: remote.c:1844 #, c-format msgid "Your branch is ahead of '%s' by %d commit.\n" msgid_plural "Your branch is ahead of '%s' by %d commits.\n" msgstr[0] "Ihr Branch ist vor '%s' um %d Commit.\n" msgstr[1] "Ihr Branch ist vor '%s' um %d Commits.\n" -#: remote.c:1794 +#: remote.c:1850 msgid " (use \"git push\" to publish your local commits)\n" msgstr " (benutzen Sie \"git push\" um lokale Commits zu publizieren)\n" -#: remote.c:1797 +#: remote.c:1853 #, c-format msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n" msgid_plural "" @@ -927,12 +996,12 @@ msgstr[0] "" msgstr[1] "" "Ihr Branch ist zu '%s' um %d Commits hinterher, und kann vorgespult werden.\n" -#: remote.c:1805 +#: remote.c:1861 msgid " (use \"git pull\" to update your local branch)\n" msgstr "" " (benutzen Sie \"git pull\" um Ihren lokalen Branch zu aktualisieren)\n" -#: remote.c:1808 +#: remote.c:1864 #, c-format msgid "" "Your branch and '%s' have diverged,\n" @@ -947,7 +1016,7 @@ msgstr[1] "" "Ihr Branch und '%s' sind divergiert,\n" "und haben jeweils %d und %d unterschiedliche Commits.\n" -#: remote.c:1818 +#: remote.c:1874 msgid " (use \"git pull\" to merge the remote branch into yours)\n" msgstr "" " (benutzen Sie \"git pull\" um Ihren Branch mit dem Remote-Branch " @@ -992,7 +1061,7 @@ msgstr "" "mit 'git add <Pfade>' oder 'git rm <Pfade>'und tragen Sie das Ergebnis mit\n" "'git commit' ein" -#: sequencer.c:245 sequencer.c:869 sequencer.c:952 +#: sequencer.c:245 sequencer.c:870 sequencer.c:953 #, c-format msgid "Could not write to %s" msgstr "Konnte nicht nach %s schreiben" @@ -1017,197 +1086,197 @@ msgstr "" "Tragen Sie Ihre Änderungen ein oder benutzen Sie \"stash\" um fortzufahren." #. TRANSLATORS: %s will be "revert" or "cherry-pick" -#: sequencer.c:324 +#: sequencer.c:325 #, c-format msgid "%s: Unable to write new index file" msgstr "%s: Konnte neue Staging-Area-Datei nicht schreiben" -#: sequencer.c:355 +#: sequencer.c:356 msgid "Could not resolve HEAD commit\n" msgstr "Konnte Commit von HEAD nicht auflösen\n" -#: sequencer.c:377 +#: sequencer.c:378 msgid "Unable to update cache tree\n" msgstr "Konnte Cache-Verzeichnis nicht aktualisieren\n" -#: sequencer.c:422 +#: sequencer.c:423 #, c-format msgid "Could not parse commit %s\n" msgstr "Konnte Commit %s nicht parsen\n" -#: sequencer.c:427 +#: sequencer.c:428 #, c-format msgid "Could not parse parent commit %s\n" msgstr "Konnte Eltern-Commit %s nicht parsen\n" -#: sequencer.c:493 +#: sequencer.c:494 msgid "Your index file is unmerged." msgstr "Ihre Staging-Area-Datei ist nicht zusammengeführt." -#: sequencer.c:512 +#: sequencer.c:513 #, c-format msgid "Commit %s is a merge but no -m option was given." msgstr "Commit %s ist ein Merge, aber die Option -m wurde nicht angegeben." -#: sequencer.c:520 +#: sequencer.c:521 #, c-format msgid "Commit %s does not have parent %d" msgstr "Commit %s hat keinen Elternteil %d" -#: sequencer.c:524 +#: sequencer.c:525 #, c-format msgid "Mainline was specified but commit %s is not a merge." msgstr "Hauptlinie wurde spezifiziert, aber Commit %s ist kein Merge." #. TRANSLATORS: The first %s will be "revert" or #. "cherry-pick", the second %s a SHA1 -#: sequencer.c:537 +#: sequencer.c:538 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "%s: kann Eltern-Commit %s nicht parsen" -#: sequencer.c:541 +#: sequencer.c:542 #, c-format msgid "Cannot get commit message for %s" msgstr "Kann keine Commit-Beschreibung für %s bekommen" -#: sequencer.c:627 +#: sequencer.c:628 #, c-format msgid "could not revert %s... %s" msgstr "Konnte \"revert\" nicht auf %s ausführen... %s" -#: sequencer.c:628 +#: sequencer.c:629 #, c-format msgid "could not apply %s... %s" msgstr "Konnte %s nicht anwenden... %s" -#: sequencer.c:664 +#: sequencer.c:665 msgid "empty commit set passed" msgstr "leere Menge von Commits übergeben" -#: sequencer.c:672 +#: sequencer.c:673 #, c-format msgid "git %s: failed to read the index" msgstr "git %s: Fehler beim Lesen der Staging-Area" -#: sequencer.c:677 +#: sequencer.c:678 #, c-format msgid "git %s: failed to refresh the index" msgstr "git %s: Fehler beim Aktualisieren der Staging-Area" -#: sequencer.c:735 +#: sequencer.c:736 #, c-format msgid "Cannot %s during a %s" msgstr "Kann %s nicht während eines %s durchführen" -#: sequencer.c:757 +#: sequencer.c:758 #, c-format msgid "Could not parse line %d." msgstr "Konnte Zeile %d nicht parsen." -#: sequencer.c:762 +#: sequencer.c:763 msgid "No commits parsed." msgstr "Keine Commits geparst." -#: sequencer.c:775 +#: sequencer.c:776 #, c-format msgid "Could not open %s" msgstr "Konnte %s nicht öffnen" -#: sequencer.c:779 +#: sequencer.c:780 #, c-format msgid "Could not read %s." msgstr "Konnte %s nicht lesen." -#: sequencer.c:786 +#: sequencer.c:787 #, c-format msgid "Unusable instruction sheet: %s" msgstr "Unbenutzbares Instruktionsblatt: %s" -#: sequencer.c:814 +#: sequencer.c:815 #, c-format msgid "Invalid key: %s" msgstr "Ungültiger Schlüssel: %s" -#: sequencer.c:817 +#: sequencer.c:818 #, c-format msgid "Invalid value for %s: %s" msgstr "Ungültiger Wert für %s: %s" -#: sequencer.c:829 +#: sequencer.c:830 #, c-format msgid "Malformed options sheet: %s" msgstr "Fehlerhaftes Optionsblatt: %s" -#: sequencer.c:850 +#: sequencer.c:851 msgid "a cherry-pick or revert is already in progress" msgstr "\"cherry-pick\" oder \"revert\" ist bereits im Gang" -#: sequencer.c:851 +#: sequencer.c:852 msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" msgstr "versuchen Sie \"git cherry-pick (--continue | --quit | --abort)\"" -#: sequencer.c:855 +#: sequencer.c:856 #, c-format msgid "Could not create sequencer directory %s" msgstr "Konnte \"sequencer\"-Verzeichnis %s nicht erstellen" -#: sequencer.c:871 sequencer.c:956 +#: sequencer.c:872 sequencer.c:957 #, c-format msgid "Error wrapping up %s." msgstr "Fehler beim Einpacken von %s." -#: sequencer.c:890 sequencer.c:1024 +#: sequencer.c:891 sequencer.c:1025 msgid "no cherry-pick or revert in progress" msgstr "kein \"cherry-pick\" oder \"revert\" im Gang" -#: sequencer.c:892 +#: sequencer.c:893 msgid "cannot resolve HEAD" msgstr "kann HEAD nicht auflösen" -#: sequencer.c:894 +#: sequencer.c:895 msgid "cannot abort from a branch yet to be born" msgstr "kann nicht abbrechen: bin auf einem Branch, der noch geboren wird" -#: sequencer.c:916 builtin/apply.c:4061 +#: sequencer.c:917 builtin/apply.c:4061 #, c-format msgid "cannot open %s: %s" msgstr "Kann %s nicht öffnen: %s" -#: sequencer.c:919 +#: sequencer.c:920 #, c-format msgid "cannot read %s: %s" msgstr "Kann %s nicht lesen: %s" -#: sequencer.c:920 +#: sequencer.c:921 msgid "unexpected end of file" msgstr "Unerwartetes Dateiende" -#: sequencer.c:926 +#: sequencer.c:927 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "gespeicherte \"pre-cherry-pick\" HEAD Datei '%s' ist beschädigt" -#: sequencer.c:949 +#: sequencer.c:950 #, c-format msgid "Could not format %s." msgstr "Konnte %s nicht formatieren." -#: sequencer.c:1092 +#: sequencer.c:1093 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "%s: %s kann nicht in \"cherry-pick\" benutzt werden" -#: sequencer.c:1095 +#: sequencer.c:1096 #, c-format msgid "%s: bad revision" msgstr "%s: ungültiger Commit" -#: sequencer.c:1129 +#: sequencer.c:1130 msgid "Can't revert as initial commit" msgstr "Kann nicht als allerersten Commit einen Revert ausführen." -#: sequencer.c:1130 +#: sequencer.c:1131 msgid "Can't cherry-pick into empty head" msgstr "Kann nicht als allerersten Commit einen Cherry-Pick ausführen." @@ -1236,275 +1305,368 @@ msgstr "" "indem Sie \"git config advice.objectNameWarning false\"\n" "ausführen." -#: sha1_name.c:1097 +#: sha1_name.c:1112 msgid "HEAD does not point to a branch" msgstr "HEAD zeigt auf keinen Branch" -#: sha1_name.c:1100 +#: sha1_name.c:1115 #, c-format msgid "No such branch: '%s'" msgstr "Kein solcher Branch '%s'" -#: sha1_name.c:1102 +#: sha1_name.c:1117 #, c-format msgid "No upstream configured for branch '%s'" msgstr "Kein Upstream-Branch für Branch '%s' konfiguriert." -#: sha1_name.c:1106 +#: sha1_name.c:1121 #, c-format msgid "Upstream branch '%s' not stored as a remote-tracking branch" msgstr "Upstream-Branch '%s' ist nicht als Remote-Tracking-Branch gespeichert" -#: wrapper.c:408 +#: submodule.c:64 submodule.c:98 +msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" +msgstr "Kann nicht zusammengeführte .gitmodules-Datei nicht ändern, lösen\n" +"Sie zuerst die Konflikte auf" + +#: submodule.c:68 submodule.c:102 +#, c-format +msgid "Could not find section in .gitmodules where path=%s" +msgstr "Konnte keine Sektion in .gitmodules mit Pfad \"%s\" finden" + +#. Maybe the user already did that, don't error out here +#: submodule.c:76 +#, c-format +msgid "Could not update .gitmodules entry %s" +msgstr "Konnte Eintrag '%s' in .gitmodules nicht aktualisieren" + +#. Maybe the user already did that, don't error out here +#: submodule.c:109 +#, c-format +msgid "Could not remove .gitmodules entry for %s" +msgstr "Konnte Eintrag '%s' nicht aus .gitmodules entfernen" + +#: submodule.c:127 +msgid "could not find .gitmodules in index" +msgstr "Konnte .gitmodules nicht in der Staging-Area finden" + +#: submodule.c:133 +msgid "reading updated .gitmodules failed" +msgstr "Lesen der aktualisierten .gitmodules-Datei fehlgeschlagen" + +#: submodule.c:135 +msgid "unable to stat updated .gitmodules" +msgstr "Konnte aktualisierte .gitmodules-Datei nicht lesen" + +#: submodule.c:139 +msgid "unable to remove .gitmodules from index" +msgstr "Konnte .gitmodules nicht aus der Staging-Area entfernen" + +#: submodule.c:141 +msgid "adding updated .gitmodules failed" +msgstr "Konnte aktualisierte .gitmodules-Datei nicht hinzufügen" + +#: submodule.c:143 +msgid "staging updated .gitmodules failed" +msgstr "Konnte aktualisierte .gitmodules-Datei nicht zum Commit vormerken" + +#: submodule.c:1144 builtin/init-db.c:363 +#, c-format +msgid "Could not create git link %s" +msgstr "Konnte git-Verweis %s nicht erstellen" + +#: submodule.c:1155 +#, c-format +msgid "Could not set core.worktree in %s" +msgstr "Konnte core.worktree in '%s' nicht setzen." + +#: urlmatch.c:120 +msgid "invalid URL scheme name or missing '://' suffix" +msgstr "Ungültiges URL-Schema oder Suffix '://' fehlt" + +#: urlmatch.c:144 urlmatch.c:297 urlmatch.c:356 +#, c-format +msgid "invalid %XX escape sequence" +msgstr "ungültige Escape-Sequenz %XX" + +#: urlmatch.c:172 +msgid "missing host and scheme is not 'file:'" +msgstr "fehlender Host und Schema ist nicht 'file:'" + +#: urlmatch.c:189 +msgid "a 'file:' URL may not have a port number" +msgstr "eine 'file:' URL darf keine Portnummer enthalten" + +#: urlmatch.c:199 +msgid "invalid characters in host name" +msgstr "Hostname enthält ungültige Zeichen" + +#: urlmatch.c:244 urlmatch.c:255 +msgid "invalid port number" +msgstr "ungültige Portnummer" + +#: urlmatch.c:322 +msgid "invalid '..' path segment" +msgstr "ungültiges '..' Pfadsegment" + +#: wrapper.c:422 #, c-format msgid "unable to access '%s': %s" msgstr "konnte nicht auf '%s' zugreifen: %s" -#: wrapper.c:429 +#: wrapper.c:443 #, c-format msgid "unable to access '%s'" msgstr "konnte nicht auf '%s' zugreifen" -#: wrapper.c:440 +#: wrapper.c:454 #, c-format msgid "unable to look up current user in the passwd file: %s" msgstr "konnte aktuellen Benutzer nicht in Passwort-Datei finden: %s" -#: wrapper.c:441 +#: wrapper.c:455 msgid "no such user" msgstr "kein solcher Benutzer" -#: wt-status.c:141 +#: wt-status.c:146 msgid "Unmerged paths:" msgstr "Nicht zusammengeführte Pfade:" -#: wt-status.c:168 wt-status.c:195 +#: wt-status.c:173 wt-status.c:200 #, c-format msgid " (use \"git reset %s <file>...\" to unstage)" msgstr "" " (benutzen Sie \"git reset %s <Datei>...\" zum Entfernen aus der Staging-" "Area)" -#: wt-status.c:170 wt-status.c:197 +#: wt-status.c:175 wt-status.c:202 msgid " (use \"git rm --cached <file>...\" to unstage)" msgstr "" " (benutzen Sie \"git rm --cached <Datei>...\" zum Entfernen aus der Staging-" "Area)" -#: wt-status.c:174 +#: wt-status.c:179 msgid " (use \"git add <file>...\" to mark resolution)" msgstr "" " (benutzen Sie \"git add/rm <Datei>...\" um die Auflösung zu markieren)" -#: wt-status.c:176 wt-status.c:180 +#: wt-status.c:181 wt-status.c:185 msgid " (use \"git add/rm <file>...\" as appropriate to mark resolution)" msgstr "" " (benutzen Sie \"git add/rm <Datei>...\" um die Auflösung entsprechend zu " "markieren)" -#: wt-status.c:178 +#: wt-status.c:183 msgid " (use \"git rm <file>...\" to mark resolution)" msgstr "" " (benutzen Sie \"git add/rm <Datei>...\" um die Auflösung zu markieren)" -#: wt-status.c:189 +#: wt-status.c:194 msgid "Changes to be committed:" msgstr "zum Commit vorgemerkte Änderungen:" -#: wt-status.c:207 +#: wt-status.c:212 msgid "Changes not staged for commit:" msgstr "Änderungen, die nicht zum Commit vorgemerkt sind:" -#: wt-status.c:211 +#: wt-status.c:216 msgid " (use \"git add <file>...\" to update what will be committed)" msgstr "" " (benutzen Sie \"git add <Datei>...\" um die Änderungen zum Commit " "vorzumerken)" -#: wt-status.c:213 +#: wt-status.c:218 msgid " (use \"git add/rm <file>...\" to update what will be committed)" msgstr "" " (benutzen Sie \"git add/rm <Datei>...\" um die Änderungen zum Commit " "vorzumerken)" -#: wt-status.c:214 +#: wt-status.c:219 msgid "" " (use \"git checkout -- <file>...\" to discard changes in working directory)" msgstr "" " (benutzen Sie \"git checkout -- <Datei>...\" um die Änderungen im " "Arbeitsverzeichnis zu verwerfen)" -#: wt-status.c:216 +#: wt-status.c:221 msgid " (commit or discard the untracked or modified content in submodules)" msgstr "" " (committen oder verwerfen Sie den unbeobachteten oder geänderten Inhalt in " "den Submodulen)" -#: wt-status.c:228 +#: wt-status.c:233 #, c-format msgid " (use \"git %s <file>...\" to include in what will be committed)" msgstr "" " (benutzen Sie \"git %s <Datei>...\" um die Änderungen zum Commit " "vorzumerken)" -#: wt-status.c:245 +#: wt-status.c:250 msgid "bug" msgstr "Fehler" -#: wt-status.c:250 +#: wt-status.c:255 msgid "both deleted:" msgstr "beide gelöscht:" -#: wt-status.c:251 +#: wt-status.c:256 msgid "added by us:" msgstr "von uns hinzugefügt:" -#: wt-status.c:252 +#: wt-status.c:257 msgid "deleted by them:" msgstr "von denen gelöscht:" -#: wt-status.c:253 +#: wt-status.c:258 msgid "added by them:" msgstr "von denen hinzugefügt:" -#: wt-status.c:254 +#: wt-status.c:259 msgid "deleted by us:" msgstr "von uns gelöscht:" -#: wt-status.c:255 +#: wt-status.c:260 msgid "both added:" msgstr "von beiden hinzugefügt:" -#: wt-status.c:256 +#: wt-status.c:261 msgid "both modified:" msgstr "von beiden geändert:" -#: wt-status.c:286 +#: wt-status.c:291 msgid "new commits, " msgstr "neue Commits, " -#: wt-status.c:288 +#: wt-status.c:293 msgid "modified content, " msgstr "geänderter Inhalt, " -#: wt-status.c:290 +#: wt-status.c:295 msgid "untracked content, " msgstr "unbeobachteter Inhalt, " -#: wt-status.c:307 +#: wt-status.c:312 #, c-format msgid "new file: %s" msgstr "neue Datei: %s" -#: wt-status.c:310 +#: wt-status.c:315 #, c-format msgid "copied: %s -> %s" msgstr "kopiert: %s -> %s" -#: wt-status.c:313 +#: wt-status.c:318 #, c-format msgid "deleted: %s" msgstr "gelöscht: %s" -#: wt-status.c:316 +#: wt-status.c:321 #, c-format msgid "modified: %s" msgstr "geändert: %s" -#: wt-status.c:319 +#: wt-status.c:324 #, c-format msgid "renamed: %s -> %s" msgstr "umbenannt: %s -> %s" -#: wt-status.c:322 +#: wt-status.c:327 #, c-format msgid "typechange: %s" msgstr "Typänderung: %s" -#: wt-status.c:325 +#: wt-status.c:330 #, c-format msgid "unknown: %s" msgstr "unbekannt: %s" -#: wt-status.c:328 +#: wt-status.c:333 #, c-format msgid "unmerged: %s" msgstr "nicht zusammengeführt: %s" -#: wt-status.c:331 +#: wt-status.c:336 #, c-format msgid "bug: unhandled diff status %c" msgstr "Fehler: unbehandelter Differenz-Status %c" -#: wt-status.c:803 +#: wt-status.c:703 +msgid "Submodules changed but not updated:" +msgstr "Submodule geändert, aber nicht aktualisiert:" + +#: wt-status.c:705 +msgid "Submodule changes to be committed:" +msgstr "Änderungen in Submodul zum Committen:" + +#: wt-status.c:848 msgid "You have unmerged paths." msgstr "Sie haben nicht zusammengeführte Pfade." -#: wt-status.c:806 +#: wt-status.c:851 msgid " (fix conflicts and run \"git commit\")" msgstr " (beheben Sie die Konflikte und führen Sie \"git commit\" aus)" -#: wt-status.c:809 +#: wt-status.c:854 msgid "All conflicts fixed but you are still merging." msgstr "Alle Konflikte sind behoben, aber Sie sind immer noch beim Merge." -#: wt-status.c:812 +#: wt-status.c:857 msgid " (use \"git commit\" to conclude merge)" msgstr " (benutzen Sie \"git commit\" um den Merge abzuschließen)" -#: wt-status.c:822 +#: wt-status.c:867 msgid "You are in the middle of an am session." msgstr "Eine \"am\"-Sitzung ist im Gange." -#: wt-status.c:825 +#: wt-status.c:870 msgid "The current patch is empty." msgstr "Der aktuelle Patch ist leer." -#: wt-status.c:829 +#: wt-status.c:874 msgid " (fix conflicts and then run \"git am --continue\")" msgstr "" " (beheben Sie die Konflikte und führen Sie dann \"git am --continue\" aus)" -#: wt-status.c:831 +#: wt-status.c:876 msgid " (use \"git am --skip\" to skip this patch)" msgstr " (benutzen Sie \"git am --skip\" um diesen Patch auszulassen)" -#: wt-status.c:833 +#: wt-status.c:878 msgid " (use \"git am --abort\" to restore the original branch)" msgstr "" " (benutzen Sie \"git am --abort\" um den ursprünglichen Branch " "wiederherzustellen)" -#: wt-status.c:893 wt-status.c:910 +#: wt-status.c:938 wt-status.c:955 #, c-format msgid "You are currently rebasing branch '%s' on '%s'." msgstr "Sie sind gerade beim Rebase von Branch '%s' auf '%s'." -#: wt-status.c:898 wt-status.c:915 +#: wt-status.c:943 wt-status.c:960 msgid "You are currently rebasing." msgstr "Sie sind gerade beim Rebase." -#: wt-status.c:901 +#: wt-status.c:946 msgid " (fix conflicts and then run \"git rebase --continue\")" msgstr "" " (beheben Sie die Konflikte und führen Sie dann \"git rebase --continue\" " "aus)" -#: wt-status.c:903 +#: wt-status.c:948 msgid " (use \"git rebase --skip\" to skip this patch)" msgstr " (benutzen Sie \"git rebase --skip\" um diesen Patch auszulassen)" -#: wt-status.c:905 +#: wt-status.c:950 msgid " (use \"git rebase --abort\" to check out the original branch)" msgstr "" " (benutzen Sie \"git rebase --abort\" um den ursprünglichen Branch " "auszuchecken)" -#: wt-status.c:918 +#: wt-status.c:963 msgid " (all conflicts fixed: run \"git rebase --continue\")" msgstr " (alle Konflikte behoben: führen Sie \"git rebase --continue\" aus)" -#: wt-status.c:922 +#: wt-status.c:967 #, c-format msgid "" "You are currently splitting a commit while rebasing branch '%s' on '%s'." @@ -1512,128 +1674,129 @@ msgstr "" "Sie teilen gerade einen Commit auf, während ein Rebase von Branch '%s' auf " "'%s' im Gange ist." -#: wt-status.c:927 +#: wt-status.c:972 msgid "You are currently splitting a commit during a rebase." msgstr "Sie teilen gerade einen Commit während eines Rebase auf." -#: wt-status.c:930 +#: wt-status.c:975 msgid " (Once your working directory is clean, run \"git rebase --continue\")" msgstr "" " (Sobald Ihr Arbeitsverzeichnis unverändert ist, führen Sie \"git rebase --" "continue\" aus)" -#: wt-status.c:934 +#: wt-status.c:979 #, c-format msgid "You are currently editing a commit while rebasing branch '%s' on '%s'." msgstr "" "Sie editieren gerade einen Commit während eines Rebase von Branch '%s' auf " "'%s'." -#: wt-status.c:939 +#: wt-status.c:984 msgid "You are currently editing a commit during a rebase." msgstr "Sie editieren gerade einen Commit während eines Rebase." -#: wt-status.c:942 +#: wt-status.c:987 msgid " (use \"git commit --amend\" to amend the current commit)" msgstr "" " (benutzen Sie \"git commit --amend\" um den aktuellen Commit nachzubessern)" -#: wt-status.c:944 +#: wt-status.c:989 msgid "" " (use \"git rebase --continue\" once you are satisfied with your changes)" msgstr "" " (benutzen Sie \"git rebase --continue\" sobald Ihre Änderungen " "abgeschlossen sind)" -#: wt-status.c:954 -msgid "You are currently cherry-picking." -msgstr "Sie führen gerade \"cherry-pick\" aus." +#: wt-status.c:999 +#, c-format +msgid "You are currently cherry-picking commit %s." +msgstr "Sie führen gerade \"cherry-pick\" von Commit %s aus." -#: wt-status.c:958 +#: wt-status.c:1004 msgid " (fix conflicts and run \"git cherry-pick --continue\")" msgstr "" " (beheben Sie die Konflikte und führen Sie dann \"git cherry-pick --continue" "\" aus)" -#: wt-status.c:961 +#: wt-status.c:1007 msgid " (all conflicts fixed: run \"git cherry-pick --continue\")" msgstr "" " (alle Konflikte behoben: führen Sie \"git cherry-pick --continue\" aus)" -#: wt-status.c:963 +#: wt-status.c:1009 msgid " (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)" msgstr "" " (benutzen Sie \"git cherry-pick --abort\" um die Cherry-Pick-Operation " "abzubrechen)" -#: wt-status.c:972 +#: wt-status.c:1018 #, c-format msgid "You are currently reverting commit %s." msgstr "Sie sind gerade an einem Revert von Commit '%s'." -#: wt-status.c:977 +#: wt-status.c:1023 msgid " (fix conflicts and run \"git revert --continue\")" msgstr "" " (beheben Sie die Konflikte und führen Sie dann \"git revert --continue\" " "aus)" -#: wt-status.c:980 +#: wt-status.c:1026 msgid " (all conflicts fixed: run \"git revert --continue\")" msgstr " (alle Konflikte behoben: führen Sie \"git revert --continue\" aus)" -#: wt-status.c:982 +#: wt-status.c:1028 msgid " (use \"git revert --abort\" to cancel the revert operation)" msgstr "" " (benutzen Sie \"git revert --abort\" um die Revert-Operation abzubrechen)" -#: wt-status.c:993 +#: wt-status.c:1039 #, c-format msgid "You are currently bisecting, started from branch '%s'." msgstr "Sie sind gerade bei einer binären Suche, gestartet von Branch '%s'." -#: wt-status.c:997 +#: wt-status.c:1043 msgid "You are currently bisecting." msgstr "Sie sind gerade bei einer binären Suche." -#: wt-status.c:1000 +#: wt-status.c:1046 msgid " (use \"git bisect reset\" to get back to the original branch)" msgstr "" " (benutzen Sie \"git bisect reset\" um zum ursprünglichen Branch " "zurückzukehren)" -#: wt-status.c:1173 +#: wt-status.c:1221 msgid "On branch " msgstr "Auf Branch " -#: wt-status.c:1180 +#: wt-status.c:1228 msgid "rebase in progress; onto " msgstr "Rebase im Gange; auf " -#: wt-status.c:1187 +#: wt-status.c:1235 msgid "HEAD detached at " msgstr "HEAD losgelöst bei " -#: wt-status.c:1189 +#: wt-status.c:1237 msgid "HEAD detached from " msgstr "HEAD losgelöst von " -#: wt-status.c:1192 +#: wt-status.c:1240 msgid "Not currently on any branch." msgstr "Im Moment auf keinem Branch." -#: wt-status.c:1209 +#: wt-status.c:1257 msgid "Initial commit" msgstr "Initialer Commit" -#: wt-status.c:1223 +#: wt-status.c:1271 msgid "Untracked files" msgstr "Unbeobachtete Dateien" -#: wt-status.c:1225 +#: wt-status.c:1273 msgid "Ignored files" msgstr "Ignorierte Dateien" -#: wt-status.c:1229 +#: wt-status.c:1277 #, c-format msgid "" "It took %.2f seconds to enumerate untracked files. 'status -uno'\n" @@ -1644,32 +1807,32 @@ msgstr "" "'status -uno' könnte das beschleunigen, aber Sie müssen darauf achten,\n" "neue Dateien selbstständig hinzuzufügen (siehe 'git help status')." -#: wt-status.c:1235 +#: wt-status.c:1283 #, c-format msgid "Untracked files not listed%s" msgstr "Unbeobachtete Dateien nicht aufgelistet%s" -#: wt-status.c:1237 +#: wt-status.c:1285 msgid " (use -u option to show untracked files)" msgstr " (benutzen Sie die Option -u um unbeobachteten Dateien anzuzeigen)" -#: wt-status.c:1243 +#: wt-status.c:1291 msgid "No changes" msgstr "Keine Änderungen" -#: wt-status.c:1248 +#: wt-status.c:1296 #, c-format msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n" msgstr "" "keine Änderungen zum Commit vorgemerkt (benutzen Sie \"git add\" und/oder " "\"git commit -a\")\n" -#: wt-status.c:1251 +#: wt-status.c:1299 #, c-format msgid "no changes added to commit\n" msgstr "keine Änderungen zum Commit vorgemerkt\n" -#: wt-status.c:1254 +#: wt-status.c:1302 #, c-format msgid "" "nothing added to commit but untracked files present (use \"git add\" to " @@ -1678,56 +1841,60 @@ msgstr "" "nichts zum Commit vorgemerkt, aber es gibt unbeobachtete Dateien (benutzen " "Sie \"git add\" zum Beobachten)\n" -#: wt-status.c:1257 +#: wt-status.c:1305 #, c-format msgid "nothing added to commit but untracked files present\n" msgstr "nichts zum Commit vorgemerkt, aber es gibt unbeobachtete Dateien\n" -#: wt-status.c:1260 +#: wt-status.c:1308 #, c-format msgid "nothing to commit (create/copy files and use \"git add\" to track)\n" msgstr "" "nichts zu committen (Erstellen/Kopieren Sie Dateien und benutzen Sie \"git " "add\" zum Beobachten)\n" -#: wt-status.c:1263 wt-status.c:1268 +#: wt-status.c:1311 wt-status.c:1316 #, c-format msgid "nothing to commit\n" msgstr "nichts zu committen\n" -#: wt-status.c:1266 +#: wt-status.c:1314 #, c-format msgid "nothing to commit (use -u to show untracked files)\n" msgstr "" "nichts zu committen (benutzen Sie die Option -u, um unbeobachtete Dateien " "anzuzeigen)\n" -#: wt-status.c:1270 +#: wt-status.c:1318 #, c-format msgid "nothing to commit, working directory clean\n" msgstr "nichts zu committen, Arbeitsverzeichnis unverändert\n" -#: wt-status.c:1378 +#: wt-status.c:1427 msgid "HEAD (no branch)" msgstr "HEAD (kein Branch)" -#: wt-status.c:1384 +#: wt-status.c:1433 msgid "Initial commit on " msgstr "Initialer Commit auf " -#: wt-status.c:1399 +#: wt-status.c:1463 +msgid "gone" +msgstr "entfernt" + +#: wt-status.c:1465 msgid "behind " msgstr "hinterher " -#: wt-status.c:1402 wt-status.c:1405 +#: wt-status.c:1468 wt-status.c:1471 msgid "ahead " msgstr "voraus " -#: wt-status.c:1407 +#: wt-status.c:1473 msgid ", behind " msgstr ", hinterher " -#: compat/precompose_utf8.c:58 builtin/clone.c:351 +#: compat/precompose_utf8.c:55 builtin/clone.c:350 #, c-format msgid "failed to unlink '%s'" msgstr "Konnte '%s' nicht entfernen." @@ -1813,7 +1980,7 @@ msgstr "" msgid "unexpected diff status %c" msgstr "unerwarteter Differenz-Status %c" -#: builtin/add.c:149 builtin/commit.c:252 +#: builtin/add.c:149 builtin/commit.c:260 msgid "updating files failed" msgstr "Aktualisierung der Dateien fehlgeschlagen" @@ -1822,147 +1989,142 @@ msgstr "Aktualisierung der Dateien fehlgeschlagen" msgid "remove '%s'\n" msgstr "lösche '%s'\n" -#: builtin/add.c:253 +#: builtin/add.c:237 msgid "Unstaged changes after refreshing the index:" msgstr "" "Nicht zum Commit vorgemerkte Änderungen nach Aktualisierung der Staging-Area:" -#: builtin/add.c:256 builtin/add.c:573 builtin/rm.c:337 -#, c-format -msgid "pathspec '%s' did not match any files" -msgstr "Pfadspezifikation '%s' stimmt mit keinen Dateien überein" - -#: builtin/add.c:339 +#: builtin/add.c:299 msgid "Could not read the index" msgstr "Konnte die Staging-Area nicht lesen" -#: builtin/add.c:350 +#: builtin/add.c:310 #, c-format msgid "Could not open '%s' for writing." msgstr "Konnte '%s' nicht zum Schreiben öffnen." -#: builtin/add.c:354 +#: builtin/add.c:314 msgid "Could not write patch" msgstr "Konnte Patch nicht schreiben" -#: builtin/add.c:359 +#: builtin/add.c:319 #, c-format msgid "Could not stat '%s'" msgstr "Konnte Verzeichnis '%s' nicht lesen" -#: builtin/add.c:361 +#: builtin/add.c:321 msgid "Empty patch. Aborted." msgstr "Leerer Patch. Abgebrochen." -#: builtin/add.c:367 +#: builtin/add.c:327 #, c-format msgid "Could not apply '%s'" msgstr "Konnte '%s' nicht anwenden." -#: builtin/add.c:377 +#: builtin/add.c:337 msgid "The following paths are ignored by one of your .gitignore files:\n" msgstr "" "Die folgenden Pfade werden durch eine Ihrer \".gitignore\" Dateien " "ignoriert:\n" -#: builtin/add.c:394 builtin/clean.c:875 builtin/fetch.c:78 builtin/mv.c:63 -#: builtin/prune-packed.c:73 builtin/push.c:451 builtin/remote.c:1253 -#: builtin/rm.c:268 +#: builtin/add.c:354 builtin/clean.c:875 builtin/fetch.c:92 builtin/mv.c:66 +#: builtin/prune-packed.c:73 builtin/push.c:459 builtin/remote.c:1253 +#: builtin/rm.c:269 msgid "dry run" msgstr "Probelauf" -#: builtin/add.c:395 builtin/apply.c:4410 builtin/check-ignore.c:19 -#: builtin/commit.c:1220 builtin/count-objects.c:95 builtin/fsck.c:613 -#: builtin/log.c:1573 builtin/mv.c:62 builtin/read-tree.c:113 +#: builtin/add.c:355 builtin/apply.c:4410 builtin/check-ignore.c:19 +#: builtin/commit.c:1249 builtin/count-objects.c:95 builtin/fsck.c:612 +#: builtin/log.c:1592 builtin/mv.c:65 builtin/read-tree.c:113 msgid "be verbose" msgstr "erweiterte Ausgaben" -#: builtin/add.c:397 +#: builtin/add.c:357 msgid "interactive picking" msgstr "interaktives Auswählen" -#: builtin/add.c:398 builtin/checkout.c:1073 builtin/reset.c:261 +#: builtin/add.c:358 builtin/checkout.c:1109 builtin/reset.c:272 msgid "select hunks interactively" msgstr "Blöcke interaktiv auswählen" -#: builtin/add.c:399 +#: builtin/add.c:359 msgid "edit current diff and apply" msgstr "aktuelle Unterschiede editieren und anwenden" -#: builtin/add.c:400 +#: builtin/add.c:360 msgid "allow adding otherwise ignored files" msgstr "erlaubt das Hinzufügen andernfalls ignorierter Dateien" -#: builtin/add.c:401 +#: builtin/add.c:361 msgid "update tracked files" msgstr "aktualisiert beobachtete Dateien" -#: builtin/add.c:402 +#: builtin/add.c:362 msgid "record only the fact that the path will be added later" msgstr "speichert nur, dass der Pfad später hinzugefügt werden soll" -#: builtin/add.c:403 +#: builtin/add.c:363 msgid "add changes from all tracked and untracked files" msgstr "" "fügt Änderungen von allen beobachteten und unbeobachteten Dateien hinzu" #. takes no arguments -#: builtin/add.c:406 +#: builtin/add.c:366 msgid "ignore paths removed in the working tree (same as --no-all)" msgstr "ignoriert gelöschte Pfade im Arbeitsverzeichnis (genau wie --no-all)" -#: builtin/add.c:408 +#: builtin/add.c:368 msgid "don't add, only refresh the index" msgstr "fügt nichts hinzu, aktualisiert nur die Staging-Area" -#: builtin/add.c:409 +#: builtin/add.c:369 msgid "just skip files which cannot be added because of errors" msgstr "" "überspringt Dateien, die aufgrund von Fehlern nicht hinzugefügt werden " "konnten" -#: builtin/add.c:410 +#: builtin/add.c:370 msgid "check if - even missing - files are ignored in dry run" msgstr "prüft ob - auch fehlende - Dateien im Probelauf ignoriert werden" -#: builtin/add.c:432 +#: builtin/add.c:392 #, c-format msgid "Use -f if you really want to add them.\n" msgstr "Verwenden Sie -f wenn Sie diese wirklich hinzufügen möchten.\n" -#: builtin/add.c:433 +#: builtin/add.c:393 msgid "no files added" msgstr "keine Dateien hinzugefügt" -#: builtin/add.c:439 +#: builtin/add.c:399 msgid "adding files failed" msgstr "Hinzufügen von Dateien fehlgeschlagen" -#: builtin/add.c:478 +#: builtin/add.c:438 msgid "-A and -u are mutually incompatible" msgstr "Die Optionen -A und -u sind zueinander inkompatibel." -#: builtin/add.c:496 +#: builtin/add.c:456 msgid "Option --ignore-missing can only be used together with --dry-run" msgstr "" "Die Option --ignore-missing kann nur zusammen mit --dry-run verwendet werden." -#: builtin/add.c:526 +#: builtin/add.c:486 #, c-format msgid "Nothing specified, nothing added.\n" msgstr "Nichts spezifiziert, nichts hinzugefügt.\n" -#: builtin/add.c:527 +#: builtin/add.c:487 #, c-format msgid "Maybe you wanted to say 'git add .'?\n" msgstr "Wollten Sie vielleicht 'git add .' sagen?\n" -#: builtin/add.c:533 builtin/check-ignore.c:161 builtin/clean.c:919 -#: builtin/commit.c:312 builtin/mv.c:82 builtin/rm.c:297 +#: builtin/add.c:492 builtin/check-ignore.c:172 builtin/clean.c:919 +#: builtin/commit.c:320 builtin/mv.c:86 builtin/reset.c:224 builtin/rm.c:299 msgid "index file corrupt" msgstr "Staging-Area-Datei beschädigt" -#: builtin/add.c:605 builtin/apply.c:4506 builtin/mv.c:229 builtin/rm.c:432 +#: builtin/add.c:589 builtin/apply.c:4506 builtin/mv.c:259 builtin/rm.c:432 msgid "Unable to write new index file" msgstr "Konnte neue Staging-Area-Datei nicht schreiben." @@ -2220,7 +2382,7 @@ msgstr "%s: Patch konnte nicht angewendet werden" msgid "Checking patch %s..." msgstr "Prüfe Patch %s..." -#: builtin/apply.c:3680 builtin/checkout.c:216 builtin/reset.c:127 +#: builtin/apply.c:3680 builtin/checkout.c:213 builtin/reset.c:127 #, c-format msgid "make_cache_entry failed for path '%s'" msgstr "make_cache_entry für Pfad '%s' fehlgeschlagen" @@ -2300,8 +2462,8 @@ msgstr "nicht erkannte Eingabe" msgid "unable to read index file" msgstr "Konnte Staging-Area-Datei nicht lesen" -#: builtin/apply.c:4357 builtin/apply.c:4360 builtin/clone.c:91 -#: builtin/fetch.c:63 +#: builtin/apply.c:4357 builtin/apply.c:4360 builtin/clone.c:90 +#: builtin/fetch.c:77 msgid "path" msgstr "Pfad" @@ -2374,7 +2536,7 @@ msgstr "" "erstellt eine temporäre Staging-Area basierend auf den integrierten Staging-" "Area-Informationen" -#: builtin/apply.c:4389 builtin/checkout-index.c:197 builtin/ls-files.c:462 +#: builtin/apply.c:4389 builtin/checkout-index.c:197 builtin/ls-files.c:452 msgid "paths are separated with NUL character" msgstr "Pfade sind getrennt durch NUL Zeichen" @@ -2508,104 +2670,104 @@ msgstr "führt 'git bisect next' aus" msgid "update BISECT_HEAD instead of checking out the current commit" msgstr "aktualisiert BISECT_HEAD, anstatt den aktuellen Commit auszuchecken" -#: builtin/blame.c:26 +#: builtin/blame.c:27 msgid "git blame [options] [rev-opts] [rev] [--] file" msgstr "git blame [Optionen] [rev-opts] [rev] [--] Datei" -#: builtin/blame.c:31 +#: builtin/blame.c:32 msgid "[rev-opts] are documented in git-rev-list(1)" msgstr "[rev-opts] sind dokumentiert in git-rev-list(1)" -#: builtin/blame.c:2276 +#: builtin/blame.c:2248 msgid "Show blame entries as we find them, incrementally" msgstr "Zeigt \"blame\"-Einträge schrittweise, während wir sie generieren" -#: builtin/blame.c:2277 +#: builtin/blame.c:2249 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "Zeigt leere SHA-1 für Grenz-Commits (Standard: aus)" -#: builtin/blame.c:2278 +#: builtin/blame.c:2250 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "Behandelt Ursprungs-Commit nicht als Grenzen (Standard: aus)" -#: builtin/blame.c:2279 +#: builtin/blame.c:2251 msgid "Show work cost statistics" msgstr "Zeigt Statistiken zum Arbeitsaufwand" -#: builtin/blame.c:2280 +#: builtin/blame.c:2252 msgid "Show output score for blame entries" msgstr "Zeigt Ausgabebewertung für \"blame\"-Einträge" -#: builtin/blame.c:2281 +#: builtin/blame.c:2253 msgid "Show original filename (Default: auto)" msgstr "Zeigt ursprünglichen Dateinamen (Standard: auto)" -#: builtin/blame.c:2282 +#: builtin/blame.c:2254 msgid "Show original linenumber (Default: off)" msgstr "Zeigt ursprüngliche Zeilennummer (Standard: aus)" -#: builtin/blame.c:2283 +#: builtin/blame.c:2255 msgid "Show in a format designed for machine consumption" msgstr "Anzeige in einem Format für maschinelle Auswertung" -#: builtin/blame.c:2284 +#: builtin/blame.c:2256 msgid "Show porcelain format with per-line commit information" msgstr "" "Anzeige in Format für Fremdprogramme mit Commit-Informationen pro Zeile" -#: builtin/blame.c:2285 +#: builtin/blame.c:2257 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "Benutzt den gleichen Ausgabemodus wie \"git-annotate\" (Standard: aus)" -#: builtin/blame.c:2286 +#: builtin/blame.c:2258 msgid "Show raw timestamp (Default: off)" msgstr "Zeigt unbearbeiteten Zeitstempel (Standard: aus)" -#: builtin/blame.c:2287 +#: builtin/blame.c:2259 msgid "Show long commit SHA1 (Default: off)" msgstr "Zeigt langen Commit-SHA1 (Standard: aus)" -#: builtin/blame.c:2288 +#: builtin/blame.c:2260 msgid "Suppress author name and timestamp (Default: off)" msgstr "Unterdrückt den Namen des Autors und den Zeitstempel (Standard: aus)" -#: builtin/blame.c:2289 +#: builtin/blame.c:2261 msgid "Show author email instead of name (Default: off)" msgstr "Zeigt anstatt des Namens die Email-Adresse des Autors (Standard: aus)" -#: builtin/blame.c:2290 +#: builtin/blame.c:2262 msgid "Ignore whitespace differences" msgstr "Ignoriert Unterschiede im Whitespace" -#: builtin/blame.c:2291 +#: builtin/blame.c:2263 msgid "Spend extra cycles to find better match" msgstr "arbeite länger, um bessere Ãœbereinstimmungen zu finden" -#: builtin/blame.c:2292 +#: builtin/blame.c:2264 msgid "Use revisions from <file> instead of calling git-rev-list" msgstr "Benutzt Commits von <Datei> anstatt \"git-rev-list\" aufzurufen" -#: builtin/blame.c:2293 +#: builtin/blame.c:2265 msgid "Use <file>'s contents as the final image" msgstr "Benutzt Inhalte der <Datei>en als entgültiges Abbild" -#: builtin/blame.c:2294 builtin/blame.c:2295 +#: builtin/blame.c:2266 builtin/blame.c:2267 msgid "score" msgstr "Bewertung" -#: builtin/blame.c:2294 +#: builtin/blame.c:2266 msgid "Find line copies within and across files" msgstr "Findet kopierte Zeilen innerhalb oder zwischen Dateien" -#: builtin/blame.c:2295 +#: builtin/blame.c:2267 msgid "Find line movements within and across files" msgstr "Findet verschobene Zeilen innerhalb oder zwischen Dateien" -#: builtin/blame.c:2296 +#: builtin/blame.c:2268 msgid "n,m" msgstr "n,m" -#: builtin/blame.c:2296 +#: builtin/blame.c:2268 msgid "Process only line range n,m, counting from 1" msgstr "Verarbeitet nur Zeilen im Bereich n,m, gezählt von 1" @@ -2713,240 +2875,250 @@ msgstr "Branch '%s' zeigt auf keinen Commit" #: builtin/branch.c:453 #, c-format +msgid "[%s: gone]" +msgstr "[%s: entfernt]" + +#: builtin/branch.c:456 +#, c-format +msgid "[%s]" +msgstr "[%s]" + +#: builtin/branch.c:459 +#, c-format msgid "[%s: behind %d]" msgstr "[%s: %d hinterher]" -#: builtin/branch.c:455 +#: builtin/branch.c:461 #, c-format msgid "[behind %d]" msgstr "[%d hinterher]" -#: builtin/branch.c:459 +#: builtin/branch.c:465 #, c-format msgid "[%s: ahead %d]" msgstr "[%s: %d voraus]" -#: builtin/branch.c:461 +#: builtin/branch.c:467 #, c-format msgid "[ahead %d]" msgstr "[%d voraus]" -#: builtin/branch.c:464 +#: builtin/branch.c:470 #, c-format msgid "[%s: ahead %d, behind %d]" msgstr "[%s: %d voraus, %d hinterher]" -#: builtin/branch.c:467 +#: builtin/branch.c:473 #, c-format msgid "[ahead %d, behind %d]" msgstr "[%d voraus, %d hinterher]" -#: builtin/branch.c:490 +#: builtin/branch.c:496 msgid " **** invalid ref ****" msgstr " **** ungültige Referenz ****" -#: builtin/branch.c:582 +#: builtin/branch.c:588 #, c-format msgid "(no branch, rebasing %s)" msgstr "(kein Branch, Rebase von Branch %s im Gange)" -#: builtin/branch.c:585 +#: builtin/branch.c:591 #, c-format msgid "(no branch, bisect started on %s)" msgstr "(kein Branch, binäre Suche begonnen bei %s)" -#: builtin/branch.c:588 +#: builtin/branch.c:594 #, c-format msgid "(detached from %s)" msgstr "(losgelöst von %s)" -#: builtin/branch.c:591 +#: builtin/branch.c:597 msgid "(no branch)" msgstr "(kein Branch)" -#: builtin/branch.c:637 +#: builtin/branch.c:643 #, c-format msgid "object '%s' does not point to a commit" msgstr "Objekt '%s' zeigt auf keinen Commit" -#: builtin/branch.c:669 +#: builtin/branch.c:675 msgid "some refs could not be read" msgstr "Konnte einige Referenzen nicht lesen" -#: builtin/branch.c:682 +#: builtin/branch.c:688 msgid "cannot rename the current branch while not on any." msgstr "" "Kann aktuellen Branch nicht umbenennen, solange Sie sich auf keinem befinden." -#: builtin/branch.c:692 +#: builtin/branch.c:698 #, c-format msgid "Invalid branch name: '%s'" msgstr "Ungültiger Branchname: '%s'" -#: builtin/branch.c:707 +#: builtin/branch.c:713 msgid "Branch rename failed" msgstr "Umbenennung des Branches fehlgeschlagen" -#: builtin/branch.c:711 +#: builtin/branch.c:717 #, c-format msgid "Renamed a misnamed branch '%s' away" msgstr "falsch benannten Branch '%s' umbenannt" -#: builtin/branch.c:715 +#: builtin/branch.c:721 #, c-format msgid "Branch renamed to %s, but HEAD is not updated!" msgstr "Branch umbenannt zu %s, aber HEAD ist nicht aktualisiert!" -#: builtin/branch.c:722 +#: builtin/branch.c:728 msgid "Branch is renamed, but update of config-file failed" msgstr "" "Branch ist umbenannt, aber die Aktualisierung der Konfigurationsdatei ist " "fehlgeschlagen." -#: builtin/branch.c:737 +#: builtin/branch.c:743 #, c-format msgid "malformed object name %s" msgstr "Missgebildeter Objektname %s" -#: builtin/branch.c:761 +#: builtin/branch.c:767 #, c-format msgid "could not write branch description template: %s" msgstr "Konnte Beschreibungsvorlage für Branch nicht schreiben: %s" -#: builtin/branch.c:791 +#: builtin/branch.c:797 msgid "Generic options" msgstr "Allgemeine Optionen" -#: builtin/branch.c:793 +#: builtin/branch.c:799 msgid "show hash and subject, give twice for upstream branch" msgstr "Zeigt Hash und Betreff; -vv: zusätzlich Upstream-Branch" -#: builtin/branch.c:794 +#: builtin/branch.c:800 msgid "suppress informational messages" msgstr "unterdrückt Informationsmeldungen" -#: builtin/branch.c:795 +#: builtin/branch.c:801 msgid "set up tracking mode (see git-pull(1))" msgstr "stellt den Ãœbernahmemodus ein (siehe git-pull(1))" -#: builtin/branch.c:797 +#: builtin/branch.c:803 msgid "change upstream info" msgstr "ändert Informationen zum Upstream-Branch" -#: builtin/branch.c:801 +#: builtin/branch.c:807 msgid "use colored output" msgstr "verwendet farbliche Ausgaben" -#: builtin/branch.c:802 +#: builtin/branch.c:808 msgid "act on remote-tracking branches" msgstr "wirkt auf Remote-Tracking-Branches" -#: builtin/branch.c:805 builtin/branch.c:811 builtin/branch.c:832 -#: builtin/branch.c:838 builtin/commit.c:1433 builtin/commit.c:1434 -#: builtin/commit.c:1435 builtin/commit.c:1436 builtin/tag.c:468 +#: builtin/branch.c:811 builtin/branch.c:817 builtin/branch.c:838 +#: builtin/branch.c:844 builtin/commit.c:1460 builtin/commit.c:1461 +#: builtin/commit.c:1462 builtin/commit.c:1463 builtin/tag.c:468 msgid "commit" msgstr "Commit" -#: builtin/branch.c:806 builtin/branch.c:812 +#: builtin/branch.c:812 builtin/branch.c:818 msgid "print only branches that contain the commit" msgstr "gibt nur Branches aus, welche diesen Commit beinhalten" -#: builtin/branch.c:818 +#: builtin/branch.c:824 msgid "Specific git-branch actions:" msgstr "spezifische Aktionen für \"git-branch\":" -#: builtin/branch.c:819 +#: builtin/branch.c:825 msgid "list both remote-tracking and local branches" msgstr "listet Remote-Tracking und lokale Branches auf" -#: builtin/branch.c:821 +#: builtin/branch.c:827 msgid "delete fully merged branch" msgstr "entfernt vollständig zusammengeführten Branch" -#: builtin/branch.c:822 +#: builtin/branch.c:828 msgid "delete branch (even if not merged)" msgstr "löscht Branch (auch wenn nicht zusammengeführt)" -#: builtin/branch.c:823 +#: builtin/branch.c:829 msgid "move/rename a branch and its reflog" msgstr "verschiebt/benennt einen Branch und dessen Reflog um" -#: builtin/branch.c:824 +#: builtin/branch.c:830 msgid "move/rename a branch, even if target exists" msgstr "" "verschiebt/benennt einen Branch um, auch wenn das Ziel bereits existiert" -#: builtin/branch.c:825 +#: builtin/branch.c:831 msgid "list branch names" msgstr "listet Branchnamen auf" -#: builtin/branch.c:826 +#: builtin/branch.c:832 msgid "create the branch's reflog" msgstr "erzeugt das Reflog des Branches" -#: builtin/branch.c:828 +#: builtin/branch.c:834 msgid "edit the description for the branch" msgstr "bearbeitet die Beschreibung für den Branch" -#: builtin/branch.c:829 +#: builtin/branch.c:835 msgid "force creation (when already exists)" msgstr "erzeuge auch, wenn der Branch bereits existiert" -#: builtin/branch.c:832 +#: builtin/branch.c:838 msgid "print only not merged branches" msgstr "gibt nur Branches aus, die nicht zusammengeführt sind" -#: builtin/branch.c:838 +#: builtin/branch.c:844 msgid "print only merged branches" msgstr "gibt nur Branches aus, die zusammengeführt sind" -#: builtin/branch.c:842 +#: builtin/branch.c:848 msgid "list branches in columns" msgstr "listet Branches in Spalten auf" -#: builtin/branch.c:855 +#: builtin/branch.c:861 msgid "Failed to resolve HEAD as a valid ref." msgstr "Konnte HEAD nicht als gültige Referenz auflösen." -#: builtin/branch.c:860 builtin/clone.c:630 +#: builtin/branch.c:866 builtin/clone.c:629 msgid "HEAD not found below refs/heads!" msgstr "HEAD wurde nicht unter \"refs/heads\" gefunden!" -#: builtin/branch.c:883 +#: builtin/branch.c:890 msgid "--column and --verbose are incompatible" msgstr "Die Optionen --column und --verbose sind inkompatibel." -#: builtin/branch.c:889 builtin/branch.c:928 +#: builtin/branch.c:896 builtin/branch.c:935 msgid "branch name required" msgstr "Branchname erforderlich" -#: builtin/branch.c:904 +#: builtin/branch.c:911 msgid "Cannot give description to detached HEAD" msgstr "zu losgelöstem HEAD kann keine Beschreibung hinterlegt werden" -#: builtin/branch.c:909 +#: builtin/branch.c:916 msgid "cannot edit description of more than one branch" msgstr "Beschreibung von mehr als einem Branch kann nicht bearbeitet werden" -#: builtin/branch.c:916 +#: builtin/branch.c:923 #, c-format msgid "No commit on branch '%s' yet." msgstr "Noch kein Commit in Branch '%s'." -#: builtin/branch.c:919 +#: builtin/branch.c:926 #, c-format msgid "No branch named '%s'." msgstr "Branch '%s' nicht vorhanden." -#: builtin/branch.c:934 +#: builtin/branch.c:941 msgid "too many branches for a rename operation" msgstr "zu viele Branches für eine Umbenennen-Operation angegeben" -#: builtin/branch.c:939 +#: builtin/branch.c:946 msgid "too many branches to set new upstream" msgstr "zu viele Branches angegeben um Upstream-Branch zu setzen" -#: builtin/branch.c:943 +#: builtin/branch.c:950 #, c-format msgid "" "could not set upstream of HEAD to %s when it does not point to any branch." @@ -2954,43 +3126,43 @@ msgstr "" "Konnte keinen neuen Upstream-Branch von HEAD zu %s setzen, da dieser auf\n" "keinen Branch zeigt." -#: builtin/branch.c:946 builtin/branch.c:968 builtin/branch.c:990 +#: builtin/branch.c:953 builtin/branch.c:975 builtin/branch.c:997 #, c-format msgid "no such branch '%s'" msgstr "Kein solcher Branch '%s'" -#: builtin/branch.c:950 +#: builtin/branch.c:957 #, c-format msgid "branch '%s' does not exist" msgstr "Branch '%s' existiert nicht" -#: builtin/branch.c:962 +#: builtin/branch.c:969 msgid "too many branches to unset upstream" msgstr "" "zu viele Branches angegeben um Konfiguration zu Upstream-Branch zu entfernen" -#: builtin/branch.c:966 +#: builtin/branch.c:973 msgid "could not unset upstream of HEAD when it does not point to any branch." msgstr "" "Konnte Konfiguration zu Upstream-Branch von HEAD nicht entfernen, da dieser\n" "auf keinen Branch zeigt." -#: builtin/branch.c:972 +#: builtin/branch.c:979 #, c-format msgid "Branch '%s' has no upstream information" msgstr "Branch '%s' hat keinen Upstream-Branch gesetzt" -#: builtin/branch.c:987 +#: builtin/branch.c:994 msgid "it does not make sense to create 'HEAD' manually" msgstr "'HEAD' darf nicht manuell erstellt werden" -#: builtin/branch.c:993 +#: builtin/branch.c:1000 msgid "-a and -r options to 'git branch' do not make sense with a branch name" msgstr "" "Die Optionen -a und -r bei 'git branch' können nicht gemeimsam mit einem " "Branchnamen verwendet werden." -#: builtin/branch.c:996 +#: builtin/branch.c:1003 #, c-format msgid "" "The --set-upstream flag is deprecated and will be removed. Consider using --" @@ -2999,7 +3171,7 @@ msgstr "" "Die --set-upstream Option ist veraltet und wird entfernt. Benutzen Sie --" "track oder --set-upstream-to\n" -#: builtin/branch.c:1013 +#: builtin/branch.c:1020 #, c-format msgid "" "\n" @@ -3010,12 +3182,12 @@ msgstr "" "Wenn Sie wollten, dass '%s' den Branch '%s' als Upstream-Branch hat, führen " "Sie aus:\n" -#: builtin/branch.c:1014 +#: builtin/branch.c:1021 #, c-format msgid " git branch -d %s\n" msgstr " git branch -d %s\n" -#: builtin/branch.c:1015 +#: builtin/branch.c:1022 #, c-format msgid " git branch --set-upstream-to %s\n" msgstr " git branch --set-upstream-to %s\n" @@ -3033,45 +3205,45 @@ msgstr "Um ein Paket zu erstellen wird ein Repository benötigt." msgid "Need a repository to unbundle." msgstr "Zum Entpacken wird ein Repository benötigt." -#: builtin/cat-file.c:285 +#: builtin/cat-file.c:312 msgid "git cat-file (-t|-s|-e|-p|<type>|--textconv) <object>" msgstr "git cat-file (-t|-s|-e|-p|<Art>|--textconv) <Objekt>" -#: builtin/cat-file.c:286 +#: builtin/cat-file.c:313 msgid "git cat-file (--batch|--batch-check) < <list_of_objects>" msgstr "git cat-file (--batch|--batch-check) < <Liste_von_Objekten>" -#: builtin/cat-file.c:323 +#: builtin/cat-file.c:350 msgid "<type> can be one of: blob, tree, commit, tag" msgstr "<Art> kann sein: blob, tree, commit, tag" -#: builtin/cat-file.c:324 +#: builtin/cat-file.c:351 msgid "show object type" msgstr "zeigt Objektart" -#: builtin/cat-file.c:325 +#: builtin/cat-file.c:352 msgid "show object size" msgstr "zeigt Objektgröße" -#: builtin/cat-file.c:327 +#: builtin/cat-file.c:354 msgid "exit with zero when there's no error" msgstr "beendet mit Rückgabewert 0, wenn kein Fehler aufgetreten ist" -#: builtin/cat-file.c:328 +#: builtin/cat-file.c:355 msgid "pretty-print object's content" msgstr "ansprechende Anzeige des Objektinhaltes" -#: builtin/cat-file.c:330 +#: builtin/cat-file.c:357 msgid "for blob objects, run textconv on object's content" msgstr "führt eine Textkonvertierung auf den Inhalt von Blob-Objekten aus" -#: builtin/cat-file.c:332 +#: builtin/cat-file.c:359 msgid "show info and content of objects fed from the standard input" msgstr "" "Anzeige von Informationen und Inhalt von Objekten, gelesen von der Standard-" "Eingabe" -#: builtin/cat-file.c:335 +#: builtin/cat-file.c:362 msgid "show info about objects fed from the standard input" msgstr "" "Anzeige von Informationen über Objekte, gelesen von der Standard-Eingabe" @@ -3098,10 +3270,10 @@ msgid "read file names from stdin" msgstr "liest Dateinamen von der Standard-Eingabe" #: builtin/check-attr.c:23 builtin/check-ignore.c:24 -msgid "input paths are terminated by a null character" -msgstr "Eingabepfade sind durch ein NUL Zeichen abgeschlossen" +msgid "terminate input and output records by a NUL character" +msgstr "schließt Einträge von Ein- und Ausgabe mit NUL-Zeichen ab" -#: builtin/check-ignore.c:18 builtin/checkout.c:1054 builtin/gc.c:177 +#: builtin/check-ignore.c:18 builtin/checkout.c:1090 builtin/gc.c:259 msgid "suppress progress reporting" msgstr "unterdrückt Fortschrittsanzeige" @@ -3109,28 +3281,32 @@ msgstr "unterdrückt Fortschrittsanzeige" msgid "show non-matching input paths" msgstr "zeigt Eingabe-Pfade ohne Ãœbereinstimmungen" -#: builtin/check-ignore.c:143 +#: builtin/check-ignore.c:28 +msgid "ignore index when checking" +msgstr "ignoriert Staging-Area bei der Prüfung" + +#: builtin/check-ignore.c:154 msgid "cannot specify pathnames with --stdin" msgstr "Angabe von Pfadnamen kann nicht gemeinsam mit --stdin verwendet werden" -#: builtin/check-ignore.c:146 +#: builtin/check-ignore.c:157 msgid "-z only makes sense with --stdin" msgstr "Die Option -z kann nur mit --stdin verwendet werden." -#: builtin/check-ignore.c:148 +#: builtin/check-ignore.c:159 msgid "no path specified" msgstr "kein Pfad angegeben" -#: builtin/check-ignore.c:152 +#: builtin/check-ignore.c:163 msgid "--quiet is only valid with a single pathname" msgstr "Die Option --quiet ist nur mit einem einzelnen Pfadnamen gültig." -#: builtin/check-ignore.c:154 +#: builtin/check-ignore.c:165 msgid "cannot have both --quiet and --verbose" msgstr "" "Die Optionen --quiet und --verbose können nicht gemeinsam verwendet werden." -#: builtin/check-ignore.c:157 +#: builtin/check-ignore.c:168 msgid "--non-matching is only valid with --verbose" msgstr "--non-matching ist nur mit --verbose zulässig" @@ -3206,107 +3382,107 @@ msgstr "git checkout [Optionen] <Branch>" msgid "git checkout [options] [<branch>] -- <file>..." msgstr "git checkout [Optionen] [<Branch>] -- <Datei>..." -#: builtin/checkout.c:117 builtin/checkout.c:150 +#: builtin/checkout.c:114 builtin/checkout.c:147 #, c-format msgid "path '%s' does not have our version" msgstr "Pfad '%s' hat nicht unsere Version." -#: builtin/checkout.c:119 builtin/checkout.c:152 +#: builtin/checkout.c:116 builtin/checkout.c:149 #, c-format msgid "path '%s' does not have their version" msgstr "Pfad '%s' hat nicht deren Version." -#: builtin/checkout.c:135 +#: builtin/checkout.c:132 #, c-format msgid "path '%s' does not have all necessary versions" msgstr "Pfad '%s' hat nicht alle notwendigen Versionen." -#: builtin/checkout.c:179 +#: builtin/checkout.c:176 #, c-format msgid "path '%s' does not have necessary versions" msgstr "Pfad '%s' hat nicht die notwendigen Versionen." -#: builtin/checkout.c:196 +#: builtin/checkout.c:193 #, c-format msgid "path '%s': cannot merge" msgstr "Pfad '%s': kann nicht zusammenführen" -#: builtin/checkout.c:213 +#: builtin/checkout.c:210 #, c-format msgid "Unable to add merge result for '%s'" msgstr "Konnte Merge-Ergebnis von '%s' nicht hinzufügen." -#: builtin/checkout.c:237 builtin/checkout.c:240 builtin/checkout.c:243 -#: builtin/checkout.c:246 +#: builtin/checkout.c:232 builtin/checkout.c:235 builtin/checkout.c:238 +#: builtin/checkout.c:241 #, c-format msgid "'%s' cannot be used with updating paths" msgstr "'%s' kann nicht mit Pfaden verwendet werden" -#: builtin/checkout.c:249 builtin/checkout.c:252 +#: builtin/checkout.c:244 builtin/checkout.c:247 #, c-format msgid "'%s' cannot be used with %s" msgstr "'%s' kann nicht mit '%s' verwendet werden" -#: builtin/checkout.c:255 +#: builtin/checkout.c:250 #, c-format msgid "Cannot update paths and switch to branch '%s' at the same time." msgstr "" "Kann nicht gleichzeitig Pfade aktualisieren und zu Branch '%s' wechseln" -#: builtin/checkout.c:266 builtin/checkout.c:458 +#: builtin/checkout.c:261 builtin/checkout.c:451 msgid "corrupt index file" msgstr "beschädigte Staging-Area-Datei" -#: builtin/checkout.c:329 builtin/checkout.c:336 +#: builtin/checkout.c:322 builtin/checkout.c:329 #, c-format msgid "path '%s' is unmerged" msgstr "Pfad '%s' ist nicht zusammengeführt." -#: builtin/checkout.c:480 +#: builtin/checkout.c:473 msgid "you need to resolve your current index first" msgstr "Sie müssen zuerst Ihre aktuelle Staging-Area auflösen." -#: builtin/checkout.c:601 +#: builtin/checkout.c:594 #, c-format msgid "Can not do reflog for '%s'\n" msgstr "Konnte \"reflog\" für '%s' nicht durchführen\n" -#: builtin/checkout.c:639 +#: builtin/checkout.c:632 msgid "HEAD is now at" msgstr "HEAD ist jetzt bei" -#: builtin/checkout.c:646 +#: builtin/checkout.c:639 #, c-format msgid "Reset branch '%s'\n" msgstr "Setze Branch '%s' neu\n" -#: builtin/checkout.c:649 +#: builtin/checkout.c:642 #, c-format msgid "Already on '%s'\n" msgstr "Bereits auf '%s'\n" -#: builtin/checkout.c:653 +#: builtin/checkout.c:646 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "Gewechselt zu umgesetzten Branch '%s'\n" -#: builtin/checkout.c:655 builtin/checkout.c:997 +#: builtin/checkout.c:648 builtin/checkout.c:1033 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "Gewechselt zu einem neuem Branch '%s'\n" -#: builtin/checkout.c:657 +#: builtin/checkout.c:650 #, c-format msgid "Switched to branch '%s'\n" msgstr "Gewechselt zu Branch '%s'\n" -#: builtin/checkout.c:713 +#: builtin/checkout.c:706 #, c-format msgid " ... and %d more.\n" msgstr " ... und %d weitere.\n" #. The singular version -#: builtin/checkout.c:719 +#: builtin/checkout.c:712 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -3329,7 +3505,7 @@ msgstr[1] "" "\n" "%s\n" -#: builtin/checkout.c:737 +#: builtin/checkout.c:730 #, c-format msgid "" "If you want to keep them by creating a new branch, this may be a good time\n" @@ -3344,136 +3520,140 @@ msgstr "" " git branch neuer_branch_name %s\n" "\n" -#: builtin/checkout.c:767 +#: builtin/checkout.c:760 msgid "internal error in revision walk" msgstr "interner Fehler im Revisionsgang" -#: builtin/checkout.c:771 +#: builtin/checkout.c:764 msgid "Previous HEAD position was" msgstr "Vorherige Position von HEAD war" -#: builtin/checkout.c:798 builtin/checkout.c:992 +#: builtin/checkout.c:791 builtin/checkout.c:1028 msgid "You are on a branch yet to be born" msgstr "Sie sind auf einem Branch, der noch geboren wird" -#. case (1) -#: builtin/checkout.c:928 +#: builtin/checkout.c:935 +#, c-format +msgid "only one reference expected, %d given." +msgstr "nur eine Referenz erwartet, %d gegeben." + +#: builtin/checkout.c:974 #, c-format msgid "invalid reference: %s" msgstr "Ungültige Referenz: %s" #. case (1): want a tree -#: builtin/checkout.c:967 +#: builtin/checkout.c:1003 #, c-format msgid "reference is not a tree: %s" msgstr "Referenz ist kein \"Tree\"-Objekt: %s" -#: builtin/checkout.c:1006 +#: builtin/checkout.c:1042 msgid "paths cannot be used with switching branches" msgstr "Pfade können nicht beim Wechseln von Branches verwendet werden" -#: builtin/checkout.c:1009 builtin/checkout.c:1013 +#: builtin/checkout.c:1045 builtin/checkout.c:1049 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "'%s' kann nicht beim Wechseln von Branches verwendet werden" -#: builtin/checkout.c:1017 builtin/checkout.c:1020 builtin/checkout.c:1025 -#: builtin/checkout.c:1028 +#: builtin/checkout.c:1053 builtin/checkout.c:1056 builtin/checkout.c:1061 +#: builtin/checkout.c:1064 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "'%s' kann nicht mit '%s' verwendet werden" -#: builtin/checkout.c:1033 +#: builtin/checkout.c:1069 #, c-format msgid "Cannot switch branch to a non-commit '%s'" msgstr "Kann Branch nicht zu Nicht-Commit '%s' wechseln" -#: builtin/checkout.c:1055 builtin/checkout.c:1057 builtin/clone.c:89 +#: builtin/checkout.c:1091 builtin/checkout.c:1093 builtin/clone.c:88 #: builtin/remote.c:169 builtin/remote.c:171 msgid "branch" msgstr "Branch" -#: builtin/checkout.c:1056 +#: builtin/checkout.c:1092 msgid "create and checkout a new branch" msgstr "erzeugt und checkt einen neuen Branch aus" -#: builtin/checkout.c:1058 +#: builtin/checkout.c:1094 msgid "create/reset and checkout a branch" msgstr "erzeugt/setzt um und checkt einen Branch aus" -#: builtin/checkout.c:1059 +#: builtin/checkout.c:1095 msgid "create reflog for new branch" msgstr "erzeugt das Reflog für den neuen Branch" -#: builtin/checkout.c:1060 +#: builtin/checkout.c:1096 msgid "detach the HEAD at named commit" msgstr "setzt HEAD zu benanntem Commit" -#: builtin/checkout.c:1061 +#: builtin/checkout.c:1097 msgid "set upstream info for new branch" msgstr "setzt Informationen zum Upstream-Branch für den neuen Branch" -#: builtin/checkout.c:1063 +#: builtin/checkout.c:1099 msgid "new branch" msgstr "neuer Branch" -#: builtin/checkout.c:1063 +#: builtin/checkout.c:1099 msgid "new unparented branch" msgstr "neuer Branch ohne Eltern-Commit" -#: builtin/checkout.c:1064 +#: builtin/checkout.c:1100 msgid "checkout our version for unmerged files" msgstr "checkt unsere Variante für nicht zusammengeführte Dateien aus" -#: builtin/checkout.c:1066 +#: builtin/checkout.c:1102 msgid "checkout their version for unmerged files" msgstr "checkt ihre Variante für nicht zusammengeführte Dateien aus" -#: builtin/checkout.c:1068 +#: builtin/checkout.c:1104 msgid "force checkout (throw away local modifications)" msgstr "erzwingt Auschecken (verwirft lokale Änderungen)" -#: builtin/checkout.c:1069 +#: builtin/checkout.c:1105 msgid "perform a 3-way merge with the new branch" msgstr "führt einen 3-Wege-Merge mit dem neuen Branch aus" -#: builtin/checkout.c:1070 builtin/merge.c:232 +#: builtin/checkout.c:1106 builtin/merge.c:232 msgid "update ignored files (default)" msgstr "aktualisiert ignorierte Dateien (Standard)" -#: builtin/checkout.c:1071 builtin/log.c:1208 parse-options.h:249 +#: builtin/checkout.c:1107 builtin/log.c:1228 parse-options.h:251 msgid "style" msgstr "Stil" -#: builtin/checkout.c:1072 +#: builtin/checkout.c:1108 msgid "conflict style (merge or diff3)" msgstr "Konfliktstil (merge oder diff3)" -#: builtin/checkout.c:1075 +#: builtin/checkout.c:1111 msgid "do not limit pathspecs to sparse entries only" msgstr "Pfadspezifikationen ignorieren Einstellungen zum partiellen Auschecken" -#: builtin/checkout.c:1077 +#: builtin/checkout.c:1113 msgid "second guess 'git checkout no-such-branch'" msgstr "second guess 'git checkout no-such-branch'" -#: builtin/checkout.c:1101 +#: builtin/checkout.c:1136 msgid "-b, -B and --orphan are mutually exclusive" msgstr "Die Optionen -b, -B und --orphan schließen sich gegenseitig aus." -#: builtin/checkout.c:1118 +#: builtin/checkout.c:1153 msgid "--track needs a branch name" msgstr "Bei der Option --track muss ein Branchname angegeben werden." -#: builtin/checkout.c:1125 +#: builtin/checkout.c:1160 msgid "Missing branch name; try -b" msgstr "Vermisse Branchnamen; versuchen Sie -b" -#: builtin/checkout.c:1160 +#: builtin/checkout.c:1197 msgid "invalid path specification" msgstr "ungültige Pfadspezifikation" -#: builtin/checkout.c:1167 +#: builtin/checkout.c:1204 #, c-format msgid "" "Cannot update paths and switch to branch '%s' at the same time.\n" @@ -3483,12 +3663,12 @@ msgstr "" "Haben Sie beabsichtigt '%s' auszuchecken, welcher nicht als Commit aufgelöst " "werden kann?" -#: builtin/checkout.c:1172 +#: builtin/checkout.c:1209 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "git checkout: --detach nimmt kein Pfad-Argument '%s'" -#: builtin/checkout.c:1176 +#: builtin/checkout.c:1213 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." @@ -3496,38 +3676,38 @@ msgstr "" "git checkout: --ours/--theirs, --force und --merge sind inkompatibel wenn\n" "Sie aus der Staging-Area auschecken." -#: builtin/clean.c:25 +#: builtin/clean.c:26 msgid "" "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..." msgstr "" "git clean [-d] [-f] [-i] [-n] [-q] [-e <Muster>] [-x | -X] [--] <Pfade>..." -#: builtin/clean.c:29 +#: builtin/clean.c:30 #, c-format msgid "Removing %s\n" msgstr "Lösche %s\n" -#: builtin/clean.c:30 +#: builtin/clean.c:31 #, c-format msgid "Would remove %s\n" msgstr "Würde %s löschen\n" -#: builtin/clean.c:31 +#: builtin/clean.c:32 #, c-format msgid "Skipping repository %s\n" msgstr "Ãœberspringe Repository %s\n" -#: builtin/clean.c:32 +#: builtin/clean.c:33 #, c-format msgid "Would skip repository %s\n" msgstr "Würde Repository %s überspringen\n" -#: builtin/clean.c:33 +#: builtin/clean.c:34 #, c-format msgid "failed to remove %s" msgstr "Fehler beim Löschen von %s" -#: builtin/clean.c:293 +#: builtin/clean.c:294 msgid "" "Prompt help:\n" "1 - select a numbered item\n" @@ -3539,7 +3719,7 @@ msgstr "" "foo - Element anhand eines eindeutigen Prefix auswählen\n" " - (leer) nichts auswählen" -#: builtin/clean.c:297 +#: builtin/clean.c:298 msgid "" "Prompt help:\n" "1 - select a single item\n" @@ -3559,35 +3739,35 @@ msgstr "" "* - alle Elemente auswählen\n" " - (leer) Auswahl beenden" -#: builtin/clean.c:515 +#: builtin/clean.c:516 #, c-format msgid "Huh (%s)?" msgstr "Wie bitte (%s)?" -#: builtin/clean.c:658 +#: builtin/clean.c:659 #, c-format msgid "Input ignore patterns>> " msgstr "Ignorier-Muster eingeben>> " -#: builtin/clean.c:695 +#: builtin/clean.c:696 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "WARNUNG: Kann keine Einträge finden die Muster entsprechen: %s" -#: builtin/clean.c:716 +#: builtin/clean.c:717 msgid "Select items to delete" msgstr "Wählen Sie Einträge zum Löschen" -#: builtin/clean.c:756 +#: builtin/clean.c:757 #, c-format msgid "remove %s? " msgstr "'%s' löschen? " -#: builtin/clean.c:781 +#: builtin/clean.c:782 msgid "Bye." msgstr "Tschüss." -#: builtin/clean.c:789 +#: builtin/clean.c:790 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -3605,21 +3785,21 @@ msgstr "" "help - diese Meldung anzeigen\n" "? - Hilfe zur Auswahl mittels Eingabe anzeigen" -#: builtin/clean.c:816 +#: builtin/clean.c:817 msgid "*** Commands ***" msgstr "*** Kommandos ***" -#: builtin/clean.c:817 +#: builtin/clean.c:818 msgid "What now" msgstr "Was nun" -#: builtin/clean.c:825 +#: builtin/clean.c:826 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "Würde das folgende Element entfernen:" msgstr[1] "Würde die folgenden Elemente entfernen:" -#: builtin/clean.c:842 +#: builtin/clean.c:843 msgid "No more files to clean, exiting." msgstr "Keine Dateien mehr zum Löschen, beende." @@ -3639,8 +3819,8 @@ msgstr "interaktives Clean" msgid "remove whole directories" msgstr "löscht ganze Verzeichnisse" -#: builtin/clean.c:880 builtin/describe.c:420 builtin/grep.c:716 -#: builtin/ls-files.c:493 builtin/name-rev.c:315 builtin/show-ref.c:186 +#: builtin/clean.c:880 builtin/describe.c:420 builtin/grep.c:718 +#: builtin/ls-files.c:483 builtin/name-rev.c:315 builtin/show-ref.c:185 msgid "pattern" msgstr "Muster" @@ -3680,8 +3860,8 @@ msgstr "" msgid "git clone [options] [--] <repo> [<dir>]" msgstr "git clone [Optionen] [--] <Repository> [<Verzeichnis>]" -#: builtin/clone.c:64 builtin/fetch.c:82 builtin/merge.c:229 -#: builtin/push.c:462 +#: builtin/clone.c:64 builtin/fetch.c:96 builtin/merge.c:229 +#: builtin/push.c:474 msgid "force progress reporting" msgstr "erzwingt Fortschrittsanzeige" @@ -3693,123 +3873,123 @@ msgstr "kein Auschecken" msgid "create a bare repository" msgstr "erstellt ein Bare-Repository" -#: builtin/clone.c:72 +#: builtin/clone.c:71 msgid "create a mirror repository (implies bare)" msgstr "erstellt ein Spiegelarchiv (impliziert --bare)" -#: builtin/clone.c:74 +#: builtin/clone.c:73 msgid "to clone from a local repository" msgstr "um von einem lokalen Repository zu klonen" -#: builtin/clone.c:76 +#: builtin/clone.c:75 msgid "don't use local hardlinks, always copy" msgstr "verwendet lokal keine harten Verweise, immer Kopien" -#: builtin/clone.c:78 +#: builtin/clone.c:77 msgid "setup as shared repository" msgstr "Einrichtung als verteiltes Repository" -#: builtin/clone.c:80 builtin/clone.c:82 +#: builtin/clone.c:79 builtin/clone.c:81 msgid "initialize submodules in the clone" msgstr "initialisiert Submodule im Klon" -#: builtin/clone.c:83 builtin/init-db.c:485 +#: builtin/clone.c:82 builtin/init-db.c:485 msgid "template-directory" msgstr "Vorlagenverzeichnis" -#: builtin/clone.c:84 builtin/init-db.c:486 +#: builtin/clone.c:83 builtin/init-db.c:486 msgid "directory from which templates will be used" msgstr "Verzeichnis, von welchem die Vorlagen verwendet werden" -#: builtin/clone.c:86 +#: builtin/clone.c:85 msgid "reference repository" msgstr "referenziert Repository" -#: builtin/clone.c:87 builtin/column.c:26 builtin/merge-file.c:44 +#: builtin/clone.c:86 builtin/column.c:26 builtin/merge-file.c:44 msgid "name" msgstr "Name" -#: builtin/clone.c:88 +#: builtin/clone.c:87 msgid "use <name> instead of 'origin' to track upstream" msgstr "verwendet <Name> statt 'origin' für Upstream-Repository" -#: builtin/clone.c:90 +#: builtin/clone.c:89 msgid "checkout <branch> instead of the remote's HEAD" msgstr "checkt <Branch> aus, anstatt HEAD des Remote-Repositories" -#: builtin/clone.c:92 +#: builtin/clone.c:91 msgid "path to git-upload-pack on the remote" msgstr "Pfad zu \"git-upload-pack\" auf der Gegenseite" -#: builtin/clone.c:93 builtin/fetch.c:83 builtin/grep.c:661 +#: builtin/clone.c:92 builtin/fetch.c:97 builtin/grep.c:663 msgid "depth" msgstr "Tiefe" -#: builtin/clone.c:94 +#: builtin/clone.c:93 msgid "create a shallow clone of that depth" msgstr "erstellt einen flachen Klon mit dieser Tiefe" -#: builtin/clone.c:96 +#: builtin/clone.c:95 msgid "clone only one branch, HEAD or --branch" msgstr "klont nur einen Branch, HEAD oder --branch" -#: builtin/clone.c:97 builtin/init-db.c:494 +#: builtin/clone.c:96 builtin/init-db.c:494 msgid "gitdir" msgstr ".git-Verzeichnis" -#: builtin/clone.c:98 builtin/init-db.c:495 +#: builtin/clone.c:97 builtin/init-db.c:495 msgid "separate git dir from working tree" msgstr "separiert Git-Verzeichnis vom Arbeitsverzeichnis" -#: builtin/clone.c:99 +#: builtin/clone.c:98 msgid "key=value" msgstr "Schlüssel=Wert" -#: builtin/clone.c:100 +#: builtin/clone.c:99 msgid "set config inside the new repository" msgstr "setzt Konfiguration innerhalb des neuen Repositories" -#: builtin/clone.c:253 +#: builtin/clone.c:252 #, c-format msgid "reference repository '%s' is not a local repository." msgstr "Referenziertes Repository '%s' ist kein lokales Repository." -#: builtin/clone.c:316 +#: builtin/clone.c:315 #, c-format msgid "failed to create directory '%s'" msgstr "Fehler beim Erstellen von Verzeichnis '%s'" -#: builtin/clone.c:318 builtin/diff.c:77 +#: builtin/clone.c:317 builtin/diff.c:77 #, c-format msgid "failed to stat '%s'" msgstr "Konnte '%s' nicht lesen" -#: builtin/clone.c:320 +#: builtin/clone.c:319 #, c-format msgid "%s exists and is not a directory" msgstr "%s existiert und ist kein Verzeichnis" -#: builtin/clone.c:334 +#: builtin/clone.c:333 #, c-format msgid "failed to stat %s\n" msgstr "Konnte %s nicht lesen\n" -#: builtin/clone.c:356 +#: builtin/clone.c:355 #, c-format msgid "failed to create link '%s'" msgstr "Konnte Verweis '%s' nicht erstellen" -#: builtin/clone.c:360 +#: builtin/clone.c:359 #, c-format msgid "failed to copy file to '%s'" msgstr "Konnte Datei nicht nach '%s' kopieren" -#: builtin/clone.c:383 +#: builtin/clone.c:382 builtin/clone.c:559 #, c-format msgid "done.\n" msgstr "Fertig.\n" -#: builtin/clone.c:396 +#: builtin/clone.c:395 msgid "" "Clone succeeded, but checkout failed.\n" "You can inspect what was checked out with 'git status'\n" @@ -3819,108 +3999,103 @@ msgstr "" "Sie können mit 'git status' prüfen, was ausgecheckt worden ist\n" "und das Auschecken mit 'git checkout -f HEAD' erneut versuchen.\n" -#: builtin/clone.c:475 +#: builtin/clone.c:474 #, c-format msgid "Could not find remote branch %s to clone." msgstr "Konnte zu klonenden Remote-Branch %s nicht finden." -#: builtin/clone.c:555 +#: builtin/clone.c:554 #, c-format msgid "Checking connectivity... " msgstr "Prüfe Konnektivität... " -#: builtin/clone.c:558 +#: builtin/clone.c:557 msgid "remote did not send all necessary objects" msgstr "Remote-Repository hat nicht alle erforderlichen Objekte gesendet." -#: builtin/clone.c:560 -#, c-format -msgid "done\n" -msgstr "Fertig\n" - -#: builtin/clone.c:621 +#: builtin/clone.c:620 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "" "Externer HEAD bezieht sich auf eine nicht existierende Referenz und kann " "nicht ausgecheckt werden.\n" -#: builtin/clone.c:652 +#: builtin/clone.c:651 msgid "unable to checkout working tree" msgstr "Arbeitsverzeichnis konnte nicht ausgecheckt werden" -#: builtin/clone.c:760 +#: builtin/clone.c:759 msgid "Too many arguments." msgstr "Zu viele Argumente." -#: builtin/clone.c:764 +#: builtin/clone.c:763 msgid "You must specify a repository to clone." msgstr "Sie müssen ein Repository zum Klonen angeben." -#: builtin/clone.c:775 +#: builtin/clone.c:774 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "Die Optionen --bare und --origin %s sind inkompatibel." -#: builtin/clone.c:778 +#: builtin/clone.c:777 msgid "--bare and --separate-git-dir are incompatible." msgstr "Die Optionen --bare und --separate-git-dir sind inkompatibel." -#: builtin/clone.c:791 +#: builtin/clone.c:790 #, c-format msgid "repository '%s' does not exist" msgstr "Repository '%s' existiert nicht." -#: builtin/clone.c:796 +#: builtin/clone.c:795 msgid "--depth is ignored in local clones; use file:// instead." msgstr "" "Die Option --depth wird in lokalen Klonen ignoriert; benutzen Sie " "stattdessen file://" -#: builtin/clone.c:798 +#: builtin/clone.c:797 msgid "--local is ignored" msgstr "--local wird ignoriert" -#: builtin/clone.c:808 +#: builtin/clone.c:807 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "Zielpfad '%s' existiert bereits und ist kein leeres Verzeichnis." -#: builtin/clone.c:818 +#: builtin/clone.c:817 #, c-format msgid "working tree '%s' already exists." msgstr "Arbeitsverzeichnis '%s' existiert bereits." -#: builtin/clone.c:831 builtin/clone.c:843 +#: builtin/clone.c:830 builtin/clone.c:842 #, c-format msgid "could not create leading directories of '%s'" msgstr "Konnte führende Verzeichnisse von '%s' nicht erstellen." -#: builtin/clone.c:834 +#: builtin/clone.c:833 #, c-format msgid "could not create work tree dir '%s'." msgstr "Konnte Arbeitsverzeichnis '%s' nicht erstellen." -#: builtin/clone.c:853 +#: builtin/clone.c:852 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "Klone in Bare-Repository '%s'...\n" -#: builtin/clone.c:855 +#: builtin/clone.c:854 #, c-format msgid "Cloning into '%s'...\n" msgstr "Klone nach '%s'...\n" -#: builtin/clone.c:890 +#: builtin/clone.c:888 #, c-format msgid "Don't know how to clone %s" msgstr "Weiß nicht wie %s zu klonen ist." -#: builtin/clone.c:942 +#: builtin/clone.c:939 builtin/clone.c:947 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "Remote-Branch %s nicht im Upstream-Repository %s gefunden" -#: builtin/clone.c:949 +#: builtin/clone.c:950 msgid "You appear to have cloned an empty repository." msgstr "Sie scheinen ein leeres Repository geklont zu haben." @@ -3956,15 +4131,15 @@ msgstr "Abstand zwischen Spalten" msgid "--command must be the first argument" msgstr "Die Option --command muss an erster Stelle stehen." -#: builtin/commit.c:35 +#: builtin/commit.c:36 msgid "git commit [options] [--] <pathspec>..." msgstr "git commit [Optionen] [--] <Pfadspezifikation>..." -#: builtin/commit.c:40 +#: builtin/commit.c:41 msgid "git status [options] [--] <pathspec>..." msgstr "git status [Optionen] [--] <Pfadspezifikation>..." -#: builtin/commit.c:45 +#: builtin/commit.c:46 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -3990,7 +4165,7 @@ msgstr "" "\n" " git commit --amend --reset-author\n" -#: builtin/commit.c:57 +#: builtin/commit.c:58 msgid "" "You asked to amend the most recent commit, but doing so would make\n" "it empty. You can repeat your command with --allow-empty, or you can\n" @@ -4000,7 +4175,7 @@ msgstr "" "machen. Sie können Ihr Kommando mit --allow-empty wiederholen, oder diesen\n" "Commit mit \"git reset HEAD^\" vollständig entfernen.\n" -#: builtin/commit.c:62 +#: builtin/commit.c:63 msgid "" "The previous cherry-pick is now empty, possibly due to conflict resolution.\n" "If you wish to commit it anyway, use:\n" @@ -4015,11 +4190,11 @@ msgstr "" " git commit --allow-empty\n" "\n" -#: builtin/commit.c:69 +#: builtin/commit.c:70 msgid "Otherwise, please use 'git reset'\n" msgstr "Andernfalls benutzen Sie bitte 'git reset'\n" -#: builtin/commit.c:72 +#: builtin/commit.c:73 msgid "" "If you wish to skip this commit, use:\n" "\n" @@ -4035,94 +4210,94 @@ msgstr "" "Benutzen Sie anschließend \"git cherry-pick --continue\", um die\n" "Cherry-Pick-Operation mit den verbleibenden Commits fortzusetzen.\n" -#: builtin/commit.c:279 +#: builtin/commit.c:287 msgid "failed to unpack HEAD tree object" msgstr "Fehler beim Entpacken des \"Tree\"-Objektes von HEAD." -#: builtin/commit.c:321 +#: builtin/commit.c:329 msgid "unable to create temporary index" msgstr "Konnte temporäre Staging-Area nicht erstellen." -#: builtin/commit.c:327 +#: builtin/commit.c:335 msgid "interactive add failed" msgstr "interaktives Hinzufügen fehlgeschlagen" -#: builtin/commit.c:360 builtin/commit.c:381 builtin/commit.c:431 +#: builtin/commit.c:368 builtin/commit.c:389 builtin/commit.c:439 msgid "unable to write new_index file" msgstr "Konnte new_index Datei nicht schreiben" -#: builtin/commit.c:412 +#: builtin/commit.c:420 msgid "cannot do a partial commit during a merge." msgstr "Kann keinen Teil-Commit durchführen, während ein Merge im Gange ist." -#: builtin/commit.c:414 +#: builtin/commit.c:422 msgid "cannot do a partial commit during a cherry-pick." msgstr "" "Kann keinen Teil-Commit durchführen, während \"cherry-pick\" im Gange ist." -#: builtin/commit.c:424 +#: builtin/commit.c:432 msgid "cannot read the index" msgstr "Kann Staging-Area nicht lesen" -#: builtin/commit.c:444 +#: builtin/commit.c:452 msgid "unable to write temporary index file" msgstr "Konnte temporäre Staging-Area-Datei nicht schreiben." -#: builtin/commit.c:535 builtin/commit.c:541 +#: builtin/commit.c:543 builtin/commit.c:549 #, c-format msgid "invalid commit: %s" msgstr "Ungültiger Commit: %s" -#: builtin/commit.c:563 +#: builtin/commit.c:571 msgid "malformed --author parameter" msgstr "Fehlerhafter --author Parameter" -#: builtin/commit.c:583 +#: builtin/commit.c:591 #, c-format msgid "Malformed ident string: '%s'" msgstr "Fehlerhafter Ident-String: '%s'" -#: builtin/commit.c:621 builtin/commit.c:654 builtin/commit.c:982 +#: builtin/commit.c:630 builtin/commit.c:663 builtin/commit.c:1007 #, c-format msgid "could not lookup commit %s" msgstr "Konnte Commit %s nicht nachschlagen" -#: builtin/commit.c:633 builtin/shortlog.c:271 +#: builtin/commit.c:642 builtin/shortlog.c:273 #, c-format msgid "(reading log message from standard input)\n" msgstr "(lese Log-Nachricht von Standard-Eingabe)\n" -#: builtin/commit.c:635 +#: builtin/commit.c:644 msgid "could not read log from standard input" msgstr "Konnte Log nicht von Standard-Eingabe lesen." -#: builtin/commit.c:639 +#: builtin/commit.c:648 #, c-format msgid "could not read log file '%s'" msgstr "Konnte Log-Datei '%s' nicht lesen" -#: builtin/commit.c:645 +#: builtin/commit.c:654 msgid "commit has empty message" msgstr "Commit hat eine leere Beschreibung" -#: builtin/commit.c:661 +#: builtin/commit.c:670 msgid "could not read MERGE_MSG" msgstr "Konnte MERGE_MSG nicht lesen" -#: builtin/commit.c:665 +#: builtin/commit.c:674 msgid "could not read SQUASH_MSG" msgstr "Konnte SQUASH_MSG nicht lesen" -#: builtin/commit.c:669 +#: builtin/commit.c:678 #, c-format msgid "could not read '%s'" msgstr "Konnte '%s' nicht lesen" -#: builtin/commit.c:730 +#: builtin/commit.c:749 msgid "could not write commit template" msgstr "Konnte Commit-Vorlage nicht schreiben" -#: builtin/commit.c:741 +#: builtin/commit.c:760 #, c-format msgid "" "\n" @@ -4137,7 +4312,7 @@ msgstr "" "\t%s\n" "und versuchen Sie es erneut.\n" -#: builtin/commit.c:746 +#: builtin/commit.c:765 #, c-format msgid "" "\n" @@ -4152,7 +4327,7 @@ msgstr "" "\t%s\n" "und versuchen Sie es erneut.\n" -#: builtin/commit.c:758 +#: builtin/commit.c:777 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -4162,7 +4337,7 @@ msgstr "" "die mit '%c' beginnen, werden ignoriert, und eine leere Beschreibung\n" "bricht den Commit ab.\n" -#: builtin/commit.c:763 +#: builtin/commit.c:782 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -4175,152 +4350,152 @@ msgstr "" "entfernen.\n" "Eine leere Beschreibung bricht den Commit ab.\n" -#: builtin/commit.c:776 +#: builtin/commit.c:795 #, c-format msgid "%sAuthor: %s" msgstr "%sAutor: %s" -#: builtin/commit.c:783 +#: builtin/commit.c:802 #, c-format msgid "%sCommitter: %s" msgstr "%sCommit-Ersteller: %s" -#: builtin/commit.c:803 +#: builtin/commit.c:822 msgid "Cannot read index" msgstr "Kann Staging-Area nicht lesen" -#: builtin/commit.c:845 +#: builtin/commit.c:865 msgid "Error building trees" msgstr "Fehler beim Erzeugen der \"Tree\"-Objekte" -#: builtin/commit.c:860 builtin/tag.c:359 +#: builtin/commit.c:880 builtin/tag.c:359 #, c-format msgid "Please supply the message using either -m or -F option.\n" msgstr "" "Bitte liefern Sie eine Beschreibung entweder mit der Option -m oder -F.\n" -#: builtin/commit.c:957 +#: builtin/commit.c:982 #, c-format msgid "No existing author found with '%s'" msgstr "Kein existierender Autor mit '%s' gefunden." -#: builtin/commit.c:972 builtin/commit.c:1208 +#: builtin/commit.c:997 builtin/commit.c:1237 #, c-format msgid "Invalid untracked files mode '%s'" msgstr "Ungültiger Modus '%s' für unbeobachtete Dateien" -#: builtin/commit.c:1009 +#: builtin/commit.c:1034 msgid "--long and -z are incompatible" msgstr "Die Optionen --long und -z sind inkompatibel." -#: builtin/commit.c:1039 +#: builtin/commit.c:1064 msgid "Using both --reset-author and --author does not make sense" msgstr "" "Die Optionen --reset-author und --author können nicht gemeinsam verwendet " "werden." -#: builtin/commit.c:1050 +#: builtin/commit.c:1075 msgid "You have nothing to amend." msgstr "Sie haben nichts für \"--amend\"." -#: builtin/commit.c:1053 +#: builtin/commit.c:1078 msgid "You are in the middle of a merge -- cannot amend." msgstr "Ein Merge ist im Gange -- kann \"--amend\" nicht ausführen." -#: builtin/commit.c:1055 +#: builtin/commit.c:1080 msgid "You are in the middle of a cherry-pick -- cannot amend." msgstr "\"cherry-pick\" ist im Gange -- kann \"--amend\" nicht ausführen." -#: builtin/commit.c:1058 +#: builtin/commit.c:1083 msgid "Options --squash and --fixup cannot be used together" msgstr "" "Die Optionen --squash und --fixup können nicht gemeinsam verwendet werden." -#: builtin/commit.c:1068 +#: builtin/commit.c:1093 msgid "Only one of -c/-C/-F/--fixup can be used." msgstr "Es kann nur eine Option von -c/-C/-F/--fixup verwendet werden." -#: builtin/commit.c:1070 +#: builtin/commit.c:1095 msgid "Option -m cannot be combined with -c/-C/-F/--fixup." msgstr "Die Option -m kann nicht mit -c/-C/-F/--fixup kombiniert werden." -#: builtin/commit.c:1078 +#: builtin/commit.c:1103 msgid "--reset-author can be used only with -C, -c or --amend." msgstr "" "Die Option --reset--author kann nur mit -C, -c oder --amend verwendet werden." -#: builtin/commit.c:1095 +#: builtin/commit.c:1120 msgid "Only one of --include/--only/--all/--interactive/--patch can be used." msgstr "" "Es kann nur eine Option von --include/--only/--all/--interactive/--patch " "verwendet werden." -#: builtin/commit.c:1097 +#: builtin/commit.c:1122 msgid "No paths with --include/--only does not make sense." msgstr "" "Die Optionen --include und --only können nur mit der Angabe von Pfaden " "verwendet werden." -#: builtin/commit.c:1099 +#: builtin/commit.c:1124 msgid "Clever... amending the last one with dirty index." msgstr "" "Klug... den letzten Commit mit einer geänderten Staging-Area nachbessern." -#: builtin/commit.c:1101 +#: builtin/commit.c:1126 msgid "Explicit paths specified without -i nor -o; assuming --only paths..." msgstr "" "Explizite Pfade ohne -i oder -o angegeben; unter der Annahme von --only " "Pfaden..." -#: builtin/commit.c:1111 builtin/tag.c:575 +#: builtin/commit.c:1136 builtin/tag.c:572 #, c-format msgid "Invalid cleanup mode %s" msgstr "Ungültiger \"cleanup\" Modus %s" -#: builtin/commit.c:1116 +#: builtin/commit.c:1141 msgid "Paths with -a does not make sense." msgstr "Die Option -a kann nur mit der Angabe von Pfaden verwendet werden." -#: builtin/commit.c:1222 builtin/commit.c:1455 +#: builtin/commit.c:1251 builtin/commit.c:1482 msgid "show status concisely" msgstr "zeigt Status im Kurzformat" -#: builtin/commit.c:1224 builtin/commit.c:1457 +#: builtin/commit.c:1253 builtin/commit.c:1484 msgid "show branch information" msgstr "zeigt Branchinformationen" -#: builtin/commit.c:1226 builtin/commit.c:1459 builtin/push.c:452 +#: builtin/commit.c:1255 builtin/commit.c:1486 builtin/push.c:460 msgid "machine-readable output" msgstr "maschinenlesbare Ausgabe" -#: builtin/commit.c:1229 builtin/commit.c:1461 +#: builtin/commit.c:1258 builtin/commit.c:1488 msgid "show status in long format (default)" msgstr "zeigt Status im Langformat (Standard)" -#: builtin/commit.c:1232 builtin/commit.c:1464 +#: builtin/commit.c:1261 builtin/commit.c:1491 msgid "terminate entries with NUL" msgstr "schließt Einträge mit NUL-Zeichen ab" -#: builtin/commit.c:1234 builtin/commit.c:1467 builtin/fast-export.c:667 -#: builtin/fast-export.c:670 builtin/tag.c:459 +#: builtin/commit.c:1263 builtin/commit.c:1494 builtin/fast-export.c:674 +#: builtin/fast-export.c:677 builtin/tag.c:459 msgid "mode" msgstr "Modus" -#: builtin/commit.c:1235 builtin/commit.c:1467 +#: builtin/commit.c:1264 builtin/commit.c:1494 msgid "show untracked files, optional modes: all, normal, no. (Default: all)" msgstr "" "zeigt nicht beobachtete Dateien, optionale Modi: all, normal, no. (Standard: " "all)" -#: builtin/commit.c:1238 +#: builtin/commit.c:1267 msgid "show ignored files" msgstr "zeigt ignorierte Dateien" -#: builtin/commit.c:1239 parse-options.h:154 +#: builtin/commit.c:1268 parse-options.h:156 msgid "when" msgstr "wann" -#: builtin/commit.c:1240 +#: builtin/commit.c:1269 msgid "" "ignore changes to submodules, optional when: all, dirty, untracked. " "(Default: all)" @@ -4328,219 +4503,219 @@ msgstr "" "ignoriert Änderungen in Submodulen, optional wenn: all, dirty, untracked. " "(Standard: all)" -#: builtin/commit.c:1242 +#: builtin/commit.c:1271 msgid "list untracked files in columns" msgstr "listet unbeobachtete Dateien in Spalten auf" -#: builtin/commit.c:1313 +#: builtin/commit.c:1340 msgid "couldn't look up newly created commit" msgstr "Konnte neu erstellten Commit nicht nachschlagen." -#: builtin/commit.c:1315 +#: builtin/commit.c:1342 msgid "could not parse newly created commit" msgstr "Konnte neulich erstellten Commit nicht analysieren." -#: builtin/commit.c:1356 +#: builtin/commit.c:1383 msgid "detached HEAD" msgstr "losgelöster HEAD" -#: builtin/commit.c:1358 +#: builtin/commit.c:1385 msgid " (root-commit)" msgstr " (Basis-Commit)" -#: builtin/commit.c:1425 +#: builtin/commit.c:1452 msgid "suppress summary after successful commit" msgstr "unterdrückt Zusammenfassung nach erfolgreichem Commit" -#: builtin/commit.c:1426 +#: builtin/commit.c:1453 msgid "show diff in commit message template" msgstr "zeigt Unterschiede in Commit-Beschreibungsvorlage an" -#: builtin/commit.c:1428 +#: builtin/commit.c:1455 msgid "Commit message options" msgstr "Optionen für Commit-Beschreibung" -#: builtin/commit.c:1429 builtin/tag.c:457 +#: builtin/commit.c:1456 builtin/tag.c:457 msgid "read message from file" msgstr "liest Beschreibung von Datei" -#: builtin/commit.c:1430 +#: builtin/commit.c:1457 msgid "author" msgstr "Autor" -#: builtin/commit.c:1430 +#: builtin/commit.c:1457 msgid "override author for commit" msgstr "überschreibt Autor eines Commits" -#: builtin/commit.c:1431 builtin/gc.c:178 +#: builtin/commit.c:1458 builtin/gc.c:260 msgid "date" msgstr "Datum" -#: builtin/commit.c:1431 +#: builtin/commit.c:1458 msgid "override date for commit" msgstr "überschreibt Datum eines Commits" -#: builtin/commit.c:1432 builtin/merge.c:223 builtin/notes.c:405 +#: builtin/commit.c:1459 builtin/merge.c:223 builtin/notes.c:405 #: builtin/notes.c:562 builtin/tag.c:455 msgid "message" msgstr "Beschreibung" -#: builtin/commit.c:1432 +#: builtin/commit.c:1459 msgid "commit message" msgstr "Commit-Beschreibung" -#: builtin/commit.c:1433 +#: builtin/commit.c:1460 msgid "reuse and edit message from specified commit" msgstr "verwendet wieder und editiert Beschreibung des angegebenen Commits" -#: builtin/commit.c:1434 +#: builtin/commit.c:1461 msgid "reuse message from specified commit" msgstr "verwendet Beschreibung des angegebenen Commits wieder" -#: builtin/commit.c:1435 +#: builtin/commit.c:1462 msgid "use autosquash formatted message to fixup specified commit" msgstr "" "verwendet eine automatisch zusammengesetzte Beschreibung zum Nachbessern des " "angegebenen Commits" -#: builtin/commit.c:1436 +#: builtin/commit.c:1463 msgid "use autosquash formatted message to squash specified commit" msgstr "" "verwendet eine automatisch zusammengesetzte Beschreibung beim \"squash\" des " "angegebenen Commits" -#: builtin/commit.c:1437 +#: builtin/commit.c:1464 msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "Setzt Sie als Autor des Commits (verwendet mit -C/-c/--amend)" -#: builtin/commit.c:1438 builtin/log.c:1160 builtin/revert.c:111 +#: builtin/commit.c:1465 builtin/log.c:1180 builtin/revert.c:86 msgid "add Signed-off-by:" msgstr "fügt 'Signed-off-by:'-Zeile hinzu" -#: builtin/commit.c:1439 +#: builtin/commit.c:1466 msgid "use specified template file" msgstr "verwendet angegebene Vorlagendatei" -#: builtin/commit.c:1440 +#: builtin/commit.c:1467 msgid "force edit of commit" msgstr "erzwingt Bearbeitung des Commits" -#: builtin/commit.c:1441 +#: builtin/commit.c:1468 msgid "default" msgstr "Standard" -#: builtin/commit.c:1441 builtin/tag.c:460 +#: builtin/commit.c:1468 builtin/tag.c:460 msgid "how to strip spaces and #comments from message" msgstr "" "wie Leerzeichen und #Kommentare von der Beschreibung getrennt werden sollen" -#: builtin/commit.c:1442 +#: builtin/commit.c:1469 msgid "include status in commit message template" msgstr "fügt Status in die Commit-Beschreibungsvorlage ein" -#: builtin/commit.c:1443 builtin/merge.c:230 builtin/tag.c:461 +#: builtin/commit.c:1470 builtin/merge.c:230 builtin/tag.c:461 msgid "key id" msgstr "Schlüssel-ID" -#: builtin/commit.c:1444 builtin/merge.c:231 +#: builtin/commit.c:1471 builtin/merge.c:231 msgid "GPG sign commit" msgstr "signiert Commit mit GPG" #. end commit message options -#: builtin/commit.c:1447 +#: builtin/commit.c:1474 msgid "Commit contents options" msgstr "Optionen für Commit-Inhalt" -#: builtin/commit.c:1448 +#: builtin/commit.c:1475 msgid "commit all changed files" msgstr "committet alle geänderten Dateien" -#: builtin/commit.c:1449 +#: builtin/commit.c:1476 msgid "add specified files to index for commit" msgstr "merkt die angegebenen Dateien zusätzlich zum Commit vor" -#: builtin/commit.c:1450 +#: builtin/commit.c:1477 msgid "interactively add files" msgstr "interaktives Hinzufügen von Dateien" -#: builtin/commit.c:1451 +#: builtin/commit.c:1478 msgid "interactively add changes" msgstr "interaktives Hinzufügen von Änderungen" -#: builtin/commit.c:1452 +#: builtin/commit.c:1479 msgid "commit only specified files" msgstr "committet nur die angegebenen Dateien" -#: builtin/commit.c:1453 +#: builtin/commit.c:1480 msgid "bypass pre-commit hook" msgstr "umgeht \"pre-commit hook\"" -#: builtin/commit.c:1454 +#: builtin/commit.c:1481 msgid "show what would be committed" msgstr "zeigt an, was committet werden würde" -#: builtin/commit.c:1465 +#: builtin/commit.c:1492 msgid "amend previous commit" msgstr "ändert vorherigen Commit" -#: builtin/commit.c:1466 +#: builtin/commit.c:1493 msgid "bypass post-rewrite hook" msgstr "umgeht \"post-rewrite hook\"" -#: builtin/commit.c:1471 +#: builtin/commit.c:1498 msgid "ok to record an empty change" msgstr "erlaubt Aufzeichnung einer leeren Änderung" -#: builtin/commit.c:1474 +#: builtin/commit.c:1500 msgid "ok to record a change with an empty message" msgstr "erlaubt Aufzeichnung einer Änderung mit einer leeren Beschreibung" -#: builtin/commit.c:1507 +#: builtin/commit.c:1529 msgid "could not parse HEAD commit" msgstr "Konnte Commit von HEAD nicht analysieren." -#: builtin/commit.c:1545 builtin/merge.c:525 +#: builtin/commit.c:1567 builtin/merge.c:525 #, c-format msgid "could not open '%s' for reading" msgstr "Konnte '%s' nicht zum Lesen öffnen." -#: builtin/commit.c:1552 +#: builtin/commit.c:1574 #, c-format msgid "Corrupt MERGE_HEAD file (%s)" msgstr "Beschädigte MERGE_HEAD-Datei (%s)" -#: builtin/commit.c:1559 +#: builtin/commit.c:1581 msgid "could not read MERGE_MODE" msgstr "Konnte MERGE_MODE nicht lesen" -#: builtin/commit.c:1578 +#: builtin/commit.c:1600 #, c-format msgid "could not read commit message: %s" msgstr "Konnte Commit-Beschreibung nicht lesen: %s" -#: builtin/commit.c:1592 +#: builtin/commit.c:1614 #, c-format msgid "Aborting commit; you did not edit the message.\n" msgstr "Commit abgebrochen; Sie haben die Beschreibung nicht editiert.\n" -#: builtin/commit.c:1597 +#: builtin/commit.c:1619 #, c-format msgid "Aborting commit due to empty commit message.\n" msgstr "Commit aufgrund leerer Beschreibung abgebrochen.\n" -#: builtin/commit.c:1612 builtin/merge.c:861 builtin/merge.c:886 +#: builtin/commit.c:1634 builtin/merge.c:861 builtin/merge.c:886 msgid "failed to write commit object" msgstr "Fehler beim Schreiben des Commit-Objektes." -#: builtin/commit.c:1633 +#: builtin/commit.c:1655 msgid "cannot lock HEAD ref" msgstr "Kann Referenz von HEAD nicht sperren." -#: builtin/commit.c:1637 +#: builtin/commit.c:1659 msgid "cannot update HEAD ref" msgstr "Kann Referenz von HEAD nicht aktualisieren." -#: builtin/commit.c:1648 +#: builtin/commit.c:1670 msgid "" "Repository has been updated, but unable to write\n" "new_index file. Check that disk is not full or quota is\n" @@ -4551,127 +4726,131 @@ msgstr "" "voll und Ihr Kontingent nicht aufgebraucht ist und führen Sie\n" "anschließend \"git reset HEAD\" zu Wiederherstellung aus." -#: builtin/config.c:7 +#: builtin/config.c:8 msgid "git config [options]" msgstr "git config [Optionen]" -#: builtin/config.c:52 +#: builtin/config.c:54 msgid "Config file location" msgstr "Ort der Konfigurationsdatei" -#: builtin/config.c:53 +#: builtin/config.c:55 msgid "use global config file" msgstr "verwendet globale Konfigurationsdatei" -#: builtin/config.c:54 +#: builtin/config.c:56 msgid "use system config file" msgstr "verwendet systemweite Konfigurationsdatei" -#: builtin/config.c:55 +#: builtin/config.c:57 msgid "use repository config file" msgstr "verwendet Konfigurationsdatei des Repositories" -#: builtin/config.c:56 +#: builtin/config.c:58 msgid "use given config file" msgstr "verwendet die angegebene Konfigurationsdatei" -#: builtin/config.c:57 +#: builtin/config.c:59 msgid "blob-id" msgstr "Blob-Id" -#: builtin/config.c:57 +#: builtin/config.c:59 msgid "read config from given blob object" msgstr "liest Konfiguration von angegebenem Blob-Objekt" -#: builtin/config.c:58 +#: builtin/config.c:60 msgid "Action" msgstr "Aktion" -#: builtin/config.c:59 +#: builtin/config.c:61 msgid "get value: name [value-regex]" msgstr "gibt Wert zurück: Name [Wert-regex]" -#: builtin/config.c:60 +#: builtin/config.c:62 msgid "get all values: key [value-regex]" msgstr "gibt alle Werte zurück: Schlüssel [Wert-regex]" -#: builtin/config.c:61 +#: builtin/config.c:63 msgid "get values for regexp: name-regex [value-regex]" msgstr "gibt Werte für den regulären Ausdruck zurück: Name-regex [Wert-regex]" -#: builtin/config.c:62 +#: builtin/config.c:64 +msgid "get value specific for the URL: section[.var] URL" +msgstr "gibt Wert spezifisch für eine URL zurück: section[.var] URL" + +#: builtin/config.c:65 msgid "replace all matching variables: name value [value_regex]" msgstr "ersetzt alle passenden Variablen: Name Wert [Wert-regex] " -#: builtin/config.c:63 +#: builtin/config.c:66 msgid "add a new variable: name value" msgstr "fügt neue Variable hinzu: Name Wert" -#: builtin/config.c:64 +#: builtin/config.c:67 msgid "remove a variable: name [value-regex]" msgstr "entfernt eine Variable: Name [Wert-regex]" -#: builtin/config.c:65 +#: builtin/config.c:68 msgid "remove all matches: name [value-regex]" msgstr "entfernt alle Ãœbereinstimmungen: Name [Wert-regex]" -#: builtin/config.c:66 +#: builtin/config.c:69 msgid "rename section: old-name new-name" msgstr "benennt eine Sektion um: alter-Name neuer-Name" -#: builtin/config.c:67 +#: builtin/config.c:70 msgid "remove a section: name" msgstr "entfernt eine Sektion: Name" -#: builtin/config.c:68 +#: builtin/config.c:71 msgid "list all" msgstr "listet alles auf" -#: builtin/config.c:69 +#: builtin/config.c:72 msgid "open an editor" msgstr "öffnet einen Editor" -#: builtin/config.c:70 builtin/config.c:71 +#: builtin/config.c:73 builtin/config.c:74 msgid "slot" msgstr "Slot" -#: builtin/config.c:70 +#: builtin/config.c:73 msgid "find the color configured: [default]" msgstr "findet die konfigurierte Farbe: [Standard]" -#: builtin/config.c:71 +#: builtin/config.c:74 msgid "find the color setting: [stdout-is-tty]" msgstr "findet die Farbeinstellung: [Standard-Ausgabe-ist-Terminal]" -#: builtin/config.c:72 +#: builtin/config.c:75 msgid "Type" msgstr "Typ" -#: builtin/config.c:73 +#: builtin/config.c:76 msgid "value is \"true\" or \"false\"" msgstr "Wert ist \"true\" oder \"false\"" -#: builtin/config.c:74 +#: builtin/config.c:77 msgid "value is decimal number" msgstr "Wert ist eine Dezimalzahl" -#: builtin/config.c:75 +#: builtin/config.c:78 msgid "value is --bool or --int" msgstr "Wert ist --bool oder --int" -#: builtin/config.c:76 +#: builtin/config.c:79 msgid "value is a path (file or directory name)" msgstr "Wert ist ein Pfad (Datei oder Verzeichnisname)" -#: builtin/config.c:77 +#: builtin/config.c:80 msgid "Other" msgstr "Sonstiges" -#: builtin/config.c:78 +#: builtin/config.c:81 msgid "terminate values with NUL byte" msgstr "schließt Werte mit NUL-Byte ab" -#: builtin/config.c:79 +#: builtin/config.c:82 msgid "respect include directives on lookup" msgstr "beachtet \"include\"-Direktiven beim Nachschlagen" @@ -4858,39 +5037,39 @@ msgstr "unbehandeltes Objekt '%s' angegeben" msgid "git fast-export [rev-list-opts]" msgstr "git fast-export [rev-list-opts]" -#: builtin/fast-export.c:666 +#: builtin/fast-export.c:673 msgid "show progress after <n> objects" msgstr "zeigt Fortschritt nach <n> Objekten an" -#: builtin/fast-export.c:668 +#: builtin/fast-export.c:675 msgid "select handling of signed tags" msgstr "wählt Behandlung von signierten Tags" -#: builtin/fast-export.c:671 +#: builtin/fast-export.c:678 msgid "select handling of tags that tag filtered objects" msgstr "wählt Behandlung von Tags, die gefilterte Objekte markieren" -#: builtin/fast-export.c:674 +#: builtin/fast-export.c:681 msgid "Dump marks to this file" msgstr "Schreibt Kennzeichen in diese Datei" -#: builtin/fast-export.c:676 +#: builtin/fast-export.c:683 msgid "Import marks from this file" msgstr "Importiert Kennzeichen von dieser Datei" -#: builtin/fast-export.c:678 +#: builtin/fast-export.c:685 msgid "Fake a tagger when tags lack one" msgstr "erzeugt künstlich einen Tag-Ersteller, wenn das Tag keinen hat" -#: builtin/fast-export.c:680 +#: builtin/fast-export.c:687 msgid "Output full tree for each commit" msgstr "gibt für jeden Commit das gesamte Verzeichnis aus" -#: builtin/fast-export.c:682 +#: builtin/fast-export.c:689 msgid "Use the done feature to terminate the stream" msgstr "Benutzt die \"done\"-Funktion um den Strom abzuschließen" -#: builtin/fast-export.c:683 +#: builtin/fast-export.c:690 msgid "Skip output of blob data" msgstr "Ãœberspringt Ausgabe von Blob-Daten" @@ -4910,147 +5089,147 @@ msgstr "git fetch --multiple [<Optionen>] [(<Repository> | <Gruppe>)...]" msgid "git fetch --all [<options>]" msgstr "git fetch --all [<Optionen>]" -#: builtin/fetch.c:60 +#: builtin/fetch.c:74 msgid "fetch from all remotes" msgstr "fordert von allen Remote-Repositories an" -#: builtin/fetch.c:62 +#: builtin/fetch.c:76 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "hängt an .git/FETCH_HEAD an, anstatt zu überschreiben" -#: builtin/fetch.c:64 +#: builtin/fetch.c:78 msgid "path to upload pack on remote end" msgstr "Pfad des Programms zum Hochladen von Paketen auf der Gegenseite" -#: builtin/fetch.c:65 +#: builtin/fetch.c:79 msgid "force overwrite of local branch" msgstr "erzwingt das Ãœberschreiben von lokalen Branches" -#: builtin/fetch.c:67 +#: builtin/fetch.c:81 msgid "fetch from multiple remotes" msgstr "fordert von mehreren Remote-Repositories an" -#: builtin/fetch.c:69 +#: builtin/fetch.c:83 msgid "fetch all tags and associated objects" msgstr "fordert alle Tags und verbundene Objekte an" -#: builtin/fetch.c:71 +#: builtin/fetch.c:85 msgid "do not fetch all tags (--no-tags)" msgstr "fordert nicht alle Tags an (--no-tags)" -#: builtin/fetch.c:73 +#: builtin/fetch.c:87 msgid "prune remote-tracking branches no longer on remote" msgstr "" "entfernt Remote-Tracking-Branches, die sich nicht mehr im Remote-Repository " "befinden" -#: builtin/fetch.c:74 +#: builtin/fetch.c:88 msgid "on-demand" msgstr "bei-Bedarf" -#: builtin/fetch.c:75 +#: builtin/fetch.c:89 msgid "control recursive fetching of submodules" msgstr "kontrolliert rekursive Anforderungen von Submodulen" -#: builtin/fetch.c:79 +#: builtin/fetch.c:93 msgid "keep downloaded pack" msgstr "behält heruntergeladenes Paket" -#: builtin/fetch.c:81 +#: builtin/fetch.c:95 msgid "allow updating of HEAD ref" msgstr "erlaubt Aktualisierung der \"HEAD\"-Referenz" -#: builtin/fetch.c:84 +#: builtin/fetch.c:98 msgid "deepen history of shallow clone" msgstr "vertieft die Historie eines flachen Klons" -#: builtin/fetch.c:86 +#: builtin/fetch.c:100 msgid "convert to a complete repository" msgstr "konvertiert zu einem vollständigen Repository" -#: builtin/fetch.c:88 builtin/log.c:1177 +#: builtin/fetch.c:102 builtin/log.c:1197 msgid "dir" msgstr "Verzeichnis" -#: builtin/fetch.c:89 +#: builtin/fetch.c:103 msgid "prepend this to submodule path output" msgstr "stellt dies an die Ausgabe der Submodul-Pfade voran" -#: builtin/fetch.c:92 +#: builtin/fetch.c:106 msgid "default mode for recursion" msgstr "Standard-Modus für Rekursion" -#: builtin/fetch.c:220 +#: builtin/fetch.c:236 msgid "Couldn't find remote ref HEAD" msgstr "Konnte Remote-Referenz von HEAD nicht finden." -#: builtin/fetch.c:273 +#: builtin/fetch.c:290 #, c-format msgid "object %s not found" msgstr "Objekt %s nicht gefunden" -#: builtin/fetch.c:278 +#: builtin/fetch.c:295 msgid "[up to date]" msgstr "[aktuell]" -#: builtin/fetch.c:292 +#: builtin/fetch.c:309 #, c-format msgid "! %-*s %-*s -> %s (can't fetch in current branch)" msgstr "" "! %-*s %-*s -> %s (kann \"fetch\" im aktuellen Branch nicht ausführen)" -#: builtin/fetch.c:293 builtin/fetch.c:379 +#: builtin/fetch.c:310 builtin/fetch.c:396 msgid "[rejected]" msgstr "[zurückgewiesen]" -#: builtin/fetch.c:304 +#: builtin/fetch.c:321 msgid "[tag update]" msgstr "[Tag Aktualisierung]" -#: builtin/fetch.c:306 builtin/fetch.c:341 builtin/fetch.c:359 +#: builtin/fetch.c:323 builtin/fetch.c:358 builtin/fetch.c:376 msgid " (unable to update local ref)" msgstr " (kann lokale Referenz nicht aktualisieren)" -#: builtin/fetch.c:324 +#: builtin/fetch.c:341 msgid "[new tag]" msgstr "[neues Tag]" -#: builtin/fetch.c:327 +#: builtin/fetch.c:344 msgid "[new branch]" msgstr "[neuer Branch]" -#: builtin/fetch.c:330 +#: builtin/fetch.c:347 msgid "[new ref]" msgstr "[neue Referenz]" -#: builtin/fetch.c:375 +#: builtin/fetch.c:392 msgid "unable to update local ref" msgstr "kann lokale Referenz nicht aktualisieren" -#: builtin/fetch.c:375 +#: builtin/fetch.c:392 msgid "forced update" msgstr "Aktualisierung erzwungen" -#: builtin/fetch.c:381 +#: builtin/fetch.c:398 msgid "(non-fast-forward)" msgstr "(kein Vorspulen)" -#: builtin/fetch.c:412 builtin/fetch.c:718 +#: builtin/fetch.c:429 builtin/fetch.c:735 #, c-format msgid "cannot open %s: %s\n" msgstr "kann %s nicht öffnen: %s\n" -#: builtin/fetch.c:421 +#: builtin/fetch.c:438 #, c-format msgid "%s did not send all necessary objects\n" msgstr "%s hat nicht alle erforderlichen Objekte gesendet\n" -#: builtin/fetch.c:520 +#: builtin/fetch.c:537 #, c-format msgid "From %.*s\n" msgstr "Von %.*s\n" -#: builtin/fetch.c:531 +#: builtin/fetch.c:548 #, c-format msgid "" "some local refs could not be updated; try running\n" @@ -5059,57 +5238,57 @@ msgstr "" "Einige lokale Referenzen konnten nicht aktualisiert werden; versuchen Sie\n" "'git remote prune %s' um jeden älteren, widersprüchlichen Branch zu löschen." -#: builtin/fetch.c:581 +#: builtin/fetch.c:598 #, c-format msgid " (%s will become dangling)" msgstr " (%s wird unreferenziert)" -#: builtin/fetch.c:582 +#: builtin/fetch.c:599 #, c-format msgid " (%s has become dangling)" msgstr " (%s wurde unreferenziert)" -#: builtin/fetch.c:589 +#: builtin/fetch.c:606 msgid "[deleted]" msgstr "[gelöscht]" -#: builtin/fetch.c:590 builtin/remote.c:1055 +#: builtin/fetch.c:607 builtin/remote.c:1055 msgid "(none)" msgstr "(nichts)" -#: builtin/fetch.c:708 +#: builtin/fetch.c:725 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "" "Der \"fetch\" in den aktuellen Branch %s von einem nicht-Bare-Repository " "wurde verweigert." -#: builtin/fetch.c:742 -#, c-format -msgid "Don't know how to fetch from %s" -msgstr "Weiß nicht wie von %s angefordert wird." - -#: builtin/fetch.c:823 +#: builtin/fetch.c:744 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "Option \"%s\" Wert \"%s\" ist nicht gültig für %s" -#: builtin/fetch.c:826 +#: builtin/fetch.c:747 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "Option \"%s\" wird ignoriert für %s\n" -#: builtin/fetch.c:928 +#: builtin/fetch.c:801 +#, c-format +msgid "Don't know how to fetch from %s" +msgstr "Weiß nicht wie von %s angefordert wird." + +#: builtin/fetch.c:976 #, c-format msgid "Fetching %s\n" msgstr "Fordere an von %s\n" -#: builtin/fetch.c:930 builtin/remote.c:100 +#: builtin/fetch.c:978 builtin/remote.c:100 #, c-format msgid "Could not fetch %s" msgstr "Konnte nicht von %s anfordern" -#: builtin/fetch.c:949 +#: builtin/fetch.c:997 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." @@ -5118,35 +5297,35 @@ msgstr "" "oder den Namen des Remote-Repositories an, von welchem neue\n" "Commits angefordert werden sollen." -#: builtin/fetch.c:969 +#: builtin/fetch.c:1020 msgid "You need to specify a tag name." msgstr "Sie müssen den Namen des Tags angeben." -#: builtin/fetch.c:1015 +#: builtin/fetch.c:1068 msgid "--depth and --unshallow cannot be used together" msgstr "" "Die Optionen --depth und --unshallow können nicht gemeinsam verwendet werden." -#: builtin/fetch.c:1017 +#: builtin/fetch.c:1070 msgid "--unshallow on a complete repository does not make sense" msgstr "" "Die Option --unshallow kann nicht in einem vollständigen Repository " "verwendet werden." -#: builtin/fetch.c:1036 +#: builtin/fetch.c:1089 msgid "fetch --all does not take a repository argument" msgstr "fetch --all akzeptiert kein Repository als Argument" -#: builtin/fetch.c:1038 +#: builtin/fetch.c:1091 msgid "fetch --all does not make sense with refspecs" msgstr "fetch --all kann nicht mit Refspecs verwendet werden." -#: builtin/fetch.c:1049 +#: builtin/fetch.c:1102 #, c-format msgid "No such remote or remote group: %s" msgstr "Kein Remote-Repository (einzeln oder Gruppe): %s" -#: builtin/fetch.c:1057 +#: builtin/fetch.c:1110 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "" "Das Abholen einer Gruppe von Remote-Repositories kann nicht mit der Angabe\n" @@ -5157,9 +5336,9 @@ msgid "git fmt-merge-msg [-m <message>] [--log[=<n>]|--no-log] [--file <file>]" msgstr "" "git fmt-merge-msg [-m <Beschreibung>] [--log[=<n>]|--no-log] [--file <Datei>]" -#: builtin/fmt-merge-msg.c:663 builtin/fmt-merge-msg.c:666 builtin/grep.c:700 -#: builtin/merge.c:203 builtin/show-branch.c:655 builtin/show-ref.c:179 -#: builtin/tag.c:446 parse-options.h:133 parse-options.h:243 +#: builtin/fmt-merge-msg.c:663 builtin/fmt-merge-msg.c:666 builtin/grep.c:702 +#: builtin/merge.c:203 builtin/show-branch.c:655 builtin/show-ref.c:178 +#: builtin/tag.c:446 parse-options.h:135 parse-options.h:245 msgid "n" msgstr "Anzahl" @@ -5183,117 +5362,122 @@ msgstr "verwendet <Text> als Beschreibungsanfang" msgid "file to read from" msgstr "Datei zum Einlesen" -#: builtin/for-each-ref.c:979 +#: builtin/for-each-ref.c:995 msgid "git for-each-ref [options] [<pattern>]" msgstr "git for-each-ref [Optionen] [<Muster>]" -#: builtin/for-each-ref.c:994 +#: builtin/for-each-ref.c:1010 msgid "quote placeholders suitably for shells" msgstr "formatiert Platzhalter als Shell-String" -#: builtin/for-each-ref.c:996 +#: builtin/for-each-ref.c:1012 msgid "quote placeholders suitably for perl" msgstr "formatiert Platzhalter als Perl-String" -#: builtin/for-each-ref.c:998 +#: builtin/for-each-ref.c:1014 msgid "quote placeholders suitably for python" msgstr "formatiert Platzhalter als Python-String" -#: builtin/for-each-ref.c:1000 +#: builtin/for-each-ref.c:1016 msgid "quote placeholders suitably for tcl" msgstr "formatiert Platzhalter als TCL-String" -#: builtin/for-each-ref.c:1003 +#: builtin/for-each-ref.c:1019 msgid "show only <n> matched refs" msgstr "zeigt nur <n> passende Referenzen" -#: builtin/for-each-ref.c:1004 +#: builtin/for-each-ref.c:1020 msgid "format" msgstr "Format" -#: builtin/for-each-ref.c:1004 +#: builtin/for-each-ref.c:1020 msgid "format to use for the output" msgstr "für die Ausgabe zu verwendendes Format" -#: builtin/for-each-ref.c:1005 +#: builtin/for-each-ref.c:1021 msgid "key" msgstr "Schüssel" -#: builtin/for-each-ref.c:1006 +#: builtin/for-each-ref.c:1022 msgid "field name to sort on" msgstr "sortiere nach diesem Feld" -#: builtin/fsck.c:608 +#: builtin/fsck.c:607 msgid "git fsck [options] [<object>...]" msgstr "git fsck [Optionen] [<Objekt>...]" -#: builtin/fsck.c:614 +#: builtin/fsck.c:613 msgid "show unreachable objects" msgstr "zeigt unerreichbare Objekte" -#: builtin/fsck.c:615 +#: builtin/fsck.c:614 msgid "show dangling objects" msgstr "zeigt unreferenzierte Objekte" -#: builtin/fsck.c:616 +#: builtin/fsck.c:615 msgid "report tags" msgstr "meldet Tags" -#: builtin/fsck.c:617 +#: builtin/fsck.c:616 msgid "report root nodes" msgstr "meldet Hauptwurzeln" -#: builtin/fsck.c:618 +#: builtin/fsck.c:617 msgid "make index objects head nodes" msgstr "prüft Objekte in der Staging-Area" -#: builtin/fsck.c:619 +#: builtin/fsck.c:618 msgid "make reflogs head nodes (default)" msgstr "prüft die Reflogs (Standard)" -#: builtin/fsck.c:620 +#: builtin/fsck.c:619 msgid "also consider packs and alternate objects" msgstr "" -#: builtin/fsck.c:621 +#: builtin/fsck.c:620 msgid "enable more strict checking" msgstr "aktiviert genauere Prüfung" -#: builtin/fsck.c:623 +#: builtin/fsck.c:622 msgid "write dangling objects in .git/lost-found" msgstr "schreibt unreferenzierte Objekte nach .git/lost-found" -#: builtin/fsck.c:624 builtin/prune.c:134 +#: builtin/fsck.c:623 builtin/prune.c:134 msgid "show progress" msgstr "zeigt Fortschrittsanzeige" -#: builtin/gc.c:22 +#: builtin/gc.c:23 msgid "git gc [options]" msgstr "git gc [Optionen]" -#: builtin/gc.c:63 +#: builtin/gc.c:79 #, c-format msgid "Invalid %s: '%s'" msgstr "Ungültiger %s: '%s'" -#: builtin/gc.c:90 +#: builtin/gc.c:106 #, c-format msgid "insanely long object directory %.*s" msgstr "zu langes Objekt-Verzeichnis %.*s" -#: builtin/gc.c:179 +#: builtin/gc.c:261 msgid "prune unreferenced objects" msgstr "entfernt unreferenzierte Objekte" -#: builtin/gc.c:181 +#: builtin/gc.c:263 msgid "be more thorough (increased runtime)" msgstr "mehr Gründlichkeit (erhöht Laufzeit)" -#: builtin/gc.c:182 +#: builtin/gc.c:264 msgid "enable auto-gc mode" msgstr "aktiviert \"auto-gc\" Modus" -#: builtin/gc.c:222 +#: builtin/gc.c:265 +msgid "force running gc even if there may be another gc running" +msgstr "erzwingt Ausführung von \"git gc\" selbst wenn ein anderes\n" +"\"git gc\" bereits ausgeführt wird" + +#: builtin/gc.c:305 #, c-format msgid "" "Auto packing the repository for optimum performance. You may also\n" @@ -5303,43 +5487,52 @@ msgstr "" "komprimiert. Sie können auch \"git gc\" manuell ausführen.\n" "Siehe \"git help gc\" für weitere Informationen.\n" -#: builtin/gc.c:249 +#. be quiet on --auto +#: builtin/gc.c:315 +#, c-format +msgid "" +"gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)" +msgstr "" +"\"git gc\" wird bereits auf Maschine '%s' pid %<PRIuMAX> ausgeführt\n" +"(benutzen Sie --force falls nicht)" + +#: builtin/gc.c:340 msgid "" "There are too many unreachable loose objects; run 'git prune' to remove them." msgstr "" "Es gibt zu viele unerreichbare lose Objekte; führen Sie 'git prune' aus, um " "diese zu löschen." -#: builtin/grep.c:22 +#: builtin/grep.c:23 msgid "git grep [options] [-e] <pattern> [<rev>...] [[--] <path>...]" msgstr "git grep [Optionen] [-e] <Muster> [<Commit>...] [[--] <Pfad>...]" -#: builtin/grep.c:217 +#: builtin/grep.c:218 #, c-format msgid "grep: failed to create thread: %s" msgstr "grep: Fehler beim Erzeugen eines Thread: %s" -#: builtin/grep.c:364 +#: builtin/grep.c:365 #, c-format msgid "Failed to chdir: %s" msgstr "Fehler beim Verzeichniswechsel: %s" -#: builtin/grep.c:442 builtin/grep.c:477 +#: builtin/grep.c:443 builtin/grep.c:478 #, c-format msgid "unable to read tree (%s)" msgstr "konnte \"Tree\"-Objekt (%s) nicht lesen" -#: builtin/grep.c:492 +#: builtin/grep.c:493 #, c-format msgid "unable to grep from object of type %s" msgstr "kann \"grep\" nicht mit Objekten des Typs %s durchführen" -#: builtin/grep.c:550 +#: builtin/grep.c:551 #, c-format msgid "switch `%c' expects a numerical value" msgstr "Schalter '%c' erwartet einen numerischen Wert" -#: builtin/grep.c:567 +#: builtin/grep.c:568 #, c-format msgid "cannot open '%s'" msgstr "kann '%s' nicht öffnen" @@ -5381,169 +5574,173 @@ msgid "don't match patterns in binary files" msgstr "findet keine Muster in Binärdateien" #: builtin/grep.c:662 +msgid "process binary files with textconv filters" +msgstr "verarbeitet binäre Dateien mit \"textconv\"-Filtern" + +#: builtin/grep.c:664 msgid "descend at most <depth> levels" msgstr "durchläuft höchstens <Tiefe> Ebenen" -#: builtin/grep.c:666 +#: builtin/grep.c:668 msgid "use extended POSIX regular expressions" msgstr "verwendet erweiterte reguläre Ausdrücke aus POSIX" -#: builtin/grep.c:669 +#: builtin/grep.c:671 msgid "use basic POSIX regular expressions (default)" msgstr "verwendet grundlegende reguläre Ausdrücke aus POSIX (Standard)" -#: builtin/grep.c:672 +#: builtin/grep.c:674 msgid "interpret patterns as fixed strings" msgstr "interpretiert Muster als feste Zeichenketten" -#: builtin/grep.c:675 +#: builtin/grep.c:677 msgid "use Perl-compatible regular expressions" msgstr "verwendet Perl-kompatible reguläre Ausdrücke" -#: builtin/grep.c:678 +#: builtin/grep.c:680 msgid "show line numbers" msgstr "zeigt Zeilennummern" -#: builtin/grep.c:679 +#: builtin/grep.c:681 msgid "don't show filenames" msgstr "zeigt keine Dateinamen" -#: builtin/grep.c:680 +#: builtin/grep.c:682 msgid "show filenames" msgstr "zeigt Dateinamen" -#: builtin/grep.c:682 +#: builtin/grep.c:684 msgid "show filenames relative to top directory" msgstr "zeigt Dateinamen relativ zum Projektverzeichnis" -#: builtin/grep.c:684 +#: builtin/grep.c:686 msgid "show only filenames instead of matching lines" msgstr "zeigt nur Dateinamen anstatt übereinstimmende Zeilen" -#: builtin/grep.c:686 +#: builtin/grep.c:688 msgid "synonym for --files-with-matches" msgstr "Synonym für --files-with-matches" -#: builtin/grep.c:689 +#: builtin/grep.c:691 msgid "show only the names of files without match" msgstr "zeigt nur die Dateinamen ohne Ãœbereinstimmungen" -#: builtin/grep.c:691 +#: builtin/grep.c:693 msgid "print NUL after filenames" msgstr "gibt NUL-Zeichen nach Dateinamen aus" -#: builtin/grep.c:693 +#: builtin/grep.c:695 msgid "show the number of matches instead of matching lines" msgstr "zeigt, anstatt der Zeilen, die Anzahl der übereinstimmenden Zeilen" -#: builtin/grep.c:694 +#: builtin/grep.c:696 msgid "highlight matches" msgstr "hebt Ãœbereinstimmungen hervor" -#: builtin/grep.c:696 +#: builtin/grep.c:698 msgid "print empty line between matches from different files" msgstr "" "gibt eine Leerzeile zwischen Ãœbereinstimmungen in verschiedenen Dateien aus" -#: builtin/grep.c:698 +#: builtin/grep.c:700 msgid "show filename only once above matches from same file" msgstr "" "zeigt den Dateinamen nur einmal oberhalb der Ãœbereinstimmungen aus dieser " "Datei an" -#: builtin/grep.c:701 +#: builtin/grep.c:703 msgid "show <n> context lines before and after matches" msgstr "zeigt <n> Zeilen vor und nach den Ãœbereinstimmungen an" -#: builtin/grep.c:704 +#: builtin/grep.c:706 msgid "show <n> context lines before matches" msgstr "zeigt <n> Zeilen vor den Ãœbereinstimmungen an" -#: builtin/grep.c:706 +#: builtin/grep.c:708 msgid "show <n> context lines after matches" msgstr "zeigt <n> Zeilen nach den Ãœbereinstimmungen an" -#: builtin/grep.c:707 +#: builtin/grep.c:709 msgid "shortcut for -C NUM" msgstr "Kurzform für -C NUM" -#: builtin/grep.c:710 +#: builtin/grep.c:712 msgid "show a line with the function name before matches" msgstr "zeigt eine Zeile mit dem Funktionsnamen vor Ãœbereinstimmungen an" -#: builtin/grep.c:712 +#: builtin/grep.c:714 msgid "show the surrounding function" msgstr "zeigt die umgebende Funktion an" -#: builtin/grep.c:715 +#: builtin/grep.c:717 msgid "read patterns from file" msgstr "liest Muster von einer Datei" -#: builtin/grep.c:717 +#: builtin/grep.c:719 msgid "match <pattern>" msgstr "findet <Muster>" -#: builtin/grep.c:719 +#: builtin/grep.c:721 msgid "combine patterns specified with -e" msgstr "kombiniert Muster, die mit -e angegeben wurden" -#: builtin/grep.c:731 +#: builtin/grep.c:733 msgid "indicate hit with exit status without output" msgstr "zeigt Ãœbereinstimmungen nur durch Beendigungsstatus an" -#: builtin/grep.c:733 +#: builtin/grep.c:735 msgid "show only matches from files that match all patterns" msgstr "zeigt nur Ãœbereinstimmungen von Dateien, die allen Mustern entsprechen" -#: builtin/grep.c:735 +#: builtin/grep.c:737 msgid "show parse tree for grep expression" msgstr "zeigt geparstes Verzeichnis für \"grep\"-Ausdruck" -#: builtin/grep.c:739 +#: builtin/grep.c:741 msgid "pager" msgstr "Anzeigeprogramm" -#: builtin/grep.c:739 +#: builtin/grep.c:741 msgid "show matching files in the pager" msgstr "zeigt Dateien mit Ãœbereinstimmungen im Anzeigeprogramm" -#: builtin/grep.c:742 +#: builtin/grep.c:744 msgid "allow calling of grep(1) (ignored by this build)" msgstr "erlaubt den Aufruf von grep(1) (von dieser Programmversion ignoriert)" -#: builtin/grep.c:743 builtin/show-ref.c:188 +#: builtin/grep.c:745 builtin/show-ref.c:187 msgid "show usage" msgstr "zeigt Verwendung" -#: builtin/grep.c:810 +#: builtin/grep.c:812 msgid "no pattern given." msgstr "keine Muster angegeben" -#: builtin/grep.c:865 +#: builtin/grep.c:870 msgid "--open-files-in-pager only works on the worktree" msgstr "" "Die Option --open-files-in-pager kann nur innerhalb des " "Arbeitsverzeichnisses verwendet werden." -#: builtin/grep.c:888 +#: builtin/grep.c:893 msgid "--cached or --untracked cannot be used with --no-index." msgstr "" "Die Optionen --cached und --untracked können nicht mit --no-index verwendet " "werden." -#: builtin/grep.c:893 +#: builtin/grep.c:898 msgid "--no-index or --untracked cannot be used with revs." msgstr "" "Die Optionen --no-index und --untracked können nicht mit Commits verwendet " "werden." -#: builtin/grep.c:896 +#: builtin/grep.c:901 msgid "--[no-]exclude-standard cannot be used for tracked contents." msgstr "" "Die Option --[no-]exclude-standard kann nicht mit beobachteten Inhalten " "verwendet werden." -#: builtin/grep.c:904 +#: builtin/grep.c:909 msgid "both --cached and trees are given." msgstr "Die Option --cached kann nicht mit \"Tree\"-Objekten verwendet werden." @@ -5799,8 +5996,8 @@ msgstr "ernsthafte Inkonsistenz nach Dekomprimierung" msgid "SHA1 COLLISION FOUND WITH %s !" msgstr "SHA1 KOLLISION MIT %s GEFUNDEN !" -#: builtin/index-pack.c:669 builtin/pack-objects.c:170 -#: builtin/pack-objects.c:262 +#: builtin/index-pack.c:669 builtin/pack-objects.c:171 +#: builtin/pack-objects.c:263 #, c-format msgid "unable to read %s" msgstr "kann %s nicht lesen" @@ -5829,155 +6026,155 @@ msgstr "Fehler in Objekt" msgid "Not all child objects of %s are reachable" msgstr "Nicht alle Kind-Objekte von %s sind erreichbar" -#: builtin/index-pack.c:838 builtin/index-pack.c:868 +#: builtin/index-pack.c:839 builtin/index-pack.c:869 msgid "failed to apply delta" msgstr "Konnte Dateiunterschied nicht anwenden" -#: builtin/index-pack.c:1009 +#: builtin/index-pack.c:1010 msgid "Receiving objects" msgstr "Empfange Objekte" -#: builtin/index-pack.c:1009 +#: builtin/index-pack.c:1010 msgid "Indexing objects" msgstr "Indiziere Objekte" -#: builtin/index-pack.c:1035 +#: builtin/index-pack.c:1036 msgid "pack is corrupted (SHA1 mismatch)" msgstr "Paket ist beschädigt (SHA1 unterschiedlich)" -#: builtin/index-pack.c:1040 +#: builtin/index-pack.c:1041 msgid "cannot fstat packfile" msgstr "kann Paketdatei nicht lesen" -#: builtin/index-pack.c:1043 +#: builtin/index-pack.c:1044 msgid "pack has junk at the end" msgstr "Paketende enthält nicht verwendbaren Inhalt" -#: builtin/index-pack.c:1054 +#: builtin/index-pack.c:1055 msgid "confusion beyond insanity in parse_pack_objects()" msgstr "Fehler beim Ausführen von \"parse_pack_objects()\"" -#: builtin/index-pack.c:1077 +#: builtin/index-pack.c:1078 msgid "Resolving deltas" msgstr "Löse Unterschiede auf" -#: builtin/index-pack.c:1087 +#: builtin/index-pack.c:1088 #, c-format msgid "unable to create thread: %s" msgstr "kann Thread nicht erzeugen: %s" -#: builtin/index-pack.c:1129 +#: builtin/index-pack.c:1130 msgid "confusion beyond insanity" msgstr "Fehler beim Auflösen der Unterschiede" -#: builtin/index-pack.c:1137 +#: builtin/index-pack.c:1138 #, c-format msgid "completed with %d local objects" msgstr "vervollständigt mit %d lokalen Objekten" -#: builtin/index-pack.c:1147 +#: builtin/index-pack.c:1148 #, c-format msgid "Unexpected tail checksum for %s (disk corruption?)" msgstr "Unerwartete Prüfsumme für %s (Festplattenfehler?)" -#: builtin/index-pack.c:1151 +#: builtin/index-pack.c:1152 #, c-format msgid "pack has %d unresolved delta" msgid_plural "pack has %d unresolved deltas" msgstr[0] "Paket hat %d unaufgelöste Unterschied" msgstr[1] "Paket hat %d unaufgelöste Unterschiede" -#: builtin/index-pack.c:1176 +#: builtin/index-pack.c:1177 #, c-format msgid "unable to deflate appended object (%d)" msgstr "Konnte angehängtes Objekt (%d) nicht komprimieren" -#: builtin/index-pack.c:1255 +#: builtin/index-pack.c:1256 #, c-format msgid "local object %s is corrupt" msgstr "lokales Objekt %s ist beschädigt" -#: builtin/index-pack.c:1279 +#: builtin/index-pack.c:1280 msgid "error while closing pack file" msgstr "Fehler beim Schließen der Paketdatei" -#: builtin/index-pack.c:1292 +#: builtin/index-pack.c:1293 #, c-format msgid "cannot write keep file '%s'" msgstr "Kann Paketbeschreibungsdatei '%s' nicht schreiben" -#: builtin/index-pack.c:1300 +#: builtin/index-pack.c:1301 #, c-format msgid "cannot close written keep file '%s'" msgstr "Kann eben erstellte Paketbeschreibungsdatei '%s' nicht schließen" -#: builtin/index-pack.c:1313 +#: builtin/index-pack.c:1314 msgid "cannot store pack file" msgstr "Kann Paketdatei nicht speichern" -#: builtin/index-pack.c:1324 +#: builtin/index-pack.c:1325 msgid "cannot store index file" msgstr "Kann Indexdatei nicht speichern" -#: builtin/index-pack.c:1357 +#: builtin/index-pack.c:1358 #, c-format msgid "bad pack.indexversion=%<PRIu32>" msgstr "\"pack.indexversion=%<PRIu32>\" ist ungültig" -#: builtin/index-pack.c:1363 +#: builtin/index-pack.c:1364 #, c-format msgid "invalid number of threads specified (%d)" msgstr "ungültige Anzahl von Threads angegeben (%d)" -#: builtin/index-pack.c:1367 builtin/index-pack.c:1545 +#: builtin/index-pack.c:1368 builtin/index-pack.c:1546 #, c-format msgid "no threads support, ignoring %s" msgstr "keine Unterstützung von Threads, '%s' wird ignoriert" -#: builtin/index-pack.c:1425 +#: builtin/index-pack.c:1426 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "Kann existierende Paketdatei '%s' nicht öffnen" -#: builtin/index-pack.c:1427 +#: builtin/index-pack.c:1428 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "Kann existierende Indexdatei für Paket '%s' nicht öffnen" -#: builtin/index-pack.c:1474 +#: builtin/index-pack.c:1475 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" msgstr[0] "kein Unterschied: %d Objekt" msgstr[1] "kein Unterschied: %d Objekte" -#: builtin/index-pack.c:1481 +#: builtin/index-pack.c:1482 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" msgstr[0] "Länge der Objekt-Liste = %d: %lu Objekt" msgstr[1] "Länge der Objekt-Liste = %d: %lu Objekte" -#: builtin/index-pack.c:1509 +#: builtin/index-pack.c:1510 msgid "Cannot come back to cwd" msgstr "Kann nicht zurück zu Arbeitsverzeichnis wechseln" -#: builtin/index-pack.c:1557 builtin/index-pack.c:1560 -#: builtin/index-pack.c:1572 builtin/index-pack.c:1576 +#: builtin/index-pack.c:1558 builtin/index-pack.c:1561 +#: builtin/index-pack.c:1573 builtin/index-pack.c:1577 #, c-format msgid "bad %s" msgstr "%s ist ungültig" -#: builtin/index-pack.c:1590 +#: builtin/index-pack.c:1591 msgid "--fix-thin cannot be used without --stdin" msgstr "Die Option --fix-thin kann nicht ohne --stdin verwendet werden." -#: builtin/index-pack.c:1594 builtin/index-pack.c:1604 +#: builtin/index-pack.c:1595 builtin/index-pack.c:1605 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "Name der Paketdatei '%s' endet nicht mit '.pack'" -#: builtin/index-pack.c:1613 +#: builtin/index-pack.c:1614 msgid "--verify with no packfile name given" msgstr "Die Option --verify wurde ohne Namen der Paketdatei angegeben." @@ -6066,11 +6263,6 @@ msgstr "kann nicht mit Dateityp %d umgehen" msgid "unable to move %s to %s" msgstr "Konnte %s nicht nach %s verschieben" -#: builtin/init-db.c:363 -#, c-format -msgid "Could not create git link %s" -msgstr "Konnte git-Verweis %s nicht erstellen" - #. #. * TRANSLATORS: The first '%s' is either "Reinitialized #. * existing" or "Initialized empty", the second " shared" or @@ -6113,7 +6305,7 @@ msgstr "Berechtigungen" msgid "specify that the git repository is to be shared amongst several users" msgstr "gibt an, dass das Git-Repository mit mehreren Benutzern geteilt wird" -#: builtin/init-db.c:493 builtin/prune-packed.c:75 +#: builtin/init-db.c:493 builtin/prune-packed.c:75 builtin/repack.c:155 msgid "be quiet" msgstr "weniger Ausgaben" @@ -6153,249 +6345,249 @@ msgstr "git log [<Optionen>] [Commitbereich>] [[--] <Pfad>...]\n" msgid " or: git show [options] <object>..." msgstr " oder: git show [Optionen] <Objekt>..." -#: builtin/log.c:124 +#: builtin/log.c:125 msgid "suppress diff output" msgstr "unterdrückt Ausgabe der Unterschiede" -#: builtin/log.c:125 +#: builtin/log.c:126 msgid "show source" msgstr "zeigt Quelle" -#: builtin/log.c:126 +#: builtin/log.c:127 msgid "Use mail map file" msgstr "verwendet \"mailmap\"-Datei" -#: builtin/log.c:127 +#: builtin/log.c:128 msgid "decorate options" msgstr "decorate-Optionen" -#: builtin/log.c:230 +#: builtin/log.c:231 #, c-format msgid "Final output: %d %s\n" msgstr "letzte Ausgabe: %d %s\n" -#: builtin/log.c:453 builtin/log.c:545 +#: builtin/log.c:473 builtin/log.c:565 #, c-format msgid "Could not read object %s" msgstr "Kann Objekt %s nicht lesen." -#: builtin/log.c:569 +#: builtin/log.c:589 #, c-format msgid "Unknown type: %d" msgstr "Unbekannter Typ: %d" -#: builtin/log.c:669 +#: builtin/log.c:689 msgid "format.headers without value" msgstr "format.headers ohne Wert" -#: builtin/log.c:751 +#: builtin/log.c:771 msgid "name of output directory is too long" msgstr "Name des Ausgabeverzeichnisses ist zu lang." -#: builtin/log.c:767 +#: builtin/log.c:787 #, c-format msgid "Cannot open patch file %s" msgstr "Kann Patch-Datei %s nicht öffnen" -#: builtin/log.c:781 +#: builtin/log.c:801 msgid "Need exactly one range." msgstr "Brauche genau einen Commit-Bereich." -#: builtin/log.c:789 +#: builtin/log.c:809 msgid "Not a range." msgstr "Kein Commit-Bereich." -#: builtin/log.c:891 +#: builtin/log.c:911 msgid "Cover letter needs email format" msgstr "Anschreiben benötigt E-Mail-Format" -#: builtin/log.c:967 +#: builtin/log.c:987 #, c-format msgid "insane in-reply-to: %s" msgstr "ungültiges in-reply-to: %s" -#: builtin/log.c:995 +#: builtin/log.c:1015 msgid "git format-patch [options] [<since> | <revision range>]" msgstr "git format-patch [Optionen] [<seit> | <Commitbereich>]" -#: builtin/log.c:1040 +#: builtin/log.c:1060 msgid "Two output directories?" msgstr "Zwei Ausgabeverzeichnisse?" -#: builtin/log.c:1155 +#: builtin/log.c:1175 msgid "use [PATCH n/m] even with a single patch" msgstr "verwendet [PATCH n/m] auch mit einzelnem Patch" -#: builtin/log.c:1158 +#: builtin/log.c:1178 msgid "use [PATCH] even with multiple patches" msgstr "verwendet [PATCH] auch mit mehreren Patches" -#: builtin/log.c:1162 +#: builtin/log.c:1182 msgid "print patches to standard out" msgstr "Ausgabe der Patches in Standard-Ausgabe" -#: builtin/log.c:1164 +#: builtin/log.c:1184 msgid "generate a cover letter" msgstr "erzeugt ein Deckblatt" -#: builtin/log.c:1166 +#: builtin/log.c:1186 msgid "use simple number sequence for output file names" msgstr "verwendet einfache Nummernfolge für die Namen der Ausgabedateien" -#: builtin/log.c:1167 +#: builtin/log.c:1187 msgid "sfx" msgstr "Dateiendung" -#: builtin/log.c:1168 +#: builtin/log.c:1188 msgid "use <sfx> instead of '.patch'" msgstr "verwendet <Dateiendung> anstatt '.patch'" -#: builtin/log.c:1170 +#: builtin/log.c:1190 msgid "start numbering patches at <n> instead of 1" msgstr "beginnt die Nummerierung der Patches bei <n> anstatt bei 1" -#: builtin/log.c:1172 +#: builtin/log.c:1192 msgid "mark the series as Nth re-roll" msgstr "kennzeichnet die Serie als n-te Fassung" -#: builtin/log.c:1174 +#: builtin/log.c:1194 msgid "Use [<prefix>] instead of [PATCH]" msgstr "verwendet [<Prefix>] anstatt [PATCH]" -#: builtin/log.c:1177 +#: builtin/log.c:1197 msgid "store resulting files in <dir>" msgstr "speichert erzeugte Dateien in <Verzeichnis>" -#: builtin/log.c:1180 +#: builtin/log.c:1200 msgid "don't strip/add [PATCH]" msgstr "[PATCH] wird nicht entfernt/hinzugefügt" -#: builtin/log.c:1183 +#: builtin/log.c:1203 msgid "don't output binary diffs" msgstr "gibt keine binären Unterschiede aus" -#: builtin/log.c:1185 +#: builtin/log.c:1205 msgid "don't include a patch matching a commit upstream" msgstr "" "schließt keine Patches ein, die einem Commit im Upstream-Branch entsprechen" -#: builtin/log.c:1187 +#: builtin/log.c:1207 msgid "show patch format instead of default (patch + stat)" msgstr "zeigt Patchformat anstatt des Standards (Patch + Zusammenfassung)" -#: builtin/log.c:1189 +#: builtin/log.c:1209 msgid "Messaging" msgstr "Email-Einstellungen" -#: builtin/log.c:1190 +#: builtin/log.c:1210 msgid "header" msgstr "Header" -#: builtin/log.c:1191 +#: builtin/log.c:1211 msgid "add email header" msgstr "fügt Email-Header hinzu" -#: builtin/log.c:1192 builtin/log.c:1194 +#: builtin/log.c:1212 builtin/log.c:1214 msgid "email" msgstr "Email" -#: builtin/log.c:1192 +#: builtin/log.c:1212 msgid "add To: header" msgstr "fügt \"To:\"-Header hinzu" -#: builtin/log.c:1194 +#: builtin/log.c:1214 msgid "add Cc: header" msgstr "fügt \"Cc:\"-Header hinzu" -#: builtin/log.c:1196 +#: builtin/log.c:1216 msgid "ident" msgstr "Ident" -#: builtin/log.c:1197 +#: builtin/log.c:1217 msgid "set From address to <ident> (or committer ident if absent)" msgstr "" "setzt \"From\"-Adresse auf <Ident> (oder Ident des Commit-Erstellers,wenn " "fehlend)" -#: builtin/log.c:1199 +#: builtin/log.c:1219 msgid "message-id" msgstr "message-id" -#: builtin/log.c:1200 +#: builtin/log.c:1220 msgid "make first mail a reply to <message-id>" msgstr "macht aus erster Email eine Antwort zu <message-id>" -#: builtin/log.c:1201 builtin/log.c:1204 +#: builtin/log.c:1221 builtin/log.c:1224 msgid "boundary" msgstr "Grenze" -#: builtin/log.c:1202 +#: builtin/log.c:1222 msgid "attach the patch" msgstr "hängt einen Patch an" -#: builtin/log.c:1205 +#: builtin/log.c:1225 msgid "inline the patch" msgstr "fügt den Patch direkt in die Nachricht ein" -#: builtin/log.c:1209 +#: builtin/log.c:1229 msgid "enable message threading, styles: shallow, deep" msgstr "aktiviert Nachrichtenverkettung, Stile: shallow, deep" -#: builtin/log.c:1211 +#: builtin/log.c:1231 msgid "signature" msgstr "Signatur" -#: builtin/log.c:1212 +#: builtin/log.c:1232 msgid "add a signature" msgstr "fügt eine Signatur hinzu" -#: builtin/log.c:1214 +#: builtin/log.c:1233 msgid "don't print the patch filenames" msgstr "zeigt keine Dateinamen der Patches" -#: builtin/log.c:1288 +#: builtin/log.c:1307 #, c-format msgid "invalid ident line: %s" msgstr "Ungültige Identifikationszeile: %s" -#: builtin/log.c:1303 +#: builtin/log.c:1322 msgid "-n and -k are mutually exclusive." msgstr "Die Optionen -n und -k schließen sich gegenseitig aus." -#: builtin/log.c:1305 +#: builtin/log.c:1324 msgid "--subject-prefix and -k are mutually exclusive." msgstr "Die Optionen --subject-prefix und -k schließen sich gegenseitig aus." -#: builtin/log.c:1313 +#: builtin/log.c:1332 msgid "--name-only does not make sense" msgstr "Die Option --name-only kann nicht verwendet werden." -#: builtin/log.c:1315 +#: builtin/log.c:1334 msgid "--name-status does not make sense" msgstr "Die Option --name-status kann nicht verwendet werden." -#: builtin/log.c:1317 +#: builtin/log.c:1336 msgid "--check does not make sense" msgstr "Die Option --check kann nicht verwendet werden." -#: builtin/log.c:1340 +#: builtin/log.c:1359 msgid "standard output, or directory, which one?" msgstr "Standard-Ausgabe oder Verzeichnis, welches von beidem?" -#: builtin/log.c:1342 +#: builtin/log.c:1361 #, c-format msgid "Could not create directory '%s'" msgstr "Konnte Verzeichnis '%s' nicht erstellen." -#: builtin/log.c:1490 +#: builtin/log.c:1509 msgid "Failed to create output files" msgstr "Fehler beim Erstellen der Ausgabedateien." -#: builtin/log.c:1539 +#: builtin/log.c:1558 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" msgstr "git cherry [-v] [<Upstream> [<Branch> [<Limit>]]]" -#: builtin/log.c:1594 +#: builtin/log.c:1613 #, c-format msgid "" "Could not find a tracked remote branch, please specify <upstream> manually.\n" @@ -6403,143 +6595,143 @@ msgstr "" "Konnte gefolgten Remote-Branch nicht finden, bitte geben Sie <Upstream> " "manuell an.\n" -#: builtin/log.c:1607 builtin/log.c:1609 builtin/log.c:1621 +#: builtin/log.c:1626 builtin/log.c:1628 builtin/log.c:1640 #, c-format msgid "Unknown commit %s" msgstr "Unbekannter Commit %s" -#: builtin/ls-files.c:408 +#: builtin/ls-files.c:398 msgid "git ls-files [options] [<file>...]" msgstr "git ls-files [Optionen] [<Datei>...]" -#: builtin/ls-files.c:465 +#: builtin/ls-files.c:455 msgid "identify the file status with tags" msgstr "zeigt den Dateistatus mit Tags" -#: builtin/ls-files.c:467 +#: builtin/ls-files.c:457 msgid "use lowercase letters for 'assume unchanged' files" msgstr "" "verwendet Kleinbuchstaben für Dateien mit 'assume unchanged' Markierung" -#: builtin/ls-files.c:469 +#: builtin/ls-files.c:459 msgid "show cached files in the output (default)" msgstr "zeigt zwischengespeicherten Dateien in der Ausgabe an (Standard)" -#: builtin/ls-files.c:471 +#: builtin/ls-files.c:461 msgid "show deleted files in the output" msgstr "zeigt entfernte Dateien in der Ausgabe an" -#: builtin/ls-files.c:473 +#: builtin/ls-files.c:463 msgid "show modified files in the output" msgstr "zeigt geänderte Dateien in der Ausgabe an" -#: builtin/ls-files.c:475 +#: builtin/ls-files.c:465 msgid "show other files in the output" msgstr "zeigt sonstige Dateien in der Ausgabe an" -#: builtin/ls-files.c:477 +#: builtin/ls-files.c:467 msgid "show ignored files in the output" msgstr "zeigt ignorierte Dateien in der Ausgabe an" -#: builtin/ls-files.c:480 +#: builtin/ls-files.c:470 msgid "show staged contents' object name in the output" msgstr "" "zeigt Objektnamen von Inhalten, die zum Commit vorgemerkt sind, in der " "Ausgabe an" -#: builtin/ls-files.c:482 +#: builtin/ls-files.c:472 msgid "show files on the filesystem that need to be removed" msgstr "zeigt Dateien im Dateisystem, die gelöscht werden müssen, an" -#: builtin/ls-files.c:484 +#: builtin/ls-files.c:474 msgid "show 'other' directories' name only" msgstr "zeigt nur Namen von 'sonstigen' Verzeichnissen an" -#: builtin/ls-files.c:487 +#: builtin/ls-files.c:477 msgid "don't show empty directories" msgstr "zeigt keine leeren Verzeichnisse an" -#: builtin/ls-files.c:490 +#: builtin/ls-files.c:480 msgid "show unmerged files in the output" msgstr "zeigt nicht zusammengeführte Dateien in der Ausgabe an" -#: builtin/ls-files.c:492 +#: builtin/ls-files.c:482 msgid "show resolve-undo information" msgstr "zeigt 'resolve-undo' Informationen an" -#: builtin/ls-files.c:494 +#: builtin/ls-files.c:484 msgid "skip files matching pattern" msgstr "lässt Dateien aus, die einem Muster entsprechen" -#: builtin/ls-files.c:497 +#: builtin/ls-files.c:487 msgid "exclude patterns are read from <file>" msgstr "schließt Muster, gelesen von <Datei>, aus" -#: builtin/ls-files.c:500 +#: builtin/ls-files.c:490 msgid "read additional per-directory exclude patterns in <file>" msgstr "liest zusätzliche pro-Verzeichnis Auschlussmuster aus <Datei>" -#: builtin/ls-files.c:502 +#: builtin/ls-files.c:492 msgid "add the standard git exclusions" msgstr "fügt die standardmäßigen Git-Ausschlüsse hinzu" -#: builtin/ls-files.c:505 +#: builtin/ls-files.c:495 msgid "make the output relative to the project top directory" msgstr "Ausgabe relativ zum Projektverzeichnis" -#: builtin/ls-files.c:508 +#: builtin/ls-files.c:498 msgid "if any <file> is not in the index, treat this as an error" msgstr "" "behandle es als Fehler, wenn sich eine <Datei> nicht in der Staging-Area " "befindet" -#: builtin/ls-files.c:509 +#: builtin/ls-files.c:499 msgid "tree-ish" msgstr "Commit-Referenz" -#: builtin/ls-files.c:510 +#: builtin/ls-files.c:500 msgid "pretend that paths removed since <tree-ish> are still present" msgstr "" "gibt vor, dass Pfade, die seit <Commit-Referenz> gelöscht wurden, immer noch " "vorhanden sind" -#: builtin/ls-files.c:512 +#: builtin/ls-files.c:502 msgid "show debugging data" msgstr "zeigt Ausgaben zur Fehlersuche an" -#: builtin/ls-tree.c:27 +#: builtin/ls-tree.c:28 msgid "git ls-tree [<options>] <tree-ish> [<path>...]" msgstr "git ls-tree [<Optionen>] <Commit-Referenz> [<Pfad>...]" -#: builtin/ls-tree.c:125 +#: builtin/ls-tree.c:126 msgid "only show trees" msgstr "zeigt nur Verzeichnisse an" -#: builtin/ls-tree.c:127 +#: builtin/ls-tree.c:128 msgid "recurse into subtrees" msgstr "führt Rekursion in Unterverzeichnissen durch" -#: builtin/ls-tree.c:129 +#: builtin/ls-tree.c:130 msgid "show trees when recursing" msgstr "zeigt Verzeichnisse bei Rekursion an" -#: builtin/ls-tree.c:132 +#: builtin/ls-tree.c:133 msgid "terminate entries with NUL byte" msgstr "schließt Einträge mit NUL-Byte ab" -#: builtin/ls-tree.c:133 +#: builtin/ls-tree.c:134 msgid "include object size" msgstr "schließt Objektgröße ein" -#: builtin/ls-tree.c:135 builtin/ls-tree.c:137 +#: builtin/ls-tree.c:136 builtin/ls-tree.c:138 msgid "list only filenames" msgstr "listet nur Dateinamen auf" -#: builtin/ls-tree.c:140 +#: builtin/ls-tree.c:141 msgid "use full path names" msgstr "verwendet vollständige Pfadnamen" -#: builtin/ls-tree.c:142 +#: builtin/ls-tree.c:143 msgid "list entire tree; not just current directory (implies --full-name)" msgstr "" "listet das gesamte Verzeichnis auf; nicht nur das aktuelle Verzeichnis " @@ -6618,7 +6810,7 @@ msgstr "bricht ab, wenn kein Vorspulen möglich ist" msgid "Verify that the named commit has a valid GPG signature" msgstr "überprüft den genannten Commit auf eine gültige GPG-Signatur" -#: builtin/merge.c:219 builtin/notes.c:738 builtin/revert.c:114 +#: builtin/merge.c:219 builtin/notes.c:738 builtin/revert.c:89 msgid "strategy" msgstr "Strategie" @@ -6994,76 +7186,87 @@ msgstr "erlaubt fehlende Objekte" msgid "allow creation of more than one tree" msgstr "erlaubt die Erstellung von mehr als einem \"Tree\"-Objekt" -#: builtin/mv.c:14 +#: builtin/mv.c:15 msgid "git mv [options] <source>... <destination>" msgstr "git mv [Optionen] <Quelle>... <Ziel>" -#: builtin/mv.c:64 +#: builtin/mv.c:67 msgid "force move/rename even if target exists" msgstr "erzwingt Verschieben/Umbenennen, auch wenn das Ziel existiert" -#: builtin/mv.c:65 +#: builtin/mv.c:68 msgid "skip move/rename errors" msgstr "überspringt Fehler beim Verschieben oder Umbenennen" -#: builtin/mv.c:108 +#: builtin/mv.c:113 #, c-format msgid "Checking rename of '%s' to '%s'\n" msgstr "Prüfe Umbenennung von '%s' nach '%s'\n" -#: builtin/mv.c:112 +#: builtin/mv.c:117 msgid "bad source" msgstr "ungültige Quelle" -#: builtin/mv.c:115 +#: builtin/mv.c:120 msgid "can not move directory into itself" msgstr "kann Verzeichnis nicht in sich selbst verschieben" -#: builtin/mv.c:118 +#: builtin/mv.c:123 msgid "cannot move directory over file" msgstr "kann Verzeichnis nicht über Datei verschieben" -#: builtin/mv.c:128 +#: builtin/mv.c:129 +#, c-format +msgid "Huh? Directory %s is in index and no submodule?" +msgstr "Huh? Verzeichnis %s ist zum Commit vorgemerkt und kein Submodul?" + +#: builtin/mv.c:131 builtin/rm.c:318 +msgid "Please, stage your changes to .gitmodules or stash them to proceed" +msgstr "" +"Bitte merken Sie Ihre Änderungen in .gitmodules zum Commit vor oder benutzen\n" +"Sie \"stash\" um fortzufahren." + +#: builtin/mv.c:147 #, c-format msgid "Huh? %.*s is in index?" msgstr "Huh? %.*s ist zum Commit vorgemerkt?" -#: builtin/mv.c:140 +#: builtin/mv.c:159 msgid "source directory is empty" msgstr "Quellverzeichnis ist leer" -#: builtin/mv.c:171 +#: builtin/mv.c:191 msgid "not under version control" msgstr "nicht unter Versionskontrolle" -#: builtin/mv.c:173 +#: builtin/mv.c:193 msgid "destination exists" msgstr "Ziel existiert bereits" -#: builtin/mv.c:181 +#: builtin/mv.c:201 #, c-format msgid "overwriting '%s'" msgstr "überschreibe '%s'" -#: builtin/mv.c:184 +#: builtin/mv.c:204 msgid "Cannot overwrite" msgstr "Kann nicht überschreiben" -#: builtin/mv.c:187 +#: builtin/mv.c:207 msgid "multiple sources for the same target" msgstr "mehrere Quellen für das selbe Ziel" -#: builtin/mv.c:202 +#: builtin/mv.c:222 #, c-format msgid "%s, source=%s, destination=%s" msgstr "%s, Quelle=%s, Ziel=%s" -#: builtin/mv.c:212 +#: builtin/mv.c:232 #, c-format msgid "Renaming %s to %s\n" msgstr "Benenne %s nach %s um\n" -#: builtin/mv.c:215 builtin/remote.c:731 +#: builtin/mv.c:235 builtin/remote.c:731 builtin/repack.c:330 #, c-format msgid "renaming '%s' failed" msgstr "Umbenennung von '%s' fehlgeschlagen" @@ -7101,8 +7304,8 @@ msgid "read from stdin" msgstr "liest von der Standard-Eingabe" #: builtin/name-rev.c:320 -msgid "allow to print `undefined` names" -msgstr "erlaubt Ausgabe von `undefinierten` Namen" +msgid "allow to print `undefined` names (default)" +msgstr "erlaubt Ausgabe von `undefinierten` Namen (Standard)" #: builtin/name-rev.c:326 msgid "dereference tags in the input (internal use)" @@ -7258,12 +7461,12 @@ msgstr "Konnte Notiz-Objekt nicht schreiben" msgid "The note contents has been left in %s" msgstr "Die Notiz-Inhalte wurden in %s belassen" -#: builtin/notes.c:248 builtin/tag.c:540 +#: builtin/notes.c:248 builtin/tag.c:537 #, c-format msgid "cannot read '%s'" msgstr "kann '%s' nicht lesen" -#: builtin/notes.c:250 builtin/tag.c:543 +#: builtin/notes.c:250 builtin/tag.c:540 #, c-format msgid "could not open or read '%s'" msgstr "konnte '%s' nicht öffnen oder lesen" @@ -7271,7 +7474,7 @@ msgstr "konnte '%s' nicht öffnen oder lesen" #: builtin/notes.c:269 builtin/notes.c:316 builtin/notes.c:318 #: builtin/notes.c:378 builtin/notes.c:432 builtin/notes.c:515 #: builtin/notes.c:520 builtin/notes.c:595 builtin/notes.c:637 -#: builtin/notes.c:839 builtin/tag.c:556 +#: builtin/notes.c:839 builtin/tag.c:553 #, c-format msgid "Failed to resolve '%s' as a valid ref." msgstr "Konnte '%s' nicht als gültige Referenz auflösen." @@ -7448,153 +7651,153 @@ msgid "git pack-objects [options...] base-name [< ref-list | < object-list]" msgstr "" "git pack-objects [Optionen...] Basis-Name [< Referenzliste | < Objektliste]" -#: builtin/pack-objects.c:183 builtin/pack-objects.c:186 +#: builtin/pack-objects.c:184 builtin/pack-objects.c:187 #, c-format msgid "deflate error (%d)" msgstr "Fehler beim Komprimieren (%d)" -#: builtin/pack-objects.c:2397 +#: builtin/pack-objects.c:2398 #, c-format msgid "unsupported index version %s" msgstr "Nicht unterstützte Staging-Area-Version %s" -#: builtin/pack-objects.c:2401 +#: builtin/pack-objects.c:2402 #, c-format msgid "bad index version '%s'" msgstr "Ungültige Staging-Area-Version '%s'" -#: builtin/pack-objects.c:2424 +#: builtin/pack-objects.c:2425 #, c-format msgid "option %s does not accept negative form" msgstr "Option %s akzeptiert keine negative Form" -#: builtin/pack-objects.c:2428 +#: builtin/pack-objects.c:2429 #, c-format msgid "unable to parse value '%s' for option %s" msgstr "konnte Wert '%s' für Option %s nicht parsen" -#: builtin/pack-objects.c:2447 +#: builtin/pack-objects.c:2448 msgid "do not show progress meter" msgstr "zeigt keine Fortschrittsanzeige" -#: builtin/pack-objects.c:2449 +#: builtin/pack-objects.c:2450 msgid "show progress meter" msgstr "zeigt Fortschrittsanzeige" -#: builtin/pack-objects.c:2451 +#: builtin/pack-objects.c:2452 msgid "show progress meter during object writing phase" msgstr "zeigt Forschrittsanzeige während der Phase des Schreibens der Objekte" -#: builtin/pack-objects.c:2454 +#: builtin/pack-objects.c:2455 msgid "similar to --all-progress when progress meter is shown" msgstr "ähnlich zu --all-progress wenn Fortschrittsanzeige darstellt wird" -#: builtin/pack-objects.c:2455 +#: builtin/pack-objects.c:2456 msgid "version[,offset]" msgstr "version[,offset]" -#: builtin/pack-objects.c:2456 +#: builtin/pack-objects.c:2457 msgid "write the pack index file in the specified idx format version" msgstr "" "schreibt die Index-Datei des Paketes in der angegebenen Indexformat-Version" -#: builtin/pack-objects.c:2459 +#: builtin/pack-objects.c:2460 msgid "maximum size of each output pack file" msgstr "maximale Größe für jede ausgegebene Paketdatei" -#: builtin/pack-objects.c:2461 +#: builtin/pack-objects.c:2462 msgid "ignore borrowed objects from alternate object store" msgstr "ignoriert geliehene Objekte von alternativem Objektspeicher" -#: builtin/pack-objects.c:2463 +#: builtin/pack-objects.c:2464 msgid "ignore packed objects" msgstr "ignoriert gepackte Objekte" -#: builtin/pack-objects.c:2465 +#: builtin/pack-objects.c:2466 msgid "limit pack window by objects" msgstr "begrenzt Paketfenster durch Objekte" -#: builtin/pack-objects.c:2467 +#: builtin/pack-objects.c:2468 msgid "limit pack window by memory in addition to object limit" msgstr "begrenzt Paketfenster, zusätzlich zur Objektbegrenzung, durch Speicher" -#: builtin/pack-objects.c:2469 +#: builtin/pack-objects.c:2470 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "" "maximale Länge der erlaubten Differenzverkettung im resultierenden Paket" -#: builtin/pack-objects.c:2471 +#: builtin/pack-objects.c:2472 msgid "reuse existing deltas" msgstr "verwendet existierende Unterschiede wieder" -#: builtin/pack-objects.c:2473 +#: builtin/pack-objects.c:2474 msgid "reuse existing objects" msgstr "verwendet existierende Objekte wieder" -#: builtin/pack-objects.c:2475 +#: builtin/pack-objects.c:2476 msgid "use OFS_DELTA objects" msgstr "verwendet OFS_DELTA Objekte" -#: builtin/pack-objects.c:2477 +#: builtin/pack-objects.c:2478 msgid "use threads when searching for best delta matches" msgstr "" "verwendet Threads bei der Suche nach den besten Ãœbereinstimmungen bei " "Unterschieden" -#: builtin/pack-objects.c:2479 +#: builtin/pack-objects.c:2480 msgid "do not create an empty pack output" msgstr "erzeugt keine leeren Pakete" -#: builtin/pack-objects.c:2481 +#: builtin/pack-objects.c:2482 msgid "read revision arguments from standard input" msgstr "liest Argumente bezüglich Commits von der Standard-Eingabe" -#: builtin/pack-objects.c:2483 +#: builtin/pack-objects.c:2484 msgid "limit the objects to those that are not yet packed" msgstr "begrenzt die Objekte zu solchen, die noch nicht gepackt wurden" -#: builtin/pack-objects.c:2486 +#: builtin/pack-objects.c:2487 msgid "include objects reachable from any reference" msgstr "schließt Objekte ein, die von jeder Referenz erreichbar sind" -#: builtin/pack-objects.c:2489 +#: builtin/pack-objects.c:2490 msgid "include objects referred by reflog entries" msgstr "" "schließt Objekte ein, die von Einträgen des Reflogs referenziert werden" -#: builtin/pack-objects.c:2492 +#: builtin/pack-objects.c:2493 msgid "output pack to stdout" msgstr "schreibt Paket in die Standard-Ausgabe" -#: builtin/pack-objects.c:2494 +#: builtin/pack-objects.c:2495 msgid "include tag objects that refer to objects to be packed" msgstr "schließt Tag-Objekte ein, die auf gepackte Objekte referenzieren" -#: builtin/pack-objects.c:2496 +#: builtin/pack-objects.c:2497 msgid "keep unreachable objects" msgstr "behält nicht erreichbare Objekte" -#: builtin/pack-objects.c:2497 parse-options.h:141 +#: builtin/pack-objects.c:2498 parse-options.h:143 msgid "time" msgstr "Zeit" -#: builtin/pack-objects.c:2498 +#: builtin/pack-objects.c:2499 msgid "unpack unreachable objects newer than <time>" msgstr "entpackt nicht erreichbare Objekte, die neuer als <Zeit> sind" -#: builtin/pack-objects.c:2501 +#: builtin/pack-objects.c:2502 msgid "create thin packs" msgstr "erzeugt dünnere Pakete" -#: builtin/pack-objects.c:2503 +#: builtin/pack-objects.c:2504 msgid "ignore packs that have companion .keep file" msgstr "ignoriert Pakete die .keep Dateien haben" -#: builtin/pack-objects.c:2505 +#: builtin/pack-objects.c:2506 msgid "pack compression level" msgstr "Komprimierungsgrad für Paketierung" -#: builtin/pack-objects.c:2507 +#: builtin/pack-objects.c:2508 msgid "do not hide commits by grafts" msgstr "verbirgt keine Commits mit künstlichen Vorgängern (\"grafts\")" @@ -7634,15 +7837,15 @@ msgstr "lässt Objekte älter als <Zeit> verfallen" msgid "git push [<options>] [<repository> [<refspec>...]]" msgstr "git push [<Optionen>] [<Repository> [<Refspec>...]]" -#: builtin/push.c:45 +#: builtin/push.c:47 msgid "tag shorthand without <tag>" msgstr "Kurzschrift für Tag ohne <Tag>" -#: builtin/push.c:64 +#: builtin/push.c:66 msgid "--delete only accepts plain target ref names" msgstr "Die Option --delete akzeptiert nur reine Referenznamen als Ziel." -#: builtin/push.c:99 +#: builtin/push.c:101 msgid "" "\n" "To choose either option permanently, see push.default in 'git help config'." @@ -7651,7 +7854,7 @@ msgstr "" "Um eine Variante permanent zu verwenden, siehe push.default in 'git help " "config'." -#: builtin/push.c:102 +#: builtin/push.c:104 #, c-format msgid "" "The upstream branch of your current branch does not match\n" @@ -7677,7 +7880,7 @@ msgstr "" " git push %s %s\n" "%s" -#: builtin/push.c:117 +#: builtin/push.c:119 #, c-format msgid "" "You are not currently on a branch.\n" @@ -7692,7 +7895,7 @@ msgstr "" "\n" " git push %s HEAD:<Name-des-Remote-Branches>\n" -#: builtin/push.c:131 +#: builtin/push.c:133 #, c-format msgid "" "The current branch %s has no upstream branch.\n" @@ -7706,13 +7909,13 @@ msgstr "" "\n" " git push --set-upstream %s %s\n" -#: builtin/push.c:139 +#: builtin/push.c:141 #, c-format msgid "The current branch %s has multiple upstream branches, refusing to push." msgstr "" "Der aktuelle Branch %s hat mehrere Upstream-Branches, \"push\" verweigert." -#: builtin/push.c:142 +#: builtin/push.c:144 #, c-format msgid "" "You are pushing to remote '%s', which is not the upstream of\n" @@ -7720,10 +7923,10 @@ msgid "" "to update which remote branch." msgstr "" "Sie versenden nach '%s', welches kein Upstream-Repository Ihres aktuellen\n" -"Branches '%s' ist, ohne mir mitzuteilen, was ich versenden soll, um welchen\n" +"Branches '%s' ist, ohne anzugeben, was versendet werden soll, um welchen\n" "Remote-Branch zu aktualisieren." -#: builtin/push.c:165 +#: builtin/push.c:167 msgid "" "push.default is unset; its implicit value is changing in\n" "Git 2.0 from 'matching' to 'simple'. To squelch this message\n" @@ -7758,14 +7961,14 @@ msgstr "" "Modus 'current' anstatt 'simple', falls Sie gelegentlich ältere Versionen " "von Git benutzen.)" -#: builtin/push.c:225 +#: builtin/push.c:227 msgid "" "You didn't specify any refspecs to push, and push.default is \"nothing\"." msgstr "" "Sie haben keine Refspec für \"push\" angegeben, und push.default ist " "\"nothing\"." -#: builtin/push.c:232 +#: builtin/push.c:234 msgid "" "Updates were rejected because the tip of your current branch is behind\n" "its remote counterpart. Integrate the remote changes (e.g.\n" @@ -7779,7 +7982,7 @@ msgstr "" "Siehe auch die Sektion 'Note about fast-forwards' in 'git push --help'\n" "für weitere Details." -#: builtin/push.c:238 +#: builtin/push.c:240 msgid "" "Updates were rejected because a pushed branch tip is behind its remote\n" "counterpart. If you did not intend to push that branch, you may want to\n" @@ -7795,7 +7998,7 @@ msgstr "" "'simple', 'current'\n" "oder 'upstream' setzen, um nur den aktuellen Branch zu versenden." -#: builtin/push.c:244 +#: builtin/push.c:246 msgid "" "Updates were rejected because a pushed branch tip is behind its remote\n" "counterpart. Check out this branch and integrate the remote changes\n" @@ -7809,7 +8012,7 @@ msgstr "" "Siehe auch die Sektion 'Note about fast-forwards' in 'git push --help'\n" "für weitere Details." -#: builtin/push.c:250 +#: builtin/push.c:252 msgid "" "Updates were rejected because the remote contains work that you do\n" "not have locally. This is usually caused by another repository pushing\n" @@ -7828,13 +8031,13 @@ msgstr "" "Siehe auch die Sektion 'Note about fast-forwards' in 'git push --help'\n" "für weitere Details." -#: builtin/push.c:257 +#: builtin/push.c:259 msgid "Updates were rejected because the tag already exists in the remote." msgstr "" "Aktualisierungen wurden zurückgewiesen, weil das Tag bereits\n" "im Remote-Repository existiert." -#: builtin/push.c:260 +#: builtin/push.c:262 msgid "" "You cannot update a remote ref that points at a non-commit object,\n" "or update a remote ref to make it point at a non-commit object,\n" @@ -7844,22 +8047,22 @@ msgstr "" "das kein Commit ist, oder es auf ein solches Objekt zeigen lassen, ohne\n" "die Option '--force' zu verwenden.\n" -#: builtin/push.c:320 +#: builtin/push.c:328 #, c-format msgid "Pushing to %s\n" msgstr "Versende nach %s\n" -#: builtin/push.c:324 +#: builtin/push.c:332 #, c-format msgid "failed to push some refs to '%s'" msgstr "Fehler beim Versenden einiger Referenzen nach '%s'" -#: builtin/push.c:357 +#: builtin/push.c:365 #, c-format msgid "bad repository '%s'" msgstr "ungültiges Repository '%s'" -#: builtin/push.c:358 +#: builtin/push.c:366 msgid "" "No configured push destination.\n" "Either specify the URL from the command-line or configure a remote " @@ -7881,87 +8084,95 @@ msgstr "" "\n" " git push <Name>\n" -#: builtin/push.c:373 +#: builtin/push.c:381 msgid "--all and --tags are incompatible" msgstr "Die Optionen --all und --tags sind inkompatibel." -#: builtin/push.c:374 +#: builtin/push.c:382 msgid "--all can't be combined with refspecs" msgstr "Die Option --all kann nicht mit Refspecs kombiniert werden." -#: builtin/push.c:379 +#: builtin/push.c:387 msgid "--mirror and --tags are incompatible" msgstr "Die Optionen --mirror und --tags sind inkompatibel." -#: builtin/push.c:380 +#: builtin/push.c:388 msgid "--mirror can't be combined with refspecs" msgstr "Die Option --mirror kann nicht mit Refspecs kombiniert werden." -#: builtin/push.c:385 +#: builtin/push.c:393 msgid "--all and --mirror are incompatible" msgstr "Die Optionen --all und --mirror sind inkompatibel." -#: builtin/push.c:445 +#: builtin/push.c:453 msgid "repository" msgstr "Repository" -#: builtin/push.c:446 +#: builtin/push.c:454 msgid "push all refs" msgstr "versendet alle Referenzen" -#: builtin/push.c:447 +#: builtin/push.c:455 msgid "mirror all refs" msgstr "spiegelt alle Referenzen" -#: builtin/push.c:449 +#: builtin/push.c:457 msgid "delete refs" msgstr "löscht Referenzen" -#: builtin/push.c:450 +#: builtin/push.c:458 msgid "push tags (can't be used with --all or --mirror)" msgstr "versendet Tags (kann nicht mit --all oder --mirror verwendet werden)" -#: builtin/push.c:453 +#: builtin/push.c:461 msgid "force updates" msgstr "erzwingt Aktualisierung" -#: builtin/push.c:454 +#: builtin/push.c:463 +msgid "refname>:<expect" +msgstr "Referenzname>:<Erwartungswert" + +#: builtin/push.c:464 +msgid "require old value of ref to be at this value" +msgstr "Referenz muss sich auf dem angegebenen Wert befinden" + +#: builtin/push.c:466 msgid "check" msgstr "" -#: builtin/push.c:455 +#: builtin/push.c:467 msgid "control recursive pushing of submodules" msgstr "steuert rekursiven \"push\" von Submodulen" -#: builtin/push.c:457 +#: builtin/push.c:469 msgid "use thin pack" msgstr "verwendet kleinere Pakete" -#: builtin/push.c:458 builtin/push.c:459 +#: builtin/push.c:470 builtin/push.c:471 msgid "receive pack program" msgstr "'receive pack' Programm" -#: builtin/push.c:460 +#: builtin/push.c:472 msgid "set upstream for git pull/status" msgstr "setzt Upstream für \"git pull/status\"" -#: builtin/push.c:463 +#: builtin/push.c:475 msgid "prune locally removed refs" msgstr "entfernt lokal gelöschte Referenzen" -#: builtin/push.c:465 +#: builtin/push.c:477 msgid "bypass pre-push hook" msgstr "umgeht \"pre-push hook\"" -#: builtin/push.c:466 +#: builtin/push.c:478 msgid "push missing but relevant tags" msgstr "versendet fehlende, aber relevante Tags" -#: builtin/push.c:476 +#: builtin/push.c:488 msgid "--delete is incompatible with --all, --mirror and --tags" msgstr "Die Option --delete ist inkompatibel mit --all, --mirror und --tags." -#: builtin/push.c:478 +#: builtin/push.c:490 msgid "--delete doesn't make sense without any refs" msgstr "Die Option --delete kann nur mit Referenzen verwendet werden." @@ -8040,12 +8251,12 @@ msgstr "überspringt Anwendung des Filters für spärliches Auschecken" msgid "debug unpack-trees" msgstr "protokolliert Entpacken der Bäume" -#: builtin/reflog.c:500 +#: builtin/reflog.c:499 #, c-format msgid "%s' for '%s' is not a valid timestamp" msgstr "'%s' für '%s' ist kein gültiger Zeitstempel" -#: builtin/reflog.c:616 builtin/reflog.c:621 +#: builtin/reflog.c:615 builtin/reflog.c:620 #, c-format msgid "'%s' is not a valid timestamp" msgstr "'%s' ist kein gültiger Zeitstempel" @@ -8070,9 +8281,9 @@ msgstr "git remote rename <alt> <neu>" msgid "git remote remove <name>" msgstr "git remote remove <Name>" -#: builtin/remote.c:15 builtin/remote.c:42 -msgid "git remote set-head <name> (-a | -d | <branch>)" -msgstr "git remote set-head <Name> (-a | -d | <Branch>)" +#: builtin/remote.c:15 +msgid "git remote set-head <name> (-a | --auto | -d | --delete |<branch>)" +msgstr "git remote set-head <Name> (-a | --auto | -d | --delete | <Branch>)" #: builtin/remote.c:16 msgid "git remote [-v | --verbose] show [-n] <name>" @@ -8108,6 +8319,10 @@ msgstr "git remote set-url --delete <Name> <URL>" msgid "git remote add [<options>] <name> <url>" msgstr "git remote add [<Optionen>] <Name> <URL>" +#: builtin/remote.c:42 +msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)" +msgstr "git remote set-head <Name> (-a | --auto | -d | --delete | <Branch>)" + #: builtin/remote.c:47 msgid "git remote set-branches <name> <branch>..." msgstr "git remote set-branches <Name> <Branch>..." @@ -8557,6 +8772,68 @@ msgstr "Werde keine URLs entfernen, die nicht für \"push\" bestimmt sind" msgid "be verbose; must be placed before a subcommand" msgstr "erweiterte Ausgaben; muss vor einem Unterkommando angegeben werden" +#: builtin/repack.c:15 +msgid "git repack [options]" +msgstr "git repack [Optionen]" + +#: builtin/repack.c:143 +msgid "pack everything in a single pack" +msgstr "packt alles in eine einzige Pack-Datei" + +#: builtin/repack.c:145 +msgid "same as -a, and turn unreachable objects loose" +msgstr "genau wie -a, unerreichbare Objekte werden aber nicht gelöscht" + +#: builtin/repack.c:148 +msgid "remove redundant packs, and run git-prune-packed" +msgstr "entfernt redundante Pakete und führt \"git-prune-packed\" aus" + +#: builtin/repack.c:150 +msgid "pass --no-reuse-delta to git-pack-objects" +msgstr "übergibt --no-reuse-delta an git-pack-objects" + +#: builtin/repack.c:152 +msgid "pass --no-reuse-object to git-pack-objects" +msgstr "übergibt --no-reuse-object an git-pack-objects" + +#: builtin/repack.c:154 +msgid "do not run git-update-server-info" +msgstr "git-update-server-info nicht ausführen" + +#: builtin/repack.c:157 +msgid "pass --local to git-pack-objects" +msgstr "übergibt --local an git-pack-objects" + +#: builtin/repack.c:158 +msgid "approxidate" +msgstr "Datumsangabe" + +#: builtin/repack.c:159 +msgid "with -A, do not loosen objects older than this" +msgstr "mit -A, löscht keine Objekte älter als dieses Datum" + +#: builtin/repack.c:161 +msgid "size of the window used for delta compression" +msgstr "Größe des Fensters für die Delta-Kompression" + +#: builtin/repack.c:163 +msgid "same as the above, but limit memory size instead of entries count" +msgstr "gleiches wie oben, limitiert aber die Speichergröße anstatt der\n" +"Anzahl der Einträge" + +#: builtin/repack.c:165 +msgid "limits the maximum delta depth" +msgstr "limitiert die maximale Delta-Tiefe" + +#: builtin/repack.c:167 +msgid "maximum size of each packfile" +msgstr "maximale Größe für jede Paketdatei" + +#: builtin/repack.c:345 +#, c-format +msgid "removing '%s' failed" +msgstr "Löschen von '%s' fehlgeschlagen" + #: builtin/replace.c:17 msgid "git replace [-f] <object> <replacement>" msgstr "git replace [-f] <Objekt> <Ersetzung>" @@ -8569,23 +8846,23 @@ msgstr "git replace -d <Objekt>..." msgid "git replace -l [<pattern>]" msgstr "git replace -l [<Muster>]" -#: builtin/replace.c:121 +#: builtin/replace.c:131 msgid "list replace refs" msgstr "listet ersetzende Referenzen auf" -#: builtin/replace.c:122 +#: builtin/replace.c:132 msgid "delete replace refs" msgstr "löscht ersetzende Referenzen" -#: builtin/replace.c:123 +#: builtin/replace.c:133 msgid "replace the ref if it exists" msgstr "ersetzt die Referenz, wenn sie existiert" -#: builtin/rerere.c:11 +#: builtin/rerere.c:12 msgid "git rerere [clear | forget path... | status | remaining | diff | gc]" msgstr "git rerere [clean | forget path... | status | remaining | diff | gc]" -#: builtin/rerere.c:56 +#: builtin/rerere.c:57 msgid "register clean resolutions in index" msgstr "registriert saubere Auflösungen in der Staging-Area" @@ -8646,71 +8923,71 @@ msgstr "HEAD ist jetzt bei %s" msgid "Cannot do a %s reset in the middle of a merge." msgstr "Kann keinen '%s'-Reset durchführen, während ein Merge im Gange ist." -#: builtin/reset.c:251 +#: builtin/reset.c:262 msgid "be quiet, only report errors" msgstr "weniger Ausgaben, meldet nur Fehler" -#: builtin/reset.c:253 +#: builtin/reset.c:264 msgid "reset HEAD and index" msgstr "setzt HEAD und Staging-Area um" -#: builtin/reset.c:254 +#: builtin/reset.c:265 msgid "reset only HEAD" msgstr "setzt nur HEAD um" -#: builtin/reset.c:256 builtin/reset.c:258 +#: builtin/reset.c:267 builtin/reset.c:269 msgid "reset HEAD, index and working tree" msgstr "setzt HEAD, Staging-Area und Arbeitsverzeichnis um" -#: builtin/reset.c:260 +#: builtin/reset.c:271 msgid "reset HEAD but keep local changes" msgstr "setzt HEAD um, behält aber lokale Änderungen" -#: builtin/reset.c:278 +#: builtin/reset.c:289 #, c-format msgid "Failed to resolve '%s' as a valid revision." msgstr "Konnte '%s' nicht als gültigen Commit auflösen." -#: builtin/reset.c:281 builtin/reset.c:289 +#: builtin/reset.c:292 builtin/reset.c:300 #, c-format msgid "Could not parse object '%s'." msgstr "Konnte Objekt '%s' nicht parsen." -#: builtin/reset.c:286 +#: builtin/reset.c:297 #, c-format msgid "Failed to resolve '%s' as a valid tree." msgstr "Konnte '%s' nicht als gültiges \"Tree\"-Objekt auflösen." -#: builtin/reset.c:295 +#: builtin/reset.c:306 msgid "--patch is incompatible with --{hard,mixed,soft}" msgstr "--patch ist inkompatibel mit --{hard,mixed,soft}" -#: builtin/reset.c:304 +#: builtin/reset.c:315 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead." msgstr "" "--mixed mit Pfaden ist veraltet; benutzen Sie stattdessen 'git reset -- " "<Pfade>'." -#: builtin/reset.c:306 +#: builtin/reset.c:317 #, c-format msgid "Cannot do %s reset with paths." msgstr "Ein '%s'-Reset mit Pfaden ist nicht möglich." -#: builtin/reset.c:316 +#: builtin/reset.c:327 #, c-format msgid "%s reset is not allowed in a bare repository" msgstr "'%s'-Reset ist in einem Bare-Repository nicht erlaubt" -#: builtin/reset.c:336 +#: builtin/reset.c:344 +msgid "Unstaged changes after reset:" +msgstr "Nicht zum Commit vorgemerkte Änderungen nach Zurücksetzung:" + +#: builtin/reset.c:350 #, c-format msgid "Could not reset index file to revision '%s'." msgstr "Konnte Staging-Area-Datei nicht zu Commit '%s' setzen." -#: builtin/reset.c:342 -msgid "Unstaged changes after reset:" -msgstr "Nicht zum Commit vorgemerkte Änderungen nach Zurücksetzung:" - -#: builtin/reset.c:347 +#: builtin/reset.c:355 msgid "Could not write new index file." msgstr "Konnte neue Staging-Area-Datei nicht schreiben." @@ -8757,84 +9034,84 @@ msgstr "git cherry-pick [Optionen] <Commit-Angabe>..." msgid "git cherry-pick <subcommand>" msgstr "git cherry-pick <Unterkommando>" -#: builtin/revert.c:71 builtin/revert.c:94 +#: builtin/revert.c:71 #, c-format msgid "%s: %s cannot be used with %s" msgstr "%s: %s kann nicht mit %s verwendet werden" -#: builtin/revert.c:105 +#: builtin/revert.c:80 msgid "end revert or cherry-pick sequence" msgstr "beendet \"revert\" oder \"cherry-pick\" Ablauf" -#: builtin/revert.c:106 +#: builtin/revert.c:81 msgid "resume revert or cherry-pick sequence" msgstr "setzt \"revert\" oder \"cherry-pick\" Ablauf fort" -#: builtin/revert.c:107 +#: builtin/revert.c:82 msgid "cancel revert or cherry-pick sequence" msgstr "bricht \"revert\" oder \"cherry-pick\" Ablauf ab" -#: builtin/revert.c:108 +#: builtin/revert.c:83 msgid "don't automatically commit" msgstr "committet nicht automatisch" -#: builtin/revert.c:109 +#: builtin/revert.c:84 msgid "edit the commit message" msgstr "Bearbeitung der Commit-Beschreibung" -#: builtin/revert.c:112 +#: builtin/revert.c:87 msgid "parent number" msgstr "Nummer des Elternteils" -#: builtin/revert.c:114 +#: builtin/revert.c:89 msgid "merge strategy" msgstr "Merge-Strategie" -#: builtin/revert.c:115 +#: builtin/revert.c:90 msgid "option" msgstr "Option" -#: builtin/revert.c:116 +#: builtin/revert.c:91 msgid "option for merge strategy" msgstr "Option für Merge-Strategie" -#: builtin/revert.c:127 +#: builtin/revert.c:102 msgid "append commit name" msgstr "hängt Commit-Namen an" -#: builtin/revert.c:128 +#: builtin/revert.c:103 msgid "allow fast-forward" msgstr "erlaubt Vorspulen" -#: builtin/revert.c:129 +#: builtin/revert.c:104 msgid "preserve initially empty commits" msgstr "erhält ursprüngliche, leere Commits" -#: builtin/revert.c:130 +#: builtin/revert.c:105 msgid "allow commits with empty messages" msgstr "erlaubt Commits mit leerer Beschreibung" -#: builtin/revert.c:131 +#: builtin/revert.c:106 msgid "keep redundant, empty commits" msgstr "behält redundante, leere Commits" -#: builtin/revert.c:135 +#: builtin/revert.c:110 msgid "program error" msgstr "Programmfehler" -#: builtin/revert.c:225 +#: builtin/revert.c:195 msgid "revert failed" msgstr "\"revert\" fehlgeschlagen" -#: builtin/revert.c:240 +#: builtin/revert.c:210 msgid "cherry-pick failed" msgstr "\"cherry-pick\" fehlgeschlagen" -#: builtin/rm.c:16 +#: builtin/rm.c:17 msgid "git rm [options] [--] <file>..." msgstr "git rm [Optionen] [--] [<Datei>...]" -#: builtin/rm.c:64 +#: builtin/rm.c:65 msgid "" "the following submodule (or one of its nested submodules)\n" "uses a .git directory:" @@ -8848,7 +9125,7 @@ msgstr[1] "" "die folgenden Submodule (oder ein geschachteltes Submodul hiervon)\n" "benutzen ein .git-Verzeichnis:" -#: builtin/rm.c:70 +#: builtin/rm.c:71 msgid "" "\n" "(use 'rm -rf' if you really want to remove it including all of its history)" @@ -8857,7 +9134,7 @@ msgstr "" "(benutzen Sie 'rm -rf' wenn Sie dieses Submodul wirklich mitsamt\n" "seiner Historie löschen möchten)" -#: builtin/rm.c:230 +#: builtin/rm.c:231 msgid "" "the following file has staged content different from both the\n" "file and the HEAD:" @@ -8872,7 +9149,7 @@ msgstr[1] "" "unterschiedlich\n" "zu der Datei und HEAD:" -#: builtin/rm.c:235 +#: builtin/rm.c:236 msgid "" "\n" "(use -f to force removal)" @@ -8880,13 +9157,13 @@ msgstr "" "\n" "(benutzen Sie -f um die Löschung zu erzwingen)" -#: builtin/rm.c:239 +#: builtin/rm.c:240 msgid "the following file has changes staged in the index:" msgid_plural "the following files have changes staged in the index:" msgstr[0] "die folgende Datei hat zum Commit vorgemerkte Änderungen:" msgstr[1] "die folgenden Dateien haben zum Commit vorgemerkte Änderungen:" -#: builtin/rm.c:243 builtin/rm.c:254 +#: builtin/rm.c:244 builtin/rm.c:255 msgid "" "\n" "(use --cached to keep the file, or -f to force removal)" @@ -8895,38 +9172,38 @@ msgstr "" "(benutzen Sie --cached um die Datei zu behalten, oder -f um die Entfernung " "zu erzwingen)" -#: builtin/rm.c:251 +#: builtin/rm.c:252 msgid "the following file has local modifications:" msgid_plural "the following files have local modifications:" msgstr[0] "die folgende Datei hat lokale Änderungen:" msgstr[1] "die folgenden Dateien haben lokale Änderungen:" -#: builtin/rm.c:269 +#: builtin/rm.c:270 msgid "do not list removed files" msgstr "listet keine gelöschten Dateien auf" -#: builtin/rm.c:270 +#: builtin/rm.c:271 msgid "only remove from the index" msgstr "entfernt nur aus der Staging-Area" -#: builtin/rm.c:271 +#: builtin/rm.c:272 msgid "override the up-to-date check" msgstr "überschreibt die \"up-to-date\" Prüfung" -#: builtin/rm.c:272 +#: builtin/rm.c:273 msgid "allow recursive removal" msgstr "erlaubt rekursive Entfernung" -#: builtin/rm.c:274 +#: builtin/rm.c:275 msgid "exit with a zero status even if nothing matched" msgstr "beendet mit Rückgabewert 0, wenn keine Ãœbereinstimmung gefunden wurde" -#: builtin/rm.c:345 +#: builtin/rm.c:336 #, c-format msgid "not removing '%s' recursively without -r" msgstr "'%s' wird nicht ohne -r rekursiv entfernt" -#: builtin/rm.c:384 +#: builtin/rm.c:375 #, c-format msgid "git rm: unable to remove %s" msgstr "git rm: konnte %s nicht löschen" @@ -8940,23 +9217,23 @@ msgstr "git shortlog [<Optionen>] [Commitbereich] [[--] <Pfad>...]" msgid "Missing author: %s" msgstr "fehlender Autor: %s" -#: builtin/shortlog.c:228 +#: builtin/shortlog.c:230 msgid "sort output according to the number of commits per author" msgstr "sortiert die Ausgabe entsprechend der Anzahl von Commits pro Autor" -#: builtin/shortlog.c:230 +#: builtin/shortlog.c:232 msgid "Suppress commit descriptions, only provides commit count" msgstr "Unterdrückt Commit-Beschreibungen, liefert nur Anzahl der Commits" -#: builtin/shortlog.c:232 +#: builtin/shortlog.c:234 msgid "Show the email address of each author" msgstr "Zeigt die Email-Adresse von jedem Autor" -#: builtin/shortlog.c:233 +#: builtin/shortlog.c:235 msgid "w[,i1[,i2]]" msgstr "w[,i1[,i2]]" -#: builtin/shortlog.c:234 +#: builtin/shortlog.c:236 msgid "Linewrap output" msgstr "Ausgabe mit Zeilenumbrüchen" @@ -9064,24 +9341,24 @@ msgstr "zeigt nur Branches (kann mit \"tags\" kombiniert werden)" msgid "stricter reference checking, requires exact ref path" msgstr "strengere Referenzprüfung, erfordert exakten Referenzpfad" -#: builtin/show-ref.c:173 builtin/show-ref.c:176 +#: builtin/show-ref.c:173 builtin/show-ref.c:175 msgid "show the HEAD reference, even if it would be filtered out" msgstr "zeigt die HEAD-Referenz, selbst wenn diese ausgefiltert werden würde" -#: builtin/show-ref.c:178 +#: builtin/show-ref.c:177 msgid "dereference tags into object IDs" msgstr "dereferenziert Tags in Objekt-Identifikationen" -#: builtin/show-ref.c:180 +#: builtin/show-ref.c:179 msgid "only show SHA1 hash using <n> digits" msgstr "zeigt nur SHA1 Hash mit <n> Ziffern" -#: builtin/show-ref.c:184 +#: builtin/show-ref.c:183 msgid "do not print results to stdout (useful with --verify)" msgstr "" "keine Ausgabe der Ergebnisse in die Standard-Ausgabe (nützlich mit --verify)" -#: builtin/show-ref.c:186 +#: builtin/show-ref.c:185 msgid "show refs from stdin that aren't in local repository" msgstr "" "zeigt Referenzen von der Standard-Eingabe, die sich nicht im lokalen " @@ -9108,11 +9385,11 @@ msgstr "löscht symbolische Referenzen" msgid "shorten ref output" msgstr "verkürzte Ausgabe der Referenzen" -#: builtin/symbolic-ref.c:43 builtin/update-ref.c:18 +#: builtin/symbolic-ref.c:43 builtin/update-ref.c:254 msgid "reason" msgstr "Grund" -#: builtin/symbolic-ref.c:43 builtin/update-ref.c:18 +#: builtin/symbolic-ref.c:43 builtin/update-ref.c:254 msgid "reason of the update" msgstr "Grund für die Aktualisierung" @@ -9278,191 +9555,203 @@ msgstr "gibt nur Tags aus, die diesen Commit beinhalten" msgid "print only tags of the object" msgstr "gibt nur Tags von dem Objekt aus" -#: builtin/tag.c:504 +#: builtin/tag.c:501 msgid "--column and -n are incompatible" msgstr "--column und -n sind inkompatibel" -#: builtin/tag.c:521 +#: builtin/tag.c:518 msgid "-n option is only allowed with -l." msgstr "-n Option ist nur erlaubt mit -l." -#: builtin/tag.c:523 +#: builtin/tag.c:520 msgid "--contains option is only allowed with -l." msgstr "--contains Option ist nur erlaubt mit -l." -#: builtin/tag.c:525 +#: builtin/tag.c:522 msgid "--points-at option is only allowed with -l." msgstr "--points-at Option ist nur erlaubt mit -l." -#: builtin/tag.c:533 +#: builtin/tag.c:530 msgid "only one -F or -m option is allowed." msgstr "nur eine -F oder -m Option ist erlaubt." -#: builtin/tag.c:553 +#: builtin/tag.c:550 msgid "too many params" msgstr "zu viele Parameter" -#: builtin/tag.c:559 +#: builtin/tag.c:556 #, c-format msgid "'%s' is not a valid tag name." msgstr "'%s' ist kein gültiger Tagname." -#: builtin/tag.c:564 +#: builtin/tag.c:561 #, c-format msgid "tag '%s' already exists" msgstr "Tag '%s' existiert bereits" -#: builtin/tag.c:582 +#: builtin/tag.c:579 #, c-format msgid "%s: cannot lock the ref" msgstr "%s: kann Referenz nicht sperren" -#: builtin/tag.c:584 +#: builtin/tag.c:581 #, c-format msgid "%s: cannot update the ref" msgstr "%s: kann Referenz nicht aktualisieren" -#: builtin/tag.c:586 +#: builtin/tag.c:583 #, c-format msgid "Updated tag '%s' (was %s)\n" msgstr "Tag '%s' aktualisiert (war %s)\n" -#: builtin/update-index.c:401 +#: builtin/update-index.c:402 msgid "git update-index [options] [--] [<file>...]" msgstr "git update-index [Optionen] [--] [<Datei>...]" -#: builtin/update-index.c:718 +#: builtin/update-index.c:720 msgid "continue refresh even when index needs update" msgstr "" "Aktualisierung fortsetzen, auch wenn die Staging-Area aktualisiert werden " "muss" -#: builtin/update-index.c:721 +#: builtin/update-index.c:723 msgid "refresh: ignore submodules" msgstr "Aktualisierung: ignoriert Submodule" -#: builtin/update-index.c:724 +#: builtin/update-index.c:726 msgid "do not ignore new files" msgstr "ignoriert keine neuen Dateien" -#: builtin/update-index.c:726 +#: builtin/update-index.c:728 msgid "let files replace directories and vice-versa" msgstr "lässt Dateien Verzeichnisse ersetzen, und umgedreht" -#: builtin/update-index.c:728 +#: builtin/update-index.c:730 msgid "notice files missing from worktree" msgstr "beachtet fehlende Dateien im Arbeitsverzeichnis" -#: builtin/update-index.c:730 +#: builtin/update-index.c:732 msgid "refresh even if index contains unmerged entries" msgstr "" "aktualisiert, auch wenn die Staging-Area nicht zusammengeführte Einträge " "beinhaltet" -#: builtin/update-index.c:733 +#: builtin/update-index.c:735 msgid "refresh stat information" msgstr "aktualisiert Dateiinformationen" -#: builtin/update-index.c:737 +#: builtin/update-index.c:739 msgid "like --refresh, but ignore assume-unchanged setting" msgstr "wie --refresh, ignoriert aber \"assume-unchanged\" Einstellung" -#: builtin/update-index.c:741 +#: builtin/update-index.c:743 msgid "<mode> <object> <path>" msgstr "<Modus> <Objekt> <Pfad>" -#: builtin/update-index.c:742 +#: builtin/update-index.c:744 msgid "add the specified entry to the index" msgstr "merkt den angegebenen Eintrag zum Commit vor" -#: builtin/update-index.c:746 +#: builtin/update-index.c:748 msgid "(+/-)x" msgstr "(+/-)x" -#: builtin/update-index.c:747 +#: builtin/update-index.c:749 msgid "override the executable bit of the listed files" msgstr "überschreibt das \"ausführbar\"-Bit der aufgelisteten Dateien" -#: builtin/update-index.c:751 +#: builtin/update-index.c:753 msgid "mark files as \"not changing\"" msgstr "betrachte diese Datei immer als unverändert" -#: builtin/update-index.c:754 +#: builtin/update-index.c:756 msgid "clear assumed-unchanged bit" msgstr "löscht \"assumed-unchanged\"-Bit" -#: builtin/update-index.c:757 +#: builtin/update-index.c:759 msgid "mark files as \"index-only\"" msgstr "markiert Dateien als \"index-only\"" -#: builtin/update-index.c:760 +#: builtin/update-index.c:762 msgid "clear skip-worktree bit" msgstr "löscht \"skip-worktree\"-Bit" -#: builtin/update-index.c:763 +#: builtin/update-index.c:765 msgid "add to index only; do not add content to object database" msgstr "" "merkt die Änderungen nur zum Commit vor; Inhalt wird nicht der Objekt-" "Datenbank hinzugefügt" -#: builtin/update-index.c:765 +#: builtin/update-index.c:767 msgid "remove named paths even if present in worktree" msgstr "" "löscht benannte Pfade, auch wenn sie sich im Arbeitsverzeichnis befinden" -#: builtin/update-index.c:767 +#: builtin/update-index.c:769 msgid "with --stdin: input lines are terminated by null bytes" msgstr "mit --stdin: eingegebene Zeilen sind durch NUL-Bytes abgeschlossen" -#: builtin/update-index.c:769 +#: builtin/update-index.c:771 msgid "read list of paths to be updated from standard input" msgstr "liest Liste der zu aktualisierenden Pfade von der Standard-Eingabe" -#: builtin/update-index.c:773 +#: builtin/update-index.c:775 msgid "add entries from standard input to the index" msgstr "merkt Einträge von der Standard-Eingabe zum Commit vor" -#: builtin/update-index.c:777 +#: builtin/update-index.c:779 msgid "repopulate stages #2 and #3 for the listed paths" msgstr "" "wiederholtes Einpflegen der Zustände #2 und #3 für die aufgelisteten Pfade" -#: builtin/update-index.c:781 +#: builtin/update-index.c:783 msgid "only update entries that differ from HEAD" msgstr "aktualisiert nur Einträge, die unterschiedlich zu HEAD sind" -#: builtin/update-index.c:785 +#: builtin/update-index.c:787 msgid "ignore files missing from worktree" msgstr "ignoriert fehlende Dateien im Arbeitsverzeichnis" -#: builtin/update-index.c:788 +#: builtin/update-index.c:790 msgid "report actions to standard output" msgstr "gibt die Aktionen in der Standard-Ausgabe aus" -#: builtin/update-index.c:790 +#: builtin/update-index.c:792 msgid "(for porcelains) forget saved unresolved conflicts" msgstr "(für Fremdprogramme) keine gespeicherten, nicht aufgelöste Konflikte" -#: builtin/update-index.c:794 +#: builtin/update-index.c:796 msgid "write index in this format" msgstr "schreibt Staging-Area-Datei in diesem Format" -#: builtin/update-ref.c:7 +#: builtin/update-ref.c:9 msgid "git update-ref [options] -d <refname> [<oldval>]" msgstr "git update-ref [Optionen] -d <Referenzname> [<alterWert>]" -#: builtin/update-ref.c:8 +#: builtin/update-ref.c:10 msgid "git update-ref [options] <refname> <newval> [<oldval>]" msgstr "git update-ref [Optionen] <Referenzname> <neuerWert> [<alterWert>]" -#: builtin/update-ref.c:19 +#: builtin/update-ref.c:11 +msgid "git update-ref [options] --stdin [-z]" +msgstr "git update-ref [Optionen] --stdin [-z]" + +#: builtin/update-ref.c:255 msgid "delete the reference" msgstr "löscht diese Referenz" -#: builtin/update-ref.c:21 +#: builtin/update-ref.c:257 msgid "update <refname> not the one it points to" msgstr "aktualisiert <Referenzname>, nicht den Verweis" +#: builtin/update-ref.c:258 +msgid "stdin has NUL-terminated arguments" +msgstr "Standard-Eingabe hat durch NUL-Zeichen abgeschlossene Argumente" + +#: builtin/update-ref.c:259 +msgid "read updates from stdin" +msgstr "liest Aktualisierungen von der Standard-Eingabe" + #: builtin/update-server-info.c:6 msgid "git update-server-info [--force]" msgstr "git update-server-info [--force]" @@ -9518,23 +9807,23 @@ msgstr "" "oder 'git help <Konzept>' um mehr über ein spezifisches Kommando oder\n" "Konzept zu erfahren." -#: parse-options.h:144 +#: parse-options.h:146 msgid "expiry date" msgstr "Verfallsdatum" -#: parse-options.h:159 +#: parse-options.h:161 msgid "no-op (backward compatibility)" msgstr "Kein Effekt (Rückwärtskompatibilität)" -#: parse-options.h:236 +#: parse-options.h:238 msgid "be more verbose" msgstr "erweiterte Ausgaben" -#: parse-options.h:238 +#: parse-options.h:240 msgid "be more quiet" msgstr "weniger Ausgaben" -#: parse-options.h:244 +#: parse-options.h:246 msgid "use <n> digits to display SHA-1s" msgstr "benutze <n> Ziffern zur Anzeige von SHA-1s" @@ -9993,7 +10282,7 @@ msgid "Pull is not possible because you have unmerged files." msgstr "" "\"pull\" ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben." -#: git-pull.sh:203 +#: git-pull.sh:223 msgid "updating an unborn branch with changes added to the index" msgstr "" "Aktualisiere einen ungeborenen Branch mit Änderungen, die zum Commit " @@ -10003,7 +10292,7 @@ msgstr "" #. The working tree and the index file is still based on the #. $orig_head commit, but we are merging into $curr_head. #. First update the working tree to match $curr_head. -#: git-pull.sh:235 +#: git-pull.sh:255 #, sh-format msgid "" "Warning: fetch updated the current branch head.\n" @@ -10013,11 +10302,11 @@ msgstr "" "Warnung: \"fetch\" aktualisierte die Spitze des aktuellen Branches.\n" "Warnung: Spule Ihr Arbeitsverzeichnis von Commit $orig_head vor." -#: git-pull.sh:260 +#: git-pull.sh:280 msgid "Cannot merge multiple branches into empty head" msgstr "Kann nicht mehrere Branches in einen ungeborenen Branch zusammenführen" -#: git-pull.sh:264 +#: git-pull.sh:284 msgid "Cannot rebase onto multiple branches" msgstr "kann Rebase nicht auf mehrere Branches ausführen" @@ -10054,33 +10343,33 @@ msgstr "" "Ihre Änderungen sind im Stash sicher.\n" "Sie können jederzeit \"git stash pop\" oder \"git stash drop\" ausführen.\n" -#: git-rebase.sh:190 +#: git-rebase.sh:199 msgid "The pre-rebase hook refused to rebase." msgstr "Der \"pre-rebase hook\" hat den Rebase zurückgewiesen." -#: git-rebase.sh:195 +#: git-rebase.sh:204 msgid "It looks like git-am is in progress. Cannot rebase." msgstr "\"git-am\" scheint im Gange zu sein. Kann Rebase nicht durchführen." -#: git-rebase.sh:329 +#: git-rebase.sh:338 msgid "The --exec option must be used with the --interactive option" msgstr "Die Option --exec muss mit --interactive verwendet werden." -#: git-rebase.sh:334 +#: git-rebase.sh:343 msgid "No rebase in progress?" msgstr "Kein Rebase im Gange?" -#: git-rebase.sh:345 +#: git-rebase.sh:354 msgid "The --edit-todo action can only be used during interactive rebase." msgstr "" "Die --edit-todo Aktion kann nur während eines interaktiven Rebase verwendet " "werden." -#: git-rebase.sh:352 +#: git-rebase.sh:361 msgid "Cannot read HEAD" msgstr "Kann HEAD nicht lesen" -#: git-rebase.sh:355 +#: git-rebase.sh:364 msgid "" "You must edit all merge conflicts and then\n" "mark them as resolved using git add" @@ -10088,12 +10377,12 @@ msgstr "" "Sie müssen alle Merge-Konflikte editieren und diese dann\n" "mittels \"git add\" als aufgelöst markieren" -#: git-rebase.sh:373 +#: git-rebase.sh:382 #, sh-format msgid "Could not move back to $head_name" msgstr "Konnte nicht zu $head_name zurückgehen" -#: git-rebase.sh:392 +#: git-rebase.sh:401 #, sh-format msgid "" "It seems that there is already a $state_dir_base directory, and\n" @@ -10114,68 +10403,68 @@ msgstr "" "und führen Sie dieses Kommando nochmal aus. Es wird angehalten, falls noch\n" "etwas Schützenswertes vorhanden ist." -#: git-rebase.sh:437 +#: git-rebase.sh:446 #, sh-format msgid "invalid upstream $upstream_name" msgstr "ungültiger Upstream-Branch $upstream_name" -#: git-rebase.sh:461 +#: git-rebase.sh:470 #, sh-format msgid "$onto_name: there are more than one merge bases" msgstr "$onto_name: es gibt mehr als eine Merge-Basis" -#: git-rebase.sh:464 git-rebase.sh:468 +#: git-rebase.sh:473 git-rebase.sh:477 #, sh-format msgid "$onto_name: there is no merge base" msgstr "$onto_name: es gibt keine Merge-Basis" -#: git-rebase.sh:473 +#: git-rebase.sh:482 #, sh-format msgid "Does not point to a valid commit: $onto_name" msgstr "$onto_name zeigt auf keinen gültigen Commit" -#: git-rebase.sh:496 +#: git-rebase.sh:505 #, sh-format msgid "fatal: no such branch: $branch_name" msgstr "fatal: Branch $branch_name nicht gefunden" -#: git-rebase.sh:519 +#: git-rebase.sh:528 msgid "Cannot autostash" msgstr "Kann \"autostash\" nicht ausführen." -#: git-rebase.sh:524 +#: git-rebase.sh:533 #, sh-format msgid "Created autostash: $stash_abbrev" msgstr "\"autostash\" erzeugt: $stash_abbrev" -#: git-rebase.sh:528 +#: git-rebase.sh:537 msgid "Please commit or stash them." msgstr "Bitte committen Sie die Änderungen oder benutzen Sie \"stash\"." -#: git-rebase.sh:548 +#: git-rebase.sh:557 #, sh-format msgid "Current branch $branch_name is up to date." msgstr "Aktueller Branch $branch_name ist auf dem neusten Stand." -#: git-rebase.sh:552 +#: git-rebase.sh:561 #, sh-format msgid "Current branch $branch_name is up to date, rebase forced." msgstr "" "Aktueller Branch $branch_name ist auf dem neusten Stand, Rebase erzwungen." -#: git-rebase.sh:563 +#: git-rebase.sh:572 #, sh-format msgid "Changes from $mb to $onto:" msgstr "Änderungen von $mb zu $onto:" #. Detach HEAD and reset the tree -#: git-rebase.sh:572 +#: git-rebase.sh:581 msgid "First, rewinding head to replay your work on top of it..." msgstr "" "Zunächst wird der Branch zurückgespult, um Ihre Änderungen\n" "darauf neu anzuwenden..." -#: git-rebase.sh:582 +#: git-rebase.sh:591 #, sh-format msgid "Fast-forwarded $branch_name to $onto_name." msgstr "$branch_name zu $onto_name vorgespult." @@ -10223,7 +10512,7 @@ msgstr "Kann $ref_stash nicht mit $w_commit aktualisieren." #. $ git stash save --blah-blah 2>&1 | head -n 2 #. error: unknown option for 'stash save': --blah-blah #. To provide a message, use git stash save -- '--blah-blah' -#: git-stash.sh:241 +#: git-stash.sh:237 #, sh-format msgid "" "error: unknown option for 'stash save': $option\n" @@ -10233,100 +10522,85 @@ msgstr "" " Um eine Beschreibung anzugeben, benutzen Sie \"git stash save -- " "'$option'\"" -#: git-stash.sh:262 +#: git-stash.sh:258 msgid "No local changes to save" msgstr "Keine lokalen Änderungen zum Speichern" -#: git-stash.sh:268 -msgid "" -"The following untracked files would NOT be saved but need to be removed by " -"stash save:" -msgstr "" -"Die folgenden unbeobachteten Dateien würden NICHT gespeichert werden,\n" -"müssen aber durch \"stash save\" entfernt werden:" - -#: git-stash.sh:270 -msgid "" -"Aborting. Consider using either the --force or --include-untracked option." -msgstr "" -"Abgebrochen. Benutzen Sie entweder die Option --force oder --include-" -"untracked." - -#: git-stash.sh:274 +#: git-stash.sh:262 msgid "Cannot initialize stash" msgstr "Kann \"stash\" nicht initialisieren" -#: git-stash.sh:278 +#: git-stash.sh:266 msgid "Cannot save the current status" msgstr "Kann den aktuellen Status nicht speichern" -#: git-stash.sh:296 +#: git-stash.sh:284 msgid "Cannot remove worktree changes" msgstr "Kann Änderungen im Arbeitsverzeichnis nicht löschen" -#: git-stash.sh:395 +#: git-stash.sh:383 msgid "No stash found." msgstr "Kein \"stash\" gefunden." -#: git-stash.sh:402 +#: git-stash.sh:390 #, sh-format msgid "Too many revisions specified: $REV" msgstr "Zu viele Commits angegeben: $REV" -#: git-stash.sh:408 +#: git-stash.sh:396 #, sh-format msgid "$reference is not valid reference" msgstr "$reference ist keine gültige Referenz" -#: git-stash.sh:436 +#: git-stash.sh:424 #, sh-format msgid "'$args' is not a stash-like commit" msgstr "'$args' ist kein \"stash\"-artiger Commit" -#: git-stash.sh:447 +#: git-stash.sh:435 #, sh-format msgid "'$args' is not a stash reference" msgstr "'$args' ist keine \"stash\"-Referenz" -#: git-stash.sh:455 +#: git-stash.sh:443 msgid "unable to refresh index" msgstr "unfähig die Staging-Area zu aktualisieren" -#: git-stash.sh:459 +#: git-stash.sh:447 msgid "Cannot apply a stash in the middle of a merge" msgstr "Kann \"stash\" nicht anwenden, solang ein Merge im Gange ist" -#: git-stash.sh:467 +#: git-stash.sh:455 msgid "Conflicts in index. Try without --index." msgstr "Konflikte in der Staging-Area. Versuchen Sie es ohne --index." -#: git-stash.sh:469 +#: git-stash.sh:457 msgid "Could not save index tree" msgstr "Konnte Staging-Area-Verzeichnis nicht speichern" -#: git-stash.sh:503 +#: git-stash.sh:491 msgid "Cannot unstage modified files" msgstr "Kann geänderte Dateien nicht aus der Staging-Area entfernen" -#: git-stash.sh:518 +#: git-stash.sh:506 msgid "Index was not unstashed." msgstr "Staging-Area wurde nicht aus dem Stash zurückgeladen." -#: git-stash.sh:535 +#: git-stash.sh:523 #, sh-format msgid "Dropped ${REV} ($s)" msgstr "Gelöscht ${REV} ($s)" -#: git-stash.sh:536 +#: git-stash.sh:524 #, sh-format msgid "${REV}: Could not drop stash entry" msgstr "${REV}: Konnte \"stash\"-Eintrag nicht löschen" -#: git-stash.sh:543 +#: git-stash.sh:531 msgid "No branch name specified" msgstr "Kein Branchname spezifiziert" -#: git-stash.sh:615 +#: git-stash.sh:603 msgid "(To restore them type \"git stash apply\")" msgstr "(Zur Wiederherstellung geben Sie \"git stash apply\" ein)" @@ -10608,49 +10882,60 @@ msgstr "" "Die Optionen --cached und --files können nicht gemeinsam verwendet werden." #. unexpected type -#: git-submodule.sh:1066 +#: git-submodule.sh:1073 #, sh-format msgid "unexpected mode $mod_dst" msgstr "unerwarteter Modus $mod_dst" -#: git-submodule.sh:1086 +#: git-submodule.sh:1093 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_src" msgstr " Warnung: $display_name beinhaltet nicht Commit $sha1_src" -#: git-submodule.sh:1089 +#: git-submodule.sh:1096 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_dst" msgstr " Warnung: $display_name beinhaltet nicht Commit $sha1_dst" -#: git-submodule.sh:1092 +#: git-submodule.sh:1099 #, sh-format msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst" msgstr "" " Warnung: $display_name beinhaltet nicht die Commits $sha1_src und $sha1_dst" -#: git-submodule.sh:1117 +#: git-submodule.sh:1124 msgid "blob" msgstr "Blob" -#: git-submodule.sh:1155 -msgid "Submodules changed but not updated:" -msgstr "Submodule geändert, aber nicht aktualisiert:" - -#: git-submodule.sh:1157 -msgid "Submodule changes to be committed:" -msgstr "Änderungen in Submodul zum Committen:" - -#: git-submodule.sh:1242 +#: git-submodule.sh:1238 #, sh-format msgid "Failed to recurse into submodule path '$sm_path'" msgstr "Fehler bei Rekursion in Submodul-Pfad '$sm_path'" -#: git-submodule.sh:1306 +#: git-submodule.sh:1302 #, sh-format msgid "Synchronizing submodule url for '$displaypath'" msgstr "Synchronisiere Submodul-URL für '$displaypath'" +#~ msgid "input paths are terminated by a null character" +#~ msgstr "Eingabepfade sind durch ein NUL Zeichen abgeschlossen" + +#~ msgid "done\n" +#~ msgstr "Fertig\n" + +#~ msgid "" +#~ "The following untracked files would NOT be saved but need to be removed " +#~ "by stash save:" +#~ msgstr "" +#~ "Die folgenden unbeobachteten Dateien würden NICHT gespeichert werden,\n" +#~ "müssen aber durch \"stash save\" entfernt werden:" + +#~ msgid "" +#~ "Aborting. Consider using either the --force or --include-untracked option." +#~ msgstr "" +#~ "Abgebrochen. Benutzen Sie entweder die Option --force oder --include-" +#~ "untracked." + #~ msgid " (fix conflicts and then run \"git am --resolved\")" #~ msgstr "" #~ " (beheben Sie die Konflikte und führen Sie dann \"git am --resolved\" " @@ -10783,9 +11068,6 @@ msgstr "Synchronisiere Submodul-URL für '$displaypath'" #~ msgid "-B cannot be used with -b" #~ msgstr "-B kann nicht mit -b benutzt werden" -#~ msgid "--patch is incompatible with all other options" -#~ msgstr "--patch ist inkompatibel mit allen anderen Optionen" - #~ msgid "--detach cannot be used with -b/-B/--orphan" #~ msgstr "--detach kann nicht mit -b/-B/--orphan benutzt werden" @@ -72,8 +72,8 @@ msgid "" msgstr "" "Project-Id-Version: git\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2013-08-06 14:10+0800\n" -"PO-Revision-Date: 2013-10-05 21:17+0200\n" +"POT-Creation-Date: 2013-11-02 08:06+0800\n" +"PO-Revision-Date: 2013-11-07 21:41+0100\n" "Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n" "Language-Team: Jean-Noël Avila <jn.avila@free.fr>\n" "Language: fr\n" @@ -123,71 +123,76 @@ msgstr "" msgid "git archive --remote <repo> [--exec <cmd>] --list" msgstr "git archive --remote <dépôt> [--exec <commande>] --list" -#: archive.c:323 +#: archive.c:242 builtin/add.c:240 builtin/add.c:556 builtin/rm.c:328 +#, c-format +msgid "pathspec '%s' did not match any files" +msgstr "le chemin '%s' ne correspond à aucun fichier" + +#: archive.c:327 msgid "fmt" msgstr "fmt" -#: archive.c:323 +#: archive.c:327 msgid "archive format" msgstr "format d'archive" -#: archive.c:324 builtin/log.c:1173 +#: archive.c:328 builtin/log.c:1193 msgid "prefix" msgstr "préfixe" -#: archive.c:325 +#: archive.c:329 msgid "prepend prefix to each pathname in the archive" msgstr "préfixer chaque chemin de fichier dans l'archive" -#: archive.c:326 builtin/archive.c:88 builtin/blame.c:2292 -#: builtin/blame.c:2293 builtin/config.c:56 builtin/fast-export.c:673 -#: builtin/fast-export.c:675 builtin/grep.c:714 builtin/hash-object.c:77 -#: builtin/ls-files.c:496 builtin/ls-files.c:499 builtin/notes.c:408 -#: builtin/notes.c:565 builtin/read-tree.c:108 parse-options.h:152 +#: archive.c:330 builtin/archive.c:88 builtin/blame.c:2264 +#: builtin/blame.c:2265 builtin/config.c:58 builtin/fast-export.c:680 +#: builtin/fast-export.c:682 builtin/grep.c:716 builtin/hash-object.c:77 +#: builtin/ls-files.c:486 builtin/ls-files.c:489 builtin/notes.c:408 +#: builtin/notes.c:565 builtin/read-tree.c:108 parse-options.h:154 msgid "file" msgstr "fichier" -#: archive.c:327 builtin/archive.c:89 +#: archive.c:331 builtin/archive.c:89 msgid "write the archive to this file" msgstr "écrire l'archive dans ce fichier" -#: archive.c:329 +#: archive.c:333 msgid "read .gitattributes in working directory" msgstr "lire .gitattributes dans le répertoire de travail" -#: archive.c:330 +#: archive.c:334 msgid "report archived files on stderr" msgstr "afficher les fichiers archivés sur stderr" -#: archive.c:331 +#: archive.c:335 msgid "store only" msgstr "stockage seulement" -#: archive.c:332 +#: archive.c:336 msgid "compress faster" msgstr "compression rapide" -#: archive.c:340 +#: archive.c:344 msgid "compress better" msgstr "compression efficace" -#: archive.c:343 +#: archive.c:347 msgid "list supported archive formats" msgstr "afficher les formats d'archive supportés" -#: archive.c:345 builtin/archive.c:90 builtin/clone.c:85 +#: archive.c:349 builtin/archive.c:90 builtin/clone.c:84 msgid "repo" msgstr "dépôt" -#: archive.c:346 builtin/archive.c:91 +#: archive.c:350 builtin/archive.c:91 msgid "retrieve the archive from remote repository <repo>" msgstr "récupérer l'archive depuis le dépôt distant <dépôt>" -#: archive.c:347 builtin/archive.c:92 builtin/notes.c:487 +#: archive.c:351 builtin/archive.c:92 builtin/notes.c:487 msgid "command" msgstr "commande" -#: archive.c:348 builtin/archive.c:93 +#: archive.c:352 builtin/archive.c:93 msgid "path to the remote git-upload-archive command" msgstr "chemin vers la commande distante git-upload-archive" @@ -275,19 +280,19 @@ msgstr "Une branche nommée '%s' existe déjà ." msgid "Cannot force update the current branch." msgstr "Impossible de forcer la mise à jour de la branche courante." -#: branch.c:216 +#: branch.c:215 #, c-format msgid "Cannot setup tracking information; starting point '%s' is not a branch." msgstr "" "Impossible de paramétrer le suivi de branche ; le point de départ '%s' n'est " "pas une branche." -#: branch.c:218 +#: branch.c:217 #, c-format msgid "the requested upstream branch '%s' does not exist" msgstr "la branche amont demandée '%s' n'existe pas" -#: branch.c:220 +#: branch.c:219 msgid "" "\n" "If you are planning on basing your work on an upstream\n" @@ -307,26 +312,26 @@ msgstr "" "sa jumelle distante, vous souhaiterez utiliser \"git push -u\"\n" "pour paramétrer le suivi distant en même temps que vous poussez." -#: branch.c:265 +#: branch.c:264 #, c-format msgid "Not a valid object name: '%s'." msgstr "Nom d'objet invalide : '%s'." -#: branch.c:285 +#: branch.c:284 #, c-format msgid "Ambiguous object name: '%s'." msgstr "Nom d'objet ambigu : '%s'." -#: branch.c:290 +#: branch.c:289 #, c-format msgid "Not a valid branch point: '%s'." msgstr "Point d'embranchement invalide : '%s'." -#: branch.c:296 +#: branch.c:295 msgid "Failed to lock ref for update" msgstr "Échec du verrouillage de la référence pour mise à jour" -#: branch.c:314 +#: branch.c:313 msgid "Failed to write ref" msgstr "Échec de l'écriture de la référence" @@ -340,7 +345,7 @@ msgstr "'%s' ne semble pas être un fichier bundle v2" msgid "unrecognized header: %s%s (%d)" msgstr "en-tête non reconnu : %s%s (%d)" -#: bundle.c:89 builtin/commit.c:697 +#: bundle.c:89 builtin/commit.c:706 #, c-format msgid "could not open '%s'" msgstr "impossible d'ouvrir '%s'" @@ -349,9 +354,9 @@ msgstr "impossible d'ouvrir '%s'" msgid "Repository lacks these prerequisite commits:" msgstr "Le dépôt ne dispose pas des commits prérequis :" -#: bundle.c:164 sequencer.c:661 sequencer.c:1111 builtin/log.c:331 -#: builtin/log.c:801 builtin/log.c:1399 builtin/log.c:1625 builtin/merge.c:364 -#: builtin/shortlog.c:156 +#: bundle.c:164 sequencer.c:662 sequencer.c:1112 builtin/log.c:332 +#: builtin/log.c:821 builtin/log.c:1418 builtin/log.c:1644 builtin/merge.c:364 +#: builtin/shortlog.c:158 msgid "revision walk setup failed" msgstr "échec de la préparation du parcours des révisions" @@ -377,7 +382,7 @@ msgstr[1] "Le colis exige ces %d références :" msgid "rev-list died" msgstr "rev-list a disparu" -#: bundle.c:300 builtin/log.c:1310 builtin/shortlog.c:259 +#: bundle.c:300 builtin/log.c:1329 builtin/shortlog.c:261 #, c-format msgid "unrecognized argument: %s" msgstr "argument non reconnu : %s" @@ -529,7 +534,7 @@ msgstr "" "Erreurs dans la variable de configuration 'diff.dirstat' :\n" "%s" -#: diff.c:3487 +#: diff.c:3490 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" @@ -538,7 +543,7 @@ msgstr "" "Impossible d'analyser le paramètre de l'option --dirstat/-X :\n" "%s" -#: diff.c:3501 +#: diff.c:3504 #, c-format msgid "Failed to parse --submodule option parameter: '%s'" msgstr "Impossible d'analyser le paramètre de l'option --submodule : '%s'" @@ -565,17 +570,17 @@ msgstr "impossible de créer un fichier temporaire '%s' : %s" msgid "failed writing detached signature to '%s': %s" msgstr "impossible d'écrire la signature détachée dans '%s' : %s" -#: grep.c:1623 +#: grep.c:1695 #, c-format msgid "'%s': unable to read %s" msgstr "'%s' : lecture de %s impossible" -#: grep.c:1640 +#: grep.c:1712 #, c-format msgid "'%s': %s" msgstr "'%s' : %s" -#: grep.c:1651 +#: grep.c:1723 #, c-format msgid "'%s': short read %s" msgstr "'%s' : lecture tronquée %s" @@ -649,8 +654,8 @@ msgstr "%s: %s - %s" msgid "failed to read the cache" msgstr "impossible de lire le cache" -#: merge.c:110 builtin/checkout.c:365 builtin/checkout.c:566 -#: builtin/clone.c:656 +#: merge.c:110 builtin/checkout.c:358 builtin/checkout.c:559 +#: builtin/clone.c:655 msgid "unable to write new index file" msgstr "impossible d'écrire le nouveau fichier d'index" @@ -699,7 +704,7 @@ msgstr "impossible de lire l'objet %s '%s'" msgid "blob expected for %s '%s'" msgstr "blob attendu pour %s '%s'" -#: merge-recursive.c:774 builtin/clone.c:312 +#: merge-recursive.c:774 builtin/clone.c:311 #, c-format msgid "failed to open '%s'" msgstr "échec à l'ouverture de '%s'" @@ -835,7 +840,7 @@ msgstr "%s sauté (fusion identique à l'existant)" msgid "Auto-merging %s" msgstr "Fusion automatique de %s" -#: merge-recursive.c:1634 git-submodule.sh:1118 +#: merge-recursive.c:1634 git-submodule.sh:1125 msgid "submodule" msgstr "sous-module" @@ -931,58 +936,121 @@ msgstr "Refus de réécrire des notes dans %s (hors de refs/notes/)" msgid "Bad %s value: '%s'" msgstr "Mauvaise valeur de %s : '%s'" -#: object.c:204 +#: object.c:202 #, c-format msgid "unable to parse object: %s" msgstr "impossible d'analyser l'objet : %s" -#: parse-options.c:489 +#: parse-options.c:537 msgid "..." msgstr "..." -#: parse-options.c:507 +#: parse-options.c:555 #, c-format msgid "usage: %s" msgstr "usage : %s" #. TRANSLATORS: the colon here should align with the #. one in "usage: %s" translation -#: parse-options.c:511 +#: parse-options.c:559 #, c-format msgid " or: %s" msgstr " ou : %s" -#: parse-options.c:514 +#: parse-options.c:562 #, c-format msgid " %s" msgstr " %s" -#: parse-options.c:548 +#: parse-options.c:596 msgid "-NUM" msgstr "-NUM" -#: pathspec.c:83 +#: pathspec.c:118 +msgid "global 'glob' and 'noglob' pathspec settings are incompatible" +msgstr "les réglages de spécificateurs de chemin généraux 'glob' et 'noglob' sont incompatibles" + +#: pathspec.c:128 +msgid "" +"global 'literal' pathspec setting is incompatible with all other global " +"pathspec settings" +msgstr "le réglage global de spécificateur de chemin 'literal' est incompatible avec tous les autres réglages globaux de spécificateur de chemin" + +#: pathspec.c:158 +msgid "invalid parameter for pathspec magic 'prefix'" +msgstr "paramètre invalide pour le spécificateur magique de chemin 'prefix'" + +#: pathspec.c:164 +#, c-format +msgid "Invalid pathspec magic '%.*s' in '%s'" +msgstr "La spécification magique de chemin '%.*s' est invalide dans '%s'" + +#: pathspec.c:168 +#, c-format +msgid "Missing ')' at the end of pathspec magic in '%s'" +msgstr "')' manquante à la fin du spécificateur magique de chemin dans '%s'" + +#: pathspec.c:186 +#, c-format +msgid "Unimplemented pathspec magic '%c' in '%s'" +msgstr "Spécificateur magique '%c' non implémenté dans '%s'" + +#: pathspec.c:211 +#, c-format +msgid "%s: 'literal' and 'glob' are incompatible" +msgstr "%s : 'literal' et 'glob' sont incompatibles" + +#: pathspec.c:222 +#, c-format +msgid "%s: '%s' is outside repository" +msgstr "%s : '%s' est hors du dépôt" + +#: pathspec.c:278 #, c-format -msgid "Path '%s' is in submodule '%.*s'" +msgid "Pathspec '%s' is in submodule '%.*s'" msgstr "Le chemin '%s' est dans le sous-module '%.*s'" -#: pathspec.c:99 +#. +#. * We may want to substitute "this command" with a command +#. * name. E.g. when add--interactive dies when running +#. * "checkout -p" +#. +#: pathspec.c:340 #, c-format -msgid "'%s' is beyond a symbolic link" -msgstr "'%s' est au delà d'un lien symbolique" +msgid "%s: pathspec magic not supported by this command: %s" +msgstr "%s : le spécificateur magique de chemin n'est pas supporté par cette commande : %s" -#: remote.c:1788 +#: pathspec.c:415 +#, c-format +msgid "pathspec '%s' is beyond a symbolic link" +msgstr "le chemin '%s' est au-delà d'un lien symbolique" + +#: remote.c:1833 +#, c-format +msgid "Your branch is based on '%s', but the upstream is gone.\n" +msgstr "Votre branche est basée sur '%s', mais la branche amont a disparu.\n" + +#: remote.c:1837 +msgid " (use \"git branch --unset-upstream\" to fixup)\n" +msgstr " (utilisez \"git branch -unset-upstream\" pour corriger)\n" + +#: remote.c:1840 +#, c-format +msgid "Your branch is up-to-date with '%s'.\n" +msgstr "Votre branche est à jour avec '%s'.\n" + +#: remote.c:1844 #, c-format msgid "Your branch is ahead of '%s' by %d commit.\n" msgid_plural "Your branch is ahead of '%s' by %d commits.\n" msgstr[0] "Votre branche est en avance sur '%s' de %d commit.\n" msgstr[1] "Votre branche est en avance sur '%s' de %d commits.\n" -#: remote.c:1794 +#: remote.c:1850 msgid " (use \"git push\" to publish your local commits)\n" msgstr " (utilisez \"git push\" pour publier vos commits locaux)\n" -#: remote.c:1797 +#: remote.c:1853 #, c-format msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n" msgid_plural "" @@ -994,11 +1062,11 @@ msgstr[1] "" "Votre branche est en retard sur '%s' de %d commits, et peut être mise à jour " "en avance rapide.\n" -#: remote.c:1805 +#: remote.c:1861 msgid " (use \"git pull\" to update your local branch)\n" msgstr " (utilisez \"git pull\" pour mettre à jour votre branche locale)\n" -#: remote.c:1808 +#: remote.c:1864 #, c-format msgid "" "Your branch and '%s' have diverged,\n" @@ -1013,7 +1081,7 @@ msgstr[1] "" "Votre branche et '%s' ont divergé,\n" "et ont %d et %d commits différents chacune respectivement.\n" -#: remote.c:1818 +#: remote.c:1874 msgid " (use \"git pull\" to merge the remote branch into yours)\n" msgstr "" " (utilisez \"git pull\" pour fusionner la branche distante dans la vôtre)\n" @@ -1057,7 +1125,7 @@ msgstr "" "avec 'git add <chemins>' ou 'git rm <chemins>'\n" "puis validez le résultat avec 'git commit'" -#: sequencer.c:245 sequencer.c:869 sequencer.c:952 +#: sequencer.c:245 sequencer.c:870 sequencer.c:953 #, c-format msgid "Could not write to %s" msgstr "Impossible d'écrire dans %s" @@ -1077,47 +1145,47 @@ msgstr "Vos modifications locales seraient écrasées par revert." #: sequencer.c:268 msgid "Commit your changes or stash them to proceed." -msgstr "Validez vos modifications ou remisez-les pour continuer." +msgstr "Validez vos modifications ou les remiser pour continuer." #. TRANSLATORS: %s will be "revert" or "cherry-pick" -#: sequencer.c:324 +#: sequencer.c:325 #, c-format msgid "%s: Unable to write new index file" msgstr "%s: Impossible d'écrire le nouveau fichier index" -#: sequencer.c:355 +#: sequencer.c:356 msgid "Could not resolve HEAD commit\n" msgstr "Impossible de résoudre le commit HEAD\n" -#: sequencer.c:377 +#: sequencer.c:378 msgid "Unable to update cache tree\n" msgstr "Impossible de mettre à jour l'arbre de cache\n" -#: sequencer.c:422 +#: sequencer.c:423 #, c-format msgid "Could not parse commit %s\n" msgstr "Impossible d'analyser le commit %s\n" -#: sequencer.c:427 +#: sequencer.c:428 #, c-format msgid "Could not parse parent commit %s\n" msgstr "Impossible d'analyser le commit parent %s\n" -#: sequencer.c:493 +#: sequencer.c:494 msgid "Your index file is unmerged." msgstr "Votre fichier d'index n'est pas fusionné." -#: sequencer.c:512 +#: sequencer.c:513 #, c-format msgid "Commit %s is a merge but no -m option was given." msgstr "Le commit %s est une fusion mais l'option -m n'a pas été spécifiée." -#: sequencer.c:520 +#: sequencer.c:521 #, c-format msgid "Commit %s does not have parent %d" msgstr "Le commit %s n'a pas le parent %d" -#: sequencer.c:524 +#: sequencer.c:525 #, c-format msgid "Mainline was specified but commit %s is not a merge." msgstr "" @@ -1126,153 +1194,153 @@ msgstr "" #. TRANSLATORS: The first %s will be "revert" or #. "cherry-pick", the second %s a SHA1 -#: sequencer.c:537 +#: sequencer.c:538 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "%s : impossible d'analyser le commit parent %s" -#: sequencer.c:541 +#: sequencer.c:542 #, c-format msgid "Cannot get commit message for %s" msgstr "Impossible d'obtenir un message de validation pour %s" -#: sequencer.c:627 +#: sequencer.c:628 #, c-format msgid "could not revert %s... %s" msgstr "impossible d'annuler %s... %s" -#: sequencer.c:628 +#: sequencer.c:629 #, c-format msgid "could not apply %s... %s" msgstr "impossible d'appliquer %s... %s" -#: sequencer.c:664 +#: sequencer.c:665 msgid "empty commit set passed" msgstr "l'ensemble de commits spécifié est vide" -#: sequencer.c:672 +#: sequencer.c:673 #, c-format msgid "git %s: failed to read the index" msgstr "git %s : échec à la lecture de l'index" -#: sequencer.c:677 +#: sequencer.c:678 #, c-format msgid "git %s: failed to refresh the index" msgstr "git %s : échec du rafraîchissement de l'index" -#: sequencer.c:735 +#: sequencer.c:736 #, c-format msgid "Cannot %s during a %s" msgstr "Impossible de %s pendant un %s" -#: sequencer.c:757 +#: sequencer.c:758 #, c-format msgid "Could not parse line %d." msgstr "Impossible d'analyser la ligne %d." -#: sequencer.c:762 +#: sequencer.c:763 msgid "No commits parsed." msgstr "Aucun commit analysé." -#: sequencer.c:775 +#: sequencer.c:776 #, c-format msgid "Could not open %s" msgstr "Impossible d'ouvrir %s" -#: sequencer.c:779 +#: sequencer.c:780 #, c-format msgid "Could not read %s." msgstr "Impossible de lire %s." -#: sequencer.c:786 +#: sequencer.c:787 #, c-format msgid "Unusable instruction sheet: %s" msgstr "Feuille d'instruction inutilisable : %s" -#: sequencer.c:814 +#: sequencer.c:815 #, c-format msgid "Invalid key: %s" msgstr "Clé invalide: %s" -#: sequencer.c:817 +#: sequencer.c:818 #, c-format msgid "Invalid value for %s: %s" msgstr "Valeur invalide pour %s : %s" -#: sequencer.c:829 +#: sequencer.c:830 #, c-format msgid "Malformed options sheet: %s" msgstr "Feuille d'options malformée : %s" -#: sequencer.c:850 +#: sequencer.c:851 msgid "a cherry-pick or revert is already in progress" msgstr "un picorage ou un retour est déjà en cours" -#: sequencer.c:851 +#: sequencer.c:852 msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" msgstr "essayez \"git cherry-pick (--continue|--quit|-- abort)\"" -#: sequencer.c:855 +#: sequencer.c:856 #, c-format msgid "Could not create sequencer directory %s" msgstr "Impossible de créer le répertoire de séquenceur %s" -#: sequencer.c:871 sequencer.c:956 +#: sequencer.c:872 sequencer.c:957 #, c-format msgid "Error wrapping up %s." msgstr "Erreur lors de l'emballage de %s." -#: sequencer.c:890 sequencer.c:1024 +#: sequencer.c:891 sequencer.c:1025 msgid "no cherry-pick or revert in progress" msgstr "aucun picorage ou retour en cours" -#: sequencer.c:892 +#: sequencer.c:893 msgid "cannot resolve HEAD" msgstr "impossible de résoudre HEAD" -#: sequencer.c:894 +#: sequencer.c:895 msgid "cannot abort from a branch yet to be born" msgstr "impossible d'abandonner depuis une branche non encore créée" -#: sequencer.c:916 builtin/apply.c:4061 +#: sequencer.c:917 builtin/apply.c:4061 #, c-format msgid "cannot open %s: %s" msgstr "impossible d'ouvrir %s : %s" -#: sequencer.c:919 +#: sequencer.c:920 #, c-format msgid "cannot read %s: %s" msgstr "impossible de lire %s : %s" -#: sequencer.c:920 +#: sequencer.c:921 msgid "unexpected end of file" msgstr "fin de fichier inattendue" -#: sequencer.c:926 +#: sequencer.c:927 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "le fichier HEAD de préparation de picorage '%s' est corrompu" -#: sequencer.c:949 +#: sequencer.c:950 #, c-format msgid "Could not format %s." msgstr "Impossible de formater %s." -#: sequencer.c:1092 +#: sequencer.c:1093 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "%s : impossible de picorer un %s" -#: sequencer.c:1095 +#: sequencer.c:1096 #, c-format msgid "%s: bad revision" msgstr "%s : mauvaise révision" -#: sequencer.c:1129 +#: sequencer.c:1130 msgid "Can't revert as initial commit" msgstr "Impossible d'annuler en tant que commit initial" -#: sequencer.c:1130 +#: sequencer.c:1131 msgid "Can't cherry-pick into empty head" msgstr "Impossible de picorer vers une HEAD vide" @@ -1301,261 +1369,354 @@ msgstr "" "message\n" "en lançant \"git config advice.objectNameWarning false\"" -#: sha1_name.c:1097 +#: sha1_name.c:1112 msgid "HEAD does not point to a branch" msgstr "HEAD ne pointe pas sur une branche" -#: sha1_name.c:1100 +#: sha1_name.c:1115 #, c-format msgid "No such branch: '%s'" msgstr "Branche inconnue : '%s'" -#: sha1_name.c:1102 +#: sha1_name.c:1117 #, c-format msgid "No upstream configured for branch '%s'" msgstr "Aucune branche amont configurée pour la branche '%s'" -#: sha1_name.c:1106 +#: sha1_name.c:1121 #, c-format msgid "Upstream branch '%s' not stored as a remote-tracking branch" msgstr "La branche amont '%s' n'est pas stockée comme branche de suivi" -#: wrapper.c:408 +#: submodule.c:64 submodule.c:98 +msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" +msgstr "Modification impossible de .gitmodules non fusionné, résolvez les conflits d'abord" + +#: submodule.c:68 submodule.c:102 +#, c-format +msgid "Could not find section in .gitmodules where path=%s" +msgstr "Impossible de trouver une section où path=%s dans .gitmodules" + +#. Maybe the user already did that, don't error out here +#: submodule.c:76 +#, c-format +msgid "Could not update .gitmodules entry %s" +msgstr "Impossible de mettre à jour l'élément %s de .gitmodules" + +# ici %s est un chemin +#. Maybe the user already did that, don't error out here +#: submodule.c:109 +#, c-format +msgid "Could not remove .gitmodules entry for %s" +msgstr "Impossible de supprimer l'élément de .gitmodules pour %s" + +#: submodule.c:127 +msgid "could not find .gitmodules in index" +msgstr "impossible de trouver .gitmodules dans l'index" + +#: submodule.c:133 +msgid "reading updated .gitmodules failed" +msgstr "échec de la lecture du .gitmodules mis à jour" + +#: submodule.c:135 +msgid "unable to stat updated .gitmodules" +msgstr "échec de stat du .gitmodules mis à jour" + +#: submodule.c:139 +msgid "unable to remove .gitmodules from index" +msgstr "suppression du .gitmodules dans l'index impossible" + +#: submodule.c:141 +msgid "adding updated .gitmodules failed" +msgstr "échec de l'ajout du .gitmodules mis à jour" + +#: submodule.c:143 +msgid "staging updated .gitmodules failed" +msgstr "échec de la mise en index du .gitmodules mis à jour" + +#: submodule.c:1144 builtin/init-db.c:363 +#, c-format +msgid "Could not create git link %s" +msgstr "Impossible de créer le lien git %s" + +#: submodule.c:1155 +#, c-format +msgid "Could not set core.worktree in %s" +msgstr "Impossible de paramétrer core.worktree dans %s" + +#: urlmatch.c:120 +msgid "invalid URL scheme name or missing '://' suffix" +msgstr "nom de schéma d'URL invalide ou suffixe '://' manquant" + +#: urlmatch.c:144 urlmatch.c:297 urlmatch.c:356 +#, c-format +msgid "invalid %XX escape sequence" +msgstr "séquence d'échappement %XX invalide" + +#: urlmatch.c:172 +msgid "missing host and scheme is not 'file:'" +msgstr "hôte manquant et le schéma n'est pas 'file:'" + +#: urlmatch.c:189 +msgid "a 'file:' URL may not have a port number" +msgstr "une URL 'file:' ne peut pas contenir de numéro de port" + +#: urlmatch.c:199 +msgid "invalid characters in host name" +msgstr "caractères invalides dans le nom d'hôte" + +#: urlmatch.c:244 urlmatch.c:255 +msgid "invalid port number" +msgstr "numéro de port invalide" + +#: urlmatch.c:322 +msgid "invalid '..' path segment" +msgstr "segment de chemin '..' invalide" + +#: wrapper.c:422 #, c-format msgid "unable to access '%s': %s" msgstr "impossible d'accéder à '%s' : %s" -#: wrapper.c:429 +#: wrapper.c:443 #, c-format msgid "unable to access '%s'" msgstr "impossible d'accéder à '%s'" -#: wrapper.c:440 +#: wrapper.c:454 #, c-format msgid "unable to look up current user in the passwd file: %s" msgstr "" "impossible de rechercher l'utilisateur actuel dans le fichier de mots de " "passe : %s" -#: wrapper.c:441 +#: wrapper.c:455 msgid "no such user" msgstr "utilisateur inconnu" -#: wt-status.c:141 +#: wt-status.c:146 msgid "Unmerged paths:" msgstr "Chemins non fusionnés :" -#: wt-status.c:168 wt-status.c:195 +#: wt-status.c:173 wt-status.c:200 #, c-format msgid " (use \"git reset %s <file>...\" to unstage)" msgstr " (utilisez \"git reset %s <fichier>...\" pour désindexer)" -#: wt-status.c:170 wt-status.c:197 +#: wt-status.c:175 wt-status.c:202 msgid " (use \"git rm --cached <file>...\" to unstage)" msgstr " (utilisez \"git rm --cached <fichier>...\" pour désindexer)" -#: wt-status.c:174 +#: wt-status.c:179 msgid " (use \"git add <file>...\" to mark resolution)" msgstr " (utilisez \"git add <fichier>...\" pour marquer comme résolu)" -#: wt-status.c:176 wt-status.c:180 +#: wt-status.c:181 wt-status.c:185 msgid " (use \"git add/rm <file>...\" as appropriate to mark resolution)" msgstr "" " (utilisez \"git add/rm <fichier>...\" si nécessaire pour marquer comme " "résolu)" -#: wt-status.c:178 +#: wt-status.c:183 msgid " (use \"git rm <file>...\" to mark resolution)" msgstr " (utilisez \"git rm <fichier>...\" pour marquer comme résolu)" -#: wt-status.c:189 +#: wt-status.c:194 msgid "Changes to be committed:" msgstr "Modifications qui seront validées :" -#: wt-status.c:207 +#: wt-status.c:212 msgid "Changes not staged for commit:" msgstr "Modifications qui ne seront pas validées :" -#: wt-status.c:211 +#: wt-status.c:216 msgid " (use \"git add <file>...\" to update what will be committed)" msgstr "" " (utilisez \"git add <fichier>...\" pour mettre à jour ce qui sera validé)" -#: wt-status.c:213 +#: wt-status.c:218 msgid " (use \"git add/rm <file>...\" to update what will be committed)" msgstr "" " (utilisez \"git add/rm <fichier>...\" pour mettre à jour ce qui sera " "validé)" -#: wt-status.c:214 +#: wt-status.c:219 msgid "" " (use \"git checkout -- <file>...\" to discard changes in working directory)" msgstr "" " (utilisez \"git checkout -- <fichier>...\" pour annuler les modifications " "dans la copie de travail)" -#: wt-status.c:216 +#: wt-status.c:221 msgid " (commit or discard the untracked or modified content in submodules)" msgstr "" " (valider ou annuler le contenu non suivi ou modifié dans les sous-modules)" -#: wt-status.c:228 +#: wt-status.c:233 #, c-format msgid " (use \"git %s <file>...\" to include in what will be committed)" msgstr "" " (utilisez \"git %s <fichier>...\" pour inclure dans ce qui sera validé)" -#: wt-status.c:245 +#: wt-status.c:250 msgid "bug" msgstr "bogue" -#: wt-status.c:250 +#: wt-status.c:255 msgid "both deleted:" msgstr "supprimé des deux côtés :" -#: wt-status.c:251 +#: wt-status.c:256 msgid "added by us:" msgstr "ajouté par nous :" -#: wt-status.c:252 +#: wt-status.c:257 msgid "deleted by them:" msgstr "supprimé par eux :" -#: wt-status.c:253 +#: wt-status.c:258 msgid "added by them:" msgstr "ajouté par eux :" -#: wt-status.c:254 +#: wt-status.c:259 msgid "deleted by us:" msgstr "supprimé par nous :" -#: wt-status.c:255 +#: wt-status.c:260 msgid "both added:" msgstr "ajouté de deux côtés :" -#: wt-status.c:256 +#: wt-status.c:261 msgid "both modified:" msgstr "modifié des deux côtés :" -#: wt-status.c:286 +#: wt-status.c:291 msgid "new commits, " msgstr "nouveaux commits, " -#: wt-status.c:288 +#: wt-status.c:293 msgid "modified content, " msgstr "contenu modifié, " -#: wt-status.c:290 +#: wt-status.c:295 msgid "untracked content, " msgstr "contenu non suivi, " -#: wt-status.c:307 +#: wt-status.c:312 #, c-format msgid "new file: %s" msgstr "nouveau : %s" -#: wt-status.c:310 +#: wt-status.c:315 #, c-format msgid "copied: %s -> %s" msgstr "copié : %s -> %s" -#: wt-status.c:313 +#: wt-status.c:318 #, c-format msgid "deleted: %s" msgstr "supprimé : %s" -#: wt-status.c:316 +#: wt-status.c:321 #, c-format msgid "modified: %s" msgstr "modifié : %s" -#: wt-status.c:319 +#: wt-status.c:324 #, c-format msgid "renamed: %s -> %s" msgstr "renommé : %s -> %s" -#: wt-status.c:322 +#: wt-status.c:327 #, c-format msgid "typechange: %s" msgstr "nv type : %s" -#: wt-status.c:325 +#: wt-status.c:330 #, c-format msgid "unknown: %s" msgstr "inconnu : %s" -#: wt-status.c:328 +#: wt-status.c:333 #, c-format msgid "unmerged: %s" msgstr "non fus. : %s" -#: wt-status.c:331 +#: wt-status.c:336 #, c-format msgid "bug: unhandled diff status %c" msgstr "bogue : état de diff non géré %c" -#: wt-status.c:803 +#: wt-status.c:703 +msgid "Submodules changed but not updated:" +msgstr "Sous-modules modifiés mais non mis à jour :" + +#: wt-status.c:705 +msgid "Submodule changes to be committed:" +msgstr "Changements du sous-module à valider :" + +#: wt-status.c:848 msgid "You have unmerged paths." msgstr "Vous avez des chemins non fusionnés." -#: wt-status.c:806 +#: wt-status.c:851 msgid " (fix conflicts and run \"git commit\")" msgstr " (réglez les conflits puis lancez \"git commit\")" -#: wt-status.c:809 +#: wt-status.c:854 msgid "All conflicts fixed but you are still merging." msgstr "Tous les conflits sont réglés mais la fusion n'est pas terminée." -#: wt-status.c:812 +#: wt-status.c:857 msgid " (use \"git commit\" to conclude merge)" msgstr " (utilisez \"git commit\" pour terminer la fusion)" -#: wt-status.c:822 +#: wt-status.c:867 msgid "You are in the middle of an am session." msgstr "Vous êtes au milieu d'une session am." -#: wt-status.c:825 +#: wt-status.c:870 msgid "The current patch is empty." msgstr "Le patch actuel est vide." -#: wt-status.c:829 +#: wt-status.c:874 msgid " (fix conflicts and then run \"git am --continue\")" msgstr " (réglez les conflits puis lancez \"git am --continue\")" -#: wt-status.c:831 +#: wt-status.c:876 msgid " (use \"git am --skip\" to skip this patch)" msgstr " (utilisez \"git am --skip\" pour sauter ce patch)" -#: wt-status.c:833 +#: wt-status.c:878 msgid " (use \"git am --abort\" to restore the original branch)" msgstr " (utilisez \"git am --abort\" pour restaurer la branche d'origine)" -#: wt-status.c:893 wt-status.c:910 +#: wt-status.c:938 wt-status.c:955 #, c-format msgid "You are currently rebasing branch '%s' on '%s'." msgstr "Vous êtes en train de rebaser la branche '%s' sur '%s'." -#: wt-status.c:898 wt-status.c:915 +#: wt-status.c:943 wt-status.c:960 msgid "You are currently rebasing." msgstr "Vous êtes en train de rebaser." -#: wt-status.c:901 +#: wt-status.c:946 msgid " (fix conflicts and then run \"git rebase --continue\")" msgstr " (réglez les conflits puis lancez \"git rebase --continue\")" -#: wt-status.c:903 +#: wt-status.c:948 msgid " (use \"git rebase --skip\" to skip this patch)" msgstr " (utilisez \"git rebase --skip\" pour sauter ce patch)" -#: wt-status.c:905 +#: wt-status.c:950 msgid " (use \"git rebase --abort\" to check out the original branch)" msgstr " (utilisez \"git rebase --abort\" pour extraire la branche d'origine)" -#: wt-status.c:918 +#: wt-status.c:963 msgid " (all conflicts fixed: run \"git rebase --continue\")" msgstr " (tous les conflits sont réglés : lancez \"git rebase --continue\")" -#: wt-status.c:922 +#: wt-status.c:967 #, c-format msgid "" "You are currently splitting a commit while rebasing branch '%s' on '%s'." @@ -1563,119 +1724,120 @@ msgstr "" "Vous êtes actuellement en train de fractionner un commit pendant un rebasage " "de la branche '%s' sur '%s'." -#: wt-status.c:927 +#: wt-status.c:972 msgid "You are currently splitting a commit during a rebase." msgstr "" "Vous êtes actuellement en train de fractionner un commit pendant un rebasage." -#: wt-status.c:930 +#: wt-status.c:975 msgid " (Once your working directory is clean, run \"git rebase --continue\")" msgstr "" " (Une fois la copie de travail nettoyée, lancez \"git rebase --continue\")" -#: wt-status.c:934 +#: wt-status.c:979 #, c-format msgid "You are currently editing a commit while rebasing branch '%s' on '%s'." msgstr "" "Vous êtes actuellement en train d'éditer un commit pendant un rebasage de la " "branche '%s' sur '%s'." -#: wt-status.c:939 +#: wt-status.c:984 msgid "You are currently editing a commit during a rebase." msgstr "" "Vous êtes actuellement en train d'éditer un commit pendant un rebasage." -#: wt-status.c:942 +#: wt-status.c:987 msgid " (use \"git commit --amend\" to amend the current commit)" msgstr " (utilisez \"git commit --amend\" pour corriger le commit actuel)" -#: wt-status.c:944 +#: wt-status.c:989 msgid "" " (use \"git rebase --continue\" once you are satisfied with your changes)" msgstr "" " (utilisez \"git rebase --continue\" quand vous êtes satisfait de vos " "modifications)" -#: wt-status.c:954 -msgid "You are currently cherry-picking." -msgstr "Vous êtes actuellement en train de picorer." +#: wt-status.c:999 +#, c-format +msgid "You are currently cherry-picking commit %s." +msgstr "Vous êtes actuellement en train de picorer le commit %s." -#: wt-status.c:958 +#: wt-status.c:1004 msgid " (fix conflicts and run \"git cherry-pick --continue\")" msgstr " (réglez les conflits puis lancez \"git cherry-pick --continue\")" -#: wt-status.c:961 +#: wt-status.c:1007 msgid " (all conflicts fixed: run \"git cherry-pick --continue\")" msgstr "" " (tous les conflits sont réglés : lancez \"git cherry-pick --continue\")" -#: wt-status.c:963 +#: wt-status.c:1009 msgid " (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)" msgstr " (utilisez \"git cherry-pick --abort\" pour annuler le picorage)" -#: wt-status.c:972 +#: wt-status.c:1018 #, c-format msgid "You are currently reverting commit %s." msgstr "Vous êtes actuellement en train de rétablir le commit %s." -#: wt-status.c:977 +#: wt-status.c:1023 msgid " (fix conflicts and run \"git revert --continue\")" msgstr " (réglez les conflits puis lancez \"git revert --continue\")" -#: wt-status.c:980 +#: wt-status.c:1026 msgid " (all conflicts fixed: run \"git revert --continue\")" msgstr " (tous les conflits sont réglés : lancez \"git revert --continue\")" -#: wt-status.c:982 +#: wt-status.c:1028 msgid " (use \"git revert --abort\" to cancel the revert operation)" msgstr " (utilisez \"git revert --abort\" pour annuler le rétablissement)" -#: wt-status.c:993 +#: wt-status.c:1039 #, c-format msgid "You are currently bisecting, started from branch '%s'." msgstr "Vous êtes en cours de bissection, depuis la branche '%s'." -#: wt-status.c:997 +#: wt-status.c:1043 msgid "You are currently bisecting." msgstr "Vous êtes en cours de bissection." -#: wt-status.c:1000 +#: wt-status.c:1046 msgid " (use \"git bisect reset\" to get back to the original branch)" msgstr " (utilisez \"git bisect reset\" pour revenir à la branche d'origine)" -#: wt-status.c:1173 +#: wt-status.c:1221 msgid "On branch " msgstr "Sur la branche " -#: wt-status.c:1180 +#: wt-status.c:1228 msgid "rebase in progress; onto " msgstr "rebasage en cours ; sur " -#: wt-status.c:1187 +#: wt-status.c:1235 msgid "HEAD detached at " msgstr "HEAD détachée sur " -#: wt-status.c:1189 +#: wt-status.c:1237 msgid "HEAD detached from " msgstr "HEAD détachée depuis " -#: wt-status.c:1192 +#: wt-status.c:1240 msgid "Not currently on any branch." msgstr "Actuellement sur aucun branche." -#: wt-status.c:1209 +#: wt-status.c:1257 msgid "Initial commit" msgstr "Validation initiale" -#: wt-status.c:1223 +#: wt-status.c:1271 msgid "Untracked files" msgstr "Fichiers non suivis" -#: wt-status.c:1225 +#: wt-status.c:1273 msgid "Ignored files" msgstr "Fichiers ignorés" -#: wt-status.c:1229 +#: wt-status.c:1277 #, c-format msgid "" "It took %.2f seconds to enumerate untracked files. 'status -uno'\n" @@ -1687,32 +1849,32 @@ msgstr "" "oublier d'ajouter les nouveaux fichiers par vous-même (voir 'git help " "status')." -#: wt-status.c:1235 +#: wt-status.c:1283 #, c-format msgid "Untracked files not listed%s" msgstr "Fichiers non suivis non affichés%s" -#: wt-status.c:1237 +#: wt-status.c:1285 msgid " (use -u option to show untracked files)" msgstr " (utilisez -u pour afficher les fichiers non suivis)" -#: wt-status.c:1243 +#: wt-status.c:1291 msgid "No changes" msgstr "Aucune modification" -#: wt-status.c:1248 +#: wt-status.c:1296 #, c-format msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n" msgstr "" "aucune modification n'a été ajoutée à la validation (utilisez \"git add\" ou " "\"git commit -a\")\n" -#: wt-status.c:1251 +#: wt-status.c:1299 #, c-format msgid "no changes added to commit\n" msgstr "aucune modification ajoutée à la validation\n" -#: wt-status.c:1254 +#: wt-status.c:1302 #, c-format msgid "" "nothing added to commit but untracked files present (use \"git add\" to " @@ -1721,56 +1883,61 @@ msgstr "" "aucune modification ajoutée à la validation mais des fichiers non suivis " "sont présents (utilisez \"git add\" pour les suivre)\n" -#: wt-status.c:1257 +#: wt-status.c:1305 #, c-format msgid "nothing added to commit but untracked files present\n" msgstr "" "aucune modification ajoutée à la validation mais des fichiers non suivis " "sont présents\n" -#: wt-status.c:1260 +#: wt-status.c:1308 #, c-format msgid "nothing to commit (create/copy files and use \"git add\" to track)\n" msgstr "" "rien à valider (créez/copiez des fichiers et utilisez \"git add\" pour les " "suivre)\n" -#: wt-status.c:1263 wt-status.c:1268 +#: wt-status.c:1311 wt-status.c:1316 #, c-format msgid "nothing to commit\n" msgstr "rien à valider\n" -#: wt-status.c:1266 +#: wt-status.c:1314 #, c-format msgid "nothing to commit (use -u to show untracked files)\n" msgstr "rien à valider (utilisez -u pour afficher les fichiers non suivis)\n" -#: wt-status.c:1270 +#: wt-status.c:1318 #, c-format msgid "nothing to commit, working directory clean\n" msgstr "rien à valider, la copie de travail est propre\n" -#: wt-status.c:1378 +#: wt-status.c:1427 msgid "HEAD (no branch)" msgstr "HEAD (aucune branche)" -#: wt-status.c:1384 +#: wt-status.c:1433 msgid "Initial commit on " msgstr "Validation initiale sur " -#: wt-status.c:1399 +# à priori on parle d'une branche ici +#: wt-status.c:1463 +msgid "gone" +msgstr "disparue" + +#: wt-status.c:1465 msgid "behind " msgstr "derrière " -#: wt-status.c:1402 wt-status.c:1405 +#: wt-status.c:1468 wt-status.c:1471 msgid "ahead " msgstr "devant " -#: wt-status.c:1407 +#: wt-status.c:1473 msgid ", behind " msgstr ", derrière " -#: compat/precompose_utf8.c:58 builtin/clone.c:351 +#: compat/precompose_utf8.c:55 builtin/clone.c:350 #, c-format msgid "failed to unlink '%s'" msgstr "échec lors de l'unlink de '%s'" @@ -1859,7 +2026,7 @@ msgstr "" msgid "unexpected diff status %c" msgstr "status de diff inattendu %c" -#: builtin/add.c:149 builtin/commit.c:252 +#: builtin/add.c:149 builtin/commit.c:260 msgid "updating files failed" msgstr "échec de la mise à jour des fichiers" @@ -1868,145 +2035,140 @@ msgstr "échec de la mise à jour des fichiers" msgid "remove '%s'\n" msgstr "suppression de '%s'\n" -#: builtin/add.c:253 +#: builtin/add.c:237 msgid "Unstaged changes after refreshing the index:" msgstr "Modifications non indexées après rafraîchissement de l'index :" -#: builtin/add.c:256 builtin/add.c:573 builtin/rm.c:337 -#, c-format -msgid "pathspec '%s' did not match any files" -msgstr "le chemin '%s' ne correspond à aucun fichier" - -#: builtin/add.c:339 +#: builtin/add.c:299 msgid "Could not read the index" msgstr "Impossible de lire l'index" -#: builtin/add.c:350 +#: builtin/add.c:310 #, c-format msgid "Could not open '%s' for writing." msgstr "Impossible d'ouvrir '%s' en écriture." -#: builtin/add.c:354 +#: builtin/add.c:314 msgid "Could not write patch" msgstr "Impossible d'écrire le patch" -#: builtin/add.c:359 +#: builtin/add.c:319 #, c-format msgid "Could not stat '%s'" msgstr "Stat de '%s' impossible" -#: builtin/add.c:361 +#: builtin/add.c:321 msgid "Empty patch. Aborted." msgstr "Patch vide. Abandon." -#: builtin/add.c:367 +#: builtin/add.c:327 #, c-format msgid "Could not apply '%s'" msgstr "Impossible d'appliquer '%s'" -#: builtin/add.c:377 +#: builtin/add.c:337 msgid "The following paths are ignored by one of your .gitignore files:\n" msgstr "" "Les chemins suivants sont ignorés par un de vos fichiers .gitignore :\n" -#: builtin/add.c:394 builtin/clean.c:875 builtin/fetch.c:78 builtin/mv.c:63 -#: builtin/prune-packed.c:73 builtin/push.c:451 builtin/remote.c:1253 -#: builtin/rm.c:268 +#: builtin/add.c:354 builtin/clean.c:875 builtin/fetch.c:92 builtin/mv.c:66 +#: builtin/prune-packed.c:73 builtin/push.c:459 builtin/remote.c:1253 +#: builtin/rm.c:269 msgid "dry run" msgstr "simuler l'action" -#: builtin/add.c:395 builtin/apply.c:4410 builtin/check-ignore.c:19 -#: builtin/commit.c:1220 builtin/count-objects.c:95 builtin/fsck.c:613 -#: builtin/log.c:1573 builtin/mv.c:62 builtin/read-tree.c:113 +#: builtin/add.c:355 builtin/apply.c:4410 builtin/check-ignore.c:19 +#: builtin/commit.c:1249 builtin/count-objects.c:95 builtin/fsck.c:612 +#: builtin/log.c:1592 builtin/mv.c:65 builtin/read-tree.c:113 msgid "be verbose" msgstr "mode verbeux" -#: builtin/add.c:397 +#: builtin/add.c:357 msgid "interactive picking" msgstr "sélection interactive" -#: builtin/add.c:398 builtin/checkout.c:1073 builtin/reset.c:261 +#: builtin/add.c:358 builtin/checkout.c:1109 builtin/reset.c:272 msgid "select hunks interactively" msgstr "sélection interactive des sections" -#: builtin/add.c:399 +#: builtin/add.c:359 msgid "edit current diff and apply" msgstr "édition du diff actuel et application" -#: builtin/add.c:400 +#: builtin/add.c:360 msgid "allow adding otherwise ignored files" msgstr "permettre l'ajout de fichiers ignorés" -#: builtin/add.c:401 +#: builtin/add.c:361 msgid "update tracked files" msgstr "mettre à jour les fichiers suivis" -#: builtin/add.c:402 +#: builtin/add.c:362 msgid "record only the fact that the path will be added later" msgstr "enregistrer seulement le fait que le chemin sera ajouté plus tard" -#: builtin/add.c:403 +#: builtin/add.c:363 msgid "add changes from all tracked and untracked files" msgstr "ajouter les modifications de tous les fichiers suivis et non suivis" #. takes no arguments -#: builtin/add.c:406 +#: builtin/add.c:366 msgid "ignore paths removed in the working tree (same as --no-all)" msgstr "" "ignorer les chemins effacés dans la copie de travail (identique à --no-all)" -#: builtin/add.c:408 +#: builtin/add.c:368 msgid "don't add, only refresh the index" msgstr "ne pas ajouter, juste rafraîchir l'index" -#: builtin/add.c:409 +#: builtin/add.c:369 msgid "just skip files which cannot be added because of errors" msgstr "" "sauter seulement les fichiers qui ne peuvent pas être ajoutés du fait " "d'erreurs" -#: builtin/add.c:410 +#: builtin/add.c:370 msgid "check if - even missing - files are ignored in dry run" msgstr "vérifier si des fichiers - même manquants - sont ignorés, à vide" -#: builtin/add.c:432 +#: builtin/add.c:392 #, c-format msgid "Use -f if you really want to add them.\n" msgstr "Utilisez -f si vous voulez réellement les ajouter.\n" -#: builtin/add.c:433 +#: builtin/add.c:393 msgid "no files added" msgstr "aucun fichier ajouté" -#: builtin/add.c:439 +#: builtin/add.c:399 msgid "adding files failed" msgstr "échec de l'ajout de fichiers" -#: builtin/add.c:478 +#: builtin/add.c:438 msgid "-A and -u are mutually incompatible" msgstr "-A et -u sont mutuellement incompatibles" -#: builtin/add.c:496 +#: builtin/add.c:456 msgid "Option --ignore-missing can only be used together with --dry-run" msgstr "" "L'option --ignore-missing ne peut être utilisée qu'en complément de --dry-run" -#: builtin/add.c:526 +#: builtin/add.c:486 #, c-format msgid "Nothing specified, nothing added.\n" msgstr "Rien de spécifié, rien n'a été ajouté.\n" -#: builtin/add.c:527 +#: builtin/add.c:487 #, c-format msgid "Maybe you wanted to say 'git add .'?\n" msgstr "Vous vouliez sûrement dire 'git add .' ?\n" -#: builtin/add.c:533 builtin/check-ignore.c:161 builtin/clean.c:919 -#: builtin/commit.c:312 builtin/mv.c:82 builtin/rm.c:297 +#: builtin/add.c:492 builtin/check-ignore.c:172 builtin/clean.c:919 +#: builtin/commit.c:320 builtin/mv.c:86 builtin/reset.c:224 builtin/rm.c:299 msgid "index file corrupt" msgstr "fichier d'index corrompu" -#: builtin/add.c:605 builtin/apply.c:4506 builtin/mv.c:229 builtin/rm.c:432 +#: builtin/add.c:589 builtin/apply.c:4506 builtin/mv.c:259 builtin/rm.c:432 msgid "Unable to write new index file" msgstr "Impossible d'écrire le nouveau fichier d'index" @@ -2268,7 +2430,7 @@ msgstr "%s : le patch ne s'applique pas" msgid "Checking patch %s..." msgstr "Vérification du patch %s..." -#: builtin/apply.c:3680 builtin/checkout.c:216 builtin/reset.c:127 +#: builtin/apply.c:3680 builtin/checkout.c:213 builtin/reset.c:127 #, c-format msgid "make_cache_entry failed for path '%s'" msgstr "échec de make_cache_entry pour le chemin '%s'" @@ -2350,8 +2512,8 @@ msgstr "entrée non reconnue" msgid "unable to read index file" msgstr "lecture du fichier d'index impossible" -#: builtin/apply.c:4357 builtin/apply.c:4360 builtin/clone.c:91 -#: builtin/fetch.c:63 +#: builtin/apply.c:4357 builtin/apply.c:4360 builtin/clone.c:90 +#: builtin/fetch.c:77 msgid "path" msgstr "chemin" @@ -2413,7 +2575,7 @@ msgid "build a temporary index based on embedded index information" msgstr "" "construire un index temporaire fondé sur l'information de l'index embarqué" -#: builtin/apply.c:4389 builtin/checkout-index.c:197 builtin/ls-files.c:462 +#: builtin/apply.c:4389 builtin/checkout-index.c:197 builtin/ls-files.c:452 msgid "paths are separated with NUL character" msgstr "les chemins sont séparés par un caractère NUL" @@ -2547,108 +2709,108 @@ msgstr "effectuer 'git bisect next'" msgid "update BISECT_HEAD instead of checking out the current commit" msgstr "mettre à jour BISECT_HEAD au lieu d'extraire le commit actuel" -#: builtin/blame.c:26 +#: builtin/blame.c:27 msgid "git blame [options] [rev-opts] [rev] [--] file" msgstr "git blame [options] [options-de-révision] [rev] [--] fichier" -#: builtin/blame.c:31 +#: builtin/blame.c:32 msgid "[rev-opts] are documented in git-rev-list(1)" msgstr "[options-de-révision] sont documentés dans git-rev-list(1)" -#: builtin/blame.c:2276 +#: builtin/blame.c:2248 msgid "Show blame entries as we find them, incrementally" msgstr "" "Montrer les éléments de blâme au fur et à mesure de leur découverte, de " "manière incrémentale" -#: builtin/blame.c:2277 +#: builtin/blame.c:2249 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "Montrer un SHA-1 blanc pour les commits de limite (Défaut : désactivé)" -#: builtin/blame.c:2278 +#: builtin/blame.c:2250 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "" "Ne pas traiter les commits racine comme des limites (Défaut : désactivé)" -#: builtin/blame.c:2279 +#: builtin/blame.c:2251 msgid "Show work cost statistics" msgstr "Montrer les statistiques de coût d'activité" -#: builtin/blame.c:2280 +#: builtin/blame.c:2252 msgid "Show output score for blame entries" msgstr "Montrer le score de sortie pour les éléments de blâme" -#: builtin/blame.c:2281 +#: builtin/blame.c:2253 msgid "Show original filename (Default: auto)" msgstr "Montrer les noms de fichier originaux (Défaut : auto)" -#: builtin/blame.c:2282 +#: builtin/blame.c:2254 msgid "Show original linenumber (Default: off)" msgstr "Montrer les numéros de lignes originaux (Défaut : désactivé)" -#: builtin/blame.c:2283 +#: builtin/blame.c:2255 msgid "Show in a format designed for machine consumption" msgstr "Afficher dans un format propice à la consommation par machine" -#: builtin/blame.c:2284 +#: builtin/blame.c:2256 msgid "Show porcelain format with per-line commit information" msgstr "Afficher en format porcelaine avec l'information de commit par ligne" -#: builtin/blame.c:2285 +#: builtin/blame.c:2257 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "Utiliser le même mode de sortie que git-annotate (Défaut : désactivé)" -#: builtin/blame.c:2286 +#: builtin/blame.c:2258 msgid "Show raw timestamp (Default: off)" msgstr "Afficher les horodatages bruts (Défaut : désactivé)" -#: builtin/blame.c:2287 +#: builtin/blame.c:2259 msgid "Show long commit SHA1 (Default: off)" msgstr "Afficher les longs SHA1 de commits (Défaut : désactivé)" -#: builtin/blame.c:2288 +#: builtin/blame.c:2260 msgid "Suppress author name and timestamp (Default: off)" msgstr "Supprimer le nom de l'auteur et l'horodatage (Défaut : désactivé)" -#: builtin/blame.c:2289 +#: builtin/blame.c:2261 msgid "Show author email instead of name (Default: off)" msgstr "Afficher l'e-mail de l'auteur au lieu du nom (Défaut : désactivé)" -#: builtin/blame.c:2290 +#: builtin/blame.c:2262 msgid "Ignore whitespace differences" msgstr "Ignorer les différences d'espace" -#: builtin/blame.c:2291 +#: builtin/blame.c:2263 msgid "Spend extra cycles to find better match" msgstr "" "Dépenser des cycles supplémentaires pour trouver une meilleure correspondance" -#: builtin/blame.c:2292 +#: builtin/blame.c:2264 msgid "Use revisions from <file> instead of calling git-rev-list" msgstr "" "Utiliser les révisions du fichier <fichier> au lieu d'appeler git-rev-list" -#: builtin/blame.c:2293 +#: builtin/blame.c:2265 msgid "Use <file>'s contents as the final image" msgstr "Utiliser le contenu de <fichier> comme image finale" -#: builtin/blame.c:2294 builtin/blame.c:2295 +#: builtin/blame.c:2266 builtin/blame.c:2267 msgid "score" msgstr "score" -#: builtin/blame.c:2294 +#: builtin/blame.c:2266 msgid "Find line copies within and across files" msgstr "Trouver les copies de ligne dans et entre les fichiers" -#: builtin/blame.c:2295 +#: builtin/blame.c:2267 msgid "Find line movements within and across files" msgstr "Trouver les mouvements de ligne dans et entre les fichiers" -#: builtin/blame.c:2296 +#: builtin/blame.c:2268 msgid "n,m" msgstr "n,m" -#: builtin/blame.c:2296 +#: builtin/blame.c:2268 msgid "Process only line range n,m, counting from 1" msgstr "" "Traiter seulement l'intervalle de ligne n,m en commençant le compte à 1" @@ -2753,240 +2915,251 @@ msgstr "Branche %s supprimée (précédemment %s).\n" msgid "branch '%s' does not point at a commit" msgstr "la branche '%s' ne pointe pas sur un commit" +# féminin pour une branche #: builtin/branch.c:453 #, c-format +msgid "[%s: gone]" +msgstr "[%s: disparue]" + +#: builtin/branch.c:456 +#, c-format +msgid "[%s]" +msgstr "[%s]" + +#: builtin/branch.c:459 +#, c-format msgid "[%s: behind %d]" msgstr "[%s: en retard de %d]" -#: builtin/branch.c:455 +#: builtin/branch.c:461 #, c-format msgid "[behind %d]" msgstr "[en retard de %d]" -#: builtin/branch.c:459 +#: builtin/branch.c:465 #, c-format msgid "[%s: ahead %d]" msgstr "[%s : en avance de %d]" -#: builtin/branch.c:461 +#: builtin/branch.c:467 #, c-format msgid "[ahead %d]" msgstr "[en avance de %d]" -#: builtin/branch.c:464 +#: builtin/branch.c:470 #, c-format msgid "[%s: ahead %d, behind %d]" msgstr "[%s : en avance de %d, en retard de %d]" -#: builtin/branch.c:467 +#: builtin/branch.c:473 #, c-format msgid "[ahead %d, behind %d]" msgstr "[en avance de %d, en retard de %d]" -#: builtin/branch.c:490 +#: builtin/branch.c:496 msgid " **** invalid ref ****" msgstr " **** référence invalide ****" -#: builtin/branch.c:582 +#: builtin/branch.c:588 #, c-format msgid "(no branch, rebasing %s)" msgstr "(aucune branche, rebasage de %s)" -#: builtin/branch.c:585 +#: builtin/branch.c:591 #, c-format msgid "(no branch, bisect started on %s)" msgstr "(aucune branche, bisect a démarré sur %s)" -#: builtin/branch.c:588 +#: builtin/branch.c:594 #, c-format msgid "(detached from %s)" msgstr "(détaché de %s)" -#: builtin/branch.c:591 +#: builtin/branch.c:597 msgid "(no branch)" msgstr "(aucune branche)" -#: builtin/branch.c:637 +#: builtin/branch.c:643 #, c-format msgid "object '%s' does not point to a commit" msgstr "l'objet '%s' ne pointe pas sur un commit" -#: builtin/branch.c:669 +#: builtin/branch.c:675 msgid "some refs could not be read" msgstr "des références n'ont pas pu être lues" -#: builtin/branch.c:682 +#: builtin/branch.c:688 msgid "cannot rename the current branch while not on any." msgstr "impossible de renommer la branche actuelle, il n'y en a pas." -#: builtin/branch.c:692 +#: builtin/branch.c:698 #, c-format msgid "Invalid branch name: '%s'" msgstr "Nom de branche invalide : '%s'" -#: builtin/branch.c:707 +#: builtin/branch.c:713 msgid "Branch rename failed" msgstr "Échec de renommage de la branche" -#: builtin/branch.c:711 +#: builtin/branch.c:717 #, c-format msgid "Renamed a misnamed branch '%s' away" msgstr "Renommage d'un branche mal nommée '%s'" -#: builtin/branch.c:715 +#: builtin/branch.c:721 #, c-format msgid "Branch renamed to %s, but HEAD is not updated!" msgstr "La branche a été renommée en %s, mais HEAD n'est pas mise à jour !" -#: builtin/branch.c:722 +#: builtin/branch.c:728 msgid "Branch is renamed, but update of config-file failed" msgstr "" "La branche est renommée, mais la mise à jour du fichier de configuration a " "échoué" -#: builtin/branch.c:737 +#: builtin/branch.c:743 #, c-format msgid "malformed object name %s" msgstr "nom d'objet malformé %s" -#: builtin/branch.c:761 +#: builtin/branch.c:767 #, c-format msgid "could not write branch description template: %s" msgstr "impossible d'écrire le modèle de description de branche : %s" -#: builtin/branch.c:791 +#: builtin/branch.c:797 msgid "Generic options" msgstr "Options génériques" -#: builtin/branch.c:793 +#: builtin/branch.c:799 msgid "show hash and subject, give twice for upstream branch" msgstr "afficher le hachage et le sujet, doublé pour la branche amont" -#: builtin/branch.c:794 +#: builtin/branch.c:800 msgid "suppress informational messages" msgstr "supprimer les messages d'information" -#: builtin/branch.c:795 +#: builtin/branch.c:801 msgid "set up tracking mode (see git-pull(1))" msgstr "régler le mode de suivi (voir git-pull(1))" -#: builtin/branch.c:797 +#: builtin/branch.c:803 msgid "change upstream info" msgstr "modifier l'information amont" -#: builtin/branch.c:801 +#: builtin/branch.c:807 msgid "use colored output" msgstr "utiliser la coloration dans la sortie" -#: builtin/branch.c:802 +#: builtin/branch.c:808 msgid "act on remote-tracking branches" msgstr "agir sur les branches de suivi distantes" -#: builtin/branch.c:805 builtin/branch.c:811 builtin/branch.c:832 -#: builtin/branch.c:838 builtin/commit.c:1433 builtin/commit.c:1434 -#: builtin/commit.c:1435 builtin/commit.c:1436 builtin/tag.c:468 +#: builtin/branch.c:811 builtin/branch.c:817 builtin/branch.c:838 +#: builtin/branch.c:844 builtin/commit.c:1460 builtin/commit.c:1461 +#: builtin/commit.c:1462 builtin/commit.c:1463 builtin/tag.c:468 msgid "commit" msgstr "commit" -#: builtin/branch.c:806 builtin/branch.c:812 +#: builtin/branch.c:812 builtin/branch.c:818 msgid "print only branches that contain the commit" msgstr "afficher seulement les branches qui contiennent le commit" -#: builtin/branch.c:818 +#: builtin/branch.c:824 msgid "Specific git-branch actions:" msgstr "Actions spécifiques à git-branch :" -#: builtin/branch.c:819 +#: builtin/branch.c:825 msgid "list both remote-tracking and local branches" msgstr "afficher à la fois les branches de suivi et les branches locales" -#: builtin/branch.c:821 +#: builtin/branch.c:827 msgid "delete fully merged branch" msgstr "supprimer une branche totalement fusionnée" -#: builtin/branch.c:822 +#: builtin/branch.c:828 msgid "delete branch (even if not merged)" msgstr "supprimer une branche (même non fusionnée)" -#: builtin/branch.c:823 +#: builtin/branch.c:829 msgid "move/rename a branch and its reflog" msgstr "déplacer/renommer une branche et son reflog" -#: builtin/branch.c:824 +#: builtin/branch.c:830 msgid "move/rename a branch, even if target exists" msgstr "déplacer/renommer une branche, même si la cible existe" -#: builtin/branch.c:825 +#: builtin/branch.c:831 msgid "list branch names" msgstr "afficher les noms des branches" -#: builtin/branch.c:826 +#: builtin/branch.c:832 msgid "create the branch's reflog" msgstr "créer le reflog de la branche" -#: builtin/branch.c:828 +#: builtin/branch.c:834 msgid "edit the description for the branch" msgstr "éditer la description de la branche" -#: builtin/branch.c:829 +#: builtin/branch.c:835 msgid "force creation (when already exists)" msgstr "forcer la création (même si la cible existe)" -#: builtin/branch.c:832 +#: builtin/branch.c:838 msgid "print only not merged branches" msgstr "afficher seulement les branches non fusionnées" -#: builtin/branch.c:838 +#: builtin/branch.c:844 msgid "print only merged branches" msgstr "afficher seulement les branches fusionnées" -#: builtin/branch.c:842 +#: builtin/branch.c:848 msgid "list branches in columns" msgstr "afficher les branches en colonnes" -#: builtin/branch.c:855 +#: builtin/branch.c:861 msgid "Failed to resolve HEAD as a valid ref." msgstr "Échec de résolution de HEAD comme référence valide." -#: builtin/branch.c:860 builtin/clone.c:630 +#: builtin/branch.c:866 builtin/clone.c:629 msgid "HEAD not found below refs/heads!" msgstr "HEAD non trouvée sous refs/heads !" -#: builtin/branch.c:883 +#: builtin/branch.c:890 msgid "--column and --verbose are incompatible" msgstr "--column et --verbose sont incompatibles" -#: builtin/branch.c:889 builtin/branch.c:928 +#: builtin/branch.c:896 builtin/branch.c:935 msgid "branch name required" msgstr "le nom de branche est requis" -#: builtin/branch.c:904 +#: builtin/branch.c:911 msgid "Cannot give description to detached HEAD" msgstr "Impossible de décrire une HEAD détachée" -#: builtin/branch.c:909 +#: builtin/branch.c:916 msgid "cannot edit description of more than one branch" msgstr "impossible d'éditer la description de plus d'une branche" -#: builtin/branch.c:916 +#: builtin/branch.c:923 #, c-format msgid "No commit on branch '%s' yet." msgstr "Aucun commit sur la branche '%s'." -#: builtin/branch.c:919 +#: builtin/branch.c:926 #, c-format msgid "No branch named '%s'." msgstr "Aucune branche nommée '%s'." -#: builtin/branch.c:934 +#: builtin/branch.c:941 msgid "too many branches for a rename operation" msgstr "trop de branches pour une opération de renommage" -#: builtin/branch.c:939 +#: builtin/branch.c:946 msgid "too many branches to set new upstream" msgstr "trop de branches pour spécifier une branche amont" -#: builtin/branch.c:943 +#: builtin/branch.c:950 #, c-format msgid "" "could not set upstream of HEAD to %s when it does not point to any branch." @@ -2994,41 +3167,41 @@ msgstr "" "impossible de spécifier une branche amont de HEAD par %s qui ne pointe sur " "aucune branche." -#: builtin/branch.c:946 builtin/branch.c:968 builtin/branch.c:990 +#: builtin/branch.c:953 builtin/branch.c:975 builtin/branch.c:997 #, c-format msgid "no such branch '%s'" msgstr "pas de branche '%s'" -#: builtin/branch.c:950 +#: builtin/branch.c:957 #, c-format msgid "branch '%s' does not exist" msgstr "la branche '%s' n'existe pas" -#: builtin/branch.c:962 +#: builtin/branch.c:969 msgid "too many branches to unset upstream" msgstr "trop de branches pour désactiver un amont" -#: builtin/branch.c:966 +#: builtin/branch.c:973 msgid "could not unset upstream of HEAD when it does not point to any branch." msgstr "" "impossible de désactiver une branche amont de HEAD quand elle ne pointe sur " "aucune branche." -#: builtin/branch.c:972 +#: builtin/branch.c:979 #, c-format msgid "Branch '%s' has no upstream information" msgstr "La branche '%s' n'a aucune information de branche amont" -#: builtin/branch.c:987 +#: builtin/branch.c:994 msgid "it does not make sense to create 'HEAD' manually" msgstr "créer manuellement 'HEAD' n'a pas de sens" -#: builtin/branch.c:993 +#: builtin/branch.c:1000 msgid "-a and -r options to 'git branch' do not make sense with a branch name" msgstr "" "les options -a et -r de 'git branch' n'ont pas de sens avec un nom de branche" -#: builtin/branch.c:996 +#: builtin/branch.c:1003 #, c-format msgid "" "The --set-upstream flag is deprecated and will be removed. Consider using --" @@ -3037,7 +3210,7 @@ msgstr "" "l'option --set-upstream est obsolète et va disparaître. Utilisez plutôt --" "track ou --set-upstream-to\n" -#: builtin/branch.c:1013 +#: builtin/branch.c:1020 #, c-format msgid "" "\n" @@ -3048,12 +3221,12 @@ msgstr "" "Si vous vouliez que '%s' suive '%s', faîtes ceci :\n" "\n" -#: builtin/branch.c:1014 +#: builtin/branch.c:1021 #, c-format msgid " git branch -d %s\n" msgstr " git branch -d %s\n" -#: builtin/branch.c:1015 +#: builtin/branch.c:1022 #, c-format msgid " git branch --set-upstream-to %s\n" msgstr " git branch -set-upstream-to %s\n" @@ -3071,44 +3244,44 @@ msgstr "La création d'un colis requiert un dépôt." msgid "Need a repository to unbundle." msgstr "Le dépaquetage d'un colis requiert un dépôt." -#: builtin/cat-file.c:285 +#: builtin/cat-file.c:312 msgid "git cat-file (-t|-s|-e|-p|<type>|--textconv) <object>" msgstr "git cat-file (-t|-s|-e|-p|<type>|--textconv) <objet>" -#: builtin/cat-file.c:286 +#: builtin/cat-file.c:313 msgid "git cat-file (--batch|--batch-check) < <list_of_objects>" msgstr "git cat-file (--batch|--batch-check) < <liste_d_objets>" -#: builtin/cat-file.c:323 +#: builtin/cat-file.c:350 msgid "<type> can be one of: blob, tree, commit, tag" msgstr "<type> peut être : blob, tree, commit ou tag" -#: builtin/cat-file.c:324 +#: builtin/cat-file.c:351 msgid "show object type" msgstr "afficher le type de l'objet" -#: builtin/cat-file.c:325 +#: builtin/cat-file.c:352 msgid "show object size" msgstr "afficher la taille de l'objet" -#: builtin/cat-file.c:327 +#: builtin/cat-file.c:354 msgid "exit with zero when there's no error" msgstr "sortir avec un code d'erreur nul quand il n'y a aucune erreur" -#: builtin/cat-file.c:328 +#: builtin/cat-file.c:355 msgid "pretty-print object's content" msgstr "afficher avec mise en forme le contenu de l'objet" -#: builtin/cat-file.c:330 +#: builtin/cat-file.c:357 msgid "for blob objects, run textconv on object's content" msgstr "pour les objets blob, lancer textconv sur le contenu de l'objet" -#: builtin/cat-file.c:332 +#: builtin/cat-file.c:359 msgid "show info and content of objects fed from the standard input" msgstr "" "afficher l'information et le contenu des objets passés en entrée standard" -#: builtin/cat-file.c:335 +#: builtin/cat-file.c:362 msgid "show info about objects fed from the standard input" msgstr "afficher l'information des objets passés en entrée standard" @@ -3134,10 +3307,10 @@ msgid "read file names from stdin" msgstr "lire les noms de fichier depuis l'entrée standard" #: builtin/check-attr.c:23 builtin/check-ignore.c:24 -msgid "input paths are terminated by a null character" -msgstr "les chemins en entrée sont terminés par le caractère nul" +msgid "terminate input and output records by a NUL character" +msgstr "terminer les enregistrements en entrée et en sortie par un caractère NUL" -#: builtin/check-ignore.c:18 builtin/checkout.c:1054 builtin/gc.c:177 +#: builtin/check-ignore.c:18 builtin/checkout.c:1090 builtin/gc.c:259 msgid "suppress progress reporting" msgstr "supprimer l'état d'avancement" @@ -3145,27 +3318,31 @@ msgstr "supprimer l'état d'avancement" msgid "show non-matching input paths" msgstr "afficher les chemins en entrée qui ne correspondent pas" -#: builtin/check-ignore.c:143 +#: builtin/check-ignore.c:28 +msgid "ignore index when checking" +msgstr "ignorer l'index pendant la vérification" + +#: builtin/check-ignore.c:154 msgid "cannot specify pathnames with --stdin" msgstr "impossible de spécifier les chemins avec --stdin" -#: builtin/check-ignore.c:146 +#: builtin/check-ignore.c:157 msgid "-z only makes sense with --stdin" msgstr "-z n'a de sens qu'avec l'option --stdin" -#: builtin/check-ignore.c:148 +#: builtin/check-ignore.c:159 msgid "no path specified" msgstr "aucun chemin spécifié" -#: builtin/check-ignore.c:152 +#: builtin/check-ignore.c:163 msgid "--quiet is only valid with a single pathname" msgstr "--quiet n'est valide qu'avec un seul chemin" -#: builtin/check-ignore.c:154 +#: builtin/check-ignore.c:165 msgid "cannot have both --quiet and --verbose" msgstr "impossible d'avoir --quiet et --verbose" -#: builtin/check-ignore.c:157 +#: builtin/check-ignore.c:168 msgid "--non-matching is only valid with --verbose" msgstr "--non-matching n'est valide qu'avec --verbose" @@ -3240,108 +3417,108 @@ msgstr "git checkout [options] <branche>" msgid "git checkout [options] [<branch>] -- <file>..." msgstr "git checkout [options] [<branche>] -- <fichier>..." -#: builtin/checkout.c:117 builtin/checkout.c:150 +#: builtin/checkout.c:114 builtin/checkout.c:147 #, c-format msgid "path '%s' does not have our version" msgstr "le chemin '%s' n'a pas notre version" -#: builtin/checkout.c:119 builtin/checkout.c:152 +#: builtin/checkout.c:116 builtin/checkout.c:149 #, c-format msgid "path '%s' does not have their version" msgstr "le chemin '%s' n'a pas leur version" -#: builtin/checkout.c:135 +#: builtin/checkout.c:132 #, c-format msgid "path '%s' does not have all necessary versions" msgstr "le chemin '%s' n'a aucune des versions nécessaires" -#: builtin/checkout.c:179 +#: builtin/checkout.c:176 #, c-format msgid "path '%s' does not have necessary versions" msgstr "le chemin '%s' n'a pas les versions nécessaires" -#: builtin/checkout.c:196 +#: builtin/checkout.c:193 #, c-format msgid "path '%s': cannot merge" msgstr "chemin '%s' : impossible de fusionner" -#: builtin/checkout.c:213 +#: builtin/checkout.c:210 #, c-format msgid "Unable to add merge result for '%s'" msgstr "Impossible d'ajouter le résultat de fusion pour '%s'" -#: builtin/checkout.c:237 builtin/checkout.c:240 builtin/checkout.c:243 -#: builtin/checkout.c:246 +#: builtin/checkout.c:232 builtin/checkout.c:235 builtin/checkout.c:238 +#: builtin/checkout.c:241 #, c-format msgid "'%s' cannot be used with updating paths" msgstr "'%s' ne peut pas être utilisé avec des mises à jour de chemins" -#: builtin/checkout.c:249 builtin/checkout.c:252 +#: builtin/checkout.c:244 builtin/checkout.c:247 #, c-format msgid "'%s' cannot be used with %s" msgstr "'%s' ne peut pas être utilisé avec %s" -#: builtin/checkout.c:255 +#: builtin/checkout.c:250 #, c-format msgid "Cannot update paths and switch to branch '%s' at the same time." msgstr "" "Impossible de mettre à jour les chemins et basculer sur la branche '%s' en " "même temps." -#: builtin/checkout.c:266 builtin/checkout.c:458 +#: builtin/checkout.c:261 builtin/checkout.c:451 msgid "corrupt index file" msgstr "fichier d'index corrompu" -#: builtin/checkout.c:329 builtin/checkout.c:336 +#: builtin/checkout.c:322 builtin/checkout.c:329 #, c-format msgid "path '%s' is unmerged" msgstr "le chemin '%s' n'est pas fusionné" -#: builtin/checkout.c:480 +#: builtin/checkout.c:473 msgid "you need to resolve your current index first" msgstr "vous devez d'abord résoudre votre index courant" -#: builtin/checkout.c:601 +#: builtin/checkout.c:594 #, c-format msgid "Can not do reflog for '%s'\n" msgstr "Impossible de faire un reflog pour '%s'\n" -#: builtin/checkout.c:639 +#: builtin/checkout.c:632 msgid "HEAD is now at" msgstr "HEAD est maintenant sur" -#: builtin/checkout.c:646 +#: builtin/checkout.c:639 #, c-format msgid "Reset branch '%s'\n" msgstr "Remise à zéro de la branche '%s'\n" -#: builtin/checkout.c:649 +#: builtin/checkout.c:642 #, c-format msgid "Already on '%s'\n" msgstr "Déjà sur '%s'\n" -#: builtin/checkout.c:653 +#: builtin/checkout.c:646 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "Basculement et remise à zéro de la branche '%s'\n" -#: builtin/checkout.c:655 builtin/checkout.c:997 +#: builtin/checkout.c:648 builtin/checkout.c:1033 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "Basculement sur la nouvelle branche '%s'\n" -#: builtin/checkout.c:657 +#: builtin/checkout.c:650 #, c-format msgid "Switched to branch '%s'\n" msgstr "Basculement sur la branche '%s'\n" -#: builtin/checkout.c:713 +#: builtin/checkout.c:706 #, c-format msgid " ... and %d more.\n" msgstr " ... et %d en plus.\n" #. The singular version -#: builtin/checkout.c:719 +#: builtin/checkout.c:712 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -3364,7 +3541,7 @@ msgstr[1] "" "\n" "%s\n" -#: builtin/checkout.c:737 +#: builtin/checkout.c:730 #, c-format msgid "" "If you want to keep them by creating a new branch, this may be a good time\n" @@ -3380,136 +3557,140 @@ msgstr "" "git branche nouvelle_branche %s\n" "\n" -#: builtin/checkout.c:767 +#: builtin/checkout.c:760 msgid "internal error in revision walk" msgstr "erreur interne lors du parcours des révisions" -#: builtin/checkout.c:771 +#: builtin/checkout.c:764 msgid "Previous HEAD position was" msgstr "La position précédente de HEAD était" -#: builtin/checkout.c:798 builtin/checkout.c:992 +#: builtin/checkout.c:791 builtin/checkout.c:1028 msgid "You are on a branch yet to be born" msgstr "Vous êtes sur une branche qui doit encore naître" -#. case (1) -#: builtin/checkout.c:928 +#: builtin/checkout.c:935 +#, c-format +msgid "only one reference expected, %d given." +msgstr "une seule référence attendue, %d fournies." + +#: builtin/checkout.c:974 #, c-format msgid "invalid reference: %s" msgstr "référence invalide : %s" #. case (1): want a tree -#: builtin/checkout.c:967 +#: builtin/checkout.c:1003 #, c-format msgid "reference is not a tree: %s" msgstr "la référence n'est pas un arbre : %s" -#: builtin/checkout.c:1006 +#: builtin/checkout.c:1042 msgid "paths cannot be used with switching branches" msgstr "impossible d'utiliser des chemins avec un basculement de branches" -#: builtin/checkout.c:1009 builtin/checkout.c:1013 +#: builtin/checkout.c:1045 builtin/checkout.c:1049 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "'%s' ne peut pas être utilisé avec un basculement de branches" -#: builtin/checkout.c:1017 builtin/checkout.c:1020 builtin/checkout.c:1025 -#: builtin/checkout.c:1028 +#: builtin/checkout.c:1053 builtin/checkout.c:1056 builtin/checkout.c:1061 +#: builtin/checkout.c:1064 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "'%s' ne peut pas être utilisé avec '%s'" -#: builtin/checkout.c:1033 +#: builtin/checkout.c:1069 #, c-format msgid "Cannot switch branch to a non-commit '%s'" msgstr "Impossible de basculer de branche vers '%s' qui n'est pas un commit" -#: builtin/checkout.c:1055 builtin/checkout.c:1057 builtin/clone.c:89 +#: builtin/checkout.c:1091 builtin/checkout.c:1093 builtin/clone.c:88 #: builtin/remote.c:169 builtin/remote.c:171 msgid "branch" msgstr "branche" -#: builtin/checkout.c:1056 +#: builtin/checkout.c:1092 msgid "create and checkout a new branch" msgstr "créer et extraire une nouvelle branche" -#: builtin/checkout.c:1058 +#: builtin/checkout.c:1094 msgid "create/reset and checkout a branch" msgstr "créer/réinitialiser et extraire une branche" -#: builtin/checkout.c:1059 +#: builtin/checkout.c:1095 msgid "create reflog for new branch" msgstr "créer un reflog pour une nouvelle branche" -#: builtin/checkout.c:1060 +#: builtin/checkout.c:1096 msgid "detach the HEAD at named commit" msgstr "détacher la HEAD à la validation nommée" -#: builtin/checkout.c:1061 +#: builtin/checkout.c:1097 msgid "set upstream info for new branch" msgstr "paramétrer l'information de branche amont pour une nouvelle branche" -#: builtin/checkout.c:1063 +#: builtin/checkout.c:1099 msgid "new branch" msgstr "nouvelle branche" -#: builtin/checkout.c:1063 +#: builtin/checkout.c:1099 msgid "new unparented branch" msgstr "nouvelle branche sans parent" -#: builtin/checkout.c:1064 +#: builtin/checkout.c:1100 msgid "checkout our version for unmerged files" msgstr "extraire notre version pour les fichiers non fusionnés" -#: builtin/checkout.c:1066 +#: builtin/checkout.c:1102 msgid "checkout their version for unmerged files" msgstr "extraire leur version pour les fichiers non fusionnés" -#: builtin/checkout.c:1068 +#: builtin/checkout.c:1104 msgid "force checkout (throw away local modifications)" msgstr "forcer l'extraction (laisser tomber les modifications locales)" -#: builtin/checkout.c:1069 +#: builtin/checkout.c:1105 msgid "perform a 3-way merge with the new branch" msgstr "effectuer une fusion à 3 points avec la nouvelle branche" -#: builtin/checkout.c:1070 builtin/merge.c:232 +#: builtin/checkout.c:1106 builtin/merge.c:232 msgid "update ignored files (default)" msgstr "mettre à jour les fichiers ignorés (par défaut)" -#: builtin/checkout.c:1071 builtin/log.c:1208 parse-options.h:249 +#: builtin/checkout.c:1107 builtin/log.c:1228 parse-options.h:251 msgid "style" msgstr "style" -#: builtin/checkout.c:1072 +#: builtin/checkout.c:1108 msgid "conflict style (merge or diff3)" msgstr "style de conflit (fusion ou diff3)" -#: builtin/checkout.c:1075 +#: builtin/checkout.c:1111 msgid "do not limit pathspecs to sparse entries only" msgstr "ne pas limiter les spécificateurs de chemins aux seuls éléments creux" -#: builtin/checkout.c:1077 +#: builtin/checkout.c:1113 msgid "second guess 'git checkout no-such-branch'" msgstr "deuxième chance 'git checkout branche-inexistante'" -#: builtin/checkout.c:1101 +#: builtin/checkout.c:1136 msgid "-b, -B and --orphan are mutually exclusive" msgstr "-b, -B et --orphan sont mutuellement exclusifs" -#: builtin/checkout.c:1118 +#: builtin/checkout.c:1153 msgid "--track needs a branch name" msgstr "--track requiert un nom de branche" -#: builtin/checkout.c:1125 +#: builtin/checkout.c:1160 msgid "Missing branch name; try -b" msgstr "Nom de branche manquant ; essayez -b" -#: builtin/checkout.c:1160 +#: builtin/checkout.c:1197 msgid "invalid path specification" msgstr "spécification de chemin invalide" -#: builtin/checkout.c:1167 +#: builtin/checkout.c:1204 #, c-format msgid "" "Cannot update paths and switch to branch '%s' at the same time.\n" @@ -3519,12 +3700,12 @@ msgstr "" "en même temps.\n" "Souhaitiez-vous extraire '%s' qui ne peut être résolu comme commit ?" -#: builtin/checkout.c:1172 +#: builtin/checkout.c:1209 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "git checkout: --detach n'accepte pas un argument de chemin '%s'" -#: builtin/checkout.c:1176 +#: builtin/checkout.c:1213 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." @@ -3532,38 +3713,38 @@ msgstr "" "git checkout: --ours/--theirs, --force et --merge sont incompatibles lors\n" "de l'extraction de l'index." -#: builtin/clean.c:25 +#: builtin/clean.c:26 msgid "" "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..." msgstr "" "git clean [-d] [-f] [-i] [-n] [-q] [-e <motif>] [-x | -X] [--] <chemins>..." -#: builtin/clean.c:29 +#: builtin/clean.c:30 #, c-format msgid "Removing %s\n" msgstr "Suppression de %s\n" -#: builtin/clean.c:30 +#: builtin/clean.c:31 #, c-format msgid "Would remove %s\n" msgstr "Supprimerait %s\n" -#: builtin/clean.c:31 +#: builtin/clean.c:32 #, c-format msgid "Skipping repository %s\n" msgstr "Ignore le dépôt %s\n" -#: builtin/clean.c:32 +#: builtin/clean.c:33 #, c-format msgid "Would skip repository %s\n" msgstr "Ignorerait le dépôt %s\n" -#: builtin/clean.c:33 +#: builtin/clean.c:34 #, c-format msgid "failed to remove %s" msgstr "échec de la suppression de %s" -#: builtin/clean.c:293 +#: builtin/clean.c:294 msgid "" "Prompt help:\n" "1 - select a numbered item\n" @@ -3575,7 +3756,7 @@ msgstr "" "foo - sélectionner un élément par un préfixe unique\n" " - (vide) ne rien sélectionner" -#: builtin/clean.c:297 +#: builtin/clean.c:298 msgid "" "Prompt help:\n" "1 - select a single item\n" @@ -3595,35 +3776,35 @@ msgstr "" "* - choisir tous les éléments\n" " - (vide) terminer la sélection" -#: builtin/clean.c:515 +#: builtin/clean.c:516 #, c-format msgid "Huh (%s)?" msgstr "Hein (%s) ?" -#: builtin/clean.c:658 +#: builtin/clean.c:659 #, c-format msgid "Input ignore patterns>> " msgstr "Entrez les motifs à ignorer>> " -#: builtin/clean.c:695 +#: builtin/clean.c:696 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "ATTENTION : Impossible de trouver les éléments correspondant à : %s" -#: builtin/clean.c:716 +#: builtin/clean.c:717 msgid "Select items to delete" msgstr "Sélectionner les éléments à supprimer" -#: builtin/clean.c:756 +#: builtin/clean.c:757 #, c-format msgid "remove %s? " msgstr "supprimer %s ? " -#: builtin/clean.c:781 +#: builtin/clean.c:782 msgid "Bye." msgstr "Au revoir." -#: builtin/clean.c:789 +#: builtin/clean.c:790 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -3641,21 +3822,21 @@ msgstr "" "help - cet écran\n" "? - aide pour la sélection en ligne" -#: builtin/clean.c:816 +#: builtin/clean.c:817 msgid "*** Commands ***" msgstr "*** Commandes ***" -#: builtin/clean.c:817 +#: builtin/clean.c:818 msgid "What now" msgstr "Et maintenant ?" -#: builtin/clean.c:825 +#: builtin/clean.c:826 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "Supprimerait l'élément suivant :" msgstr[1] "Supprimerait les éléments suivants :" -#: builtin/clean.c:842 +#: builtin/clean.c:843 msgid "No more files to clean, exiting." msgstr "Plus de fichier à nettoyer, sortie." @@ -3675,8 +3856,8 @@ msgstr "nettoyage interactif" msgid "remove whole directories" msgstr "supprimer les répertoires entiers" -#: builtin/clean.c:880 builtin/describe.c:420 builtin/grep.c:716 -#: builtin/ls-files.c:493 builtin/name-rev.c:315 builtin/show-ref.c:186 +#: builtin/clean.c:880 builtin/describe.c:420 builtin/grep.c:718 +#: builtin/ls-files.c:483 builtin/name-rev.c:315 builtin/show-ref.c:185 msgid "pattern" msgstr "motif" @@ -3716,8 +3897,8 @@ msgstr "" msgid "git clone [options] [--] <repo> [<dir>]" msgstr "git clone [options] [--] <dépôt> [<répertoire>]" -#: builtin/clone.c:64 builtin/fetch.c:82 builtin/merge.c:229 -#: builtin/push.c:462 +#: builtin/clone.c:64 builtin/fetch.c:96 builtin/merge.c:229 +#: builtin/push.c:474 msgid "force progress reporting" msgstr "forcer l'état d'avancement" @@ -3729,123 +3910,123 @@ msgstr "ne pas créer d'extraction" msgid "create a bare repository" msgstr "créer un dépôt nu" -#: builtin/clone.c:72 +#: builtin/clone.c:71 msgid "create a mirror repository (implies bare)" msgstr "créer un dépôt miroir (implique dépôt nu)" -#: builtin/clone.c:74 +#: builtin/clone.c:73 msgid "to clone from a local repository" msgstr "pour cloner depuis un dépôt local" -#: builtin/clone.c:76 +#: builtin/clone.c:75 msgid "don't use local hardlinks, always copy" msgstr "ne pas utiliser de liens durs locaux, toujours copier" -#: builtin/clone.c:78 +#: builtin/clone.c:77 msgid "setup as shared repository" msgstr "régler comme dépôt partagé" -#: builtin/clone.c:80 builtin/clone.c:82 +#: builtin/clone.c:79 builtin/clone.c:81 msgid "initialize submodules in the clone" msgstr "initialiser les sous-modules dans le clone" -#: builtin/clone.c:83 builtin/init-db.c:485 +#: builtin/clone.c:82 builtin/init-db.c:485 msgid "template-directory" msgstr "répertoire-modèle" -#: builtin/clone.c:84 builtin/init-db.c:486 +#: builtin/clone.c:83 builtin/init-db.c:486 msgid "directory from which templates will be used" msgstr "répertoire depuis lequel les modèles vont être utilisés" -#: builtin/clone.c:86 +#: builtin/clone.c:85 msgid "reference repository" msgstr "dépôt de référence" -#: builtin/clone.c:87 builtin/column.c:26 builtin/merge-file.c:44 +#: builtin/clone.c:86 builtin/column.c:26 builtin/merge-file.c:44 msgid "name" msgstr "nom" -#: builtin/clone.c:88 +#: builtin/clone.c:87 msgid "use <name> instead of 'origin' to track upstream" msgstr "utiliser <nom> au lieu de 'origin' pour suivre la branche amont" -#: builtin/clone.c:90 +#: builtin/clone.c:89 msgid "checkout <branch> instead of the remote's HEAD" msgstr "extraire <branche> au lieu de la HEAD du répertoire distant" -#: builtin/clone.c:92 +#: builtin/clone.c:91 msgid "path to git-upload-pack on the remote" msgstr "chemin vers git-upload-pack sur le serveur distant" -#: builtin/clone.c:93 builtin/fetch.c:83 builtin/grep.c:661 +#: builtin/clone.c:92 builtin/fetch.c:97 builtin/grep.c:663 msgid "depth" msgstr "profondeur" -#: builtin/clone.c:94 +#: builtin/clone.c:93 msgid "create a shallow clone of that depth" msgstr "créer un clone superficiel de cette profondeur" -#: builtin/clone.c:96 +#: builtin/clone.c:95 msgid "clone only one branch, HEAD or --branch" msgstr "cloner seulement une branche, HEAD ou --branch" -#: builtin/clone.c:97 builtin/init-db.c:494 +#: builtin/clone.c:96 builtin/init-db.c:494 msgid "gitdir" msgstr "gitdir" -#: builtin/clone.c:98 builtin/init-db.c:495 +#: builtin/clone.c:97 builtin/init-db.c:495 msgid "separate git dir from working tree" msgstr "séparer le répertoire git de la copie de travail" -#: builtin/clone.c:99 +#: builtin/clone.c:98 msgid "key=value" msgstr "clé=valeur" -#: builtin/clone.c:100 +#: builtin/clone.c:99 msgid "set config inside the new repository" msgstr "régler la configuration dans le nouveau dépôt" -#: builtin/clone.c:253 +#: builtin/clone.c:252 #, c-format msgid "reference repository '%s' is not a local repository." msgstr "le dépôt de référence '%s' n'est pas un dépôt local." -#: builtin/clone.c:316 +#: builtin/clone.c:315 #, c-format msgid "failed to create directory '%s'" msgstr "échec de la création du répertoire '%s'" -#: builtin/clone.c:318 builtin/diff.c:77 +#: builtin/clone.c:317 builtin/diff.c:77 #, c-format msgid "failed to stat '%s'" msgstr "échec du stat de '%s'" -#: builtin/clone.c:320 +#: builtin/clone.c:319 #, c-format msgid "%s exists and is not a directory" msgstr "%s existe et n'est pas un répertoire" -#: builtin/clone.c:334 +#: builtin/clone.c:333 #, c-format msgid "failed to stat %s\n" msgstr "échec du stat de %s\n" -#: builtin/clone.c:356 +#: builtin/clone.c:355 #, c-format msgid "failed to create link '%s'" msgstr "échec de la création du lien '%s'" -#: builtin/clone.c:360 +#: builtin/clone.c:359 #, c-format msgid "failed to copy file to '%s'" msgstr "échec de la copie vers '%s'" -#: builtin/clone.c:383 +#: builtin/clone.c:382 builtin/clone.c:559 #, c-format msgid "done.\n" msgstr "fait.\n" -#: builtin/clone.c:396 +#: builtin/clone.c:395 msgid "" "Clone succeeded, but checkout failed.\n" "You can inspect what was checked out with 'git status'\n" @@ -3855,108 +4036,103 @@ msgstr "" "Vous pouvez inspecter ce qui a été extrait avec 'git status'\n" "et réessayer l'extraction avec 'git checkout -f HEAD'\n" -#: builtin/clone.c:475 +#: builtin/clone.c:474 #, c-format msgid "Could not find remote branch %s to clone." msgstr "Impossible de trouver la branche distante '%s' à cloner." -#: builtin/clone.c:555 +#: builtin/clone.c:554 #, c-format msgid "Checking connectivity... " msgstr "Vérification de la connectivité... " -#: builtin/clone.c:558 +#: builtin/clone.c:557 msgid "remote did not send all necessary objects" msgstr "le serveur distant n'a pas envoyé tous les objets nécessaires" -#: builtin/clone.c:560 -#, c-format -msgid "done\n" -msgstr "fait\n" - -#: builtin/clone.c:621 +#: builtin/clone.c:620 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "" "la HEAD distante réfère à une référence non existante, impossible de " "l'extraire.\n" -#: builtin/clone.c:652 +#: builtin/clone.c:651 msgid "unable to checkout working tree" msgstr "impossible d'extraire la copie de travail" -#: builtin/clone.c:760 +#: builtin/clone.c:759 msgid "Too many arguments." msgstr "Trop d'arguments." -#: builtin/clone.c:764 +#: builtin/clone.c:763 msgid "You must specify a repository to clone." msgstr "Vous devez spécifier un dépôt à cloner." -#: builtin/clone.c:775 +#: builtin/clone.c:774 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "les options --bare et --origin %s sont incompatibles." -#: builtin/clone.c:778 +#: builtin/clone.c:777 msgid "--bare and --separate-git-dir are incompatible." msgstr "--bare et --separate-git-dir sont incompatibles." -#: builtin/clone.c:791 +#: builtin/clone.c:790 #, c-format msgid "repository '%s' does not exist" msgstr "le dépôt '%s' n'existe pas" -#: builtin/clone.c:796 +#: builtin/clone.c:795 msgid "--depth is ignored in local clones; use file:// instead." msgstr "" "--depth est ignoré dans les clones locaux : utilisez plutôt \"file://\"." -#: builtin/clone.c:798 +#: builtin/clone.c:797 msgid "--local is ignored" msgstr "--local est ignoré" -#: builtin/clone.c:808 +#: builtin/clone.c:807 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "" "le chemin de destination '%s' existe déjà et n'est pas un répertoire vide." -#: builtin/clone.c:818 +#: builtin/clone.c:817 #, c-format msgid "working tree '%s' already exists." msgstr "la copie de travail '%s' existe déjà ." -#: builtin/clone.c:831 builtin/clone.c:843 +#: builtin/clone.c:830 builtin/clone.c:842 #, c-format msgid "could not create leading directories of '%s'" msgstr "impossible de créer les répertoires de premier niveau dans '%s'" -#: builtin/clone.c:834 +#: builtin/clone.c:833 #, c-format msgid "could not create work tree dir '%s'." msgstr "impossible de créer le répertoire de la copie de travail '%s'." -#: builtin/clone.c:853 +#: builtin/clone.c:852 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "Clonage dans le dépôt nu '%s'\n" -#: builtin/clone.c:855 +#: builtin/clone.c:854 #, c-format msgid "Cloning into '%s'...\n" msgstr "Clonage dans '%s'...\n" -#: builtin/clone.c:890 +#: builtin/clone.c:888 #, c-format msgid "Don't know how to clone %s" msgstr "Je ne sais pas cloner %s" -#: builtin/clone.c:942 +#: builtin/clone.c:939 builtin/clone.c:947 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "La branche distante %s n'a pas été trouvée dans le dépôt amont %s" -#: builtin/clone.c:949 +#: builtin/clone.c:950 msgid "You appear to have cloned an empty repository." msgstr "Vous semblez avoir cloné un dépôt vide." @@ -3992,15 +4168,15 @@ msgstr "Remplissage d'espace entre les colonnes" msgid "--command must be the first argument" msgstr "--command doit être le premier argument" -#: builtin/commit.c:35 +#: builtin/commit.c:36 msgid "git commit [options] [--] <pathspec>..." msgstr "git commit [options] [--] <spécification-de-chemin>..." -#: builtin/commit.c:40 +#: builtin/commit.c:41 msgid "git status [options] [--] <pathspec>..." msgstr "git status [options] [--] <spécification-de-chemin>..." -#: builtin/commit.c:45 +#: builtin/commit.c:46 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -4026,7 +4202,7 @@ msgstr "" "\n" " git commit --amend --reset-author\n" -#: builtin/commit.c:57 +#: builtin/commit.c:58 msgid "" "You asked to amend the most recent commit, but doing so would make\n" "it empty. You can repeat your command with --allow-empty, or you can\n" @@ -4037,7 +4213,7 @@ msgstr "" "vide. Vous pouvez répéter votre commande avec --allow-empty, ou vous pouvez\n" "supprimer complètement le commit avec \"git reset HEAD^\".\n" -#: builtin/commit.c:62 +#: builtin/commit.c:63 msgid "" "The previous cherry-pick is now empty, possibly due to conflict resolution.\n" "If you wish to commit it anyway, use:\n" @@ -4052,11 +4228,11 @@ msgstr "" " git commit --allow-empty\n" "\n" -#: builtin/commit.c:69 +#: builtin/commit.c:70 msgid "Otherwise, please use 'git reset'\n" msgstr "Sinon, veuillez utiliser 'git reset'\n" -#: builtin/commit.c:72 +#: builtin/commit.c:73 msgid "" "If you wish to skip this commit, use:\n" "\n" @@ -4072,93 +4248,93 @@ msgstr "" "Puis \"git cherry-pick --continue\" continuera le picorage \n" "des commits restants.\n" -#: builtin/commit.c:279 +#: builtin/commit.c:287 msgid "failed to unpack HEAD tree object" msgstr "échec du dépaquetage de l'objet arbre HEAD" -#: builtin/commit.c:321 +#: builtin/commit.c:329 msgid "unable to create temporary index" msgstr "impossible de créer l'index temporaire" -#: builtin/commit.c:327 +#: builtin/commit.c:335 msgid "interactive add failed" msgstr "échec de l'ajout interactif" -#: builtin/commit.c:360 builtin/commit.c:381 builtin/commit.c:431 +#: builtin/commit.c:368 builtin/commit.c:389 builtin/commit.c:439 msgid "unable to write new_index file" msgstr "impossible d'écrire le fichier new_index" -#: builtin/commit.c:412 +#: builtin/commit.c:420 msgid "cannot do a partial commit during a merge." msgstr "impossible de faire une validation partielle pendant une fusion." -#: builtin/commit.c:414 +#: builtin/commit.c:422 msgid "cannot do a partial commit during a cherry-pick." msgstr "impossible de faire une validation partielle pendant un picorage." -#: builtin/commit.c:424 +#: builtin/commit.c:432 msgid "cannot read the index" msgstr "impossible de lire l'index" -#: builtin/commit.c:444 +#: builtin/commit.c:452 msgid "unable to write temporary index file" msgstr "impossible d'écrire le fichier d'index temporaire" -#: builtin/commit.c:535 builtin/commit.c:541 +#: builtin/commit.c:543 builtin/commit.c:549 #, c-format msgid "invalid commit: %s" msgstr "commit invalide : %s" -#: builtin/commit.c:563 +#: builtin/commit.c:571 msgid "malformed --author parameter" msgstr "paramètre --author mal formé" -#: builtin/commit.c:583 +#: builtin/commit.c:591 #, c-format msgid "Malformed ident string: '%s'" msgstr "Chaîne ident mal formée : '%s'" -#: builtin/commit.c:621 builtin/commit.c:654 builtin/commit.c:982 +#: builtin/commit.c:630 builtin/commit.c:663 builtin/commit.c:1007 #, c-format msgid "could not lookup commit %s" msgstr "impossible de rechercher le commit %s" -#: builtin/commit.c:633 builtin/shortlog.c:271 +#: builtin/commit.c:642 builtin/shortlog.c:273 #, c-format msgid "(reading log message from standard input)\n" msgstr "(lecture du message de journal depuis l'entrée standard)\n" -#: builtin/commit.c:635 +#: builtin/commit.c:644 msgid "could not read log from standard input" msgstr "impossible de lire le journal depuis l'entrée standard" -#: builtin/commit.c:639 +#: builtin/commit.c:648 #, c-format msgid "could not read log file '%s'" msgstr "impossible de lire le fichier de journal '%s'" -#: builtin/commit.c:645 +#: builtin/commit.c:654 msgid "commit has empty message" msgstr "le commit a un message vide" -#: builtin/commit.c:661 +#: builtin/commit.c:670 msgid "could not read MERGE_MSG" msgstr "impossible de lire MERGE_MSG" -#: builtin/commit.c:665 +#: builtin/commit.c:674 msgid "could not read SQUASH_MSG" msgstr "impossible de lire SQUASH_MSG" -#: builtin/commit.c:669 +#: builtin/commit.c:678 #, c-format msgid "could not read '%s'" msgstr "impossible de lire '%s'" -#: builtin/commit.c:730 +#: builtin/commit.c:749 msgid "could not write commit template" msgstr "impossible d'écrire le modèle de commit" -#: builtin/commit.c:741 +#: builtin/commit.c:760 #, c-format msgid "" "\n" @@ -4173,7 +4349,7 @@ msgstr "" "\t%s\n" "et essayez à nouveau.\n" -#: builtin/commit.c:746 +#: builtin/commit.c:765 #, c-format msgid "" "\n" @@ -4188,7 +4364,7 @@ msgstr "" "\t%s\n" "et essayez à nouveau.\n" -#: builtin/commit.c:758 +#: builtin/commit.c:777 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -4198,7 +4374,7 @@ msgstr "" "commençant par '%c' seront ignorées, et un message vide abandonne la " "validation.\n" -#: builtin/commit.c:763 +#: builtin/commit.c:782 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -4209,142 +4385,142 @@ msgstr "" "commençant par '%c' seront conservées ; vous pouvez les supprimer vous-même\n" "si vous le souhaitez. Un message vide abandonne la validation.\n" -#: builtin/commit.c:776 +#: builtin/commit.c:795 #, c-format msgid "%sAuthor: %s" msgstr "%sAuteur : %s" -#: builtin/commit.c:783 +#: builtin/commit.c:802 #, c-format msgid "%sCommitter: %s" msgstr "%sValidateur : %s" -#: builtin/commit.c:803 +#: builtin/commit.c:822 msgid "Cannot read index" msgstr "Impossible de lire l'index" -#: builtin/commit.c:845 +#: builtin/commit.c:865 msgid "Error building trees" msgstr "Erreur lors de la construction des arbres" -#: builtin/commit.c:860 builtin/tag.c:359 +#: builtin/commit.c:880 builtin/tag.c:359 #, c-format msgid "Please supply the message using either -m or -F option.\n" msgstr "Veuillez fournir le message en utilisant l'option -m ou -F.\n" -#: builtin/commit.c:957 +#: builtin/commit.c:982 #, c-format msgid "No existing author found with '%s'" msgstr "Aucun auteur existant trouvé avec '%s'" -#: builtin/commit.c:972 builtin/commit.c:1208 +#: builtin/commit.c:997 builtin/commit.c:1237 #, c-format msgid "Invalid untracked files mode '%s'" msgstr "Mode de fichier non suivi invalide '%s'" -#: builtin/commit.c:1009 +#: builtin/commit.c:1034 msgid "--long and -z are incompatible" msgstr "--long et -z sont incompatibles" -#: builtin/commit.c:1039 +#: builtin/commit.c:1064 msgid "Using both --reset-author and --author does not make sense" msgstr "L'utilisation simultanée de --reset-author et --author n'a pas de sens" -#: builtin/commit.c:1050 +#: builtin/commit.c:1075 msgid "You have nothing to amend." msgstr "Il n'y a rien à corriger." -#: builtin/commit.c:1053 +#: builtin/commit.c:1078 msgid "You are in the middle of a merge -- cannot amend." msgstr "Vous êtes en pleine fusion -- impossible de corriger (amend)." -#: builtin/commit.c:1055 +#: builtin/commit.c:1080 msgid "You are in the middle of a cherry-pick -- cannot amend." msgstr "Vous êtes en plein picorage -- impossible de corriger (amend)." -#: builtin/commit.c:1058 +#: builtin/commit.c:1083 msgid "Options --squash and --fixup cannot be used together" msgstr "Les options --squash et --fixup ne peuvent pas être utilisées ensemble" -#: builtin/commit.c:1068 +#: builtin/commit.c:1093 msgid "Only one of -c/-C/-F/--fixup can be used." msgstr "Une seule option parmi -c/-C/-F/--fixup peut être utilisée." -#: builtin/commit.c:1070 +#: builtin/commit.c:1095 msgid "Option -m cannot be combined with -c/-C/-F/--fixup." msgstr "L'option -m ne peut pas être combinée avec -c/-C/-F/--fixup." -#: builtin/commit.c:1078 +#: builtin/commit.c:1103 msgid "--reset-author can be used only with -C, -c or --amend." msgstr "--reset-author ne peut être utilisé qu'avec -C, -c ou --amend." -#: builtin/commit.c:1095 +#: builtin/commit.c:1120 msgid "Only one of --include/--only/--all/--interactive/--patch can be used." msgstr "" "Une seule option parmi --include/--only/--all/--interactive/--patch peut " "être utilisée." -#: builtin/commit.c:1097 +#: builtin/commit.c:1122 msgid "No paths with --include/--only does not make sense." msgstr "Aucun chemin avec les options --include/--only n'a pas de sens." -#: builtin/commit.c:1099 +#: builtin/commit.c:1124 msgid "Clever... amending the last one with dirty index." msgstr "Malin... correction du dernier avec un index sale." -#: builtin/commit.c:1101 +#: builtin/commit.c:1126 msgid "Explicit paths specified without -i nor -o; assuming --only paths..." msgstr "Chemins explicites spécifiés sans -i ni -o ; --only supposé..." -#: builtin/commit.c:1111 builtin/tag.c:575 +#: builtin/commit.c:1136 builtin/tag.c:572 #, c-format msgid "Invalid cleanup mode %s" msgstr "Mode de nettoyage invalide %s" -#: builtin/commit.c:1116 +#: builtin/commit.c:1141 msgid "Paths with -a does not make sense." msgstr "Spécifier des chemins avec l'option -a n'a pas de sens." -#: builtin/commit.c:1222 builtin/commit.c:1455 +#: builtin/commit.c:1251 builtin/commit.c:1482 msgid "show status concisely" msgstr "afficher le statut avec concision" -#: builtin/commit.c:1224 builtin/commit.c:1457 +#: builtin/commit.c:1253 builtin/commit.c:1484 msgid "show branch information" msgstr "afficher l'information de branche" -#: builtin/commit.c:1226 builtin/commit.c:1459 builtin/push.c:452 +#: builtin/commit.c:1255 builtin/commit.c:1486 builtin/push.c:460 msgid "machine-readable output" msgstr "sortie pour traitement automatique" -#: builtin/commit.c:1229 builtin/commit.c:1461 +#: builtin/commit.c:1258 builtin/commit.c:1488 msgid "show status in long format (default)" msgstr "afficher le statut en format long (par défaut)" -#: builtin/commit.c:1232 builtin/commit.c:1464 +#: builtin/commit.c:1261 builtin/commit.c:1491 msgid "terminate entries with NUL" msgstr "terminer les éléments par NUL" -#: builtin/commit.c:1234 builtin/commit.c:1467 builtin/fast-export.c:667 -#: builtin/fast-export.c:670 builtin/tag.c:459 +#: builtin/commit.c:1263 builtin/commit.c:1494 builtin/fast-export.c:674 +#: builtin/fast-export.c:677 builtin/tag.c:459 msgid "mode" msgstr "mode" -#: builtin/commit.c:1235 builtin/commit.c:1467 +#: builtin/commit.c:1264 builtin/commit.c:1494 msgid "show untracked files, optional modes: all, normal, no. (Default: all)" msgstr "" "afficher les fichiers non suivis, \"mode\" facultatif : all (tous), normal, " "no. (Défaut : all)" -#: builtin/commit.c:1238 +#: builtin/commit.c:1267 msgid "show ignored files" msgstr "afficher les fichiers ignorés" -#: builtin/commit.c:1239 parse-options.h:154 +#: builtin/commit.c:1268 parse-options.h:156 msgid "when" msgstr "quand" -#: builtin/commit.c:1240 +#: builtin/commit.c:1269 msgid "" "ignore changes to submodules, optional when: all, dirty, untracked. " "(Default: all)" @@ -4352,217 +4528,217 @@ msgstr "" "ignorer les modifications dans les sous-modules, \"quand\" facultatif : all " "(tous), dirty (sale), untracked (non suivi). (Défaut : all)" -#: builtin/commit.c:1242 +#: builtin/commit.c:1271 msgid "list untracked files in columns" msgstr "afficher les fichiers non suivis en colonnes" -#: builtin/commit.c:1313 +#: builtin/commit.c:1340 msgid "couldn't look up newly created commit" msgstr "impossible de retrouver le commit nouvellement créé" -#: builtin/commit.c:1315 +#: builtin/commit.c:1342 msgid "could not parse newly created commit" msgstr "impossible d'analyser le commit nouvellement créé" -#: builtin/commit.c:1356 +#: builtin/commit.c:1383 msgid "detached HEAD" msgstr "HEAD détachée" -#: builtin/commit.c:1358 +#: builtin/commit.c:1385 msgid " (root-commit)" msgstr " (commit racine)" -#: builtin/commit.c:1425 +#: builtin/commit.c:1452 msgid "suppress summary after successful commit" msgstr "supprimer le résumé après une validation réussie" -#: builtin/commit.c:1426 +#: builtin/commit.c:1453 msgid "show diff in commit message template" msgstr "afficher les diff dans le modèle de message de validation" -#: builtin/commit.c:1428 +#: builtin/commit.c:1455 msgid "Commit message options" msgstr "Options du message de validation" -#: builtin/commit.c:1429 builtin/tag.c:457 +#: builtin/commit.c:1456 builtin/tag.c:457 msgid "read message from file" msgstr "lire le message depuis un fichier" -#: builtin/commit.c:1430 +#: builtin/commit.c:1457 msgid "author" msgstr "auteur" -#: builtin/commit.c:1430 +#: builtin/commit.c:1457 msgid "override author for commit" msgstr "remplacer l'auteur pour la validation" -#: builtin/commit.c:1431 builtin/gc.c:178 +#: builtin/commit.c:1458 builtin/gc.c:260 msgid "date" msgstr "date" -#: builtin/commit.c:1431 +#: builtin/commit.c:1458 msgid "override date for commit" msgstr "remplacer la date pour la validation" -#: builtin/commit.c:1432 builtin/merge.c:223 builtin/notes.c:405 +#: builtin/commit.c:1459 builtin/merge.c:223 builtin/notes.c:405 #: builtin/notes.c:562 builtin/tag.c:455 msgid "message" msgstr "message" -#: builtin/commit.c:1432 +#: builtin/commit.c:1459 msgid "commit message" msgstr "message de validation" -#: builtin/commit.c:1433 +#: builtin/commit.c:1460 msgid "reuse and edit message from specified commit" msgstr "réutiliser et éditer le message du commit spécifié" -#: builtin/commit.c:1434 +#: builtin/commit.c:1461 msgid "reuse message from specified commit" msgstr "réutiliser le message du commit spécifié" -#: builtin/commit.c:1435 +#: builtin/commit.c:1462 msgid "use autosquash formatted message to fixup specified commit" msgstr "" "utiliser un message formaté par autosquash pour corriger le commit spécifié" -#: builtin/commit.c:1436 +#: builtin/commit.c:1463 msgid "use autosquash formatted message to squash specified commit" msgstr "" "utiliser un message formaté par autosquash pour compresser le commit spécifié" -#: builtin/commit.c:1437 +#: builtin/commit.c:1464 msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "" "à présent je suis l'auteur de la validation (utilisé avec -C/-c/--amend)" -#: builtin/commit.c:1438 builtin/log.c:1160 builtin/revert.c:111 +#: builtin/commit.c:1465 builtin/log.c:1180 builtin/revert.c:86 msgid "add Signed-off-by:" msgstr "ajouter une entrée Signed-off-by :" -#: builtin/commit.c:1439 +#: builtin/commit.c:1466 msgid "use specified template file" msgstr "utiliser le fichier de modèle spécifié" -#: builtin/commit.c:1440 +#: builtin/commit.c:1467 msgid "force edit of commit" msgstr "forcer l'édition du commit" -#: builtin/commit.c:1441 +#: builtin/commit.c:1468 msgid "default" msgstr "défaut" -#: builtin/commit.c:1441 builtin/tag.c:460 +#: builtin/commit.c:1468 builtin/tag.c:460 msgid "how to strip spaces and #comments from message" msgstr "comment éliminer les espaces et les commentaires # du message" -#: builtin/commit.c:1442 +#: builtin/commit.c:1469 msgid "include status in commit message template" msgstr "inclure le statut dans le modèle de message de validation" -#: builtin/commit.c:1443 builtin/merge.c:230 builtin/tag.c:461 +#: builtin/commit.c:1470 builtin/merge.c:230 builtin/tag.c:461 msgid "key id" msgstr "identifiant de clé" -#: builtin/commit.c:1444 builtin/merge.c:231 +#: builtin/commit.c:1471 builtin/merge.c:231 msgid "GPG sign commit" msgstr "signer la validation avec GPG" #. end commit message options -#: builtin/commit.c:1447 +#: builtin/commit.c:1474 msgid "Commit contents options" msgstr "Valider les options des contenus" -#: builtin/commit.c:1448 +#: builtin/commit.c:1475 msgid "commit all changed files" msgstr "valider tous les fichiers modifiés" -#: builtin/commit.c:1449 +#: builtin/commit.c:1476 msgid "add specified files to index for commit" msgstr "ajouter les fichiers spécifiés à l'index pour la validation" -#: builtin/commit.c:1450 +#: builtin/commit.c:1477 msgid "interactively add files" msgstr "ajouter des fichiers en mode interactif" -#: builtin/commit.c:1451 +#: builtin/commit.c:1478 msgid "interactively add changes" msgstr "ajouter les modifications en mode interactif" -#: builtin/commit.c:1452 +#: builtin/commit.c:1479 msgid "commit only specified files" msgstr "valider seulement les fichiers spécifiés" -#: builtin/commit.c:1453 +#: builtin/commit.c:1480 msgid "bypass pre-commit hook" msgstr "éviter d'utiliser le crochet pre-commit" -#: builtin/commit.c:1454 +#: builtin/commit.c:1481 msgid "show what would be committed" msgstr "afficher ce qui serait validé" -#: builtin/commit.c:1465 +#: builtin/commit.c:1492 msgid "amend previous commit" msgstr "corriger la validation précédente" -#: builtin/commit.c:1466 +#: builtin/commit.c:1493 msgid "bypass post-rewrite hook" msgstr "éviter d'utiliser le crochet post-rewrite" -#: builtin/commit.c:1471 +#: builtin/commit.c:1498 msgid "ok to record an empty change" msgstr "accepter d'enregistrer une modification vide" -#: builtin/commit.c:1474 +#: builtin/commit.c:1500 msgid "ok to record a change with an empty message" msgstr "accepter d'enregistrer une modification avec un message vide" -#: builtin/commit.c:1507 +#: builtin/commit.c:1529 msgid "could not parse HEAD commit" msgstr "impossible d'analyser le commit HEAD" -#: builtin/commit.c:1545 builtin/merge.c:525 +#: builtin/commit.c:1567 builtin/merge.c:525 #, c-format msgid "could not open '%s' for reading" msgstr "impossible d'ouvrir '%s' en lecture" -#: builtin/commit.c:1552 +#: builtin/commit.c:1574 #, c-format msgid "Corrupt MERGE_HEAD file (%s)" msgstr "Fichier MERGE_HEAD corrompu (%s)" -#: builtin/commit.c:1559 +#: builtin/commit.c:1581 msgid "could not read MERGE_MODE" msgstr "impossible de lire MERGE_MODE" -#: builtin/commit.c:1578 +#: builtin/commit.c:1600 #, c-format msgid "could not read commit message: %s" msgstr "impossible de lire le message de validation : %s" -#: builtin/commit.c:1592 +#: builtin/commit.c:1614 #, c-format msgid "Aborting commit; you did not edit the message.\n" msgstr "Abandon de la validation ; vous n'avez pas édité le message\n" -#: builtin/commit.c:1597 +#: builtin/commit.c:1619 #, c-format msgid "Aborting commit due to empty commit message.\n" msgstr "Abandon de la validation du à un message de validation vide\n" -#: builtin/commit.c:1612 builtin/merge.c:861 builtin/merge.c:886 +#: builtin/commit.c:1634 builtin/merge.c:861 builtin/merge.c:886 msgid "failed to write commit object" msgstr "échec de l'écriture de l'objet commit" -#: builtin/commit.c:1633 +#: builtin/commit.c:1655 msgid "cannot lock HEAD ref" msgstr "impossible de verrouiller la référence HEAD" -#: builtin/commit.c:1637 +#: builtin/commit.c:1659 msgid "cannot update HEAD ref" msgstr "impossible de mettre à jour la référence HEAD" -#: builtin/commit.c:1648 +#: builtin/commit.c:1670 msgid "" "Repository has been updated, but unable to write\n" "new_index file. Check that disk is not full or quota is\n" @@ -4572,128 +4748,132 @@ msgstr "" "new_index. Vérifiez que le disque n'est pas plein ou que le quota\n" "n'a pas été dépassé, puis lancez \"git reset HEAD\" pour réparer." -#: builtin/config.c:7 +#: builtin/config.c:8 msgid "git config [options]" msgstr "git config [options]" -#: builtin/config.c:52 +#: builtin/config.c:54 msgid "Config file location" msgstr "Emplacement du fichier de configuration" -#: builtin/config.c:53 +#: builtin/config.c:55 msgid "use global config file" msgstr "utiliser les fichier de configuration global" -#: builtin/config.c:54 +#: builtin/config.c:56 msgid "use system config file" msgstr "utiliser le fichier de configuration du système" -#: builtin/config.c:55 +#: builtin/config.c:57 msgid "use repository config file" msgstr "utiliser le fichier de configuration du dépôt" -#: builtin/config.c:56 +#: builtin/config.c:58 msgid "use given config file" msgstr "utiliser le fichier de configuration spécifié" -#: builtin/config.c:57 +#: builtin/config.c:59 msgid "blob-id" msgstr "blob-id" -#: builtin/config.c:57 +#: builtin/config.c:59 msgid "read config from given blob object" msgstr "lire la configuration depuis l'objet blob fourni" -#: builtin/config.c:58 +#: builtin/config.c:60 msgid "Action" msgstr "Action" -#: builtin/config.c:59 +#: builtin/config.c:61 msgid "get value: name [value-regex]" msgstr "obtenir la valeur : nom [regex-de-valeur]" -#: builtin/config.c:60 +#: builtin/config.c:62 msgid "get all values: key [value-regex]" msgstr "obtenir toutes le valeurs : clé [regex-de-valeur]" -#: builtin/config.c:61 +#: builtin/config.c:63 msgid "get values for regexp: name-regex [value-regex]" msgstr "obtenir les valeur pour la regexp : regex-de-nom [regex-de-valeur]" -#: builtin/config.c:62 +#: builtin/config.c:64 +msgid "get value specific for the URL: section[.var] URL" +msgstr "obtenir la valeur spécifique pour l'URL : section[.var] URL" + +#: builtin/config.c:65 msgid "replace all matching variables: name value [value_regex]" msgstr "" "remplacer toutes les variables correspondant : nom valeur [regex-de-valeur]" -#: builtin/config.c:63 +#: builtin/config.c:66 msgid "add a new variable: name value" msgstr "ajouter une nouvelle variable : nom valeur" -#: builtin/config.c:64 +#: builtin/config.c:67 msgid "remove a variable: name [value-regex]" msgstr "supprimer une variable : nom [regex-de-valeur]" -#: builtin/config.c:65 +#: builtin/config.c:68 msgid "remove all matches: name [value-regex]" msgstr "supprimer toutes les correspondances nom [regex-de-valeur]" -#: builtin/config.c:66 +#: builtin/config.c:69 msgid "rename section: old-name new-name" msgstr "renommer une section : ancien-nom nouveau-nom" -#: builtin/config.c:67 +#: builtin/config.c:70 msgid "remove a section: name" msgstr "supprimer une section : nom" -#: builtin/config.c:68 +#: builtin/config.c:71 msgid "list all" msgstr "afficher tout" -#: builtin/config.c:69 +#: builtin/config.c:72 msgid "open an editor" msgstr "ouvrir un éditeur" -#: builtin/config.c:70 builtin/config.c:71 +#: builtin/config.c:73 builtin/config.c:74 msgid "slot" msgstr "emplacement" -#: builtin/config.c:70 +#: builtin/config.c:73 msgid "find the color configured: [default]" msgstr "trouver la couleur configurée : [par défaut]" -#: builtin/config.c:71 +#: builtin/config.c:74 msgid "find the color setting: [stdout-is-tty]" msgstr "trouver le réglage de la couleur : [stdout-est-tty]" -#: builtin/config.c:72 +#: builtin/config.c:75 msgid "Type" msgstr "Type" -#: builtin/config.c:73 +#: builtin/config.c:76 msgid "value is \"true\" or \"false\"" msgstr "la valeur est \"true\" (vrai) our \"false\" (faux)" -#: builtin/config.c:74 +#: builtin/config.c:77 msgid "value is decimal number" msgstr "la valeur est un nombre décimal" -#: builtin/config.c:75 +#: builtin/config.c:78 msgid "value is --bool or --int" msgstr "la valeur est --bool ou --int" -#: builtin/config.c:76 +#: builtin/config.c:79 msgid "value is a path (file or directory name)" msgstr "la valeur est un chemin (vers un fichier ou un répertoire)" -#: builtin/config.c:77 +#: builtin/config.c:80 msgid "Other" msgstr "Autre" -#: builtin/config.c:78 +#: builtin/config.c:81 msgid "terminate values with NUL byte" msgstr "terminer les valeurs avec un caractère NUL" -#: builtin/config.c:79 +#: builtin/config.c:82 msgid "respect include directives on lookup" msgstr "respecter les directives d'inclusion lors de la recherche" @@ -4705,7 +4885,7 @@ msgstr "git count-objects [-v] [-H | --human-readable]" msgid "print sizes in human readable format" msgstr "affiche les tailles dans un format humainement lisible" -#: builtin/describe.c:15 +#: builtin/describe.c:16 msgid "git describe [options] <commit-ish>*" msgstr "git describe [options] <commit ou apparenté>*" @@ -4843,7 +5023,7 @@ msgstr "--long et --abbrev=0 sont incompatibles" msgid "No names found, cannot describe anything." msgstr "aucun nom trouvé, impossible de décrire quoi que ce soit." -#: builtin/describe.c:481 +#: builtin/describe.c:489 msgid "--dirty is incompatible with commit-ishes" msgstr "--dirty est incompatible avec la spécification de commits ou assimilés" @@ -4880,40 +5060,40 @@ msgstr "objet non géré '%s' spécifié." msgid "git fast-export [rev-list-opts]" msgstr "git fast-export [options-de-liste-de-révisions]" -#: builtin/fast-export.c:666 +#: builtin/fast-export.c:673 msgid "show progress after <n> objects" msgstr "afficher la progression après <n> objets" -#: builtin/fast-export.c:668 +#: builtin/fast-export.c:675 msgid "select handling of signed tags" msgstr "sélectionner la gestion des étiquettes signées" -#: builtin/fast-export.c:671 +#: builtin/fast-export.c:678 msgid "select handling of tags that tag filtered objects" msgstr "" "sélectionner la gestion des étiquettes qui pointent sur des objets filtrés" -#: builtin/fast-export.c:674 +#: builtin/fast-export.c:681 msgid "Dump marks to this file" msgstr "Enregistrer les marques dans ce fichier" -#: builtin/fast-export.c:676 +#: builtin/fast-export.c:683 msgid "Import marks from this file" msgstr "importer les marques depuis ce fichier" -#: builtin/fast-export.c:678 +#: builtin/fast-export.c:685 msgid "Fake a tagger when tags lack one" msgstr "falsifier un auteur d'étiquette si l'étiquette n'en présente pas" -#: builtin/fast-export.c:680 +#: builtin/fast-export.c:687 msgid "Output full tree for each commit" msgstr "Afficher l'arbre complet pour chaque commit" -#: builtin/fast-export.c:682 +#: builtin/fast-export.c:689 msgid "Use the done feature to terminate the stream" msgstr "Utiliser la fonction \"done\" pour terminer le flux" -#: builtin/fast-export.c:683 +#: builtin/fast-export.c:690 msgid "Skip output of blob data" msgstr "Sauter l'affichage de données de blob" @@ -4933,146 +5113,146 @@ msgstr "git fetch --multiple [<options>] [(<dépôt> | <groupe>)...]" msgid "git fetch --all [<options>]" msgstr "git fetch --all [<options>]" -#: builtin/fetch.c:60 +#: builtin/fetch.c:74 msgid "fetch from all remotes" msgstr "récupérer depuis tous le dépôts distants" -#: builtin/fetch.c:62 +#: builtin/fetch.c:76 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "ajouter à .git/FETCH_HEAD au lieu de l'écraser" -#: builtin/fetch.c:64 +#: builtin/fetch.c:78 msgid "path to upload pack on remote end" msgstr "chemin vers lequel télécharger le paquet sur le poste distant" -#: builtin/fetch.c:65 +#: builtin/fetch.c:79 msgid "force overwrite of local branch" msgstr "forcer l'écrasement de la branche locale" -#: builtin/fetch.c:67 +#: builtin/fetch.c:81 msgid "fetch from multiple remotes" msgstr "récupérer depuis plusieurs dépôts distants" -#: builtin/fetch.c:69 +#: builtin/fetch.c:83 msgid "fetch all tags and associated objects" msgstr "récupérer toutes les étiquettes et leurs objets associés" -#: builtin/fetch.c:71 +#: builtin/fetch.c:85 msgid "do not fetch all tags (--no-tags)" msgstr "ne pas récupérer toutes les étiquettes (--no-tags)" -#: builtin/fetch.c:73 +#: builtin/fetch.c:87 msgid "prune remote-tracking branches no longer on remote" msgstr "" "éliminer les branches de suivi distant si la branche n'existe plus dans le " "dépôt distant" -#: builtin/fetch.c:74 +#: builtin/fetch.c:88 msgid "on-demand" msgstr "à la demande" -#: builtin/fetch.c:75 +#: builtin/fetch.c:89 msgid "control recursive fetching of submodules" msgstr "contrôler la récupération récursive dans les sous-modules" -#: builtin/fetch.c:79 +#: builtin/fetch.c:93 msgid "keep downloaded pack" msgstr "conserver le paquet téléchargé" -#: builtin/fetch.c:81 +#: builtin/fetch.c:95 msgid "allow updating of HEAD ref" msgstr "permettre la mise à jour de la référence HEAD" -#: builtin/fetch.c:84 +#: builtin/fetch.c:98 msgid "deepen history of shallow clone" msgstr "approfondir l'historique d'un clone superficiel" -#: builtin/fetch.c:86 +#: builtin/fetch.c:100 msgid "convert to a complete repository" msgstr "convertir en un dépôt complet" -#: builtin/fetch.c:88 builtin/log.c:1177 +#: builtin/fetch.c:102 builtin/log.c:1197 msgid "dir" msgstr "dir" -#: builtin/fetch.c:89 +#: builtin/fetch.c:103 msgid "prepend this to submodule path output" msgstr "préfixer ceci à la sortie du chemin du sous-module" -#: builtin/fetch.c:92 +#: builtin/fetch.c:106 msgid "default mode for recursion" msgstr "mode par défaut pour la récursion" -#: builtin/fetch.c:220 +#: builtin/fetch.c:236 msgid "Couldn't find remote ref HEAD" msgstr "impossible de trouver la référence HEAD distante" -#: builtin/fetch.c:273 +#: builtin/fetch.c:290 #, c-format msgid "object %s not found" msgstr "objet %s non trouvé" -#: builtin/fetch.c:278 +#: builtin/fetch.c:295 msgid "[up to date]" msgstr "[à jour]" -#: builtin/fetch.c:292 +#: builtin/fetch.c:309 #, c-format msgid "! %-*s %-*s -> %s (can't fetch in current branch)" msgstr "! %-*s %-*s -> %s (impossible de récupérer la branche actuelle)" -#: builtin/fetch.c:293 builtin/fetch.c:379 +#: builtin/fetch.c:310 builtin/fetch.c:396 msgid "[rejected]" msgstr "[rejeté]" -#: builtin/fetch.c:304 +#: builtin/fetch.c:321 msgid "[tag update]" msgstr "[mise à jour de l'étiquette]" -#: builtin/fetch.c:306 builtin/fetch.c:341 builtin/fetch.c:359 +#: builtin/fetch.c:323 builtin/fetch.c:358 builtin/fetch.c:376 msgid " (unable to update local ref)" msgstr " (impossible de mettre à jour la référence locale)" -#: builtin/fetch.c:324 +#: builtin/fetch.c:341 msgid "[new tag]" msgstr "[nouvelle étiquette]" -#: builtin/fetch.c:327 +#: builtin/fetch.c:344 msgid "[new branch]" msgstr "[nouvelle branche]" -#: builtin/fetch.c:330 +#: builtin/fetch.c:347 msgid "[new ref]" msgstr "[nouvelle référence]" -#: builtin/fetch.c:375 +#: builtin/fetch.c:392 msgid "unable to update local ref" msgstr "impossible de mettre à jour la référence locale" -#: builtin/fetch.c:375 +#: builtin/fetch.c:392 msgid "forced update" msgstr "mise à jour forcée" -#: builtin/fetch.c:381 +#: builtin/fetch.c:398 msgid "(non-fast-forward)" msgstr "(pas d'avance rapide)" -#: builtin/fetch.c:412 builtin/fetch.c:718 +#: builtin/fetch.c:429 builtin/fetch.c:735 #, c-format msgid "cannot open %s: %s\n" msgstr "impossible d'ouvrir %s : %s\n" -#: builtin/fetch.c:421 +#: builtin/fetch.c:438 #, c-format msgid "%s did not send all necessary objects\n" msgstr "%s n'a pas envoyé tous les objets nécessaires\n" -#: builtin/fetch.c:520 +#: builtin/fetch.c:537 #, c-format msgid "From %.*s\n" msgstr "Depuis %.*s\n" -#: builtin/fetch.c:531 +#: builtin/fetch.c:548 #, c-format msgid "" "some local refs could not be updated; try running\n" @@ -5081,55 +5261,55 @@ msgstr "" "des références locales n'ont pas pu être mises à jour ; essayez de lancer\n" " 'git remote prune %s' pour supprimer des branches anciennes en conflit" -#: builtin/fetch.c:581 +#: builtin/fetch.c:598 #, c-format msgid " (%s will become dangling)" msgstr " (%s sera en suspens)" -#: builtin/fetch.c:582 +#: builtin/fetch.c:599 #, c-format msgid " (%s has become dangling)" msgstr " (%s est devenu en suspens)" -#: builtin/fetch.c:589 +#: builtin/fetch.c:606 msgid "[deleted]" msgstr "[supprimé]" -#: builtin/fetch.c:590 builtin/remote.c:1055 +#: builtin/fetch.c:607 builtin/remote.c:1055 msgid "(none)" msgstr "(aucun(e))" -#: builtin/fetch.c:708 +#: builtin/fetch.c:725 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "Refus de récupérer dans la branche courant %s d'un dépôt non nu" -#: builtin/fetch.c:742 -#, c-format -msgid "Don't know how to fetch from %s" -msgstr "Je ne sais pas récupérer depuis %s" - -#: builtin/fetch.c:823 +#: builtin/fetch.c:744 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "La valeur \"%2$s\" de l'option \"%1$s\" est invalide pour %3$s" -#: builtin/fetch.c:826 +#: builtin/fetch.c:747 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "L'option \"%s\" est ignorée pour %s\n" -#: builtin/fetch.c:928 +#: builtin/fetch.c:801 +#, c-format +msgid "Don't know how to fetch from %s" +msgstr "Je ne sais pas récupérer depuis %s" + +#: builtin/fetch.c:976 #, c-format msgid "Fetching %s\n" msgstr "Récupération de %s\n" -#: builtin/fetch.c:930 builtin/remote.c:100 +#: builtin/fetch.c:978 builtin/remote.c:100 #, c-format msgid "Could not fetch %s" msgstr "Impossible de récupérer %s" -#: builtin/fetch.c:949 +#: builtin/fetch.c:997 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." @@ -5137,32 +5317,32 @@ msgstr "" "Aucun dépôt distant spécifié. Veuillez spécifier une URL ou un nom\n" "distant depuis lesquels les nouvelles révisions devraient être récupérées." -#: builtin/fetch.c:969 +#: builtin/fetch.c:1020 msgid "You need to specify a tag name." msgstr "Vous devez spécifier un nom d'étiquette." -#: builtin/fetch.c:1015 +#: builtin/fetch.c:1068 msgid "--depth and --unshallow cannot be used together" msgstr "--depth et --unshallow ne peuvent pas être utilisés ensemble" -#: builtin/fetch.c:1017 +#: builtin/fetch.c:1070 msgid "--unshallow on a complete repository does not make sense" msgstr "--unshallow sur un dépôt complet n'a pas de sens" -#: builtin/fetch.c:1036 +#: builtin/fetch.c:1089 msgid "fetch --all does not take a repository argument" msgstr "fetch --all n'accepte pas d'argument de dépôt" -#: builtin/fetch.c:1038 +#: builtin/fetch.c:1091 msgid "fetch --all does not make sense with refspecs" msgstr "fetch --all n'a pas de sens avec des spécifications de référence" -#: builtin/fetch.c:1049 +#: builtin/fetch.c:1102 #, c-format msgid "No such remote or remote group: %s" msgstr "distant ou groupe distant inexistant : %s" -#: builtin/fetch.c:1057 +#: builtin/fetch.c:1110 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "" "La récupération d'un groupe et les spécifications de référence n'ont pas de " @@ -5173,9 +5353,9 @@ msgid "git fmt-merge-msg [-m <message>] [--log[=<n>]|--no-log] [--file <file>]" msgstr "" "git fmt-merge-msg [-m <message>] [--log[=<n>]|--no-log] [--file <fichier>]" -#: builtin/fmt-merge-msg.c:663 builtin/fmt-merge-msg.c:666 builtin/grep.c:700 -#: builtin/merge.c:203 builtin/show-branch.c:655 builtin/show-ref.c:179 -#: builtin/tag.c:446 parse-options.h:133 parse-options.h:243 +#: builtin/fmt-merge-msg.c:663 builtin/fmt-merge-msg.c:666 builtin/grep.c:702 +#: builtin/merge.c:203 builtin/show-branch.c:655 builtin/show-ref.c:178 +#: builtin/tag.c:446 parse-options.h:135 parse-options.h:245 msgid "n" msgstr "n" @@ -5199,118 +5379,122 @@ msgstr "utiliser <texte> comme début de message" msgid "file to read from" msgstr "fichier d'où lire" -#: builtin/for-each-ref.c:979 +#: builtin/for-each-ref.c:995 msgid "git for-each-ref [options] [<pattern>]" msgstr "git for-each-ref [options] [<motif>]" -#: builtin/for-each-ref.c:994 +#: builtin/for-each-ref.c:1010 msgid "quote placeholders suitably for shells" msgstr "échapper les champs réservés pour les interpréteurs de commandes" -#: builtin/for-each-ref.c:996 +#: builtin/for-each-ref.c:1012 msgid "quote placeholders suitably for perl" msgstr "échapper les champs réservés pour perl" -#: builtin/for-each-ref.c:998 +#: builtin/for-each-ref.c:1014 msgid "quote placeholders suitably for python" msgstr "échapper les champs réservés pour python" -#: builtin/for-each-ref.c:1000 +#: builtin/for-each-ref.c:1016 msgid "quote placeholders suitably for tcl" msgstr "échapper les champs réservés pour tcl" -#: builtin/for-each-ref.c:1003 +#: builtin/for-each-ref.c:1019 msgid "show only <n> matched refs" msgstr "n'afficher que <n> références correspondant" -#: builtin/for-each-ref.c:1004 +#: builtin/for-each-ref.c:1020 msgid "format" msgstr "format" -#: builtin/for-each-ref.c:1004 +#: builtin/for-each-ref.c:1020 msgid "format to use for the output" msgstr "format à utiliser pour la sortie" -#: builtin/for-each-ref.c:1005 +#: builtin/for-each-ref.c:1021 msgid "key" msgstr "clé" -#: builtin/for-each-ref.c:1006 +#: builtin/for-each-ref.c:1022 msgid "field name to sort on" msgstr "nom du champ servant à trier" -#: builtin/fsck.c:608 +#: builtin/fsck.c:607 msgid "git fsck [options] [<object>...]" msgstr "git fsck [options] [<objet>...]" -#: builtin/fsck.c:614 +#: builtin/fsck.c:613 msgid "show unreachable objects" msgstr "afficher les objets inaccessibles" -#: builtin/fsck.c:615 +#: builtin/fsck.c:614 msgid "show dangling objects" msgstr "afficher les objets en suspens" -#: builtin/fsck.c:616 +#: builtin/fsck.c:615 msgid "report tags" msgstr "afficher les étiquettes" -#: builtin/fsck.c:617 +#: builtin/fsck.c:616 msgid "report root nodes" msgstr "signaler les nÅ“uds racines" -#: builtin/fsck.c:618 +#: builtin/fsck.c:617 msgid "make index objects head nodes" msgstr "considérer les objets de l'index comme nÅ“uds tête" # translated from man page -#: builtin/fsck.c:619 +#: builtin/fsck.c:618 msgid "make reflogs head nodes (default)" msgstr "considérer les reflogs comme nÅ“uds tête (par défaut)" -#: builtin/fsck.c:620 +#: builtin/fsck.c:619 msgid "also consider packs and alternate objects" msgstr "inspecter aussi les objets pack et alternatifs" -#: builtin/fsck.c:621 +#: builtin/fsck.c:620 msgid "enable more strict checking" msgstr "activer une vérification plus strict" -#: builtin/fsck.c:623 +#: builtin/fsck.c:622 msgid "write dangling objects in .git/lost-found" msgstr "écrire les objets en suspens dans .git/lost-found" -#: builtin/fsck.c:624 builtin/prune.c:134 +#: builtin/fsck.c:623 builtin/prune.c:134 msgid "show progress" msgstr "afficher la progression" -#: builtin/gc.c:22 +#: builtin/gc.c:23 msgid "git gc [options]" msgstr "git gc [options]" -#: builtin/gc.c:63 +#: builtin/gc.c:79 #, c-format msgid "Invalid %s: '%s'" msgstr "%s invalide : '%s'" -#: builtin/gc.c:90 +#: builtin/gc.c:106 #, c-format msgid "insanely long object directory %.*s" msgstr "objet répertoire démentiellement long %.*s" -#: builtin/gc.c:179 +#: builtin/gc.c:261 msgid "prune unreferenced objects" msgstr "éliminer les objets non référencés" -#: builtin/gc.c:181 +#: builtin/gc.c:263 msgid "be more thorough (increased runtime)" msgstr "être plus consciencieux (durée de traitement allongée)" -#: builtin/gc.c:182 +#: builtin/gc.c:264 msgid "enable auto-gc mode" msgstr "activer le mode auto-gc" -#: builtin/gc.c:222 +#: builtin/gc.c:265 +msgid "force running gc even if there may be another gc running" +msgstr "forcer le lancement du ramasse-miettes même si un autre ramasse-miettes tourne déjà " + +#: builtin/gc.c:305 #, c-format msgid "" "Auto packing the repository for optimum performance. You may also\n" @@ -5321,43 +5505,50 @@ msgstr "" "lancer \"git gc\" manuellement. Voir \"git help gc\" pour plus " "d'information.\n" -#: builtin/gc.c:249 +#. be quiet on --auto +#: builtin/gc.c:315 +#, c-format +msgid "" +"gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)" +msgstr "un ramasse-miettes est déjà en cours sur la machine '%s' pid %<PRIuMAX> (utilisez --force si ce n'est pas le cas)" + +#: builtin/gc.c:340 msgid "" "There are too many unreachable loose objects; run 'git prune' to remove them." msgstr "" "Il y a trop d'objets seuls inaccessibles ; lancez 'git prune' pour les " "supprimer." -#: builtin/grep.c:22 +#: builtin/grep.c:23 msgid "git grep [options] [-e] <pattern> [<rev>...] [[--] <path>...]" msgstr "git grep [options] [-e] <motif> [<révision>...] [[--] <chemin>...]" -#: builtin/grep.c:217 +#: builtin/grep.c:218 #, c-format msgid "grep: failed to create thread: %s" msgstr "grep : échec de création du fil: %s" -#: builtin/grep.c:364 +#: builtin/grep.c:365 #, c-format msgid "Failed to chdir: %s" msgstr "Échec de chdir: %s" -#: builtin/grep.c:442 builtin/grep.c:477 +#: builtin/grep.c:443 builtin/grep.c:478 #, c-format msgid "unable to read tree (%s)" msgstr "impossible de lire l'arbre (%s)" -#: builtin/grep.c:492 +#: builtin/grep.c:493 #, c-format msgid "unable to grep from object of type %s" msgstr "impossible de faire un grep sur un objet de type %s" -#: builtin/grep.c:550 +#: builtin/grep.c:551 #, c-format msgid "switch `%c' expects a numerical value" msgstr "l'option '%c' attend un valeur numérique" -#: builtin/grep.c:567 +#: builtin/grep.c:568 #, c-format msgid "cannot open '%s'" msgstr "impossible d'ouvrir '%s'" @@ -5399,167 +5590,171 @@ msgid "don't match patterns in binary files" msgstr "ne pas chercher les motifs dans les fichiers binaires" #: builtin/grep.c:662 +msgid "process binary files with textconv filters" +msgstr "traiter les fichiers binaires avec les filtres textconv" + +#: builtin/grep.c:664 msgid "descend at most <depth> levels" msgstr "descendre au plus de <profondeur> dans l'arborescence" -#: builtin/grep.c:666 +#: builtin/grep.c:668 msgid "use extended POSIX regular expressions" msgstr "utiliser des expressions régulières étendues POSIX" -#: builtin/grep.c:669 +#: builtin/grep.c:671 msgid "use basic POSIX regular expressions (default)" msgstr "utiliser des expressions régulières basiques POSIX (par défaut)" -#: builtin/grep.c:672 +#: builtin/grep.c:674 msgid "interpret patterns as fixed strings" msgstr "interpréter les motifs comme de chaînes fixes" -#: builtin/grep.c:675 +#: builtin/grep.c:677 msgid "use Perl-compatible regular expressions" msgstr "utiliser des expressions régulières compatibles avec Perl" -#: builtin/grep.c:678 +#: builtin/grep.c:680 msgid "show line numbers" msgstr "afficher les numéros de ligne" -#: builtin/grep.c:679 +#: builtin/grep.c:681 msgid "don't show filenames" msgstr "ne pas pas afficher les noms de fichier" -#: builtin/grep.c:680 +#: builtin/grep.c:682 msgid "show filenames" msgstr "afficher les noms de fichier" -#: builtin/grep.c:682 +#: builtin/grep.c:684 msgid "show filenames relative to top directory" msgstr "afficher les noms de fichiers relativement au répertoire de base" -#: builtin/grep.c:684 +#: builtin/grep.c:686 msgid "show only filenames instead of matching lines" msgstr "n'afficher que les noms de fichiers au lieu des lignes correspondant" -#: builtin/grep.c:686 +#: builtin/grep.c:688 msgid "synonym for --files-with-matches" msgstr "synonyme pour --files-with-matches" -#: builtin/grep.c:689 +#: builtin/grep.c:691 msgid "show only the names of files without match" msgstr "n'afficher que les noms des fichiers sans correspondance" -#: builtin/grep.c:691 +#: builtin/grep.c:693 msgid "print NUL after filenames" msgstr "imprimer une caractère NUL après le noms de fichier" -#: builtin/grep.c:693 +#: builtin/grep.c:695 msgid "show the number of matches instead of matching lines" msgstr "afficher le nombre de correspondances au lieu des lignes correspondant" -#: builtin/grep.c:694 +#: builtin/grep.c:696 msgid "highlight matches" msgstr "mettre en évidence les correspondances" -#: builtin/grep.c:696 +#: builtin/grep.c:698 msgid "print empty line between matches from different files" msgstr "" "imprimer une ligne vide entre les correspondances de fichiers différents" -#: builtin/grep.c:698 +#: builtin/grep.c:700 msgid "show filename only once above matches from same file" msgstr "" "afficher le nom de fichier une fois au dessus des correspondances du même " "fichier" -#: builtin/grep.c:701 +#: builtin/grep.c:703 msgid "show <n> context lines before and after matches" msgstr "afficher <n> lignes de contexte avant et après les correspondances" -#: builtin/grep.c:704 +#: builtin/grep.c:706 msgid "show <n> context lines before matches" msgstr "afficher <n> lignes de contexte avant les correspondances" -#: builtin/grep.c:706 +#: builtin/grep.c:708 msgid "show <n> context lines after matches" msgstr "afficher <n> lignes de contexte après les correspondances" -#: builtin/grep.c:707 +#: builtin/grep.c:709 msgid "shortcut for -C NUM" msgstr "raccourci pour -C NUM" -#: builtin/grep.c:710 +#: builtin/grep.c:712 msgid "show a line with the function name before matches" msgstr "" "afficher une ligne avec le nom de la fonction avant les correspondances" -#: builtin/grep.c:712 +#: builtin/grep.c:714 msgid "show the surrounding function" msgstr "afficher la fonction contenante" -#: builtin/grep.c:715 +#: builtin/grep.c:717 msgid "read patterns from file" msgstr "lire les motifs depuis fichier" -#: builtin/grep.c:717 +#: builtin/grep.c:719 msgid "match <pattern>" msgstr "rechercher <motif>" -#: builtin/grep.c:719 +#: builtin/grep.c:721 msgid "combine patterns specified with -e" msgstr "combiner les motifs spécifiés par -e" -#: builtin/grep.c:731 +#: builtin/grep.c:733 msgid "indicate hit with exit status without output" msgstr "" "indiquer des correspondances avec le code de sortie mais sans rien afficher" -#: builtin/grep.c:733 +#: builtin/grep.c:735 msgid "show only matches from files that match all patterns" msgstr "" "n'afficher que les correspondances de fichiers qui correspondent à tous les " "motifs" -#: builtin/grep.c:735 +#: builtin/grep.c:737 msgid "show parse tree for grep expression" msgstr "afficher l'arbre d'analyse pour le motif grep" -#: builtin/grep.c:739 +#: builtin/grep.c:741 msgid "pager" msgstr "pagineur" -#: builtin/grep.c:739 +#: builtin/grep.c:741 msgid "show matching files in the pager" msgstr "afficher les fichiers correspondant dans le pagineur" -#: builtin/grep.c:742 +#: builtin/grep.c:744 msgid "allow calling of grep(1) (ignored by this build)" msgstr "permettre l'appel de grep(1) (ignoré par ce build)" -#: builtin/grep.c:743 builtin/show-ref.c:188 +#: builtin/grep.c:745 builtin/show-ref.c:187 msgid "show usage" msgstr "afficher l'usage" -#: builtin/grep.c:810 +#: builtin/grep.c:812 msgid "no pattern given." msgstr "aucun motif fourni." -#: builtin/grep.c:865 +#: builtin/grep.c:870 msgid "--open-files-in-pager only works on the worktree" msgstr "--open-files-in-pager ne fonctionne que sur la copie de travail" -#: builtin/grep.c:888 +#: builtin/grep.c:893 msgid "--cached or --untracked cannot be used with --no-index." msgstr "--cached ou --untracked ne peuvent pas être utilisés avec --no-index." -#: builtin/grep.c:893 +#: builtin/grep.c:898 msgid "--no-index or --untracked cannot be used with revs." msgstr "" "--no-index ou --untracked ne peuvent pas être utilisés avec des révisions." -#: builtin/grep.c:896 +#: builtin/grep.c:901 msgid "--[no-]exclude-standard cannot be used for tracked contents." msgstr "" "--[no-]exclude-standard ne peut pas être utilisé avec du contenu suivi." -#: builtin/grep.c:904 +#: builtin/grep.c:909 msgid "both --cached and trees are given." msgstr "--cached et des arbres sont fournis en même temps." @@ -5815,8 +6010,8 @@ msgstr "grave incohérence dans la décompression (inflate)" msgid "SHA1 COLLISION FOUND WITH %s !" msgstr "COLLISION SHA1 TROUVÉE AVEC %s !" -#: builtin/index-pack.c:669 builtin/pack-objects.c:170 -#: builtin/pack-objects.c:262 +#: builtin/index-pack.c:669 builtin/pack-objects.c:171 +#: builtin/pack-objects.c:263 #, c-format msgid "unable to read %s" msgstr "impossible de lire %s" @@ -5845,156 +6040,156 @@ msgstr "Erreur dans l'objet" msgid "Not all child objects of %s are reachable" msgstr "Tous les objets enfants de %s ne sont pas accessibles" -#: builtin/index-pack.c:838 builtin/index-pack.c:868 +#: builtin/index-pack.c:839 builtin/index-pack.c:869 msgid "failed to apply delta" msgstr "échec d'application du delta" -#: builtin/index-pack.c:1009 +#: builtin/index-pack.c:1010 msgid "Receiving objects" msgstr "Réception d'objets" -#: builtin/index-pack.c:1009 +#: builtin/index-pack.c:1010 msgid "Indexing objects" msgstr "Indexation d'objets" -#: builtin/index-pack.c:1035 +#: builtin/index-pack.c:1036 msgid "pack is corrupted (SHA1 mismatch)" msgstr "le paquet est corrompu (SHA1 ne correspond pas)" -#: builtin/index-pack.c:1040 +#: builtin/index-pack.c:1041 msgid "cannot fstat packfile" msgstr "impossible d'obtenir le statut (fstat) du fichier paquet" -#: builtin/index-pack.c:1043 +#: builtin/index-pack.c:1044 msgid "pack has junk at the end" msgstr "le paquet est invalide à la fin" -#: builtin/index-pack.c:1054 +#: builtin/index-pack.c:1055 msgid "confusion beyond insanity in parse_pack_objects()" msgstr "confusion extrême dans parse_pack_objects()" -#: builtin/index-pack.c:1077 +#: builtin/index-pack.c:1078 msgid "Resolving deltas" msgstr "Résolution des deltas" -#: builtin/index-pack.c:1087 +#: builtin/index-pack.c:1088 #, c-format msgid "unable to create thread: %s" msgstr "impossible de créer le fil : %s" -#: builtin/index-pack.c:1129 +#: builtin/index-pack.c:1130 msgid "confusion beyond insanity" msgstr "confusion extrême" -#: builtin/index-pack.c:1137 +#: builtin/index-pack.c:1138 #, c-format msgid "completed with %d local objects" msgstr "complété avec %d objets locaux" -#: builtin/index-pack.c:1147 +#: builtin/index-pack.c:1148 #, c-format msgid "Unexpected tail checksum for %s (disk corruption?)" msgstr "" "Somme de contrôle de fin inattendue pour %s (corruption sur le disque ?)" -#: builtin/index-pack.c:1151 +#: builtin/index-pack.c:1152 #, c-format msgid "pack has %d unresolved delta" msgid_plural "pack has %d unresolved deltas" msgstr[0] "le paquet a %d delta non résolu" msgstr[1] "le paquet a %d deltas non résolus" -#: builtin/index-pack.c:1176 +#: builtin/index-pack.c:1177 #, c-format msgid "unable to deflate appended object (%d)" msgstr "impossible de compresser l'objet ajouté (%d)" -#: builtin/index-pack.c:1255 +#: builtin/index-pack.c:1256 #, c-format msgid "local object %s is corrupt" msgstr "l'objet local %s est corrompu" -#: builtin/index-pack.c:1279 +#: builtin/index-pack.c:1280 msgid "error while closing pack file" msgstr "erreur en fermeture du fichier paquet" -#: builtin/index-pack.c:1292 +#: builtin/index-pack.c:1293 #, c-format msgid "cannot write keep file '%s'" msgstr "impossible d'écrire le fichier \"keep\" '%s'" -#: builtin/index-pack.c:1300 +#: builtin/index-pack.c:1301 #, c-format msgid "cannot close written keep file '%s'" msgstr "impossible de fermer le fichier \"keep\" '%s'" -#: builtin/index-pack.c:1313 +#: builtin/index-pack.c:1314 msgid "cannot store pack file" msgstr "impossible de stocker le fichier paquet" -#: builtin/index-pack.c:1324 +#: builtin/index-pack.c:1325 msgid "cannot store index file" msgstr "impossible de stocker le fichier d'index" -#: builtin/index-pack.c:1357 +#: builtin/index-pack.c:1358 #, c-format msgid "bad pack.indexversion=%<PRIu32>" msgstr "mauvais pack.indexversion=%<PRIu32>" -#: builtin/index-pack.c:1363 +#: builtin/index-pack.c:1364 #, c-format msgid "invalid number of threads specified (%d)" msgstr "nombre de fils spécifié invalide (%d)" -#: builtin/index-pack.c:1367 builtin/index-pack.c:1545 +#: builtin/index-pack.c:1368 builtin/index-pack.c:1546 #, c-format msgid "no threads support, ignoring %s" msgstr "pas de support des fils, ignore %s" -#: builtin/index-pack.c:1425 +#: builtin/index-pack.c:1426 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "Impossible d'ouvrir le fichier paquet existant '%s'" -#: builtin/index-pack.c:1427 +#: builtin/index-pack.c:1428 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "Impossible d'ouvrir le fichier paquet d'index existant pour '%s'" -#: builtin/index-pack.c:1474 +#: builtin/index-pack.c:1475 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" msgstr[0] "pas un delta : %d objet" msgstr[1] "pas un delta : %d objets" -#: builtin/index-pack.c:1481 +#: builtin/index-pack.c:1482 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" msgstr[0] "longueur chaînée = %d : %lu objet" msgstr[1] "longueur chaînée = %d : %lu objets" -#: builtin/index-pack.c:1509 +#: builtin/index-pack.c:1510 msgid "Cannot come back to cwd" msgstr "Impossible de revenir au répertoire de travail courant" -#: builtin/index-pack.c:1557 builtin/index-pack.c:1560 -#: builtin/index-pack.c:1572 builtin/index-pack.c:1576 +#: builtin/index-pack.c:1558 builtin/index-pack.c:1561 +#: builtin/index-pack.c:1573 builtin/index-pack.c:1577 #, c-format msgid "bad %s" msgstr "mauvais %s" -#: builtin/index-pack.c:1590 +#: builtin/index-pack.c:1591 msgid "--fix-thin cannot be used without --stdin" msgstr "--fix-thin ne peut pas être utilisé sans --stdin" -#: builtin/index-pack.c:1594 builtin/index-pack.c:1604 +#: builtin/index-pack.c:1595 builtin/index-pack.c:1605 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "le nom de fichier paquet '%s' ne se termine pas par '.pack'" -#: builtin/index-pack.c:1613 +#: builtin/index-pack.c:1614 msgid "--verify with no packfile name given" msgstr "--verify sans nom de fichier paquet donné" @@ -6084,11 +6279,6 @@ msgstr "impossible de traiter le fichier de type %d" msgid "unable to move %s to %s" msgstr "impossible de déplacer %s vers %s" -#: builtin/init-db.c:363 -#, c-format -msgid "Could not create git link %s" -msgstr "Impossible de créer le lien git %s" - #. #. * TRANSLATORS: The first '%s' is either "Reinitialized #. * existing" or "Initialized empty", the second " shared" or @@ -6131,7 +6321,7 @@ msgstr "permissions" msgid "specify that the git repository is to be shared amongst several users" msgstr "spécifier que le dépôt git sera partagé entre plusieurs utilisateurs" -#: builtin/init-db.c:493 builtin/prune-packed.c:75 +#: builtin/init-db.c:493 builtin/prune-packed.c:75 builtin/repack.c:155 msgid "be quiet" msgstr "être silencieux" @@ -6171,248 +6361,248 @@ msgstr "git log [<options>] [<page de révisions>] [[--] <chemin>...]\n" msgid " or: git show [options] <object>..." msgstr " ou : git show [options] <objet>..." -#: builtin/log.c:124 +#: builtin/log.c:125 msgid "suppress diff output" msgstr "supprimer la sortie des différences" -#: builtin/log.c:125 +#: builtin/log.c:126 msgid "show source" msgstr "afficher la source" -#: builtin/log.c:126 +#: builtin/log.c:127 msgid "Use mail map file" msgstr "Utiliser le fichier de correspondance de mail" -#: builtin/log.c:127 +#: builtin/log.c:128 msgid "decorate options" msgstr "décorer les options" -#: builtin/log.c:230 +#: builtin/log.c:231 #, c-format msgid "Final output: %d %s\n" msgstr "Sortie finale : %d %s\n" -#: builtin/log.c:453 builtin/log.c:545 +#: builtin/log.c:473 builtin/log.c:565 #, c-format msgid "Could not read object %s" msgstr "Impossible de lire l'objet %s" -#: builtin/log.c:569 +#: builtin/log.c:589 #, c-format msgid "Unknown type: %d" msgstr "Type inconnu : %d" -#: builtin/log.c:669 +#: builtin/log.c:689 msgid "format.headers without value" msgstr "format.headers sans valeur" -#: builtin/log.c:751 +#: builtin/log.c:771 msgid "name of output directory is too long" msgstr "le nom du répertoire de sortie est trop long" -#: builtin/log.c:767 +#: builtin/log.c:787 #, c-format msgid "Cannot open patch file %s" msgstr "Impossible d'ouvrir le fichier correctif %s" -#: builtin/log.c:781 +#: builtin/log.c:801 msgid "Need exactly one range." msgstr "Exactement une plage nécessaire." -#: builtin/log.c:789 +#: builtin/log.c:809 msgid "Not a range." msgstr "Pas une plage." -#: builtin/log.c:891 +#: builtin/log.c:911 msgid "Cover letter needs email format" msgstr "La lettre de motivation doit être au format e-mail" -#: builtin/log.c:967 +#: builtin/log.c:987 #, c-format msgid "insane in-reply-to: %s" msgstr "in-reply-to aberrant : %s" -#: builtin/log.c:995 +#: builtin/log.c:1015 msgid "git format-patch [options] [<since> | <revision range>]" msgstr "git format-patch [options] [<depuis> | <plage de révisions>]" -#: builtin/log.c:1040 +#: builtin/log.c:1060 msgid "Two output directories?" msgstr "Deux répertoires de sortie ?" -#: builtin/log.c:1155 +#: builtin/log.c:1175 msgid "use [PATCH n/m] even with a single patch" msgstr "utiliser [PATCH n/m] même avec un patch unique" -#: builtin/log.c:1158 +#: builtin/log.c:1178 msgid "use [PATCH] even with multiple patches" msgstr "utiliser [PATCH] même avec des patchs multiples" -#: builtin/log.c:1162 +#: builtin/log.c:1182 msgid "print patches to standard out" msgstr "afficher les patchs sur la sortie standard" -#: builtin/log.c:1164 +#: builtin/log.c:1184 msgid "generate a cover letter" msgstr "générer une lettre de motivation" -#: builtin/log.c:1166 +#: builtin/log.c:1186 msgid "use simple number sequence for output file names" msgstr "" "utiliser une séquence simple de nombres pour les nom des fichiers de sortie" -#: builtin/log.c:1167 +#: builtin/log.c:1187 msgid "sfx" msgstr "sfx" -#: builtin/log.c:1168 +#: builtin/log.c:1188 msgid "use <sfx> instead of '.patch'" msgstr "utiliser <sfx> au lieu de '.patch'" -#: builtin/log.c:1170 +#: builtin/log.c:1190 msgid "start numbering patches at <n> instead of 1" msgstr "démarrer la numérotation des patchs à <n> au lieu de 1" -#: builtin/log.c:1172 +#: builtin/log.c:1192 msgid "mark the series as Nth re-roll" msgstr "marquer la série comme une Nième réédition" -#: builtin/log.c:1174 +#: builtin/log.c:1194 msgid "Use [<prefix>] instead of [PATCH]" msgstr "utiliser [<préfixe>] au lieu de [PATCH]" -#: builtin/log.c:1177 +#: builtin/log.c:1197 msgid "store resulting files in <dir>" msgstr "stocker les fichiers résultats dans <répertoire>" -#: builtin/log.c:1180 +#: builtin/log.c:1200 msgid "don't strip/add [PATCH]" msgstr "ne pas retirer/ajouter [PATCH]" -#: builtin/log.c:1183 +#: builtin/log.c:1203 msgid "don't output binary diffs" msgstr "ne pas imprimer les diffs binaires" -#: builtin/log.c:1185 +#: builtin/log.c:1205 msgid "don't include a patch matching a commit upstream" msgstr "ne pas inclure un patch correspondant à un commit amont" -#: builtin/log.c:1187 +#: builtin/log.c:1207 msgid "show patch format instead of default (patch + stat)" msgstr "afficher le format du patch au lieu du défaut (patch + stat)" -#: builtin/log.c:1189 +#: builtin/log.c:1209 msgid "Messaging" msgstr "Communication" -#: builtin/log.c:1190 +#: builtin/log.c:1210 msgid "header" msgstr "en-tête" -#: builtin/log.c:1191 +#: builtin/log.c:1211 msgid "add email header" msgstr "ajouter l'en-tête d'e-mail" -#: builtin/log.c:1192 builtin/log.c:1194 +#: builtin/log.c:1212 builtin/log.c:1214 msgid "email" msgstr "e-mail" -#: builtin/log.c:1192 +#: builtin/log.c:1212 msgid "add To: header" msgstr "ajouter l'en-tête \"To:\"" -#: builtin/log.c:1194 +#: builtin/log.c:1214 msgid "add Cc: header" msgstr "ajouter l'en-tête \"Cc:\"" -#: builtin/log.c:1196 +#: builtin/log.c:1216 msgid "ident" msgstr "ident" -#: builtin/log.c:1197 +#: builtin/log.c:1217 msgid "set From address to <ident> (or committer ident if absent)" -msgstr "Renseigner l'adresse From à <ident> (ou à l'ident du validateur si absent)" +msgstr "renseigner l'adresse From à <ident> (ou à l'ident du validateur si absent)" -#: builtin/log.c:1199 +#: builtin/log.c:1219 msgid "message-id" msgstr "id-message" -#: builtin/log.c:1200 +#: builtin/log.c:1220 msgid "make first mail a reply to <message-id>" msgstr "répondre dans le premier message à <id-message>" -#: builtin/log.c:1201 builtin/log.c:1204 +#: builtin/log.c:1221 builtin/log.c:1224 msgid "boundary" msgstr "frontière" -#: builtin/log.c:1202 +#: builtin/log.c:1222 msgid "attach the patch" msgstr "attacher le patch" -#: builtin/log.c:1205 +#: builtin/log.c:1225 msgid "inline the patch" msgstr "patch à l'intérieur" -#: builtin/log.c:1209 +#: builtin/log.c:1229 msgid "enable message threading, styles: shallow, deep" msgstr "" "activer l'enfilage de message, styles : shallow (superficiel), deep (profond)" -#: builtin/log.c:1211 +#: builtin/log.c:1231 msgid "signature" msgstr "signature" -#: builtin/log.c:1212 +#: builtin/log.c:1232 msgid "add a signature" msgstr "ajouter une signature" -#: builtin/log.c:1214 +#: builtin/log.c:1233 msgid "don't print the patch filenames" msgstr "ne pas afficher les noms de fichiers des patchs" -#: builtin/log.c:1288 +#: builtin/log.c:1307 #, c-format msgid "invalid ident line: %s" msgstr "ligne d'identification invalide : %s" -#: builtin/log.c:1303 +#: builtin/log.c:1322 msgid "-n and -k are mutually exclusive." msgstr "-n et -k sont mutuellement exclusifs." -#: builtin/log.c:1305 +#: builtin/log.c:1324 msgid "--subject-prefix and -k are mutually exclusive." msgstr "--subject-prefix et -k sont mutuellement exclusifs." -#: builtin/log.c:1313 +#: builtin/log.c:1332 msgid "--name-only does not make sense" msgstr "--name-only n'a pas de sens" -#: builtin/log.c:1315 +#: builtin/log.c:1334 msgid "--name-status does not make sense" msgstr "--name-status n'a pas de sens" -#: builtin/log.c:1317 +#: builtin/log.c:1336 msgid "--check does not make sense" msgstr "--check n'a pas de sens" -#: builtin/log.c:1340 +#: builtin/log.c:1359 msgid "standard output, or directory, which one?" msgstr "sortie standard, ou répertoire, lequel ?" -#: builtin/log.c:1342 +#: builtin/log.c:1361 #, c-format msgid "Could not create directory '%s'" msgstr "Impossible de créer le répertoire '%s'" -#: builtin/log.c:1490 +#: builtin/log.c:1509 msgid "Failed to create output files" msgstr "Échec de création des fichiers en sortie" -#: builtin/log.c:1539 +#: builtin/log.c:1558 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" msgstr "git cherry [-v] [<branche_amont> [<head> [<limite>]]]" -#: builtin/log.c:1594 +#: builtin/log.c:1613 #, c-format msgid "" "Could not find a tracked remote branch, please specify <upstream> manually.\n" @@ -6420,139 +6610,139 @@ msgstr "" "Impossible de trouver une branche distante suivie, merci de spécifier " "<branche_amont> manuellement.\n" -#: builtin/log.c:1607 builtin/log.c:1609 builtin/log.c:1621 +#: builtin/log.c:1626 builtin/log.c:1628 builtin/log.c:1640 #, c-format msgid "Unknown commit %s" msgstr "Commit inconnu %s" -#: builtin/ls-files.c:408 +#: builtin/ls-files.c:398 msgid "git ls-files [options] [<file>...]" msgstr "git ls-files [options] [<fichier>...]" -#: builtin/ls-files.c:465 +#: builtin/ls-files.c:455 msgid "identify the file status with tags" msgstr "identifier le statut de fichier avec les étiquettes" -#: builtin/ls-files.c:467 +#: builtin/ls-files.c:457 msgid "use lowercase letters for 'assume unchanged' files" msgstr "utiliser des minuscules pour les fichier 'assumés inchangés'" -#: builtin/ls-files.c:469 +#: builtin/ls-files.c:459 msgid "show cached files in the output (default)" msgstr "afficher les fichiers mis en cache dans la sortie (défaut)" -#: builtin/ls-files.c:471 +#: builtin/ls-files.c:461 msgid "show deleted files in the output" msgstr "afficher les fichiers supprimés dans la sortie" -#: builtin/ls-files.c:473 +#: builtin/ls-files.c:463 msgid "show modified files in the output" msgstr "afficher les fichiers modifiés dans la sortie" -#: builtin/ls-files.c:475 +#: builtin/ls-files.c:465 msgid "show other files in the output" msgstr "afficher les autres fichiers dans la sortie" -#: builtin/ls-files.c:477 +#: builtin/ls-files.c:467 msgid "show ignored files in the output" msgstr "afficher les fichiers ignorés dans la sortie" -#: builtin/ls-files.c:480 +#: builtin/ls-files.c:470 msgid "show staged contents' object name in the output" msgstr "afficher les nom des objets indexés dans la sortie" -#: builtin/ls-files.c:482 +#: builtin/ls-files.c:472 msgid "show files on the filesystem that need to be removed" msgstr "" "afficher les fichiers du système de fichiers qui ont besoin d'être supprimés" -#: builtin/ls-files.c:484 +#: builtin/ls-files.c:474 msgid "show 'other' directories' name only" msgstr "afficher seulement les noms des répertoires 'other'" -#: builtin/ls-files.c:487 +#: builtin/ls-files.c:477 msgid "don't show empty directories" msgstr "ne pas afficher les répertoires vides" -#: builtin/ls-files.c:490 +#: builtin/ls-files.c:480 msgid "show unmerged files in the output" msgstr "afficher les fichiers non fusionnés dans la sortie" -#: builtin/ls-files.c:492 +#: builtin/ls-files.c:482 msgid "show resolve-undo information" msgstr "afficher l'information resolv-undo" -#: builtin/ls-files.c:494 +#: builtin/ls-files.c:484 msgid "skip files matching pattern" msgstr "sauter les fichiers correspondant au motif" -#: builtin/ls-files.c:497 +#: builtin/ls-files.c:487 msgid "exclude patterns are read from <file>" msgstr "les motifs d'exclusion sont lus depuis <fichier>" -#: builtin/ls-files.c:500 +#: builtin/ls-files.c:490 msgid "read additional per-directory exclude patterns in <file>" msgstr "lire des motifs d'exclusion additionnels par répertoire dans <fichier>" -#: builtin/ls-files.c:502 +#: builtin/ls-files.c:492 msgid "add the standard git exclusions" msgstr "ajouter les exclusions git standard" -#: builtin/ls-files.c:505 +#: builtin/ls-files.c:495 msgid "make the output relative to the project top directory" msgstr "afficher en relatif par rapport au répertoire racine du projet" -#: builtin/ls-files.c:508 +#: builtin/ls-files.c:498 msgid "if any <file> is not in the index, treat this as an error" msgstr "si un <fichier> n'est pas dans l'index, traiter cela comme une erreur" -#: builtin/ls-files.c:509 +#: builtin/ls-files.c:499 msgid "tree-ish" msgstr "arbre ou apparenté" -#: builtin/ls-files.c:510 +#: builtin/ls-files.c:500 msgid "pretend that paths removed since <tree-ish> are still present" msgstr "" "considérer que les chemins supprimés depuis <arbre ou apparenté> sont " "toujours présents" -#: builtin/ls-files.c:512 +#: builtin/ls-files.c:502 msgid "show debugging data" msgstr "afficher les données de débogage" -#: builtin/ls-tree.c:27 +#: builtin/ls-tree.c:28 msgid "git ls-tree [<options>] <tree-ish> [<path>...]" msgstr "git ls-tree [<options>] <arbre ou apparenté> [<chemin>...]" -#: builtin/ls-tree.c:125 +#: builtin/ls-tree.c:126 msgid "only show trees" msgstr "afficher seulement les arbres" -#: builtin/ls-tree.c:127 +#: builtin/ls-tree.c:128 msgid "recurse into subtrees" msgstr "parcourir les sous-arbres" -#: builtin/ls-tree.c:129 +#: builtin/ls-tree.c:130 msgid "show trees when recursing" msgstr "afficher les arbres en les parcourant" -#: builtin/ls-tree.c:132 +#: builtin/ls-tree.c:133 msgid "terminate entries with NUL byte" msgstr "terminer les éléments avec un octet NUL" -#: builtin/ls-tree.c:133 +#: builtin/ls-tree.c:134 msgid "include object size" msgstr "inclure la taille d'objet" -#: builtin/ls-tree.c:135 builtin/ls-tree.c:137 +#: builtin/ls-tree.c:136 builtin/ls-tree.c:138 msgid "list only filenames" msgstr "afficher seulement les noms de fichiers" -#: builtin/ls-tree.c:140 +#: builtin/ls-tree.c:141 msgid "use full path names" msgstr "utiliser les noms de chemins complets" -#: builtin/ls-tree.c:142 +#: builtin/ls-tree.c:143 msgid "list entire tree; not just current directory (implies --full-name)" msgstr "" "afficher l'arbre entier ; pas seulement le répertoire courant (implique --" @@ -6631,7 +6821,7 @@ msgstr "abandonner si l'avance rapide n'est pas possible" msgid "Verify that the named commit has a valid GPG signature" msgstr "Vérifier que la validation a une signature GPG valide" -#: builtin/merge.c:219 builtin/notes.c:738 builtin/revert.c:114 +#: builtin/merge.c:219 builtin/notes.c:738 builtin/revert.c:89 msgid "strategy" msgstr "stratégie" @@ -7004,76 +7194,85 @@ msgstr "autoriser les objets manquants" msgid "allow creation of more than one tree" msgstr "autoriser la création de plus d'un arbre" -#: builtin/mv.c:14 +#: builtin/mv.c:15 msgid "git mv [options] <source>... <destination>" msgstr "git mv [options] <source>... <destination>" -#: builtin/mv.c:64 +#: builtin/mv.c:67 msgid "force move/rename even if target exists" msgstr "forcer le déplacement/renommage même si la cible existe" -#: builtin/mv.c:65 +#: builtin/mv.c:68 msgid "skip move/rename errors" msgstr "sauter les erreurs de déplacement/renommage" -#: builtin/mv.c:108 +#: builtin/mv.c:113 #, c-format msgid "Checking rename of '%s' to '%s'\n" msgstr "Vérification du renommage de '%s' en '%s'\n" -#: builtin/mv.c:112 +#: builtin/mv.c:117 msgid "bad source" msgstr "mauvaise source" -#: builtin/mv.c:115 +#: builtin/mv.c:120 msgid "can not move directory into itself" msgstr "impossible de déplacer un répertoire dans lui-même" -#: builtin/mv.c:118 +#: builtin/mv.c:123 msgid "cannot move directory over file" msgstr "impossible de déplacer un répertoire sur un fichier" -#: builtin/mv.c:128 +#: builtin/mv.c:129 +#, c-format +msgid "Huh? Directory %s is in index and no submodule?" +msgstr "Hein ? Le répertoire %s est dans l'index et pourtant aucun sous-module ?" + +#: builtin/mv.c:131 builtin/rm.c:318 +msgid "Please, stage your changes to .gitmodules or stash them to proceed" +msgstr "Veuillez indexer vos modifications de .gitmodules ou remisez-les pour continuer" + +#: builtin/mv.c:147 #, c-format msgid "Huh? %.*s is in index?" msgstr "Hein ? %.*s est dans l'index ?" -#: builtin/mv.c:140 +#: builtin/mv.c:159 msgid "source directory is empty" msgstr "le répertoire source est vide" -#: builtin/mv.c:171 +#: builtin/mv.c:191 msgid "not under version control" msgstr "pas sous le contrôle de version" -#: builtin/mv.c:173 +#: builtin/mv.c:193 msgid "destination exists" msgstr "la destination existe" -#: builtin/mv.c:181 +#: builtin/mv.c:201 #, c-format msgid "overwriting '%s'" msgstr "écrasement de '%s'" -#: builtin/mv.c:184 +#: builtin/mv.c:204 msgid "Cannot overwrite" msgstr "Impossible d'écraser" -#: builtin/mv.c:187 +#: builtin/mv.c:207 msgid "multiple sources for the same target" msgstr "multiples sources pour la même destination" -#: builtin/mv.c:202 +#: builtin/mv.c:222 #, c-format msgid "%s, source=%s, destination=%s" msgstr "%s, source=%s, destination=%s" -#: builtin/mv.c:212 +#: builtin/mv.c:232 #, c-format msgid "Renaming %s to %s\n" msgstr "Renommage de %s en %s\n" -#: builtin/mv.c:215 builtin/remote.c:731 +#: builtin/mv.c:235 builtin/remote.c:731 builtin/repack.c:330 #, c-format msgid "renaming '%s' failed" msgstr "le renommage de '%s' a échoué" @@ -7112,8 +7311,8 @@ msgid "read from stdin" msgstr "lire depuis l'entrée standard" #: builtin/name-rev.c:320 -msgid "allow to print `undefined` names" -msgstr "autoriser l'affichage des noms `non définis`" +msgid "allow to print `undefined` names (default)" +msgstr "autoriser l'affichage des noms `non définis` (par défaut)" #: builtin/name-rev.c:326 msgid "dereference tags in the input (internal use)" @@ -7268,12 +7467,12 @@ msgstr "impossible d'écrire l'objet note" msgid "The note contents has been left in %s" msgstr "Le contenu de la note a été laissé dans %s" -#: builtin/notes.c:248 builtin/tag.c:540 +#: builtin/notes.c:248 builtin/tag.c:537 #, c-format msgid "cannot read '%s'" msgstr "impossible de lire '%s'" -#: builtin/notes.c:250 builtin/tag.c:543 +#: builtin/notes.c:250 builtin/tag.c:540 #, c-format msgid "could not open or read '%s'" msgstr "impossible d'ouvrir ou lire '%s'" @@ -7281,7 +7480,7 @@ msgstr "impossible d'ouvrir ou lire '%s'" #: builtin/notes.c:269 builtin/notes.c:316 builtin/notes.c:318 #: builtin/notes.c:378 builtin/notes.c:432 builtin/notes.c:515 #: builtin/notes.c:520 builtin/notes.c:595 builtin/notes.c:637 -#: builtin/notes.c:839 builtin/tag.c:556 +#: builtin/notes.c:839 builtin/tag.c:553 #, c-format msgid "Failed to resolve '%s' as a valid ref." msgstr "Impossible de résoudre '%s' comme une référence valide." @@ -7456,154 +7655,154 @@ msgid "git pack-objects [options...] base-name [< ref-list | < object-list]" msgstr "" "git pack-objects [options...] base-name [< liste-références | < liste-objets]" -#: builtin/pack-objects.c:183 builtin/pack-objects.c:186 +#: builtin/pack-objects.c:184 builtin/pack-objects.c:187 #, c-format msgid "deflate error (%d)" msgstr "erreur de compression (%d)" -#: builtin/pack-objects.c:2397 +#: builtin/pack-objects.c:2398 #, c-format msgid "unsupported index version %s" msgstr "version d'index non supportée %s" -#: builtin/pack-objects.c:2401 +#: builtin/pack-objects.c:2402 #, c-format msgid "bad index version '%s'" msgstr "mauvaise version d'index '%s'" -#: builtin/pack-objects.c:2424 +#: builtin/pack-objects.c:2425 #, c-format msgid "option %s does not accept negative form" msgstr "l'option %s n'accepte pas de valeur négative" -#: builtin/pack-objects.c:2428 +#: builtin/pack-objects.c:2429 #, c-format msgid "unable to parse value '%s' for option %s" msgstr "impossible d'analyser la valeur '%s' pour l'option %s" -#: builtin/pack-objects.c:2447 +#: builtin/pack-objects.c:2448 msgid "do not show progress meter" msgstr "ne pas afficher la barre de progression" -#: builtin/pack-objects.c:2449 +#: builtin/pack-objects.c:2450 msgid "show progress meter" msgstr "afficher la barre de progression" -#: builtin/pack-objects.c:2451 +#: builtin/pack-objects.c:2452 msgid "show progress meter during object writing phase" msgstr "afficher la barre de progression durant la phase d'écrite des objets" -#: builtin/pack-objects.c:2454 +#: builtin/pack-objects.c:2455 msgid "similar to --all-progress when progress meter is shown" msgstr "similaire à --all-progress quand la barre de progression est affichée" -#: builtin/pack-objects.c:2455 +#: builtin/pack-objects.c:2456 msgid "version[,offset]" msgstr "version[,offset]" -#: builtin/pack-objects.c:2456 +#: builtin/pack-objects.c:2457 msgid "write the pack index file in the specified idx format version" msgstr "" "écrire le fichier d'index du paquet dans le format d'index de version " "spécifié" -#: builtin/pack-objects.c:2459 +#: builtin/pack-objects.c:2460 msgid "maximum size of each output pack file" msgstr "taille maximum de chaque fichier paquet en sortie" -#: builtin/pack-objects.c:2461 +#: builtin/pack-objects.c:2462 msgid "ignore borrowed objects from alternate object store" msgstr "ignorer les objets empruntés à un autre magasin d'objets" -#: builtin/pack-objects.c:2463 +#: builtin/pack-objects.c:2464 msgid "ignore packed objects" msgstr "ignorer les objets empaquetés" -#: builtin/pack-objects.c:2465 +#: builtin/pack-objects.c:2466 msgid "limit pack window by objects" msgstr "limiter la fenêtre d'empaquetage par objets" -#: builtin/pack-objects.c:2467 +#: builtin/pack-objects.c:2468 msgid "limit pack window by memory in addition to object limit" msgstr "" "limiter la fenêtre d'empaquetage par mémoire en plus de la limite d'objets" -#: builtin/pack-objects.c:2469 +#: builtin/pack-objects.c:2470 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "" "longueur maximum de la chaîne de delta autorisée dans le paquet résultant" -#: builtin/pack-objects.c:2471 +#: builtin/pack-objects.c:2472 msgid "reuse existing deltas" msgstr "réutiliser les deltas existants" -#: builtin/pack-objects.c:2473 +#: builtin/pack-objects.c:2474 msgid "reuse existing objects" msgstr "réutiliser les objets existants" -#: builtin/pack-objects.c:2475 +#: builtin/pack-objects.c:2476 msgid "use OFS_DELTA objects" msgstr "utiliser les objets OFS_DELTA" -#: builtin/pack-objects.c:2477 +#: builtin/pack-objects.c:2478 msgid "use threads when searching for best delta matches" msgstr "" "utiliser des fils lors de la recherche pour une meilleurs correspondance des " "deltas" -#: builtin/pack-objects.c:2479 +#: builtin/pack-objects.c:2480 msgid "do not create an empty pack output" msgstr "ne pas créer un paquet vide" -#: builtin/pack-objects.c:2481 +#: builtin/pack-objects.c:2482 msgid "read revision arguments from standard input" msgstr "lire les paramètres de révision depuis l'entrée standard" -#: builtin/pack-objects.c:2483 +#: builtin/pack-objects.c:2484 msgid "limit the objects to those that are not yet packed" msgstr "limiter les objets à ceux qui ne sont pas encore empaquetés" -#: builtin/pack-objects.c:2486 +#: builtin/pack-objects.c:2487 msgid "include objects reachable from any reference" msgstr "inclure les objets accessibles depuis toute référence" -#: builtin/pack-objects.c:2489 +#: builtin/pack-objects.c:2490 msgid "include objects referred by reflog entries" msgstr "inclure les objets référencés par les éléments de reflog" -#: builtin/pack-objects.c:2492 +#: builtin/pack-objects.c:2493 msgid "output pack to stdout" msgstr "afficher l'empaquetage sur la sortie standard" -#: builtin/pack-objects.c:2494 +#: builtin/pack-objects.c:2495 msgid "include tag objects that refer to objects to be packed" msgstr "inclure les objets d'étiquettes qui réfèrent à des objets à empaqueter" -#: builtin/pack-objects.c:2496 +#: builtin/pack-objects.c:2497 msgid "keep unreachable objects" msgstr "garder les objets inaccessibles" -#: builtin/pack-objects.c:2497 parse-options.h:141 +#: builtin/pack-objects.c:2498 parse-options.h:143 msgid "time" msgstr "heure" -#: builtin/pack-objects.c:2498 +#: builtin/pack-objects.c:2499 msgid "unpack unreachable objects newer than <time>" msgstr "dépaqueter les objets inaccessibles plus récents que <heure>" -#: builtin/pack-objects.c:2501 +#: builtin/pack-objects.c:2502 msgid "create thin packs" msgstr "créer des paquets légers" -#: builtin/pack-objects.c:2503 +#: builtin/pack-objects.c:2504 msgid "ignore packs that have companion .keep file" msgstr "ignorer les paquets qui ont un fichier .keep" -#: builtin/pack-objects.c:2505 +#: builtin/pack-objects.c:2506 msgid "pack compression level" msgstr "niveau de compression du paquet" -#: builtin/pack-objects.c:2507 +#: builtin/pack-objects.c:2508 msgid "do not hide commits by grafts" msgstr "ne pas cacher les validations par greffes" @@ -7643,15 +7842,15 @@ msgstr "faire expirer les objets plus vieux que <heure>" msgid "git push [<options>] [<repository> [<refspec>...]]" msgstr "git push [<options>] [<dépôt> [<spécification-de-référence>...]]" -#: builtin/push.c:45 +#: builtin/push.c:47 msgid "tag shorthand without <tag>" msgstr "raccourci d'étiquette sans <étiquette>" -#: builtin/push.c:64 +#: builtin/push.c:66 msgid "--delete only accepts plain target ref names" msgstr "--delete accepte seulement des noms entiers de références cibles" -#: builtin/push.c:99 +#: builtin/push.c:101 msgid "" "\n" "To choose either option permanently, see push.default in 'git help config'." @@ -7660,7 +7859,7 @@ msgstr "" "Pour choisir l'option de manière permanente, voir push.default dans 'git " "help config'." -#: builtin/push.c:102 +#: builtin/push.c:104 #, c-format msgid "" "The upstream branch of your current branch does not match\n" @@ -7685,7 +7884,7 @@ msgstr "" " git push %s %s\n" "%s" -#: builtin/push.c:117 +#: builtin/push.c:119 #, c-format msgid "" "You are not currently on a branch.\n" @@ -7700,7 +7899,7 @@ msgstr "" "\n" " git push %s HEAD:<nom-de-la-branche-amont>\n" -#: builtin/push.c:131 +#: builtin/push.c:133 #, c-format msgid "" "The current branch %s has no upstream branch.\n" @@ -7714,13 +7913,13 @@ msgstr "" "\n" " git push --set-upstream %s %s\n" -#: builtin/push.c:139 +#: builtin/push.c:141 #, c-format msgid "The current branch %s has multiple upstream branches, refusing to push." msgstr "" "La branche courante %s a de multiples branches amont, impossible de pousser." -#: builtin/push.c:142 +#: builtin/push.c:144 #, c-format msgid "" "You are pushing to remote '%s', which is not the upstream of\n" @@ -7731,7 +7930,7 @@ msgstr "" "pas une branche amont de votre branche courante '%s', sans me dire\n" "quoi pousser pour mettre à jour quelle branche amont." -#: builtin/push.c:165 +#: builtin/push.c:167 msgid "" "push.default is unset; its implicit value is changing in\n" "Git 2.0 from 'matching' to 'simple'. To squelch this message\n" @@ -7765,14 +7964,14 @@ msgstr "" "'current' au lieu de 'simple' si vous utilisez de temps en temps d'anciennes " "versions de Git)" -#: builtin/push.c:225 +#: builtin/push.c:227 msgid "" "You didn't specify any refspecs to push, and push.default is \"nothing\"." msgstr "" "Vous n'avez pas spécifié de spécifications de référence à pousser, et push." "default est \"nothing\"." -#: builtin/push.c:232 +#: builtin/push.c:234 msgid "" "Updates were rejected because the tip of your current branch is behind\n" "its remote counterpart. Integrate the remote changes (e.g.\n" @@ -7787,7 +7986,7 @@ msgstr "" "Voir la 'Note à propos des avances rapides' dans 'git push --help' pour plus " "d'information." -#: builtin/push.c:238 +#: builtin/push.c:240 msgid "" "Updates were rejected because a pushed branch tip is behind its remote\n" "counterpart. If you did not intend to push that branch, you may want to\n" @@ -7803,7 +8002,7 @@ msgstr "" "'push.default' à 'simple', 'current' ou 'upstream' pour pousser seulement la " "branche courante." -#: builtin/push.c:244 +#: builtin/push.c:246 msgid "" "Updates were rejected because a pushed branch tip is behind its remote\n" "counterpart. Check out this branch and integrate the remote changes\n" @@ -7818,7 +8017,7 @@ msgstr "" "Voir la 'Note à propos des avances rapides' dans 'git push --help' pour plus " "d'information." -#: builtin/push.c:250 +#: builtin/push.c:252 msgid "" "Updates were rejected because the remote contains work that you do\n" "not have locally. This is usually caused by another repository pushing\n" @@ -7836,13 +8035,13 @@ msgstr "" "Voir la 'Note à propos des avances rapides' dans 'git push --help' pour plus " "d'information." -#: builtin/push.c:257 +#: builtin/push.c:259 msgid "Updates were rejected because the tag already exists in the remote." msgstr "" "Les mises à jour ont été rejetées car l'étiquette existe déjà dans la " "branche distante." -#: builtin/push.c:260 +#: builtin/push.c:262 msgid "" "You cannot update a remote ref that points at a non-commit object,\n" "or update a remote ref to make it point at a non-commit object,\n" @@ -7854,22 +8053,22 @@ msgstr "" "pointer\n" "vers un objet qui n'est pas un commit, sans utiliser l'option '--force'.\n" -#: builtin/push.c:320 +#: builtin/push.c:328 #, c-format msgid "Pushing to %s\n" msgstr "Poussage vers %s\n" -#: builtin/push.c:324 +#: builtin/push.c:332 #, c-format msgid "failed to push some refs to '%s'" msgstr "impossible de pousser des références vers '%s'" -#: builtin/push.c:357 +#: builtin/push.c:365 #, c-format msgid "bad repository '%s'" msgstr "mauvais dépôt '%s'" -#: builtin/push.c:358 +#: builtin/push.c:366 msgid "" "No configured push destination.\n" "Either specify the URL from the command-line or configure a remote " @@ -7891,88 +8090,96 @@ msgstr "" "\n" " git push <nom>\n" -#: builtin/push.c:373 +#: builtin/push.c:381 msgid "--all and --tags are incompatible" msgstr "--all et --tags sont incompatibles" -#: builtin/push.c:374 +#: builtin/push.c:382 msgid "--all can't be combined with refspecs" msgstr "--all ne peut pas être combiné avec des spécifications de référence" -#: builtin/push.c:379 +#: builtin/push.c:387 msgid "--mirror and --tags are incompatible" msgstr "--mirror et --tags sont incompatibles" -#: builtin/push.c:380 +#: builtin/push.c:388 msgid "--mirror can't be combined with refspecs" msgstr "--mirror ne peut pas être combiné avec des spécifications de référence" -#: builtin/push.c:385 +#: builtin/push.c:393 msgid "--all and --mirror are incompatible" msgstr "--all et --mirror sont incompatibles" -#: builtin/push.c:445 +#: builtin/push.c:453 msgid "repository" msgstr "dépôt" -#: builtin/push.c:446 +#: builtin/push.c:454 msgid "push all refs" msgstr "pousser toutes les références" -#: builtin/push.c:447 +#: builtin/push.c:455 msgid "mirror all refs" msgstr "refléter toutes les références" -#: builtin/push.c:449 +#: builtin/push.c:457 msgid "delete refs" msgstr "supprimer les références" -#: builtin/push.c:450 +#: builtin/push.c:458 msgid "push tags (can't be used with --all or --mirror)" msgstr "" "pousser les étiquettes (ne peut pas être utilisé avec --all ou --mirror)" -#: builtin/push.c:453 +#: builtin/push.c:461 msgid "force updates" msgstr "forcer les mises à jour" -#: builtin/push.c:454 +#: builtin/push.c:463 +msgid "refname>:<expect" +msgstr "nom de référence>:<attendu" + +#: builtin/push.c:464 +msgid "require old value of ref to be at this value" +msgstr "exiger que l'ancienne valeur de la référence soit à cette valeur" + +#: builtin/push.c:466 msgid "check" msgstr "check" -#: builtin/push.c:455 +#: builtin/push.c:467 msgid "control recursive pushing of submodules" msgstr "contrôler le poussage récursif des sous-modules" -#: builtin/push.c:457 +#: builtin/push.c:469 msgid "use thin pack" msgstr "utiliser un empaquetage léger" -#: builtin/push.c:458 builtin/push.c:459 +#: builtin/push.c:470 builtin/push.c:471 msgid "receive pack program" msgstr "recevoir le programme d'empaquetage" -#: builtin/push.c:460 +#: builtin/push.c:472 msgid "set upstream for git pull/status" msgstr "définir la branche amont pour git pull/status" -#: builtin/push.c:463 +#: builtin/push.c:475 msgid "prune locally removed refs" msgstr "éliminer les références locales supprimées" -#: builtin/push.c:465 +#: builtin/push.c:477 msgid "bypass pre-push hook" msgstr "éviter d'utiliser le crochet pre-push" -#: builtin/push.c:466 +#: builtin/push.c:478 msgid "push missing but relevant tags" msgstr "pousser les étiquettes manquantes mais pertinentes" -#: builtin/push.c:476 +#: builtin/push.c:488 msgid "--delete is incompatible with --all, --mirror and --tags" msgstr "--delete est incompatible avec --all, --mirror et --tags" -#: builtin/push.c:478 +#: builtin/push.c:490 msgid "--delete doesn't make sense without any refs" msgstr "--delete n'a pas de sens sans aucune référence" @@ -8049,14 +8256,14 @@ msgstr "sauter l'application du filtre d'extraction creuse" #: builtin/read-tree.c:138 msgid "debug unpack-trees" -msgstr "deboguer unpack-trees" +msgstr "déboguer unpack-trees" -#: builtin/reflog.c:500 +#: builtin/reflog.c:499 #, c-format msgid "%s' for '%s' is not a valid timestamp" msgstr "%s' pour '%s' n'est pas un horodatage valide" -#: builtin/reflog.c:616 builtin/reflog.c:621 +#: builtin/reflog.c:615 builtin/reflog.c:620 #, c-format msgid "'%s' is not a valid timestamp" msgstr "'%s' n'est pas un horodatage valide" @@ -8081,9 +8288,9 @@ msgstr "git remote rename <ancienne> <nouvelle>" msgid "git remote remove <name>" msgstr "git remote remove <nom>" -#: builtin/remote.c:15 builtin/remote.c:42 -msgid "git remote set-head <name> (-a | -d | <branch>)" -msgstr "git remote set-head <nom> (-a | -d | <branche>)" +#: builtin/remote.c:15 +msgid "git remote set-head <name> (-a | --auto | -d | --delete |<branch>)" +msgstr "git remote set-head <nom> (-a | --auto | -d | --delete |<branche>)" #: builtin/remote.c:16 msgid "git remote [-v | --verbose] show [-n] <name>" @@ -8120,6 +8327,10 @@ msgstr "git remote set-url --delete <nom> <URL>" msgid "git remote add [<options>] <name> <url>" msgstr "git remote add [<options>] <nom> <URL>" +#: builtin/remote.c:42 +msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)" +msgstr "git remote set-head <nom> (-a | --auto | -d | --delete | <branche>)" + #: builtin/remote.c:47 msgid "git remote set-branches <name> <branch>..." msgstr "git remote set-branches <nom> <branche>..." @@ -8221,7 +8432,9 @@ msgstr "plus d'un %s" #: builtin/remote.c:339 #, c-format msgid "Could not get fetch map for refspec %s" -msgstr "Impossible d'obtenir une correspondance distante pour la spécification de référence %s" +msgstr "" +"Impossible d'obtenir une correspondance distante pour la spécification de " +"référence %s" #: builtin/remote.c:440 builtin/remote.c:448 msgid "(matching)" @@ -8565,6 +8778,67 @@ msgstr "Pas de suppression de toutes les URLs non-push" msgid "be verbose; must be placed before a subcommand" msgstr "être verbeux : doit être placé avant une sous-commande" +#: builtin/repack.c:15 +msgid "git repack [options]" +msgstr "git repack [options]" + +#: builtin/repack.c:143 +msgid "pack everything in a single pack" +msgstr "empaqueter tout dans un seul paquet" + +#: builtin/repack.c:145 +msgid "same as -a, and turn unreachable objects loose" +msgstr "identique à -a et transformer les objets inaccessibles en suspens" + +#: builtin/repack.c:148 +msgid "remove redundant packs, and run git-prune-packed" +msgstr "supprimer les paquets redondants et lancer git-prune-packed" + +#: builtin/repack.c:150 +msgid "pass --no-reuse-delta to git-pack-objects" +msgstr "passer --no-reuse-delta à git-pack-objects" + +#: builtin/repack.c:152 +msgid "pass --no-reuse-object to git-pack-objects" +msgstr "passer --no-reuse-object à git-pack-objects" + +#: builtin/repack.c:154 +msgid "do not run git-update-server-info" +msgstr "ne pas lancer git update-server-info" + +#: builtin/repack.c:157 +msgid "pass --local to git-pack-objects" +msgstr "passer --local à git-pack-objects" + +#: builtin/repack.c:158 +msgid "approxidate" +msgstr "date approximative" + +#: builtin/repack.c:159 +msgid "with -A, do not loosen objects older than this" +msgstr "avec -A, ne pas suspendre les objets plus vieux que celui-ci" + +#: builtin/repack.c:161 +msgid "size of the window used for delta compression" +msgstr "taille de la fenêtre utilisée pour la compression des deltas" + +#: builtin/repack.c:163 +msgid "same as the above, but limit memory size instead of entries count" +msgstr "idem ci-dessus, mais limiter la taille mémoire au lieu du nombre d'éléments" + +#: builtin/repack.c:165 +msgid "limits the maximum delta depth" +msgstr "limite la profondeur maximale des deltas" + +#: builtin/repack.c:167 +msgid "maximum size of each packfile" +msgstr "taille maximum de chaque fichier paquet" + +#: builtin/repack.c:345 +#, c-format +msgid "removing '%s' failed" +msgstr "la suppression de '%s' a échoué" + #: builtin/replace.c:17 msgid "git replace [-f] <object> <replacement>" msgstr "git replace [-f] <objet> <remplacement>" @@ -8577,23 +8851,23 @@ msgstr "git replace -d <objet>..." msgid "git replace -l [<pattern>]" msgstr "git replace -l [<motif>]" -#: builtin/replace.c:121 +#: builtin/replace.c:131 msgid "list replace refs" msgstr "afficher les références de remplacement" -#: builtin/replace.c:122 +#: builtin/replace.c:132 msgid "delete replace refs" msgstr "supprimer les références de remplacement" -#: builtin/replace.c:123 +#: builtin/replace.c:133 msgid "replace the ref if it exists" msgstr "remplacer la référence si elle existe" -#: builtin/rerere.c:11 +#: builtin/rerere.c:12 msgid "git rerere [clear | forget path... | status | remaining | diff | gc]" msgstr "git rerere [clear | forget chemin... | status | remaining | diff | gc]" -#: builtin/rerere.c:56 +#: builtin/rerere.c:57 msgid "register clean resolutions in index" msgstr "enregistrer des résolutions propres dans l'index" @@ -8654,71 +8928,71 @@ msgstr "HEAD est maintenant à %s" msgid "Cannot do a %s reset in the middle of a merge." msgstr "Impossible de faire un \"reset %s\" au milieu d'une fusion." -#: builtin/reset.c:251 +#: builtin/reset.c:262 msgid "be quiet, only report errors" msgstr "être silencieux, afficher seulement les erreurs" -#: builtin/reset.c:253 +#: builtin/reset.c:264 msgid "reset HEAD and index" msgstr "réinitialiser HEAD et l'index" -#: builtin/reset.c:254 +#: builtin/reset.c:265 msgid "reset only HEAD" msgstr "réinitialiser seulement HEAD" -#: builtin/reset.c:256 builtin/reset.c:258 +#: builtin/reset.c:267 builtin/reset.c:269 msgid "reset HEAD, index and working tree" msgstr "réinitialiser HEAD, l'index et la copie de travail" -#: builtin/reset.c:260 +#: builtin/reset.c:271 msgid "reset HEAD but keep local changes" msgstr "réinitialiser HEAD mais garder les changements locaux" -#: builtin/reset.c:278 +#: builtin/reset.c:289 #, c-format msgid "Failed to resolve '%s' as a valid revision." msgstr "Échec de résolution de '%s' comme une révision valide." -#: builtin/reset.c:281 builtin/reset.c:289 +#: builtin/reset.c:292 builtin/reset.c:300 #, c-format msgid "Could not parse object '%s'." msgstr "Impossible d'analyser l'objet '%s'." -#: builtin/reset.c:286 +#: builtin/reset.c:297 #, c-format msgid "Failed to resolve '%s' as a valid tree." msgstr "Échec de résolution de '%s' comme un arbre valide." -#: builtin/reset.c:295 +#: builtin/reset.c:306 msgid "--patch is incompatible with --{hard,mixed,soft}" msgstr "--patch est incompatible avec --{hard,mixed,soft}" -#: builtin/reset.c:304 +#: builtin/reset.c:315 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead." msgstr "" "--mixed avec des chemins est obsolète ; utilisez 'git reset -- <paths>' à la " "place." -#: builtin/reset.c:306 +#: builtin/reset.c:317 #, c-format msgid "Cannot do %s reset with paths." msgstr "Impossible de faire un \"%s reset\" avec des chemins." -#: builtin/reset.c:316 +#: builtin/reset.c:327 #, c-format msgid "%s reset is not allowed in a bare repository" msgstr "Le \"%s reset\" n'est pas permis dans un dépôt nu" -#: builtin/reset.c:336 +#: builtin/reset.c:344 +msgid "Unstaged changes after reset:" +msgstr "Modifications non indexées après reset :" + +#: builtin/reset.c:350 #, c-format msgid "Could not reset index file to revision '%s'." msgstr "Impossible de réinitialiser le fichier d'index à la révision '%s'." -#: builtin/reset.c:342 -msgid "Unstaged changes after reset:" -msgstr "Modifications non indexées après reset :" - -#: builtin/reset.c:347 +#: builtin/reset.c:355 msgid "Could not write new index file." msgstr "Impossible d'écrire le nouveau fichier d'index." @@ -8765,84 +9039,84 @@ msgstr "git cherry-pick [options] <commit ou apparenté>..." msgid "git cherry-pick <subcommand>" msgstr "git cherry-pick <sous-commande>" -#: builtin/revert.c:71 builtin/revert.c:94 +#: builtin/revert.c:71 #, c-format msgid "%s: %s cannot be used with %s" msgstr "%s : %s ne peut pas être utilisé avec %s" -#: builtin/revert.c:105 +#: builtin/revert.c:80 msgid "end revert or cherry-pick sequence" msgstr "mettre fin au retour ou picorage" -#: builtin/revert.c:106 +#: builtin/revert.c:81 msgid "resume revert or cherry-pick sequence" msgstr "reprendre le retour ou picorage" -#: builtin/revert.c:107 +#: builtin/revert.c:82 msgid "cancel revert or cherry-pick sequence" msgstr "annuler le retour ou picorage" -#: builtin/revert.c:108 +#: builtin/revert.c:83 msgid "don't automatically commit" msgstr "ne pas valider automatiquement" -#: builtin/revert.c:109 +#: builtin/revert.c:84 msgid "edit the commit message" msgstr "éditer le message de validation" -#: builtin/revert.c:112 +#: builtin/revert.c:87 msgid "parent number" msgstr "numéro de parent" -#: builtin/revert.c:114 +#: builtin/revert.c:89 msgid "merge strategy" msgstr "stratégie de fusion" -#: builtin/revert.c:115 +#: builtin/revert.c:90 msgid "option" msgstr "option" -#: builtin/revert.c:116 +#: builtin/revert.c:91 msgid "option for merge strategy" msgstr "option pour la stratégie de fusion" -#: builtin/revert.c:127 +#: builtin/revert.c:102 msgid "append commit name" msgstr "ajouter le nom de validation" -#: builtin/revert.c:128 +#: builtin/revert.c:103 msgid "allow fast-forward" msgstr "autoriser l'avance rapide" -#: builtin/revert.c:129 +#: builtin/revert.c:104 msgid "preserve initially empty commits" msgstr "préserver les validations vides initialement" -#: builtin/revert.c:130 +#: builtin/revert.c:105 msgid "allow commits with empty messages" msgstr "autoriser les validations avec des messages vides" -#: builtin/revert.c:131 +#: builtin/revert.c:106 msgid "keep redundant, empty commits" msgstr "garder les validations redondantes, vides" -#: builtin/revert.c:135 +#: builtin/revert.c:110 msgid "program error" msgstr "erreur du programme" -#: builtin/revert.c:225 +#: builtin/revert.c:195 msgid "revert failed" msgstr "revert a échoué" -#: builtin/revert.c:240 +#: builtin/revert.c:210 msgid "cherry-pick failed" msgstr "le picorage a échoué" -#: builtin/rm.c:16 +#: builtin/rm.c:17 msgid "git rm [options] [--] <file>..." msgstr "git rm [options] [--] <fichier>..." -#: builtin/rm.c:64 +#: builtin/rm.c:65 msgid "" "the following submodule (or one of its nested submodules)\n" "uses a .git directory:" @@ -8856,7 +9130,7 @@ msgstr[1] "" "les sous-modules suivants (ou un de ses sous-modules imbriqués)\n" "utilisent un répertoire .git :" -#: builtin/rm.c:70 +#: builtin/rm.c:71 msgid "" "\n" "(use 'rm -rf' if you really want to remove it including all of its history)" @@ -8865,7 +9139,7 @@ msgstr "" "(utilisez 'rm -rf' si vous voulez vraiment le supprimer en incluant tout son " "historique)" -#: builtin/rm.c:230 +#: builtin/rm.c:231 msgid "" "the following file has staged content different from both the\n" "file and the HEAD:" @@ -8879,7 +9153,7 @@ msgstr[1] "" "les fichiers suivants ont du contenu indexé différent\n" "du fichier et de HEAD :" -#: builtin/rm.c:235 +#: builtin/rm.c:236 msgid "" "\n" "(use -f to force removal)" @@ -8887,13 +9161,13 @@ msgstr "" "\n" "(utilisez -f pour forcer la suppression)" -#: builtin/rm.c:239 +#: builtin/rm.c:240 msgid "the following file has changes staged in the index:" msgid_plural "the following files have changes staged in the index:" msgstr[0] "le fichier suivant a des changements indexés :" msgstr[1] "les fichiers suivants ont des changements indexés :" -#: builtin/rm.c:243 builtin/rm.c:254 +#: builtin/rm.c:244 builtin/rm.c:255 msgid "" "\n" "(use --cached to keep the file, or -f to force removal)" @@ -8901,38 +9175,38 @@ msgstr "" "\n" "(utilisez --cached pour garder le fichier, ou -f pour forcer la suppression)" -#: builtin/rm.c:251 +#: builtin/rm.c:252 msgid "the following file has local modifications:" msgid_plural "the following files have local modifications:" msgstr[0] "le fichier suivant a des modifications locales :" msgstr[1] "les fichiers suivants ont des modifications locales :" -#: builtin/rm.c:269 +#: builtin/rm.c:270 msgid "do not list removed files" msgstr "ne pas afficher les fichiers supprimés" -#: builtin/rm.c:270 +#: builtin/rm.c:271 msgid "only remove from the index" msgstr "supprimer seulement de l'index" -#: builtin/rm.c:271 +#: builtin/rm.c:272 msgid "override the up-to-date check" msgstr "outrepasser la vérification des fichiers à jour" -#: builtin/rm.c:272 +#: builtin/rm.c:273 msgid "allow recursive removal" msgstr "autoriser la suppression récursive" -#: builtin/rm.c:274 +#: builtin/rm.c:275 msgid "exit with a zero status even if nothing matched" msgstr "sortir avec un statut zéro même si rien ne correspondait" -#: builtin/rm.c:345 +#: builtin/rm.c:336 #, c-format msgid "not removing '%s' recursively without -r" msgstr "pas de suppression récursive de '%s' sans -r" -#: builtin/rm.c:384 +#: builtin/rm.c:375 #, c-format msgid "git rm: unable to remove %s" msgstr "git rm : impossible de supprimer %s" @@ -8946,25 +9220,25 @@ msgstr "git shortlog [<options>] [<intervalle révisions>] [[--] [<chemin>...]]" msgid "Missing author: %s" msgstr "Auteur manquant : %s" -#: builtin/shortlog.c:228 +#: builtin/shortlog.c:230 msgid "sort output according to the number of commits per author" msgstr "trier la sortie sur le nombre de validations par auteur" -#: builtin/shortlog.c:230 +#: builtin/shortlog.c:232 msgid "Suppress commit descriptions, only provides commit count" msgstr "" "Supprimer les descriptions de validation, fournit seulement le nombre de " "validations" -#: builtin/shortlog.c:232 +#: builtin/shortlog.c:234 msgid "Show the email address of each author" msgstr "Afficher l'adresse e-mail de chaque auteur" -#: builtin/shortlog.c:233 +#: builtin/shortlog.c:235 msgid "w[,i1[,i2]]" msgstr "w[,i1[,i2]]" -#: builtin/shortlog.c:234 +#: builtin/shortlog.c:236 msgid "Linewrap output" msgstr "Couper les lignes" @@ -9076,24 +9350,24 @@ msgstr "" "vérification de référence plus stricte, nécessite un chemin de référence " "exact" -#: builtin/show-ref.c:173 builtin/show-ref.c:176 +#: builtin/show-ref.c:173 builtin/show-ref.c:175 msgid "show the HEAD reference, even if it would be filtered out" msgstr "afficher la référence HEAD, même si elle serait filtrée" -#: builtin/show-ref.c:178 +#: builtin/show-ref.c:177 msgid "dereference tags into object IDs" msgstr "déréférencer les étiquettes en IDs d'objet" -#: builtin/show-ref.c:180 +#: builtin/show-ref.c:179 msgid "only show SHA1 hash using <n> digits" msgstr "afficher seulement le hachage SHA1 en utilisant <n> chiffres" -#: builtin/show-ref.c:184 +#: builtin/show-ref.c:183 msgid "do not print results to stdout (useful with --verify)" msgstr "" "ne pas afficher les résultats sur la sortie standard (pratique avec --verify)" -#: builtin/show-ref.c:186 +#: builtin/show-ref.c:185 msgid "show refs from stdin that aren't in local repository" msgstr "" "afficher les références de l'entrée standard qui ne sont pas dans le dépôt " @@ -9120,11 +9394,11 @@ msgstr "supprimer la référence symbolique" msgid "shorten ref output" msgstr "raccourcir l'affichage de la référence" -#: builtin/symbolic-ref.c:43 builtin/update-ref.c:18 +#: builtin/symbolic-ref.c:43 builtin/update-ref.c:254 msgid "reason" msgstr "raison" -#: builtin/symbolic-ref.c:43 builtin/update-ref.c:18 +#: builtin/symbolic-ref.c:43 builtin/update-ref.c:254 msgid "reason of the update" msgstr "raison de la mise à jour" @@ -9290,189 +9564,201 @@ msgstr "afficher seulement les étiquettes qui contiennent la validation" msgid "print only tags of the object" msgstr "afficher seulement les étiquettes de l'objet" -#: builtin/tag.c:504 +#: builtin/tag.c:501 msgid "--column and -n are incompatible" msgstr "--column et -n sont incompatibles" -#: builtin/tag.c:521 +#: builtin/tag.c:518 msgid "-n option is only allowed with -l." msgstr "l'option -n est autorisée seulement avec -l." -#: builtin/tag.c:523 +#: builtin/tag.c:520 msgid "--contains option is only allowed with -l." msgstr "l'option --contains est autorisée seulement avec -l." -#: builtin/tag.c:525 +#: builtin/tag.c:522 msgid "--points-at option is only allowed with -l." msgstr "l'option --points-at est autorisée seulement avec -l." -#: builtin/tag.c:533 +#: builtin/tag.c:530 msgid "only one -F or -m option is allowed." msgstr "une seule option -F ou -m est autorisée." -#: builtin/tag.c:553 +#: builtin/tag.c:550 msgid "too many params" msgstr "trop de paramètres" -#: builtin/tag.c:559 +#: builtin/tag.c:556 #, c-format msgid "'%s' is not a valid tag name." msgstr "'%s' n'est pas un nom d'étiquette valide." -#: builtin/tag.c:564 +#: builtin/tag.c:561 #, c-format msgid "tag '%s' already exists" msgstr "l'étiquette '%s' existe déjà " -#: builtin/tag.c:582 +#: builtin/tag.c:579 #, c-format msgid "%s: cannot lock the ref" msgstr "%s : impossible de verrouiller la référence" -#: builtin/tag.c:584 +#: builtin/tag.c:581 #, c-format msgid "%s: cannot update the ref" msgstr "%s : impossible de mettre à jour la référence" -#: builtin/tag.c:586 +#: builtin/tag.c:583 #, c-format msgid "Updated tag '%s' (was %s)\n" msgstr "Étiquette '%s' mise à jour (elle était %s)\n" -#: builtin/update-index.c:401 +#: builtin/update-index.c:402 msgid "git update-index [options] [--] [<file>...]" msgstr "git update-index [options] [--] [<fichier>...]" -#: builtin/update-index.c:718 +#: builtin/update-index.c:720 msgid "continue refresh even when index needs update" msgstr "continuer de rafraîchir même si l'index a besoin d'une mise à jour" -#: builtin/update-index.c:721 +#: builtin/update-index.c:723 msgid "refresh: ignore submodules" msgstr "rafraîchir : ignorer les sous-modules" -#: builtin/update-index.c:724 +#: builtin/update-index.c:726 msgid "do not ignore new files" msgstr "ne pas ignorer les nouveaux fichiers" -#: builtin/update-index.c:726 +#: builtin/update-index.c:728 msgid "let files replace directories and vice-versa" msgstr "laisser les fichiers remplacer des répertoires et vice-versa" -#: builtin/update-index.c:728 +#: builtin/update-index.c:730 msgid "notice files missing from worktree" msgstr "aviser des fichiers manquants dans la copie de travail" -#: builtin/update-index.c:730 +#: builtin/update-index.c:732 msgid "refresh even if index contains unmerged entries" msgstr "rafraîchir même si l'index contient des éléments non fusionnés" -#: builtin/update-index.c:733 +#: builtin/update-index.c:735 msgid "refresh stat information" msgstr "rafraîchir l'information de stat" -#: builtin/update-index.c:737 +#: builtin/update-index.c:739 msgid "like --refresh, but ignore assume-unchanged setting" msgstr "comme --refresh, mais en ignorant l'option assume-unchanged" -#: builtin/update-index.c:741 +#: builtin/update-index.c:743 msgid "<mode> <object> <path>" msgstr "<mode> <objet> <chemin>" -#: builtin/update-index.c:742 +#: builtin/update-index.c:744 msgid "add the specified entry to the index" msgstr "ajouter l'élément spécifié dans l'index" -#: builtin/update-index.c:746 +#: builtin/update-index.c:748 msgid "(+/-)x" msgstr "(+/-)x" -#: builtin/update-index.c:747 +#: builtin/update-index.c:749 msgid "override the executable bit of the listed files" msgstr "outrepasser le bit exécutable pour les fichiers listés" -#: builtin/update-index.c:751 +#: builtin/update-index.c:753 msgid "mark files as \"not changing\"" msgstr "marquer les fichiers comme \"non changeants\"" -#: builtin/update-index.c:754 +#: builtin/update-index.c:756 msgid "clear assumed-unchanged bit" msgstr "mettre à zéro le bit supposé-non-modifié" -#: builtin/update-index.c:757 +#: builtin/update-index.c:759 msgid "mark files as \"index-only\"" msgstr "marquer les fichiers comme \"index seulement\"" -#: builtin/update-index.c:760 +#: builtin/update-index.c:762 msgid "clear skip-worktree bit" msgstr "mettre à zéro le bit sauter-la-copie-de travail" -#: builtin/update-index.c:763 +#: builtin/update-index.c:765 msgid "add to index only; do not add content to object database" msgstr "" "ajouter seulement à l'index ; ne pas ajouter le contenu dans la base de " "données des objets" -#: builtin/update-index.c:765 +#: builtin/update-index.c:767 msgid "remove named paths even if present in worktree" msgstr "" "supprimer les chemins nommés même s'ils sont présents dans la copie de " "travail" -#: builtin/update-index.c:767 +#: builtin/update-index.c:769 msgid "with --stdin: input lines are terminated by null bytes" msgstr "avec --stdin : les lignes en entrée sont terminées par des octets nuls" -#: builtin/update-index.c:769 +#: builtin/update-index.c:771 msgid "read list of paths to be updated from standard input" msgstr "lire la liste des chemins à mettre à jour depuis l'entrée standard" -#: builtin/update-index.c:773 +#: builtin/update-index.c:775 msgid "add entries from standard input to the index" msgstr "ajouter les éléments depuis l'entrée standard à l'index" -#: builtin/update-index.c:777 +#: builtin/update-index.c:779 msgid "repopulate stages #2 and #3 for the listed paths" msgstr "repeupler les étapes n°2 et n°3 pour les chemins listés" -#: builtin/update-index.c:781 +#: builtin/update-index.c:783 msgid "only update entries that differ from HEAD" msgstr "mettre à jour seulement les éléments qui diffèrent de HEAD" -#: builtin/update-index.c:785 +#: builtin/update-index.c:787 msgid "ignore files missing from worktree" msgstr "ignorer les fichiers manquants dans la copie de travail" -#: builtin/update-index.c:788 +#: builtin/update-index.c:790 msgid "report actions to standard output" msgstr "afficher les actions sur la sortie standard" -#: builtin/update-index.c:790 +#: builtin/update-index.c:792 msgid "(for porcelains) forget saved unresolved conflicts" msgstr "(pour porcelaines) oublier les conflits sauvés et non résolus" -#: builtin/update-index.c:794 +#: builtin/update-index.c:796 msgid "write index in this format" msgstr "écrire l'index dans ce format" -#: builtin/update-ref.c:7 +#: builtin/update-ref.c:9 msgid "git update-ref [options] -d <refname> [<oldval>]" msgstr "git update-ref [options] -d <nomréférence> [<anciennevaleur>]" -#: builtin/update-ref.c:8 +#: builtin/update-ref.c:10 msgid "git update-ref [options] <refname> <newval> [<oldval>]" msgstr "" "git update-ref [options] <nomréférence> <nouvellevaleur> " "[<anciennevaleur>]" -#: builtin/update-ref.c:19 +#: builtin/update-ref.c:11 +msgid "git update-ref [options] --stdin [-z]" +msgstr "git update-ref [options] --stdin [-z]" + +#: builtin/update-ref.c:255 msgid "delete the reference" msgstr "supprimer la référence" -#: builtin/update-ref.c:21 +#: builtin/update-ref.c:257 msgid "update <refname> not the one it points to" msgstr "mettre à jour <nomréférence> et non la référence pointée par lui" +#: builtin/update-ref.c:258 +msgid "stdin has NUL-terminated arguments" +msgstr "l'entrée standard a des arguments qui se terminent par NUL" + +#: builtin/update-ref.c:259 +msgid "read updates from stdin" +msgstr "lire les mises à jour depuis l'entrée standard" + #: builtin/update-server-info.c:6 msgid "git update-server-info [--force]" msgstr "git update-server-info [--force]" @@ -9527,33 +9813,33 @@ msgstr "" "quelques concepts. Voir 'git help <command>' ou 'git help <concept>'\n" "pour en lire plus à propos d'une commande spécifique ou d'un concept." -#: parse-options.h:144 +#: parse-options.h:146 msgid "expiry date" msgstr "date d'expiration" -#: parse-options.h:159 +#: parse-options.h:161 msgid "no-op (backward compatibility)" msgstr "sans action (rétrocompatibilité)" -#: parse-options.h:236 +#: parse-options.h:238 msgid "be more verbose" msgstr "être plus verbeux" -#: parse-options.h:238 +#: parse-options.h:240 msgid "be more quiet" msgstr "être plus silencieux" -#: parse-options.h:244 +#: parse-options.h:246 msgid "use <n> digits to display SHA-1s" msgstr "utiliser <n> chiffres pour afficher les SHA-1s" #: common-cmds.h:8 msgid "Add file contents to the index" -msgstr "Ajouter le contenu du fichier dans l'index" +msgstr "Ajouter le contenu de fichiers dans l'index" #: common-cmds.h:9 msgid "Find by binary search the change that introduced a bug" -msgstr "Rechercher de manière binaire le changement qui a introduit un bogue" +msgstr "Trouver par recherche binaire la modification qui a introduit un bogue" #: common-cmds.h:10 msgid "List, create, or delete branches" @@ -9569,7 +9855,7 @@ msgstr "Cloner un dépôt dans un nouveau répertoire" #: common-cmds.h:13 msgid "Record changes to the repository" -msgstr "Enregistrer les changements dans le dépôt" +msgstr "Enregistrer les modifications dans le dépôt" #: common-cmds.h:14 msgid "Show changes between commits, commit and working tree, etc" @@ -9595,7 +9881,7 @@ msgstr "Afficher l'historique des validations" #: common-cmds.h:19 msgid "Join two or more development histories together" -msgstr "Joindre deux ou plusieurs historiques de développement ensemble" +msgstr "Fusionner deux ou plusieurs historiques de développement ensemble" #: common-cmds.h:20 msgid "Move or rename a file, a directory, or a symlink" @@ -9603,7 +9889,7 @@ msgstr "Déplacer ou renommer un fichier, un répertoire, ou un lien symbolique" #: common-cmds.h:21 msgid "Fetch from and integrate with another repository or a local branch" -msgstr "Rapatrier et intégrer avec un autre dépôt ou une branche locale" +msgstr "Rapatrier et intégrer un autre dépôt ou une branche locale" #: common-cmds.h:22 msgid "Update remote refs along with associated objects" @@ -9612,7 +9898,7 @@ msgstr "Mettre à jour les références distantes ainsi que les objets associés #: common-cmds.h:23 msgid "Forward-port local commits to the updated upstream head" msgstr "" -"Reporter en avant les validations locales dans la tête en amont mise à jour" +"Reporter les validations locales sur le sommet mis à jour d'une branche amont" #: common-cmds.h:24 msgid "Reset current HEAD to the specified state" @@ -9620,7 +9906,7 @@ msgstr "Réinitialiser la HEAD courante à l'état spécifié" #: common-cmds.h:25 msgid "Remove files from the working tree and from the index" -msgstr "Supprimer les fichiers de la copie de travail et de l'index" +msgstr "Supprimer des fichiers de la copie de travail et de l'index" #: common-cmds.h:26 msgid "Show various types of objects" @@ -9991,7 +10277,7 @@ msgstr "" msgid "Pull is not possible because you have unmerged files." msgstr "Le pull n'est pas possible car vous avez des fichiers non fusionnés." -#: git-pull.sh:203 +#: git-pull.sh:223 msgid "updating an unborn branch with changes added to the index" msgstr "" "mise à jour d'une branche non encore créée avec les changements ajoutés dans " @@ -10001,7 +10287,7 @@ msgstr "" #. The working tree and the index file is still based on the #. $orig_head commit, but we are merging into $curr_head. #. First update the working tree to match $curr_head. -#: git-pull.sh:235 +#: git-pull.sh:255 #, sh-format msgid "" "Warning: fetch updated the current branch head.\n" @@ -10012,11 +10298,11 @@ msgstr "" "Attention : mise à jour en avance rapide de votre copie de travail\n" "Attention : depuis la validation $orig_head." -#: git-pull.sh:260 +#: git-pull.sh:280 msgid "Cannot merge multiple branches into empty head" msgstr "Impossible de fusionner de multiples branches sur une tête vide" -#: git-pull.sh:264 +#: git-pull.sh:284 msgid "Cannot rebase onto multiple branches" msgstr "Impossible de rebaser sur de multiples branches" @@ -10051,33 +10337,33 @@ msgstr "" "Vos modifications sont à l'abri dans la remise.\n" "Vous pouvez lancer \"git stash pop\" ou \"git stash drop\" à tout moment.\n" -#: git-rebase.sh:190 +#: git-rebase.sh:199 msgid "The pre-rebase hook refused to rebase." msgstr "Le crochet pre-rebase a refusé de rebaser." -#: git-rebase.sh:195 +#: git-rebase.sh:204 msgid "It looks like git-am is in progress. Cannot rebase." msgstr "Il semble que git-am soit en cours. Impossible de rebaser." -#: git-rebase.sh:329 +#: git-rebase.sh:338 msgid "The --exec option must be used with the --interactive option" msgstr "L'option --exec doit être utilisée avec l'option --interactive" -#: git-rebase.sh:334 +#: git-rebase.sh:343 msgid "No rebase in progress?" msgstr "Pas de rebasage en cours ?" -#: git-rebase.sh:345 +#: git-rebase.sh:354 msgid "The --edit-todo action can only be used during interactive rebase." msgstr "" "L'action --edit-todo peut seulement être utilisée lors d'un rebasage " "interactif." -#: git-rebase.sh:352 +#: git-rebase.sh:361 msgid "Cannot read HEAD" msgstr "Impossible de lire HEAD" -#: git-rebase.sh:355 +#: git-rebase.sh:364 msgid "" "You must edit all merge conflicts and then\n" "mark them as resolved using git add" @@ -10085,12 +10371,12 @@ msgstr "" "Vous devez éditer tous les conflits de fusion et\n" "les marquer comme résolus avec git add" -#: git-rebase.sh:373 +#: git-rebase.sh:382 #, sh-format msgid "Could not move back to $head_name" msgstr "Impossible de revenir à $head_name" -#: git-rebase.sh:392 +#: git-rebase.sh:401 #, sh-format msgid "" "It seems that there is already a $state_dir_base directory, and\n" @@ -10103,74 +10389,75 @@ msgid "" "valuable there." msgstr "" "Il semble qu'il y ait déjà un répertoire $state_dir_base, et je me demande\n" -"si vous n'êtes pas au milieu d'un autre rebasage. Si c'est le cas,\n" -"merci d'essayer\n" +"si un autre rebasage n'est pas déjà en cours. Si c'est le cas,\n" +"essayez\n" "\t$cmd_live_rebase\n" -"Si ça n'est pas le cas, merci de\n" +"Sinon, essayez\n" "\t$cmd_clear_stale_rebase\n" "puis relancez-moi à nouveau. Je m'arrête au cas où vous auriez quelque " "chose\n" "d'important ici." -#: git-rebase.sh:437 +#: git-rebase.sh:446 #, sh-format msgid "invalid upstream $upstream_name" msgstr "invalide $upstream_name en amont" -#: git-rebase.sh:461 +#: git-rebase.sh:470 #, sh-format msgid "$onto_name: there are more than one merge bases" msgstr "$onto_name : il y a plus d'une base de fusion" -#: git-rebase.sh:464 git-rebase.sh:468 +#: git-rebase.sh:473 git-rebase.sh:477 #, sh-format msgid "$onto_name: there is no merge base" msgstr "$onto_name : il n'y a pas de base de fusion" -#: git-rebase.sh:473 +#: git-rebase.sh:482 #, sh-format msgid "Does not point to a valid commit: $onto_name" msgstr "Ne pointe pas sur une validation valide : $onto_name" -#: git-rebase.sh:496 +#: git-rebase.sh:505 #, sh-format msgid "fatal: no such branch: $branch_name" msgstr "fatal : pas de branche : $branch_name" -#: git-rebase.sh:519 +#: git-rebase.sh:528 msgid "Cannot autostash" msgstr "Autoremisage impossible" -#: git-rebase.sh:524 +#: git-rebase.sh:533 #, sh-format msgid "Created autostash: $stash_abbrev" msgstr "Autoremisage créé : $stash_abbrev" -#: git-rebase.sh:528 +#: git-rebase.sh:537 msgid "Please commit or stash them." msgstr "Veuillez les valider ou les remiser." -#: git-rebase.sh:548 +#: git-rebase.sh:557 #, sh-format msgid "Current branch $branch_name is up to date." msgstr "La branche courante $branch_name est à jour." -#: git-rebase.sh:552 +#: git-rebase.sh:561 #, sh-format msgid "Current branch $branch_name is up to date, rebase forced." msgstr "La branche courante $branch_name est à jour, rebasage forcé." -#: git-rebase.sh:563 +#: git-rebase.sh:572 #, sh-format msgid "Changes from $mb to $onto:" msgstr "Changements de $mb sur $onto :" #. Detach HEAD and reset the tree -#: git-rebase.sh:572 +#: git-rebase.sh:581 msgid "First, rewinding head to replay your work on top of it..." -msgstr "Premièrement, retour de head pour rejouer votre travail par-dessus..." +msgstr "" +"Premièrement, rembobinons head pour rejouer votre travail par-dessus..." -#: git-rebase.sh:582 +#: git-rebase.sh:591 #, sh-format msgid "Fast-forwarded $branch_name to $onto_name." msgstr "$branch_name mise à jour en avance rapide sur $onto_name." @@ -10218,7 +10505,7 @@ msgstr "Impossible de mettre à jour $ref_stash avec $w_commit" #. $ git stash save --blah-blah 2>&1 | head -n 2 #. error: unknown option for 'stash save': --blah-blah #. To provide a message, use git stash save -- '--blah-blah' -#: git-stash.sh:241 +#: git-stash.sh:237 #, sh-format msgid "" "error: unknown option for 'stash save': $option\n" @@ -10227,98 +10514,85 @@ msgstr "" "erreur: option inconnue pour 'stash save': $option\n" " Pour fournir un message, utilisez git stash save -- '$option'" -#: git-stash.sh:262 +#: git-stash.sh:258 msgid "No local changes to save" -msgstr "Pas de changements en local à sauver" - -#: git-stash.sh:268 -msgid "" -"The following untracked files would NOT be saved but need to be removed by " -"stash save:" -msgstr "" -"Les fichiers suivants non suivis ne seront PAS sauvés mais doivent être " -"supprimés par l'état du remisage :" +msgstr "Pas de modifications locales à sauver" -#: git-stash.sh:270 -msgid "" -"Aborting. Consider using either the --force or --include-untracked option." -msgstr "Abandon. Utilisez l'option --force ou --include-untracked." - -#: git-stash.sh:274 +#: git-stash.sh:262 msgid "Cannot initialize stash" msgstr "Impossible d'initialiser le remisage" -#: git-stash.sh:278 +#: git-stash.sh:266 msgid "Cannot save the current status" msgstr "Impossible de sauver le statut courant" -#: git-stash.sh:296 +#: git-stash.sh:284 msgid "Cannot remove worktree changes" msgstr "Impossible de supprimer les changements de la copie de travail" -#: git-stash.sh:395 +#: git-stash.sh:383 msgid "No stash found." msgstr "Pas de remisage trouvé." -#: git-stash.sh:402 +#: git-stash.sh:390 #, sh-format msgid "Too many revisions specified: $REV" msgstr "Trop de révisions spécifiées : $REV" -#: git-stash.sh:408 +#: git-stash.sh:396 #, sh-format msgid "$reference is not valid reference" msgstr "$reference n'est pas une référence valide" -#: git-stash.sh:436 +#: git-stash.sh:424 #, sh-format msgid "'$args' is not a stash-like commit" msgstr "'$args' n'est pas une validation de type remisage" -#: git-stash.sh:447 +#: git-stash.sh:435 #, sh-format msgid "'$args' is not a stash reference" msgstr "'$args' n'est pas une référence de remisage" -#: git-stash.sh:455 +#: git-stash.sh:443 msgid "unable to refresh index" msgstr "impossible de rafraîchir l'index" -#: git-stash.sh:459 +#: git-stash.sh:447 msgid "Cannot apply a stash in the middle of a merge" -msgstr "Impossible d'appliquer un remisage au milieu d'une fusion" +msgstr "Impossible d'appliquer un remisage en cours de fusion" -#: git-stash.sh:467 +#: git-stash.sh:455 msgid "Conflicts in index. Try without --index." msgstr "Conflits dans l'index. Essayez sans --index." -#: git-stash.sh:469 +#: git-stash.sh:457 msgid "Could not save index tree" msgstr "Impossible de sauver l'arbre d'index" -#: git-stash.sh:503 +#: git-stash.sh:491 msgid "Cannot unstage modified files" msgstr "Impossible de désindexer les fichiers modifiés" -#: git-stash.sh:518 +#: git-stash.sh:506 msgid "Index was not unstashed." -msgstr "L'index n'a pas été sorti de remise" +msgstr "L'index n'a pas été sorti de remise." -#: git-stash.sh:535 +#: git-stash.sh:523 #, sh-format msgid "Dropped ${REV} ($s)" msgstr "${REV} supprimé ($s)" -#: git-stash.sh:536 +#: git-stash.sh:524 #, sh-format msgid "${REV}: Could not drop stash entry" msgstr "${REV}: Impossible de supprimer l'élément de stash" -#: git-stash.sh:543 +#: git-stash.sh:531 msgid "No branch name specified" msgstr "Aucune branche spécifiée" -#: git-stash.sh:615 +#: git-stash.sh:603 msgid "(To restore them type \"git stash apply\")" msgstr "(Pour les restaurer tapez \"git stash apply\")" @@ -10604,46 +10878,55 @@ msgid "The --cached option cannot be used with the --files option" msgstr "L'option --cached ne peut pas être utilisée avec l'option --files" #. unexpected type -#: git-submodule.sh:1066 +#: git-submodule.sh:1073 #, sh-format msgid "unexpected mode $mod_dst" msgstr "mode $mod_dst inattendu" -#: git-submodule.sh:1086 +#: git-submodule.sh:1093 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_src" msgstr " Attention : $display_name ne contient pas la validation $sha1_src" -#: git-submodule.sh:1089 +#: git-submodule.sh:1096 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_dst" msgstr " Attention : $display_name ne contient pas la validation $sha1_dst" -#: git-submodule.sh:1092 +#: git-submodule.sh:1099 #, sh-format msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst" msgstr "" " Attention : $display_name ne contient pas les validations $sha1_src et " "$sha1_dst" -#: git-submodule.sh:1117 +#: git-submodule.sh:1124 msgid "blob" msgstr "blob" -#: git-submodule.sh:1155 -msgid "Submodules changed but not updated:" -msgstr "Sous-modules modifiés mais non mis à jour :" - -#: git-submodule.sh:1157 -msgid "Submodule changes to be committed:" -msgstr "Changements du sous-module à valider :" - -#: git-submodule.sh:1242 +#: git-submodule.sh:1238 #, sh-format msgid "Failed to recurse into submodule path '$sm_path'" msgstr "Échec de parcours dans le chemin du sous-module '$sm_path'" -#: git-submodule.sh:1306 +#: git-submodule.sh:1302 #, sh-format msgid "Synchronizing submodule url for '$displaypath'" msgstr "Synchronisation de l'URL sous-module pour '$displaypath'" + +#~ msgid "input paths are terminated by a null character" +#~ msgstr "les chemins en entrée sont terminés par le caractère nul" + +#~ msgid "done\n" +#~ msgstr "fait\n" + +#~ msgid "" +#~ "The following untracked files would NOT be saved but need to be removed " +#~ "by stash save:" +#~ msgstr "" +#~ "Les fichiers suivants non suivis ne seront PAS sauvés mais doivent être " +#~ "supprimés par le remisage :" + +#~ msgid "" +#~ "Aborting. Consider using either the --force or --include-untracked option." +#~ msgstr "Abandon. Utilisez l'option --force ou --include-untracked." diff --git a/po/git.pot b/po/git.pot index c91e197521..58af01a219 100644 --- a/po/git.pot +++ b/po/git.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2013-08-06 14:10+0800\n" +"POT-Creation-Date: 2013-11-02 08:06+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -52,71 +52,76 @@ msgstr "" msgid "git archive --remote <repo> [--exec <cmd>] --list" msgstr "" -#: archive.c:323 +#: archive.c:242 builtin/add.c:240 builtin/add.c:556 builtin/rm.c:328 +#, c-format +msgid "pathspec '%s' did not match any files" +msgstr "" + +#: archive.c:327 msgid "fmt" msgstr "" -#: archive.c:323 +#: archive.c:327 msgid "archive format" msgstr "" -#: archive.c:324 builtin/log.c:1173 +#: archive.c:328 builtin/log.c:1193 msgid "prefix" msgstr "" -#: archive.c:325 +#: archive.c:329 msgid "prepend prefix to each pathname in the archive" msgstr "" -#: archive.c:326 builtin/archive.c:88 builtin/blame.c:2292 -#: builtin/blame.c:2293 builtin/config.c:56 builtin/fast-export.c:673 -#: builtin/fast-export.c:675 builtin/grep.c:714 builtin/hash-object.c:77 -#: builtin/ls-files.c:496 builtin/ls-files.c:499 builtin/notes.c:408 -#: builtin/notes.c:565 builtin/read-tree.c:108 parse-options.h:152 +#: archive.c:330 builtin/archive.c:88 builtin/blame.c:2264 +#: builtin/blame.c:2265 builtin/config.c:58 builtin/fast-export.c:680 +#: builtin/fast-export.c:682 builtin/grep.c:716 builtin/hash-object.c:77 +#: builtin/ls-files.c:486 builtin/ls-files.c:489 builtin/notes.c:408 +#: builtin/notes.c:565 builtin/read-tree.c:108 parse-options.h:154 msgid "file" msgstr "" -#: archive.c:327 builtin/archive.c:89 +#: archive.c:331 builtin/archive.c:89 msgid "write the archive to this file" msgstr "" -#: archive.c:329 +#: archive.c:333 msgid "read .gitattributes in working directory" msgstr "" -#: archive.c:330 +#: archive.c:334 msgid "report archived files on stderr" msgstr "" -#: archive.c:331 +#: archive.c:335 msgid "store only" msgstr "" -#: archive.c:332 +#: archive.c:336 msgid "compress faster" msgstr "" -#: archive.c:340 +#: archive.c:344 msgid "compress better" msgstr "" -#: archive.c:343 +#: archive.c:347 msgid "list supported archive formats" msgstr "" -#: archive.c:345 builtin/archive.c:90 builtin/clone.c:85 +#: archive.c:349 builtin/archive.c:90 builtin/clone.c:84 msgid "repo" msgstr "" -#: archive.c:346 builtin/archive.c:91 +#: archive.c:350 builtin/archive.c:91 msgid "retrieve the archive from remote repository <repo>" msgstr "" -#: archive.c:347 builtin/archive.c:92 builtin/notes.c:487 +#: archive.c:351 builtin/archive.c:92 builtin/notes.c:487 msgid "command" msgstr "" -#: archive.c:348 builtin/archive.c:93 +#: archive.c:352 builtin/archive.c:93 msgid "path to the remote git-upload-archive command" msgstr "" @@ -195,17 +200,17 @@ msgstr "" msgid "Cannot force update the current branch." msgstr "" -#: branch.c:216 +#: branch.c:215 #, c-format msgid "Cannot setup tracking information; starting point '%s' is not a branch." msgstr "" -#: branch.c:218 +#: branch.c:217 #, c-format msgid "the requested upstream branch '%s' does not exist" msgstr "" -#: branch.c:220 +#: branch.c:219 msgid "" "\n" "If you are planning on basing your work on an upstream\n" @@ -217,26 +222,26 @@ msgid "" "\"git push -u\" to set the upstream config as you push." msgstr "" -#: branch.c:265 +#: branch.c:264 #, c-format msgid "Not a valid object name: '%s'." msgstr "" -#: branch.c:285 +#: branch.c:284 #, c-format msgid "Ambiguous object name: '%s'." msgstr "" -#: branch.c:290 +#: branch.c:289 #, c-format msgid "Not a valid branch point: '%s'." msgstr "" -#: branch.c:296 +#: branch.c:295 msgid "Failed to lock ref for update" msgstr "" -#: branch.c:314 +#: branch.c:313 msgid "Failed to write ref" msgstr "" @@ -250,7 +255,7 @@ msgstr "" msgid "unrecognized header: %s%s (%d)" msgstr "" -#: bundle.c:89 builtin/commit.c:697 +#: bundle.c:89 builtin/commit.c:706 #, c-format msgid "could not open '%s'" msgstr "" @@ -259,9 +264,9 @@ msgstr "" msgid "Repository lacks these prerequisite commits:" msgstr "" -#: bundle.c:164 sequencer.c:661 sequencer.c:1111 builtin/log.c:331 -#: builtin/log.c:801 builtin/log.c:1399 builtin/log.c:1625 builtin/merge.c:364 -#: builtin/shortlog.c:156 +#: bundle.c:164 sequencer.c:662 sequencer.c:1112 builtin/log.c:332 +#: builtin/log.c:821 builtin/log.c:1418 builtin/log.c:1644 builtin/merge.c:364 +#: builtin/shortlog.c:158 msgid "revision walk setup failed" msgstr "" @@ -287,7 +292,7 @@ msgstr[1] "" msgid "rev-list died" msgstr "" -#: bundle.c:300 builtin/log.c:1310 builtin/shortlog.c:259 +#: bundle.c:300 builtin/log.c:1329 builtin/shortlog.c:261 #, c-format msgid "unrecognized argument: %s" msgstr "" @@ -435,14 +440,14 @@ msgid "" "%s" msgstr "" -#: diff.c:3487 +#: diff.c:3490 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" "%s" msgstr "" -#: diff.c:3501 +#: diff.c:3504 #, c-format msgid "Failed to parse --submodule option parameter: '%s'" msgstr "" @@ -469,17 +474,17 @@ msgstr "" msgid "failed writing detached signature to '%s': %s" msgstr "" -#: grep.c:1623 +#: grep.c:1695 #, c-format msgid "'%s': unable to read %s" msgstr "" -#: grep.c:1640 +#: grep.c:1712 #, c-format msgid "'%s': %s" msgstr "" -#: grep.c:1651 +#: grep.c:1723 #, c-format msgid "'%s': short read %s" msgstr "" @@ -544,8 +549,8 @@ msgstr "" msgid "failed to read the cache" msgstr "" -#: merge.c:110 builtin/checkout.c:365 builtin/checkout.c:566 -#: builtin/clone.c:656 +#: merge.c:110 builtin/checkout.c:358 builtin/checkout.c:559 +#: builtin/clone.c:655 msgid "unable to write new index file" msgstr "" @@ -594,7 +599,7 @@ msgstr "" msgid "blob expected for %s '%s'" msgstr "" -#: merge-recursive.c:774 builtin/clone.c:312 +#: merge-recursive.c:774 builtin/clone.c:311 #, c-format msgid "failed to open '%s'" msgstr "" @@ -721,7 +726,7 @@ msgstr "" msgid "Auto-merging %s" msgstr "" -#: merge-recursive.c:1634 git-submodule.sh:1118 +#: merge-recursive.c:1634 git-submodule.sh:1125 msgid "submodule" msgstr "" @@ -816,58 +821,121 @@ msgstr "" msgid "Bad %s value: '%s'" msgstr "" -#: object.c:204 +#: object.c:202 #, c-format msgid "unable to parse object: %s" msgstr "" -#: parse-options.c:489 +#: parse-options.c:537 msgid "..." msgstr "" -#: parse-options.c:507 +#: parse-options.c:555 #, c-format msgid "usage: %s" msgstr "" #. TRANSLATORS: the colon here should align with the #. one in "usage: %s" translation -#: parse-options.c:511 +#: parse-options.c:559 #, c-format msgid " or: %s" msgstr "" -#: parse-options.c:514 +#: parse-options.c:562 #, c-format msgid " %s" msgstr "" -#: parse-options.c:548 +#: parse-options.c:596 msgid "-NUM" msgstr "" -#: pathspec.c:83 +#: pathspec.c:118 +msgid "global 'glob' and 'noglob' pathspec settings are incompatible" +msgstr "" + +#: pathspec.c:128 +msgid "" +"global 'literal' pathspec setting is incompatible with all other global " +"pathspec settings" +msgstr "" + +#: pathspec.c:158 +msgid "invalid parameter for pathspec magic 'prefix'" +msgstr "" + +#: pathspec.c:164 +#, c-format +msgid "Invalid pathspec magic '%.*s' in '%s'" +msgstr "" + +#: pathspec.c:168 +#, c-format +msgid "Missing ')' at the end of pathspec magic in '%s'" +msgstr "" + +#: pathspec.c:186 +#, c-format +msgid "Unimplemented pathspec magic '%c' in '%s'" +msgstr "" + +#: pathspec.c:211 +#, c-format +msgid "%s: 'literal' and 'glob' are incompatible" +msgstr "" + +#: pathspec.c:222 +#, c-format +msgid "%s: '%s' is outside repository" +msgstr "" + +#: pathspec.c:278 +#, c-format +msgid "Pathspec '%s' is in submodule '%.*s'" +msgstr "" + +#. +#. * We may want to substitute "this command" with a command +#. * name. E.g. when add--interactive dies when running +#. * "checkout -p" +#. +#: pathspec.c:340 +#, c-format +msgid "%s: pathspec magic not supported by this command: %s" +msgstr "" + +#: pathspec.c:415 #, c-format -msgid "Path '%s' is in submodule '%.*s'" +msgid "pathspec '%s' is beyond a symbolic link" msgstr "" -#: pathspec.c:99 +#: remote.c:1833 #, c-format -msgid "'%s' is beyond a symbolic link" +msgid "Your branch is based on '%s', but the upstream is gone.\n" +msgstr "" + +#: remote.c:1837 +msgid " (use \"git branch --unset-upstream\" to fixup)\n" msgstr "" -#: remote.c:1788 +#: remote.c:1840 +#, c-format +msgid "Your branch is up-to-date with '%s'.\n" +msgstr "" + +#: remote.c:1844 #, c-format msgid "Your branch is ahead of '%s' by %d commit.\n" msgid_plural "Your branch is ahead of '%s' by %d commits.\n" msgstr[0] "" msgstr[1] "" -#: remote.c:1794 +#: remote.c:1850 msgid " (use \"git push\" to publish your local commits)\n" msgstr "" -#: remote.c:1797 +#: remote.c:1853 #, c-format msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n" msgid_plural "" @@ -875,11 +943,11 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: remote.c:1805 +#: remote.c:1861 msgid " (use \"git pull\" to update your local branch)\n" msgstr "" -#: remote.c:1808 +#: remote.c:1864 #, c-format msgid "" "Your branch and '%s' have diverged,\n" @@ -890,7 +958,7 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: remote.c:1818 +#: remote.c:1874 msgid " (use \"git pull\" to merge the remote branch into yours)\n" msgstr "" @@ -928,7 +996,7 @@ msgid "" "and commit the result with 'git commit'" msgstr "" -#: sequencer.c:245 sequencer.c:869 sequencer.c:952 +#: sequencer.c:245 sequencer.c:870 sequencer.c:953 #, c-format msgid "Could not write to %s" msgstr "" @@ -951,197 +1019,197 @@ msgid "Commit your changes or stash them to proceed." msgstr "" #. TRANSLATORS: %s will be "revert" or "cherry-pick" -#: sequencer.c:324 +#: sequencer.c:325 #, c-format msgid "%s: Unable to write new index file" msgstr "" -#: sequencer.c:355 +#: sequencer.c:356 msgid "Could not resolve HEAD commit\n" msgstr "" -#: sequencer.c:377 +#: sequencer.c:378 msgid "Unable to update cache tree\n" msgstr "" -#: sequencer.c:422 +#: sequencer.c:423 #, c-format msgid "Could not parse commit %s\n" msgstr "" -#: sequencer.c:427 +#: sequencer.c:428 #, c-format msgid "Could not parse parent commit %s\n" msgstr "" -#: sequencer.c:493 +#: sequencer.c:494 msgid "Your index file is unmerged." msgstr "" -#: sequencer.c:512 +#: sequencer.c:513 #, c-format msgid "Commit %s is a merge but no -m option was given." msgstr "" -#: sequencer.c:520 +#: sequencer.c:521 #, c-format msgid "Commit %s does not have parent %d" msgstr "" -#: sequencer.c:524 +#: sequencer.c:525 #, c-format msgid "Mainline was specified but commit %s is not a merge." msgstr "" #. TRANSLATORS: The first %s will be "revert" or #. "cherry-pick", the second %s a SHA1 -#: sequencer.c:537 +#: sequencer.c:538 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "" -#: sequencer.c:541 +#: sequencer.c:542 #, c-format msgid "Cannot get commit message for %s" msgstr "" -#: sequencer.c:627 +#: sequencer.c:628 #, c-format msgid "could not revert %s... %s" msgstr "" -#: sequencer.c:628 +#: sequencer.c:629 #, c-format msgid "could not apply %s... %s" msgstr "" -#: sequencer.c:664 +#: sequencer.c:665 msgid "empty commit set passed" msgstr "" -#: sequencer.c:672 +#: sequencer.c:673 #, c-format msgid "git %s: failed to read the index" msgstr "" -#: sequencer.c:677 +#: sequencer.c:678 #, c-format msgid "git %s: failed to refresh the index" msgstr "" -#: sequencer.c:735 +#: sequencer.c:736 #, c-format msgid "Cannot %s during a %s" msgstr "" -#: sequencer.c:757 +#: sequencer.c:758 #, c-format msgid "Could not parse line %d." msgstr "" -#: sequencer.c:762 +#: sequencer.c:763 msgid "No commits parsed." msgstr "" -#: sequencer.c:775 +#: sequencer.c:776 #, c-format msgid "Could not open %s" msgstr "" -#: sequencer.c:779 +#: sequencer.c:780 #, c-format msgid "Could not read %s." msgstr "" -#: sequencer.c:786 +#: sequencer.c:787 #, c-format msgid "Unusable instruction sheet: %s" msgstr "" -#: sequencer.c:814 +#: sequencer.c:815 #, c-format msgid "Invalid key: %s" msgstr "" -#: sequencer.c:817 +#: sequencer.c:818 #, c-format msgid "Invalid value for %s: %s" msgstr "" -#: sequencer.c:829 +#: sequencer.c:830 #, c-format msgid "Malformed options sheet: %s" msgstr "" -#: sequencer.c:850 +#: sequencer.c:851 msgid "a cherry-pick or revert is already in progress" msgstr "" -#: sequencer.c:851 +#: sequencer.c:852 msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" msgstr "" -#: sequencer.c:855 +#: sequencer.c:856 #, c-format msgid "Could not create sequencer directory %s" msgstr "" -#: sequencer.c:871 sequencer.c:956 +#: sequencer.c:872 sequencer.c:957 #, c-format msgid "Error wrapping up %s." msgstr "" -#: sequencer.c:890 sequencer.c:1024 +#: sequencer.c:891 sequencer.c:1025 msgid "no cherry-pick or revert in progress" msgstr "" -#: sequencer.c:892 +#: sequencer.c:893 msgid "cannot resolve HEAD" msgstr "" -#: sequencer.c:894 +#: sequencer.c:895 msgid "cannot abort from a branch yet to be born" msgstr "" -#: sequencer.c:916 builtin/apply.c:4061 +#: sequencer.c:917 builtin/apply.c:4061 #, c-format msgid "cannot open %s: %s" msgstr "" -#: sequencer.c:919 +#: sequencer.c:920 #, c-format msgid "cannot read %s: %s" msgstr "" -#: sequencer.c:920 +#: sequencer.c:921 msgid "unexpected end of file" msgstr "" -#: sequencer.c:926 +#: sequencer.c:927 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "" -#: sequencer.c:949 +#: sequencer.c:950 #, c-format msgid "Could not format %s." msgstr "" -#: sequencer.c:1092 +#: sequencer.c:1093 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "" -#: sequencer.c:1095 +#: sequencer.c:1096 #, c-format msgid "%s: bad revision" msgstr "" -#: sequencer.c:1129 +#: sequencer.c:1130 msgid "Can't revert as initial commit" msgstr "" -#: sequencer.c:1130 +#: sequencer.c:1131 msgid "Can't cherry-pick into empty head" msgstr "" @@ -1158,360 +1226,453 @@ msgid "" "running \"git config advice.objectNameWarning false\"" msgstr "" -#: sha1_name.c:1097 +#: sha1_name.c:1112 msgid "HEAD does not point to a branch" msgstr "" -#: sha1_name.c:1100 +#: sha1_name.c:1115 #, c-format msgid "No such branch: '%s'" msgstr "" -#: sha1_name.c:1102 +#: sha1_name.c:1117 #, c-format msgid "No upstream configured for branch '%s'" msgstr "" -#: sha1_name.c:1106 +#: sha1_name.c:1121 #, c-format msgid "Upstream branch '%s' not stored as a remote-tracking branch" msgstr "" -#: wrapper.c:408 +#: submodule.c:64 submodule.c:98 +msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" +msgstr "" + +#: submodule.c:68 submodule.c:102 +#, c-format +msgid "Could not find section in .gitmodules where path=%s" +msgstr "" + +#. Maybe the user already did that, don't error out here +#: submodule.c:76 +#, c-format +msgid "Could not update .gitmodules entry %s" +msgstr "" + +#. Maybe the user already did that, don't error out here +#: submodule.c:109 +#, c-format +msgid "Could not remove .gitmodules entry for %s" +msgstr "" + +#: submodule.c:127 +msgid "could not find .gitmodules in index" +msgstr "" + +#: submodule.c:133 +msgid "reading updated .gitmodules failed" +msgstr "" + +#: submodule.c:135 +msgid "unable to stat updated .gitmodules" +msgstr "" + +#: submodule.c:139 +msgid "unable to remove .gitmodules from index" +msgstr "" + +#: submodule.c:141 +msgid "adding updated .gitmodules failed" +msgstr "" + +#: submodule.c:143 +msgid "staging updated .gitmodules failed" +msgstr "" + +#: submodule.c:1144 builtin/init-db.c:363 +#, c-format +msgid "Could not create git link %s" +msgstr "" + +#: submodule.c:1155 +#, c-format +msgid "Could not set core.worktree in %s" +msgstr "" + +#: urlmatch.c:120 +msgid "invalid URL scheme name or missing '://' suffix" +msgstr "" + +#: urlmatch.c:144 urlmatch.c:297 urlmatch.c:356 +#, c-format +msgid "invalid %XX escape sequence" +msgstr "" + +#: urlmatch.c:172 +msgid "missing host and scheme is not 'file:'" +msgstr "" + +#: urlmatch.c:189 +msgid "a 'file:' URL may not have a port number" +msgstr "" + +#: urlmatch.c:199 +msgid "invalid characters in host name" +msgstr "" + +#: urlmatch.c:244 urlmatch.c:255 +msgid "invalid port number" +msgstr "" + +#: urlmatch.c:322 +msgid "invalid '..' path segment" +msgstr "" + +#: wrapper.c:422 #, c-format msgid "unable to access '%s': %s" msgstr "" -#: wrapper.c:429 +#: wrapper.c:443 #, c-format msgid "unable to access '%s'" msgstr "" -#: wrapper.c:440 +#: wrapper.c:454 #, c-format msgid "unable to look up current user in the passwd file: %s" msgstr "" -#: wrapper.c:441 +#: wrapper.c:455 msgid "no such user" msgstr "" -#: wt-status.c:141 +#: wt-status.c:146 msgid "Unmerged paths:" msgstr "" -#: wt-status.c:168 wt-status.c:195 +#: wt-status.c:173 wt-status.c:200 #, c-format msgid " (use \"git reset %s <file>...\" to unstage)" msgstr "" -#: wt-status.c:170 wt-status.c:197 +#: wt-status.c:175 wt-status.c:202 msgid " (use \"git rm --cached <file>...\" to unstage)" msgstr "" -#: wt-status.c:174 +#: wt-status.c:179 msgid " (use \"git add <file>...\" to mark resolution)" msgstr "" -#: wt-status.c:176 wt-status.c:180 +#: wt-status.c:181 wt-status.c:185 msgid " (use \"git add/rm <file>...\" as appropriate to mark resolution)" msgstr "" -#: wt-status.c:178 +#: wt-status.c:183 msgid " (use \"git rm <file>...\" to mark resolution)" msgstr "" -#: wt-status.c:189 +#: wt-status.c:194 msgid "Changes to be committed:" msgstr "" -#: wt-status.c:207 +#: wt-status.c:212 msgid "Changes not staged for commit:" msgstr "" -#: wt-status.c:211 +#: wt-status.c:216 msgid " (use \"git add <file>...\" to update what will be committed)" msgstr "" -#: wt-status.c:213 +#: wt-status.c:218 msgid " (use \"git add/rm <file>...\" to update what will be committed)" msgstr "" -#: wt-status.c:214 +#: wt-status.c:219 msgid "" " (use \"git checkout -- <file>...\" to discard changes in working directory)" msgstr "" -#: wt-status.c:216 +#: wt-status.c:221 msgid " (commit or discard the untracked or modified content in submodules)" msgstr "" -#: wt-status.c:228 +#: wt-status.c:233 #, c-format msgid " (use \"git %s <file>...\" to include in what will be committed)" msgstr "" -#: wt-status.c:245 +#: wt-status.c:250 msgid "bug" msgstr "" -#: wt-status.c:250 +#: wt-status.c:255 msgid "both deleted:" msgstr "" -#: wt-status.c:251 +#: wt-status.c:256 msgid "added by us:" msgstr "" -#: wt-status.c:252 +#: wt-status.c:257 msgid "deleted by them:" msgstr "" -#: wt-status.c:253 +#: wt-status.c:258 msgid "added by them:" msgstr "" -#: wt-status.c:254 +#: wt-status.c:259 msgid "deleted by us:" msgstr "" -#: wt-status.c:255 +#: wt-status.c:260 msgid "both added:" msgstr "" -#: wt-status.c:256 +#: wt-status.c:261 msgid "both modified:" msgstr "" -#: wt-status.c:286 +#: wt-status.c:291 msgid "new commits, " msgstr "" -#: wt-status.c:288 +#: wt-status.c:293 msgid "modified content, " msgstr "" -#: wt-status.c:290 +#: wt-status.c:295 msgid "untracked content, " msgstr "" -#: wt-status.c:307 +#: wt-status.c:312 #, c-format msgid "new file: %s" msgstr "" -#: wt-status.c:310 +#: wt-status.c:315 #, c-format msgid "copied: %s -> %s" msgstr "" -#: wt-status.c:313 +#: wt-status.c:318 #, c-format msgid "deleted: %s" msgstr "" -#: wt-status.c:316 +#: wt-status.c:321 #, c-format msgid "modified: %s" msgstr "" -#: wt-status.c:319 +#: wt-status.c:324 #, c-format msgid "renamed: %s -> %s" msgstr "" -#: wt-status.c:322 +#: wt-status.c:327 #, c-format msgid "typechange: %s" msgstr "" -#: wt-status.c:325 +#: wt-status.c:330 #, c-format msgid "unknown: %s" msgstr "" -#: wt-status.c:328 +#: wt-status.c:333 #, c-format msgid "unmerged: %s" msgstr "" -#: wt-status.c:331 +#: wt-status.c:336 #, c-format msgid "bug: unhandled diff status %c" msgstr "" -#: wt-status.c:803 +#: wt-status.c:703 +msgid "Submodules changed but not updated:" +msgstr "" + +#: wt-status.c:705 +msgid "Submodule changes to be committed:" +msgstr "" + +#: wt-status.c:848 msgid "You have unmerged paths." msgstr "" -#: wt-status.c:806 +#: wt-status.c:851 msgid " (fix conflicts and run \"git commit\")" msgstr "" -#: wt-status.c:809 +#: wt-status.c:854 msgid "All conflicts fixed but you are still merging." msgstr "" -#: wt-status.c:812 +#: wt-status.c:857 msgid " (use \"git commit\" to conclude merge)" msgstr "" -#: wt-status.c:822 +#: wt-status.c:867 msgid "You are in the middle of an am session." msgstr "" -#: wt-status.c:825 +#: wt-status.c:870 msgid "The current patch is empty." msgstr "" -#: wt-status.c:829 +#: wt-status.c:874 msgid " (fix conflicts and then run \"git am --continue\")" msgstr "" -#: wt-status.c:831 +#: wt-status.c:876 msgid " (use \"git am --skip\" to skip this patch)" msgstr "" -#: wt-status.c:833 +#: wt-status.c:878 msgid " (use \"git am --abort\" to restore the original branch)" msgstr "" -#: wt-status.c:893 wt-status.c:910 +#: wt-status.c:938 wt-status.c:955 #, c-format msgid "You are currently rebasing branch '%s' on '%s'." msgstr "" -#: wt-status.c:898 wt-status.c:915 +#: wt-status.c:943 wt-status.c:960 msgid "You are currently rebasing." msgstr "" -#: wt-status.c:901 +#: wt-status.c:946 msgid " (fix conflicts and then run \"git rebase --continue\")" msgstr "" -#: wt-status.c:903 +#: wt-status.c:948 msgid " (use \"git rebase --skip\" to skip this patch)" msgstr "" -#: wt-status.c:905 +#: wt-status.c:950 msgid " (use \"git rebase --abort\" to check out the original branch)" msgstr "" -#: wt-status.c:918 +#: wt-status.c:963 msgid " (all conflicts fixed: run \"git rebase --continue\")" msgstr "" -#: wt-status.c:922 +#: wt-status.c:967 #, c-format msgid "" "You are currently splitting a commit while rebasing branch '%s' on '%s'." msgstr "" -#: wt-status.c:927 +#: wt-status.c:972 msgid "You are currently splitting a commit during a rebase." msgstr "" -#: wt-status.c:930 +#: wt-status.c:975 msgid " (Once your working directory is clean, run \"git rebase --continue\")" msgstr "" -#: wt-status.c:934 +#: wt-status.c:979 #, c-format msgid "You are currently editing a commit while rebasing branch '%s' on '%s'." msgstr "" -#: wt-status.c:939 +#: wt-status.c:984 msgid "You are currently editing a commit during a rebase." msgstr "" -#: wt-status.c:942 +#: wt-status.c:987 msgid " (use \"git commit --amend\" to amend the current commit)" msgstr "" -#: wt-status.c:944 +#: wt-status.c:989 msgid "" " (use \"git rebase --continue\" once you are satisfied with your changes)" msgstr "" -#: wt-status.c:954 -msgid "You are currently cherry-picking." +#: wt-status.c:999 +#, c-format +msgid "You are currently cherry-picking commit %s." msgstr "" -#: wt-status.c:958 +#: wt-status.c:1004 msgid " (fix conflicts and run \"git cherry-pick --continue\")" msgstr "" -#: wt-status.c:961 +#: wt-status.c:1007 msgid " (all conflicts fixed: run \"git cherry-pick --continue\")" msgstr "" -#: wt-status.c:963 +#: wt-status.c:1009 msgid " (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)" msgstr "" -#: wt-status.c:972 +#: wt-status.c:1018 #, c-format msgid "You are currently reverting commit %s." msgstr "" -#: wt-status.c:977 +#: wt-status.c:1023 msgid " (fix conflicts and run \"git revert --continue\")" msgstr "" -#: wt-status.c:980 +#: wt-status.c:1026 msgid " (all conflicts fixed: run \"git revert --continue\")" msgstr "" -#: wt-status.c:982 +#: wt-status.c:1028 msgid " (use \"git revert --abort\" to cancel the revert operation)" msgstr "" -#: wt-status.c:993 +#: wt-status.c:1039 #, c-format msgid "You are currently bisecting, started from branch '%s'." msgstr "" -#: wt-status.c:997 +#: wt-status.c:1043 msgid "You are currently bisecting." msgstr "" -#: wt-status.c:1000 +#: wt-status.c:1046 msgid " (use \"git bisect reset\" to get back to the original branch)" msgstr "" -#: wt-status.c:1173 +#: wt-status.c:1221 msgid "On branch " msgstr "" -#: wt-status.c:1180 +#: wt-status.c:1228 msgid "rebase in progress; onto " msgstr "" -#: wt-status.c:1187 +#: wt-status.c:1235 msgid "HEAD detached at " msgstr "" -#: wt-status.c:1189 +#: wt-status.c:1237 msgid "HEAD detached from " msgstr "" -#: wt-status.c:1192 +#: wt-status.c:1240 msgid "Not currently on any branch." msgstr "" -#: wt-status.c:1209 +#: wt-status.c:1257 msgid "Initial commit" msgstr "" -#: wt-status.c:1223 +#: wt-status.c:1271 msgid "Untracked files" msgstr "" -#: wt-status.c:1225 +#: wt-status.c:1273 msgid "Ignored files" msgstr "" -#: wt-status.c:1229 +#: wt-status.c:1277 #, c-format msgid "" "It took %.2f seconds to enumerate untracked files. 'status -uno'\n" @@ -1519,82 +1680,86 @@ msgid "" "new files yourself (see 'git help status')." msgstr "" -#: wt-status.c:1235 +#: wt-status.c:1283 #, c-format msgid "Untracked files not listed%s" msgstr "" -#: wt-status.c:1237 +#: wt-status.c:1285 msgid " (use -u option to show untracked files)" msgstr "" -#: wt-status.c:1243 +#: wt-status.c:1291 msgid "No changes" msgstr "" -#: wt-status.c:1248 +#: wt-status.c:1296 #, c-format msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n" msgstr "" -#: wt-status.c:1251 +#: wt-status.c:1299 #, c-format msgid "no changes added to commit\n" msgstr "" -#: wt-status.c:1254 +#: wt-status.c:1302 #, c-format msgid "" "nothing added to commit but untracked files present (use \"git add\" to " "track)\n" msgstr "" -#: wt-status.c:1257 +#: wt-status.c:1305 #, c-format msgid "nothing added to commit but untracked files present\n" msgstr "" -#: wt-status.c:1260 +#: wt-status.c:1308 #, c-format msgid "nothing to commit (create/copy files and use \"git add\" to track)\n" msgstr "" -#: wt-status.c:1263 wt-status.c:1268 +#: wt-status.c:1311 wt-status.c:1316 #, c-format msgid "nothing to commit\n" msgstr "" -#: wt-status.c:1266 +#: wt-status.c:1314 #, c-format msgid "nothing to commit (use -u to show untracked files)\n" msgstr "" -#: wt-status.c:1270 +#: wt-status.c:1318 #, c-format msgid "nothing to commit, working directory clean\n" msgstr "" -#: wt-status.c:1378 +#: wt-status.c:1427 msgid "HEAD (no branch)" msgstr "" -#: wt-status.c:1384 +#: wt-status.c:1433 msgid "Initial commit on " msgstr "" -#: wt-status.c:1399 +#: wt-status.c:1463 +msgid "gone" +msgstr "" + +#: wt-status.c:1465 msgid "behind " msgstr "" -#: wt-status.c:1402 wt-status.c:1405 +#: wt-status.c:1468 wt-status.c:1471 msgid "ahead " msgstr "" -#: wt-status.c:1407 +#: wt-status.c:1473 msgid ", behind " msgstr "" -#: compat/precompose_utf8.c:58 builtin/clone.c:351 +#: compat/precompose_utf8.c:55 builtin/clone.c:350 #, c-format msgid "failed to unlink '%s'" msgstr "" @@ -1654,7 +1819,7 @@ msgstr "" msgid "unexpected diff status %c" msgstr "" -#: builtin/add.c:149 builtin/commit.c:252 +#: builtin/add.c:149 builtin/commit.c:260 msgid "updating files failed" msgstr "" @@ -1663,140 +1828,135 @@ msgstr "" msgid "remove '%s'\n" msgstr "" -#: builtin/add.c:253 +#: builtin/add.c:237 msgid "Unstaged changes after refreshing the index:" msgstr "" -#: builtin/add.c:256 builtin/add.c:573 builtin/rm.c:337 -#, c-format -msgid "pathspec '%s' did not match any files" -msgstr "" - -#: builtin/add.c:339 +#: builtin/add.c:299 msgid "Could not read the index" msgstr "" -#: builtin/add.c:350 +#: builtin/add.c:310 #, c-format msgid "Could not open '%s' for writing." msgstr "" -#: builtin/add.c:354 +#: builtin/add.c:314 msgid "Could not write patch" msgstr "" -#: builtin/add.c:359 +#: builtin/add.c:319 #, c-format msgid "Could not stat '%s'" msgstr "" -#: builtin/add.c:361 +#: builtin/add.c:321 msgid "Empty patch. Aborted." msgstr "" -#: builtin/add.c:367 +#: builtin/add.c:327 #, c-format msgid "Could not apply '%s'" msgstr "" -#: builtin/add.c:377 +#: builtin/add.c:337 msgid "The following paths are ignored by one of your .gitignore files:\n" msgstr "" -#: builtin/add.c:394 builtin/clean.c:875 builtin/fetch.c:78 builtin/mv.c:63 -#: builtin/prune-packed.c:73 builtin/push.c:451 builtin/remote.c:1253 -#: builtin/rm.c:268 +#: builtin/add.c:354 builtin/clean.c:875 builtin/fetch.c:92 builtin/mv.c:66 +#: builtin/prune-packed.c:73 builtin/push.c:459 builtin/remote.c:1253 +#: builtin/rm.c:269 msgid "dry run" msgstr "" -#: builtin/add.c:395 builtin/apply.c:4410 builtin/check-ignore.c:19 -#: builtin/commit.c:1220 builtin/count-objects.c:95 builtin/fsck.c:613 -#: builtin/log.c:1573 builtin/mv.c:62 builtin/read-tree.c:113 +#: builtin/add.c:355 builtin/apply.c:4410 builtin/check-ignore.c:19 +#: builtin/commit.c:1249 builtin/count-objects.c:95 builtin/fsck.c:612 +#: builtin/log.c:1592 builtin/mv.c:65 builtin/read-tree.c:113 msgid "be verbose" msgstr "" -#: builtin/add.c:397 +#: builtin/add.c:357 msgid "interactive picking" msgstr "" -#: builtin/add.c:398 builtin/checkout.c:1073 builtin/reset.c:261 +#: builtin/add.c:358 builtin/checkout.c:1109 builtin/reset.c:272 msgid "select hunks interactively" msgstr "" -#: builtin/add.c:399 +#: builtin/add.c:359 msgid "edit current diff and apply" msgstr "" -#: builtin/add.c:400 +#: builtin/add.c:360 msgid "allow adding otherwise ignored files" msgstr "" -#: builtin/add.c:401 +#: builtin/add.c:361 msgid "update tracked files" msgstr "" -#: builtin/add.c:402 +#: builtin/add.c:362 msgid "record only the fact that the path will be added later" msgstr "" -#: builtin/add.c:403 +#: builtin/add.c:363 msgid "add changes from all tracked and untracked files" msgstr "" #. takes no arguments -#: builtin/add.c:406 +#: builtin/add.c:366 msgid "ignore paths removed in the working tree (same as --no-all)" msgstr "" -#: builtin/add.c:408 +#: builtin/add.c:368 msgid "don't add, only refresh the index" msgstr "" -#: builtin/add.c:409 +#: builtin/add.c:369 msgid "just skip files which cannot be added because of errors" msgstr "" -#: builtin/add.c:410 +#: builtin/add.c:370 msgid "check if - even missing - files are ignored in dry run" msgstr "" -#: builtin/add.c:432 +#: builtin/add.c:392 #, c-format msgid "Use -f if you really want to add them.\n" msgstr "" -#: builtin/add.c:433 +#: builtin/add.c:393 msgid "no files added" msgstr "" -#: builtin/add.c:439 +#: builtin/add.c:399 msgid "adding files failed" msgstr "" -#: builtin/add.c:478 +#: builtin/add.c:438 msgid "-A and -u are mutually incompatible" msgstr "" -#: builtin/add.c:496 +#: builtin/add.c:456 msgid "Option --ignore-missing can only be used together with --dry-run" msgstr "" -#: builtin/add.c:526 +#: builtin/add.c:486 #, c-format msgid "Nothing specified, nothing added.\n" msgstr "" -#: builtin/add.c:527 +#: builtin/add.c:487 #, c-format msgid "Maybe you wanted to say 'git add .'?\n" msgstr "" -#: builtin/add.c:533 builtin/check-ignore.c:161 builtin/clean.c:919 -#: builtin/commit.c:312 builtin/mv.c:82 builtin/rm.c:297 +#: builtin/add.c:492 builtin/check-ignore.c:172 builtin/clean.c:919 +#: builtin/commit.c:320 builtin/mv.c:86 builtin/reset.c:224 builtin/rm.c:299 msgid "index file corrupt" msgstr "" -#: builtin/add.c:605 builtin/apply.c:4506 builtin/mv.c:229 builtin/rm.c:432 +#: builtin/add.c:589 builtin/apply.c:4506 builtin/mv.c:259 builtin/rm.c:432 msgid "Unable to write new index file" msgstr "" @@ -2042,7 +2202,7 @@ msgstr "" msgid "Checking patch %s..." msgstr "" -#: builtin/apply.c:3680 builtin/checkout.c:216 builtin/reset.c:127 +#: builtin/apply.c:3680 builtin/checkout.c:213 builtin/reset.c:127 #, c-format msgid "make_cache_entry failed for path '%s'" msgstr "" @@ -2122,8 +2282,8 @@ msgstr "" msgid "unable to read index file" msgstr "" -#: builtin/apply.c:4357 builtin/apply.c:4360 builtin/clone.c:91 -#: builtin/fetch.c:63 +#: builtin/apply.c:4357 builtin/apply.c:4360 builtin/clone.c:90 +#: builtin/fetch.c:77 msgid "path" msgstr "" @@ -2183,7 +2343,7 @@ msgstr "" msgid "build a temporary index based on embedded index information" msgstr "" -#: builtin/apply.c:4389 builtin/checkout-index.c:197 builtin/ls-files.c:462 +#: builtin/apply.c:4389 builtin/checkout-index.c:197 builtin/ls-files.c:452 msgid "paths are separated with NUL character" msgstr "" @@ -2313,103 +2473,103 @@ msgstr "" msgid "update BISECT_HEAD instead of checking out the current commit" msgstr "" -#: builtin/blame.c:26 +#: builtin/blame.c:27 msgid "git blame [options] [rev-opts] [rev] [--] file" msgstr "" -#: builtin/blame.c:31 +#: builtin/blame.c:32 msgid "[rev-opts] are documented in git-rev-list(1)" msgstr "" -#: builtin/blame.c:2276 +#: builtin/blame.c:2248 msgid "Show blame entries as we find them, incrementally" msgstr "" -#: builtin/blame.c:2277 +#: builtin/blame.c:2249 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "" -#: builtin/blame.c:2278 +#: builtin/blame.c:2250 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "" -#: builtin/blame.c:2279 +#: builtin/blame.c:2251 msgid "Show work cost statistics" msgstr "" -#: builtin/blame.c:2280 +#: builtin/blame.c:2252 msgid "Show output score for blame entries" msgstr "" -#: builtin/blame.c:2281 +#: builtin/blame.c:2253 msgid "Show original filename (Default: auto)" msgstr "" -#: builtin/blame.c:2282 +#: builtin/blame.c:2254 msgid "Show original linenumber (Default: off)" msgstr "" -#: builtin/blame.c:2283 +#: builtin/blame.c:2255 msgid "Show in a format designed for machine consumption" msgstr "" -#: builtin/blame.c:2284 +#: builtin/blame.c:2256 msgid "Show porcelain format with per-line commit information" msgstr "" -#: builtin/blame.c:2285 +#: builtin/blame.c:2257 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "" -#: builtin/blame.c:2286 +#: builtin/blame.c:2258 msgid "Show raw timestamp (Default: off)" msgstr "" -#: builtin/blame.c:2287 +#: builtin/blame.c:2259 msgid "Show long commit SHA1 (Default: off)" msgstr "" -#: builtin/blame.c:2288 +#: builtin/blame.c:2260 msgid "Suppress author name and timestamp (Default: off)" msgstr "" -#: builtin/blame.c:2289 +#: builtin/blame.c:2261 msgid "Show author email instead of name (Default: off)" msgstr "" -#: builtin/blame.c:2290 +#: builtin/blame.c:2262 msgid "Ignore whitespace differences" msgstr "" -#: builtin/blame.c:2291 +#: builtin/blame.c:2263 msgid "Spend extra cycles to find better match" msgstr "" -#: builtin/blame.c:2292 +#: builtin/blame.c:2264 msgid "Use revisions from <file> instead of calling git-rev-list" msgstr "" -#: builtin/blame.c:2293 +#: builtin/blame.c:2265 msgid "Use <file>'s contents as the final image" msgstr "" -#: builtin/blame.c:2294 builtin/blame.c:2295 +#: builtin/blame.c:2266 builtin/blame.c:2267 msgid "score" msgstr "" -#: builtin/blame.c:2294 +#: builtin/blame.c:2266 msgid "Find line copies within and across files" msgstr "" -#: builtin/blame.c:2295 +#: builtin/blame.c:2267 msgid "Find line movements within and across files" msgstr "" -#: builtin/blame.c:2296 +#: builtin/blame.c:2268 msgid "n,m" msgstr "" -#: builtin/blame.c:2296 +#: builtin/blame.c:2268 msgid "Process only line range n,m, counting from 1" msgstr "" @@ -2509,280 +2669,290 @@ msgstr "" #: builtin/branch.c:453 #, c-format +msgid "[%s: gone]" +msgstr "" + +#: builtin/branch.c:456 +#, c-format +msgid "[%s]" +msgstr "" + +#: builtin/branch.c:459 +#, c-format msgid "[%s: behind %d]" msgstr "" -#: builtin/branch.c:455 +#: builtin/branch.c:461 #, c-format msgid "[behind %d]" msgstr "" -#: builtin/branch.c:459 +#: builtin/branch.c:465 #, c-format msgid "[%s: ahead %d]" msgstr "" -#: builtin/branch.c:461 +#: builtin/branch.c:467 #, c-format msgid "[ahead %d]" msgstr "" -#: builtin/branch.c:464 +#: builtin/branch.c:470 #, c-format msgid "[%s: ahead %d, behind %d]" msgstr "" -#: builtin/branch.c:467 +#: builtin/branch.c:473 #, c-format msgid "[ahead %d, behind %d]" msgstr "" -#: builtin/branch.c:490 +#: builtin/branch.c:496 msgid " **** invalid ref ****" msgstr "" -#: builtin/branch.c:582 +#: builtin/branch.c:588 #, c-format msgid "(no branch, rebasing %s)" msgstr "" -#: builtin/branch.c:585 +#: builtin/branch.c:591 #, c-format msgid "(no branch, bisect started on %s)" msgstr "" -#: builtin/branch.c:588 +#: builtin/branch.c:594 #, c-format msgid "(detached from %s)" msgstr "" -#: builtin/branch.c:591 +#: builtin/branch.c:597 msgid "(no branch)" msgstr "" -#: builtin/branch.c:637 +#: builtin/branch.c:643 #, c-format msgid "object '%s' does not point to a commit" msgstr "" -#: builtin/branch.c:669 +#: builtin/branch.c:675 msgid "some refs could not be read" msgstr "" -#: builtin/branch.c:682 +#: builtin/branch.c:688 msgid "cannot rename the current branch while not on any." msgstr "" -#: builtin/branch.c:692 +#: builtin/branch.c:698 #, c-format msgid "Invalid branch name: '%s'" msgstr "" -#: builtin/branch.c:707 +#: builtin/branch.c:713 msgid "Branch rename failed" msgstr "" -#: builtin/branch.c:711 +#: builtin/branch.c:717 #, c-format msgid "Renamed a misnamed branch '%s' away" msgstr "" -#: builtin/branch.c:715 +#: builtin/branch.c:721 #, c-format msgid "Branch renamed to %s, but HEAD is not updated!" msgstr "" -#: builtin/branch.c:722 +#: builtin/branch.c:728 msgid "Branch is renamed, but update of config-file failed" msgstr "" -#: builtin/branch.c:737 +#: builtin/branch.c:743 #, c-format msgid "malformed object name %s" msgstr "" -#: builtin/branch.c:761 +#: builtin/branch.c:767 #, c-format msgid "could not write branch description template: %s" msgstr "" -#: builtin/branch.c:791 +#: builtin/branch.c:797 msgid "Generic options" msgstr "" -#: builtin/branch.c:793 +#: builtin/branch.c:799 msgid "show hash and subject, give twice for upstream branch" msgstr "" -#: builtin/branch.c:794 +#: builtin/branch.c:800 msgid "suppress informational messages" msgstr "" -#: builtin/branch.c:795 +#: builtin/branch.c:801 msgid "set up tracking mode (see git-pull(1))" msgstr "" -#: builtin/branch.c:797 +#: builtin/branch.c:803 msgid "change upstream info" msgstr "" -#: builtin/branch.c:801 +#: builtin/branch.c:807 msgid "use colored output" msgstr "" -#: builtin/branch.c:802 +#: builtin/branch.c:808 msgid "act on remote-tracking branches" msgstr "" -#: builtin/branch.c:805 builtin/branch.c:811 builtin/branch.c:832 -#: builtin/branch.c:838 builtin/commit.c:1433 builtin/commit.c:1434 -#: builtin/commit.c:1435 builtin/commit.c:1436 builtin/tag.c:468 +#: builtin/branch.c:811 builtin/branch.c:817 builtin/branch.c:838 +#: builtin/branch.c:844 builtin/commit.c:1460 builtin/commit.c:1461 +#: builtin/commit.c:1462 builtin/commit.c:1463 builtin/tag.c:468 msgid "commit" msgstr "" -#: builtin/branch.c:806 builtin/branch.c:812 +#: builtin/branch.c:812 builtin/branch.c:818 msgid "print only branches that contain the commit" msgstr "" -#: builtin/branch.c:818 +#: builtin/branch.c:824 msgid "Specific git-branch actions:" msgstr "" -#: builtin/branch.c:819 +#: builtin/branch.c:825 msgid "list both remote-tracking and local branches" msgstr "" -#: builtin/branch.c:821 +#: builtin/branch.c:827 msgid "delete fully merged branch" msgstr "" -#: builtin/branch.c:822 +#: builtin/branch.c:828 msgid "delete branch (even if not merged)" msgstr "" -#: builtin/branch.c:823 +#: builtin/branch.c:829 msgid "move/rename a branch and its reflog" msgstr "" -#: builtin/branch.c:824 +#: builtin/branch.c:830 msgid "move/rename a branch, even if target exists" msgstr "" -#: builtin/branch.c:825 +#: builtin/branch.c:831 msgid "list branch names" msgstr "" -#: builtin/branch.c:826 +#: builtin/branch.c:832 msgid "create the branch's reflog" msgstr "" -#: builtin/branch.c:828 +#: builtin/branch.c:834 msgid "edit the description for the branch" msgstr "" -#: builtin/branch.c:829 +#: builtin/branch.c:835 msgid "force creation (when already exists)" msgstr "" -#: builtin/branch.c:832 +#: builtin/branch.c:838 msgid "print only not merged branches" msgstr "" -#: builtin/branch.c:838 +#: builtin/branch.c:844 msgid "print only merged branches" msgstr "" -#: builtin/branch.c:842 +#: builtin/branch.c:848 msgid "list branches in columns" msgstr "" -#: builtin/branch.c:855 +#: builtin/branch.c:861 msgid "Failed to resolve HEAD as a valid ref." msgstr "" -#: builtin/branch.c:860 builtin/clone.c:630 +#: builtin/branch.c:866 builtin/clone.c:629 msgid "HEAD not found below refs/heads!" msgstr "" -#: builtin/branch.c:883 +#: builtin/branch.c:890 msgid "--column and --verbose are incompatible" msgstr "" -#: builtin/branch.c:889 builtin/branch.c:928 +#: builtin/branch.c:896 builtin/branch.c:935 msgid "branch name required" msgstr "" -#: builtin/branch.c:904 +#: builtin/branch.c:911 msgid "Cannot give description to detached HEAD" msgstr "" -#: builtin/branch.c:909 +#: builtin/branch.c:916 msgid "cannot edit description of more than one branch" msgstr "" -#: builtin/branch.c:916 +#: builtin/branch.c:923 #, c-format msgid "No commit on branch '%s' yet." msgstr "" -#: builtin/branch.c:919 +#: builtin/branch.c:926 #, c-format msgid "No branch named '%s'." msgstr "" -#: builtin/branch.c:934 +#: builtin/branch.c:941 msgid "too many branches for a rename operation" msgstr "" -#: builtin/branch.c:939 +#: builtin/branch.c:946 msgid "too many branches to set new upstream" msgstr "" -#: builtin/branch.c:943 +#: builtin/branch.c:950 #, c-format msgid "" "could not set upstream of HEAD to %s when it does not point to any branch." msgstr "" -#: builtin/branch.c:946 builtin/branch.c:968 builtin/branch.c:990 +#: builtin/branch.c:953 builtin/branch.c:975 builtin/branch.c:997 #, c-format msgid "no such branch '%s'" msgstr "" -#: builtin/branch.c:950 +#: builtin/branch.c:957 #, c-format msgid "branch '%s' does not exist" msgstr "" -#: builtin/branch.c:962 +#: builtin/branch.c:969 msgid "too many branches to unset upstream" msgstr "" -#: builtin/branch.c:966 +#: builtin/branch.c:973 msgid "could not unset upstream of HEAD when it does not point to any branch." msgstr "" -#: builtin/branch.c:972 +#: builtin/branch.c:979 #, c-format msgid "Branch '%s' has no upstream information" msgstr "" -#: builtin/branch.c:987 +#: builtin/branch.c:994 msgid "it does not make sense to create 'HEAD' manually" msgstr "" -#: builtin/branch.c:993 +#: builtin/branch.c:1000 msgid "-a and -r options to 'git branch' do not make sense with a branch name" msgstr "" -#: builtin/branch.c:996 +#: builtin/branch.c:1003 #, c-format msgid "" "The --set-upstream flag is deprecated and will be removed. Consider using --" "track or --set-upstream-to\n" msgstr "" -#: builtin/branch.c:1013 +#: builtin/branch.c:1020 #, c-format msgid "" "\n" @@ -2790,12 +2960,12 @@ msgid "" "\n" msgstr "" -#: builtin/branch.c:1014 +#: builtin/branch.c:1021 #, c-format msgid " git branch -d %s\n" msgstr "" -#: builtin/branch.c:1015 +#: builtin/branch.c:1022 #, c-format msgid " git branch --set-upstream-to %s\n" msgstr "" @@ -2813,43 +2983,43 @@ msgstr "" msgid "Need a repository to unbundle." msgstr "" -#: builtin/cat-file.c:285 +#: builtin/cat-file.c:312 msgid "git cat-file (-t|-s|-e|-p|<type>|--textconv) <object>" msgstr "" -#: builtin/cat-file.c:286 +#: builtin/cat-file.c:313 msgid "git cat-file (--batch|--batch-check) < <list_of_objects>" msgstr "" -#: builtin/cat-file.c:323 +#: builtin/cat-file.c:350 msgid "<type> can be one of: blob, tree, commit, tag" msgstr "" -#: builtin/cat-file.c:324 +#: builtin/cat-file.c:351 msgid "show object type" msgstr "" -#: builtin/cat-file.c:325 +#: builtin/cat-file.c:352 msgid "show object size" msgstr "" -#: builtin/cat-file.c:327 +#: builtin/cat-file.c:354 msgid "exit with zero when there's no error" msgstr "" -#: builtin/cat-file.c:328 +#: builtin/cat-file.c:355 msgid "pretty-print object's content" msgstr "" -#: builtin/cat-file.c:330 +#: builtin/cat-file.c:357 msgid "for blob objects, run textconv on object's content" msgstr "" -#: builtin/cat-file.c:332 +#: builtin/cat-file.c:359 msgid "show info and content of objects fed from the standard input" msgstr "" -#: builtin/cat-file.c:335 +#: builtin/cat-file.c:362 msgid "show info about objects fed from the standard input" msgstr "" @@ -2874,10 +3044,10 @@ msgid "read file names from stdin" msgstr "" #: builtin/check-attr.c:23 builtin/check-ignore.c:24 -msgid "input paths are terminated by a null character" +msgid "terminate input and output records by a NUL character" msgstr "" -#: builtin/check-ignore.c:18 builtin/checkout.c:1054 builtin/gc.c:177 +#: builtin/check-ignore.c:18 builtin/checkout.c:1090 builtin/gc.c:259 msgid "suppress progress reporting" msgstr "" @@ -2885,27 +3055,31 @@ msgstr "" msgid "show non-matching input paths" msgstr "" -#: builtin/check-ignore.c:143 +#: builtin/check-ignore.c:28 +msgid "ignore index when checking" +msgstr "" + +#: builtin/check-ignore.c:154 msgid "cannot specify pathnames with --stdin" msgstr "" -#: builtin/check-ignore.c:146 +#: builtin/check-ignore.c:157 msgid "-z only makes sense with --stdin" msgstr "" -#: builtin/check-ignore.c:148 +#: builtin/check-ignore.c:159 msgid "no path specified" msgstr "" -#: builtin/check-ignore.c:152 +#: builtin/check-ignore.c:163 msgid "--quiet is only valid with a single pathname" msgstr "" -#: builtin/check-ignore.c:154 +#: builtin/check-ignore.c:165 msgid "cannot have both --quiet and --verbose" msgstr "" -#: builtin/check-ignore.c:157 +#: builtin/check-ignore.c:168 msgid "--non-matching is only valid with --verbose" msgstr "" @@ -2978,106 +3152,106 @@ msgstr "" msgid "git checkout [options] [<branch>] -- <file>..." msgstr "" -#: builtin/checkout.c:117 builtin/checkout.c:150 +#: builtin/checkout.c:114 builtin/checkout.c:147 #, c-format msgid "path '%s' does not have our version" msgstr "" -#: builtin/checkout.c:119 builtin/checkout.c:152 +#: builtin/checkout.c:116 builtin/checkout.c:149 #, c-format msgid "path '%s' does not have their version" msgstr "" -#: builtin/checkout.c:135 +#: builtin/checkout.c:132 #, c-format msgid "path '%s' does not have all necessary versions" msgstr "" -#: builtin/checkout.c:179 +#: builtin/checkout.c:176 #, c-format msgid "path '%s' does not have necessary versions" msgstr "" -#: builtin/checkout.c:196 +#: builtin/checkout.c:193 #, c-format msgid "path '%s': cannot merge" msgstr "" -#: builtin/checkout.c:213 +#: builtin/checkout.c:210 #, c-format msgid "Unable to add merge result for '%s'" msgstr "" -#: builtin/checkout.c:237 builtin/checkout.c:240 builtin/checkout.c:243 -#: builtin/checkout.c:246 +#: builtin/checkout.c:232 builtin/checkout.c:235 builtin/checkout.c:238 +#: builtin/checkout.c:241 #, c-format msgid "'%s' cannot be used with updating paths" msgstr "" -#: builtin/checkout.c:249 builtin/checkout.c:252 +#: builtin/checkout.c:244 builtin/checkout.c:247 #, c-format msgid "'%s' cannot be used with %s" msgstr "" -#: builtin/checkout.c:255 +#: builtin/checkout.c:250 #, c-format msgid "Cannot update paths and switch to branch '%s' at the same time." msgstr "" -#: builtin/checkout.c:266 builtin/checkout.c:458 +#: builtin/checkout.c:261 builtin/checkout.c:451 msgid "corrupt index file" msgstr "" -#: builtin/checkout.c:329 builtin/checkout.c:336 +#: builtin/checkout.c:322 builtin/checkout.c:329 #, c-format msgid "path '%s' is unmerged" msgstr "" -#: builtin/checkout.c:480 +#: builtin/checkout.c:473 msgid "you need to resolve your current index first" msgstr "" -#: builtin/checkout.c:601 +#: builtin/checkout.c:594 #, c-format msgid "Can not do reflog for '%s'\n" msgstr "" -#: builtin/checkout.c:639 +#: builtin/checkout.c:632 msgid "HEAD is now at" msgstr "" -#: builtin/checkout.c:646 +#: builtin/checkout.c:639 #, c-format msgid "Reset branch '%s'\n" msgstr "" -#: builtin/checkout.c:649 +#: builtin/checkout.c:642 #, c-format msgid "Already on '%s'\n" msgstr "" -#: builtin/checkout.c:653 +#: builtin/checkout.c:646 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "" -#: builtin/checkout.c:655 builtin/checkout.c:997 +#: builtin/checkout.c:648 builtin/checkout.c:1033 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "" -#: builtin/checkout.c:657 +#: builtin/checkout.c:650 #, c-format msgid "Switched to branch '%s'\n" msgstr "" -#: builtin/checkout.c:713 +#: builtin/checkout.c:706 #, c-format msgid " ... and %d more.\n" msgstr "" #. The singular version -#: builtin/checkout.c:719 +#: builtin/checkout.c:712 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -3092,7 +3266,7 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: builtin/checkout.c:737 +#: builtin/checkout.c:730 #, c-format msgid "" "If you want to keep them by creating a new branch, this may be a good time\n" @@ -3102,184 +3276,188 @@ msgid "" "\n" msgstr "" -#: builtin/checkout.c:767 +#: builtin/checkout.c:760 msgid "internal error in revision walk" msgstr "" -#: builtin/checkout.c:771 +#: builtin/checkout.c:764 msgid "Previous HEAD position was" msgstr "" -#: builtin/checkout.c:798 builtin/checkout.c:992 +#: builtin/checkout.c:791 builtin/checkout.c:1028 msgid "You are on a branch yet to be born" msgstr "" -#. case (1) -#: builtin/checkout.c:928 +#: builtin/checkout.c:935 +#, c-format +msgid "only one reference expected, %d given." +msgstr "" + +#: builtin/checkout.c:974 #, c-format msgid "invalid reference: %s" msgstr "" #. case (1): want a tree -#: builtin/checkout.c:967 +#: builtin/checkout.c:1003 #, c-format msgid "reference is not a tree: %s" msgstr "" -#: builtin/checkout.c:1006 +#: builtin/checkout.c:1042 msgid "paths cannot be used with switching branches" msgstr "" -#: builtin/checkout.c:1009 builtin/checkout.c:1013 +#: builtin/checkout.c:1045 builtin/checkout.c:1049 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "" -#: builtin/checkout.c:1017 builtin/checkout.c:1020 builtin/checkout.c:1025 -#: builtin/checkout.c:1028 +#: builtin/checkout.c:1053 builtin/checkout.c:1056 builtin/checkout.c:1061 +#: builtin/checkout.c:1064 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "" -#: builtin/checkout.c:1033 +#: builtin/checkout.c:1069 #, c-format msgid "Cannot switch branch to a non-commit '%s'" msgstr "" -#: builtin/checkout.c:1055 builtin/checkout.c:1057 builtin/clone.c:89 +#: builtin/checkout.c:1091 builtin/checkout.c:1093 builtin/clone.c:88 #: builtin/remote.c:169 builtin/remote.c:171 msgid "branch" msgstr "" -#: builtin/checkout.c:1056 +#: builtin/checkout.c:1092 msgid "create and checkout a new branch" msgstr "" -#: builtin/checkout.c:1058 +#: builtin/checkout.c:1094 msgid "create/reset and checkout a branch" msgstr "" -#: builtin/checkout.c:1059 +#: builtin/checkout.c:1095 msgid "create reflog for new branch" msgstr "" -#: builtin/checkout.c:1060 +#: builtin/checkout.c:1096 msgid "detach the HEAD at named commit" msgstr "" -#: builtin/checkout.c:1061 +#: builtin/checkout.c:1097 msgid "set upstream info for new branch" msgstr "" -#: builtin/checkout.c:1063 +#: builtin/checkout.c:1099 msgid "new branch" msgstr "" -#: builtin/checkout.c:1063 +#: builtin/checkout.c:1099 msgid "new unparented branch" msgstr "" -#: builtin/checkout.c:1064 +#: builtin/checkout.c:1100 msgid "checkout our version for unmerged files" msgstr "" -#: builtin/checkout.c:1066 +#: builtin/checkout.c:1102 msgid "checkout their version for unmerged files" msgstr "" -#: builtin/checkout.c:1068 +#: builtin/checkout.c:1104 msgid "force checkout (throw away local modifications)" msgstr "" -#: builtin/checkout.c:1069 +#: builtin/checkout.c:1105 msgid "perform a 3-way merge with the new branch" msgstr "" -#: builtin/checkout.c:1070 builtin/merge.c:232 +#: builtin/checkout.c:1106 builtin/merge.c:232 msgid "update ignored files (default)" msgstr "" -#: builtin/checkout.c:1071 builtin/log.c:1208 parse-options.h:249 +#: builtin/checkout.c:1107 builtin/log.c:1228 parse-options.h:251 msgid "style" msgstr "" -#: builtin/checkout.c:1072 +#: builtin/checkout.c:1108 msgid "conflict style (merge or diff3)" msgstr "" -#: builtin/checkout.c:1075 +#: builtin/checkout.c:1111 msgid "do not limit pathspecs to sparse entries only" msgstr "" -#: builtin/checkout.c:1077 +#: builtin/checkout.c:1113 msgid "second guess 'git checkout no-such-branch'" msgstr "" -#: builtin/checkout.c:1101 +#: builtin/checkout.c:1136 msgid "-b, -B and --orphan are mutually exclusive" msgstr "" -#: builtin/checkout.c:1118 +#: builtin/checkout.c:1153 msgid "--track needs a branch name" msgstr "" -#: builtin/checkout.c:1125 +#: builtin/checkout.c:1160 msgid "Missing branch name; try -b" msgstr "" -#: builtin/checkout.c:1160 +#: builtin/checkout.c:1197 msgid "invalid path specification" msgstr "" -#: builtin/checkout.c:1167 +#: builtin/checkout.c:1204 #, c-format msgid "" "Cannot update paths and switch to branch '%s' at the same time.\n" "Did you intend to checkout '%s' which can not be resolved as commit?" msgstr "" -#: builtin/checkout.c:1172 +#: builtin/checkout.c:1209 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "" -#: builtin/checkout.c:1176 +#: builtin/checkout.c:1213 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." msgstr "" -#: builtin/clean.c:25 +#: builtin/clean.c:26 msgid "" "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..." msgstr "" -#: builtin/clean.c:29 +#: builtin/clean.c:30 #, c-format msgid "Removing %s\n" msgstr "" -#: builtin/clean.c:30 +#: builtin/clean.c:31 #, c-format msgid "Would remove %s\n" msgstr "" -#: builtin/clean.c:31 +#: builtin/clean.c:32 #, c-format msgid "Skipping repository %s\n" msgstr "" -#: builtin/clean.c:32 +#: builtin/clean.c:33 #, c-format msgid "Would skip repository %s\n" msgstr "" -#: builtin/clean.c:33 +#: builtin/clean.c:34 #, c-format msgid "failed to remove %s" msgstr "" -#: builtin/clean.c:293 +#: builtin/clean.c:294 msgid "" "Prompt help:\n" "1 - select a numbered item\n" @@ -3287,7 +3465,7 @@ msgid "" " - (empty) select nothing" msgstr "" -#: builtin/clean.c:297 +#: builtin/clean.c:298 msgid "" "Prompt help:\n" "1 - select a single item\n" @@ -3299,35 +3477,35 @@ msgid "" " - (empty) finish selecting" msgstr "" -#: builtin/clean.c:515 +#: builtin/clean.c:516 #, c-format msgid "Huh (%s)?" msgstr "" -#: builtin/clean.c:658 +#: builtin/clean.c:659 #, c-format msgid "Input ignore patterns>> " msgstr "" -#: builtin/clean.c:695 +#: builtin/clean.c:696 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "" -#: builtin/clean.c:716 +#: builtin/clean.c:717 msgid "Select items to delete" msgstr "" -#: builtin/clean.c:756 +#: builtin/clean.c:757 #, c-format msgid "remove %s? " msgstr "" -#: builtin/clean.c:781 +#: builtin/clean.c:782 msgid "Bye." msgstr "" -#: builtin/clean.c:789 +#: builtin/clean.c:790 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -3338,21 +3516,21 @@ msgid "" "? - help for prompt selection" msgstr "" -#: builtin/clean.c:816 +#: builtin/clean.c:817 msgid "*** Commands ***" msgstr "" -#: builtin/clean.c:817 +#: builtin/clean.c:818 msgid "What now" msgstr "" -#: builtin/clean.c:825 +#: builtin/clean.c:826 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "" msgstr[1] "" -#: builtin/clean.c:842 +#: builtin/clean.c:843 msgid "No more files to clean, exiting." msgstr "" @@ -3372,8 +3550,8 @@ msgstr "" msgid "remove whole directories" msgstr "" -#: builtin/clean.c:880 builtin/describe.c:420 builtin/grep.c:716 -#: builtin/ls-files.c:493 builtin/name-rev.c:315 builtin/show-ref.c:186 +#: builtin/clean.c:880 builtin/describe.c:420 builtin/grep.c:718 +#: builtin/ls-files.c:483 builtin/name-rev.c:315 builtin/show-ref.c:185 msgid "pattern" msgstr "" @@ -3409,8 +3587,8 @@ msgstr "" msgid "git clone [options] [--] <repo> [<dir>]" msgstr "" -#: builtin/clone.c:64 builtin/fetch.c:82 builtin/merge.c:229 -#: builtin/push.c:462 +#: builtin/clone.c:64 builtin/fetch.c:96 builtin/merge.c:229 +#: builtin/push.c:474 msgid "force progress reporting" msgstr "" @@ -3422,227 +3600,222 @@ msgstr "" msgid "create a bare repository" msgstr "" -#: builtin/clone.c:72 +#: builtin/clone.c:71 msgid "create a mirror repository (implies bare)" msgstr "" -#: builtin/clone.c:74 +#: builtin/clone.c:73 msgid "to clone from a local repository" msgstr "" -#: builtin/clone.c:76 +#: builtin/clone.c:75 msgid "don't use local hardlinks, always copy" msgstr "" -#: builtin/clone.c:78 +#: builtin/clone.c:77 msgid "setup as shared repository" msgstr "" -#: builtin/clone.c:80 builtin/clone.c:82 +#: builtin/clone.c:79 builtin/clone.c:81 msgid "initialize submodules in the clone" msgstr "" -#: builtin/clone.c:83 builtin/init-db.c:485 +#: builtin/clone.c:82 builtin/init-db.c:485 msgid "template-directory" msgstr "" -#: builtin/clone.c:84 builtin/init-db.c:486 +#: builtin/clone.c:83 builtin/init-db.c:486 msgid "directory from which templates will be used" msgstr "" -#: builtin/clone.c:86 +#: builtin/clone.c:85 msgid "reference repository" msgstr "" -#: builtin/clone.c:87 builtin/column.c:26 builtin/merge-file.c:44 +#: builtin/clone.c:86 builtin/column.c:26 builtin/merge-file.c:44 msgid "name" msgstr "" -#: builtin/clone.c:88 +#: builtin/clone.c:87 msgid "use <name> instead of 'origin' to track upstream" msgstr "" -#: builtin/clone.c:90 +#: builtin/clone.c:89 msgid "checkout <branch> instead of the remote's HEAD" msgstr "" -#: builtin/clone.c:92 +#: builtin/clone.c:91 msgid "path to git-upload-pack on the remote" msgstr "" -#: builtin/clone.c:93 builtin/fetch.c:83 builtin/grep.c:661 +#: builtin/clone.c:92 builtin/fetch.c:97 builtin/grep.c:663 msgid "depth" msgstr "" -#: builtin/clone.c:94 +#: builtin/clone.c:93 msgid "create a shallow clone of that depth" msgstr "" -#: builtin/clone.c:96 +#: builtin/clone.c:95 msgid "clone only one branch, HEAD or --branch" msgstr "" -#: builtin/clone.c:97 builtin/init-db.c:494 +#: builtin/clone.c:96 builtin/init-db.c:494 msgid "gitdir" msgstr "" -#: builtin/clone.c:98 builtin/init-db.c:495 +#: builtin/clone.c:97 builtin/init-db.c:495 msgid "separate git dir from working tree" msgstr "" -#: builtin/clone.c:99 +#: builtin/clone.c:98 msgid "key=value" msgstr "" -#: builtin/clone.c:100 +#: builtin/clone.c:99 msgid "set config inside the new repository" msgstr "" -#: builtin/clone.c:253 +#: builtin/clone.c:252 #, c-format msgid "reference repository '%s' is not a local repository." msgstr "" -#: builtin/clone.c:316 +#: builtin/clone.c:315 #, c-format msgid "failed to create directory '%s'" msgstr "" -#: builtin/clone.c:318 builtin/diff.c:77 +#: builtin/clone.c:317 builtin/diff.c:77 #, c-format msgid "failed to stat '%s'" msgstr "" -#: builtin/clone.c:320 +#: builtin/clone.c:319 #, c-format msgid "%s exists and is not a directory" msgstr "" -#: builtin/clone.c:334 +#: builtin/clone.c:333 #, c-format msgid "failed to stat %s\n" msgstr "" -#: builtin/clone.c:356 +#: builtin/clone.c:355 #, c-format msgid "failed to create link '%s'" msgstr "" -#: builtin/clone.c:360 +#: builtin/clone.c:359 #, c-format msgid "failed to copy file to '%s'" msgstr "" -#: builtin/clone.c:383 +#: builtin/clone.c:382 builtin/clone.c:559 #, c-format msgid "done.\n" msgstr "" -#: builtin/clone.c:396 +#: builtin/clone.c:395 msgid "" "Clone succeeded, but checkout failed.\n" "You can inspect what was checked out with 'git status'\n" "and retry the checkout with 'git checkout -f HEAD'\n" msgstr "" -#: builtin/clone.c:475 +#: builtin/clone.c:474 #, c-format msgid "Could not find remote branch %s to clone." msgstr "" -#: builtin/clone.c:555 +#: builtin/clone.c:554 #, c-format msgid "Checking connectivity... " msgstr "" -#: builtin/clone.c:558 +#: builtin/clone.c:557 msgid "remote did not send all necessary objects" msgstr "" -#: builtin/clone.c:560 -#, c-format -msgid "done\n" -msgstr "" - -#: builtin/clone.c:621 +#: builtin/clone.c:620 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "" -#: builtin/clone.c:652 +#: builtin/clone.c:651 msgid "unable to checkout working tree" msgstr "" -#: builtin/clone.c:760 +#: builtin/clone.c:759 msgid "Too many arguments." msgstr "" -#: builtin/clone.c:764 +#: builtin/clone.c:763 msgid "You must specify a repository to clone." msgstr "" -#: builtin/clone.c:775 +#: builtin/clone.c:774 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "" -#: builtin/clone.c:778 +#: builtin/clone.c:777 msgid "--bare and --separate-git-dir are incompatible." msgstr "" -#: builtin/clone.c:791 +#: builtin/clone.c:790 #, c-format msgid "repository '%s' does not exist" msgstr "" -#: builtin/clone.c:796 +#: builtin/clone.c:795 msgid "--depth is ignored in local clones; use file:// instead." msgstr "" -#: builtin/clone.c:798 +#: builtin/clone.c:797 msgid "--local is ignored" msgstr "" -#: builtin/clone.c:808 +#: builtin/clone.c:807 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "" -#: builtin/clone.c:818 +#: builtin/clone.c:817 #, c-format msgid "working tree '%s' already exists." msgstr "" -#: builtin/clone.c:831 builtin/clone.c:843 +#: builtin/clone.c:830 builtin/clone.c:842 #, c-format msgid "could not create leading directories of '%s'" msgstr "" -#: builtin/clone.c:834 +#: builtin/clone.c:833 #, c-format msgid "could not create work tree dir '%s'." msgstr "" -#: builtin/clone.c:853 +#: builtin/clone.c:852 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "" -#: builtin/clone.c:855 +#: builtin/clone.c:854 #, c-format msgid "Cloning into '%s'...\n" msgstr "" -#: builtin/clone.c:890 +#: builtin/clone.c:888 #, c-format msgid "Don't know how to clone %s" msgstr "" -#: builtin/clone.c:942 +#: builtin/clone.c:939 builtin/clone.c:947 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "" -#: builtin/clone.c:949 +#: builtin/clone.c:950 msgid "You appear to have cloned an empty repository." msgstr "" @@ -3678,15 +3851,15 @@ msgstr "" msgid "--command must be the first argument" msgstr "" -#: builtin/commit.c:35 +#: builtin/commit.c:36 msgid "git commit [options] [--] <pathspec>..." msgstr "" -#: builtin/commit.c:40 +#: builtin/commit.c:41 msgid "git status [options] [--] <pathspec>..." msgstr "" -#: builtin/commit.c:45 +#: builtin/commit.c:46 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -3700,14 +3873,14 @@ msgid "" " git commit --amend --reset-author\n" msgstr "" -#: builtin/commit.c:57 +#: builtin/commit.c:58 msgid "" "You asked to amend the most recent commit, but doing so would make\n" "it empty. You can repeat your command with --allow-empty, or you can\n" "remove the commit entirely with \"git reset HEAD^\".\n" msgstr "" -#: builtin/commit.c:62 +#: builtin/commit.c:63 msgid "" "The previous cherry-pick is now empty, possibly due to conflict resolution.\n" "If you wish to commit it anyway, use:\n" @@ -3716,11 +3889,11 @@ msgid "" "\n" msgstr "" -#: builtin/commit.c:69 +#: builtin/commit.c:70 msgid "Otherwise, please use 'git reset'\n" msgstr "" -#: builtin/commit.c:72 +#: builtin/commit.c:73 msgid "" "If you wish to skip this commit, use:\n" "\n" @@ -3730,93 +3903,93 @@ msgid "" "the remaining commits.\n" msgstr "" -#: builtin/commit.c:279 +#: builtin/commit.c:287 msgid "failed to unpack HEAD tree object" msgstr "" -#: builtin/commit.c:321 +#: builtin/commit.c:329 msgid "unable to create temporary index" msgstr "" -#: builtin/commit.c:327 +#: builtin/commit.c:335 msgid "interactive add failed" msgstr "" -#: builtin/commit.c:360 builtin/commit.c:381 builtin/commit.c:431 +#: builtin/commit.c:368 builtin/commit.c:389 builtin/commit.c:439 msgid "unable to write new_index file" msgstr "" -#: builtin/commit.c:412 +#: builtin/commit.c:420 msgid "cannot do a partial commit during a merge." msgstr "" -#: builtin/commit.c:414 +#: builtin/commit.c:422 msgid "cannot do a partial commit during a cherry-pick." msgstr "" -#: builtin/commit.c:424 +#: builtin/commit.c:432 msgid "cannot read the index" msgstr "" -#: builtin/commit.c:444 +#: builtin/commit.c:452 msgid "unable to write temporary index file" msgstr "" -#: builtin/commit.c:535 builtin/commit.c:541 +#: builtin/commit.c:543 builtin/commit.c:549 #, c-format msgid "invalid commit: %s" msgstr "" -#: builtin/commit.c:563 +#: builtin/commit.c:571 msgid "malformed --author parameter" msgstr "" -#: builtin/commit.c:583 +#: builtin/commit.c:591 #, c-format msgid "Malformed ident string: '%s'" msgstr "" -#: builtin/commit.c:621 builtin/commit.c:654 builtin/commit.c:982 +#: builtin/commit.c:630 builtin/commit.c:663 builtin/commit.c:1007 #, c-format msgid "could not lookup commit %s" msgstr "" -#: builtin/commit.c:633 builtin/shortlog.c:271 +#: builtin/commit.c:642 builtin/shortlog.c:273 #, c-format msgid "(reading log message from standard input)\n" msgstr "" -#: builtin/commit.c:635 +#: builtin/commit.c:644 msgid "could not read log from standard input" msgstr "" -#: builtin/commit.c:639 +#: builtin/commit.c:648 #, c-format msgid "could not read log file '%s'" msgstr "" -#: builtin/commit.c:645 +#: builtin/commit.c:654 msgid "commit has empty message" msgstr "" -#: builtin/commit.c:661 +#: builtin/commit.c:670 msgid "could not read MERGE_MSG" msgstr "" -#: builtin/commit.c:665 +#: builtin/commit.c:674 msgid "could not read SQUASH_MSG" msgstr "" -#: builtin/commit.c:669 +#: builtin/commit.c:678 #, c-format msgid "could not read '%s'" msgstr "" -#: builtin/commit.c:730 +#: builtin/commit.c:749 msgid "could not write commit template" msgstr "" -#: builtin/commit.c:741 +#: builtin/commit.c:760 #, c-format msgid "" "\n" @@ -3826,7 +3999,7 @@ msgid "" "and try again.\n" msgstr "" -#: builtin/commit.c:746 +#: builtin/commit.c:765 #, c-format msgid "" "\n" @@ -3836,14 +4009,14 @@ msgid "" "and try again.\n" msgstr "" -#: builtin/commit.c:758 +#: builtin/commit.c:777 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" "with '%c' will be ignored, and an empty message aborts the commit.\n" msgstr "" -#: builtin/commit.c:763 +#: builtin/commit.c:782 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -3851,478 +4024,482 @@ msgid "" "An empty message aborts the commit.\n" msgstr "" -#: builtin/commit.c:776 +#: builtin/commit.c:795 #, c-format msgid "%sAuthor: %s" msgstr "" -#: builtin/commit.c:783 +#: builtin/commit.c:802 #, c-format msgid "%sCommitter: %s" msgstr "" -#: builtin/commit.c:803 +#: builtin/commit.c:822 msgid "Cannot read index" msgstr "" -#: builtin/commit.c:845 +#: builtin/commit.c:865 msgid "Error building trees" msgstr "" -#: builtin/commit.c:860 builtin/tag.c:359 +#: builtin/commit.c:880 builtin/tag.c:359 #, c-format msgid "Please supply the message using either -m or -F option.\n" msgstr "" -#: builtin/commit.c:957 +#: builtin/commit.c:982 #, c-format msgid "No existing author found with '%s'" msgstr "" -#: builtin/commit.c:972 builtin/commit.c:1208 +#: builtin/commit.c:997 builtin/commit.c:1237 #, c-format msgid "Invalid untracked files mode '%s'" msgstr "" -#: builtin/commit.c:1009 +#: builtin/commit.c:1034 msgid "--long and -z are incompatible" msgstr "" -#: builtin/commit.c:1039 +#: builtin/commit.c:1064 msgid "Using both --reset-author and --author does not make sense" msgstr "" -#: builtin/commit.c:1050 +#: builtin/commit.c:1075 msgid "You have nothing to amend." msgstr "" -#: builtin/commit.c:1053 +#: builtin/commit.c:1078 msgid "You are in the middle of a merge -- cannot amend." msgstr "" -#: builtin/commit.c:1055 +#: builtin/commit.c:1080 msgid "You are in the middle of a cherry-pick -- cannot amend." msgstr "" -#: builtin/commit.c:1058 +#: builtin/commit.c:1083 msgid "Options --squash and --fixup cannot be used together" msgstr "" -#: builtin/commit.c:1068 +#: builtin/commit.c:1093 msgid "Only one of -c/-C/-F/--fixup can be used." msgstr "" -#: builtin/commit.c:1070 +#: builtin/commit.c:1095 msgid "Option -m cannot be combined with -c/-C/-F/--fixup." msgstr "" -#: builtin/commit.c:1078 +#: builtin/commit.c:1103 msgid "--reset-author can be used only with -C, -c or --amend." msgstr "" -#: builtin/commit.c:1095 +#: builtin/commit.c:1120 msgid "Only one of --include/--only/--all/--interactive/--patch can be used." msgstr "" -#: builtin/commit.c:1097 +#: builtin/commit.c:1122 msgid "No paths with --include/--only does not make sense." msgstr "" -#: builtin/commit.c:1099 +#: builtin/commit.c:1124 msgid "Clever... amending the last one with dirty index." msgstr "" -#: builtin/commit.c:1101 +#: builtin/commit.c:1126 msgid "Explicit paths specified without -i nor -o; assuming --only paths..." msgstr "" -#: builtin/commit.c:1111 builtin/tag.c:575 +#: builtin/commit.c:1136 builtin/tag.c:572 #, c-format msgid "Invalid cleanup mode %s" msgstr "" -#: builtin/commit.c:1116 +#: builtin/commit.c:1141 msgid "Paths with -a does not make sense." msgstr "" -#: builtin/commit.c:1222 builtin/commit.c:1455 +#: builtin/commit.c:1251 builtin/commit.c:1482 msgid "show status concisely" msgstr "" -#: builtin/commit.c:1224 builtin/commit.c:1457 +#: builtin/commit.c:1253 builtin/commit.c:1484 msgid "show branch information" msgstr "" -#: builtin/commit.c:1226 builtin/commit.c:1459 builtin/push.c:452 +#: builtin/commit.c:1255 builtin/commit.c:1486 builtin/push.c:460 msgid "machine-readable output" msgstr "" -#: builtin/commit.c:1229 builtin/commit.c:1461 +#: builtin/commit.c:1258 builtin/commit.c:1488 msgid "show status in long format (default)" msgstr "" -#: builtin/commit.c:1232 builtin/commit.c:1464 +#: builtin/commit.c:1261 builtin/commit.c:1491 msgid "terminate entries with NUL" msgstr "" -#: builtin/commit.c:1234 builtin/commit.c:1467 builtin/fast-export.c:667 -#: builtin/fast-export.c:670 builtin/tag.c:459 +#: builtin/commit.c:1263 builtin/commit.c:1494 builtin/fast-export.c:674 +#: builtin/fast-export.c:677 builtin/tag.c:459 msgid "mode" msgstr "" -#: builtin/commit.c:1235 builtin/commit.c:1467 +#: builtin/commit.c:1264 builtin/commit.c:1494 msgid "show untracked files, optional modes: all, normal, no. (Default: all)" msgstr "" -#: builtin/commit.c:1238 +#: builtin/commit.c:1267 msgid "show ignored files" msgstr "" -#: builtin/commit.c:1239 parse-options.h:154 +#: builtin/commit.c:1268 parse-options.h:156 msgid "when" msgstr "" -#: builtin/commit.c:1240 +#: builtin/commit.c:1269 msgid "" "ignore changes to submodules, optional when: all, dirty, untracked. " "(Default: all)" msgstr "" -#: builtin/commit.c:1242 +#: builtin/commit.c:1271 msgid "list untracked files in columns" msgstr "" -#: builtin/commit.c:1313 +#: builtin/commit.c:1340 msgid "couldn't look up newly created commit" msgstr "" -#: builtin/commit.c:1315 +#: builtin/commit.c:1342 msgid "could not parse newly created commit" msgstr "" -#: builtin/commit.c:1356 +#: builtin/commit.c:1383 msgid "detached HEAD" msgstr "" -#: builtin/commit.c:1358 +#: builtin/commit.c:1385 msgid " (root-commit)" msgstr "" -#: builtin/commit.c:1425 +#: builtin/commit.c:1452 msgid "suppress summary after successful commit" msgstr "" -#: builtin/commit.c:1426 +#: builtin/commit.c:1453 msgid "show diff in commit message template" msgstr "" -#: builtin/commit.c:1428 +#: builtin/commit.c:1455 msgid "Commit message options" msgstr "" -#: builtin/commit.c:1429 builtin/tag.c:457 +#: builtin/commit.c:1456 builtin/tag.c:457 msgid "read message from file" msgstr "" -#: builtin/commit.c:1430 +#: builtin/commit.c:1457 msgid "author" msgstr "" -#: builtin/commit.c:1430 +#: builtin/commit.c:1457 msgid "override author for commit" msgstr "" -#: builtin/commit.c:1431 builtin/gc.c:178 +#: builtin/commit.c:1458 builtin/gc.c:260 msgid "date" msgstr "" -#: builtin/commit.c:1431 +#: builtin/commit.c:1458 msgid "override date for commit" msgstr "" -#: builtin/commit.c:1432 builtin/merge.c:223 builtin/notes.c:405 +#: builtin/commit.c:1459 builtin/merge.c:223 builtin/notes.c:405 #: builtin/notes.c:562 builtin/tag.c:455 msgid "message" msgstr "" -#: builtin/commit.c:1432 +#: builtin/commit.c:1459 msgid "commit message" msgstr "" -#: builtin/commit.c:1433 +#: builtin/commit.c:1460 msgid "reuse and edit message from specified commit" msgstr "" -#: builtin/commit.c:1434 +#: builtin/commit.c:1461 msgid "reuse message from specified commit" msgstr "" -#: builtin/commit.c:1435 +#: builtin/commit.c:1462 msgid "use autosquash formatted message to fixup specified commit" msgstr "" -#: builtin/commit.c:1436 +#: builtin/commit.c:1463 msgid "use autosquash formatted message to squash specified commit" msgstr "" -#: builtin/commit.c:1437 +#: builtin/commit.c:1464 msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "" -#: builtin/commit.c:1438 builtin/log.c:1160 builtin/revert.c:111 +#: builtin/commit.c:1465 builtin/log.c:1180 builtin/revert.c:86 msgid "add Signed-off-by:" msgstr "" -#: builtin/commit.c:1439 +#: builtin/commit.c:1466 msgid "use specified template file" msgstr "" -#: builtin/commit.c:1440 +#: builtin/commit.c:1467 msgid "force edit of commit" msgstr "" -#: builtin/commit.c:1441 +#: builtin/commit.c:1468 msgid "default" msgstr "" -#: builtin/commit.c:1441 builtin/tag.c:460 +#: builtin/commit.c:1468 builtin/tag.c:460 msgid "how to strip spaces and #comments from message" msgstr "" -#: builtin/commit.c:1442 +#: builtin/commit.c:1469 msgid "include status in commit message template" msgstr "" -#: builtin/commit.c:1443 builtin/merge.c:230 builtin/tag.c:461 +#: builtin/commit.c:1470 builtin/merge.c:230 builtin/tag.c:461 msgid "key id" msgstr "" -#: builtin/commit.c:1444 builtin/merge.c:231 +#: builtin/commit.c:1471 builtin/merge.c:231 msgid "GPG sign commit" msgstr "" #. end commit message options -#: builtin/commit.c:1447 +#: builtin/commit.c:1474 msgid "Commit contents options" msgstr "" -#: builtin/commit.c:1448 +#: builtin/commit.c:1475 msgid "commit all changed files" msgstr "" -#: builtin/commit.c:1449 +#: builtin/commit.c:1476 msgid "add specified files to index for commit" msgstr "" -#: builtin/commit.c:1450 +#: builtin/commit.c:1477 msgid "interactively add files" msgstr "" -#: builtin/commit.c:1451 +#: builtin/commit.c:1478 msgid "interactively add changes" msgstr "" -#: builtin/commit.c:1452 +#: builtin/commit.c:1479 msgid "commit only specified files" msgstr "" -#: builtin/commit.c:1453 +#: builtin/commit.c:1480 msgid "bypass pre-commit hook" msgstr "" -#: builtin/commit.c:1454 +#: builtin/commit.c:1481 msgid "show what would be committed" msgstr "" -#: builtin/commit.c:1465 +#: builtin/commit.c:1492 msgid "amend previous commit" msgstr "" -#: builtin/commit.c:1466 +#: builtin/commit.c:1493 msgid "bypass post-rewrite hook" msgstr "" -#: builtin/commit.c:1471 +#: builtin/commit.c:1498 msgid "ok to record an empty change" msgstr "" -#: builtin/commit.c:1474 +#: builtin/commit.c:1500 msgid "ok to record a change with an empty message" msgstr "" -#: builtin/commit.c:1507 +#: builtin/commit.c:1529 msgid "could not parse HEAD commit" msgstr "" -#: builtin/commit.c:1545 builtin/merge.c:525 +#: builtin/commit.c:1567 builtin/merge.c:525 #, c-format msgid "could not open '%s' for reading" msgstr "" -#: builtin/commit.c:1552 +#: builtin/commit.c:1574 #, c-format msgid "Corrupt MERGE_HEAD file (%s)" msgstr "" -#: builtin/commit.c:1559 +#: builtin/commit.c:1581 msgid "could not read MERGE_MODE" msgstr "" -#: builtin/commit.c:1578 +#: builtin/commit.c:1600 #, c-format msgid "could not read commit message: %s" msgstr "" -#: builtin/commit.c:1592 +#: builtin/commit.c:1614 #, c-format msgid "Aborting commit; you did not edit the message.\n" msgstr "" -#: builtin/commit.c:1597 +#: builtin/commit.c:1619 #, c-format msgid "Aborting commit due to empty commit message.\n" msgstr "" -#: builtin/commit.c:1612 builtin/merge.c:861 builtin/merge.c:886 +#: builtin/commit.c:1634 builtin/merge.c:861 builtin/merge.c:886 msgid "failed to write commit object" msgstr "" -#: builtin/commit.c:1633 +#: builtin/commit.c:1655 msgid "cannot lock HEAD ref" msgstr "" -#: builtin/commit.c:1637 +#: builtin/commit.c:1659 msgid "cannot update HEAD ref" msgstr "" -#: builtin/commit.c:1648 +#: builtin/commit.c:1670 msgid "" "Repository has been updated, but unable to write\n" "new_index file. Check that disk is not full or quota is\n" "not exceeded, and then \"git reset HEAD\" to recover." msgstr "" -#: builtin/config.c:7 +#: builtin/config.c:8 msgid "git config [options]" msgstr "" -#: builtin/config.c:52 +#: builtin/config.c:54 msgid "Config file location" msgstr "" -#: builtin/config.c:53 +#: builtin/config.c:55 msgid "use global config file" msgstr "" -#: builtin/config.c:54 +#: builtin/config.c:56 msgid "use system config file" msgstr "" -#: builtin/config.c:55 +#: builtin/config.c:57 msgid "use repository config file" msgstr "" -#: builtin/config.c:56 +#: builtin/config.c:58 msgid "use given config file" msgstr "" -#: builtin/config.c:57 +#: builtin/config.c:59 msgid "blob-id" msgstr "" -#: builtin/config.c:57 +#: builtin/config.c:59 msgid "read config from given blob object" msgstr "" -#: builtin/config.c:58 +#: builtin/config.c:60 msgid "Action" msgstr "" -#: builtin/config.c:59 +#: builtin/config.c:61 msgid "get value: name [value-regex]" msgstr "" -#: builtin/config.c:60 +#: builtin/config.c:62 msgid "get all values: key [value-regex]" msgstr "" -#: builtin/config.c:61 +#: builtin/config.c:63 msgid "get values for regexp: name-regex [value-regex]" msgstr "" -#: builtin/config.c:62 +#: builtin/config.c:64 +msgid "get value specific for the URL: section[.var] URL" +msgstr "" + +#: builtin/config.c:65 msgid "replace all matching variables: name value [value_regex]" msgstr "" -#: builtin/config.c:63 +#: builtin/config.c:66 msgid "add a new variable: name value" msgstr "" -#: builtin/config.c:64 +#: builtin/config.c:67 msgid "remove a variable: name [value-regex]" msgstr "" -#: builtin/config.c:65 +#: builtin/config.c:68 msgid "remove all matches: name [value-regex]" msgstr "" -#: builtin/config.c:66 +#: builtin/config.c:69 msgid "rename section: old-name new-name" msgstr "" -#: builtin/config.c:67 +#: builtin/config.c:70 msgid "remove a section: name" msgstr "" -#: builtin/config.c:68 +#: builtin/config.c:71 msgid "list all" msgstr "" -#: builtin/config.c:69 +#: builtin/config.c:72 msgid "open an editor" msgstr "" -#: builtin/config.c:70 builtin/config.c:71 +#: builtin/config.c:73 builtin/config.c:74 msgid "slot" msgstr "" -#: builtin/config.c:70 +#: builtin/config.c:73 msgid "find the color configured: [default]" msgstr "" -#: builtin/config.c:71 +#: builtin/config.c:74 msgid "find the color setting: [stdout-is-tty]" msgstr "" -#: builtin/config.c:72 +#: builtin/config.c:75 msgid "Type" msgstr "" -#: builtin/config.c:73 +#: builtin/config.c:76 msgid "value is \"true\" or \"false\"" msgstr "" -#: builtin/config.c:74 +#: builtin/config.c:77 msgid "value is decimal number" msgstr "" -#: builtin/config.c:75 +#: builtin/config.c:78 msgid "value is --bool or --int" msgstr "" -#: builtin/config.c:76 +#: builtin/config.c:79 msgid "value is a path (file or directory name)" msgstr "" -#: builtin/config.c:77 +#: builtin/config.c:80 msgid "Other" msgstr "" -#: builtin/config.c:78 +#: builtin/config.c:81 msgid "terminate values with NUL byte" msgstr "" -#: builtin/config.c:79 +#: builtin/config.c:82 msgid "respect include directives on lookup" msgstr "" @@ -4501,39 +4678,39 @@ msgstr "" msgid "git fast-export [rev-list-opts]" msgstr "" -#: builtin/fast-export.c:666 +#: builtin/fast-export.c:673 msgid "show progress after <n> objects" msgstr "" -#: builtin/fast-export.c:668 +#: builtin/fast-export.c:675 msgid "select handling of signed tags" msgstr "" -#: builtin/fast-export.c:671 +#: builtin/fast-export.c:678 msgid "select handling of tags that tag filtered objects" msgstr "" -#: builtin/fast-export.c:674 +#: builtin/fast-export.c:681 msgid "Dump marks to this file" msgstr "" -#: builtin/fast-export.c:676 +#: builtin/fast-export.c:683 msgid "Import marks from this file" msgstr "" -#: builtin/fast-export.c:678 +#: builtin/fast-export.c:685 msgid "Fake a tagger when tags lack one" msgstr "" -#: builtin/fast-export.c:680 +#: builtin/fast-export.c:687 msgid "Output full tree for each commit" msgstr "" -#: builtin/fast-export.c:682 +#: builtin/fast-export.c:689 msgid "Use the done feature to terminate the stream" msgstr "" -#: builtin/fast-export.c:683 +#: builtin/fast-export.c:690 msgid "Skip output of blob data" msgstr "" @@ -4553,230 +4730,230 @@ msgstr "" msgid "git fetch --all [<options>]" msgstr "" -#: builtin/fetch.c:60 +#: builtin/fetch.c:74 msgid "fetch from all remotes" msgstr "" -#: builtin/fetch.c:62 +#: builtin/fetch.c:76 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "" -#: builtin/fetch.c:64 +#: builtin/fetch.c:78 msgid "path to upload pack on remote end" msgstr "" -#: builtin/fetch.c:65 +#: builtin/fetch.c:79 msgid "force overwrite of local branch" msgstr "" -#: builtin/fetch.c:67 +#: builtin/fetch.c:81 msgid "fetch from multiple remotes" msgstr "" -#: builtin/fetch.c:69 +#: builtin/fetch.c:83 msgid "fetch all tags and associated objects" msgstr "" -#: builtin/fetch.c:71 +#: builtin/fetch.c:85 msgid "do not fetch all tags (--no-tags)" msgstr "" -#: builtin/fetch.c:73 +#: builtin/fetch.c:87 msgid "prune remote-tracking branches no longer on remote" msgstr "" -#: builtin/fetch.c:74 +#: builtin/fetch.c:88 msgid "on-demand" msgstr "" -#: builtin/fetch.c:75 +#: builtin/fetch.c:89 msgid "control recursive fetching of submodules" msgstr "" -#: builtin/fetch.c:79 +#: builtin/fetch.c:93 msgid "keep downloaded pack" msgstr "" -#: builtin/fetch.c:81 +#: builtin/fetch.c:95 msgid "allow updating of HEAD ref" msgstr "" -#: builtin/fetch.c:84 +#: builtin/fetch.c:98 msgid "deepen history of shallow clone" msgstr "" -#: builtin/fetch.c:86 +#: builtin/fetch.c:100 msgid "convert to a complete repository" msgstr "" -#: builtin/fetch.c:88 builtin/log.c:1177 +#: builtin/fetch.c:102 builtin/log.c:1197 msgid "dir" msgstr "" -#: builtin/fetch.c:89 +#: builtin/fetch.c:103 msgid "prepend this to submodule path output" msgstr "" -#: builtin/fetch.c:92 +#: builtin/fetch.c:106 msgid "default mode for recursion" msgstr "" -#: builtin/fetch.c:220 +#: builtin/fetch.c:236 msgid "Couldn't find remote ref HEAD" msgstr "" -#: builtin/fetch.c:273 +#: builtin/fetch.c:290 #, c-format msgid "object %s not found" msgstr "" -#: builtin/fetch.c:278 +#: builtin/fetch.c:295 msgid "[up to date]" msgstr "" -#: builtin/fetch.c:292 +#: builtin/fetch.c:309 #, c-format msgid "! %-*s %-*s -> %s (can't fetch in current branch)" msgstr "" -#: builtin/fetch.c:293 builtin/fetch.c:379 +#: builtin/fetch.c:310 builtin/fetch.c:396 msgid "[rejected]" msgstr "" -#: builtin/fetch.c:304 +#: builtin/fetch.c:321 msgid "[tag update]" msgstr "" -#: builtin/fetch.c:306 builtin/fetch.c:341 builtin/fetch.c:359 +#: builtin/fetch.c:323 builtin/fetch.c:358 builtin/fetch.c:376 msgid " (unable to update local ref)" msgstr "" -#: builtin/fetch.c:324 +#: builtin/fetch.c:341 msgid "[new tag]" msgstr "" -#: builtin/fetch.c:327 +#: builtin/fetch.c:344 msgid "[new branch]" msgstr "" -#: builtin/fetch.c:330 +#: builtin/fetch.c:347 msgid "[new ref]" msgstr "" -#: builtin/fetch.c:375 +#: builtin/fetch.c:392 msgid "unable to update local ref" msgstr "" -#: builtin/fetch.c:375 +#: builtin/fetch.c:392 msgid "forced update" msgstr "" -#: builtin/fetch.c:381 +#: builtin/fetch.c:398 msgid "(non-fast-forward)" msgstr "" -#: builtin/fetch.c:412 builtin/fetch.c:718 +#: builtin/fetch.c:429 builtin/fetch.c:735 #, c-format msgid "cannot open %s: %s\n" msgstr "" -#: builtin/fetch.c:421 +#: builtin/fetch.c:438 #, c-format msgid "%s did not send all necessary objects\n" msgstr "" -#: builtin/fetch.c:520 +#: builtin/fetch.c:537 #, c-format msgid "From %.*s\n" msgstr "" -#: builtin/fetch.c:531 +#: builtin/fetch.c:548 #, c-format msgid "" "some local refs could not be updated; try running\n" " 'git remote prune %s' to remove any old, conflicting branches" msgstr "" -#: builtin/fetch.c:581 +#: builtin/fetch.c:598 #, c-format msgid " (%s will become dangling)" msgstr "" -#: builtin/fetch.c:582 +#: builtin/fetch.c:599 #, c-format msgid " (%s has become dangling)" msgstr "" -#: builtin/fetch.c:589 +#: builtin/fetch.c:606 msgid "[deleted]" msgstr "" -#: builtin/fetch.c:590 builtin/remote.c:1055 +#: builtin/fetch.c:607 builtin/remote.c:1055 msgid "(none)" msgstr "" -#: builtin/fetch.c:708 +#: builtin/fetch.c:725 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "" -#: builtin/fetch.c:742 +#: builtin/fetch.c:744 #, c-format -msgid "Don't know how to fetch from %s" +msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "" -#: builtin/fetch.c:823 +#: builtin/fetch.c:747 #, c-format -msgid "Option \"%s\" value \"%s\" is not valid for %s" +msgid "Option \"%s\" is ignored for %s\n" msgstr "" -#: builtin/fetch.c:826 +#: builtin/fetch.c:801 #, c-format -msgid "Option \"%s\" is ignored for %s\n" +msgid "Don't know how to fetch from %s" msgstr "" -#: builtin/fetch.c:928 +#: builtin/fetch.c:976 #, c-format msgid "Fetching %s\n" msgstr "" -#: builtin/fetch.c:930 builtin/remote.c:100 +#: builtin/fetch.c:978 builtin/remote.c:100 #, c-format msgid "Could not fetch %s" msgstr "" -#: builtin/fetch.c:949 +#: builtin/fetch.c:997 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." msgstr "" -#: builtin/fetch.c:969 +#: builtin/fetch.c:1020 msgid "You need to specify a tag name." msgstr "" -#: builtin/fetch.c:1015 +#: builtin/fetch.c:1068 msgid "--depth and --unshallow cannot be used together" msgstr "" -#: builtin/fetch.c:1017 +#: builtin/fetch.c:1070 msgid "--unshallow on a complete repository does not make sense" msgstr "" -#: builtin/fetch.c:1036 +#: builtin/fetch.c:1089 msgid "fetch --all does not take a repository argument" msgstr "" -#: builtin/fetch.c:1038 +#: builtin/fetch.c:1091 msgid "fetch --all does not make sense with refspecs" msgstr "" -#: builtin/fetch.c:1049 +#: builtin/fetch.c:1102 #, c-format msgid "No such remote or remote group: %s" msgstr "" -#: builtin/fetch.c:1057 +#: builtin/fetch.c:1110 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "" @@ -4784,9 +4961,9 @@ msgstr "" msgid "git fmt-merge-msg [-m <message>] [--log[=<n>]|--no-log] [--file <file>]" msgstr "" -#: builtin/fmt-merge-msg.c:663 builtin/fmt-merge-msg.c:666 builtin/grep.c:700 -#: builtin/merge.c:203 builtin/show-branch.c:655 builtin/show-ref.c:179 -#: builtin/tag.c:446 parse-options.h:133 parse-options.h:243 +#: builtin/fmt-merge-msg.c:663 builtin/fmt-merge-msg.c:666 builtin/grep.c:702 +#: builtin/merge.c:203 builtin/show-branch.c:655 builtin/show-ref.c:178 +#: builtin/tag.c:446 parse-options.h:135 parse-options.h:245 msgid "n" msgstr "" @@ -4810,158 +4987,169 @@ msgstr "" msgid "file to read from" msgstr "" -#: builtin/for-each-ref.c:979 +#: builtin/for-each-ref.c:995 msgid "git for-each-ref [options] [<pattern>]" msgstr "" -#: builtin/for-each-ref.c:994 +#: builtin/for-each-ref.c:1010 msgid "quote placeholders suitably for shells" msgstr "" -#: builtin/for-each-ref.c:996 +#: builtin/for-each-ref.c:1012 msgid "quote placeholders suitably for perl" msgstr "" -#: builtin/for-each-ref.c:998 +#: builtin/for-each-ref.c:1014 msgid "quote placeholders suitably for python" msgstr "" -#: builtin/for-each-ref.c:1000 +#: builtin/for-each-ref.c:1016 msgid "quote placeholders suitably for tcl" msgstr "" -#: builtin/for-each-ref.c:1003 +#: builtin/for-each-ref.c:1019 msgid "show only <n> matched refs" msgstr "" -#: builtin/for-each-ref.c:1004 +#: builtin/for-each-ref.c:1020 msgid "format" msgstr "" -#: builtin/for-each-ref.c:1004 +#: builtin/for-each-ref.c:1020 msgid "format to use for the output" msgstr "" -#: builtin/for-each-ref.c:1005 +#: builtin/for-each-ref.c:1021 msgid "key" msgstr "" -#: builtin/for-each-ref.c:1006 +#: builtin/for-each-ref.c:1022 msgid "field name to sort on" msgstr "" -#: builtin/fsck.c:608 +#: builtin/fsck.c:607 msgid "git fsck [options] [<object>...]" msgstr "" -#: builtin/fsck.c:614 +#: builtin/fsck.c:613 msgid "show unreachable objects" msgstr "" -#: builtin/fsck.c:615 +#: builtin/fsck.c:614 msgid "show dangling objects" msgstr "" -#: builtin/fsck.c:616 +#: builtin/fsck.c:615 msgid "report tags" msgstr "" -#: builtin/fsck.c:617 +#: builtin/fsck.c:616 msgid "report root nodes" msgstr "" -#: builtin/fsck.c:618 +#: builtin/fsck.c:617 msgid "make index objects head nodes" msgstr "" -#: builtin/fsck.c:619 +#: builtin/fsck.c:618 msgid "make reflogs head nodes (default)" msgstr "" -#: builtin/fsck.c:620 +#: builtin/fsck.c:619 msgid "also consider packs and alternate objects" msgstr "" -#: builtin/fsck.c:621 +#: builtin/fsck.c:620 msgid "enable more strict checking" msgstr "" -#: builtin/fsck.c:623 +#: builtin/fsck.c:622 msgid "write dangling objects in .git/lost-found" msgstr "" -#: builtin/fsck.c:624 builtin/prune.c:134 +#: builtin/fsck.c:623 builtin/prune.c:134 msgid "show progress" msgstr "" -#: builtin/gc.c:22 +#: builtin/gc.c:23 msgid "git gc [options]" msgstr "" -#: builtin/gc.c:63 +#: builtin/gc.c:79 #, c-format msgid "Invalid %s: '%s'" msgstr "" -#: builtin/gc.c:90 +#: builtin/gc.c:106 #, c-format msgid "insanely long object directory %.*s" msgstr "" -#: builtin/gc.c:179 +#: builtin/gc.c:261 msgid "prune unreferenced objects" msgstr "" -#: builtin/gc.c:181 +#: builtin/gc.c:263 msgid "be more thorough (increased runtime)" msgstr "" -#: builtin/gc.c:182 +#: builtin/gc.c:264 msgid "enable auto-gc mode" msgstr "" -#: builtin/gc.c:222 +#: builtin/gc.c:265 +msgid "force running gc even if there may be another gc running" +msgstr "" + +#: builtin/gc.c:305 #, c-format msgid "" "Auto packing the repository for optimum performance. You may also\n" "run \"git gc\" manually. See \"git help gc\" for more information.\n" msgstr "" -#: builtin/gc.c:249 +#. be quiet on --auto +#: builtin/gc.c:315 +#, c-format +msgid "" +"gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)" +msgstr "" + +#: builtin/gc.c:340 msgid "" "There are too many unreachable loose objects; run 'git prune' to remove them." msgstr "" -#: builtin/grep.c:22 +#: builtin/grep.c:23 msgid "git grep [options] [-e] <pattern> [<rev>...] [[--] <path>...]" msgstr "" -#: builtin/grep.c:217 +#: builtin/grep.c:218 #, c-format msgid "grep: failed to create thread: %s" msgstr "" -#: builtin/grep.c:364 +#: builtin/grep.c:365 #, c-format msgid "Failed to chdir: %s" msgstr "" -#: builtin/grep.c:442 builtin/grep.c:477 +#: builtin/grep.c:443 builtin/grep.c:478 #, c-format msgid "unable to read tree (%s)" msgstr "" -#: builtin/grep.c:492 +#: builtin/grep.c:493 #, c-format msgid "unable to grep from object of type %s" msgstr "" -#: builtin/grep.c:550 +#: builtin/grep.c:551 #, c-format msgid "switch `%c' expects a numerical value" msgstr "" -#: builtin/grep.c:567 +#: builtin/grep.c:568 #, c-format msgid "cannot open '%s'" msgstr "" @@ -5003,158 +5191,162 @@ msgid "don't match patterns in binary files" msgstr "" #: builtin/grep.c:662 +msgid "process binary files with textconv filters" +msgstr "" + +#: builtin/grep.c:664 msgid "descend at most <depth> levels" msgstr "" -#: builtin/grep.c:666 +#: builtin/grep.c:668 msgid "use extended POSIX regular expressions" msgstr "" -#: builtin/grep.c:669 +#: builtin/grep.c:671 msgid "use basic POSIX regular expressions (default)" msgstr "" -#: builtin/grep.c:672 +#: builtin/grep.c:674 msgid "interpret patterns as fixed strings" msgstr "" -#: builtin/grep.c:675 +#: builtin/grep.c:677 msgid "use Perl-compatible regular expressions" msgstr "" -#: builtin/grep.c:678 +#: builtin/grep.c:680 msgid "show line numbers" msgstr "" -#: builtin/grep.c:679 +#: builtin/grep.c:681 msgid "don't show filenames" msgstr "" -#: builtin/grep.c:680 +#: builtin/grep.c:682 msgid "show filenames" msgstr "" -#: builtin/grep.c:682 +#: builtin/grep.c:684 msgid "show filenames relative to top directory" msgstr "" -#: builtin/grep.c:684 +#: builtin/grep.c:686 msgid "show only filenames instead of matching lines" msgstr "" -#: builtin/grep.c:686 +#: builtin/grep.c:688 msgid "synonym for --files-with-matches" msgstr "" -#: builtin/grep.c:689 +#: builtin/grep.c:691 msgid "show only the names of files without match" msgstr "" -#: builtin/grep.c:691 +#: builtin/grep.c:693 msgid "print NUL after filenames" msgstr "" -#: builtin/grep.c:693 +#: builtin/grep.c:695 msgid "show the number of matches instead of matching lines" msgstr "" -#: builtin/grep.c:694 +#: builtin/grep.c:696 msgid "highlight matches" msgstr "" -#: builtin/grep.c:696 +#: builtin/grep.c:698 msgid "print empty line between matches from different files" msgstr "" -#: builtin/grep.c:698 +#: builtin/grep.c:700 msgid "show filename only once above matches from same file" msgstr "" -#: builtin/grep.c:701 +#: builtin/grep.c:703 msgid "show <n> context lines before and after matches" msgstr "" -#: builtin/grep.c:704 +#: builtin/grep.c:706 msgid "show <n> context lines before matches" msgstr "" -#: builtin/grep.c:706 +#: builtin/grep.c:708 msgid "show <n> context lines after matches" msgstr "" -#: builtin/grep.c:707 +#: builtin/grep.c:709 msgid "shortcut for -C NUM" msgstr "" -#: builtin/grep.c:710 +#: builtin/grep.c:712 msgid "show a line with the function name before matches" msgstr "" -#: builtin/grep.c:712 +#: builtin/grep.c:714 msgid "show the surrounding function" msgstr "" -#: builtin/grep.c:715 +#: builtin/grep.c:717 msgid "read patterns from file" msgstr "" -#: builtin/grep.c:717 +#: builtin/grep.c:719 msgid "match <pattern>" msgstr "" -#: builtin/grep.c:719 +#: builtin/grep.c:721 msgid "combine patterns specified with -e" msgstr "" -#: builtin/grep.c:731 +#: builtin/grep.c:733 msgid "indicate hit with exit status without output" msgstr "" -#: builtin/grep.c:733 +#: builtin/grep.c:735 msgid "show only matches from files that match all patterns" msgstr "" -#: builtin/grep.c:735 +#: builtin/grep.c:737 msgid "show parse tree for grep expression" msgstr "" -#: builtin/grep.c:739 +#: builtin/grep.c:741 msgid "pager" msgstr "" -#: builtin/grep.c:739 +#: builtin/grep.c:741 msgid "show matching files in the pager" msgstr "" -#: builtin/grep.c:742 +#: builtin/grep.c:744 msgid "allow calling of grep(1) (ignored by this build)" msgstr "" -#: builtin/grep.c:743 builtin/show-ref.c:188 +#: builtin/grep.c:745 builtin/show-ref.c:187 msgid "show usage" msgstr "" -#: builtin/grep.c:810 +#: builtin/grep.c:812 msgid "no pattern given." msgstr "" -#: builtin/grep.c:865 +#: builtin/grep.c:870 msgid "--open-files-in-pager only works on the worktree" msgstr "" -#: builtin/grep.c:888 +#: builtin/grep.c:893 msgid "--cached or --untracked cannot be used with --no-index." msgstr "" -#: builtin/grep.c:893 +#: builtin/grep.c:898 msgid "--no-index or --untracked cannot be used with revs." msgstr "" -#: builtin/grep.c:896 +#: builtin/grep.c:901 msgid "--[no-]exclude-standard cannot be used for tracked contents." msgstr "" -#: builtin/grep.c:904 +#: builtin/grep.c:909 msgid "both --cached and trees are given." msgstr "" @@ -5403,8 +5595,8 @@ msgstr "" msgid "SHA1 COLLISION FOUND WITH %s !" msgstr "" -#: builtin/index-pack.c:669 builtin/pack-objects.c:170 -#: builtin/pack-objects.c:262 +#: builtin/index-pack.c:669 builtin/pack-objects.c:171 +#: builtin/pack-objects.c:263 #, c-format msgid "unable to read %s" msgstr "" @@ -5433,155 +5625,155 @@ msgstr "" msgid "Not all child objects of %s are reachable" msgstr "" -#: builtin/index-pack.c:838 builtin/index-pack.c:868 +#: builtin/index-pack.c:839 builtin/index-pack.c:869 msgid "failed to apply delta" msgstr "" -#: builtin/index-pack.c:1009 +#: builtin/index-pack.c:1010 msgid "Receiving objects" msgstr "" -#: builtin/index-pack.c:1009 +#: builtin/index-pack.c:1010 msgid "Indexing objects" msgstr "" -#: builtin/index-pack.c:1035 +#: builtin/index-pack.c:1036 msgid "pack is corrupted (SHA1 mismatch)" msgstr "" -#: builtin/index-pack.c:1040 +#: builtin/index-pack.c:1041 msgid "cannot fstat packfile" msgstr "" -#: builtin/index-pack.c:1043 +#: builtin/index-pack.c:1044 msgid "pack has junk at the end" msgstr "" -#: builtin/index-pack.c:1054 +#: builtin/index-pack.c:1055 msgid "confusion beyond insanity in parse_pack_objects()" msgstr "" -#: builtin/index-pack.c:1077 +#: builtin/index-pack.c:1078 msgid "Resolving deltas" msgstr "" -#: builtin/index-pack.c:1087 +#: builtin/index-pack.c:1088 #, c-format msgid "unable to create thread: %s" msgstr "" -#: builtin/index-pack.c:1129 +#: builtin/index-pack.c:1130 msgid "confusion beyond insanity" msgstr "" -#: builtin/index-pack.c:1137 +#: builtin/index-pack.c:1138 #, c-format msgid "completed with %d local objects" msgstr "" -#: builtin/index-pack.c:1147 +#: builtin/index-pack.c:1148 #, c-format msgid "Unexpected tail checksum for %s (disk corruption?)" msgstr "" -#: builtin/index-pack.c:1151 +#: builtin/index-pack.c:1152 #, c-format msgid "pack has %d unresolved delta" msgid_plural "pack has %d unresolved deltas" msgstr[0] "" msgstr[1] "" -#: builtin/index-pack.c:1176 +#: builtin/index-pack.c:1177 #, c-format msgid "unable to deflate appended object (%d)" msgstr "" -#: builtin/index-pack.c:1255 +#: builtin/index-pack.c:1256 #, c-format msgid "local object %s is corrupt" msgstr "" -#: builtin/index-pack.c:1279 +#: builtin/index-pack.c:1280 msgid "error while closing pack file" msgstr "" -#: builtin/index-pack.c:1292 +#: builtin/index-pack.c:1293 #, c-format msgid "cannot write keep file '%s'" msgstr "" -#: builtin/index-pack.c:1300 +#: builtin/index-pack.c:1301 #, c-format msgid "cannot close written keep file '%s'" msgstr "" -#: builtin/index-pack.c:1313 +#: builtin/index-pack.c:1314 msgid "cannot store pack file" msgstr "" -#: builtin/index-pack.c:1324 +#: builtin/index-pack.c:1325 msgid "cannot store index file" msgstr "" -#: builtin/index-pack.c:1357 +#: builtin/index-pack.c:1358 #, c-format msgid "bad pack.indexversion=%<PRIu32>" msgstr "" -#: builtin/index-pack.c:1363 +#: builtin/index-pack.c:1364 #, c-format msgid "invalid number of threads specified (%d)" msgstr "" -#: builtin/index-pack.c:1367 builtin/index-pack.c:1545 +#: builtin/index-pack.c:1368 builtin/index-pack.c:1546 #, c-format msgid "no threads support, ignoring %s" msgstr "" -#: builtin/index-pack.c:1425 +#: builtin/index-pack.c:1426 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "" -#: builtin/index-pack.c:1427 +#: builtin/index-pack.c:1428 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "" -#: builtin/index-pack.c:1474 +#: builtin/index-pack.c:1475 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" msgstr[0] "" msgstr[1] "" -#: builtin/index-pack.c:1481 +#: builtin/index-pack.c:1482 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" msgstr[0] "" msgstr[1] "" -#: builtin/index-pack.c:1509 +#: builtin/index-pack.c:1510 msgid "Cannot come back to cwd" msgstr "" -#: builtin/index-pack.c:1557 builtin/index-pack.c:1560 -#: builtin/index-pack.c:1572 builtin/index-pack.c:1576 +#: builtin/index-pack.c:1558 builtin/index-pack.c:1561 +#: builtin/index-pack.c:1573 builtin/index-pack.c:1577 #, c-format msgid "bad %s" msgstr "" -#: builtin/index-pack.c:1590 +#: builtin/index-pack.c:1591 msgid "--fix-thin cannot be used without --stdin" msgstr "" -#: builtin/index-pack.c:1594 builtin/index-pack.c:1604 +#: builtin/index-pack.c:1595 builtin/index-pack.c:1605 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "" -#: builtin/index-pack.c:1613 +#: builtin/index-pack.c:1614 msgid "--verify with no packfile name given" msgstr "" @@ -5670,11 +5862,6 @@ msgstr "" msgid "unable to move %s to %s" msgstr "" -#: builtin/init-db.c:363 -#, c-format -msgid "Could not create git link %s" -msgstr "" - #. #. * TRANSLATORS: The first '%s' is either "Reinitialized #. * existing" or "Initialized empty", the second " shared" or @@ -5715,7 +5902,7 @@ msgstr "" msgid "specify that the git repository is to be shared amongst several users" msgstr "" -#: builtin/init-db.c:493 builtin/prune-packed.c:75 +#: builtin/init-db.c:493 builtin/prune-packed.c:75 builtin/repack.c:155 msgid "be quiet" msgstr "" @@ -5753,381 +5940,381 @@ msgstr "" msgid " or: git show [options] <object>..." msgstr "" -#: builtin/log.c:124 +#: builtin/log.c:125 msgid "suppress diff output" msgstr "" -#: builtin/log.c:125 +#: builtin/log.c:126 msgid "show source" msgstr "" -#: builtin/log.c:126 +#: builtin/log.c:127 msgid "Use mail map file" msgstr "" -#: builtin/log.c:127 +#: builtin/log.c:128 msgid "decorate options" msgstr "" -#: builtin/log.c:230 +#: builtin/log.c:231 #, c-format msgid "Final output: %d %s\n" msgstr "" -#: builtin/log.c:453 builtin/log.c:545 +#: builtin/log.c:473 builtin/log.c:565 #, c-format msgid "Could not read object %s" msgstr "" -#: builtin/log.c:569 +#: builtin/log.c:589 #, c-format msgid "Unknown type: %d" msgstr "" -#: builtin/log.c:669 +#: builtin/log.c:689 msgid "format.headers without value" msgstr "" -#: builtin/log.c:751 +#: builtin/log.c:771 msgid "name of output directory is too long" msgstr "" -#: builtin/log.c:767 +#: builtin/log.c:787 #, c-format msgid "Cannot open patch file %s" msgstr "" -#: builtin/log.c:781 +#: builtin/log.c:801 msgid "Need exactly one range." msgstr "" -#: builtin/log.c:789 +#: builtin/log.c:809 msgid "Not a range." msgstr "" -#: builtin/log.c:891 +#: builtin/log.c:911 msgid "Cover letter needs email format" msgstr "" -#: builtin/log.c:967 +#: builtin/log.c:987 #, c-format msgid "insane in-reply-to: %s" msgstr "" -#: builtin/log.c:995 +#: builtin/log.c:1015 msgid "git format-patch [options] [<since> | <revision range>]" msgstr "" -#: builtin/log.c:1040 +#: builtin/log.c:1060 msgid "Two output directories?" msgstr "" -#: builtin/log.c:1155 +#: builtin/log.c:1175 msgid "use [PATCH n/m] even with a single patch" msgstr "" -#: builtin/log.c:1158 +#: builtin/log.c:1178 msgid "use [PATCH] even with multiple patches" msgstr "" -#: builtin/log.c:1162 +#: builtin/log.c:1182 msgid "print patches to standard out" msgstr "" -#: builtin/log.c:1164 +#: builtin/log.c:1184 msgid "generate a cover letter" msgstr "" -#: builtin/log.c:1166 +#: builtin/log.c:1186 msgid "use simple number sequence for output file names" msgstr "" -#: builtin/log.c:1167 +#: builtin/log.c:1187 msgid "sfx" msgstr "" -#: builtin/log.c:1168 +#: builtin/log.c:1188 msgid "use <sfx> instead of '.patch'" msgstr "" -#: builtin/log.c:1170 +#: builtin/log.c:1190 msgid "start numbering patches at <n> instead of 1" msgstr "" -#: builtin/log.c:1172 +#: builtin/log.c:1192 msgid "mark the series as Nth re-roll" msgstr "" -#: builtin/log.c:1174 +#: builtin/log.c:1194 msgid "Use [<prefix>] instead of [PATCH]" msgstr "" -#: builtin/log.c:1177 +#: builtin/log.c:1197 msgid "store resulting files in <dir>" msgstr "" -#: builtin/log.c:1180 +#: builtin/log.c:1200 msgid "don't strip/add [PATCH]" msgstr "" -#: builtin/log.c:1183 +#: builtin/log.c:1203 msgid "don't output binary diffs" msgstr "" -#: builtin/log.c:1185 +#: builtin/log.c:1205 msgid "don't include a patch matching a commit upstream" msgstr "" -#: builtin/log.c:1187 +#: builtin/log.c:1207 msgid "show patch format instead of default (patch + stat)" msgstr "" -#: builtin/log.c:1189 +#: builtin/log.c:1209 msgid "Messaging" msgstr "" -#: builtin/log.c:1190 +#: builtin/log.c:1210 msgid "header" msgstr "" -#: builtin/log.c:1191 +#: builtin/log.c:1211 msgid "add email header" msgstr "" -#: builtin/log.c:1192 builtin/log.c:1194 +#: builtin/log.c:1212 builtin/log.c:1214 msgid "email" msgstr "" -#: builtin/log.c:1192 +#: builtin/log.c:1212 msgid "add To: header" msgstr "" -#: builtin/log.c:1194 +#: builtin/log.c:1214 msgid "add Cc: header" msgstr "" -#: builtin/log.c:1196 +#: builtin/log.c:1216 msgid "ident" msgstr "" -#: builtin/log.c:1197 +#: builtin/log.c:1217 msgid "set From address to <ident> (or committer ident if absent)" msgstr "" -#: builtin/log.c:1199 +#: builtin/log.c:1219 msgid "message-id" msgstr "" -#: builtin/log.c:1200 +#: builtin/log.c:1220 msgid "make first mail a reply to <message-id>" msgstr "" -#: builtin/log.c:1201 builtin/log.c:1204 +#: builtin/log.c:1221 builtin/log.c:1224 msgid "boundary" msgstr "" -#: builtin/log.c:1202 +#: builtin/log.c:1222 msgid "attach the patch" msgstr "" -#: builtin/log.c:1205 +#: builtin/log.c:1225 msgid "inline the patch" msgstr "" -#: builtin/log.c:1209 +#: builtin/log.c:1229 msgid "enable message threading, styles: shallow, deep" msgstr "" -#: builtin/log.c:1211 +#: builtin/log.c:1231 msgid "signature" msgstr "" -#: builtin/log.c:1212 +#: builtin/log.c:1232 msgid "add a signature" msgstr "" -#: builtin/log.c:1214 +#: builtin/log.c:1233 msgid "don't print the patch filenames" msgstr "" -#: builtin/log.c:1288 +#: builtin/log.c:1307 #, c-format msgid "invalid ident line: %s" msgstr "" -#: builtin/log.c:1303 +#: builtin/log.c:1322 msgid "-n and -k are mutually exclusive." msgstr "" -#: builtin/log.c:1305 +#: builtin/log.c:1324 msgid "--subject-prefix and -k are mutually exclusive." msgstr "" -#: builtin/log.c:1313 +#: builtin/log.c:1332 msgid "--name-only does not make sense" msgstr "" -#: builtin/log.c:1315 +#: builtin/log.c:1334 msgid "--name-status does not make sense" msgstr "" -#: builtin/log.c:1317 +#: builtin/log.c:1336 msgid "--check does not make sense" msgstr "" -#: builtin/log.c:1340 +#: builtin/log.c:1359 msgid "standard output, or directory, which one?" msgstr "" -#: builtin/log.c:1342 +#: builtin/log.c:1361 #, c-format msgid "Could not create directory '%s'" msgstr "" -#: builtin/log.c:1490 +#: builtin/log.c:1509 msgid "Failed to create output files" msgstr "" -#: builtin/log.c:1539 +#: builtin/log.c:1558 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" msgstr "" -#: builtin/log.c:1594 +#: builtin/log.c:1613 #, c-format msgid "" "Could not find a tracked remote branch, please specify <upstream> manually.\n" msgstr "" -#: builtin/log.c:1607 builtin/log.c:1609 builtin/log.c:1621 +#: builtin/log.c:1626 builtin/log.c:1628 builtin/log.c:1640 #, c-format msgid "Unknown commit %s" msgstr "" -#: builtin/ls-files.c:408 +#: builtin/ls-files.c:398 msgid "git ls-files [options] [<file>...]" msgstr "" -#: builtin/ls-files.c:465 +#: builtin/ls-files.c:455 msgid "identify the file status with tags" msgstr "" -#: builtin/ls-files.c:467 +#: builtin/ls-files.c:457 msgid "use lowercase letters for 'assume unchanged' files" msgstr "" -#: builtin/ls-files.c:469 +#: builtin/ls-files.c:459 msgid "show cached files in the output (default)" msgstr "" -#: builtin/ls-files.c:471 +#: builtin/ls-files.c:461 msgid "show deleted files in the output" msgstr "" -#: builtin/ls-files.c:473 +#: builtin/ls-files.c:463 msgid "show modified files in the output" msgstr "" -#: builtin/ls-files.c:475 +#: builtin/ls-files.c:465 msgid "show other files in the output" msgstr "" -#: builtin/ls-files.c:477 +#: builtin/ls-files.c:467 msgid "show ignored files in the output" msgstr "" -#: builtin/ls-files.c:480 +#: builtin/ls-files.c:470 msgid "show staged contents' object name in the output" msgstr "" -#: builtin/ls-files.c:482 +#: builtin/ls-files.c:472 msgid "show files on the filesystem that need to be removed" msgstr "" -#: builtin/ls-files.c:484 +#: builtin/ls-files.c:474 msgid "show 'other' directories' name only" msgstr "" -#: builtin/ls-files.c:487 +#: builtin/ls-files.c:477 msgid "don't show empty directories" msgstr "" -#: builtin/ls-files.c:490 +#: builtin/ls-files.c:480 msgid "show unmerged files in the output" msgstr "" -#: builtin/ls-files.c:492 +#: builtin/ls-files.c:482 msgid "show resolve-undo information" msgstr "" -#: builtin/ls-files.c:494 +#: builtin/ls-files.c:484 msgid "skip files matching pattern" msgstr "" -#: builtin/ls-files.c:497 +#: builtin/ls-files.c:487 msgid "exclude patterns are read from <file>" msgstr "" -#: builtin/ls-files.c:500 +#: builtin/ls-files.c:490 msgid "read additional per-directory exclude patterns in <file>" msgstr "" -#: builtin/ls-files.c:502 +#: builtin/ls-files.c:492 msgid "add the standard git exclusions" msgstr "" -#: builtin/ls-files.c:505 +#: builtin/ls-files.c:495 msgid "make the output relative to the project top directory" msgstr "" -#: builtin/ls-files.c:508 +#: builtin/ls-files.c:498 msgid "if any <file> is not in the index, treat this as an error" msgstr "" -#: builtin/ls-files.c:509 +#: builtin/ls-files.c:499 msgid "tree-ish" msgstr "" -#: builtin/ls-files.c:510 +#: builtin/ls-files.c:500 msgid "pretend that paths removed since <tree-ish> are still present" msgstr "" -#: builtin/ls-files.c:512 +#: builtin/ls-files.c:502 msgid "show debugging data" msgstr "" -#: builtin/ls-tree.c:27 +#: builtin/ls-tree.c:28 msgid "git ls-tree [<options>] <tree-ish> [<path>...]" msgstr "" -#: builtin/ls-tree.c:125 +#: builtin/ls-tree.c:126 msgid "only show trees" msgstr "" -#: builtin/ls-tree.c:127 +#: builtin/ls-tree.c:128 msgid "recurse into subtrees" msgstr "" -#: builtin/ls-tree.c:129 +#: builtin/ls-tree.c:130 msgid "show trees when recursing" msgstr "" -#: builtin/ls-tree.c:132 +#: builtin/ls-tree.c:133 msgid "terminate entries with NUL byte" msgstr "" -#: builtin/ls-tree.c:133 +#: builtin/ls-tree.c:134 msgid "include object size" msgstr "" -#: builtin/ls-tree.c:135 builtin/ls-tree.c:137 +#: builtin/ls-tree.c:136 builtin/ls-tree.c:138 msgid "list only filenames" msgstr "" -#: builtin/ls-tree.c:140 +#: builtin/ls-tree.c:141 msgid "use full path names" msgstr "" -#: builtin/ls-tree.c:142 +#: builtin/ls-tree.c:143 msgid "list entire tree; not just current directory (implies --full-name)" msgstr "" @@ -6202,7 +6389,7 @@ msgstr "" msgid "Verify that the named commit has a valid GPG signature" msgstr "" -#: builtin/merge.c:219 builtin/notes.c:738 builtin/revert.c:114 +#: builtin/merge.c:219 builtin/notes.c:738 builtin/revert.c:89 msgid "strategy" msgstr "" @@ -6554,76 +6741,85 @@ msgstr "" msgid "allow creation of more than one tree" msgstr "" -#: builtin/mv.c:14 +#: builtin/mv.c:15 msgid "git mv [options] <source>... <destination>" msgstr "" -#: builtin/mv.c:64 +#: builtin/mv.c:67 msgid "force move/rename even if target exists" msgstr "" -#: builtin/mv.c:65 +#: builtin/mv.c:68 msgid "skip move/rename errors" msgstr "" -#: builtin/mv.c:108 +#: builtin/mv.c:113 #, c-format msgid "Checking rename of '%s' to '%s'\n" msgstr "" -#: builtin/mv.c:112 +#: builtin/mv.c:117 msgid "bad source" msgstr "" -#: builtin/mv.c:115 +#: builtin/mv.c:120 msgid "can not move directory into itself" msgstr "" -#: builtin/mv.c:118 +#: builtin/mv.c:123 msgid "cannot move directory over file" msgstr "" -#: builtin/mv.c:128 +#: builtin/mv.c:129 +#, c-format +msgid "Huh? Directory %s is in index and no submodule?" +msgstr "" + +#: builtin/mv.c:131 builtin/rm.c:318 +msgid "Please, stage your changes to .gitmodules or stash them to proceed" +msgstr "" + +#: builtin/mv.c:147 #, c-format msgid "Huh? %.*s is in index?" msgstr "" -#: builtin/mv.c:140 +#: builtin/mv.c:159 msgid "source directory is empty" msgstr "" -#: builtin/mv.c:171 +#: builtin/mv.c:191 msgid "not under version control" msgstr "" -#: builtin/mv.c:173 +#: builtin/mv.c:193 msgid "destination exists" msgstr "" -#: builtin/mv.c:181 +#: builtin/mv.c:201 #, c-format msgid "overwriting '%s'" msgstr "" -#: builtin/mv.c:184 +#: builtin/mv.c:204 msgid "Cannot overwrite" msgstr "" -#: builtin/mv.c:187 +#: builtin/mv.c:207 msgid "multiple sources for the same target" msgstr "" -#: builtin/mv.c:202 +#: builtin/mv.c:222 #, c-format msgid "%s, source=%s, destination=%s" msgstr "" -#: builtin/mv.c:212 +#: builtin/mv.c:232 #, c-format msgid "Renaming %s to %s\n" msgstr "" -#: builtin/mv.c:215 builtin/remote.c:731 +#: builtin/mv.c:235 builtin/remote.c:731 builtin/repack.c:330 #, c-format msgid "renaming '%s' failed" msgstr "" @@ -6661,7 +6857,7 @@ msgid "read from stdin" msgstr "" #: builtin/name-rev.c:320 -msgid "allow to print `undefined` names" +msgid "allow to print `undefined` names (default)" msgstr "" #: builtin/name-rev.c:326 @@ -6810,12 +7006,12 @@ msgstr "" msgid "The note contents has been left in %s" msgstr "" -#: builtin/notes.c:248 builtin/tag.c:540 +#: builtin/notes.c:248 builtin/tag.c:537 #, c-format msgid "cannot read '%s'" msgstr "" -#: builtin/notes.c:250 builtin/tag.c:543 +#: builtin/notes.c:250 builtin/tag.c:540 #, c-format msgid "could not open or read '%s'" msgstr "" @@ -6823,7 +7019,7 @@ msgstr "" #: builtin/notes.c:269 builtin/notes.c:316 builtin/notes.c:318 #: builtin/notes.c:378 builtin/notes.c:432 builtin/notes.c:515 #: builtin/notes.c:520 builtin/notes.c:595 builtin/notes.c:637 -#: builtin/notes.c:839 builtin/tag.c:556 +#: builtin/notes.c:839 builtin/tag.c:553 #, c-format msgid "Failed to resolve '%s' as a valid ref." msgstr "" @@ -6986,148 +7182,148 @@ msgstr "" msgid "git pack-objects [options...] base-name [< ref-list | < object-list]" msgstr "" -#: builtin/pack-objects.c:183 builtin/pack-objects.c:186 +#: builtin/pack-objects.c:184 builtin/pack-objects.c:187 #, c-format msgid "deflate error (%d)" msgstr "" -#: builtin/pack-objects.c:2397 +#: builtin/pack-objects.c:2398 #, c-format msgid "unsupported index version %s" msgstr "" -#: builtin/pack-objects.c:2401 +#: builtin/pack-objects.c:2402 #, c-format msgid "bad index version '%s'" msgstr "" -#: builtin/pack-objects.c:2424 +#: builtin/pack-objects.c:2425 #, c-format msgid "option %s does not accept negative form" msgstr "" -#: builtin/pack-objects.c:2428 +#: builtin/pack-objects.c:2429 #, c-format msgid "unable to parse value '%s' for option %s" msgstr "" -#: builtin/pack-objects.c:2447 +#: builtin/pack-objects.c:2448 msgid "do not show progress meter" msgstr "" -#: builtin/pack-objects.c:2449 +#: builtin/pack-objects.c:2450 msgid "show progress meter" msgstr "" -#: builtin/pack-objects.c:2451 +#: builtin/pack-objects.c:2452 msgid "show progress meter during object writing phase" msgstr "" -#: builtin/pack-objects.c:2454 +#: builtin/pack-objects.c:2455 msgid "similar to --all-progress when progress meter is shown" msgstr "" -#: builtin/pack-objects.c:2455 +#: builtin/pack-objects.c:2456 msgid "version[,offset]" msgstr "" -#: builtin/pack-objects.c:2456 +#: builtin/pack-objects.c:2457 msgid "write the pack index file in the specified idx format version" msgstr "" -#: builtin/pack-objects.c:2459 +#: builtin/pack-objects.c:2460 msgid "maximum size of each output pack file" msgstr "" -#: builtin/pack-objects.c:2461 +#: builtin/pack-objects.c:2462 msgid "ignore borrowed objects from alternate object store" msgstr "" -#: builtin/pack-objects.c:2463 +#: builtin/pack-objects.c:2464 msgid "ignore packed objects" msgstr "" -#: builtin/pack-objects.c:2465 +#: builtin/pack-objects.c:2466 msgid "limit pack window by objects" msgstr "" -#: builtin/pack-objects.c:2467 +#: builtin/pack-objects.c:2468 msgid "limit pack window by memory in addition to object limit" msgstr "" -#: builtin/pack-objects.c:2469 +#: builtin/pack-objects.c:2470 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "" -#: builtin/pack-objects.c:2471 +#: builtin/pack-objects.c:2472 msgid "reuse existing deltas" msgstr "" -#: builtin/pack-objects.c:2473 +#: builtin/pack-objects.c:2474 msgid "reuse existing objects" msgstr "" -#: builtin/pack-objects.c:2475 +#: builtin/pack-objects.c:2476 msgid "use OFS_DELTA objects" msgstr "" -#: builtin/pack-objects.c:2477 +#: builtin/pack-objects.c:2478 msgid "use threads when searching for best delta matches" msgstr "" -#: builtin/pack-objects.c:2479 +#: builtin/pack-objects.c:2480 msgid "do not create an empty pack output" msgstr "" -#: builtin/pack-objects.c:2481 +#: builtin/pack-objects.c:2482 msgid "read revision arguments from standard input" msgstr "" -#: builtin/pack-objects.c:2483 +#: builtin/pack-objects.c:2484 msgid "limit the objects to those that are not yet packed" msgstr "" -#: builtin/pack-objects.c:2486 +#: builtin/pack-objects.c:2487 msgid "include objects reachable from any reference" msgstr "" -#: builtin/pack-objects.c:2489 +#: builtin/pack-objects.c:2490 msgid "include objects referred by reflog entries" msgstr "" -#: builtin/pack-objects.c:2492 +#: builtin/pack-objects.c:2493 msgid "output pack to stdout" msgstr "" -#: builtin/pack-objects.c:2494 +#: builtin/pack-objects.c:2495 msgid "include tag objects that refer to objects to be packed" msgstr "" -#: builtin/pack-objects.c:2496 +#: builtin/pack-objects.c:2497 msgid "keep unreachable objects" msgstr "" -#: builtin/pack-objects.c:2497 parse-options.h:141 +#: builtin/pack-objects.c:2498 parse-options.h:143 msgid "time" msgstr "" -#: builtin/pack-objects.c:2498 +#: builtin/pack-objects.c:2499 msgid "unpack unreachable objects newer than <time>" msgstr "" -#: builtin/pack-objects.c:2501 +#: builtin/pack-objects.c:2502 msgid "create thin packs" msgstr "" -#: builtin/pack-objects.c:2503 +#: builtin/pack-objects.c:2504 msgid "ignore packs that have companion .keep file" msgstr "" -#: builtin/pack-objects.c:2505 +#: builtin/pack-objects.c:2506 msgid "pack compression level" msgstr "" -#: builtin/pack-objects.c:2507 +#: builtin/pack-objects.c:2508 msgid "do not hide commits by grafts" msgstr "" @@ -7167,21 +7363,21 @@ msgstr "" msgid "git push [<options>] [<repository> [<refspec>...]]" msgstr "" -#: builtin/push.c:45 +#: builtin/push.c:47 msgid "tag shorthand without <tag>" msgstr "" -#: builtin/push.c:64 +#: builtin/push.c:66 msgid "--delete only accepts plain target ref names" msgstr "" -#: builtin/push.c:99 +#: builtin/push.c:101 msgid "" "\n" "To choose either option permanently, see push.default in 'git help config'." msgstr "" -#: builtin/push.c:102 +#: builtin/push.c:104 #, c-format msgid "" "The upstream branch of your current branch does not match\n" @@ -7196,7 +7392,7 @@ msgid "" "%s" msgstr "" -#: builtin/push.c:117 +#: builtin/push.c:119 #, c-format msgid "" "You are not currently on a branch.\n" @@ -7206,7 +7402,7 @@ msgid "" " git push %s HEAD:<name-of-remote-branch>\n" msgstr "" -#: builtin/push.c:131 +#: builtin/push.c:133 #, c-format msgid "" "The current branch %s has no upstream branch.\n" @@ -7215,12 +7411,12 @@ msgid "" " git push --set-upstream %s %s\n" msgstr "" -#: builtin/push.c:139 +#: builtin/push.c:141 #, c-format msgid "The current branch %s has multiple upstream branches, refusing to push." msgstr "" -#: builtin/push.c:142 +#: builtin/push.c:144 #, c-format msgid "" "You are pushing to remote '%s', which is not the upstream of\n" @@ -7228,7 +7424,7 @@ msgid "" "to update which remote branch." msgstr "" -#: builtin/push.c:165 +#: builtin/push.c:167 msgid "" "push.default is unset; its implicit value is changing in\n" "Git 2.0 from 'matching' to 'simple'. To squelch this message\n" @@ -7246,12 +7442,12 @@ msgid "" "'current' instead of 'simple' if you sometimes use older versions of Git)" msgstr "" -#: builtin/push.c:225 +#: builtin/push.c:227 msgid "" "You didn't specify any refspecs to push, and push.default is \"nothing\"." msgstr "" -#: builtin/push.c:232 +#: builtin/push.c:234 msgid "" "Updates were rejected because the tip of your current branch is behind\n" "its remote counterpart. Integrate the remote changes (e.g.\n" @@ -7259,7 +7455,7 @@ msgid "" "See the 'Note about fast-forwards' in 'git push --help' for details." msgstr "" -#: builtin/push.c:238 +#: builtin/push.c:240 msgid "" "Updates were rejected because a pushed branch tip is behind its remote\n" "counterpart. If you did not intend to push that branch, you may want to\n" @@ -7267,7 +7463,7 @@ msgid "" "to 'simple', 'current' or 'upstream' to push only the current branch." msgstr "" -#: builtin/push.c:244 +#: builtin/push.c:246 msgid "" "Updates were rejected because a pushed branch tip is behind its remote\n" "counterpart. Check out this branch and integrate the remote changes\n" @@ -7275,7 +7471,7 @@ msgid "" "See the 'Note about fast-forwards' in 'git push --help' for details." msgstr "" -#: builtin/push.c:250 +#: builtin/push.c:252 msgid "" "Updates were rejected because the remote contains work that you do\n" "not have locally. This is usually caused by another repository pushing\n" @@ -7284,33 +7480,33 @@ msgid "" "See the 'Note about fast-forwards' in 'git push --help' for details." msgstr "" -#: builtin/push.c:257 +#: builtin/push.c:259 msgid "Updates were rejected because the tag already exists in the remote." msgstr "" -#: builtin/push.c:260 +#: builtin/push.c:262 msgid "" "You cannot update a remote ref that points at a non-commit object,\n" "or update a remote ref to make it point at a non-commit object,\n" "without using the '--force' option.\n" msgstr "" -#: builtin/push.c:320 +#: builtin/push.c:328 #, c-format msgid "Pushing to %s\n" msgstr "" -#: builtin/push.c:324 +#: builtin/push.c:332 #, c-format msgid "failed to push some refs to '%s'" msgstr "" -#: builtin/push.c:357 +#: builtin/push.c:365 #, c-format msgid "bad repository '%s'" msgstr "" -#: builtin/push.c:358 +#: builtin/push.c:366 msgid "" "No configured push destination.\n" "Either specify the URL from the command-line or configure a remote " @@ -7323,87 +7519,95 @@ msgid "" " git push <name>\n" msgstr "" -#: builtin/push.c:373 +#: builtin/push.c:381 msgid "--all and --tags are incompatible" msgstr "" -#: builtin/push.c:374 +#: builtin/push.c:382 msgid "--all can't be combined with refspecs" msgstr "" -#: builtin/push.c:379 +#: builtin/push.c:387 msgid "--mirror and --tags are incompatible" msgstr "" -#: builtin/push.c:380 +#: builtin/push.c:388 msgid "--mirror can't be combined with refspecs" msgstr "" -#: builtin/push.c:385 +#: builtin/push.c:393 msgid "--all and --mirror are incompatible" msgstr "" -#: builtin/push.c:445 +#: builtin/push.c:453 msgid "repository" msgstr "" -#: builtin/push.c:446 +#: builtin/push.c:454 msgid "push all refs" msgstr "" -#: builtin/push.c:447 +#: builtin/push.c:455 msgid "mirror all refs" msgstr "" -#: builtin/push.c:449 +#: builtin/push.c:457 msgid "delete refs" msgstr "" -#: builtin/push.c:450 +#: builtin/push.c:458 msgid "push tags (can't be used with --all or --mirror)" msgstr "" -#: builtin/push.c:453 +#: builtin/push.c:461 msgid "force updates" msgstr "" -#: builtin/push.c:454 +#: builtin/push.c:463 +msgid "refname>:<expect" +msgstr "" + +#: builtin/push.c:464 +msgid "require old value of ref to be at this value" +msgstr "" + +#: builtin/push.c:466 msgid "check" msgstr "" -#: builtin/push.c:455 +#: builtin/push.c:467 msgid "control recursive pushing of submodules" msgstr "" -#: builtin/push.c:457 +#: builtin/push.c:469 msgid "use thin pack" msgstr "" -#: builtin/push.c:458 builtin/push.c:459 +#: builtin/push.c:470 builtin/push.c:471 msgid "receive pack program" msgstr "" -#: builtin/push.c:460 +#: builtin/push.c:472 msgid "set upstream for git pull/status" msgstr "" -#: builtin/push.c:463 +#: builtin/push.c:475 msgid "prune locally removed refs" msgstr "" -#: builtin/push.c:465 +#: builtin/push.c:477 msgid "bypass pre-push hook" msgstr "" -#: builtin/push.c:466 +#: builtin/push.c:478 msgid "push missing but relevant tags" msgstr "" -#: builtin/push.c:476 +#: builtin/push.c:488 msgid "--delete is incompatible with --all, --mirror and --tags" msgstr "" -#: builtin/push.c:478 +#: builtin/push.c:490 msgid "--delete doesn't make sense without any refs" msgstr "" @@ -7478,12 +7682,12 @@ msgstr "" msgid "debug unpack-trees" msgstr "" -#: builtin/reflog.c:500 +#: builtin/reflog.c:499 #, c-format msgid "%s' for '%s' is not a valid timestamp" msgstr "" -#: builtin/reflog.c:616 builtin/reflog.c:621 +#: builtin/reflog.c:615 builtin/reflog.c:620 #, c-format msgid "'%s' is not a valid timestamp" msgstr "" @@ -7506,8 +7710,8 @@ msgstr "" msgid "git remote remove <name>" msgstr "" -#: builtin/remote.c:15 builtin/remote.c:42 -msgid "git remote set-head <name> (-a | -d | <branch>)" +#: builtin/remote.c:15 +msgid "git remote set-head <name> (-a | --auto | -d | --delete |<branch>)" msgstr "" #: builtin/remote.c:16 @@ -7543,6 +7747,10 @@ msgstr "" msgid "git remote add [<options>] <name> <url>" msgstr "" +#: builtin/remote.c:42 +msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)" +msgstr "" + #: builtin/remote.c:47 msgid "git remote set-branches <name> <branch>..." msgstr "" @@ -7970,6 +8178,67 @@ msgstr "" msgid "be verbose; must be placed before a subcommand" msgstr "" +#: builtin/repack.c:15 +msgid "git repack [options]" +msgstr "" + +#: builtin/repack.c:143 +msgid "pack everything in a single pack" +msgstr "" + +#: builtin/repack.c:145 +msgid "same as -a, and turn unreachable objects loose" +msgstr "" + +#: builtin/repack.c:148 +msgid "remove redundant packs, and run git-prune-packed" +msgstr "" + +#: builtin/repack.c:150 +msgid "pass --no-reuse-delta to git-pack-objects" +msgstr "" + +#: builtin/repack.c:152 +msgid "pass --no-reuse-object to git-pack-objects" +msgstr "" + +#: builtin/repack.c:154 +msgid "do not run git-update-server-info" +msgstr "" + +#: builtin/repack.c:157 +msgid "pass --local to git-pack-objects" +msgstr "" + +#: builtin/repack.c:158 +msgid "approxidate" +msgstr "" + +#: builtin/repack.c:159 +msgid "with -A, do not loosen objects older than this" +msgstr "" + +#: builtin/repack.c:161 +msgid "size of the window used for delta compression" +msgstr "" + +#: builtin/repack.c:163 +msgid "same as the above, but limit memory size instead of entries count" +msgstr "" + +#: builtin/repack.c:165 +msgid "limits the maximum delta depth" +msgstr "" + +#: builtin/repack.c:167 +msgid "maximum size of each packfile" +msgstr "" + +#: builtin/repack.c:345 +#, c-format +msgid "removing '%s' failed" +msgstr "" + #: builtin/replace.c:17 msgid "git replace [-f] <object> <replacement>" msgstr "" @@ -7982,23 +8251,23 @@ msgstr "" msgid "git replace -l [<pattern>]" msgstr "" -#: builtin/replace.c:121 +#: builtin/replace.c:131 msgid "list replace refs" msgstr "" -#: builtin/replace.c:122 +#: builtin/replace.c:132 msgid "delete replace refs" msgstr "" -#: builtin/replace.c:123 +#: builtin/replace.c:133 msgid "replace the ref if it exists" msgstr "" -#: builtin/rerere.c:11 +#: builtin/rerere.c:12 msgid "git rerere [clear | forget path... | status | remaining | diff | gc]" msgstr "" -#: builtin/rerere.c:56 +#: builtin/rerere.c:57 msgid "register clean resolutions in index" msgstr "" @@ -8058,69 +8327,69 @@ msgstr "" msgid "Cannot do a %s reset in the middle of a merge." msgstr "" -#: builtin/reset.c:251 +#: builtin/reset.c:262 msgid "be quiet, only report errors" msgstr "" -#: builtin/reset.c:253 +#: builtin/reset.c:264 msgid "reset HEAD and index" msgstr "" -#: builtin/reset.c:254 +#: builtin/reset.c:265 msgid "reset only HEAD" msgstr "" -#: builtin/reset.c:256 builtin/reset.c:258 +#: builtin/reset.c:267 builtin/reset.c:269 msgid "reset HEAD, index and working tree" msgstr "" -#: builtin/reset.c:260 +#: builtin/reset.c:271 msgid "reset HEAD but keep local changes" msgstr "" -#: builtin/reset.c:278 +#: builtin/reset.c:289 #, c-format msgid "Failed to resolve '%s' as a valid revision." msgstr "" -#: builtin/reset.c:281 builtin/reset.c:289 +#: builtin/reset.c:292 builtin/reset.c:300 #, c-format msgid "Could not parse object '%s'." msgstr "" -#: builtin/reset.c:286 +#: builtin/reset.c:297 #, c-format msgid "Failed to resolve '%s' as a valid tree." msgstr "" -#: builtin/reset.c:295 +#: builtin/reset.c:306 msgid "--patch is incompatible with --{hard,mixed,soft}" msgstr "" -#: builtin/reset.c:304 +#: builtin/reset.c:315 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead." msgstr "" -#: builtin/reset.c:306 +#: builtin/reset.c:317 #, c-format msgid "Cannot do %s reset with paths." msgstr "" -#: builtin/reset.c:316 +#: builtin/reset.c:327 #, c-format msgid "%s reset is not allowed in a bare repository" msgstr "" -#: builtin/reset.c:336 -#, c-format -msgid "Could not reset index file to revision '%s'." +#: builtin/reset.c:344 +msgid "Unstaged changes after reset:" msgstr "" -#: builtin/reset.c:342 -msgid "Unstaged changes after reset:" +#: builtin/reset.c:350 +#, c-format +msgid "Could not reset index file to revision '%s'." msgstr "" -#: builtin/reset.c:347 +#: builtin/reset.c:355 msgid "Could not write new index file." msgstr "" @@ -8161,84 +8430,84 @@ msgstr "" msgid "git cherry-pick <subcommand>" msgstr "" -#: builtin/revert.c:71 builtin/revert.c:94 +#: builtin/revert.c:71 #, c-format msgid "%s: %s cannot be used with %s" msgstr "" -#: builtin/revert.c:105 +#: builtin/revert.c:80 msgid "end revert or cherry-pick sequence" msgstr "" -#: builtin/revert.c:106 +#: builtin/revert.c:81 msgid "resume revert or cherry-pick sequence" msgstr "" -#: builtin/revert.c:107 +#: builtin/revert.c:82 msgid "cancel revert or cherry-pick sequence" msgstr "" -#: builtin/revert.c:108 +#: builtin/revert.c:83 msgid "don't automatically commit" msgstr "" -#: builtin/revert.c:109 +#: builtin/revert.c:84 msgid "edit the commit message" msgstr "" -#: builtin/revert.c:112 +#: builtin/revert.c:87 msgid "parent number" msgstr "" -#: builtin/revert.c:114 +#: builtin/revert.c:89 msgid "merge strategy" msgstr "" -#: builtin/revert.c:115 +#: builtin/revert.c:90 msgid "option" msgstr "" -#: builtin/revert.c:116 +#: builtin/revert.c:91 msgid "option for merge strategy" msgstr "" -#: builtin/revert.c:127 +#: builtin/revert.c:102 msgid "append commit name" msgstr "" -#: builtin/revert.c:128 +#: builtin/revert.c:103 msgid "allow fast-forward" msgstr "" -#: builtin/revert.c:129 +#: builtin/revert.c:104 msgid "preserve initially empty commits" msgstr "" -#: builtin/revert.c:130 +#: builtin/revert.c:105 msgid "allow commits with empty messages" msgstr "" -#: builtin/revert.c:131 +#: builtin/revert.c:106 msgid "keep redundant, empty commits" msgstr "" -#: builtin/revert.c:135 +#: builtin/revert.c:110 msgid "program error" msgstr "" -#: builtin/revert.c:225 +#: builtin/revert.c:195 msgid "revert failed" msgstr "" -#: builtin/revert.c:240 +#: builtin/revert.c:210 msgid "cherry-pick failed" msgstr "" -#: builtin/rm.c:16 +#: builtin/rm.c:17 msgid "git rm [options] [--] <file>..." msgstr "" -#: builtin/rm.c:64 +#: builtin/rm.c:65 msgid "" "the following submodule (or one of its nested submodules)\n" "uses a .git directory:" @@ -8248,13 +8517,13 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: builtin/rm.c:70 +#: builtin/rm.c:71 msgid "" "\n" "(use 'rm -rf' if you really want to remove it including all of its history)" msgstr "" -#: builtin/rm.c:230 +#: builtin/rm.c:231 msgid "" "the following file has staged content different from both the\n" "file and the HEAD:" @@ -8264,56 +8533,56 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: builtin/rm.c:235 +#: builtin/rm.c:236 msgid "" "\n" "(use -f to force removal)" msgstr "" -#: builtin/rm.c:239 +#: builtin/rm.c:240 msgid "the following file has changes staged in the index:" msgid_plural "the following files have changes staged in the index:" msgstr[0] "" msgstr[1] "" -#: builtin/rm.c:243 builtin/rm.c:254 +#: builtin/rm.c:244 builtin/rm.c:255 msgid "" "\n" "(use --cached to keep the file, or -f to force removal)" msgstr "" -#: builtin/rm.c:251 +#: builtin/rm.c:252 msgid "the following file has local modifications:" msgid_plural "the following files have local modifications:" msgstr[0] "" msgstr[1] "" -#: builtin/rm.c:269 +#: builtin/rm.c:270 msgid "do not list removed files" msgstr "" -#: builtin/rm.c:270 +#: builtin/rm.c:271 msgid "only remove from the index" msgstr "" -#: builtin/rm.c:271 +#: builtin/rm.c:272 msgid "override the up-to-date check" msgstr "" -#: builtin/rm.c:272 +#: builtin/rm.c:273 msgid "allow recursive removal" msgstr "" -#: builtin/rm.c:274 +#: builtin/rm.c:275 msgid "exit with a zero status even if nothing matched" msgstr "" -#: builtin/rm.c:345 +#: builtin/rm.c:336 #, c-format msgid "not removing '%s' recursively without -r" msgstr "" -#: builtin/rm.c:384 +#: builtin/rm.c:375 #, c-format msgid "git rm: unable to remove %s" msgstr "" @@ -8327,23 +8596,23 @@ msgstr "" msgid "Missing author: %s" msgstr "" -#: builtin/shortlog.c:228 +#: builtin/shortlog.c:230 msgid "sort output according to the number of commits per author" msgstr "" -#: builtin/shortlog.c:230 +#: builtin/shortlog.c:232 msgid "Suppress commit descriptions, only provides commit count" msgstr "" -#: builtin/shortlog.c:232 +#: builtin/shortlog.c:234 msgid "Show the email address of each author" msgstr "" -#: builtin/shortlog.c:233 +#: builtin/shortlog.c:235 msgid "w[,i1[,i2]]" msgstr "" -#: builtin/shortlog.c:234 +#: builtin/shortlog.c:236 msgid "Linewrap output" msgstr "" @@ -8445,23 +8714,23 @@ msgstr "" msgid "stricter reference checking, requires exact ref path" msgstr "" -#: builtin/show-ref.c:173 builtin/show-ref.c:176 +#: builtin/show-ref.c:173 builtin/show-ref.c:175 msgid "show the HEAD reference, even if it would be filtered out" msgstr "" -#: builtin/show-ref.c:178 +#: builtin/show-ref.c:177 msgid "dereference tags into object IDs" msgstr "" -#: builtin/show-ref.c:180 +#: builtin/show-ref.c:179 msgid "only show SHA1 hash using <n> digits" msgstr "" -#: builtin/show-ref.c:184 +#: builtin/show-ref.c:183 msgid "do not print results to stdout (useful with --verify)" msgstr "" -#: builtin/show-ref.c:186 +#: builtin/show-ref.c:185 msgid "show refs from stdin that aren't in local repository" msgstr "" @@ -8485,11 +8754,11 @@ msgstr "" msgid "shorten ref output" msgstr "" -#: builtin/symbolic-ref.c:43 builtin/update-ref.c:18 +#: builtin/symbolic-ref.c:43 builtin/update-ref.c:254 msgid "reason" msgstr "" -#: builtin/symbolic-ref.c:43 builtin/update-ref.c:18 +#: builtin/symbolic-ref.c:43 builtin/update-ref.c:254 msgid "reason of the update" msgstr "" @@ -8644,183 +8913,195 @@ msgstr "" msgid "print only tags of the object" msgstr "" -#: builtin/tag.c:504 +#: builtin/tag.c:501 msgid "--column and -n are incompatible" msgstr "" -#: builtin/tag.c:521 +#: builtin/tag.c:518 msgid "-n option is only allowed with -l." msgstr "" -#: builtin/tag.c:523 +#: builtin/tag.c:520 msgid "--contains option is only allowed with -l." msgstr "" -#: builtin/tag.c:525 +#: builtin/tag.c:522 msgid "--points-at option is only allowed with -l." msgstr "" -#: builtin/tag.c:533 +#: builtin/tag.c:530 msgid "only one -F or -m option is allowed." msgstr "" -#: builtin/tag.c:553 +#: builtin/tag.c:550 msgid "too many params" msgstr "" -#: builtin/tag.c:559 +#: builtin/tag.c:556 #, c-format msgid "'%s' is not a valid tag name." msgstr "" -#: builtin/tag.c:564 +#: builtin/tag.c:561 #, c-format msgid "tag '%s' already exists" msgstr "" -#: builtin/tag.c:582 +#: builtin/tag.c:579 #, c-format msgid "%s: cannot lock the ref" msgstr "" -#: builtin/tag.c:584 +#: builtin/tag.c:581 #, c-format msgid "%s: cannot update the ref" msgstr "" -#: builtin/tag.c:586 +#: builtin/tag.c:583 #, c-format msgid "Updated tag '%s' (was %s)\n" msgstr "" -#: builtin/update-index.c:401 +#: builtin/update-index.c:402 msgid "git update-index [options] [--] [<file>...]" msgstr "" -#: builtin/update-index.c:718 +#: builtin/update-index.c:720 msgid "continue refresh even when index needs update" msgstr "" -#: builtin/update-index.c:721 +#: builtin/update-index.c:723 msgid "refresh: ignore submodules" msgstr "" -#: builtin/update-index.c:724 +#: builtin/update-index.c:726 msgid "do not ignore new files" msgstr "" -#: builtin/update-index.c:726 +#: builtin/update-index.c:728 msgid "let files replace directories and vice-versa" msgstr "" -#: builtin/update-index.c:728 +#: builtin/update-index.c:730 msgid "notice files missing from worktree" msgstr "" -#: builtin/update-index.c:730 +#: builtin/update-index.c:732 msgid "refresh even if index contains unmerged entries" msgstr "" -#: builtin/update-index.c:733 +#: builtin/update-index.c:735 msgid "refresh stat information" msgstr "" -#: builtin/update-index.c:737 +#: builtin/update-index.c:739 msgid "like --refresh, but ignore assume-unchanged setting" msgstr "" -#: builtin/update-index.c:741 +#: builtin/update-index.c:743 msgid "<mode> <object> <path>" msgstr "" -#: builtin/update-index.c:742 +#: builtin/update-index.c:744 msgid "add the specified entry to the index" msgstr "" -#: builtin/update-index.c:746 +#: builtin/update-index.c:748 msgid "(+/-)x" msgstr "" -#: builtin/update-index.c:747 +#: builtin/update-index.c:749 msgid "override the executable bit of the listed files" msgstr "" -#: builtin/update-index.c:751 +#: builtin/update-index.c:753 msgid "mark files as \"not changing\"" msgstr "" -#: builtin/update-index.c:754 +#: builtin/update-index.c:756 msgid "clear assumed-unchanged bit" msgstr "" -#: builtin/update-index.c:757 +#: builtin/update-index.c:759 msgid "mark files as \"index-only\"" msgstr "" -#: builtin/update-index.c:760 +#: builtin/update-index.c:762 msgid "clear skip-worktree bit" msgstr "" -#: builtin/update-index.c:763 +#: builtin/update-index.c:765 msgid "add to index only; do not add content to object database" msgstr "" -#: builtin/update-index.c:765 +#: builtin/update-index.c:767 msgid "remove named paths even if present in worktree" msgstr "" -#: builtin/update-index.c:767 +#: builtin/update-index.c:769 msgid "with --stdin: input lines are terminated by null bytes" msgstr "" -#: builtin/update-index.c:769 +#: builtin/update-index.c:771 msgid "read list of paths to be updated from standard input" msgstr "" -#: builtin/update-index.c:773 +#: builtin/update-index.c:775 msgid "add entries from standard input to the index" msgstr "" -#: builtin/update-index.c:777 +#: builtin/update-index.c:779 msgid "repopulate stages #2 and #3 for the listed paths" msgstr "" -#: builtin/update-index.c:781 +#: builtin/update-index.c:783 msgid "only update entries that differ from HEAD" msgstr "" -#: builtin/update-index.c:785 +#: builtin/update-index.c:787 msgid "ignore files missing from worktree" msgstr "" -#: builtin/update-index.c:788 +#: builtin/update-index.c:790 msgid "report actions to standard output" msgstr "" -#: builtin/update-index.c:790 +#: builtin/update-index.c:792 msgid "(for porcelains) forget saved unresolved conflicts" msgstr "" -#: builtin/update-index.c:794 +#: builtin/update-index.c:796 msgid "write index in this format" msgstr "" -#: builtin/update-ref.c:7 +#: builtin/update-ref.c:9 msgid "git update-ref [options] -d <refname> [<oldval>]" msgstr "" -#: builtin/update-ref.c:8 +#: builtin/update-ref.c:10 msgid "git update-ref [options] <refname> <newval> [<oldval>]" msgstr "" -#: builtin/update-ref.c:19 +#: builtin/update-ref.c:11 +msgid "git update-ref [options] --stdin [-z]" +msgstr "" + +#: builtin/update-ref.c:255 msgid "delete the reference" msgstr "" -#: builtin/update-ref.c:21 +#: builtin/update-ref.c:257 msgid "update <refname> not the one it points to" msgstr "" +#: builtin/update-ref.c:258 +msgid "stdin has NUL-terminated arguments" +msgstr "" + +#: builtin/update-ref.c:259 +msgid "read updates from stdin" +msgstr "" + #: builtin/update-server-info.c:6 msgid "git update-server-info [--force]" msgstr "" @@ -8872,23 +9153,23 @@ msgid "" "to read about a specific subcommand or concept." msgstr "" -#: parse-options.h:144 +#: parse-options.h:146 msgid "expiry date" msgstr "" -#: parse-options.h:159 +#: parse-options.h:161 msgid "no-op (backward compatibility)" msgstr "" -#: parse-options.h:236 +#: parse-options.h:238 msgid "be more verbose" msgstr "" -#: parse-options.h:238 +#: parse-options.h:240 msgid "be more quiet" msgstr "" -#: parse-options.h:244 +#: parse-options.h:246 msgid "use <n> digits to display SHA-1s" msgstr "" @@ -9284,7 +9565,7 @@ msgstr "" msgid "Pull is not possible because you have unmerged files." msgstr "" -#: git-pull.sh:203 +#: git-pull.sh:223 msgid "updating an unborn branch with changes added to the index" msgstr "" @@ -9292,7 +9573,7 @@ msgstr "" #. The working tree and the index file is still based on the #. $orig_head commit, but we are merging into $curr_head. #. First update the working tree to match $curr_head. -#: git-pull.sh:235 +#: git-pull.sh:255 #, sh-format msgid "" "Warning: fetch updated the current branch head.\n" @@ -9300,11 +9581,11 @@ msgid "" "Warning: commit $orig_head." msgstr "" -#: git-pull.sh:260 +#: git-pull.sh:280 msgid "Cannot merge multiple branches into empty head" msgstr "" -#: git-pull.sh:264 +#: git-pull.sh:284 msgid "Cannot rebase onto multiple branches" msgstr "" @@ -9332,42 +9613,42 @@ msgid "" "You can run \"git stash pop\" or \"git stash drop\" at any time.\n" msgstr "" -#: git-rebase.sh:190 +#: git-rebase.sh:199 msgid "The pre-rebase hook refused to rebase." msgstr "" -#: git-rebase.sh:195 +#: git-rebase.sh:204 msgid "It looks like git-am is in progress. Cannot rebase." msgstr "" -#: git-rebase.sh:329 +#: git-rebase.sh:338 msgid "The --exec option must be used with the --interactive option" msgstr "" -#: git-rebase.sh:334 +#: git-rebase.sh:343 msgid "No rebase in progress?" msgstr "" -#: git-rebase.sh:345 +#: git-rebase.sh:354 msgid "The --edit-todo action can only be used during interactive rebase." msgstr "" -#: git-rebase.sh:352 +#: git-rebase.sh:361 msgid "Cannot read HEAD" msgstr "" -#: git-rebase.sh:355 +#: git-rebase.sh:364 msgid "" "You must edit all merge conflicts and then\n" "mark them as resolved using git add" msgstr "" -#: git-rebase.sh:373 +#: git-rebase.sh:382 #, sh-format msgid "Could not move back to $head_name" msgstr "" -#: git-rebase.sh:392 +#: git-rebase.sh:401 #, sh-format msgid "" "It seems that there is already a $state_dir_base directory, and\n" @@ -9380,65 +9661,65 @@ msgid "" "valuable there." msgstr "" -#: git-rebase.sh:437 +#: git-rebase.sh:446 #, sh-format msgid "invalid upstream $upstream_name" msgstr "" -#: git-rebase.sh:461 +#: git-rebase.sh:470 #, sh-format msgid "$onto_name: there are more than one merge bases" msgstr "" -#: git-rebase.sh:464 git-rebase.sh:468 +#: git-rebase.sh:473 git-rebase.sh:477 #, sh-format msgid "$onto_name: there is no merge base" msgstr "" -#: git-rebase.sh:473 +#: git-rebase.sh:482 #, sh-format msgid "Does not point to a valid commit: $onto_name" msgstr "" -#: git-rebase.sh:496 +#: git-rebase.sh:505 #, sh-format msgid "fatal: no such branch: $branch_name" msgstr "" -#: git-rebase.sh:519 +#: git-rebase.sh:528 msgid "Cannot autostash" msgstr "" -#: git-rebase.sh:524 +#: git-rebase.sh:533 #, sh-format msgid "Created autostash: $stash_abbrev" msgstr "" -#: git-rebase.sh:528 +#: git-rebase.sh:537 msgid "Please commit or stash them." msgstr "" -#: git-rebase.sh:548 +#: git-rebase.sh:557 #, sh-format msgid "Current branch $branch_name is up to date." msgstr "" -#: git-rebase.sh:552 +#: git-rebase.sh:561 #, sh-format msgid "Current branch $branch_name is up to date, rebase forced." msgstr "" -#: git-rebase.sh:563 +#: git-rebase.sh:572 #, sh-format msgid "Changes from $mb to $onto:" msgstr "" #. Detach HEAD and reset the tree -#: git-rebase.sh:572 +#: git-rebase.sh:581 msgid "First, rewinding head to replay your work on top of it..." msgstr "" -#: git-rebase.sh:582 +#: git-rebase.sh:591 #, sh-format msgid "Fast-forwarded $branch_name to $onto_name." msgstr "" @@ -9486,103 +9767,92 @@ msgstr "" #. $ git stash save --blah-blah 2>&1 | head -n 2 #. error: unknown option for 'stash save': --blah-blah #. To provide a message, use git stash save -- '--blah-blah' -#: git-stash.sh:241 +#: git-stash.sh:237 #, sh-format msgid "" "error: unknown option for 'stash save': $option\n" " To provide a message, use git stash save -- '$option'" msgstr "" -#: git-stash.sh:262 +#: git-stash.sh:258 msgid "No local changes to save" msgstr "" -#: git-stash.sh:268 -msgid "" -"The following untracked files would NOT be saved but need to be removed by " -"stash save:" -msgstr "" - -#: git-stash.sh:270 -msgid "" -"Aborting. Consider using either the --force or --include-untracked option." -msgstr "" - -#: git-stash.sh:274 +#: git-stash.sh:262 msgid "Cannot initialize stash" msgstr "" -#: git-stash.sh:278 +#: git-stash.sh:266 msgid "Cannot save the current status" msgstr "" -#: git-stash.sh:296 +#: git-stash.sh:284 msgid "Cannot remove worktree changes" msgstr "" -#: git-stash.sh:395 +#: git-stash.sh:383 msgid "No stash found." msgstr "" -#: git-stash.sh:402 +#: git-stash.sh:390 #, sh-format msgid "Too many revisions specified: $REV" msgstr "" -#: git-stash.sh:408 +#: git-stash.sh:396 #, sh-format msgid "$reference is not valid reference" msgstr "" -#: git-stash.sh:436 +#: git-stash.sh:424 #, sh-format msgid "'$args' is not a stash-like commit" msgstr "" -#: git-stash.sh:447 +#: git-stash.sh:435 #, sh-format msgid "'$args' is not a stash reference" msgstr "" -#: git-stash.sh:455 +#: git-stash.sh:443 msgid "unable to refresh index" msgstr "" -#: git-stash.sh:459 +#: git-stash.sh:447 msgid "Cannot apply a stash in the middle of a merge" msgstr "" -#: git-stash.sh:467 +#: git-stash.sh:455 msgid "Conflicts in index. Try without --index." msgstr "" -#: git-stash.sh:469 +#: git-stash.sh:457 msgid "Could not save index tree" msgstr "" -#: git-stash.sh:503 +#: git-stash.sh:491 msgid "Cannot unstage modified files" msgstr "" -#: git-stash.sh:518 +#: git-stash.sh:506 msgid "Index was not unstashed." msgstr "" -#: git-stash.sh:535 +#: git-stash.sh:523 #, sh-format msgid "Dropped ${REV} ($s)" msgstr "" -#: git-stash.sh:536 +#: git-stash.sh:524 #, sh-format msgid "${REV}: Could not drop stash entry" msgstr "" -#: git-stash.sh:543 +#: git-stash.sh:531 msgid "No branch name specified" msgstr "" -#: git-stash.sh:615 +#: git-stash.sh:603 msgid "(To restore them type \"git stash apply\")" msgstr "" @@ -9828,44 +10098,36 @@ msgid "The --cached option cannot be used with the --files option" msgstr "" #. unexpected type -#: git-submodule.sh:1066 +#: git-submodule.sh:1073 #, sh-format msgid "unexpected mode $mod_dst" msgstr "" -#: git-submodule.sh:1086 +#: git-submodule.sh:1093 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_src" msgstr "" -#: git-submodule.sh:1089 +#: git-submodule.sh:1096 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_dst" msgstr "" -#: git-submodule.sh:1092 +#: git-submodule.sh:1099 #, sh-format msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst" msgstr "" -#: git-submodule.sh:1117 +#: git-submodule.sh:1124 msgid "blob" msgstr "" -#: git-submodule.sh:1155 -msgid "Submodules changed but not updated:" -msgstr "" - -#: git-submodule.sh:1157 -msgid "Submodule changes to be committed:" -msgstr "" - -#: git-submodule.sh:1242 +#: git-submodule.sh:1238 #, sh-format msgid "Failed to recurse into submodule path '$sm_path'" msgstr "" -#: git-submodule.sh:1306 +#: git-submodule.sh:1302 #, sh-format msgid "Synchronizing submodule url for '$displaypath'" msgstr "" @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: git 1.8.4\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2013-08-06 14:10+0800\n" -"PO-Revision-Date: 2013-08-06 12:37+0100\n" +"POT-Creation-Date: 2013-11-02 08:06+0800\n" +"PO-Revision-Date: 2013-11-09 19:02+0100\n" "Last-Translator: Peter Krefting <peter@softwolves.pp.se>\n" "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" "Language: sv\n" @@ -57,71 +57,76 @@ msgstr "" msgid "git archive --remote <repo> [--exec <cmd>] --list" msgstr "git archive --remote <arkiv> [--exec <kmd>] --list" -#: archive.c:323 +#: archive.c:242 builtin/add.c:240 builtin/add.c:556 builtin/rm.c:328 +#, c-format +msgid "pathspec '%s' did not match any files" +msgstr "sökvägsangivelsen \"%s\" motsvarade inte nÃ¥gra filer" + +#: archive.c:327 msgid "fmt" msgstr "fmt" -#: archive.c:323 +#: archive.c:327 msgid "archive format" msgstr "arkivformat" -#: archive.c:324 builtin/log.c:1173 +#: archive.c:328 builtin/log.c:1193 msgid "prefix" msgstr "prefix" -#: archive.c:325 +#: archive.c:329 msgid "prepend prefix to each pathname in the archive" msgstr "lägg till prefix till varje sökväg i arkivet" -#: archive.c:326 builtin/archive.c:88 builtin/blame.c:2292 -#: builtin/blame.c:2293 builtin/config.c:56 builtin/fast-export.c:673 -#: builtin/fast-export.c:675 builtin/grep.c:714 builtin/hash-object.c:77 -#: builtin/ls-files.c:496 builtin/ls-files.c:499 builtin/notes.c:408 -#: builtin/notes.c:565 builtin/read-tree.c:108 parse-options.h:152 +#: archive.c:330 builtin/archive.c:88 builtin/blame.c:2264 +#: builtin/blame.c:2265 builtin/config.c:58 builtin/fast-export.c:680 +#: builtin/fast-export.c:682 builtin/grep.c:716 builtin/hash-object.c:77 +#: builtin/ls-files.c:486 builtin/ls-files.c:489 builtin/notes.c:408 +#: builtin/notes.c:565 builtin/read-tree.c:108 parse-options.h:154 msgid "file" msgstr "fil" -#: archive.c:327 builtin/archive.c:89 +#: archive.c:331 builtin/archive.c:89 msgid "write the archive to this file" msgstr "skriv arkivet till filen" -#: archive.c:329 +#: archive.c:333 msgid "read .gitattributes in working directory" msgstr "läs .gitattributes i arbetskatalogen" -#: archive.c:330 +#: archive.c:334 msgid "report archived files on stderr" msgstr "rapportera arkiverade filer pÃ¥ standard fel" -#: archive.c:331 +#: archive.c:335 msgid "store only" msgstr "endast spara" -#: archive.c:332 +#: archive.c:336 msgid "compress faster" msgstr "komprimera snabbare" -#: archive.c:340 +#: archive.c:344 msgid "compress better" msgstr "komprimera bättre" -#: archive.c:343 +#: archive.c:347 msgid "list supported archive formats" msgstr "visa understödda arkivformat" -#: archive.c:345 builtin/archive.c:90 builtin/clone.c:85 +#: archive.c:349 builtin/archive.c:90 builtin/clone.c:84 msgid "repo" msgstr "arkiv" -#: archive.c:346 builtin/archive.c:91 +#: archive.c:350 builtin/archive.c:91 msgid "retrieve the archive from remote repository <repo>" msgstr "hämta arkivet frÃ¥n fjärrarkivet <arkiv>" -#: archive.c:347 builtin/archive.c:92 builtin/notes.c:487 +#: archive.c:351 builtin/archive.c:92 builtin/notes.c:487 msgid "command" msgstr "kommando" -#: archive.c:348 builtin/archive.c:93 +#: archive.c:352 builtin/archive.c:93 msgid "path to the remote git-upload-archive command" msgstr "sökväg till kommandot git-upload-archive pÃ¥ fjärren" @@ -204,17 +209,17 @@ msgstr "Det finns redan en gren som heter \"%s\"" msgid "Cannot force update the current branch." msgstr "Kan inte tvinga uppdatering av aktuell gren." -#: branch.c:216 +#: branch.c:215 #, c-format msgid "Cannot setup tracking information; starting point '%s' is not a branch." msgstr "Kan inte ställa in spÃ¥rning; startpunkten \"%s\" är inte en gren." -#: branch.c:218 +#: branch.c:217 #, c-format msgid "the requested upstream branch '%s' does not exist" msgstr "den efterfrÃ¥gade uppströmsgrenen \"%s\" finns inte" -#: branch.c:220 +#: branch.c:219 msgid "" "\n" "If you are planning on basing your work on an upstream\n" @@ -234,26 +239,26 @@ msgstr "" "spÃ¥ra dess fjärrmotsvarighet kan du använda \"git push -u\"\n" "för att ställa in uppströmskonfigurationen när du sänder in." -#: branch.c:265 +#: branch.c:264 #, c-format msgid "Not a valid object name: '%s'." msgstr "Objektnamnet är inte giltigt: \"%s\"." -#: branch.c:285 +#: branch.c:284 #, c-format msgid "Ambiguous object name: '%s'." msgstr "Objektnamnet är tvetydigt: \"%s\"." -#: branch.c:290 +#: branch.c:289 #, c-format msgid "Not a valid branch point: '%s'." msgstr "Avgreningspunkten är inte giltig: \"%s\"" -#: branch.c:296 +#: branch.c:295 msgid "Failed to lock ref for update" msgstr "Misslyckades lÃ¥sa referens för uppdatering" -#: branch.c:314 +#: branch.c:313 msgid "Failed to write ref" msgstr "Misslyckades skriva referens" @@ -267,7 +272,7 @@ msgstr "'%s' ser inte ut som en v2-bundle-fil" msgid "unrecognized header: %s%s (%d)" msgstr "okänt huvud: %s%s (%d)" -#: bundle.c:89 builtin/commit.c:697 +#: bundle.c:89 builtin/commit.c:706 #, c-format msgid "could not open '%s'" msgstr "kunde inte öppna \"%s\"" @@ -276,9 +281,9 @@ msgstr "kunde inte öppna \"%s\"" msgid "Repository lacks these prerequisite commits:" msgstr "Arkivet saknar dessa nödvändiga incheckningar:" -#: bundle.c:164 sequencer.c:661 sequencer.c:1111 builtin/log.c:331 -#: builtin/log.c:801 builtin/log.c:1399 builtin/log.c:1625 builtin/merge.c:364 -#: builtin/shortlog.c:156 +#: bundle.c:164 sequencer.c:662 sequencer.c:1112 builtin/log.c:332 +#: builtin/log.c:821 builtin/log.c:1418 builtin/log.c:1644 builtin/merge.c:364 +#: builtin/shortlog.c:158 msgid "revision walk setup failed" msgstr "misslyckades skapa revisionstraversering" @@ -304,7 +309,7 @@ msgstr[1] "Paketet (bundlen) kräver dessa %d referenser:" msgid "rev-list died" msgstr "rev-list dog" -#: bundle.c:300 builtin/log.c:1310 builtin/shortlog.c:259 +#: bundle.c:300 builtin/log.c:1329 builtin/shortlog.c:261 #, c-format msgid "unrecognized argument: %s" msgstr "okänt argument: %s" @@ -454,7 +459,7 @@ msgstr "" "Hittade fel i konfigurationsvariabeln \"diff.dirstat\":\n" "%s" -#: diff.c:3487 +#: diff.c:3490 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" @@ -463,7 +468,7 @@ msgstr "" "Misslyckades tolka argument till flaggan --dirstat/-X;\n" "%s" -#: diff.c:3501 +#: diff.c:3504 #, c-format msgid "Failed to parse --submodule option parameter: '%s'" msgstr "Misslyckades tolka argument till flaggan --submodule: \"%s\"" @@ -490,17 +495,17 @@ msgstr "kunde inte skapa temporära filen \"%s\": %s" msgid "failed writing detached signature to '%s': %s" msgstr "misslyckades skriva fristÃ¥ende signatur till \"%s\": %s" -#: grep.c:1623 +#: grep.c:1695 #, c-format msgid "'%s': unable to read %s" msgstr "\"%s\" kunde inte läsa %s" -#: grep.c:1640 +#: grep.c:1712 #, c-format msgid "'%s': %s" msgstr "\"%s\": %s" -#: grep.c:1651 +#: grep.c:1723 #, c-format msgid "'%s': short read %s" msgstr "\"%s\": kort läsning %s" @@ -573,8 +578,8 @@ msgstr "%s: %s - %s" msgid "failed to read the cache" msgstr "misslyckads läsa cachen" -#: merge.c:110 builtin/checkout.c:365 builtin/checkout.c:566 -#: builtin/clone.c:656 +#: merge.c:110 builtin/checkout.c:358 builtin/checkout.c:559 +#: builtin/clone.c:655 msgid "unable to write new index file" msgstr "kunde inte skriva ny indexfil" @@ -623,7 +628,7 @@ msgstr "kan inte läsa objektet %s: \"%s\"" msgid "blob expected for %s '%s'" msgstr "blob förväntades för %s \"%s\"" -#: merge-recursive.c:774 builtin/clone.c:312 +#: merge-recursive.c:774 builtin/clone.c:311 #, c-format msgid "failed to open '%s'" msgstr "misslyckades öppna \"%s\"" @@ -757,7 +762,7 @@ msgstr "Hoppade över %s (sammanslagen samma som befintlig)" msgid "Auto-merging %s" msgstr "SlÃ¥r ihop %s automatiskt" -#: merge-recursive.c:1634 git-submodule.sh:1118 +#: merge-recursive.c:1634 git-submodule.sh:1125 msgid "submodule" msgstr "undermodul" @@ -853,58 +858,124 @@ msgstr "Vägrar skriva över anteckningar i %s (utanför refs/notes/)" msgid "Bad %s value: '%s'" msgstr "Felaktigt värde pÃ¥ %s: \"%s\"" -#: object.c:204 +#: object.c:202 #, c-format msgid "unable to parse object: %s" msgstr "kunde inte tolka objektet: %s" -#: parse-options.c:489 +#: parse-options.c:537 msgid "..." msgstr "..." -#: parse-options.c:507 +#: parse-options.c:555 #, c-format msgid "usage: %s" msgstr "användning: %s" #. TRANSLATORS: the colon here should align with the #. one in "usage: %s" translation -#: parse-options.c:511 +#: parse-options.c:559 #, c-format msgid " or: %s" msgstr " eller: %s" -#: parse-options.c:514 +#: parse-options.c:562 #, c-format msgid " %s" msgstr " %s" -#: parse-options.c:548 +#: parse-options.c:596 msgid "-NUM" msgstr "-TAL" -#: pathspec.c:83 +#: pathspec.c:118 +msgid "global 'glob' and 'noglob' pathspec settings are incompatible" +msgstr "" +"de globala sökvägsinställningarna \"glob\" och \"noglob\" är inkompatibla" + +#: pathspec.c:128 +msgid "" +"global 'literal' pathspec setting is incompatible with all other global " +"pathspec settings" +msgstr "" +"den globala sökvägsinställningen \"literal\" är inkompatibel med alla andra " +"globala sökvägsinställningar" + +#: pathspec.c:158 +msgid "invalid parameter for pathspec magic 'prefix'" +msgstr "ogiltig parameter för sökvägsuttrycket för \"prefix\"" + +#: pathspec.c:164 +#, c-format +msgid "Invalid pathspec magic '%.*s' in '%s'" +msgstr "felaktigt sökvägsuttryck \"%.*s\" i \"%s\"" + +#: pathspec.c:168 +#, c-format +msgid "Missing ')' at the end of pathspec magic in '%s'" +msgstr "\")\" saknas i slutet av sökvägsuttrycket för \"%s\"" + +#: pathspec.c:186 +#, c-format +msgid "Unimplemented pathspec magic '%c' in '%s'" +msgstr "Tecknet \"%c\" i sökvägsuttrycket i \"%s\" har inte implementerats" + +#: pathspec.c:211 +#, c-format +msgid "%s: 'literal' and 'glob' are incompatible" +msgstr "%s: \"literal\" och \"glob\" är inkompatibla" + +#: pathspec.c:222 +#, c-format +msgid "%s: '%s' is outside repository" +msgstr "%s: \"%s\" är utanför arkivet" + +#: pathspec.c:278 +#, c-format +msgid "Pathspec '%s' is in submodule '%.*s'" +msgstr "Sökvägsangivelsen \"%s\" är i undermodulen \"%.*s\"" + +#. +#. * We may want to substitute "this command" with a command +#. * name. E.g. when add--interactive dies when running +#. * "checkout -p" +#. +#: pathspec.c:340 +#, c-format +msgid "%s: pathspec magic not supported by this command: %s" +msgstr "%s: sökvägsuttrycket hanteras inte av det här kommandot: %s" + +#: pathspec.c:415 +#, c-format +msgid "pathspec '%s' is beyond a symbolic link" +msgstr "sökvägsangivelsen \"%s\" är pÃ¥ andra sidan av en symbolisk länk" + +#: remote.c:1833 #, c-format -msgid "Path '%s' is in submodule '%.*s'" -msgstr "Sökvägen \"%s\" är i undermodulen \"%.*s\"" +msgid "Your branch is based on '%s', but the upstream is gone.\n" +msgstr "Din gren är baserad pÃ¥ \"%s\", men den har försvunnit uppströms.\n" -#: pathspec.c:99 +#: remote.c:1837 +msgid " (use \"git branch --unset-upstream\" to fixup)\n" +msgstr " (använd \"git branch --unset-upstream\" för att rätta)\n" + +#: remote.c:1840 #, c-format -msgid "'%s' is beyond a symbolic link" -msgstr "\"%s\" är pÃ¥ andra sidan av en symbolisk länk" +msgid "Your branch is up-to-date with '%s'.\n" +msgstr "Din gren är à jour med \"%s\".\n" -#: remote.c:1788 +#: remote.c:1844 #, c-format msgid "Your branch is ahead of '%s' by %d commit.\n" msgid_plural "Your branch is ahead of '%s' by %d commits.\n" msgstr[0] "Din gren ligger före \"%s\" med %d incheckning.\n" msgstr[1] "Din gren ligger före \"%s\" med %d incheckningar.\n" -#: remote.c:1794 +#: remote.c:1850 msgid " (use \"git push\" to publish your local commits)\n" msgstr " (använd \"git push\" för att publicera dina lokala incheckningar)\n" -#: remote.c:1797 +#: remote.c:1853 #, c-format msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n" msgid_plural "" @@ -914,11 +985,11 @@ msgstr[0] "" msgstr[1] "" "Din gren ligger efter \"%s\" med %d incheckningar, och kan snabbspolas.\n" -#: remote.c:1805 +#: remote.c:1861 msgid " (use \"git pull\" to update your local branch)\n" msgstr " (använd \"git pull\" för att uppdatera din lokala gren)\n" -#: remote.c:1808 +#: remote.c:1864 #, c-format msgid "" "Your branch and '%s' have diverged,\n" @@ -933,7 +1004,7 @@ msgstr[1] "" "Din gren och \"%s\" har divergerat,\n" "och har %d respektive %d olika incheckningar.\n" -#: remote.c:1818 +#: remote.c:1874 msgid " (use \"git pull\" to merge the remote branch into yours)\n" msgstr " (använd \"git pull\" för att slÃ¥ ihop fjärrgrenen med din egen)\n" @@ -976,7 +1047,7 @@ msgstr "" "med \"git add <sökvägar>\" eller \"git rm <sökvägar>\"\n" "och checka in resultatet med \"git commit\"" -#: sequencer.c:245 sequencer.c:869 sequencer.c:952 +#: sequencer.c:245 sequencer.c:870 sequencer.c:953 #, c-format msgid "Could not write to %s" msgstr "Kunde inte skriva till %s" @@ -999,197 +1070,197 @@ msgid "Commit your changes or stash them to proceed." msgstr "Checka in dina ändringar eller använd \"stash\" för att fortsätta." #. TRANSLATORS: %s will be "revert" or "cherry-pick" -#: sequencer.c:324 +#: sequencer.c:325 #, c-format msgid "%s: Unable to write new index file" msgstr "%s: Kunde inte skriva ny indexfil" -#: sequencer.c:355 +#: sequencer.c:356 msgid "Could not resolve HEAD commit\n" msgstr "Kunde inte bestämma HEAD:s incheckning\n" -#: sequencer.c:377 +#: sequencer.c:378 msgid "Unable to update cache tree\n" msgstr "Kan inte uppdatera cacheträd\n" -#: sequencer.c:422 +#: sequencer.c:423 #, c-format msgid "Could not parse commit %s\n" msgstr "Kunde inte tolka incheckningen %s\n" -#: sequencer.c:427 +#: sequencer.c:428 #, c-format msgid "Could not parse parent commit %s\n" msgstr "Kunde inte tolka föräldraincheckningen %s\n" -#: sequencer.c:493 +#: sequencer.c:494 msgid "Your index file is unmerged." msgstr "Din indexfil har inte slagits ihop." -#: sequencer.c:512 +#: sequencer.c:513 #, c-format msgid "Commit %s is a merge but no -m option was given." msgstr "Incheckning %s är en sammanslagning, men flaggan -m angavs inte." -#: sequencer.c:520 +#: sequencer.c:521 #, c-format msgid "Commit %s does not have parent %d" msgstr "Incheckning %s har inte förälder %d" -#: sequencer.c:524 +#: sequencer.c:525 #, c-format msgid "Mainline was specified but commit %s is not a merge." msgstr "Huvudlinje angavs, men incheckningen %s är inte en sammanslagning" #. TRANSLATORS: The first %s will be "revert" or #. "cherry-pick", the second %s a SHA1 -#: sequencer.c:537 +#: sequencer.c:538 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "%s: kan inte tolka föräldraincheckningen %s" -#: sequencer.c:541 +#: sequencer.c:542 #, c-format msgid "Cannot get commit message for %s" msgstr "Kan inte hämta incheckningsmeddelande för %s" -#: sequencer.c:627 +#: sequencer.c:628 #, c-format msgid "could not revert %s... %s" msgstr "kunde inte Ã¥ngra %s... %s" -#: sequencer.c:628 +#: sequencer.c:629 #, c-format msgid "could not apply %s... %s" msgstr "kunde inte tillämpa %s... %s" -#: sequencer.c:664 +#: sequencer.c:665 msgid "empty commit set passed" msgstr "den angivna uppsättningen incheckningar är tom" -#: sequencer.c:672 +#: sequencer.c:673 #, c-format msgid "git %s: failed to read the index" msgstr "git %s: misslyckades läsa indexet" -#: sequencer.c:677 +#: sequencer.c:678 #, c-format msgid "git %s: failed to refresh the index" msgstr "git %s: misslyckades uppdatera indexet" -#: sequencer.c:735 +#: sequencer.c:736 #, c-format msgid "Cannot %s during a %s" msgstr "kan inte %s under en %s" -#: sequencer.c:757 +#: sequencer.c:758 #, c-format msgid "Could not parse line %d." msgstr "Kan inte tolka rad %d." -#: sequencer.c:762 +#: sequencer.c:763 msgid "No commits parsed." msgstr "Inga incheckningar lästes." -#: sequencer.c:775 +#: sequencer.c:776 #, c-format msgid "Could not open %s" msgstr "Kunde inte öppna %s" -#: sequencer.c:779 +#: sequencer.c:780 #, c-format msgid "Could not read %s." msgstr "kunde inte läsa %s." -#: sequencer.c:786 +#: sequencer.c:787 #, c-format msgid "Unusable instruction sheet: %s" msgstr "Oanvändbart manus: %s" -#: sequencer.c:814 +#: sequencer.c:815 #, c-format msgid "Invalid key: %s" msgstr "Felaktig nyckel: %s" -#: sequencer.c:817 +#: sequencer.c:818 #, c-format msgid "Invalid value for %s: %s" msgstr "Felaktigt värde för %s: %s" -#: sequencer.c:829 +#: sequencer.c:830 #, c-format msgid "Malformed options sheet: %s" msgstr "Trasigt manus: %s" -#: sequencer.c:850 +#: sequencer.c:851 msgid "a cherry-pick or revert is already in progress" msgstr "en \"cherry-pick\" eller \"revert\" pÃ¥gÃ¥r redan" -#: sequencer.c:851 +#: sequencer.c:852 msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" msgstr "testa \"git cherry-pick (--continue | --quit | --abort)\"" -#: sequencer.c:855 +#: sequencer.c:856 #, c-format msgid "Could not create sequencer directory %s" msgstr "Kunde inte skapa \"sequencer\"-katalogen \"%s\"" -#: sequencer.c:871 sequencer.c:956 +#: sequencer.c:872 sequencer.c:957 #, c-format msgid "Error wrapping up %s." msgstr "Fel vid ombrytning av %s." -#: sequencer.c:890 sequencer.c:1024 +#: sequencer.c:891 sequencer.c:1025 msgid "no cherry-pick or revert in progress" msgstr "ingen \"cherry-pick\" eller \"revert\" pÃ¥gÃ¥r" -#: sequencer.c:892 +#: sequencer.c:893 msgid "cannot resolve HEAD" msgstr "kan inte bestämma HEAD" -#: sequencer.c:894 +#: sequencer.c:895 msgid "cannot abort from a branch yet to be born" msgstr "kan inte avbryta frÃ¥n en gren som ännu inte är född" -#: sequencer.c:916 builtin/apply.c:4061 +#: sequencer.c:917 builtin/apply.c:4061 #, c-format msgid "cannot open %s: %s" msgstr "kan inte öppna %s: %s" -#: sequencer.c:919 +#: sequencer.c:920 #, c-format msgid "cannot read %s: %s" msgstr "kan inte läsa %s: %s" -#: sequencer.c:920 +#: sequencer.c:921 msgid "unexpected end of file" msgstr "oväntat filslut" -#: sequencer.c:926 +#: sequencer.c:927 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "sparad HEAD-fil frÃ¥n före \"cherry-pick\", \"%s\", är trasig" -#: sequencer.c:949 +#: sequencer.c:950 #, c-format msgid "Could not format %s." msgstr "Kunde inte formatera %s." -#: sequencer.c:1092 +#: sequencer.c:1093 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "%s: kan inte göra \"cherry-pick\" pÃ¥ typen \"%s\"" -#: sequencer.c:1095 +#: sequencer.c:1096 #, c-format msgid "%s: bad revision" msgstr "%s: felaktig revision" -#: sequencer.c:1129 +#: sequencer.c:1130 msgid "Can't revert as initial commit" msgstr "Kan inte Ã¥ngra som första incheckning" -#: sequencer.c:1130 +#: sequencer.c:1131 msgid "Can't cherry-pick into empty head" msgstr "Kan inte göra \"cherry-pick\" i ett tomt huvud" @@ -1215,256 +1286,350 @@ msgstr "" "Undersök referenserna och ta kanske bort dem. Stäng av meddelandet\n" "genom att köra \"git config advice.objectNameWarning false\"" -#: sha1_name.c:1097 +#: sha1_name.c:1112 msgid "HEAD does not point to a branch" msgstr "HEAD pekar inte pÃ¥ en gren" -#: sha1_name.c:1100 +#: sha1_name.c:1115 #, c-format msgid "No such branch: '%s'" msgstr "Okänd gren: \"%s\"" -#: sha1_name.c:1102 +#: sha1_name.c:1117 #, c-format msgid "No upstream configured for branch '%s'" msgstr "Ingen standarduppström angiven för grenen \"%s\"" -#: sha1_name.c:1106 +#: sha1_name.c:1121 #, c-format msgid "Upstream branch '%s' not stored as a remote-tracking branch" msgstr "Uppströmsgrenen \"%s\" är inte lagrad som en fjärrspÃ¥rande gren" -#: wrapper.c:408 +#: submodule.c:64 submodule.c:98 +msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" +msgstr "" +"Kan inte ändra .gitmodules-fil som inte slagits ihop, lös " +"sammanslagningskonflikter först" + +#: submodule.c:68 submodule.c:102 +#, c-format +msgid "Could not find section in .gitmodules where path=%s" +msgstr "Hittade inte nÃ¥gon sektion i .gitmodules där sökväg=%s" + +#. Maybe the user already did that, don't error out here +#: submodule.c:76 +#, c-format +msgid "Could not update .gitmodules entry %s" +msgstr "Kunde inte uppdatera .gitmodules-posten %s" + +#. Maybe the user already did that, don't error out here +#: submodule.c:109 +#, c-format +msgid "Could not remove .gitmodules entry for %s" +msgstr "Kunde inte ta bort .gitmodules-posten för %s" + +#: submodule.c:127 +msgid "could not find .gitmodules in index" +msgstr "kunde inte hitta .gitmodules i indexet" + +#: submodule.c:133 +msgid "reading updated .gitmodules failed" +msgstr "misslyckades läsa uppdaterad .gitmodules" + +#: submodule.c:135 +msgid "unable to stat updated .gitmodules" +msgstr "kan inte ta status pÃ¥ uppdaterad .gitmodules" + +#: submodule.c:139 +msgid "unable to remove .gitmodules from index" +msgstr "kan inte ta bort .gitmodules frÃ¥n indexet" + +#: submodule.c:141 +msgid "adding updated .gitmodules failed" +msgstr "misslyckades lägga till uppdaterad .gitmodules" + +#: submodule.c:143 +msgid "staging updated .gitmodules failed" +msgstr "misslyckades köa uppdaterad .gitmodules" + +#: submodule.c:1144 builtin/init-db.c:363 +#, c-format +msgid "Could not create git link %s" +msgstr "Kunde inte skapa gitlänk %s" + +#: submodule.c:1155 +#, c-format +msgid "Could not set core.worktree in %s" +msgstr "Kunde inte sätta core.worktree i %s" + +#: urlmatch.c:120 +msgid "invalid URL scheme name or missing '://' suffix" +msgstr "ogiltig URL-schemanamn eller saknat \"://\"-suffix" + +#: urlmatch.c:144 urlmatch.c:297 urlmatch.c:356 +#, c-format +msgid "invalid %XX escape sequence" +msgstr "ogiltig %XX-teckensekvens" + +#: urlmatch.c:172 +msgid "missing host and scheme is not 'file:'" +msgstr "värd saknas och schemat är inte \"file:\"" + +#: urlmatch.c:189 +msgid "a 'file:' URL may not have a port number" +msgstr "en \"file:\"-URL kan inte innehÃ¥lla portnummer" + +#: urlmatch.c:199 +msgid "invalid characters in host name" +msgstr "ogiltiga tecken i värdnamnet" + +#: urlmatch.c:244 urlmatch.c:255 +msgid "invalid port number" +msgstr "felaktigt portnummer" + +#: urlmatch.c:322 +msgid "invalid '..' path segment" +msgstr "felaktit \"..\"-sökvägssegment" + +#: wrapper.c:422 #, c-format msgid "unable to access '%s': %s" msgstr "kan inte komma Ã¥t \"%s\": %s" -#: wrapper.c:429 +#: wrapper.c:443 #, c-format msgid "unable to access '%s'" msgstr "kan inte komma Ã¥t \"%s\"" -#: wrapper.c:440 +#: wrapper.c:454 #, c-format msgid "unable to look up current user in the passwd file: %s" msgstr "kan inte slÃ¥ upp aktuell användare i passwd-filen: %s" -#: wrapper.c:441 +#: wrapper.c:455 msgid "no such user" msgstr "okänd användare" -#: wt-status.c:141 +#: wt-status.c:146 msgid "Unmerged paths:" msgstr "Ej sammanslagna sökvägar:" -#: wt-status.c:168 wt-status.c:195 +#: wt-status.c:173 wt-status.c:200 #, c-format msgid " (use \"git reset %s <file>...\" to unstage)" msgstr " (använd \"git reset %s <fil>...\" för att ta bort frÃ¥n kö)" -#: wt-status.c:170 wt-status.c:197 +#: wt-status.c:175 wt-status.c:202 msgid " (use \"git rm --cached <file>...\" to unstage)" msgstr " (använd \"git rm --cached <fil>...\" för att ta bort frÃ¥n kö)" -#: wt-status.c:174 +#: wt-status.c:179 msgid " (use \"git add <file>...\" to mark resolution)" msgstr " (använd \"git add <fil>...\" för att ange lösning)" -#: wt-status.c:176 wt-status.c:180 +#: wt-status.c:181 wt-status.c:185 msgid " (use \"git add/rm <file>...\" as appropriate to mark resolution)" msgstr " (använd \"git add/rm <fil>...\" som lämpligt för att ange lösning)" -#: wt-status.c:178 +#: wt-status.c:183 msgid " (use \"git rm <file>...\" to mark resolution)" msgstr " (använd \"git rm <fil>...\" för att ange lösning)" -#: wt-status.c:189 +#: wt-status.c:194 msgid "Changes to be committed:" msgstr "Ändringar att checka in:" -#: wt-status.c:207 +#: wt-status.c:212 msgid "Changes not staged for commit:" msgstr "Ändringar ej i incheckningskön:" -#: wt-status.c:211 +#: wt-status.c:216 msgid " (use \"git add <file>...\" to update what will be committed)" msgstr "" " (använd \"git add <fil>...\" för att uppdatera vad som skall checkas in)" -#: wt-status.c:213 +#: wt-status.c:218 msgid " (use \"git add/rm <file>...\" to update what will be committed)" msgstr "" " (använd \"git add/rm <fil>...\" för att uppdatera vad som skall checkas in)" -#: wt-status.c:214 +#: wt-status.c:219 msgid "" " (use \"git checkout -- <file>...\" to discard changes in working directory)" msgstr "" " (använd \"git checkout -- <fil>...\" för att förkasta ändringar i " "arbetskatalogen)" -#: wt-status.c:216 +#: wt-status.c:221 msgid " (commit or discard the untracked or modified content in submodules)" msgstr "" " (checka in eller förkasta ospÃ¥rat eller ändrat innehÃ¥ll i undermoduler)" -#: wt-status.c:228 +#: wt-status.c:233 #, c-format msgid " (use \"git %s <file>...\" to include in what will be committed)" msgstr "" " (använd \"git %s <fil>...\" för att ta med i det som skall checkas in)" -#: wt-status.c:245 +#: wt-status.c:250 msgid "bug" msgstr "programfel" -#: wt-status.c:250 +#: wt-status.c:255 msgid "both deleted:" msgstr "borttaget av bägge:" -#: wt-status.c:251 +#: wt-status.c:256 msgid "added by us:" msgstr "tillagt av oss:" -#: wt-status.c:252 +#: wt-status.c:257 msgid "deleted by them:" msgstr "borttaget av dem:" -#: wt-status.c:253 +#: wt-status.c:258 msgid "added by them:" msgstr "tillagt av dem:" -#: wt-status.c:254 +#: wt-status.c:259 msgid "deleted by us:" msgstr "borttaget av oss:" -#: wt-status.c:255 +#: wt-status.c:260 msgid "both added:" msgstr "tillagt av bägge:" -#: wt-status.c:256 +#: wt-status.c:261 msgid "both modified:" msgstr "ändrat av bägge:" -#: wt-status.c:286 +#: wt-status.c:291 msgid "new commits, " msgstr "nya incheckningar, " -#: wt-status.c:288 +#: wt-status.c:293 msgid "modified content, " msgstr "ändrat innehÃ¥ll, " -#: wt-status.c:290 +#: wt-status.c:295 msgid "untracked content, " msgstr "ospÃ¥rat innehÃ¥ll, " -#: wt-status.c:307 +#: wt-status.c:312 #, c-format msgid "new file: %s" msgstr "ny fil: %s" -#: wt-status.c:310 +#: wt-status.c:315 #, c-format msgid "copied: %s -> %s" msgstr "kopierad: %s -> %s" -#: wt-status.c:313 +#: wt-status.c:318 #, c-format msgid "deleted: %s" msgstr "borttagen: %s" -#: wt-status.c:316 +#: wt-status.c:321 #, c-format msgid "modified: %s" msgstr "ändrad: %s" -#: wt-status.c:319 +#: wt-status.c:324 #, c-format msgid "renamed: %s -> %s" msgstr "namnbyte: %s -> %s" -#: wt-status.c:322 +#: wt-status.c:327 #, c-format msgid "typechange: %s" msgstr "typbyte: %s" -#: wt-status.c:325 +#: wt-status.c:330 #, c-format msgid "unknown: %s" msgstr "okänd: %s" -#: wt-status.c:328 +#: wt-status.c:333 #, c-format msgid "unmerged: %s" msgstr "osammansl.: %s" -#: wt-status.c:331 +#: wt-status.c:336 #, c-format msgid "bug: unhandled diff status %c" msgstr "programfel: diff-status %c ej hanterad" -#: wt-status.c:803 +#: wt-status.c:703 +msgid "Submodules changed but not updated:" +msgstr "Undermoduler ändrade men inte uppdaterade:" + +#: wt-status.c:705 +msgid "Submodule changes to be committed:" +msgstr "Undermodulers ändringar att checka in:" + +#: wt-status.c:848 msgid "You have unmerged paths." msgstr "Du har ej sammanslagna sökvägar." -#: wt-status.c:806 +#: wt-status.c:851 msgid " (fix conflicts and run \"git commit\")" msgstr " (rätta konflikter och kör \"git commit\")" -#: wt-status.c:809 +#: wt-status.c:854 msgid "All conflicts fixed but you are still merging." msgstr "Alla konflikter har rättats men du är fortfarande i en sammanslagning." -#: wt-status.c:812 +#: wt-status.c:857 msgid " (use \"git commit\" to conclude merge)" msgstr " (använd \"git commit\" för att slutföra sammanslagningen)" -#: wt-status.c:822 +#: wt-status.c:867 msgid "You are in the middle of an am session." msgstr "Du är i mitten av en körning av \"git am\"." -#: wt-status.c:825 +#: wt-status.c:870 msgid "The current patch is empty." msgstr "Aktuell patch är tom." -#: wt-status.c:829 +#: wt-status.c:874 msgid " (fix conflicts and then run \"git am --continue\")" msgstr " (rätta konflikter och kör sedan \"git am --continue\")" -#: wt-status.c:831 +#: wt-status.c:876 msgid " (use \"git am --skip\" to skip this patch)" msgstr " (använd \"git am --skip\" för att hoppa över patchen)" -#: wt-status.c:833 +#: wt-status.c:878 msgid " (use \"git am --abort\" to restore the original branch)" msgstr " (använd \"git am --abort\" för att Ã¥terställa ursprungsgrenen)" -#: wt-status.c:893 wt-status.c:910 +#: wt-status.c:938 wt-status.c:955 #, c-format msgid "You are currently rebasing branch '%s' on '%s'." msgstr "Du hÃ¥ller pÃ¥ att ombasera grenen \"%s\" ovanpÃ¥ \"%s\"." -#: wt-status.c:898 wt-status.c:915 +#: wt-status.c:943 wt-status.c:960 msgid "You are currently rebasing." msgstr "Du hÃ¥ller pÃ¥ med en ombasering." -#: wt-status.c:901 +#: wt-status.c:946 msgid " (fix conflicts and then run \"git rebase --continue\")" msgstr " (rätta konflikter och kör sedan \"git rebase --continue\")" -#: wt-status.c:903 +#: wt-status.c:948 msgid " (use \"git rebase --skip\" to skip this patch)" msgstr " (använd \"git rebase --skip\" för att hoppa över patchen)" -#: wt-status.c:905 +#: wt-status.c:950 msgid " (use \"git rebase --abort\" to check out the original branch)" msgstr " (använd \"git rebase --abort\" för att checka ut ursprungsgrenen)" -#: wt-status.c:918 +#: wt-status.c:963 msgid " (all conflicts fixed: run \"git rebase --continue\")" msgstr " (alla konflikter rättade: kör \"git rebase --continue\")" -#: wt-status.c:922 +#: wt-status.c:967 #, c-format msgid "" "You are currently splitting a commit while rebasing branch '%s' on '%s'." @@ -1472,117 +1637,118 @@ msgstr "" "Du hÃ¥ller pÃ¥ att dela upp en incheckning medan du ombaserar grenen \"%s\" " "ovanpÃ¥ \"%s\"." -#: wt-status.c:927 +#: wt-status.c:972 msgid "You are currently splitting a commit during a rebase." msgstr "Du hÃ¥ller pÃ¥ att dela upp en incheckning i en ombasering." -#: wt-status.c:930 +#: wt-status.c:975 msgid " (Once your working directory is clean, run \"git rebase --continue\")" msgstr " (SÃ¥ fort din arbetskatalog är ren, kör \"git rebase --continue\")" -#: wt-status.c:934 +#: wt-status.c:979 #, c-format msgid "You are currently editing a commit while rebasing branch '%s' on '%s'." msgstr "" "Du hÃ¥ller pÃ¥ att redigera en incheckning medan du ombaserar grenen \"%s\" " "ovanpÃ¥ \"%s\"." -#: wt-status.c:939 +#: wt-status.c:984 msgid "You are currently editing a commit during a rebase." msgstr "Du hÃ¥ller pÃ¥ att redigera en incheckning under en ombasering." -#: wt-status.c:942 +#: wt-status.c:987 msgid " (use \"git commit --amend\" to amend the current commit)" msgstr "" " (använd \"git commit --amend\" för att lägga till pÃ¥ aktuell incheckning)" -#: wt-status.c:944 +#: wt-status.c:989 msgid "" " (use \"git rebase --continue\" once you are satisfied with your changes)" msgstr " (använd \"git rebase --continue\" när du är nöjd med dina ändringar)" -#: wt-status.c:954 -msgid "You are currently cherry-picking." -msgstr "Du hÃ¥ller pÃ¥ med en \"cherry-pick\"." +#: wt-status.c:999 +#, c-format +msgid "You are currently cherry-picking commit %s." +msgstr "Du hÃ¥ller pÃ¥ med en \"cherry-pick\" av incheckningen %s." -#: wt-status.c:958 +#: wt-status.c:1004 msgid " (fix conflicts and run \"git cherry-pick --continue\")" msgstr " (rätta konflikter och kör sedan \"git cherry-pick --continue\")" -#: wt-status.c:961 +#: wt-status.c:1007 msgid " (all conflicts fixed: run \"git cherry-pick --continue\")" msgstr " (alla konflikter rättade: kör \"git cherry-pick --continue\")" -#: wt-status.c:963 +#: wt-status.c:1009 msgid " (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)" msgstr "" " (använd \"git cherry-pick --abort\" för att avbryta \"cherry-pick\"-" "operationen)" -#: wt-status.c:972 +#: wt-status.c:1018 #, c-format msgid "You are currently reverting commit %s." msgstr "Du hÃ¥ller pÃ¥ med att Ã¥ngra incheckningen %s." -#: wt-status.c:977 +#: wt-status.c:1023 msgid " (fix conflicts and run \"git revert --continue\")" msgstr " (rätta konflikter och kör sedan \"git revert --continue\")" -#: wt-status.c:980 +#: wt-status.c:1026 msgid " (all conflicts fixed: run \"git revert --continue\")" msgstr " (alla konflikter rättade: kör \"git revert --continue\")" -#: wt-status.c:982 +#: wt-status.c:1028 msgid " (use \"git revert --abort\" to cancel the revert operation)" msgstr " (använd \"git revert --abort\" för att avbryta Ã¥ngrandet)" -#: wt-status.c:993 +#: wt-status.c:1039 #, c-format msgid "You are currently bisecting, started from branch '%s'." msgstr "Du hÃ¥ller pÃ¥ med en \"bisect\", startad frÃ¥n grenen \"%s\"." -#: wt-status.c:997 +#: wt-status.c:1043 msgid "You are currently bisecting." msgstr "Du hÃ¥ller pÃ¥ med en \"bisect\"." -#: wt-status.c:1000 +#: wt-status.c:1046 msgid " (use \"git bisect reset\" to get back to the original branch)" msgstr "" " (använd \"git bisect reset\" för att komma tillbaka till ursprungsgrenen)" -#: wt-status.c:1173 +#: wt-status.c:1221 msgid "On branch " msgstr "PÃ¥ grenen " -#: wt-status.c:1180 +#: wt-status.c:1228 msgid "rebase in progress; onto " msgstr "ombasering pÃ¥gÃ¥r; ovanpÃ¥" -#: wt-status.c:1187 +#: wt-status.c:1235 msgid "HEAD detached at " msgstr "HEAD frÃ¥nkopplad vid " -#: wt-status.c:1189 +#: wt-status.c:1237 msgid "HEAD detached from " msgstr "HEAD frÃ¥nkopplad frÃ¥n " -#: wt-status.c:1192 +#: wt-status.c:1240 msgid "Not currently on any branch." msgstr "Inte pÃ¥ nÃ¥gon gren för närvarande." -#: wt-status.c:1209 +#: wt-status.c:1257 msgid "Initial commit" msgstr "Första incheckning" -#: wt-status.c:1223 +#: wt-status.c:1271 msgid "Untracked files" msgstr "OspÃ¥rade filer" -#: wt-status.c:1225 +#: wt-status.c:1273 msgid "Ignored files" msgstr "Ignorerade filer" -#: wt-status.c:1229 +#: wt-status.c:1277 #, c-format msgid "" "It took %.2f seconds to enumerate untracked files. 'status -uno'\n" @@ -1594,32 +1760,32 @@ msgstr "" "lägga till nya filer själv (se \"git help status\")." # %s är nästa sträng eller tom. -#: wt-status.c:1235 +#: wt-status.c:1283 #, c-format msgid "Untracked files not listed%s" msgstr "OspÃ¥rade filer visas ej%s" -#: wt-status.c:1237 +#: wt-status.c:1285 msgid " (use -u option to show untracked files)" msgstr " (använd flaggan -u för att visa ospÃ¥rade filer)" -#: wt-status.c:1243 +#: wt-status.c:1291 msgid "No changes" msgstr "Inga ändringar" -#: wt-status.c:1248 +#: wt-status.c:1296 #, c-format msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n" msgstr "" "inga ändringar att checka in (använd \"git add\" och/eller \"git commit -a" "\")\n" -#: wt-status.c:1251 +#: wt-status.c:1299 #, c-format msgid "no changes added to commit\n" msgstr "inga ändringar att checka in\n" -#: wt-status.c:1254 +#: wt-status.c:1302 #, c-format msgid "" "nothing added to commit but untracked files present (use \"git add\" to " @@ -1628,52 +1794,56 @@ msgstr "" "inget köat för incheckning, men ospÃ¥rade filer finns (spÃ¥ra med \"git add" "\")\n" -#: wt-status.c:1257 +#: wt-status.c:1305 #, c-format msgid "nothing added to commit but untracked files present\n" msgstr "inget köat för incheckning, men ospÃ¥rade filer finns\n" -#: wt-status.c:1260 +#: wt-status.c:1308 #, c-format msgid "nothing to commit (create/copy files and use \"git add\" to track)\n" msgstr "inget att checka in (skapa/kopiera filer och spÃ¥ra med \"git add\")\n" -#: wt-status.c:1263 wt-status.c:1268 +#: wt-status.c:1311 wt-status.c:1316 #, c-format msgid "nothing to commit\n" msgstr "inget att checka in\n" -#: wt-status.c:1266 +#: wt-status.c:1314 #, c-format msgid "nothing to commit (use -u to show untracked files)\n" msgstr "inget att checka in (använd -u för att visa ospÃ¥rade filer)\n" -#: wt-status.c:1270 +#: wt-status.c:1318 #, c-format msgid "nothing to commit, working directory clean\n" msgstr "inget att checka in, arbetskatalogen ren\n" -#: wt-status.c:1378 +#: wt-status.c:1427 msgid "HEAD (no branch)" msgstr "HEAD (ingen gren)" -#: wt-status.c:1384 +#: wt-status.c:1433 msgid "Initial commit on " msgstr "Första incheckning pÃ¥ " -#: wt-status.c:1399 +#: wt-status.c:1463 +msgid "gone" +msgstr "försvunnen" + +#: wt-status.c:1465 msgid "behind " msgstr "efter " -#: wt-status.c:1402 wt-status.c:1405 +#: wt-status.c:1468 wt-status.c:1471 msgid "ahead " msgstr "före " -#: wt-status.c:1407 +#: wt-status.c:1473 msgid ", behind " msgstr ", efter " -#: compat/precompose_utf8.c:58 builtin/clone.c:351 +#: compat/precompose_utf8.c:55 builtin/clone.c:350 #, c-format msgid "failed to unlink '%s'" msgstr "misslyckades ta bort länken \"%s\"" @@ -1759,7 +1929,7 @@ msgstr "" msgid "unexpected diff status %c" msgstr "diff-status %c förväntades inte" -#: builtin/add.c:149 builtin/commit.c:252 +#: builtin/add.c:149 builtin/commit.c:260 msgid "updating files failed" msgstr "misslyckades uppdatera filer" @@ -1768,140 +1938,135 @@ msgstr "misslyckades uppdatera filer" msgid "remove '%s'\n" msgstr "ta bort \"%s\"\n" -#: builtin/add.c:253 +#: builtin/add.c:237 msgid "Unstaged changes after refreshing the index:" msgstr "OspÃ¥rade ändringar efter att ha uppdaterat indexet:" -#: builtin/add.c:256 builtin/add.c:573 builtin/rm.c:337 -#, c-format -msgid "pathspec '%s' did not match any files" -msgstr "sökvägsangivelsen \"%s\" motsvarade inte nÃ¥gra filer" - -#: builtin/add.c:339 +#: builtin/add.c:299 msgid "Could not read the index" msgstr "Kunde inte läsa indexet" -#: builtin/add.c:350 +#: builtin/add.c:310 #, c-format msgid "Could not open '%s' for writing." msgstr "Kunde inte öppna \"%s\" för skrivning" -#: builtin/add.c:354 +#: builtin/add.c:314 msgid "Could not write patch" msgstr "Kunde inte skriva patch" -#: builtin/add.c:359 +#: builtin/add.c:319 #, c-format msgid "Could not stat '%s'" msgstr "Kunde inte ta status pÃ¥ \"%s\"" -#: builtin/add.c:361 +#: builtin/add.c:321 msgid "Empty patch. Aborted." msgstr "Tom patch. Avbryter." -#: builtin/add.c:367 +#: builtin/add.c:327 #, c-format msgid "Could not apply '%s'" msgstr "Kunde inte tillämpa \"%s\"" -#: builtin/add.c:377 +#: builtin/add.c:337 msgid "The following paths are ignored by one of your .gitignore files:\n" msgstr "Följande sökvägar ignoreras av en av dina .gitignore-filer:\n" -#: builtin/add.c:394 builtin/clean.c:875 builtin/fetch.c:78 builtin/mv.c:63 -#: builtin/prune-packed.c:73 builtin/push.c:451 builtin/remote.c:1253 -#: builtin/rm.c:268 +#: builtin/add.c:354 builtin/clean.c:875 builtin/fetch.c:92 builtin/mv.c:66 +#: builtin/prune-packed.c:73 builtin/push.c:459 builtin/remote.c:1253 +#: builtin/rm.c:269 msgid "dry run" msgstr "testkörning" -#: builtin/add.c:395 builtin/apply.c:4410 builtin/check-ignore.c:19 -#: builtin/commit.c:1220 builtin/count-objects.c:95 builtin/fsck.c:613 -#: builtin/log.c:1573 builtin/mv.c:62 builtin/read-tree.c:113 +#: builtin/add.c:355 builtin/apply.c:4410 builtin/check-ignore.c:19 +#: builtin/commit.c:1249 builtin/count-objects.c:95 builtin/fsck.c:612 +#: builtin/log.c:1592 builtin/mv.c:65 builtin/read-tree.c:113 msgid "be verbose" msgstr "var pratsam" -#: builtin/add.c:397 +#: builtin/add.c:357 msgid "interactive picking" msgstr "plocka interaktivt" -#: builtin/add.c:398 builtin/checkout.c:1073 builtin/reset.c:261 +#: builtin/add.c:358 builtin/checkout.c:1109 builtin/reset.c:272 msgid "select hunks interactively" msgstr "välj stycken interaktivt" -#: builtin/add.c:399 +#: builtin/add.c:359 msgid "edit current diff and apply" msgstr "redigera aktuell diff och applicera" -#: builtin/add.c:400 +#: builtin/add.c:360 msgid "allow adding otherwise ignored files" msgstr "tillÃ¥t lägga till annars ignorerade filer" -#: builtin/add.c:401 +#: builtin/add.c:361 msgid "update tracked files" msgstr "uppdatera spÃ¥rade filer" -#: builtin/add.c:402 +#: builtin/add.c:362 msgid "record only the fact that the path will be added later" msgstr "registrera endast att sökvägen kommer läggas till senare" -#: builtin/add.c:403 +#: builtin/add.c:363 msgid "add changes from all tracked and untracked files" msgstr "lägg till ändringar frÃ¥n alla spÃ¥rade och ospÃ¥rade filer" #. takes no arguments -#: builtin/add.c:406 +#: builtin/add.c:366 msgid "ignore paths removed in the working tree (same as --no-all)" msgstr "ignorera sökvägar borttagna i arbetskatalogen (samma som --no-all)" -#: builtin/add.c:408 +#: builtin/add.c:368 msgid "don't add, only refresh the index" msgstr "lägg inte till, uppdatera endast indexet" -#: builtin/add.c:409 +#: builtin/add.c:369 msgid "just skip files which cannot be added because of errors" msgstr "hoppa bara över filer som inte kan läggas till pÃ¥ grund av fel" -#: builtin/add.c:410 +#: builtin/add.c:370 msgid "check if - even missing - files are ignored in dry run" msgstr "se om - även saknade - filer ignoreras i testkörning" -#: builtin/add.c:432 +#: builtin/add.c:392 #, c-format msgid "Use -f if you really want to add them.\n" msgstr "Använd -f om du verkligen vill lägga till dem.\n" -#: builtin/add.c:433 +#: builtin/add.c:393 msgid "no files added" msgstr "inga filer har lagts till" -#: builtin/add.c:439 +#: builtin/add.c:399 msgid "adding files failed" msgstr "misslyckades lägga till filer" -#: builtin/add.c:478 +#: builtin/add.c:438 msgid "-A and -u are mutually incompatible" msgstr "-A och -u är ömsesidigt inkompatibla" -#: builtin/add.c:496 +#: builtin/add.c:456 msgid "Option --ignore-missing can only be used together with --dry-run" msgstr "Flaggan --ignore-missing kan endast användas tillsammans med --dry-run" -#: builtin/add.c:526 +#: builtin/add.c:486 #, c-format msgid "Nothing specified, nothing added.\n" msgstr "Inget angivet, inget tillagt.\n" -#: builtin/add.c:527 +#: builtin/add.c:487 #, c-format msgid "Maybe you wanted to say 'git add .'?\n" msgstr "Kanske menade du att skriva \"git add .\"?\n" -#: builtin/add.c:533 builtin/check-ignore.c:161 builtin/clean.c:919 -#: builtin/commit.c:312 builtin/mv.c:82 builtin/rm.c:297 +#: builtin/add.c:492 builtin/check-ignore.c:172 builtin/clean.c:919 +#: builtin/commit.c:320 builtin/mv.c:86 builtin/reset.c:224 builtin/rm.c:299 msgid "index file corrupt" msgstr "indexfilen trasig" -#: builtin/add.c:605 builtin/apply.c:4506 builtin/mv.c:229 builtin/rm.c:432 +#: builtin/add.c:589 builtin/apply.c:4506 builtin/mv.c:259 builtin/rm.c:432 msgid "Unable to write new index file" msgstr "Kunde inte skriva ny indexfil" @@ -2154,7 +2319,7 @@ msgstr "%s: patchen kan inte tillämpas" msgid "Checking patch %s..." msgstr "Kontrollerar patchen %s..." -#: builtin/apply.c:3680 builtin/checkout.c:216 builtin/reset.c:127 +#: builtin/apply.c:3680 builtin/checkout.c:213 builtin/reset.c:127 #, c-format msgid "make_cache_entry failed for path '%s'" msgstr "make_cache_entry misslyckades för sökvägen \"%s\"" @@ -2234,8 +2399,8 @@ msgstr "indata känns inte igen" msgid "unable to read index file" msgstr "kan inte läsa indexfilen" -#: builtin/apply.c:4357 builtin/apply.c:4360 builtin/clone.c:91 -#: builtin/fetch.c:63 +#: builtin/apply.c:4357 builtin/apply.c:4360 builtin/clone.c:90 +#: builtin/fetch.c:77 msgid "path" msgstr "sökväg" @@ -2295,7 +2460,7 @@ msgstr "försök en trevägssammanslagning om patchen inte kan tillämpas" msgid "build a temporary index based on embedded index information" msgstr "bygg ett temporärt index baserat pÃ¥ inbyggd indexinformation" -#: builtin/apply.c:4389 builtin/checkout-index.c:197 builtin/ls-files.c:462 +#: builtin/apply.c:4389 builtin/checkout-index.c:197 builtin/ls-files.c:452 msgid "paths are separated with NUL character" msgstr "sökvägar avdelas med NUL-tecken" @@ -2425,103 +2590,103 @@ msgstr "utför 'git bisect next'" msgid "update BISECT_HEAD instead of checking out the current commit" msgstr "uppdatera BISECT_HEAD istället för att checka ut aktuell incheckning" -#: builtin/blame.c:26 +#: builtin/blame.c:27 msgid "git blame [options] [rev-opts] [rev] [--] file" msgstr "git blame [flaggor] [rev-flaggor] [rev] [--] fil" -#: builtin/blame.c:31 +#: builtin/blame.c:32 msgid "[rev-opts] are documented in git-rev-list(1)" msgstr "[rev-flaggor] dokumenteras i git-rev-list(1)" -#: builtin/blame.c:2276 +#: builtin/blame.c:2248 msgid "Show blame entries as we find them, incrementally" msgstr "Visa klandringsposter när vi hittar dem, interaktivt" -#: builtin/blame.c:2277 +#: builtin/blame.c:2249 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "Visa blank SHA-1 för gränsincheckningar (Standard: av)" -#: builtin/blame.c:2278 +#: builtin/blame.c:2250 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "Behandla inte rotincheckningar som gränser (Standard: av)" -#: builtin/blame.c:2279 +#: builtin/blame.c:2251 msgid "Show work cost statistics" msgstr "Visa statistik över arbetskostnad" -#: builtin/blame.c:2280 +#: builtin/blame.c:2252 msgid "Show output score for blame entries" msgstr "Visa utdatapoäng för klandringsposter" -#: builtin/blame.c:2281 +#: builtin/blame.c:2253 msgid "Show original filename (Default: auto)" msgstr "Visa originalfilnamn (Standard: auto)" -#: builtin/blame.c:2282 +#: builtin/blame.c:2254 msgid "Show original linenumber (Default: off)" msgstr "Visa ursprungligt radnummer (Standard: av)" -#: builtin/blame.c:2283 +#: builtin/blame.c:2255 msgid "Show in a format designed for machine consumption" msgstr "Visa i ett format avsett för maskinkonsumtion" -#: builtin/blame.c:2284 +#: builtin/blame.c:2256 msgid "Show porcelain format with per-line commit information" msgstr "Visa porslinsformat med per-rad-incheckningsinformation" -#: builtin/blame.c:2285 +#: builtin/blame.c:2257 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "Använd samma utdataläge som git-annotate (Standard: av)" -#: builtin/blame.c:2286 +#: builtin/blame.c:2258 msgid "Show raw timestamp (Default: off)" msgstr "Visa rÃ¥ tidsstämpel (Standard: av)" -#: builtin/blame.c:2287 +#: builtin/blame.c:2259 msgid "Show long commit SHA1 (Default: off)" msgstr "Visa lÃ¥ng inchecknings-SHA1 (Standard: av)" -#: builtin/blame.c:2288 +#: builtin/blame.c:2260 msgid "Suppress author name and timestamp (Default: off)" msgstr "Undertryck författarnamn och tidsstämpel (Standard: av)" -#: builtin/blame.c:2289 +#: builtin/blame.c:2261 msgid "Show author email instead of name (Default: off)" msgstr "Visa författarens e-post istället för namn (Standard: av)" -#: builtin/blame.c:2290 +#: builtin/blame.c:2262 msgid "Ignore whitespace differences" msgstr "Ignorera ändringar i blanksteg" -#: builtin/blame.c:2291 +#: builtin/blame.c:2263 msgid "Spend extra cycles to find better match" msgstr "Slösa extra cykler med att hitta bättre träff" -#: builtin/blame.c:2292 +#: builtin/blame.c:2264 msgid "Use revisions from <file> instead of calling git-rev-list" msgstr "Använd revisioner frÃ¥n <fil> istället för att anropa git-rev-list" -#: builtin/blame.c:2293 +#: builtin/blame.c:2265 msgid "Use <file>'s contents as the final image" msgstr "Använd <fil>s innehÃ¥ll som slutgiltig bild" -#: builtin/blame.c:2294 builtin/blame.c:2295 +#: builtin/blame.c:2266 builtin/blame.c:2267 msgid "score" msgstr "poäng" -#: builtin/blame.c:2294 +#: builtin/blame.c:2266 msgid "Find line copies within and across files" msgstr "Hitta kopierade rader inuti och mellan filer" -#: builtin/blame.c:2295 +#: builtin/blame.c:2267 msgid "Find line movements within and across files" msgstr "Hitta flyttade rader inuti och mellan filer" -#: builtin/blame.c:2296 +#: builtin/blame.c:2268 msgid "n,m" msgstr "n,m" -#: builtin/blame.c:2296 +#: builtin/blame.c:2268 msgid "Process only line range n,m, counting from 1" msgstr "Behandla endast radintervallet n,m, med början pÃ¥ 1" @@ -2627,278 +2792,288 @@ msgstr "grenen \"%s\" pekar inte pÃ¥ en incheckning" #: builtin/branch.c:453 #, c-format +msgid "[%s: gone]" +msgstr "[%s: försvunnen]" + +#: builtin/branch.c:456 +#, c-format +msgid "[%s]" +msgstr "[%s]" + +#: builtin/branch.c:459 +#, c-format msgid "[%s: behind %d]" msgstr "[%s: bakom %d] " -#: builtin/branch.c:455 +#: builtin/branch.c:461 #, c-format msgid "[behind %d]" msgstr "[bakom %d] " -#: builtin/branch.c:459 +#: builtin/branch.c:465 #, c-format msgid "[%s: ahead %d]" msgstr "[%s: före %d] " -#: builtin/branch.c:461 +#: builtin/branch.c:467 #, c-format msgid "[ahead %d]" msgstr "[före %d] " -#: builtin/branch.c:464 +#: builtin/branch.c:470 #, c-format msgid "[%s: ahead %d, behind %d]" msgstr "[%s: före %d, bakom %d] " -#: builtin/branch.c:467 +#: builtin/branch.c:473 #, c-format msgid "[ahead %d, behind %d]" msgstr "[före %d, bakom %d] " -#: builtin/branch.c:490 +#: builtin/branch.c:496 msgid " **** invalid ref ****" msgstr " **** ogiltig ref ****" -#: builtin/branch.c:582 +#: builtin/branch.c:588 #, c-format msgid "(no branch, rebasing %s)" msgstr "(ingen gren, ombaserar %s)" -#: builtin/branch.c:585 +#: builtin/branch.c:591 #, c-format msgid "(no branch, bisect started on %s)" msgstr "(ingen gren, \"bisect\" startad pÃ¥ %s)" -#: builtin/branch.c:588 +#: builtin/branch.c:594 #, c-format msgid "(detached from %s)" msgstr "(frÃ¥nkopplad frÃ¥n %s)" -#: builtin/branch.c:591 +#: builtin/branch.c:597 msgid "(no branch)" msgstr "(ingen gren)" -#: builtin/branch.c:637 +#: builtin/branch.c:643 #, c-format msgid "object '%s' does not point to a commit" msgstr "objektet \"%s\" pekar pÃ¥ en incheckning" -#: builtin/branch.c:669 +#: builtin/branch.c:675 msgid "some refs could not be read" msgstr "vissa referenser kunde inte läsas" -#: builtin/branch.c:682 +#: builtin/branch.c:688 msgid "cannot rename the current branch while not on any." msgstr "" "kunde inte byta namn pÃ¥ aktuell gren när du inte befinner dig pÃ¥ nÃ¥gon." -#: builtin/branch.c:692 +#: builtin/branch.c:698 #, c-format msgid "Invalid branch name: '%s'" msgstr "Felaktigt namn pÃ¥ gren: \"%s\"" -#: builtin/branch.c:707 +#: builtin/branch.c:713 msgid "Branch rename failed" msgstr "Misslyckades byta namn pÃ¥ gren" -#: builtin/branch.c:711 +#: builtin/branch.c:717 #, c-format msgid "Renamed a misnamed branch '%s' away" msgstr "Bytte bort namn pÃ¥ en felaktigt namngiven gren \"%s\"" -#: builtin/branch.c:715 +#: builtin/branch.c:721 #, c-format msgid "Branch renamed to %s, but HEAD is not updated!" msgstr "Grenen namnbytt till %s, men HEAD har inte uppdaterats!" -#: builtin/branch.c:722 +#: builtin/branch.c:728 msgid "Branch is renamed, but update of config-file failed" msgstr "Grenen namnbytt, men misslyckades uppdatera konfigurationsfilen" -#: builtin/branch.c:737 +#: builtin/branch.c:743 #, c-format msgid "malformed object name %s" msgstr "felformat objektnamn %s" -#: builtin/branch.c:761 +#: builtin/branch.c:767 #, c-format msgid "could not write branch description template: %s" msgstr "kunde inte skriva grenbeskrivningsmall: %s" -#: builtin/branch.c:791 +#: builtin/branch.c:797 msgid "Generic options" msgstr "Allmänna flaggor" -#: builtin/branch.c:793 +#: builtin/branch.c:799 msgid "show hash and subject, give twice for upstream branch" msgstr "visa hash och ärenderad, ange tvÃ¥ gÃ¥nger för uppströmsgren" -#: builtin/branch.c:794 +#: builtin/branch.c:800 msgid "suppress informational messages" msgstr "undertryck informationsmeddelanden" -#: builtin/branch.c:795 +#: builtin/branch.c:801 msgid "set up tracking mode (see git-pull(1))" msgstr "ställ in spÃ¥rningsläge (se git-pull(1))" -#: builtin/branch.c:797 +#: builtin/branch.c:803 msgid "change upstream info" msgstr "ändra uppströmsinformation" -#: builtin/branch.c:801 +#: builtin/branch.c:807 msgid "use colored output" msgstr "använd färgad utdata" -#: builtin/branch.c:802 +#: builtin/branch.c:808 msgid "act on remote-tracking branches" msgstr "arbeta pÃ¥ fjärrspÃ¥rande grenar" -#: builtin/branch.c:805 builtin/branch.c:811 builtin/branch.c:832 -#: builtin/branch.c:838 builtin/commit.c:1433 builtin/commit.c:1434 -#: builtin/commit.c:1435 builtin/commit.c:1436 builtin/tag.c:468 +#: builtin/branch.c:811 builtin/branch.c:817 builtin/branch.c:838 +#: builtin/branch.c:844 builtin/commit.c:1460 builtin/commit.c:1461 +#: builtin/commit.c:1462 builtin/commit.c:1463 builtin/tag.c:468 msgid "commit" msgstr "incheckning" -#: builtin/branch.c:806 builtin/branch.c:812 +#: builtin/branch.c:812 builtin/branch.c:818 msgid "print only branches that contain the commit" msgstr "visa endast grenar som innehÃ¥ller incheckningen" -#: builtin/branch.c:818 +#: builtin/branch.c:824 msgid "Specific git-branch actions:" msgstr "Specifika git-branch-Ã¥tgärder:" -#: builtin/branch.c:819 +#: builtin/branch.c:825 msgid "list both remote-tracking and local branches" msgstr "visa bÃ¥de fjärrspÃ¥rande och lokala grenar" -#: builtin/branch.c:821 +#: builtin/branch.c:827 msgid "delete fully merged branch" msgstr "ta bort helt sammanslagen gren" -#: builtin/branch.c:822 +#: builtin/branch.c:828 msgid "delete branch (even if not merged)" msgstr "ta bort gren (även om inte helt sammanslagen)" -#: builtin/branch.c:823 +#: builtin/branch.c:829 msgid "move/rename a branch and its reflog" msgstr "flytta/ta bort en gren och dess reflogg" -#: builtin/branch.c:824 +#: builtin/branch.c:830 msgid "move/rename a branch, even if target exists" msgstr "flytta/ta bort en gren, även om mÃ¥let finns" -#: builtin/branch.c:825 +#: builtin/branch.c:831 msgid "list branch names" msgstr "lista namn pÃ¥ grenar" -#: builtin/branch.c:826 +#: builtin/branch.c:832 msgid "create the branch's reflog" msgstr "skapa grenens reflogg" -#: builtin/branch.c:828 +#: builtin/branch.c:834 msgid "edit the description for the branch" msgstr "redigera beskrivning för grenen" -#: builtin/branch.c:829 +#: builtin/branch.c:835 msgid "force creation (when already exists)" msgstr "tvinga skapande (när den redan finns)" -#: builtin/branch.c:832 +#: builtin/branch.c:838 msgid "print only not merged branches" msgstr "visa endast ej sammanslagna grenar" -#: builtin/branch.c:838 +#: builtin/branch.c:844 msgid "print only merged branches" msgstr "visa endast sammanslagna grenar" -#: builtin/branch.c:842 +#: builtin/branch.c:848 msgid "list branches in columns" msgstr "visa grenar i spalter" -#: builtin/branch.c:855 +#: builtin/branch.c:861 msgid "Failed to resolve HEAD as a valid ref." msgstr "Misslyckades slÃ¥ upp HEAD som giltig referens" -#: builtin/branch.c:860 builtin/clone.c:630 +#: builtin/branch.c:866 builtin/clone.c:629 msgid "HEAD not found below refs/heads!" msgstr "HEAD hittades inte under refs/heads!" -#: builtin/branch.c:883 +#: builtin/branch.c:890 msgid "--column and --verbose are incompatible" msgstr "--column och --verbose är inkompatibla" -#: builtin/branch.c:889 builtin/branch.c:928 +#: builtin/branch.c:896 builtin/branch.c:935 msgid "branch name required" msgstr "grennamn krävs" -#: builtin/branch.c:904 +#: builtin/branch.c:911 msgid "Cannot give description to detached HEAD" msgstr "Kan inte beskriva frÃ¥nkopplad HEAD" -#: builtin/branch.c:909 +#: builtin/branch.c:916 msgid "cannot edit description of more than one branch" msgstr "kan inte redigera beskrivning för mer än en gren" -#: builtin/branch.c:916 +#: builtin/branch.c:923 #, c-format msgid "No commit on branch '%s' yet." msgstr "Inga incheckningar pÃ¥ grenen \"%s\" ännu" -#: builtin/branch.c:919 +#: builtin/branch.c:926 #, c-format msgid "No branch named '%s'." msgstr "Ingen gren vid namnet \"%s\"." -#: builtin/branch.c:934 +#: builtin/branch.c:941 msgid "too many branches for a rename operation" msgstr "för mÃ¥nga grenar för namnbyte" -#: builtin/branch.c:939 +#: builtin/branch.c:946 msgid "too many branches to set new upstream" msgstr "för mÃ¥nga grenar för att byta uppström" -#: builtin/branch.c:943 +#: builtin/branch.c:950 #, c-format msgid "" "could not set upstream of HEAD to %s when it does not point to any branch." msgstr "" "kunde inte sätta uppström för HEAD till %s när det inte pekar mot nÃ¥gon gren." -#: builtin/branch.c:946 builtin/branch.c:968 builtin/branch.c:990 +#: builtin/branch.c:953 builtin/branch.c:975 builtin/branch.c:997 #, c-format msgid "no such branch '%s'" msgstr "okänd gren \"%s\"" -#: builtin/branch.c:950 +#: builtin/branch.c:957 #, c-format msgid "branch '%s' does not exist" msgstr "grenen \"%s\" finns inte" -#: builtin/branch.c:962 +#: builtin/branch.c:969 msgid "too many branches to unset upstream" msgstr "för mÃ¥nga grenar för att ta bort uppström" -#: builtin/branch.c:966 +#: builtin/branch.c:973 msgid "could not unset upstream of HEAD when it does not point to any branch." msgstr "" "kunde inte ta bort uppström för HEAD när det inte pekar mot nÃ¥gon gren." -#: builtin/branch.c:972 +#: builtin/branch.c:979 #, c-format msgid "Branch '%s' has no upstream information" msgstr "Grenen \"%s\" har ingen uppströmsinformation" -#: builtin/branch.c:987 +#: builtin/branch.c:994 msgid "it does not make sense to create 'HEAD' manually" msgstr "kan inte skapa \"HEAD\" manuellt" -#: builtin/branch.c:993 +#: builtin/branch.c:1000 msgid "-a and -r options to 'git branch' do not make sense with a branch name" msgstr "" "flaggorna -a och -r pÃ¥ \"git branch\" kan inte anges tillsammans med ett " "grennamn" -#: builtin/branch.c:996 +#: builtin/branch.c:1003 #, c-format msgid "" "The --set-upstream flag is deprecated and will be removed. Consider using --" @@ -2907,7 +3082,7 @@ msgstr "" "Flaggan --set-upstream rekommenderas ej och kommer tas bort. Använd --track " "eller --set-upstream-to\n" -#: builtin/branch.c:1013 +#: builtin/branch.c:1020 #, c-format msgid "" "\n" @@ -2918,12 +3093,12 @@ msgstr "" "Om du vill göra sÃ¥ att \"%s\" spÃ¥rar \"%s\" gör du sÃ¥ här:\n" "\n" -#: builtin/branch.c:1014 +#: builtin/branch.c:1021 #, c-format msgid " git branch -d %s\n" msgstr " git branch -d %s\n" -#: builtin/branch.c:1015 +#: builtin/branch.c:1022 #, c-format msgid " git branch --set-upstream-to %s\n" msgstr " git branch --set-upstream-to %s\n" @@ -2941,43 +3116,43 @@ msgstr "Behöver ett arkiv för att skapa ett paket (bundle)." msgid "Need a repository to unbundle." msgstr "Behöver ett arkiv för att packa upp ett paket (bundle)." -#: builtin/cat-file.c:285 +#: builtin/cat-file.c:312 msgid "git cat-file (-t|-s|-e|-p|<type>|--textconv) <object>" msgstr "git cat-file (-t|-s|-e|-p|<typ>|--textconv) <objekt>" -#: builtin/cat-file.c:286 +#: builtin/cat-file.c:313 msgid "git cat-file (--batch|--batch-check) < <list_of_objects>" msgstr "git cat-file (--batch|--batch-check) < <objektlista>" -#: builtin/cat-file.c:323 +#: builtin/cat-file.c:350 msgid "<type> can be one of: blob, tree, commit, tag" msgstr "<typ> kan vara en av: blob, tree, commit, tag" -#: builtin/cat-file.c:324 +#: builtin/cat-file.c:351 msgid "show object type" msgstr "visa objekttyp" -#: builtin/cat-file.c:325 +#: builtin/cat-file.c:352 msgid "show object size" msgstr "visa objektstorlek" -#: builtin/cat-file.c:327 +#: builtin/cat-file.c:354 msgid "exit with zero when there's no error" msgstr "avsluta med noll när det inte uppstÃ¥tt nÃ¥got fel" -#: builtin/cat-file.c:328 +#: builtin/cat-file.c:355 msgid "pretty-print object's content" msgstr "visa objektets innehÃ¥ll snyggt" -#: builtin/cat-file.c:330 +#: builtin/cat-file.c:357 msgid "for blob objects, run textconv on object's content" msgstr "för blob-objekt, kör textconv pÃ¥ objektets innehÃ¥ll" -#: builtin/cat-file.c:332 +#: builtin/cat-file.c:359 msgid "show info and content of objects fed from the standard input" msgstr "visa information och innehÃ¥ll för objekt som listas pÃ¥ standard in" -#: builtin/cat-file.c:335 +#: builtin/cat-file.c:362 msgid "show info about objects fed from the standard input" msgstr "visa information för objekt som listas pÃ¥ standard in" @@ -3002,10 +3177,10 @@ msgid "read file names from stdin" msgstr "läs filnamn frÃ¥n standard in" #: builtin/check-attr.c:23 builtin/check-ignore.c:24 -msgid "input paths are terminated by a null character" -msgstr "sökvägar avdelas med null-tecken" +msgid "terminate input and output records by a NUL character" +msgstr "avsluta in- och utdataposter med NUL-tecken" -#: builtin/check-ignore.c:18 builtin/checkout.c:1054 builtin/gc.c:177 +#: builtin/check-ignore.c:18 builtin/checkout.c:1090 builtin/gc.c:259 msgid "suppress progress reporting" msgstr "undertryck förloppsrapportering" @@ -3013,27 +3188,31 @@ msgstr "undertryck förloppsrapportering" msgid "show non-matching input paths" msgstr "visa indatasökvägar som inte träffas" -#: builtin/check-ignore.c:143 +#: builtin/check-ignore.c:28 +msgid "ignore index when checking" +msgstr "ignorera index vid kontroll" + +#: builtin/check-ignore.c:154 msgid "cannot specify pathnames with --stdin" msgstr "kan inte ange sökvägsnamn med --stdin" -#: builtin/check-ignore.c:146 +#: builtin/check-ignore.c:157 msgid "-z only makes sense with --stdin" msgstr "-z kan endast användas tillsammans med --stdin" -#: builtin/check-ignore.c:148 +#: builtin/check-ignore.c:159 msgid "no path specified" msgstr "ingen sökväg angavs" -#: builtin/check-ignore.c:152 +#: builtin/check-ignore.c:163 msgid "--quiet is only valid with a single pathname" msgstr "--quiet kan endast användas med ett enkelt sökvägsnamn" -#: builtin/check-ignore.c:154 +#: builtin/check-ignore.c:165 msgid "cannot have both --quiet and --verbose" msgstr "kan inte använda bÃ¥de --quiet och --verbose" -#: builtin/check-ignore.c:157 +#: builtin/check-ignore.c:168 msgid "--non-matching is only valid with --verbose" msgstr "--non-matching är endast giltig med --verbose" @@ -3106,106 +3285,106 @@ msgstr "git checkout [flaggor] <gren>" msgid "git checkout [options] [<branch>] -- <file>..." msgstr "git checkout [flaggor] [<gren>] -- <fil>..." -#: builtin/checkout.c:117 builtin/checkout.c:150 +#: builtin/checkout.c:114 builtin/checkout.c:147 #, c-format msgid "path '%s' does not have our version" msgstr "sökvägen \"%s\" har inte vÃ¥r version" -#: builtin/checkout.c:119 builtin/checkout.c:152 +#: builtin/checkout.c:116 builtin/checkout.c:149 #, c-format msgid "path '%s' does not have their version" msgstr "sökvägen \"%s\" har inte deras version" -#: builtin/checkout.c:135 +#: builtin/checkout.c:132 #, c-format msgid "path '%s' does not have all necessary versions" msgstr "sökvägen \"%s\" innehÃ¥ller inte alla nödvändiga versioner" -#: builtin/checkout.c:179 +#: builtin/checkout.c:176 #, c-format msgid "path '%s' does not have necessary versions" msgstr "sökvägen \"%s\" innehÃ¥ller inte nödvändiga versioner" -#: builtin/checkout.c:196 +#: builtin/checkout.c:193 #, c-format msgid "path '%s': cannot merge" msgstr "sökväg \"%s\": kan inte slÃ¥ ihop" -#: builtin/checkout.c:213 +#: builtin/checkout.c:210 #, c-format msgid "Unable to add merge result for '%s'" msgstr "Kunde inte lägga till sammanslagningsresultat för \"%s\"" -#: builtin/checkout.c:237 builtin/checkout.c:240 builtin/checkout.c:243 -#: builtin/checkout.c:246 +#: builtin/checkout.c:232 builtin/checkout.c:235 builtin/checkout.c:238 +#: builtin/checkout.c:241 #, c-format msgid "'%s' cannot be used with updating paths" msgstr "\"%s\" kan inte användas vid uppdatering av sökvägar" -#: builtin/checkout.c:249 builtin/checkout.c:252 +#: builtin/checkout.c:244 builtin/checkout.c:247 #, c-format msgid "'%s' cannot be used with %s" msgstr "\"%s\" kan inte användas med %s" -#: builtin/checkout.c:255 +#: builtin/checkout.c:250 #, c-format msgid "Cannot update paths and switch to branch '%s' at the same time." msgstr "Kan inte uppdatera sökvägar och växla till grenen \"%s\" samtidigt." -#: builtin/checkout.c:266 builtin/checkout.c:458 +#: builtin/checkout.c:261 builtin/checkout.c:451 msgid "corrupt index file" msgstr "indexfilen är trasig" -#: builtin/checkout.c:329 builtin/checkout.c:336 +#: builtin/checkout.c:322 builtin/checkout.c:329 #, c-format msgid "path '%s' is unmerged" msgstr "sökvägen \"%s\" har inte slagits ihop" -#: builtin/checkout.c:480 +#: builtin/checkout.c:473 msgid "you need to resolve your current index first" msgstr "du mÃ¥ste lösa ditt befintliga index först" -#: builtin/checkout.c:601 +#: builtin/checkout.c:594 #, c-format msgid "Can not do reflog for '%s'\n" msgstr "Kan inte skapa referenslog för \"%s\"\n" -#: builtin/checkout.c:639 +#: builtin/checkout.c:632 msgid "HEAD is now at" msgstr "HEAD är nu pÃ¥" -#: builtin/checkout.c:646 +#: builtin/checkout.c:639 #, c-format msgid "Reset branch '%s'\n" msgstr "Ã…terställ gren \"%s\"\n" -#: builtin/checkout.c:649 +#: builtin/checkout.c:642 #, c-format msgid "Already on '%s'\n" msgstr "Redan pÃ¥ \"%s\"\n" -#: builtin/checkout.c:653 +#: builtin/checkout.c:646 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "Växlade till och nollställde grenen \"%s\"\n" -#: builtin/checkout.c:655 builtin/checkout.c:997 +#: builtin/checkout.c:648 builtin/checkout.c:1033 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "Växlade till en ny gren \"%s\"\n" -#: builtin/checkout.c:657 +#: builtin/checkout.c:650 #, c-format msgid "Switched to branch '%s'\n" msgstr "Växlade till grenen \"%s\"\n" -#: builtin/checkout.c:713 +#: builtin/checkout.c:706 #, c-format msgid " ... and %d more.\n" msgstr " ... och %d till.\n" #. The singular version -#: builtin/checkout.c:719 +#: builtin/checkout.c:712 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -3228,7 +3407,7 @@ msgstr[1] "" "\n" "%s\n" -#: builtin/checkout.c:737 +#: builtin/checkout.c:730 #, c-format msgid "" "If you want to keep them by creating a new branch, this may be a good time\n" @@ -3243,136 +3422,140 @@ msgstr "" " git branch nytt_grennamn %s\n" "\n" -#: builtin/checkout.c:767 +#: builtin/checkout.c:760 msgid "internal error in revision walk" msgstr "internt fel vid genomgÃ¥ng av revisioner (revision walk)" -#: builtin/checkout.c:771 +#: builtin/checkout.c:764 msgid "Previous HEAD position was" msgstr "Tidigare position för HEAD var" -#: builtin/checkout.c:798 builtin/checkout.c:992 +#: builtin/checkout.c:791 builtin/checkout.c:1028 msgid "You are on a branch yet to be born" msgstr "Du är pÃ¥ en gren som ännu inte är född" -#. case (1) -#: builtin/checkout.c:928 +#: builtin/checkout.c:935 +#, c-format +msgid "only one reference expected, %d given." +msgstr "endast en referens förväntades, %d gavs." + +#: builtin/checkout.c:974 #, c-format msgid "invalid reference: %s" msgstr "felaktig referens: %s" #. case (1): want a tree -#: builtin/checkout.c:967 +#: builtin/checkout.c:1003 #, c-format msgid "reference is not a tree: %s" msgstr "referensen är inte ett träd: %s" -#: builtin/checkout.c:1006 +#: builtin/checkout.c:1042 msgid "paths cannot be used with switching branches" msgstr "sökvägar kan inte användas vid byte av gren" -#: builtin/checkout.c:1009 builtin/checkout.c:1013 +#: builtin/checkout.c:1045 builtin/checkout.c:1049 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "\"%s\" kan inte användas vid byte av gren" -#: builtin/checkout.c:1017 builtin/checkout.c:1020 builtin/checkout.c:1025 -#: builtin/checkout.c:1028 +#: builtin/checkout.c:1053 builtin/checkout.c:1056 builtin/checkout.c:1061 +#: builtin/checkout.c:1064 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "\"%s\" kan inte användas med \"%s\"" -#: builtin/checkout.c:1033 +#: builtin/checkout.c:1069 #, c-format msgid "Cannot switch branch to a non-commit '%s'" msgstr "Kan inte växla gren till icke-incheckningen \"%s\"" -#: builtin/checkout.c:1055 builtin/checkout.c:1057 builtin/clone.c:89 +#: builtin/checkout.c:1091 builtin/checkout.c:1093 builtin/clone.c:88 #: builtin/remote.c:169 builtin/remote.c:171 msgid "branch" msgstr "gren" -#: builtin/checkout.c:1056 +#: builtin/checkout.c:1092 msgid "create and checkout a new branch" msgstr "skapa och checka ut en ny gren" -#: builtin/checkout.c:1058 +#: builtin/checkout.c:1094 msgid "create/reset and checkout a branch" msgstr "skapa/nollställ och checka ut en gren" -#: builtin/checkout.c:1059 +#: builtin/checkout.c:1095 msgid "create reflog for new branch" msgstr "skapa reflogg för ny gren" -#: builtin/checkout.c:1060 +#: builtin/checkout.c:1096 msgid "detach the HEAD at named commit" msgstr "koppla frÃ¥n HEAD vid namngiven incheckning" -#: builtin/checkout.c:1061 +#: builtin/checkout.c:1097 msgid "set upstream info for new branch" msgstr "sätt uppströmsinformation för ny gren" -#: builtin/checkout.c:1063 +#: builtin/checkout.c:1099 msgid "new branch" msgstr "ny gren" -#: builtin/checkout.c:1063 +#: builtin/checkout.c:1099 msgid "new unparented branch" msgstr "ny gren utan förälder" -#: builtin/checkout.c:1064 +#: builtin/checkout.c:1100 msgid "checkout our version for unmerged files" msgstr "checka ut vÃ¥r version för ej sammanslagna filer" -#: builtin/checkout.c:1066 +#: builtin/checkout.c:1102 msgid "checkout their version for unmerged files" msgstr "checka ut deras version för ej sammanslagna filer" -#: builtin/checkout.c:1068 +#: builtin/checkout.c:1104 msgid "force checkout (throw away local modifications)" msgstr "tvinga utcheckning (kasta bort lokala ändringar)" -#: builtin/checkout.c:1069 +#: builtin/checkout.c:1105 msgid "perform a 3-way merge with the new branch" msgstr "utför en 3-vägssammanslagning för den nya grenen" -#: builtin/checkout.c:1070 builtin/merge.c:232 +#: builtin/checkout.c:1106 builtin/merge.c:232 msgid "update ignored files (default)" msgstr "uppdatera ignorerade filer (standard)" -#: builtin/checkout.c:1071 builtin/log.c:1208 parse-options.h:249 +#: builtin/checkout.c:1107 builtin/log.c:1228 parse-options.h:251 msgid "style" msgstr "stil" -#: builtin/checkout.c:1072 +#: builtin/checkout.c:1108 msgid "conflict style (merge or diff3)" msgstr "konfliktstil (merge eller diff3)" -#: builtin/checkout.c:1075 +#: builtin/checkout.c:1111 msgid "do not limit pathspecs to sparse entries only" msgstr "begränsa inte sökvägar till endast glesa poster" -#: builtin/checkout.c:1077 +#: builtin/checkout.c:1113 msgid "second guess 'git checkout no-such-branch'" msgstr "förutspÃ¥ \"git checkout gren-saknas\"" -#: builtin/checkout.c:1101 +#: builtin/checkout.c:1136 msgid "-b, -B and --orphan are mutually exclusive" msgstr "-b, -B och --orphan är ömsesidigt uteslutande" -#: builtin/checkout.c:1118 +#: builtin/checkout.c:1153 msgid "--track needs a branch name" msgstr "--track behöver ett namn pÃ¥ en gren" -#: builtin/checkout.c:1125 +#: builtin/checkout.c:1160 msgid "Missing branch name; try -b" msgstr "Grennamn saknas; försök med -b" -#: builtin/checkout.c:1160 +#: builtin/checkout.c:1197 msgid "invalid path specification" msgstr "felaktig sökvägsangivelse" -#: builtin/checkout.c:1167 +#: builtin/checkout.c:1204 #, c-format msgid "" "Cannot update paths and switch to branch '%s' at the same time.\n" @@ -3381,12 +3564,12 @@ msgstr "" "Kan inte uppdatera sökvägar och växla till grenen \"%s\" samtidigt.\n" "Ville du checka ut \"%s\" som inte kan lösas som en utcheckning?" -#: builtin/checkout.c:1172 +#: builtin/checkout.c:1209 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "git checkout: --detach tar inte en sökväg som argument \"%s\"" -#: builtin/checkout.c:1176 +#: builtin/checkout.c:1213 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." @@ -3394,39 +3577,39 @@ msgstr "" "git checkout: --ours/--theirs, --force och --merge är inkompatibla när\n" "du checkar ut frÃ¥n indexet." -#: builtin/clean.c:25 +#: builtin/clean.c:26 msgid "" "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..." msgstr "" "git clean [-d] [-f] [-i] [-n] [-q] [-e <mönster>] [-x | -X] [--] " "<sökvägar>..." -#: builtin/clean.c:29 +#: builtin/clean.c:30 #, c-format msgid "Removing %s\n" msgstr "Tar bort %s\n" -#: builtin/clean.c:30 +#: builtin/clean.c:31 #, c-format msgid "Would remove %s\n" msgstr "Skulle ta bort %s\n" -#: builtin/clean.c:31 +#: builtin/clean.c:32 #, c-format msgid "Skipping repository %s\n" msgstr "Hoppar över arkivet %s\n" -#: builtin/clean.c:32 +#: builtin/clean.c:33 #, c-format msgid "Would skip repository %s\n" msgstr "Skulle hoppa över arkivet %s\n" -#: builtin/clean.c:33 +#: builtin/clean.c:34 #, c-format msgid "failed to remove %s" msgstr "misslyckades ta bort %s" -#: builtin/clean.c:293 +#: builtin/clean.c:294 msgid "" "Prompt help:\n" "1 - select a numbered item\n" @@ -3438,7 +3621,7 @@ msgstr "" "foo - markera post baserad pÃ¥ unikt prefix\n" " - (tomt) markera ingenting" -#: builtin/clean.c:297 +#: builtin/clean.c:298 msgid "" "Prompt help:\n" "1 - select a single item\n" @@ -3458,35 +3641,35 @@ msgstr "" "* - välj alla poster\n" " - (tomt) avsluta markering" -#: builtin/clean.c:515 +#: builtin/clean.c:516 #, c-format msgid "Huh (%s)?" msgstr "VadÃ¥ (%s)?" -#: builtin/clean.c:658 +#: builtin/clean.c:659 #, c-format msgid "Input ignore patterns>> " msgstr "Ange ignoreringsmönster>>" -#: builtin/clean.c:695 +#: builtin/clean.c:696 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "VARNING: Hittar inte poster som motsvarar: %s" -#: builtin/clean.c:716 +#: builtin/clean.c:717 msgid "Select items to delete" msgstr "Välj poster att ta bort" -#: builtin/clean.c:756 +#: builtin/clean.c:757 #, c-format msgid "remove %s? " msgstr "ta bort %s?" -#: builtin/clean.c:781 +#: builtin/clean.c:782 msgid "Bye." msgstr "Hej dÃ¥." -#: builtin/clean.c:789 +#: builtin/clean.c:790 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -3504,21 +3687,21 @@ msgstr "" "help - denna skärm\n" "? - hjälp för kommandoval" -#: builtin/clean.c:816 +#: builtin/clean.c:817 msgid "*** Commands ***" msgstr "*** Kommandon ***" -#: builtin/clean.c:817 +#: builtin/clean.c:818 msgid "What now" msgstr "Vad nu" -#: builtin/clean.c:825 +#: builtin/clean.c:826 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "Skulle ta bort följande post:" msgstr[1] "Skulle ta bort följande poster:" -#: builtin/clean.c:842 +#: builtin/clean.c:843 msgid "No more files to clean, exiting." msgstr "Inga fler filer att städa, avslutar." @@ -3538,8 +3721,8 @@ msgstr "städa interaktivt" msgid "remove whole directories" msgstr "ta bort hela kataloger" -#: builtin/clean.c:880 builtin/describe.c:420 builtin/grep.c:716 -#: builtin/ls-files.c:493 builtin/name-rev.c:315 builtin/show-ref.c:186 +#: builtin/clean.c:880 builtin/describe.c:420 builtin/grep.c:718 +#: builtin/ls-files.c:483 builtin/name-rev.c:315 builtin/show-ref.c:185 msgid "pattern" msgstr "mönster" @@ -3579,8 +3762,8 @@ msgstr "" msgid "git clone [options] [--] <repo> [<dir>]" msgstr "git clone [flaggor] [--] <arkiv> [<kat>]" -#: builtin/clone.c:64 builtin/fetch.c:82 builtin/merge.c:229 -#: builtin/push.c:462 +#: builtin/clone.c:64 builtin/fetch.c:96 builtin/merge.c:229 +#: builtin/push.c:474 msgid "force progress reporting" msgstr "tvinga förloppsrapportering" @@ -3592,123 +3775,123 @@ msgstr "skapa inte nÃ¥gon utcheckning" msgid "create a bare repository" msgstr "skapa ett naket (\"bare\") arkiv" -#: builtin/clone.c:72 +#: builtin/clone.c:71 msgid "create a mirror repository (implies bare)" msgstr "skapa ett spegelarkiv (implicerar \"bare\")" -#: builtin/clone.c:74 +#: builtin/clone.c:73 msgid "to clone from a local repository" msgstr "för att klona frÃ¥n ett lokalt arkiv" -#: builtin/clone.c:76 +#: builtin/clone.c:75 msgid "don't use local hardlinks, always copy" msgstr "skapa inte lokala hÃ¥rda länkar, kopiera alltid" -#: builtin/clone.c:78 +#: builtin/clone.c:77 msgid "setup as shared repository" msgstr "skapa som ett delat arkiv" -#: builtin/clone.c:80 builtin/clone.c:82 +#: builtin/clone.c:79 builtin/clone.c:81 msgid "initialize submodules in the clone" msgstr "initiera undermoduler i klonen" -#: builtin/clone.c:83 builtin/init-db.c:485 +#: builtin/clone.c:82 builtin/init-db.c:485 msgid "template-directory" msgstr "mallkatalog" -#: builtin/clone.c:84 builtin/init-db.c:486 +#: builtin/clone.c:83 builtin/init-db.c:486 msgid "directory from which templates will be used" msgstr "katalog att använda mallar frÃ¥n" -#: builtin/clone.c:86 +#: builtin/clone.c:85 msgid "reference repository" msgstr "referensarkiv" -#: builtin/clone.c:87 builtin/column.c:26 builtin/merge-file.c:44 +#: builtin/clone.c:86 builtin/column.c:26 builtin/merge-file.c:44 msgid "name" msgstr "namn" -#: builtin/clone.c:88 +#: builtin/clone.c:87 msgid "use <name> instead of 'origin' to track upstream" msgstr "använd <namn> istället för \"origin\" för att spÃ¥ra uppströms" -#: builtin/clone.c:90 +#: builtin/clone.c:89 msgid "checkout <branch> instead of the remote's HEAD" msgstr "checka ut <gren> istället för fjärrens HEAD" -#: builtin/clone.c:92 +#: builtin/clone.c:91 msgid "path to git-upload-pack on the remote" msgstr "sökväg till git-upload-pack pÃ¥ fjärren" -#: builtin/clone.c:93 builtin/fetch.c:83 builtin/grep.c:661 +#: builtin/clone.c:92 builtin/fetch.c:97 builtin/grep.c:663 msgid "depth" msgstr "djup" -#: builtin/clone.c:94 +#: builtin/clone.c:93 msgid "create a shallow clone of that depth" msgstr "skapa en grund klon pÃ¥ detta djup" -#: builtin/clone.c:96 +#: builtin/clone.c:95 msgid "clone only one branch, HEAD or --branch" msgstr "klona endast en gren, HEAD eller --branch" -#: builtin/clone.c:97 builtin/init-db.c:494 +#: builtin/clone.c:96 builtin/init-db.c:494 msgid "gitdir" msgstr "gitkat" -#: builtin/clone.c:98 builtin/init-db.c:495 +#: builtin/clone.c:97 builtin/init-db.c:495 msgid "separate git dir from working tree" msgstr "separera gitkatalogen frÃ¥n arbetskatalogen" -#: builtin/clone.c:99 +#: builtin/clone.c:98 msgid "key=value" msgstr "nyckel=värde" -#: builtin/clone.c:100 +#: builtin/clone.c:99 msgid "set config inside the new repository" msgstr "ställ in konfiguration i det nya arkivet" -#: builtin/clone.c:253 +#: builtin/clone.c:252 #, c-format msgid "reference repository '%s' is not a local repository." msgstr "referensarkivet \"%s\" är inte ett lokalt arkiv." -#: builtin/clone.c:316 +#: builtin/clone.c:315 #, c-format msgid "failed to create directory '%s'" msgstr "misslyckades skapa katalogen \"%s\"" -#: builtin/clone.c:318 builtin/diff.c:77 +#: builtin/clone.c:317 builtin/diff.c:77 #, c-format msgid "failed to stat '%s'" msgstr "misslyckades ta status pÃ¥ \"%s\"" -#: builtin/clone.c:320 +#: builtin/clone.c:319 #, c-format msgid "%s exists and is not a directory" msgstr "%s finns och är ingen katalog" -#: builtin/clone.c:334 +#: builtin/clone.c:333 #, c-format msgid "failed to stat %s\n" msgstr "misslyckades ta status pÃ¥ %s\n" -#: builtin/clone.c:356 +#: builtin/clone.c:355 #, c-format msgid "failed to create link '%s'" msgstr "misslyckades skapa länken \"%s\"" -#: builtin/clone.c:360 +#: builtin/clone.c:359 #, c-format msgid "failed to copy file to '%s'" msgstr "misslyckades kopiera filen till \"%s\"" -#: builtin/clone.c:383 +#: builtin/clone.c:382 builtin/clone.c:559 #, c-format msgid "done.\n" msgstr "klart.\n" -#: builtin/clone.c:396 +#: builtin/clone.c:395 msgid "" "Clone succeeded, but checkout failed.\n" "You can inspect what was checked out with 'git status'\n" @@ -3718,105 +3901,100 @@ msgstr "" "Du kan inspektera det som checkades ut med \"git status\"\n" "och försöka checka ut igen med \"git checkout -f HEAD\"\n" -#: builtin/clone.c:475 +#: builtin/clone.c:474 #, c-format msgid "Could not find remote branch %s to clone." msgstr "Kunde inte hitta fjärrgrenen %s för att klona." -#: builtin/clone.c:555 +#: builtin/clone.c:554 #, c-format msgid "Checking connectivity... " msgstr "Kontrollerar anslutning..." -#: builtin/clone.c:558 +#: builtin/clone.c:557 msgid "remote did not send all necessary objects" msgstr "fjärren sände inte alla nödvändiga objekt" -#: builtin/clone.c:560 -#, c-format -msgid "done\n" -msgstr "klart\n" - -#: builtin/clone.c:621 +#: builtin/clone.c:620 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "" "HEAD hos fjärren pekar pÃ¥ en obefintlig referens, kan inte checka ut.\n" -#: builtin/clone.c:652 +#: builtin/clone.c:651 msgid "unable to checkout working tree" msgstr "kunde inte checka ut arbetskatalogen" -#: builtin/clone.c:760 +#: builtin/clone.c:759 msgid "Too many arguments." msgstr "För mÃ¥nga argument." -#: builtin/clone.c:764 +#: builtin/clone.c:763 msgid "You must specify a repository to clone." msgstr "Du mÃ¥ste ange ett arkiv att klona." -#: builtin/clone.c:775 +#: builtin/clone.c:774 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "flaggorna --bare och --origin %s är inkompatibla." -#: builtin/clone.c:778 +#: builtin/clone.c:777 msgid "--bare and --separate-git-dir are incompatible." msgstr "flaggorna --bare och --separate-git-dir är inkompatibla." -#: builtin/clone.c:791 +#: builtin/clone.c:790 #, c-format msgid "repository '%s' does not exist" msgstr "arkivet \"%s\" finns inte" -#: builtin/clone.c:796 +#: builtin/clone.c:795 msgid "--depth is ignored in local clones; use file:// instead." msgstr "--depth ignoreras i lokala kloningar; använd file:// istället" -#: builtin/clone.c:798 +#: builtin/clone.c:797 msgid "--local is ignored" msgstr "--local ignoreras" -#: builtin/clone.c:808 +#: builtin/clone.c:807 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "destinationssökvägen \"%s\" finns redan och är inte en tom katalog." -#: builtin/clone.c:818 +#: builtin/clone.c:817 #, c-format msgid "working tree '%s' already exists." msgstr "arbetsträdet \"%s\" finns redan." -#: builtin/clone.c:831 builtin/clone.c:843 +#: builtin/clone.c:830 builtin/clone.c:842 #, c-format msgid "could not create leading directories of '%s'" msgstr "kunde inte skapa inledande kataloger för \"%s\"" -#: builtin/clone.c:834 +#: builtin/clone.c:833 #, c-format msgid "could not create work tree dir '%s'." msgstr "kunde inte skapa arbetskatalogen \"%s\"" -#: builtin/clone.c:853 +#: builtin/clone.c:852 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "Klonar till ett naket arkiv \"%s\"...\n" -#: builtin/clone.c:855 +#: builtin/clone.c:854 #, c-format msgid "Cloning into '%s'...\n" msgstr "Klonar till \"%s\"...\n" -#: builtin/clone.c:890 +#: builtin/clone.c:888 #, c-format msgid "Don't know how to clone %s" msgstr "Vet inte hur man klonar %s" -#: builtin/clone.c:942 +#: builtin/clone.c:939 builtin/clone.c:947 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "Fjärrgrenen %s hittades inte i uppströmsarkivet %s" -#: builtin/clone.c:949 +#: builtin/clone.c:950 msgid "You appear to have cloned an empty repository." msgstr "Du verkar ha klonat ett tomt arkiv." @@ -3852,15 +4030,15 @@ msgstr "Spaltfyllnad mellan spalter" msgid "--command must be the first argument" msgstr "--command mÃ¥ste vara första argument" -#: builtin/commit.c:35 +#: builtin/commit.c:36 msgid "git commit [options] [--] <pathspec>..." msgstr "git commit [flaggor] [--] <sökväg>..." -#: builtin/commit.c:40 +#: builtin/commit.c:41 msgid "git status [options] [--] <pathspec>..." msgstr "git status [flaggor] [--] <sökväg>..." -#: builtin/commit.c:45 +#: builtin/commit.c:46 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -3885,7 +4063,7 @@ msgstr "" "\n" " git commit --amend --reset-author\n" -#: builtin/commit.c:57 +#: builtin/commit.c:58 msgid "" "You asked to amend the most recent commit, but doing so would make\n" "it empty. You can repeat your command with --allow-empty, or you can\n" @@ -3895,7 +4073,7 @@ msgstr "" "blir den tom. Du kan köra kommandot pÃ¥ nytt med --allow-empty, eller\n" "sÃ¥ kan du ta bort incheckningen helt med \"git reset HEAD^\".\n" -#: builtin/commit.c:62 +#: builtin/commit.c:63 msgid "" "The previous cherry-pick is now empty, possibly due to conflict resolution.\n" "If you wish to commit it anyway, use:\n" @@ -3909,11 +4087,11 @@ msgstr "" " git commit --allow-empty\n" "\n" -#: builtin/commit.c:69 +#: builtin/commit.c:70 msgid "Otherwise, please use 'git reset'\n" msgstr "Använd annars \"git reset\"\n" -#: builtin/commit.c:72 +#: builtin/commit.c:73 msgid "" "If you wish to skip this commit, use:\n" "\n" @@ -3929,93 +4107,93 @@ msgstr "" "\"git cherry-pick --continue\" kommer därefter att Ã¥teruppta\n" "cherry-pick för Ã¥terstÃ¥ende incheckningar.\n" -#: builtin/commit.c:279 +#: builtin/commit.c:287 msgid "failed to unpack HEAD tree object" msgstr "misslyckades packa upp HEAD:s trädobjekt" -#: builtin/commit.c:321 +#: builtin/commit.c:329 msgid "unable to create temporary index" msgstr "kunde inte skapa temporär indexfil" -#: builtin/commit.c:327 +#: builtin/commit.c:335 msgid "interactive add failed" msgstr "interaktiv tilläggning misslyckades" -#: builtin/commit.c:360 builtin/commit.c:381 builtin/commit.c:431 +#: builtin/commit.c:368 builtin/commit.c:389 builtin/commit.c:439 msgid "unable to write new_index file" msgstr "kunde inte skriva filen new_index" -#: builtin/commit.c:412 +#: builtin/commit.c:420 msgid "cannot do a partial commit during a merge." msgstr "kan inte utföra en delvis incheckning under en sammanslagning." -#: builtin/commit.c:414 +#: builtin/commit.c:422 msgid "cannot do a partial commit during a cherry-pick." msgstr "kan inte utföra en delvis incheckning under en cherry-pick." -#: builtin/commit.c:424 +#: builtin/commit.c:432 msgid "cannot read the index" msgstr "kan inte läsa indexet" -#: builtin/commit.c:444 +#: builtin/commit.c:452 msgid "unable to write temporary index file" msgstr "kunde inte skriva temporär indexfil" -#: builtin/commit.c:535 builtin/commit.c:541 +#: builtin/commit.c:543 builtin/commit.c:549 #, c-format msgid "invalid commit: %s" msgstr "felaktig incheckning: %s" -#: builtin/commit.c:563 +#: builtin/commit.c:571 msgid "malformed --author parameter" msgstr "felformad \"--author\"-flagga" -#: builtin/commit.c:583 +#: builtin/commit.c:591 #, c-format msgid "Malformed ident string: '%s'" msgstr "Felaktig indragningssträng: \"%s\"" -#: builtin/commit.c:621 builtin/commit.c:654 builtin/commit.c:982 +#: builtin/commit.c:630 builtin/commit.c:663 builtin/commit.c:1007 #, c-format msgid "could not lookup commit %s" msgstr "kunde inte slÃ¥ upp incheckningen %s" -#: builtin/commit.c:633 builtin/shortlog.c:271 +#: builtin/commit.c:642 builtin/shortlog.c:273 #, c-format msgid "(reading log message from standard input)\n" msgstr "(läser loggmeddelande frÃ¥n standard in)\n" -#: builtin/commit.c:635 +#: builtin/commit.c:644 msgid "could not read log from standard input" msgstr "kunde inte läsa logg frÃ¥n standard in" -#: builtin/commit.c:639 +#: builtin/commit.c:648 #, c-format msgid "could not read log file '%s'" msgstr "kunde inte läsa loggfilen \"%s\"" -#: builtin/commit.c:645 +#: builtin/commit.c:654 msgid "commit has empty message" msgstr "incheckningen har ett tomt meddelande" -#: builtin/commit.c:661 +#: builtin/commit.c:670 msgid "could not read MERGE_MSG" msgstr "kunde inte läsa MERGE_MSG" -#: builtin/commit.c:665 +#: builtin/commit.c:674 msgid "could not read SQUASH_MSG" msgstr "kunde inte läsa SQUASH_MSG" -#: builtin/commit.c:669 +#: builtin/commit.c:678 #, c-format msgid "could not read '%s'" msgstr "kunde inte läsa \"%s\"" -#: builtin/commit.c:730 +#: builtin/commit.c:749 msgid "could not write commit template" msgstr "kunde inte skriva incheckningsmall" -#: builtin/commit.c:741 +#: builtin/commit.c:760 #, c-format msgid "" "\n" @@ -4030,7 +4208,7 @@ msgstr "" "\t%s\n" "och försöker igen.\n" -#: builtin/commit.c:746 +#: builtin/commit.c:765 #, c-format msgid "" "\n" @@ -4045,7 +4223,7 @@ msgstr "" "\t%s\n" "och försöker igen.\n" -#: builtin/commit.c:758 +#: builtin/commit.c:777 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -4055,7 +4233,7 @@ msgstr "" "med \"%c\" kommer ignoreras, och ett tomt meddelande avbryter " "incheckningen.\n" -#: builtin/commit.c:763 +#: builtin/commit.c:782 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -4066,139 +4244,139 @@ msgstr "" "med \"%c\" kommer behÃ¥llas; du kan själv ta bort dem om du vill.\n" "Ett tomt meddelande avbryter incheckningen.\n" -#: builtin/commit.c:776 +#: builtin/commit.c:795 #, c-format msgid "%sAuthor: %s" msgstr "%sFörfattare: %s" -#: builtin/commit.c:783 +#: builtin/commit.c:802 #, c-format msgid "%sCommitter: %s" msgstr "%sIncheckare: %s" -#: builtin/commit.c:803 +#: builtin/commit.c:822 msgid "Cannot read index" msgstr "Kan inte läsa indexet" -#: builtin/commit.c:845 +#: builtin/commit.c:865 msgid "Error building trees" msgstr "Fel vid byggande av träd" -#: builtin/commit.c:860 builtin/tag.c:359 +#: builtin/commit.c:880 builtin/tag.c:359 #, c-format msgid "Please supply the message using either -m or -F option.\n" msgstr "Ange meddelandet en av flaggorna -m eller -F.\n" -#: builtin/commit.c:957 +#: builtin/commit.c:982 #, c-format msgid "No existing author found with '%s'" msgstr "Hittade ingen befintlig författare med \"%s\"" -#: builtin/commit.c:972 builtin/commit.c:1208 +#: builtin/commit.c:997 builtin/commit.c:1237 #, c-format msgid "Invalid untracked files mode '%s'" msgstr "Ogiltigt läge för ospÃ¥rade filer: \"%s\"" -#: builtin/commit.c:1009 +#: builtin/commit.c:1034 msgid "--long and -z are incompatible" msgstr "--long och -z är inkompatibla" -#: builtin/commit.c:1039 +#: builtin/commit.c:1064 msgid "Using both --reset-author and --author does not make sense" msgstr "Kan inte använda bÃ¥de --reset-author och --author" -#: builtin/commit.c:1050 +#: builtin/commit.c:1075 msgid "You have nothing to amend." msgstr "Du har inget att utöka." -#: builtin/commit.c:1053 +#: builtin/commit.c:1078 msgid "You are in the middle of a merge -- cannot amend." msgstr "Du är i mitten av en sammanslagning -- kan inte utöka." -#: builtin/commit.c:1055 +#: builtin/commit.c:1080 msgid "You are in the middle of a cherry-pick -- cannot amend." msgstr "Du är i mitten av en cherry-pick -- kan inte utöka." -#: builtin/commit.c:1058 +#: builtin/commit.c:1083 msgid "Options --squash and --fixup cannot be used together" msgstr "Flaggorna --squash och --fixup kan inte användas samtidigt" -#: builtin/commit.c:1068 +#: builtin/commit.c:1093 msgid "Only one of -c/-C/-F/--fixup can be used." msgstr "Endast en av -c/-C/-F/--fixup kan användas." -#: builtin/commit.c:1070 +#: builtin/commit.c:1095 msgid "Option -m cannot be combined with -c/-C/-F/--fixup." msgstr "Flaggan -m kan inte kombineras med -c/-C/-F/--fixup." -#: builtin/commit.c:1078 +#: builtin/commit.c:1103 msgid "--reset-author can be used only with -C, -c or --amend." msgstr "--reset-author kan endast användas med -C, -c eller --amend." -#: builtin/commit.c:1095 +#: builtin/commit.c:1120 msgid "Only one of --include/--only/--all/--interactive/--patch can be used." msgstr "" "Endast en av --include/--only/--all/--interactive/--patch kan användas." -#: builtin/commit.c:1097 +#: builtin/commit.c:1122 msgid "No paths with --include/--only does not make sense." msgstr "Du mÃ¥ste ange sökvägar tillsammans med --include/--only." -#: builtin/commit.c:1099 +#: builtin/commit.c:1124 msgid "Clever... amending the last one with dirty index." msgstr "Smart... utöka den senaste med smutsigt index." -#: builtin/commit.c:1101 +#: builtin/commit.c:1126 msgid "Explicit paths specified without -i nor -o; assuming --only paths..." msgstr "Explicita sökvägar angavs utan -i eller -o; antar --only sökvägar..." -#: builtin/commit.c:1111 builtin/tag.c:575 +#: builtin/commit.c:1136 builtin/tag.c:572 #, c-format msgid "Invalid cleanup mode %s" msgstr "Felaktigt städningsläge %s" -#: builtin/commit.c:1116 +#: builtin/commit.c:1141 msgid "Paths with -a does not make sense." msgstr "Kan inte ange sökvägar med -a." -#: builtin/commit.c:1222 builtin/commit.c:1455 +#: builtin/commit.c:1251 builtin/commit.c:1482 msgid "show status concisely" msgstr "visa koncis status" -#: builtin/commit.c:1224 builtin/commit.c:1457 +#: builtin/commit.c:1253 builtin/commit.c:1484 msgid "show branch information" msgstr "visa information om gren" -#: builtin/commit.c:1226 builtin/commit.c:1459 builtin/push.c:452 +#: builtin/commit.c:1255 builtin/commit.c:1486 builtin/push.c:460 msgid "machine-readable output" msgstr "maskinläsbar utdata" -#: builtin/commit.c:1229 builtin/commit.c:1461 +#: builtin/commit.c:1258 builtin/commit.c:1488 msgid "show status in long format (default)" msgstr "visa status i lÃ¥ngt format (standard)" -#: builtin/commit.c:1232 builtin/commit.c:1464 +#: builtin/commit.c:1261 builtin/commit.c:1491 msgid "terminate entries with NUL" msgstr "terminera poster med NUL" -#: builtin/commit.c:1234 builtin/commit.c:1467 builtin/fast-export.c:667 -#: builtin/fast-export.c:670 builtin/tag.c:459 +#: builtin/commit.c:1263 builtin/commit.c:1494 builtin/fast-export.c:674 +#: builtin/fast-export.c:677 builtin/tag.c:459 msgid "mode" msgstr "läge" -#: builtin/commit.c:1235 builtin/commit.c:1467 +#: builtin/commit.c:1264 builtin/commit.c:1494 msgid "show untracked files, optional modes: all, normal, no. (Default: all)" msgstr "visa ospÃ¥rade filer, valfria lägen: alla, normal, no. (Standard: all)" -#: builtin/commit.c:1238 +#: builtin/commit.c:1267 msgid "show ignored files" msgstr "visa ignorerade filer" -#: builtin/commit.c:1239 parse-options.h:154 +#: builtin/commit.c:1268 parse-options.h:156 msgid "when" msgstr "när" -#: builtin/commit.c:1240 +#: builtin/commit.c:1269 msgid "" "ignore changes to submodules, optional when: all, dirty, untracked. " "(Default: all)" @@ -4206,217 +4384,217 @@ msgstr "" "ignorera ändringar i undermoduler, valfritt när: all, dirty, untracked. " "(Default: all)" -#: builtin/commit.c:1242 +#: builtin/commit.c:1271 msgid "list untracked files in columns" msgstr "visa ospÃ¥rade filer i spalter" -#: builtin/commit.c:1313 +#: builtin/commit.c:1340 msgid "couldn't look up newly created commit" msgstr "kunde inte slÃ¥ upp en precis skapad incheckning" -#: builtin/commit.c:1315 +#: builtin/commit.c:1342 msgid "could not parse newly created commit" msgstr "kunde inte tolka en precis skapad incheckning" -#: builtin/commit.c:1356 +#: builtin/commit.c:1383 msgid "detached HEAD" msgstr "frÃ¥nkopplad HEAD" -#: builtin/commit.c:1358 +#: builtin/commit.c:1385 msgid " (root-commit)" msgstr " (rotincheckning)" -#: builtin/commit.c:1425 +#: builtin/commit.c:1452 msgid "suppress summary after successful commit" msgstr "undertryck sammanfattning efter framgÃ¥ngsrik incheckning" -#: builtin/commit.c:1426 +#: builtin/commit.c:1453 msgid "show diff in commit message template" msgstr "visa diff i mallen för incheckningsmeddelandet" -#: builtin/commit.c:1428 +#: builtin/commit.c:1455 msgid "Commit message options" msgstr "Alternativ för incheckningsmeddelande" -#: builtin/commit.c:1429 builtin/tag.c:457 +#: builtin/commit.c:1456 builtin/tag.c:457 msgid "read message from file" msgstr "läs meddelande frÃ¥n fil" -#: builtin/commit.c:1430 +#: builtin/commit.c:1457 msgid "author" msgstr "författare" -#: builtin/commit.c:1430 +#: builtin/commit.c:1457 msgid "override author for commit" msgstr "överstyr författare för incheckningen" -#: builtin/commit.c:1431 builtin/gc.c:178 +#: builtin/commit.c:1458 builtin/gc.c:260 msgid "date" msgstr "datum" -#: builtin/commit.c:1431 +#: builtin/commit.c:1458 msgid "override date for commit" msgstr "överstyr datum för inchecknignen" -#: builtin/commit.c:1432 builtin/merge.c:223 builtin/notes.c:405 +#: builtin/commit.c:1459 builtin/merge.c:223 builtin/notes.c:405 #: builtin/notes.c:562 builtin/tag.c:455 msgid "message" msgstr "meddelande" -#: builtin/commit.c:1432 +#: builtin/commit.c:1459 msgid "commit message" msgstr "incheckningsmeddelande" -#: builtin/commit.c:1433 +#: builtin/commit.c:1460 msgid "reuse and edit message from specified commit" msgstr "Ã¥teranvänd och redigera meddelande frÃ¥n angiven incheckning" -#: builtin/commit.c:1434 +#: builtin/commit.c:1461 msgid "reuse message from specified commit" msgstr "Ã¥teranvänd meddelande frÃ¥n angiven incheckning" -#: builtin/commit.c:1435 +#: builtin/commit.c:1462 msgid "use autosquash formatted message to fixup specified commit" msgstr "" "använd autosquash-formaterat meddelande för att fixa angiven incheckning" -#: builtin/commit.c:1436 +#: builtin/commit.c:1463 msgid "use autosquash formatted message to squash specified commit" msgstr "" "använd autosquash-formaterat meddelande för att slÃ¥ ihop med angiven " "incheckning" -#: builtin/commit.c:1437 +#: builtin/commit.c:1464 msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "jag är nu författare av incheckningen (används med -C/-c/--amend)" -#: builtin/commit.c:1438 builtin/log.c:1160 builtin/revert.c:111 +#: builtin/commit.c:1465 builtin/log.c:1180 builtin/revert.c:86 msgid "add Signed-off-by:" msgstr "lägg till Signed-off-by:" -#: builtin/commit.c:1439 +#: builtin/commit.c:1466 msgid "use specified template file" msgstr "använd angiven mallfil" -#: builtin/commit.c:1440 +#: builtin/commit.c:1467 msgid "force edit of commit" msgstr "tvinga redigering av incheckning" -#: builtin/commit.c:1441 +#: builtin/commit.c:1468 msgid "default" msgstr "standard" -#: builtin/commit.c:1441 builtin/tag.c:460 +#: builtin/commit.c:1468 builtin/tag.c:460 msgid "how to strip spaces and #comments from message" msgstr "hur blanksteg och #kommentarer skall tas bort frÃ¥n meddelande" -#: builtin/commit.c:1442 +#: builtin/commit.c:1469 msgid "include status in commit message template" msgstr "inkludera status i mallen för incheckningsmeddelandet" -#: builtin/commit.c:1443 builtin/merge.c:230 builtin/tag.c:461 +#: builtin/commit.c:1470 builtin/merge.c:230 builtin/tag.c:461 msgid "key id" msgstr "nyckel-id" -#: builtin/commit.c:1444 builtin/merge.c:231 +#: builtin/commit.c:1471 builtin/merge.c:231 msgid "GPG sign commit" msgstr "GPG-signera incheckning" #. end commit message options -#: builtin/commit.c:1447 +#: builtin/commit.c:1474 msgid "Commit contents options" msgstr "Alternativ för incheckningens innehÃ¥ll" -#: builtin/commit.c:1448 +#: builtin/commit.c:1475 msgid "commit all changed files" msgstr "checka in alla ändrade filer" -#: builtin/commit.c:1449 +#: builtin/commit.c:1476 msgid "add specified files to index for commit" msgstr "lägg till angivna filer till indexet för incheckning" -#: builtin/commit.c:1450 +#: builtin/commit.c:1477 msgid "interactively add files" msgstr "lägg till filer interaktivt" -#: builtin/commit.c:1451 +#: builtin/commit.c:1478 msgid "interactively add changes" msgstr "lägg till ändringar interaktivt" -#: builtin/commit.c:1452 +#: builtin/commit.c:1479 msgid "commit only specified files" msgstr "checka endast in angivna filer" -#: builtin/commit.c:1453 +#: builtin/commit.c:1480 msgid "bypass pre-commit hook" msgstr "förbigÃ¥ pre-commit-krok" -#: builtin/commit.c:1454 +#: builtin/commit.c:1481 msgid "show what would be committed" msgstr "visa vad som skulle checkas in" -#: builtin/commit.c:1465 +#: builtin/commit.c:1492 msgid "amend previous commit" msgstr "lägg till föregÃ¥ende incheckning" -#: builtin/commit.c:1466 +#: builtin/commit.c:1493 msgid "bypass post-rewrite hook" msgstr "förbigÃ¥ post-rewrite-krok" -#: builtin/commit.c:1471 +#: builtin/commit.c:1498 msgid "ok to record an empty change" msgstr "ok att registrera en tom ändring" -#: builtin/commit.c:1474 +#: builtin/commit.c:1500 msgid "ok to record a change with an empty message" msgstr "ok att registrera en ändring med tomt meddelande" -#: builtin/commit.c:1507 +#: builtin/commit.c:1529 msgid "could not parse HEAD commit" msgstr "kunde inte tolka HEAD:s incheckning" -#: builtin/commit.c:1545 builtin/merge.c:525 +#: builtin/commit.c:1567 builtin/merge.c:525 #, c-format msgid "could not open '%s' for reading" msgstr "kunde inte öppna \"%s\" för läsning" -#: builtin/commit.c:1552 +#: builtin/commit.c:1574 #, c-format msgid "Corrupt MERGE_HEAD file (%s)" msgstr "Trasig MERGE_HEAD-fil (%s)" -#: builtin/commit.c:1559 +#: builtin/commit.c:1581 msgid "could not read MERGE_MODE" msgstr "kunde inte läsa MERGE_MODE" -#: builtin/commit.c:1578 +#: builtin/commit.c:1600 #, c-format msgid "could not read commit message: %s" msgstr "kunde inte läsa incheckningsmeddelande: %s" -#: builtin/commit.c:1592 +#: builtin/commit.c:1614 #, c-format msgid "Aborting commit; you did not edit the message.\n" msgstr "Avbryter incheckning; meddelandet inte redigerat.\n" -#: builtin/commit.c:1597 +#: builtin/commit.c:1619 #, c-format msgid "Aborting commit due to empty commit message.\n" msgstr "Avbryter pÃ¥ grund av tomt incheckningsmeddelande.\n" -#: builtin/commit.c:1612 builtin/merge.c:861 builtin/merge.c:886 +#: builtin/commit.c:1634 builtin/merge.c:861 builtin/merge.c:886 msgid "failed to write commit object" msgstr "kunde inte skriva incheckningsobjekt" -#: builtin/commit.c:1633 +#: builtin/commit.c:1655 msgid "cannot lock HEAD ref" msgstr "kunde inte lÃ¥sa HEAD-referens" -#: builtin/commit.c:1637 +#: builtin/commit.c:1659 msgid "cannot update HEAD ref" msgstr "kunde inte uppdatera HEAD-referens" -#: builtin/commit.c:1648 +#: builtin/commit.c:1670 msgid "" "Repository has been updated, but unable to write\n" "new_index file. Check that disk is not full or quota is\n" @@ -4427,127 +4605,131 @@ msgstr "" "att kvoten inte har överskridits, och kör sedan\n" "\"git reset HEAD\" för att Ã¥terställa." -#: builtin/config.c:7 +#: builtin/config.c:8 msgid "git config [options]" msgstr "git config [flaggor]" -#: builtin/config.c:52 +#: builtin/config.c:54 msgid "Config file location" msgstr "Konfigurationsfilens plats" -#: builtin/config.c:53 +#: builtin/config.c:55 msgid "use global config file" msgstr "använd global konfigurationsfil" -#: builtin/config.c:54 +#: builtin/config.c:56 msgid "use system config file" msgstr "använd systemets konfigurationsfil" -#: builtin/config.c:55 +#: builtin/config.c:57 msgid "use repository config file" msgstr "använd arkivets konfigurationsfil" -#: builtin/config.c:56 +#: builtin/config.c:58 msgid "use given config file" msgstr "använd angiven konfigurationsil" -#: builtin/config.c:57 +#: builtin/config.c:59 msgid "blob-id" msgstr "blob-id" -#: builtin/config.c:57 +#: builtin/config.c:59 msgid "read config from given blob object" msgstr "läs konfiguration frÃ¥n givet blob-objekt" -#: builtin/config.c:58 +#: builtin/config.c:60 msgid "Action" msgstr "Ã…tgärd" -#: builtin/config.c:59 +#: builtin/config.c:61 msgid "get value: name [value-regex]" msgstr "hämta värde: namn [värde-reguttr]" -#: builtin/config.c:60 +#: builtin/config.c:62 msgid "get all values: key [value-regex]" msgstr "hämta alla värden: nyckel [värde-reguttr]" -#: builtin/config.c:61 +#: builtin/config.c:63 msgid "get values for regexp: name-regex [value-regex]" msgstr "hämta värden för reguttr: namn-reguttr [värde-reguttr]" -#: builtin/config.c:62 +#: builtin/config.c:64 +msgid "get value specific for the URL: section[.var] URL" +msgstr "hämta värde specifikt URL:en: sektion[.var] URL" + +#: builtin/config.c:65 msgid "replace all matching variables: name value [value_regex]" msgstr "ersätt alla motsvarande variabler: namn värde [värde-reguttr]" -#: builtin/config.c:63 +#: builtin/config.c:66 msgid "add a new variable: name value" msgstr "lägg till en ny variabel: namn värde" -#: builtin/config.c:64 +#: builtin/config.c:67 msgid "remove a variable: name [value-regex]" msgstr "ta bort en variabel: namn [värde-reguttr]" -#: builtin/config.c:65 +#: builtin/config.c:68 msgid "remove all matches: name [value-regex]" msgstr "ta bort alla träffar: namn [värde-reguttr]" -#: builtin/config.c:66 +#: builtin/config.c:69 msgid "rename section: old-name new-name" msgstr "byt namn pÃ¥ sektion: gammalt-namn nytt-namn" -#: builtin/config.c:67 +#: builtin/config.c:70 msgid "remove a section: name" msgstr "ta bort en sektion: namn" -#: builtin/config.c:68 +#: builtin/config.c:71 msgid "list all" msgstr "visa alla" -#: builtin/config.c:69 +#: builtin/config.c:72 msgid "open an editor" msgstr "öppna textredigeringsprogram" -#: builtin/config.c:70 builtin/config.c:71 +#: builtin/config.c:73 builtin/config.c:74 msgid "slot" msgstr "plats" -#: builtin/config.c:70 +#: builtin/config.c:73 msgid "find the color configured: [default]" msgstr "hitta den inställda färgen: [default]" -#: builtin/config.c:71 +#: builtin/config.c:74 msgid "find the color setting: [stdout-is-tty]" msgstr "hitta färginställningen: [stdout-is-tty]" -#: builtin/config.c:72 +#: builtin/config.c:75 msgid "Type" msgstr "Typ" -#: builtin/config.c:73 +#: builtin/config.c:76 msgid "value is \"true\" or \"false\"" msgstr "värdet är \"true\" eller \"false\"" -#: builtin/config.c:74 +#: builtin/config.c:77 msgid "value is decimal number" msgstr "värdet är ett decimalt tal" -#: builtin/config.c:75 +#: builtin/config.c:78 msgid "value is --bool or --int" msgstr "värdet är --bool eller --int" -#: builtin/config.c:76 +#: builtin/config.c:79 msgid "value is a path (file or directory name)" msgstr "värdet är en sökväg (fil- eller katalognamn)" -#: builtin/config.c:77 +#: builtin/config.c:80 msgid "Other" msgstr "Andra" -#: builtin/config.c:78 +#: builtin/config.c:81 msgid "terminate values with NUL byte" msgstr "terminera värden med NUL-byte" -#: builtin/config.c:79 +#: builtin/config.c:82 msgid "respect include directives on lookup" msgstr "respektera inkluderingsdirektiv vid uppslag" @@ -4732,39 +4914,39 @@ msgstr "ej hanterat objekt \"%s\" angavs." msgid "git fast-export [rev-list-opts]" msgstr "git fast-export [rev-list-flaggor]" -#: builtin/fast-export.c:666 +#: builtin/fast-export.c:673 msgid "show progress after <n> objects" msgstr "visa förlopp efter <n> objekt" -#: builtin/fast-export.c:668 +#: builtin/fast-export.c:675 msgid "select handling of signed tags" msgstr "välj hantering av signerade taggar" -#: builtin/fast-export.c:671 +#: builtin/fast-export.c:678 msgid "select handling of tags that tag filtered objects" msgstr "välj hantering av taggar som har taggfiltrerade objekt" -#: builtin/fast-export.c:674 +#: builtin/fast-export.c:681 msgid "Dump marks to this file" msgstr "Dump märken till filen" -#: builtin/fast-export.c:676 +#: builtin/fast-export.c:683 msgid "Import marks from this file" msgstr "Importera märken frÃ¥n filen" -#: builtin/fast-export.c:678 +#: builtin/fast-export.c:685 msgid "Fake a tagger when tags lack one" msgstr "Fejka taggare när taggen saknar en" -#: builtin/fast-export.c:680 +#: builtin/fast-export.c:687 msgid "Output full tree for each commit" msgstr "Skriv ut hela trädet för varje incheckning" -#: builtin/fast-export.c:682 +#: builtin/fast-export.c:689 msgid "Use the done feature to terminate the stream" msgstr "Använd done-funktionen för att avsluta strömmen" -#: builtin/fast-export.c:683 +#: builtin/fast-export.c:690 msgid "Skip output of blob data" msgstr "Hoppa över skrivning av blob-data" @@ -4784,144 +4966,144 @@ msgstr "git fetch --multiple [<flaggor>] [(<arkiv> | <grupp>)...]" msgid "git fetch --all [<options>]" msgstr "git fetch --all [<flaggor>]" -#: builtin/fetch.c:60 +#: builtin/fetch.c:74 msgid "fetch from all remotes" msgstr "hämta frÃ¥n alla fjärrar" -#: builtin/fetch.c:62 +#: builtin/fetch.c:76 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "lägg till i .git/FETCH_HEAD istället för att skriva över" -#: builtin/fetch.c:64 +#: builtin/fetch.c:78 msgid "path to upload pack on remote end" msgstr "sökväg till upload pack pÃ¥ fjärren" -#: builtin/fetch.c:65 +#: builtin/fetch.c:79 msgid "force overwrite of local branch" msgstr "tvinga överskrivning av lokal gren" -#: builtin/fetch.c:67 +#: builtin/fetch.c:81 msgid "fetch from multiple remotes" msgstr "hämta frÃ¥n flera fjärrar" -#: builtin/fetch.c:69 +#: builtin/fetch.c:83 msgid "fetch all tags and associated objects" msgstr "hämta alla taggar och associerade objekt" -#: builtin/fetch.c:71 +#: builtin/fetch.c:85 msgid "do not fetch all tags (--no-tags)" msgstr "hämta inte alla taggar (--no-tags)" -#: builtin/fetch.c:73 +#: builtin/fetch.c:87 msgid "prune remote-tracking branches no longer on remote" msgstr "rensa fjärrspÃ¥rande grenar ej längre pÃ¥ fjärren" -#: builtin/fetch.c:74 +#: builtin/fetch.c:88 msgid "on-demand" msgstr "on-demand" -#: builtin/fetch.c:75 +#: builtin/fetch.c:89 msgid "control recursive fetching of submodules" msgstr "styr rekursiv hämtning av undermoduler" -#: builtin/fetch.c:79 +#: builtin/fetch.c:93 msgid "keep downloaded pack" msgstr "behÃ¥ll hämtade paket" -#: builtin/fetch.c:81 +#: builtin/fetch.c:95 msgid "allow updating of HEAD ref" msgstr "tillÃ¥t uppdatering av HEAD-referens" -#: builtin/fetch.c:84 +#: builtin/fetch.c:98 msgid "deepen history of shallow clone" msgstr "fördjupa historik för grund klon" -#: builtin/fetch.c:86 +#: builtin/fetch.c:100 msgid "convert to a complete repository" msgstr "konvertera till komplett arkiv" -#: builtin/fetch.c:88 builtin/log.c:1177 +#: builtin/fetch.c:102 builtin/log.c:1197 msgid "dir" msgstr "kat" -#: builtin/fetch.c:89 +#: builtin/fetch.c:103 msgid "prepend this to submodule path output" msgstr "lägg till i början av undermodulens sökvägsutdata" -#: builtin/fetch.c:92 +#: builtin/fetch.c:106 msgid "default mode for recursion" msgstr "standardläge för rekursion" -#: builtin/fetch.c:220 +#: builtin/fetch.c:236 msgid "Couldn't find remote ref HEAD" msgstr "Kunde inte hitta fjärr-referensen HEAD" -#: builtin/fetch.c:273 +#: builtin/fetch.c:290 #, c-format msgid "object %s not found" msgstr "objektet %s hittades inte" -#: builtin/fetch.c:278 +#: builtin/fetch.c:295 msgid "[up to date]" msgstr "[à jour]" -#: builtin/fetch.c:292 +#: builtin/fetch.c:309 #, c-format msgid "! %-*s %-*s -> %s (can't fetch in current branch)" msgstr "! %-*s %-*s -> %s (kan inte hämta i aktuell gren)" -#: builtin/fetch.c:293 builtin/fetch.c:379 +#: builtin/fetch.c:310 builtin/fetch.c:396 msgid "[rejected]" msgstr "[refuserad]" -#: builtin/fetch.c:304 +#: builtin/fetch.c:321 msgid "[tag update]" msgstr "[uppdaterad tagg]" -#: builtin/fetch.c:306 builtin/fetch.c:341 builtin/fetch.c:359 +#: builtin/fetch.c:323 builtin/fetch.c:358 builtin/fetch.c:376 msgid " (unable to update local ref)" msgstr " (kunde inte uppdatera lokal ref)" -#: builtin/fetch.c:324 +#: builtin/fetch.c:341 msgid "[new tag]" msgstr "[ny tagg]" -#: builtin/fetch.c:327 +#: builtin/fetch.c:344 msgid "[new branch]" msgstr "[ny gren]" -#: builtin/fetch.c:330 +#: builtin/fetch.c:347 msgid "[new ref]" msgstr "[ny ref]" -#: builtin/fetch.c:375 +#: builtin/fetch.c:392 msgid "unable to update local ref" msgstr "kunde inte uppdatera lokal ref" -#: builtin/fetch.c:375 +#: builtin/fetch.c:392 msgid "forced update" msgstr "tvingad uppdatering" -#: builtin/fetch.c:381 +#: builtin/fetch.c:398 msgid "(non-fast-forward)" msgstr "(ej snabbspolad)" -#: builtin/fetch.c:412 builtin/fetch.c:718 +#: builtin/fetch.c:429 builtin/fetch.c:735 #, c-format msgid "cannot open %s: %s\n" msgstr "kan inte öppna %s: %s\n" -#: builtin/fetch.c:421 +#: builtin/fetch.c:438 #, c-format msgid "%s did not send all necessary objects\n" msgstr "%s sände inte alla nödvändiga objekt\n" -#: builtin/fetch.c:520 +#: builtin/fetch.c:537 #, c-format msgid "From %.*s\n" msgstr "FrÃ¥n %.*s\n" -#: builtin/fetch.c:531 +#: builtin/fetch.c:548 #, c-format msgid "" "some local refs could not be updated; try running\n" @@ -4930,55 +5112,55 @@ msgstr "" "vissa lokala referenser kunde inte uppdateras; testa att köra\n" " \"git remote prune %s\" för att ta bort gamla grenar som stÃ¥r i konflikt" -#: builtin/fetch.c:581 +#: builtin/fetch.c:598 #, c-format msgid " (%s will become dangling)" msgstr " (%s kommer bli dinglande)" -#: builtin/fetch.c:582 +#: builtin/fetch.c:599 #, c-format msgid " (%s has become dangling)" msgstr " (%s har blivit dinglande)" -#: builtin/fetch.c:589 +#: builtin/fetch.c:606 msgid "[deleted]" msgstr "[borttagen]" -#: builtin/fetch.c:590 builtin/remote.c:1055 +#: builtin/fetch.c:607 builtin/remote.c:1055 msgid "(none)" msgstr "(ingen)" -#: builtin/fetch.c:708 +#: builtin/fetch.c:725 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "Vägrar hämta till aktuell gren %s i ett icke-naket arkiv" -#: builtin/fetch.c:742 -#, c-format -msgid "Don't know how to fetch from %s" -msgstr "Vet inte hur man hämtar frÃ¥n %s" - -#: builtin/fetch.c:823 +#: builtin/fetch.c:744 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "Flaggan \"%s\" och värdet \"%s\" är inte giltigt för %s" -#: builtin/fetch.c:826 +#: builtin/fetch.c:747 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "Flaggan \"%s\" ignoreras för %s\n" -#: builtin/fetch.c:928 +#: builtin/fetch.c:801 +#, c-format +msgid "Don't know how to fetch from %s" +msgstr "Vet inte hur man hämtar frÃ¥n %s" + +#: builtin/fetch.c:976 #, c-format msgid "Fetching %s\n" msgstr "Hämtar %s\n" -#: builtin/fetch.c:930 builtin/remote.c:100 +#: builtin/fetch.c:978 builtin/remote.c:100 #, c-format msgid "Could not fetch %s" msgstr "Kunde inte hämta %s" -#: builtin/fetch.c:949 +#: builtin/fetch.c:997 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." @@ -4986,32 +5168,32 @@ msgstr "" "Inget fjärrarkiv angavs. Ange antingen en URL eller namnet pÃ¥ ett\n" "fjärrarkiv som nya incheckningar skall hämtas frÃ¥n." -#: builtin/fetch.c:969 +#: builtin/fetch.c:1020 msgid "You need to specify a tag name." msgstr "Du mÃ¥ste ange namnet pÃ¥ en tagg." -#: builtin/fetch.c:1015 +#: builtin/fetch.c:1068 msgid "--depth and --unshallow cannot be used together" msgstr "--depth och --unshallow kan inte användas samtidigt" -#: builtin/fetch.c:1017 +#: builtin/fetch.c:1070 msgid "--unshallow on a complete repository does not make sense" msgstr "--unshallow kan inte användas pÃ¥ ett komplett arkiv" -#: builtin/fetch.c:1036 +#: builtin/fetch.c:1089 msgid "fetch --all does not take a repository argument" msgstr "fetch --all tar inte namnet pÃ¥ ett arkiv som argument" -#: builtin/fetch.c:1038 +#: builtin/fetch.c:1091 msgid "fetch --all does not make sense with refspecs" msgstr "fetch --all kan inte anges med referensspecifikationer" -#: builtin/fetch.c:1049 +#: builtin/fetch.c:1102 #, c-format msgid "No such remote or remote group: %s" msgstr "Fjärren eller fjärrgruppen finns inte: %s" -#: builtin/fetch.c:1057 +#: builtin/fetch.c:1110 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "Kan inte hämta frÃ¥n grupp och ange referensspecifikationer" @@ -5020,9 +5202,9 @@ msgid "git fmt-merge-msg [-m <message>] [--log[=<n>]|--no-log] [--file <file>]" msgstr "" "git fmt-merge-msg [-m <meddelande>] [--log[=<n>]|--no-log] [--file <fil>]" -#: builtin/fmt-merge-msg.c:663 builtin/fmt-merge-msg.c:666 builtin/grep.c:700 -#: builtin/merge.c:203 builtin/show-branch.c:655 builtin/show-ref.c:179 -#: builtin/tag.c:446 parse-options.h:133 parse-options.h:243 +#: builtin/fmt-merge-msg.c:663 builtin/fmt-merge-msg.c:666 builtin/grep.c:702 +#: builtin/merge.c:203 builtin/show-branch.c:655 builtin/show-ref.c:178 +#: builtin/tag.c:446 parse-options.h:135 parse-options.h:245 msgid "n" msgstr "n" @@ -5046,117 +5228,121 @@ msgstr "inled meddelande med <text>" msgid "file to read from" msgstr "fil att läsa frÃ¥n" -#: builtin/for-each-ref.c:979 +#: builtin/for-each-ref.c:995 msgid "git for-each-ref [options] [<pattern>]" msgstr "git for-each-ref [flaggor] [<mönster>]" -#: builtin/for-each-ref.c:994 +#: builtin/for-each-ref.c:1010 msgid "quote placeholders suitably for shells" msgstr "citera platshÃ¥llare passande för skal" -#: builtin/for-each-ref.c:996 +#: builtin/for-each-ref.c:1012 msgid "quote placeholders suitably for perl" msgstr "citera platshÃ¥llare passande för perl" -#: builtin/for-each-ref.c:998 +#: builtin/for-each-ref.c:1014 msgid "quote placeholders suitably for python" msgstr "citera platshÃ¥llare passande för python" -#: builtin/for-each-ref.c:1000 +#: builtin/for-each-ref.c:1016 msgid "quote placeholders suitably for tcl" msgstr "citera platshÃ¥llare passande för tcl" -#: builtin/for-each-ref.c:1003 +#: builtin/for-each-ref.c:1019 msgid "show only <n> matched refs" msgstr "visa endast <n> träffade refs" -#: builtin/for-each-ref.c:1004 +#: builtin/for-each-ref.c:1020 msgid "format" msgstr "format" -#: builtin/for-each-ref.c:1004 +#: builtin/for-each-ref.c:1020 msgid "format to use for the output" msgstr "format att använda för utdata" -#: builtin/for-each-ref.c:1005 +#: builtin/for-each-ref.c:1021 msgid "key" msgstr "nyckel" -#: builtin/for-each-ref.c:1006 +#: builtin/for-each-ref.c:1022 msgid "field name to sort on" msgstr "fältnamn att sortera pÃ¥" -#: builtin/fsck.c:608 +#: builtin/fsck.c:607 msgid "git fsck [options] [<object>...]" msgstr "git fsck [flaggor] [<objekt>...]" -#: builtin/fsck.c:614 +#: builtin/fsck.c:613 msgid "show unreachable objects" msgstr "visa onÃ¥bara objekt" -#: builtin/fsck.c:615 +#: builtin/fsck.c:614 msgid "show dangling objects" msgstr "visa dinglande objekt" -#: builtin/fsck.c:616 +#: builtin/fsck.c:615 msgid "report tags" msgstr "rapportera taggar" -#: builtin/fsck.c:617 +#: builtin/fsck.c:616 msgid "report root nodes" msgstr "rapportera rotnoder" -#: builtin/fsck.c:618 +#: builtin/fsck.c:617 msgid "make index objects head nodes" msgstr "gör indexojekt till huvudnoder" -#: builtin/fsck.c:619 +#: builtin/fsck.c:618 msgid "make reflogs head nodes (default)" msgstr "gör refloggar till huvudnoder (standard)" -#: builtin/fsck.c:620 +#: builtin/fsck.c:619 msgid "also consider packs and alternate objects" msgstr "ta även hänsyn till paket och alternativa objekt" -#: builtin/fsck.c:621 +#: builtin/fsck.c:620 msgid "enable more strict checking" msgstr "aktivera striktare kontroll" -#: builtin/fsck.c:623 +#: builtin/fsck.c:622 msgid "write dangling objects in .git/lost-found" msgstr "skriv dinglande objekt i .git/lost-found" -#: builtin/fsck.c:624 builtin/prune.c:134 +#: builtin/fsck.c:623 builtin/prune.c:134 msgid "show progress" msgstr "visa förlopp" -#: builtin/gc.c:22 +#: builtin/gc.c:23 msgid "git gc [options]" msgstr "git gc [flaggor]" -#: builtin/gc.c:63 +#: builtin/gc.c:79 #, c-format msgid "Invalid %s: '%s'" msgstr "Felaktigt %s: \"%s\"" -#: builtin/gc.c:90 +#: builtin/gc.c:106 #, c-format msgid "insanely long object directory %.*s" msgstr "tokigt lÃ¥ng objektkatalog %.*s" -#: builtin/gc.c:179 +#: builtin/gc.c:261 msgid "prune unreferenced objects" msgstr "rensa ej refererade objekt" -#: builtin/gc.c:181 +#: builtin/gc.c:263 msgid "be more thorough (increased runtime)" msgstr "var mer grundlig (ökar körtiden)" -#: builtin/gc.c:182 +#: builtin/gc.c:264 msgid "enable auto-gc mode" msgstr "aktivera auto-gc-läge" -#: builtin/gc.c:222 +#: builtin/gc.c:265 +msgid "force running gc even if there may be another gc running" +msgstr "tvinga gc-körning även om en annan gc kanske körs" + +#: builtin/gc.c:305 #, c-format msgid "" "Auto packing the repository for optimum performance. You may also\n" @@ -5165,43 +5351,52 @@ msgstr "" "Packar arkivet automatiskt för optimal prestanda. Du kan även\n" "köra \"git gc\" manuellt. Se \"git help gc\" för mer information.\n" -#: builtin/gc.c:249 +#. be quiet on --auto +#: builtin/gc.c:315 +#, c-format +msgid "" +"gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)" +msgstr "" +"gc körs redan pÃ¥ maskinen \"%s\" pid %<PRIuMAX> (använd --force om sÃ¥ inte " +"är fallet)" + +#: builtin/gc.c:340 msgid "" "There are too many unreachable loose objects; run 'git prune' to remove them." msgstr "" "Det finns för mÃ¥nga onÃ¥bara lösa objekt; kör \"git prune\" för att ta bort " "dem." -#: builtin/grep.c:22 +#: builtin/grep.c:23 msgid "git grep [options] [-e] <pattern> [<rev>...] [[--] <path>...]" msgstr "git grep [flaggor] [-e] <mönster> [<rev>...] [[--] <sökväg>...]" -#: builtin/grep.c:217 +#: builtin/grep.c:218 #, c-format msgid "grep: failed to create thread: %s" msgstr "grep: misslyckades skapa trÃ¥d. %s" -#: builtin/grep.c:364 +#: builtin/grep.c:365 #, c-format msgid "Failed to chdir: %s" msgstr "Kunde inte byta katalog (chdir): %s" -#: builtin/grep.c:442 builtin/grep.c:477 +#: builtin/grep.c:443 builtin/grep.c:478 #, c-format msgid "unable to read tree (%s)" msgstr "kunde inte läsa träd (%s)" -#: builtin/grep.c:492 +#: builtin/grep.c:493 #, c-format msgid "unable to grep from object of type %s" msgstr "Kunde inte \"grep\" frÃ¥n objekt av typen %s" -#: builtin/grep.c:550 +#: builtin/grep.c:551 #, c-format msgid "switch `%c' expects a numerical value" msgstr "flaggan \"%c\" antar ett numeriskt värde" -#: builtin/grep.c:567 +#: builtin/grep.c:568 #, c-format msgid "cannot open '%s'" msgstr "kan inte öppna \"%s\"" @@ -5243,158 +5438,162 @@ msgid "don't match patterns in binary files" msgstr "träffa inte mönster i binärfiler" #: builtin/grep.c:662 +msgid "process binary files with textconv filters" +msgstr "hantera binärfiler med textconv-filter" + +#: builtin/grep.c:664 msgid "descend at most <depth> levels" msgstr "gÃ¥ som mest ned <djup> nivÃ¥er" -#: builtin/grep.c:666 +#: builtin/grep.c:668 msgid "use extended POSIX regular expressions" msgstr "använd utökade POSIX-reguljära uttryck" -#: builtin/grep.c:669 +#: builtin/grep.c:671 msgid "use basic POSIX regular expressions (default)" msgstr "använd grundläggande POSIX-reguljära uttryck (standard)" -#: builtin/grep.c:672 +#: builtin/grep.c:674 msgid "interpret patterns as fixed strings" msgstr "tolka mönster som fixerade strängar" -#: builtin/grep.c:675 +#: builtin/grep.c:677 msgid "use Perl-compatible regular expressions" msgstr "använd Perlkompatibla reguljära uttryck" -#: builtin/grep.c:678 +#: builtin/grep.c:680 msgid "show line numbers" msgstr "visa radnummer" -#: builtin/grep.c:679 +#: builtin/grep.c:681 msgid "don't show filenames" msgstr "visa inte filnamn" -#: builtin/grep.c:680 +#: builtin/grep.c:682 msgid "show filenames" msgstr "visa filnamn" -#: builtin/grep.c:682 +#: builtin/grep.c:684 msgid "show filenames relative to top directory" msgstr "visa filnamn relativa till toppkatalogen" -#: builtin/grep.c:684 +#: builtin/grep.c:686 msgid "show only filenames instead of matching lines" msgstr "visa endast filnamn istället för träffade rader" -#: builtin/grep.c:686 +#: builtin/grep.c:688 msgid "synonym for --files-with-matches" msgstr "synonym för --files-with-matches" -#: builtin/grep.c:689 +#: builtin/grep.c:691 msgid "show only the names of files without match" msgstr "visa endast namn pÃ¥ filer utan träffar" -#: builtin/grep.c:691 +#: builtin/grep.c:693 msgid "print NUL after filenames" msgstr "skriv NUL efter filnamn" -#: builtin/grep.c:693 +#: builtin/grep.c:695 msgid "show the number of matches instead of matching lines" msgstr "visa antal träffar istället för träffade rader" -#: builtin/grep.c:694 +#: builtin/grep.c:696 msgid "highlight matches" msgstr "ljusmarkera träffar" -#: builtin/grep.c:696 +#: builtin/grep.c:698 msgid "print empty line between matches from different files" msgstr "skriv tomma rader mellan träffar frÃ¥n olika filer" -#: builtin/grep.c:698 +#: builtin/grep.c:700 msgid "show filename only once above matches from same file" msgstr "visa filnamn endast en gÃ¥ng ovanför träffar frÃ¥n samma fil" -#: builtin/grep.c:701 +#: builtin/grep.c:703 msgid "show <n> context lines before and after matches" msgstr "visa <n> rader sammanhang före och efter träffar" -#: builtin/grep.c:704 +#: builtin/grep.c:706 msgid "show <n> context lines before matches" msgstr "visa <n> rader sammanhang före träffar" -#: builtin/grep.c:706 +#: builtin/grep.c:708 msgid "show <n> context lines after matches" msgstr "visa <n> rader sammanhang efter träffar" -#: builtin/grep.c:707 +#: builtin/grep.c:709 msgid "shortcut for -C NUM" msgstr "genväg för -C NUM" -#: builtin/grep.c:710 +#: builtin/grep.c:712 msgid "show a line with the function name before matches" msgstr "visa en rad med funktionsnamnet före träffen" -#: builtin/grep.c:712 +#: builtin/grep.c:714 msgid "show the surrounding function" msgstr "visa den omkringliggande funktionen" -#: builtin/grep.c:715 +#: builtin/grep.c:717 msgid "read patterns from file" msgstr "läs mönster frÃ¥n fil" -#: builtin/grep.c:717 +#: builtin/grep.c:719 msgid "match <pattern>" msgstr "träffa <mönster>" -#: builtin/grep.c:719 +#: builtin/grep.c:721 msgid "combine patterns specified with -e" msgstr "kombinera mönster som anges med -e" -#: builtin/grep.c:731 +#: builtin/grep.c:733 msgid "indicate hit with exit status without output" msgstr "ange träff med slutstatuskod utan utdata" -#: builtin/grep.c:733 +#: builtin/grep.c:735 msgid "show only matches from files that match all patterns" msgstr "visa endast träffar frÃ¥n filer som träffar alla mönster" -#: builtin/grep.c:735 +#: builtin/grep.c:737 msgid "show parse tree for grep expression" msgstr "visa analysträd för grep-uttryck" -#: builtin/grep.c:739 +#: builtin/grep.c:741 msgid "pager" msgstr "bläddrare" -#: builtin/grep.c:739 +#: builtin/grep.c:741 msgid "show matching files in the pager" msgstr "visa träffade filer i filbläddraren" -#: builtin/grep.c:742 +#: builtin/grep.c:744 msgid "allow calling of grep(1) (ignored by this build)" msgstr "tillÃ¥t anropa grep(1) (ignoreras av detta bygge)" -#: builtin/grep.c:743 builtin/show-ref.c:188 +#: builtin/grep.c:745 builtin/show-ref.c:187 msgid "show usage" msgstr "visa användning" -#: builtin/grep.c:810 +#: builtin/grep.c:812 msgid "no pattern given." msgstr "inget mönster angavs." -#: builtin/grep.c:865 +#: builtin/grep.c:870 msgid "--open-files-in-pager only works on the worktree" msgstr "--open-files-in-pager fungerar endast i arbetskatalogen" -#: builtin/grep.c:888 +#: builtin/grep.c:893 msgid "--cached or --untracked cannot be used with --no-index." msgstr "--cached och --untracked kan inte användas med --no-index." -#: builtin/grep.c:893 +#: builtin/grep.c:898 msgid "--no-index or --untracked cannot be used with revs." msgstr "--no-index och --untracked kan inte användas med revisioner." -#: builtin/grep.c:896 +#: builtin/grep.c:901 msgid "--[no-]exclude-standard cannot be used for tracked contents." msgstr "--[no-]exclude-standard kan inte användas för spÃ¥rat innehÃ¥ll." -#: builtin/grep.c:904 +#: builtin/grep.c:909 msgid "both --cached and trees are given." msgstr "bÃ¥de --cached och träd angavs." @@ -5649,8 +5848,8 @@ msgstr "allvarlig inflate-inkonsekvens" msgid "SHA1 COLLISION FOUND WITH %s !" msgstr "SHA1-KOLLISION UPPTÄCKT VID %s !" -#: builtin/index-pack.c:669 builtin/pack-objects.c:170 -#: builtin/pack-objects.c:262 +#: builtin/index-pack.c:669 builtin/pack-objects.c:171 +#: builtin/pack-objects.c:263 #, c-format msgid "unable to read %s" msgstr "kunde inte läsa %s" @@ -5679,155 +5878,155 @@ msgstr "Fel i objekt" msgid "Not all child objects of %s are reachable" msgstr "Inte alla barnobjekt för %s kan nÃ¥s" -#: builtin/index-pack.c:838 builtin/index-pack.c:868 +#: builtin/index-pack.c:839 builtin/index-pack.c:869 msgid "failed to apply delta" msgstr "misslyckades tillämpa delta" -#: builtin/index-pack.c:1009 +#: builtin/index-pack.c:1010 msgid "Receiving objects" msgstr "Tar emot objekt" -#: builtin/index-pack.c:1009 +#: builtin/index-pack.c:1010 msgid "Indexing objects" msgstr "Skapar index för objekt" -#: builtin/index-pack.c:1035 +#: builtin/index-pack.c:1036 msgid "pack is corrupted (SHA1 mismatch)" msgstr "paketet är trasigt (SHA1 stämmer inte)" -#: builtin/index-pack.c:1040 +#: builtin/index-pack.c:1041 msgid "cannot fstat packfile" msgstr "kan inte utföra \"fstat\" pÃ¥ paketfil" -#: builtin/index-pack.c:1043 +#: builtin/index-pack.c:1044 msgid "pack has junk at the end" msgstr "paket har skräp i slutet" -#: builtin/index-pack.c:1054 +#: builtin/index-pack.c:1055 msgid "confusion beyond insanity in parse_pack_objects()" msgstr "förvirrad bortom vanvett i parse_pack_objects()" -#: builtin/index-pack.c:1077 +#: builtin/index-pack.c:1078 msgid "Resolving deltas" msgstr "Analyserar delta" -#: builtin/index-pack.c:1087 +#: builtin/index-pack.c:1088 #, c-format msgid "unable to create thread: %s" msgstr "kunde inte skapa trÃ¥d: %s" -#: builtin/index-pack.c:1129 +#: builtin/index-pack.c:1130 msgid "confusion beyond insanity" msgstr "förvirrad bortom vanvett" -#: builtin/index-pack.c:1137 +#: builtin/index-pack.c:1138 #, c-format msgid "completed with %d local objects" msgstr "slutfördes med %d lokala objekt" -#: builtin/index-pack.c:1147 +#: builtin/index-pack.c:1148 #, c-format msgid "Unexpected tail checksum for %s (disk corruption?)" msgstr "Oväntad svanschecksumma för %s (trasig disk?)" -#: builtin/index-pack.c:1151 +#: builtin/index-pack.c:1152 #, c-format msgid "pack has %d unresolved delta" msgid_plural "pack has %d unresolved deltas" msgstr[0] "paketet har %d oanalyserat delta" msgstr[1] "paketet har %d oanalyserade delta" -#: builtin/index-pack.c:1176 +#: builtin/index-pack.c:1177 #, c-format msgid "unable to deflate appended object (%d)" msgstr "kunde inte utföra \"deflate\" pÃ¥ tillagt objekt (%d)" -#: builtin/index-pack.c:1255 +#: builtin/index-pack.c:1256 #, c-format msgid "local object %s is corrupt" msgstr "lokalt objekt %s är trasigt" -#: builtin/index-pack.c:1279 +#: builtin/index-pack.c:1280 msgid "error while closing pack file" msgstr "fel vid stängning av paketfil" -#: builtin/index-pack.c:1292 +#: builtin/index-pack.c:1293 #, c-format msgid "cannot write keep file '%s'" msgstr "kan inte ta skriva \"keep\"-fil \"%s\"" -#: builtin/index-pack.c:1300 +#: builtin/index-pack.c:1301 #, c-format msgid "cannot close written keep file '%s'" msgstr "akn inte stänga skriven \"keep\"-fil \"%s\"" -#: builtin/index-pack.c:1313 +#: builtin/index-pack.c:1314 msgid "cannot store pack file" msgstr "kan inte spara paketfil" -#: builtin/index-pack.c:1324 +#: builtin/index-pack.c:1325 msgid "cannot store index file" msgstr "kan inte spara indexfil" -#: builtin/index-pack.c:1357 +#: builtin/index-pack.c:1358 #, c-format msgid "bad pack.indexversion=%<PRIu32>" msgstr "felaktig pack.indexversion=%<PRIu32>" -#: builtin/index-pack.c:1363 +#: builtin/index-pack.c:1364 #, c-format msgid "invalid number of threads specified (%d)" msgstr "felaktigt antal trÃ¥dar angivet (%d)" -#: builtin/index-pack.c:1367 builtin/index-pack.c:1545 +#: builtin/index-pack.c:1368 builtin/index-pack.c:1546 #, c-format msgid "no threads support, ignoring %s" msgstr "trÃ¥dstöd saknas, ignorerar %s" -#: builtin/index-pack.c:1425 +#: builtin/index-pack.c:1426 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "Kan inte öppna befintlig paketfil \"%s\"" -#: builtin/index-pack.c:1427 +#: builtin/index-pack.c:1428 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "Kan inte öppna befintligt paket-idx-fil för \"%s\"" -#: builtin/index-pack.c:1474 +#: builtin/index-pack.c:1475 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" msgstr[0] "icke-delta: %d objekt" msgstr[1] "icke-delta: %d objekt" -#: builtin/index-pack.c:1481 +#: builtin/index-pack.c:1482 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" msgstr[0] "kedjelängd = %d: %lu objekt" msgstr[1] "kedjelängd = %d: %lu objekt" -#: builtin/index-pack.c:1509 +#: builtin/index-pack.c:1510 msgid "Cannot come back to cwd" msgstr "Kan inte gÃ¥ tillbaka till arbetskatalogen (cwd)" -#: builtin/index-pack.c:1557 builtin/index-pack.c:1560 -#: builtin/index-pack.c:1572 builtin/index-pack.c:1576 +#: builtin/index-pack.c:1558 builtin/index-pack.c:1561 +#: builtin/index-pack.c:1573 builtin/index-pack.c:1577 #, c-format msgid "bad %s" msgstr "felaktig %s" -#: builtin/index-pack.c:1590 +#: builtin/index-pack.c:1591 msgid "--fix-thin cannot be used without --stdin" msgstr "--fix-thin kan inte användas med --stdin" -#: builtin/index-pack.c:1594 builtin/index-pack.c:1604 +#: builtin/index-pack.c:1595 builtin/index-pack.c:1605 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "paketfilnamnet \"%s\" slutar inte med \".pack\"" -#: builtin/index-pack.c:1613 +#: builtin/index-pack.c:1614 msgid "--verify with no packfile name given" msgstr "--verify angavs utan paketfilnamn" @@ -5916,11 +6115,6 @@ msgstr "kan inte hantera filtyp %d" msgid "unable to move %s to %s" msgstr "kan inte flytta %s till %s" -#: builtin/init-db.c:363 -#, c-format -msgid "Could not create git link %s" -msgstr "Kunde inte skapa gitlänk %s" - #. #. * TRANSLATORS: The first '%s' is either "Reinitialized #. * existing" or "Initialized empty", the second " shared" or @@ -5963,7 +6157,7 @@ msgstr "behörigheter" msgid "specify that the git repository is to be shared amongst several users" msgstr "ange att git-arkivet skall delas bland flera användare" -#: builtin/init-db.c:493 builtin/prune-packed.c:75 +#: builtin/init-db.c:493 builtin/prune-packed.c:75 builtin/repack.c:155 msgid "be quiet" msgstr "var tyst" @@ -6003,381 +6197,381 @@ msgstr "git log [<flaggor>] [<versionsintervall>] [[--] <sökväg>...]\n" msgid " or: git show [options] <object>..." msgstr " eller: git show [flaggor] <objekt>..." -#: builtin/log.c:124 +#: builtin/log.c:125 msgid "suppress diff output" msgstr "undertryck diff-utdata" -#: builtin/log.c:125 +#: builtin/log.c:126 msgid "show source" msgstr "visa källkod" -#: builtin/log.c:126 +#: builtin/log.c:127 msgid "Use mail map file" msgstr "Använd e-postmappningsfil" -#: builtin/log.c:127 +#: builtin/log.c:128 msgid "decorate options" msgstr "dekoreringsflaggor" -#: builtin/log.c:230 +#: builtin/log.c:231 #, c-format msgid "Final output: %d %s\n" msgstr "Slututdata: %d %s\n" -#: builtin/log.c:453 builtin/log.c:545 +#: builtin/log.c:473 builtin/log.c:565 #, c-format msgid "Could not read object %s" msgstr "Kunde inte läsa objektet %s" -#: builtin/log.c:569 +#: builtin/log.c:589 #, c-format msgid "Unknown type: %d" msgstr "Okänd typ: %d" -#: builtin/log.c:669 +#: builtin/log.c:689 msgid "format.headers without value" msgstr "format.headers utan värde" -#: builtin/log.c:751 +#: builtin/log.c:771 msgid "name of output directory is too long" msgstr "namnet pÃ¥ utdatakatalogen är för lÃ¥ngt" -#: builtin/log.c:767 +#: builtin/log.c:787 #, c-format msgid "Cannot open patch file %s" msgstr "Kan inte öppna patchfilen %s" -#: builtin/log.c:781 +#: builtin/log.c:801 msgid "Need exactly one range." msgstr "Behöver precis ett intervall." -#: builtin/log.c:789 +#: builtin/log.c:809 msgid "Not a range." msgstr "Inte ett intervall." -#: builtin/log.c:891 +#: builtin/log.c:911 msgid "Cover letter needs email format" msgstr "Omslagsbrevet behöver e-postformat" -#: builtin/log.c:967 +#: builtin/log.c:987 #, c-format msgid "insane in-reply-to: %s" msgstr "tokigt in-reply-to: %s" -#: builtin/log.c:995 +#: builtin/log.c:1015 msgid "git format-patch [options] [<since> | <revision range>]" msgstr "git format-patch [flaggor] [<sedan> | <revisionsintervall>]" -#: builtin/log.c:1040 +#: builtin/log.c:1060 msgid "Two output directories?" msgstr "TvÃ¥ utdatakataloger?" -#: builtin/log.c:1155 +#: builtin/log.c:1175 msgid "use [PATCH n/m] even with a single patch" msgstr "använd [PATCH n/m] även för en ensam patch" -#: builtin/log.c:1158 +#: builtin/log.c:1178 msgid "use [PATCH] even with multiple patches" msgstr "använd [PATCH] även för flera patchar" -#: builtin/log.c:1162 +#: builtin/log.c:1182 msgid "print patches to standard out" msgstr "skriv patcharna pÃ¥ stnadard ut" -#: builtin/log.c:1164 +#: builtin/log.c:1184 msgid "generate a cover letter" msgstr "generera ett följebrev" -#: builtin/log.c:1166 +#: builtin/log.c:1186 msgid "use simple number sequence for output file names" msgstr "använd enkel nummersekvens för utdatafilnamn" -#: builtin/log.c:1167 +#: builtin/log.c:1187 msgid "sfx" msgstr "sfx" -#: builtin/log.c:1168 +#: builtin/log.c:1188 msgid "use <sfx> instead of '.patch'" msgstr "använd <sfx> istället för \".patch\"" -#: builtin/log.c:1170 +#: builtin/log.c:1190 msgid "start numbering patches at <n> instead of 1" msgstr "börja numrera patchar pÃ¥ <n> istället för 1" -#: builtin/log.c:1172 +#: builtin/log.c:1192 msgid "mark the series as Nth re-roll" msgstr "markera serien som N:te försök" -#: builtin/log.c:1174 +#: builtin/log.c:1194 msgid "Use [<prefix>] instead of [PATCH]" msgstr "Använd [<prefix>] istället för [PATCH]" -#: builtin/log.c:1177 +#: builtin/log.c:1197 msgid "store resulting files in <dir>" msgstr "spara filerna i <katalog>" -#: builtin/log.c:1180 +#: builtin/log.c:1200 msgid "don't strip/add [PATCH]" msgstr "ta inte bort eller lägg till [PATCH]" -#: builtin/log.c:1183 +#: builtin/log.c:1203 msgid "don't output binary diffs" msgstr "skriv inte binära diffar" -#: builtin/log.c:1185 +#: builtin/log.c:1205 msgid "don't include a patch matching a commit upstream" msgstr "ta inte med patchar som motsvarar en uppströmsincheckning" -#: builtin/log.c:1187 +#: builtin/log.c:1207 msgid "show patch format instead of default (patch + stat)" msgstr "visa patchformat istället för standard (patch + stat)" -#: builtin/log.c:1189 +#: builtin/log.c:1209 msgid "Messaging" msgstr "E-post" -#: builtin/log.c:1190 +#: builtin/log.c:1210 msgid "header" msgstr "huvud" -#: builtin/log.c:1191 +#: builtin/log.c:1211 msgid "add email header" msgstr "lägg till e-posthuvud" -#: builtin/log.c:1192 builtin/log.c:1194 +#: builtin/log.c:1212 builtin/log.c:1214 msgid "email" msgstr "epost" -#: builtin/log.c:1192 +#: builtin/log.c:1212 msgid "add To: header" msgstr "Lägg till mottagarhuvud (\"To:\")" -#: builtin/log.c:1194 +#: builtin/log.c:1214 msgid "add Cc: header" msgstr "Lägg till kopiehuvud (\"Cc:\")" -#: builtin/log.c:1196 +#: builtin/log.c:1216 msgid "ident" msgstr "ident" -#: builtin/log.c:1197 +#: builtin/log.c:1217 msgid "set From address to <ident> (or committer ident if absent)" msgstr "sätt FrÃ¥n-adress till <ident> (eller incheckare om ident saknas)" -#: builtin/log.c:1199 +#: builtin/log.c:1219 msgid "message-id" msgstr "meddelande-id" -#: builtin/log.c:1200 +#: builtin/log.c:1220 msgid "make first mail a reply to <message-id>" msgstr "Gör det första brevet ett svar till <meddelande-id>" -#: builtin/log.c:1201 builtin/log.c:1204 +#: builtin/log.c:1221 builtin/log.c:1224 msgid "boundary" msgstr "gräns" -#: builtin/log.c:1202 +#: builtin/log.c:1222 msgid "attach the patch" msgstr "bifoga patchen" -#: builtin/log.c:1205 +#: builtin/log.c:1225 msgid "inline the patch" msgstr "gör patchen ett inline-objekt" -#: builtin/log.c:1209 +#: builtin/log.c:1229 msgid "enable message threading, styles: shallow, deep" msgstr "aktivera brevtrÃ¥dning, typer: shallow, deep" -#: builtin/log.c:1211 +#: builtin/log.c:1231 msgid "signature" msgstr "signatur" -#: builtin/log.c:1212 +#: builtin/log.c:1232 msgid "add a signature" msgstr "lägg till signatur" -#: builtin/log.c:1214 +#: builtin/log.c:1233 msgid "don't print the patch filenames" msgstr "visa inte filnamn för patchar" -#: builtin/log.c:1288 +#: builtin/log.c:1307 #, c-format msgid "invalid ident line: %s" msgstr "ogiltig ident-rad: %s" -#: builtin/log.c:1303 +#: builtin/log.c:1322 msgid "-n and -k are mutually exclusive." msgstr "-n och -k kan inte användas samtidigt." -#: builtin/log.c:1305 +#: builtin/log.c:1324 msgid "--subject-prefix and -k are mutually exclusive." msgstr "--subject-prefix och -k kan inte användas samtidigt." -#: builtin/log.c:1313 +#: builtin/log.c:1332 msgid "--name-only does not make sense" msgstr "kan inte använda --name-only" -#: builtin/log.c:1315 +#: builtin/log.c:1334 msgid "--name-status does not make sense" msgstr "kan inte använda --name-status" -#: builtin/log.c:1317 +#: builtin/log.c:1336 msgid "--check does not make sense" msgstr "kan inte använda --check" -#: builtin/log.c:1340 +#: builtin/log.c:1359 msgid "standard output, or directory, which one?" msgstr "standard ut, eller katalog, vilken skall det vara?" -#: builtin/log.c:1342 +#: builtin/log.c:1361 #, c-format msgid "Could not create directory '%s'" msgstr "Kunde inte skapa katalogen \"%s\"" -#: builtin/log.c:1490 +#: builtin/log.c:1509 msgid "Failed to create output files" msgstr "Misslyckades skapa utdatafiler" -#: builtin/log.c:1539 +#: builtin/log.c:1558 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" msgstr "git cherry [-v] [<uppström> [<huvud> [<gräns>]]]" -#: builtin/log.c:1594 +#: builtin/log.c:1613 #, c-format msgid "" "Could not find a tracked remote branch, please specify <upstream> manually.\n" msgstr "Kunde inte hitta en spÃ¥rad fjärrgren, ange <uppström> manuellt.\n" -#: builtin/log.c:1607 builtin/log.c:1609 builtin/log.c:1621 +#: builtin/log.c:1626 builtin/log.c:1628 builtin/log.c:1640 #, c-format msgid "Unknown commit %s" msgstr "Okänd incheckning %s" -#: builtin/ls-files.c:408 +#: builtin/ls-files.c:398 msgid "git ls-files [options] [<file>...]" msgstr "git ls-files [flaggor] [<fil>...]" -#: builtin/ls-files.c:465 +#: builtin/ls-files.c:455 msgid "identify the file status with tags" msgstr "identifiera filstatus med taggar" -#: builtin/ls-files.c:467 +#: builtin/ls-files.c:457 msgid "use lowercase letters for 'assume unchanged' files" msgstr "använd smÃ¥ bokstäver för \"anta oförändrade\"-filer" -#: builtin/ls-files.c:469 +#: builtin/ls-files.c:459 msgid "show cached files in the output (default)" msgstr "visa cachade filer i utdata (standard)" -#: builtin/ls-files.c:471 +#: builtin/ls-files.c:461 msgid "show deleted files in the output" msgstr "visa borttagna filer i utdata" -#: builtin/ls-files.c:473 +#: builtin/ls-files.c:463 msgid "show modified files in the output" msgstr "visa modifierade filer i utdata" -#: builtin/ls-files.c:475 +#: builtin/ls-files.c:465 msgid "show other files in the output" msgstr "visa andra filer i utdata" -#: builtin/ls-files.c:477 +#: builtin/ls-files.c:467 msgid "show ignored files in the output" msgstr "visa ignorerade filer i utdata" -#: builtin/ls-files.c:480 +#: builtin/ls-files.c:470 msgid "show staged contents' object name in the output" msgstr "visa köat innehÃ¥lls objektnamn i utdata" -#: builtin/ls-files.c:482 +#: builtin/ls-files.c:472 msgid "show files on the filesystem that need to be removed" msgstr "visa filer i filsystemet som behöver tas bort" -#: builtin/ls-files.c:484 +#: builtin/ls-files.c:474 msgid "show 'other' directories' name only" msgstr "visa endast namn för \"andra\" kataloger" -#: builtin/ls-files.c:487 +#: builtin/ls-files.c:477 msgid "don't show empty directories" msgstr "visa inte tomma kataloger" -#: builtin/ls-files.c:490 +#: builtin/ls-files.c:480 msgid "show unmerged files in the output" msgstr "visa ej sammanslagna filer i utdata" -#: builtin/ls-files.c:492 +#: builtin/ls-files.c:482 msgid "show resolve-undo information" msgstr "visa \"resolve-undo\"-information" -#: builtin/ls-files.c:494 +#: builtin/ls-files.c:484 msgid "skip files matching pattern" msgstr "hoppa över filer som motsvarar mönster" -#: builtin/ls-files.c:497 +#: builtin/ls-files.c:487 msgid "exclude patterns are read from <file>" msgstr "exkludera mönster som läses frÃ¥n <fil>" -#: builtin/ls-files.c:500 +#: builtin/ls-files.c:490 msgid "read additional per-directory exclude patterns in <file>" msgstr "läs ytterligare per-katalog-exkluderingsmönster frÃ¥n <fil>" -#: builtin/ls-files.c:502 +#: builtin/ls-files.c:492 msgid "add the standard git exclusions" msgstr "lägg till git:s standardexkluderingar" -#: builtin/ls-files.c:505 +#: builtin/ls-files.c:495 msgid "make the output relative to the project top directory" msgstr "gör utdata relativ till projektets toppkatalog" -#: builtin/ls-files.c:508 +#: builtin/ls-files.c:498 msgid "if any <file> is not in the index, treat this as an error" msgstr "om en <fil> inte är indexet, betrakta det som ett fel" -#: builtin/ls-files.c:509 +#: builtin/ls-files.c:499 msgid "tree-ish" msgstr "träd-igt" -#: builtin/ls-files.c:510 +#: builtin/ls-files.c:500 msgid "pretend that paths removed since <tree-ish> are still present" msgstr "lÃ¥tsas att sökvägar borttagna sedan <träd-igt> fortfarande finns" -#: builtin/ls-files.c:512 +#: builtin/ls-files.c:502 msgid "show debugging data" msgstr "visa felsökningsutdata" -#: builtin/ls-tree.c:27 +#: builtin/ls-tree.c:28 msgid "git ls-tree [<options>] <tree-ish> [<path>...]" msgstr "git ls-tree [<flaggor>] <träd-igt> [<sökväg>...]" -#: builtin/ls-tree.c:125 +#: builtin/ls-tree.c:126 msgid "only show trees" msgstr "visa endast träd" -#: builtin/ls-tree.c:127 +#: builtin/ls-tree.c:128 msgid "recurse into subtrees" msgstr "rekursera ner i underträd" -#: builtin/ls-tree.c:129 +#: builtin/ls-tree.c:130 msgid "show trees when recursing" msgstr "visa träd medan rekursering" -#: builtin/ls-tree.c:132 +#: builtin/ls-tree.c:133 msgid "terminate entries with NUL byte" msgstr "terminera poster med NUL-byte" -#: builtin/ls-tree.c:133 +#: builtin/ls-tree.c:134 msgid "include object size" msgstr "inkludera objektstorlek" -#: builtin/ls-tree.c:135 builtin/ls-tree.c:137 +#: builtin/ls-tree.c:136 builtin/ls-tree.c:138 msgid "list only filenames" msgstr "visa endast filnamn" -#: builtin/ls-tree.c:140 +#: builtin/ls-tree.c:141 msgid "use full path names" msgstr "använd fullständiga sökvägsnamn" -#: builtin/ls-tree.c:142 +#: builtin/ls-tree.c:143 msgid "list entire tree; not just current directory (implies --full-name)" msgstr "visa hela trädet; inte bara aktuell katalog (implicerar --full-name)" @@ -6453,7 +6647,7 @@ msgstr "avbryt om snabbspolning inte är möjlig" msgid "Verify that the named commit has a valid GPG signature" msgstr "Bekräfta att den namngivna incheckningen har en giltig GPG-signatur" -#: builtin/merge.c:219 builtin/notes.c:738 builtin/revert.c:114 +#: builtin/merge.c:219 builtin/notes.c:738 builtin/revert.c:89 msgid "strategy" msgstr "strategi" @@ -6822,76 +7016,86 @@ msgstr "tillÃ¥t saknade objekt" msgid "allow creation of more than one tree" msgstr "tillÃ¥t skapa mer än ett träd" -#: builtin/mv.c:14 +#: builtin/mv.c:15 msgid "git mv [options] <source>... <destination>" msgstr "git mv [flaggor] <källa>... <mÃ¥l>" -#: builtin/mv.c:64 +#: builtin/mv.c:67 msgid "force move/rename even if target exists" msgstr "tvinga flytta/ändra namn även om mÃ¥let finns" -#: builtin/mv.c:65 +#: builtin/mv.c:68 msgid "skip move/rename errors" msgstr "hoppa över fel vid flytt/namnändring" -#: builtin/mv.c:108 +#: builtin/mv.c:113 #, c-format msgid "Checking rename of '%s' to '%s'\n" msgstr "Kontrollerar namnbyte av \"%s\" till \"%s\"\n" -#: builtin/mv.c:112 +#: builtin/mv.c:117 msgid "bad source" msgstr "felaktig källa" -#: builtin/mv.c:115 +#: builtin/mv.c:120 msgid "can not move directory into itself" msgstr "kan inte flytta katalog till sig själv" -#: builtin/mv.c:118 +#: builtin/mv.c:123 msgid "cannot move directory over file" msgstr "kan inte flytta katalog över fil" -#: builtin/mv.c:128 +#: builtin/mv.c:129 +#, c-format +msgid "Huh? Directory %s is in index and no submodule?" +msgstr "Vad? Katalogen %s är i indexet och inte en undermodul?" + +#: builtin/mv.c:131 builtin/rm.c:318 +msgid "Please, stage your changes to .gitmodules or stash them to proceed" +msgstr "" +"Köa dina ändringar i .gitmodules eller använd \"stash\" för att fortsätta" + +#: builtin/mv.c:147 #, c-format msgid "Huh? %.*s is in index?" msgstr "Vad? %.*s är i indexet?" -#: builtin/mv.c:140 +#: builtin/mv.c:159 msgid "source directory is empty" msgstr "källkatalogen är tom" -#: builtin/mv.c:171 +#: builtin/mv.c:191 msgid "not under version control" msgstr "inte versionshanterad" -#: builtin/mv.c:173 +#: builtin/mv.c:193 msgid "destination exists" msgstr "destinationen finns" -#: builtin/mv.c:181 +#: builtin/mv.c:201 #, c-format msgid "overwriting '%s'" msgstr "skriver över \"%s\"" -#: builtin/mv.c:184 +#: builtin/mv.c:204 msgid "Cannot overwrite" msgstr "Kan inte skriva över" -#: builtin/mv.c:187 +#: builtin/mv.c:207 msgid "multiple sources for the same target" msgstr "flera källor för samma mÃ¥l" -#: builtin/mv.c:202 +#: builtin/mv.c:222 #, c-format msgid "%s, source=%s, destination=%s" msgstr "%s, källa=%s, mÃ¥l=%s" -#: builtin/mv.c:212 +#: builtin/mv.c:232 #, c-format msgid "Renaming %s to %s\n" msgstr "Byter namn pÃ¥ %s till %s\n" -#: builtin/mv.c:215 builtin/remote.c:731 +#: builtin/mv.c:235 builtin/remote.c:731 builtin/repack.c:330 #, c-format msgid "renaming '%s' failed" msgstr "misslyckades byta namn pÃ¥ \"%s\"" @@ -6929,8 +7133,8 @@ msgid "read from stdin" msgstr "läs frÃ¥n standard in" #: builtin/name-rev.c:320 -msgid "allow to print `undefined` names" -msgstr "tillÃ¥t att skriva \"odefinierade\" namn" +msgid "allow to print `undefined` names (default)" +msgstr "tillÃ¥t att skriva \"odefinierade\" namn (standard)" #: builtin/name-rev.c:326 msgid "dereference tags in the input (internal use)" @@ -7085,12 +7289,12 @@ msgstr "kunde inte skriva anteckningsobjekt" msgid "The note contents has been left in %s" msgstr "Anteckningens innehÃ¥ll har lämnats kvar i %s" -#: builtin/notes.c:248 builtin/tag.c:540 +#: builtin/notes.c:248 builtin/tag.c:537 #, c-format msgid "cannot read '%s'" msgstr "kunde inte läsa \"%s\"" -#: builtin/notes.c:250 builtin/tag.c:543 +#: builtin/notes.c:250 builtin/tag.c:540 #, c-format msgid "could not open or read '%s'" msgstr "kunde inte öppna eller läsa \"%s\"" @@ -7098,7 +7302,7 @@ msgstr "kunde inte öppna eller läsa \"%s\"" #: builtin/notes.c:269 builtin/notes.c:316 builtin/notes.c:318 #: builtin/notes.c:378 builtin/notes.c:432 builtin/notes.c:515 #: builtin/notes.c:520 builtin/notes.c:595 builtin/notes.c:637 -#: builtin/notes.c:839 builtin/tag.c:556 +#: builtin/notes.c:839 builtin/tag.c:553 #, c-format msgid "Failed to resolve '%s' as a valid ref." msgstr "Kunde inte slÃ¥ upp \"%s\" som en giltig referens." @@ -7271,148 +7475,148 @@ msgstr "git pack-objects --stdout [flaggor...] [< reflista | < objektlista]" msgid "git pack-objects [options...] base-name [< ref-list | < object-list]" msgstr "git pack-objects [flaggor...] basnamn [< reflista | < objektlista]" -#: builtin/pack-objects.c:183 builtin/pack-objects.c:186 +#: builtin/pack-objects.c:184 builtin/pack-objects.c:187 #, c-format msgid "deflate error (%d)" msgstr "fel i deflate (%d)" -#: builtin/pack-objects.c:2397 +#: builtin/pack-objects.c:2398 #, c-format msgid "unsupported index version %s" msgstr "indexversionen %s stöds ej" -#: builtin/pack-objects.c:2401 +#: builtin/pack-objects.c:2402 #, c-format msgid "bad index version '%s'" msgstr "felaktig indexversion \"%s\"" -#: builtin/pack-objects.c:2424 +#: builtin/pack-objects.c:2425 #, c-format msgid "option %s does not accept negative form" msgstr "flaggan %s godtar inte negativ form" -#: builtin/pack-objects.c:2428 +#: builtin/pack-objects.c:2429 #, c-format msgid "unable to parse value '%s' for option %s" msgstr "kunde inte tolka värdet \"%s\" för flaggan %s" -#: builtin/pack-objects.c:2447 +#: builtin/pack-objects.c:2448 msgid "do not show progress meter" msgstr "visa inte förloppsindikator" -#: builtin/pack-objects.c:2449 +#: builtin/pack-objects.c:2450 msgid "show progress meter" msgstr "visa förloppsindikator" -#: builtin/pack-objects.c:2451 +#: builtin/pack-objects.c:2452 msgid "show progress meter during object writing phase" msgstr "visa förloppsindikator under objektskrivningsfasen" -#: builtin/pack-objects.c:2454 +#: builtin/pack-objects.c:2455 msgid "similar to --all-progress when progress meter is shown" msgstr "som --all-progress när förloppsmätaren visas" -#: builtin/pack-objects.c:2455 +#: builtin/pack-objects.c:2456 msgid "version[,offset]" msgstr "version[,offset]" -#: builtin/pack-objects.c:2456 +#: builtin/pack-objects.c:2457 msgid "write the pack index file in the specified idx format version" msgstr "skriv paketindexfilen i angiven indexformatversion" -#: builtin/pack-objects.c:2459 +#: builtin/pack-objects.c:2460 msgid "maximum size of each output pack file" msgstr "maximal storlek pÃ¥ varje utdatapaketfil" -#: builtin/pack-objects.c:2461 +#: builtin/pack-objects.c:2462 msgid "ignore borrowed objects from alternate object store" msgstr "ignorera lÃ¥nade objekt frÃ¥n alternativa objektlager" -#: builtin/pack-objects.c:2463 +#: builtin/pack-objects.c:2464 msgid "ignore packed objects" msgstr "ignorera packade objekt" -#: builtin/pack-objects.c:2465 +#: builtin/pack-objects.c:2466 msgid "limit pack window by objects" msgstr "begränsa paketfönster efter objekt" -#: builtin/pack-objects.c:2467 +#: builtin/pack-objects.c:2468 msgid "limit pack window by memory in addition to object limit" msgstr "begränsa paketfönster efter minne förutom objektgräns" -#: builtin/pack-objects.c:2469 +#: builtin/pack-objects.c:2470 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "maximal längd pÃ¥ deltakedja tillÃ¥ten i slutligt paket" -#: builtin/pack-objects.c:2471 +#: builtin/pack-objects.c:2472 msgid "reuse existing deltas" msgstr "Ã¥teranvänd befintliga delta" -#: builtin/pack-objects.c:2473 +#: builtin/pack-objects.c:2474 msgid "reuse existing objects" msgstr "Ã¥teranvänd befintliga objekt" -#: builtin/pack-objects.c:2475 +#: builtin/pack-objects.c:2476 msgid "use OFS_DELTA objects" msgstr "använd OFS_DELTA-objekt" -#: builtin/pack-objects.c:2477 +#: builtin/pack-objects.c:2478 msgid "use threads when searching for best delta matches" msgstr "använd trÃ¥dar vid sökning efter bästa deltaträffar" -#: builtin/pack-objects.c:2479 +#: builtin/pack-objects.c:2480 msgid "do not create an empty pack output" msgstr "försök inte skapa tom paketutdata" -#: builtin/pack-objects.c:2481 +#: builtin/pack-objects.c:2482 msgid "read revision arguments from standard input" msgstr "läs revisionsargument frÃ¥n standard in" -#: builtin/pack-objects.c:2483 +#: builtin/pack-objects.c:2484 msgid "limit the objects to those that are not yet packed" msgstr "begränsa objekt till de som ännu inte packats" -#: builtin/pack-objects.c:2486 +#: builtin/pack-objects.c:2487 msgid "include objects reachable from any reference" msgstr "inkludera objekt som kan nÃ¥s frÃ¥n nÃ¥gon referens" -#: builtin/pack-objects.c:2489 +#: builtin/pack-objects.c:2490 msgid "include objects referred by reflog entries" msgstr "inkludera objekt som refereras frÃ¥n referensloggposter" -#: builtin/pack-objects.c:2492 +#: builtin/pack-objects.c:2493 msgid "output pack to stdout" msgstr "skriv paket pÃ¥ standard ut" -#: builtin/pack-objects.c:2494 +#: builtin/pack-objects.c:2495 msgid "include tag objects that refer to objects to be packed" msgstr "inkludera taggobjekt som refererar objekt som skall packas" -#: builtin/pack-objects.c:2496 +#: builtin/pack-objects.c:2497 msgid "keep unreachable objects" msgstr "behÃ¥ll onÃ¥bara objekt" -#: builtin/pack-objects.c:2497 parse-options.h:141 +#: builtin/pack-objects.c:2498 parse-options.h:143 msgid "time" msgstr "tid" -#: builtin/pack-objects.c:2498 +#: builtin/pack-objects.c:2499 msgid "unpack unreachable objects newer than <time>" msgstr "packa upp onÃ¥bara objekt nyare än <tid>" -#: builtin/pack-objects.c:2501 +#: builtin/pack-objects.c:2502 msgid "create thin packs" msgstr "skapa tunna paket" -#: builtin/pack-objects.c:2503 +#: builtin/pack-objects.c:2504 msgid "ignore packs that have companion .keep file" msgstr "ignorera paket som har tillhörande .keep-fil" -#: builtin/pack-objects.c:2505 +#: builtin/pack-objects.c:2506 msgid "pack compression level" msgstr "komprimeringsgrad för paket" -#: builtin/pack-objects.c:2507 +#: builtin/pack-objects.c:2508 msgid "do not hide commits by grafts" msgstr "göm inte incheckningar med ympningar (\"grafts\")" @@ -7452,15 +7656,15 @@ msgstr "lÃ¥t tid gÃ¥ ut för objekt äldre än <tid>" msgid "git push [<options>] [<repository> [<refspec>...]]" msgstr "git push [<flaggor>] [<arkiv> [<refspec>...]]" -#: builtin/push.c:45 +#: builtin/push.c:47 msgid "tag shorthand without <tag>" msgstr "taggförkortning utan <tagg>" -#: builtin/push.c:64 +#: builtin/push.c:66 msgid "--delete only accepts plain target ref names" msgstr "--delete godtar endast enkla mÃ¥lreferensnamn" -#: builtin/push.c:99 +#: builtin/push.c:101 msgid "" "\n" "To choose either option permanently, see push.default in 'git help config'." @@ -7469,7 +7673,7 @@ msgstr "" "För att välja ett av alternativen permanent, se push.default i \"git help " "config\"." -#: builtin/push.c:102 +#: builtin/push.c:104 #, c-format msgid "" "The upstream branch of your current branch does not match\n" @@ -7494,7 +7698,7 @@ msgstr "" " git push %s %s\n" "%s" -#: builtin/push.c:117 +#: builtin/push.c:119 #, c-format msgid "" "You are not currently on a branch.\n" @@ -7509,7 +7713,7 @@ msgstr "" "\n" " git push %s HEAD:<namn-pÃ¥-fjärrgren>\n" -#: builtin/push.c:131 +#: builtin/push.c:133 #, c-format msgid "" "The current branch %s has no upstream branch.\n" @@ -7522,12 +7726,12 @@ msgstr "" "\n" " git push --set-upstream %s %s\n" -#: builtin/push.c:139 +#: builtin/push.c:141 #, c-format msgid "The current branch %s has multiple upstream branches, refusing to push." msgstr "Den aktuella grenen %s har flera uppströmsgrenar, vägrar sända." -#: builtin/push.c:142 +#: builtin/push.c:144 #, c-format msgid "" "You are pushing to remote '%s', which is not the upstream of\n" @@ -7538,7 +7742,7 @@ msgstr "" "aktuella grenen \"%s\", utan att tala om för mig vad som\n" "skall sändas för att uppdatera fjärrgrenen." -#: builtin/push.c:165 +#: builtin/push.c:167 msgid "" "push.default is unset; its implicit value is changing in\n" "Git 2.0 from 'matching' to 'simple'. To squelch this message\n" @@ -7572,14 +7776,14 @@ msgstr "" "liknande läget \"current\" istället för \"simple\" om du ibland använder\n" "äldre versioner av Git.)" -#: builtin/push.c:225 +#: builtin/push.c:227 msgid "" "You didn't specify any refspecs to push, and push.default is \"nothing\"." msgstr "" "Du angav inga referensspecifikationer att sända, och push.default är " "\"nothing\"." -#: builtin/push.c:232 +#: builtin/push.c:234 msgid "" "Updates were rejected because the tip of your current branch is behind\n" "its remote counterpart. Integrate the remote changes (e.g.\n" @@ -7591,7 +7795,7 @@ msgstr "" "\"git pull ....\") innan du sänder igen.\n" "Se avsnittet \"Note about fast-forward\" i \"git push --help\" för detaljer." -#: builtin/push.c:238 +#: builtin/push.c:240 msgid "" "Updates were rejected because a pushed branch tip is behind its remote\n" "counterpart. If you did not intend to push that branch, you may want to\n" @@ -7605,7 +7809,7 @@ msgstr "" "endast\n" "sända aktuell gren." -#: builtin/push.c:244 +#: builtin/push.c:246 msgid "" "Updates were rejected because a pushed branch tip is behind its remote\n" "counterpart. Check out this branch and integrate the remote changes\n" @@ -7617,7 +7821,7 @@ msgstr "" "\"git pull ...\") innan du sänder igen.\n" "Se avsnittet \"Note about fast-forward\" i \"git push --help\" för detaljer." -#: builtin/push.c:250 +#: builtin/push.c:252 msgid "" "Updates were rejected because the remote contains work that you do\n" "not have locally. This is usually caused by another repository pushing\n" @@ -7631,11 +7835,11 @@ msgstr "" "(t.ex. \"git pull ...\") innan du sänder igen.\n" "Se avsnittet \"Note about fast-forwards\" i \"git push --help\" för detaljer." -#: builtin/push.c:257 +#: builtin/push.c:259 msgid "Updates were rejected because the tag already exists in the remote." msgstr "Uppdateringarna avvisades eftersom taggen redan finns pÃ¥ fjärren." -#: builtin/push.c:260 +#: builtin/push.c:262 msgid "" "You cannot update a remote ref that points at a non-commit object,\n" "or update a remote ref to make it point at a non-commit object,\n" @@ -7646,22 +7850,22 @@ msgstr "" "pekar pÃ¥ nÃ¥got som inte är en incheckning, utan att använda flaggan\n" "\"--force\".\n" -#: builtin/push.c:320 +#: builtin/push.c:328 #, c-format msgid "Pushing to %s\n" msgstr "Sänder till %s\n" -#: builtin/push.c:324 +#: builtin/push.c:332 #, c-format msgid "failed to push some refs to '%s'" msgstr "misslyckades sända vissa referenser till \"%s\"" -#: builtin/push.c:357 +#: builtin/push.c:365 #, c-format msgid "bad repository '%s'" msgstr "felaktigt arkiv \"%s\"" -#: builtin/push.c:358 +#: builtin/push.c:366 msgid "" "No configured push destination.\n" "Either specify the URL from the command-line or configure a remote " @@ -7682,87 +7886,95 @@ msgstr "" "\n" " git push <namn>\n" -#: builtin/push.c:373 +#: builtin/push.c:381 msgid "--all and --tags are incompatible" msgstr "--all och --tags är inkompatibla" -#: builtin/push.c:374 +#: builtin/push.c:382 msgid "--all can't be combined with refspecs" msgstr "--all kan inte kombineras med referensspecifikationer" -#: builtin/push.c:379 +#: builtin/push.c:387 msgid "--mirror and --tags are incompatible" msgstr "--mirror och --tags är inkompatibla" -#: builtin/push.c:380 +#: builtin/push.c:388 msgid "--mirror can't be combined with refspecs" msgstr "--mirror kan inte kombineras med referensspecifikationer" -#: builtin/push.c:385 +#: builtin/push.c:393 msgid "--all and --mirror are incompatible" msgstr "--all och --mirror är inkompatibla" -#: builtin/push.c:445 +#: builtin/push.c:453 msgid "repository" msgstr "arkiv" -#: builtin/push.c:446 +#: builtin/push.c:454 msgid "push all refs" msgstr "sänd alla referenser" -#: builtin/push.c:447 +#: builtin/push.c:455 msgid "mirror all refs" msgstr "spegla alla referenser" -#: builtin/push.c:449 +#: builtin/push.c:457 msgid "delete refs" msgstr "ta bort referenser" -#: builtin/push.c:450 +#: builtin/push.c:458 msgid "push tags (can't be used with --all or --mirror)" msgstr "sänd taggar (kan inte användas med --all eller --mirror)" -#: builtin/push.c:453 +#: builtin/push.c:461 msgid "force updates" msgstr "tvinga uppdateringar" -#: builtin/push.c:454 +#: builtin/push.c:463 +msgid "refname>:<expect" +msgstr "refnamn>:<förvänta" + +#: builtin/push.c:464 +msgid "require old value of ref to be at this value" +msgstr "kräv att ref:s tidigare värde är detta" + +#: builtin/push.c:466 msgid "check" msgstr "kontrollera" -#: builtin/push.c:455 +#: builtin/push.c:467 msgid "control recursive pushing of submodules" msgstr "styr rekursiv insändning av undermoduler" -#: builtin/push.c:457 +#: builtin/push.c:469 msgid "use thin pack" msgstr "använd tunna paket" -#: builtin/push.c:458 builtin/push.c:459 +#: builtin/push.c:470 builtin/push.c:471 msgid "receive pack program" msgstr "program för att ta emot paket" -#: builtin/push.c:460 +#: builtin/push.c:472 msgid "set upstream for git pull/status" msgstr "ställ in uppström för git pull/status" -#: builtin/push.c:463 +#: builtin/push.c:475 msgid "prune locally removed refs" msgstr "ta bort lokalt borttagna referenser" -#: builtin/push.c:465 +#: builtin/push.c:477 msgid "bypass pre-push hook" msgstr "förbigÃ¥ pre-push-krok" -#: builtin/push.c:466 +#: builtin/push.c:478 msgid "push missing but relevant tags" msgstr "sänd in saknade men relevanta taggar" -#: builtin/push.c:476 +#: builtin/push.c:488 msgid "--delete is incompatible with --all, --mirror and --tags" msgstr "--delete är imkompatibel med --all, --mirror och --tags" -#: builtin/push.c:478 +#: builtin/push.c:490 msgid "--delete doesn't make sense without any refs" msgstr "--delete kan inte användas utan referenser" @@ -7840,12 +8052,12 @@ msgstr "hoppa över att applicera filter för gles utcheckning" msgid "debug unpack-trees" msgstr "felsök unpack-trees" -#: builtin/reflog.c:500 +#: builtin/reflog.c:499 #, c-format msgid "%s' for '%s' is not a valid timestamp" msgstr "\"%s\" för \"%s\" är inte en giltig tidsstämpel" -#: builtin/reflog.c:616 builtin/reflog.c:621 +#: builtin/reflog.c:615 builtin/reflog.c:620 #, c-format msgid "'%s' is not a valid timestamp" msgstr "\"%s\" är inte en giltig tidsstämpel" @@ -7870,9 +8082,9 @@ msgstr "git remote rename <gammal> <ny>" msgid "git remote remove <name>" msgstr "git remote remove <namn>" -#: builtin/remote.c:15 builtin/remote.c:42 -msgid "git remote set-head <name> (-a | -d | <branch>)" -msgstr "git remote set-head <namn> (-a | -d | <gren>)" +#: builtin/remote.c:15 +msgid "git remote set-head <name> (-a | --auto | -d | --delete |<branch>)" +msgstr "git remote set-head <namn> (-a | --auto | -d | --delete | <gren>)" #: builtin/remote.c:16 msgid "git remote [-v | --verbose] show [-n] <name>" @@ -7908,6 +8120,10 @@ msgstr "git remote set-url --delete <namn> <url>" msgid "git remote add [<options>] <name> <url>" msgstr "git remote add [<flaggor>] <namn> <url>" +#: builtin/remote.c:42 +msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)" +msgstr "git remote set-head <namn> (-a | --auto | -d | --delete | <gren>)" + #: builtin/remote.c:47 msgid "git remote set-branches <name> <branch>..." msgstr "git remote set-branches <namn> <gren>..." @@ -8344,6 +8560,67 @@ msgstr "Kommer inte ta bort alla icke-sänd-URL:er" msgid "be verbose; must be placed before a subcommand" msgstr "var pratsam; mÃ¥ste skrivas före ett underkommando" +#: builtin/repack.c:15 +msgid "git repack [options]" +msgstr "git repack [flaggor]" + +#: builtin/repack.c:143 +msgid "pack everything in a single pack" +msgstr "packa allt i ett enda paket" + +#: builtin/repack.c:145 +msgid "same as -a, and turn unreachable objects loose" +msgstr "samma som -a, och gör onÃ¥bara objekt lösa" + +#: builtin/repack.c:148 +msgid "remove redundant packs, and run git-prune-packed" +msgstr "ta bort överflödiga paket, och kör git-prune-packed" + +#: builtin/repack.c:150 +msgid "pass --no-reuse-delta to git-pack-objects" +msgstr "sänd --no-reuse-delta till git-pack-objects" + +#: builtin/repack.c:152 +msgid "pass --no-reuse-object to git-pack-objects" +msgstr "sänd --no-reuse-object till git-pack-objects" + +#: builtin/repack.c:154 +msgid "do not run git-update-server-info" +msgstr "kör inte git-update-server-info" + +#: builtin/repack.c:157 +msgid "pass --local to git-pack-objects" +msgstr "sänd --local till git-pack-objects" + +#: builtin/repack.c:158 +msgid "approxidate" +msgstr "cirkadatum" + +#: builtin/repack.c:159 +msgid "with -A, do not loosen objects older than this" +msgstr "med -A, lös inte upp objekt äldre än detta" + +#: builtin/repack.c:161 +msgid "size of the window used for delta compression" +msgstr "storlek pÃ¥ fönster använt för deltakomprimering" + +#: builtin/repack.c:163 +msgid "same as the above, but limit memory size instead of entries count" +msgstr "samma som ovan, men begränsa minnesstorleken istället för postantal" + +#: builtin/repack.c:165 +msgid "limits the maximum delta depth" +msgstr "begränsa maximalt deltadjup" + +#: builtin/repack.c:167 +msgid "maximum size of each packfile" +msgstr "maximal storlek pÃ¥ varje paketfil" + +#: builtin/repack.c:345 +#, c-format +msgid "removing '%s' failed" +msgstr "misslyckades ta bort \"%s\"" + #: builtin/replace.c:17 msgid "git replace [-f] <object> <replacement>" msgstr "git replace [-f] <objekt> <ersättning>" @@ -8356,23 +8633,23 @@ msgstr "git replace -d <objekt>..." msgid "git replace -l [<pattern>]" msgstr "git replace -l [<mönster>]" -#: builtin/replace.c:121 +#: builtin/replace.c:131 msgid "list replace refs" msgstr "visa ersättningsreferenser" -#: builtin/replace.c:122 +#: builtin/replace.c:132 msgid "delete replace refs" msgstr "ta bort ersättningsreferenser" -#: builtin/replace.c:123 +#: builtin/replace.c:133 msgid "replace the ref if it exists" msgstr "ersätt referensen om den finns" -#: builtin/rerere.c:11 +#: builtin/rerere.c:12 msgid "git rerere [clear | forget path... | status | remaining | diff | gc]" msgstr "git rerere [clear | forget path... | status | remaining | diff | gc]" -#: builtin/rerere.c:56 +#: builtin/rerere.c:57 msgid "register clean resolutions in index" msgstr "registrera rena lösningar i indexet" @@ -8433,70 +8710,70 @@ msgstr "HEAD är nu pÃ¥ %s" msgid "Cannot do a %s reset in the middle of a merge." msgstr "Kan inte utföra en %s Ã¥terställning mitt i en sammanslagning." -#: builtin/reset.c:251 +#: builtin/reset.c:262 msgid "be quiet, only report errors" msgstr "var tyst, rapportera endast fel" -#: builtin/reset.c:253 +#: builtin/reset.c:264 msgid "reset HEAD and index" msgstr "Ã¥terställ HEAD och index" -#: builtin/reset.c:254 +#: builtin/reset.c:265 msgid "reset only HEAD" msgstr "Ã¥terställ endast HEAD" -#: builtin/reset.c:256 builtin/reset.c:258 +#: builtin/reset.c:267 builtin/reset.c:269 msgid "reset HEAD, index and working tree" msgstr "Ã¥terställ HEAD, index och arbetskatalog" -#: builtin/reset.c:260 +#: builtin/reset.c:271 msgid "reset HEAD but keep local changes" msgstr "Ã¥terställ HEAD men behÃ¥ll lokala ändringar" -#: builtin/reset.c:278 +#: builtin/reset.c:289 #, c-format msgid "Failed to resolve '%s' as a valid revision." msgstr "Kunde inte slÃ¥ upp \"%s\" som en giltig revision." -#: builtin/reset.c:281 builtin/reset.c:289 +#: builtin/reset.c:292 builtin/reset.c:300 #, c-format msgid "Could not parse object '%s'." msgstr "Kan inte tolka objektet \"%s\"" -#: builtin/reset.c:286 +#: builtin/reset.c:297 #, c-format msgid "Failed to resolve '%s' as a valid tree." msgstr "Kunde inte slÃ¥ upp \"%s\" som ett giltigt träd." -#: builtin/reset.c:295 +#: builtin/reset.c:306 msgid "--patch is incompatible with --{hard,mixed,soft}" msgstr "--patch är inkompatibel med --{hard,mixed,soft}" -#: builtin/reset.c:304 +#: builtin/reset.c:315 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead." msgstr "" "--mixed rekommenderas inte med sökvägar; använd \"git reset -- <sökvägar>\"." -#: builtin/reset.c:306 +#: builtin/reset.c:317 #, c-format msgid "Cannot do %s reset with paths." msgstr "Kan inte göra %s Ã¥terställning med sökvägar." -#: builtin/reset.c:316 +#: builtin/reset.c:327 #, c-format msgid "%s reset is not allowed in a bare repository" msgstr "%s Ã¥terställning tillÃ¥ts inte i ett naket arkiv" -#: builtin/reset.c:336 +#: builtin/reset.c:344 +msgid "Unstaged changes after reset:" +msgstr "Oköade ändringar efter Ã¥terställning:" + +#: builtin/reset.c:350 #, c-format msgid "Could not reset index file to revision '%s'." msgstr "Kunde inte Ã¥terställa indexfilen till versionen \"%s\"." -#: builtin/reset.c:342 -msgid "Unstaged changes after reset:" -msgstr "Oköade ändringar efter Ã¥terställning:" - -#: builtin/reset.c:347 +#: builtin/reset.c:355 msgid "Could not write new index file." msgstr "Kunde inte skriva ny indexfil." @@ -8543,84 +8820,84 @@ msgstr "git cherry-pick [flaggor] <incheckning-igt>..." msgid "git cherry-pick <subcommand>" msgstr "git cherry-pick <underkommando>" -#: builtin/revert.c:71 builtin/revert.c:94 +#: builtin/revert.c:71 #, c-format msgid "%s: %s cannot be used with %s" msgstr "%s: %s kan inte användas med %s" -#: builtin/revert.c:105 +#: builtin/revert.c:80 msgid "end revert or cherry-pick sequence" msgstr "avsluta revert- eller cherry-pick-sekvens" -#: builtin/revert.c:106 +#: builtin/revert.c:81 msgid "resume revert or cherry-pick sequence" msgstr "Ã¥teruppta revert- eller cherry-pick-sekvens" -#: builtin/revert.c:107 +#: builtin/revert.c:82 msgid "cancel revert or cherry-pick sequence" msgstr "avbryt revert- eller cherry-pick-sekvens" -#: builtin/revert.c:108 +#: builtin/revert.c:83 msgid "don't automatically commit" msgstr "checka inte in automatiskt" -#: builtin/revert.c:109 +#: builtin/revert.c:84 msgid "edit the commit message" msgstr "redigera incheckningsmeddelandet" -#: builtin/revert.c:112 +#: builtin/revert.c:87 msgid "parent number" msgstr "nummer pÃ¥ förälder" -#: builtin/revert.c:114 +#: builtin/revert.c:89 msgid "merge strategy" msgstr "sammanslagninsstrategi" -#: builtin/revert.c:115 +#: builtin/revert.c:90 msgid "option" msgstr "alternativ" -#: builtin/revert.c:116 +#: builtin/revert.c:91 msgid "option for merge strategy" msgstr "alternativ för sammanslagningsstrategi" -#: builtin/revert.c:127 +#: builtin/revert.c:102 msgid "append commit name" msgstr "lägg till incheckningsnamn" -#: builtin/revert.c:128 +#: builtin/revert.c:103 msgid "allow fast-forward" msgstr "tillÃ¥t snabbspolning" -#: builtin/revert.c:129 +#: builtin/revert.c:104 msgid "preserve initially empty commits" msgstr "behÃ¥ll incheckningar som börjar som tomma" -#: builtin/revert.c:130 +#: builtin/revert.c:105 msgid "allow commits with empty messages" msgstr "tillÃ¥t incheckningar med tomt meddelande" -#: builtin/revert.c:131 +#: builtin/revert.c:106 msgid "keep redundant, empty commits" msgstr "behÃ¥ll redundanta, tomma incheckningar" -#: builtin/revert.c:135 +#: builtin/revert.c:110 msgid "program error" msgstr "programfel" -#: builtin/revert.c:225 +#: builtin/revert.c:195 msgid "revert failed" msgstr "\"revert\" misslyckades" -#: builtin/revert.c:240 +#: builtin/revert.c:210 msgid "cherry-pick failed" msgstr "\"cherry-pick\" misslyckades" -#: builtin/rm.c:16 +#: builtin/rm.c:17 msgid "git rm [options] [--] <file>..." msgstr "git rm [flaggor] [--] <fil>..." -#: builtin/rm.c:64 +#: builtin/rm.c:65 msgid "" "the following submodule (or one of its nested submodules)\n" "uses a .git directory:" @@ -8634,7 +8911,7 @@ msgstr[1] "" "följande undermoduler (eller en av deras nästlade undermoduler)\n" "använder en .git-katalog:" -#: builtin/rm.c:70 +#: builtin/rm.c:71 msgid "" "\n" "(use 'rm -rf' if you really want to remove it including all of its history)" @@ -8642,7 +8919,7 @@ msgstr "" "\n" "(använd \"rm -rf\" om du verkligen vill ta bort den och all dess historik)" -#: builtin/rm.c:230 +#: builtin/rm.c:231 msgid "" "the following file has staged content different from both the\n" "file and the HEAD:" @@ -8654,7 +8931,7 @@ msgstr[0] "" msgstr[1] "" "följande filer har köat innehÃ¥ll som skiljer sig bÃ¥de frÃ¥n filen och HEAD:" -#: builtin/rm.c:235 +#: builtin/rm.c:236 msgid "" "\n" "(use -f to force removal)" @@ -8662,13 +8939,13 @@ msgstr "" "\n" "(använd -f för att tvinga borttagning)" -#: builtin/rm.c:239 +#: builtin/rm.c:240 msgid "the following file has changes staged in the index:" msgid_plural "the following files have changes staged in the index:" msgstr[0] "följande fil har ändringar köade i indexet:" msgstr[1] "följande filer har ändringar köade i indexet:" -#: builtin/rm.c:243 builtin/rm.c:254 +#: builtin/rm.c:244 builtin/rm.c:255 msgid "" "\n" "(use --cached to keep the file, or -f to force removal)" @@ -8676,38 +8953,38 @@ msgstr "" "\n" "(använd --cached för att behÃ¥lla filen eller -f för att tvinga borttagning)" -#: builtin/rm.c:251 +#: builtin/rm.c:252 msgid "the following file has local modifications:" msgid_plural "the following files have local modifications:" msgstr[0] "följande fil har lokala ändringar:" msgstr[1] "följande filer har lokala ändringar:" -#: builtin/rm.c:269 +#: builtin/rm.c:270 msgid "do not list removed files" msgstr "lista inte borttagna filer" -#: builtin/rm.c:270 +#: builtin/rm.c:271 msgid "only remove from the index" msgstr "ta bara bort frÃ¥n indexet" -#: builtin/rm.c:271 +#: builtin/rm.c:272 msgid "override the up-to-date check" msgstr "överstyr à jour-testet" -#: builtin/rm.c:272 +#: builtin/rm.c:273 msgid "allow recursive removal" msgstr "tillÃ¥t rekursiv borttagning" -#: builtin/rm.c:274 +#: builtin/rm.c:275 msgid "exit with a zero status even if nothing matched" msgstr "avsluta med nollstatus även om inget träffades" -#: builtin/rm.c:345 +#: builtin/rm.c:336 #, c-format msgid "not removing '%s' recursively without -r" msgstr "tar inte bort \"%s\" rekursivt utan -r" -#: builtin/rm.c:384 +#: builtin/rm.c:375 #, c-format msgid "git rm: unable to remove %s" msgstr "git rm: kan inte ta bort %s" @@ -8721,23 +8998,23 @@ msgstr "git shortlog [<flaggor>] [<versionsintervall>] [[--] <sökväg>...]" msgid "Missing author: %s" msgstr "Författare saknas: %s" -#: builtin/shortlog.c:228 +#: builtin/shortlog.c:230 msgid "sort output according to the number of commits per author" msgstr "sortera utdata enligt antal incheckningar per författare" -#: builtin/shortlog.c:230 +#: builtin/shortlog.c:232 msgid "Suppress commit descriptions, only provides commit count" msgstr "Undertryck beskrivningar, visa bara antal incheckningar" -#: builtin/shortlog.c:232 +#: builtin/shortlog.c:234 msgid "Show the email address of each author" msgstr "Visa e-postadress för varje författare" -#: builtin/shortlog.c:233 +#: builtin/shortlog.c:235 msgid "w[,i1[,i2]]" msgstr "w[,i1[,i2]]" -#: builtin/shortlog.c:234 +#: builtin/shortlog.c:236 msgid "Linewrap output" msgstr "Radbryt utdata" @@ -8845,23 +9122,23 @@ msgstr "visa endast huvuden (kan kombineras med taggar)" msgid "stricter reference checking, requires exact ref path" msgstr "striktare referenskontroll, kräver exakt referenssökväg" -#: builtin/show-ref.c:173 builtin/show-ref.c:176 +#: builtin/show-ref.c:173 builtin/show-ref.c:175 msgid "show the HEAD reference, even if it would be filtered out" msgstr "visa HEAD-refrens, även när den skulle filtreras ut" -#: builtin/show-ref.c:178 +#: builtin/show-ref.c:177 msgid "dereference tags into object IDs" msgstr "avreferera taggar till objekt-id" -#: builtin/show-ref.c:180 +#: builtin/show-ref.c:179 msgid "only show SHA1 hash using <n> digits" msgstr "visa SHA1-hash endast med <n> siffror" -#: builtin/show-ref.c:184 +#: builtin/show-ref.c:183 msgid "do not print results to stdout (useful with --verify)" msgstr "visa inte resultat pÃ¥ standard ut (användbart med --verify)" -#: builtin/show-ref.c:186 +#: builtin/show-ref.c:185 msgid "show refs from stdin that aren't in local repository" msgstr "visa referenser frÃ¥n standard in som inte finns i lokalt arkiv" @@ -8886,11 +9163,11 @@ msgstr "ta bort symbolisk referens" msgid "shorten ref output" msgstr "förkorta ref-utdata" -#: builtin/symbolic-ref.c:43 builtin/update-ref.c:18 +#: builtin/symbolic-ref.c:43 builtin/update-ref.c:254 msgid "reason" msgstr "skäl" -#: builtin/symbolic-ref.c:43 builtin/update-ref.c:18 +#: builtin/symbolic-ref.c:43 builtin/update-ref.c:254 msgid "reason of the update" msgstr "skäl till uppdateringen" @@ -9055,183 +9332,195 @@ msgstr "visa endast taggar som innehÃ¥ller incheckningen" msgid "print only tags of the object" msgstr "visa endast taggar för objektet" -#: builtin/tag.c:504 +#: builtin/tag.c:501 msgid "--column and -n are incompatible" msgstr "--column och -n är inkompatibla" -#: builtin/tag.c:521 +#: builtin/tag.c:518 msgid "-n option is only allowed with -l." msgstr "Flaggan -n är endast tillÃ¥ten tillsammans med -l." -#: builtin/tag.c:523 +#: builtin/tag.c:520 msgid "--contains option is only allowed with -l." msgstr "Flaggan --contains är endast tillÃ¥ten tillsammans med -l" -#: builtin/tag.c:525 +#: builtin/tag.c:522 msgid "--points-at option is only allowed with -l." msgstr "Flaggan --points-at är endast tillÃ¥ten tillsammans med -l." -#: builtin/tag.c:533 +#: builtin/tag.c:530 msgid "only one -F or -m option is allowed." msgstr "endast en av flaggorna -F eller -m tillÃ¥ts." -#: builtin/tag.c:553 +#: builtin/tag.c:550 msgid "too many params" msgstr "för mÃ¥nga parametrar" -#: builtin/tag.c:559 +#: builtin/tag.c:556 #, c-format msgid "'%s' is not a valid tag name." msgstr "\"%s\" är inte ett giltigt taggnamn." -#: builtin/tag.c:564 +#: builtin/tag.c:561 #, c-format msgid "tag '%s' already exists" msgstr "taggen \"%s\" finns redan" -#: builtin/tag.c:582 +#: builtin/tag.c:579 #, c-format msgid "%s: cannot lock the ref" msgstr "%s: kan inte lÃ¥sa referensen" -#: builtin/tag.c:584 +#: builtin/tag.c:581 #, c-format msgid "%s: cannot update the ref" msgstr "%s: kan inte uppdatera referensen" -#: builtin/tag.c:586 +#: builtin/tag.c:583 #, c-format msgid "Updated tag '%s' (was %s)\n" msgstr "Uppdaterad tagg \"%s\" (var %s)\n" -#: builtin/update-index.c:401 +#: builtin/update-index.c:402 msgid "git update-index [options] [--] [<file>...]" msgstr "git update-index [flaggor] [--] [<fil>...]" -#: builtin/update-index.c:718 +#: builtin/update-index.c:720 msgid "continue refresh even when index needs update" msgstr "fortsätt uppdatera även när index inte är à jour" -#: builtin/update-index.c:721 +#: builtin/update-index.c:723 msgid "refresh: ignore submodules" msgstr "refresh: ignorera undermoduler" -#: builtin/update-index.c:724 +#: builtin/update-index.c:726 msgid "do not ignore new files" msgstr "ignorera inte nya filer" -#: builtin/update-index.c:726 +#: builtin/update-index.c:728 msgid "let files replace directories and vice-versa" msgstr "lÃ¥t filer ersätta kataloger och omvänt" -#: builtin/update-index.c:728 +#: builtin/update-index.c:730 msgid "notice files missing from worktree" msgstr "lägg märke till filer som saknas i arbetskatalogen" -#: builtin/update-index.c:730 +#: builtin/update-index.c:732 msgid "refresh even if index contains unmerged entries" msgstr "uppdatera även om indexet innehÃ¥ller ej sammanslagna poster" -#: builtin/update-index.c:733 +#: builtin/update-index.c:735 msgid "refresh stat information" msgstr "uppdatera statusinformation" -#: builtin/update-index.c:737 +#: builtin/update-index.c:739 msgid "like --refresh, but ignore assume-unchanged setting" msgstr "som --refresh, men ignorera assume-unchanged-inställning" -#: builtin/update-index.c:741 +#: builtin/update-index.c:743 msgid "<mode> <object> <path>" msgstr "<läge> <objekt> <sökväg>" -#: builtin/update-index.c:742 +#: builtin/update-index.c:744 msgid "add the specified entry to the index" msgstr "lägg till angiven post i indexet" -#: builtin/update-index.c:746 +#: builtin/update-index.c:748 msgid "(+/-)x" msgstr "(+/-)x" -#: builtin/update-index.c:747 +#: builtin/update-index.c:749 msgid "override the executable bit of the listed files" msgstr "överstyr exekveringsbiten för angivna filer" -#: builtin/update-index.c:751 +#: builtin/update-index.c:753 msgid "mark files as \"not changing\"" msgstr "markera filer som \"ändras inte\"" -#: builtin/update-index.c:754 +#: builtin/update-index.c:756 msgid "clear assumed-unchanged bit" msgstr "rensa \"assume-unchanged\"-biten" -#: builtin/update-index.c:757 +#: builtin/update-index.c:759 msgid "mark files as \"index-only\"" msgstr "markera filer som \"endast index\"" -#: builtin/update-index.c:760 +#: builtin/update-index.c:762 msgid "clear skip-worktree bit" msgstr "töm \"skip-worktree\"-biten" -#: builtin/update-index.c:763 +#: builtin/update-index.c:765 msgid "add to index only; do not add content to object database" msgstr "lägg endast till indexet; lägg inte till innehÃ¥llet i objektdatabasen" -#: builtin/update-index.c:765 +#: builtin/update-index.c:767 msgid "remove named paths even if present in worktree" msgstr "ta bort namngivna sökvägar även om de finns i arbetskatalogen" -#: builtin/update-index.c:767 +#: builtin/update-index.c:769 msgid "with --stdin: input lines are terminated by null bytes" msgstr "med --stdin: indatarader termineras med null-byte" -#: builtin/update-index.c:769 +#: builtin/update-index.c:771 msgid "read list of paths to be updated from standard input" msgstr "läs lista över sökvägar att uppdatera frÃ¥n standard in" -#: builtin/update-index.c:773 +#: builtin/update-index.c:775 msgid "add entries from standard input to the index" msgstr "lägg poster frÃ¥n frÃ¥n standard in till indexet" -#: builtin/update-index.c:777 +#: builtin/update-index.c:779 msgid "repopulate stages #2 and #3 for the listed paths" msgstr "Ã¥terfyll etapp 2 och 3 frÃ¥n angivna sökvägar" -#: builtin/update-index.c:781 +#: builtin/update-index.c:783 msgid "only update entries that differ from HEAD" msgstr "uppdatera endast poster som skiljer sig frÃ¥n HEAD" -#: builtin/update-index.c:785 +#: builtin/update-index.c:787 msgid "ignore files missing from worktree" msgstr "ignorera filer som saknas i arbetskatalogen" -#: builtin/update-index.c:788 +#: builtin/update-index.c:790 msgid "report actions to standard output" msgstr "raportera Ã¥tgärder pÃ¥ standard ut" -#: builtin/update-index.c:790 +#: builtin/update-index.c:792 msgid "(for porcelains) forget saved unresolved conflicts" msgstr "(för porslin) glöm sparade olösta konflikter" -#: builtin/update-index.c:794 +#: builtin/update-index.c:796 msgid "write index in this format" msgstr "skriv index i detta format" -#: builtin/update-ref.c:7 +#: builtin/update-ref.c:9 msgid "git update-ref [options] -d <refname> [<oldval>]" msgstr "git update-ref [flaggor] -d <refnamn> [<gammaltvärde>]" -#: builtin/update-ref.c:8 +#: builtin/update-ref.c:10 msgid "git update-ref [options] <refname> <newval> [<oldval>]" msgstr "git update-ref [flaggor] <refnamn> <gammaltvärde> [<nyttvärde>]" -#: builtin/update-ref.c:19 +#: builtin/update-ref.c:11 +msgid "git update-ref [options] --stdin [-z]" +msgstr "git update-ref [flaggor] --stdin [-z]" + +#: builtin/update-ref.c:255 msgid "delete the reference" msgstr "ta bort referensen" -#: builtin/update-ref.c:21 +#: builtin/update-ref.c:257 msgid "update <refname> not the one it points to" msgstr "uppdatera <refnamn> inte det den pekar pÃ¥" +#: builtin/update-ref.c:258 +msgid "stdin has NUL-terminated arguments" +msgstr "standard in har NUL-terminerade argument" + +#: builtin/update-ref.c:259 +msgid "read updates from stdin" +msgstr "läs uppdateringar frÃ¥n standard in" + #: builtin/update-server-info.c:6 msgid "git update-server-info [--force]" msgstr "git update-server-info [--force]" @@ -9286,23 +9575,23 @@ msgstr "" "nÃ¥gra konceptvägledningar. Se \"git help <kommando>\" eller \"git help\n" "<koncept>\" för att läsa mer om specifika underkommandon och koncept." -#: parse-options.h:144 +#: parse-options.h:146 msgid "expiry date" msgstr "giltig till" -#: parse-options.h:159 +#: parse-options.h:161 msgid "no-op (backward compatibility)" msgstr "ingen funktion (bakÃ¥tkompatibilitet)" -#: parse-options.h:236 +#: parse-options.h:238 msgid "be more verbose" msgstr "var mer pratsam" -#: parse-options.h:238 +#: parse-options.h:240 msgid "be more quiet" msgstr "var mer tyst" -#: parse-options.h:244 +#: parse-options.h:246 msgid "use <n> digits to display SHA-1s" msgstr "använd <n> siffror för att visa SHA-1:or" @@ -9438,7 +9727,7 @@ msgstr "" #: git-am.sh:163 msgid "Falling back to patching base and 3-way merge..." msgstr "" -"Faller tillbaka pÃ¥ att pacha grundversionen och trevägssammanslagning..." +"Faller tillbaka pÃ¥ att patcha grundversionen och trevägssammanslagning..." #: git-am.sh:179 msgid "Failed to merge in the changes." @@ -9740,7 +10029,7 @@ msgstr "" msgid "Pull is not possible because you have unmerged files." msgstr "Du kan inte göra en \"pull\" dÃ¥ du har ändringar som inte checkats in." -#: git-pull.sh:203 +#: git-pull.sh:223 msgid "updating an unborn branch with changes added to the index" msgstr "uppdaterar en ofödd gren med ändringar som lagts till i indexet" @@ -9748,7 +10037,7 @@ msgstr "uppdaterar en ofödd gren med ändringar som lagts till i indexet" #. The working tree and the index file is still based on the #. $orig_head commit, but we are merging into $curr_head. #. First update the working tree to match $curr_head. -#: git-pull.sh:235 +#: git-pull.sh:255 #, sh-format msgid "" "Warning: fetch updated the current branch head.\n" @@ -9759,11 +10048,11 @@ msgstr "" "Varning: snabbspolar din arbetskatalog frÃ¥n\n" "Varning: incheckningen $orig_head." -#: git-pull.sh:260 +#: git-pull.sh:280 msgid "Cannot merge multiple branches into empty head" msgstr "Kan inte slÃ¥ ihop flera grenar i ett tomt huvud." -#: git-pull.sh:264 +#: git-pull.sh:284 msgid "Cannot rebase onto multiple branches" msgstr "Kan inte utföra en \"rebase\" ovanpÃ¥ flera grenar" @@ -9797,31 +10086,31 @@ msgstr "" "Dina ändringar är säkra i stashen.\n" "Du kan när som helst använda \"git stash pop\" eller \"git stash drop\".\n" -#: git-rebase.sh:190 +#: git-rebase.sh:199 msgid "The pre-rebase hook refused to rebase." msgstr "Kroken pre-rebase vägrade ombaseringen." -#: git-rebase.sh:195 +#: git-rebase.sh:204 msgid "It looks like git-am is in progress. Cannot rebase." msgstr "Det verkar som en git-am körs. Kan inte ombasera." -#: git-rebase.sh:329 +#: git-rebase.sh:338 msgid "The --exec option must be used with the --interactive option" msgstr "Flaggan --exec mÃ¥ste användas tillsammans med flaggan --interactive" -#: git-rebase.sh:334 +#: git-rebase.sh:343 msgid "No rebase in progress?" msgstr "Ingen ombasering pÃ¥gÃ¥r?" -#: git-rebase.sh:345 +#: git-rebase.sh:354 msgid "The --edit-todo action can only be used during interactive rebase." msgstr "Ã…tgärden --edit-todo kan endast användas under interaktiv ombasering." -#: git-rebase.sh:352 +#: git-rebase.sh:361 msgid "Cannot read HEAD" msgstr "Kan inte läsa HEAD" -#: git-rebase.sh:355 +#: git-rebase.sh:364 msgid "" "You must edit all merge conflicts and then\n" "mark them as resolved using git add" @@ -9829,12 +10118,12 @@ msgstr "" "Du mÃ¥ste redigera alla sammanslagningskonflikter och\n" "därefter markera dem som lösta med git add" -#: git-rebase.sh:373 +#: git-rebase.sh:382 #, sh-format msgid "Could not move back to $head_name" msgstr "Kunde inte flytta tillbaka till $head_name" -#: git-rebase.sh:392 +#: git-rebase.sh:401 #, sh-format msgid "" "It seems that there is already a $state_dir_base directory, and\n" @@ -9855,66 +10144,66 @@ msgstr "" "och kör programmet igen. Jag avslutar ifall du fortfarande har\n" "nÃ¥got av värde där." -#: git-rebase.sh:437 +#: git-rebase.sh:446 #, sh-format msgid "invalid upstream $upstream_name" msgstr "ogiltig uppström $upstream_name" -#: git-rebase.sh:461 +#: git-rebase.sh:470 #, sh-format msgid "$onto_name: there are more than one merge bases" msgstr "$onto_name: mer än en sammanslagningsbas finns" -#: git-rebase.sh:464 git-rebase.sh:468 +#: git-rebase.sh:473 git-rebase.sh:477 #, sh-format msgid "$onto_name: there is no merge base" msgstr "$onto_name: ingen sammanslagningsbas finns" -#: git-rebase.sh:473 +#: git-rebase.sh:482 #, sh-format msgid "Does not point to a valid commit: $onto_name" msgstr "Peka pÃ¥ en giltig incheckning: $onto_name" -#: git-rebase.sh:496 +#: git-rebase.sh:505 #, sh-format msgid "fatal: no such branch: $branch_name" msgstr "ödesdigert: ingen sÃ¥dan gren: $branch_name" -#: git-rebase.sh:519 +#: git-rebase.sh:528 msgid "Cannot autostash" msgstr "Kan inte utföra \"autostash\"" -#: git-rebase.sh:524 +#: git-rebase.sh:533 #, sh-format msgid "Created autostash: $stash_abbrev" msgstr "Skapade autostash: $stash_abbrev" -#: git-rebase.sh:528 +#: git-rebase.sh:537 msgid "Please commit or stash them." msgstr "Checka in eller använd \"stash\" pÃ¥ dem." -#: git-rebase.sh:548 +#: git-rebase.sh:557 #, sh-format msgid "Current branch $branch_name is up to date." msgstr "Aktuell gren $branch_name är à jour." -#: git-rebase.sh:552 +#: git-rebase.sh:561 #, sh-format msgid "Current branch $branch_name is up to date, rebase forced." msgstr "Aktuell gren $branch_name är à jour, ombasering framtvingad." -#: git-rebase.sh:563 +#: git-rebase.sh:572 #, sh-format msgid "Changes from $mb to $onto:" msgstr "Ändringar frÃ¥n $mb till $onto:" #. Detach HEAD and reset the tree -#: git-rebase.sh:572 +#: git-rebase.sh:581 msgid "First, rewinding head to replay your work on top of it..." msgstr "" "Först, spolar tillbaka huvudet för att spela av ditt arbete ovanpÃ¥ det..." -#: git-rebase.sh:582 +#: git-rebase.sh:591 #, sh-format msgid "Fast-forwarded $branch_name to $onto_name." msgstr "Snabbspolade $branch_name till $onto_name." @@ -9962,7 +10251,7 @@ msgstr "Kan inte uppdatera $ref_stash med $w_commit" #. $ git stash save --blah-blah 2>&1 | head -n 2 #. error: unknown option for 'stash save': --blah-blah #. To provide a message, use git stash save -- '--blah-blah' -#: git-stash.sh:241 +#: git-stash.sh:237 #, sh-format msgid "" "error: unknown option for 'stash save': $option\n" @@ -9971,100 +10260,85 @@ msgstr "" "fel: felaktig flagga för \"stash save\": $option\n" " För att ange ett meddelande, använd git stash save -- \"$option\"" -#: git-stash.sh:262 +#: git-stash.sh:258 msgid "No local changes to save" msgstr "Inga lokala ändringar att spara" -#: git-stash.sh:268 -msgid "" -"The following untracked files would NOT be saved but need to be removed by " -"stash save:" -msgstr "" -"Följande ospÃ¥rade ändringar skulle INTE sparas utan mÃ¥ste tas bort med " -"\"stash save\":" - -#: git-stash.sh:270 -msgid "" -"Aborting. Consider using either the --force or --include-untracked option." -msgstr "" -"Avbryter. Överväg att använda antingen flaggan --force eller --include-" -"untracked." - -#: git-stash.sh:274 +#: git-stash.sh:262 msgid "Cannot initialize stash" msgstr "Kan inte initiera \"stash\"" -#: git-stash.sh:278 +#: git-stash.sh:266 msgid "Cannot save the current status" msgstr "Kan inte spara aktuell status" -#: git-stash.sh:296 +#: git-stash.sh:284 msgid "Cannot remove worktree changes" msgstr "Kan inte ta bort ändringar i arbetskatalogen" -#: git-stash.sh:395 +#: git-stash.sh:383 msgid "No stash found." msgstr "Ingen \"stash\" hittades." -#: git-stash.sh:402 +#: git-stash.sh:390 #, sh-format msgid "Too many revisions specified: $REV" msgstr "För mÃ¥nga revisioner angivna: $REV" -#: git-stash.sh:408 +#: git-stash.sh:396 #, sh-format msgid "$reference is not valid reference" msgstr "$reference är inte en giltig referens." -#: git-stash.sh:436 +#: git-stash.sh:424 #, sh-format msgid "'$args' is not a stash-like commit" msgstr "\"$args\" är inte en \"stash\"-liknande incheckning" -#: git-stash.sh:447 +#: git-stash.sh:435 #, sh-format msgid "'$args' is not a stash reference" msgstr "\"$args\" är inte en \"stash\"-referens" -#: git-stash.sh:455 +#: git-stash.sh:443 msgid "unable to refresh index" msgstr "kan inte uppdatera indexet" -#: git-stash.sh:459 +#: git-stash.sh:447 msgid "Cannot apply a stash in the middle of a merge" msgstr "Kan inte tillämpa en \"stash\" mitt i en sammanslagning" -#: git-stash.sh:467 +#: git-stash.sh:455 msgid "Conflicts in index. Try without --index." msgstr "Konflikter i indexet. Testa utan --index." -#: git-stash.sh:469 +#: git-stash.sh:457 msgid "Could not save index tree" msgstr "Kunde inte spara indexträd" -#: git-stash.sh:503 +#: git-stash.sh:491 msgid "Cannot unstage modified files" msgstr "Kan inte ta bort ändrade filer ur kön" -#: git-stash.sh:518 +#: git-stash.sh:506 msgid "Index was not unstashed." msgstr "Indexet har inte tagits ur kön." -#: git-stash.sh:535 +#: git-stash.sh:523 #, sh-format msgid "Dropped ${REV} ($s)" msgstr "Kastade ${REV} ($s)" -#: git-stash.sh:536 +#: git-stash.sh:524 #, sh-format msgid "${REV}: Could not drop stash entry" msgstr "${REV}: Kunde inte kasta \"stash\"-post" -#: git-stash.sh:543 +#: git-stash.sh:531 msgid "No branch name specified" msgstr "Inget grennamn angavs" -#: git-stash.sh:615 +#: git-stash.sh:603 msgid "(To restore them type \"git stash apply\")" msgstr "(För att Ã¥terställa dem, skriv \"git stash apply\")" @@ -10333,50 +10607,61 @@ msgid "The --cached option cannot be used with the --files option" msgstr "Flaggan --cached kan inte användas med flaggan --files" #. unexpected type -#: git-submodule.sh:1066 +#: git-submodule.sh:1073 #, sh-format msgid "unexpected mode $mod_dst" msgstr "oväntat läge $mod_dst" -#: git-submodule.sh:1086 +#: git-submodule.sh:1093 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_src" msgstr " Varning: $display_name innehÃ¥ller inte incheckningen $sha1_src" -#: git-submodule.sh:1089 +#: git-submodule.sh:1096 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_dst" msgstr " Varning: $display_name innehÃ¥ller inte incheckningen $sha1_dst" -#: git-submodule.sh:1092 +#: git-submodule.sh:1099 #, sh-format msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst" msgstr "" " Varning: $display_name innehÃ¥ller inte incheckningarna $sha1_src och " "$sha1_dst" -#: git-submodule.sh:1117 +#: git-submodule.sh:1124 msgid "blob" msgstr "blob" -#: git-submodule.sh:1155 -msgid "Submodules changed but not updated:" -msgstr "Undermoduler ändrade men inte uppdaterade:" - -#: git-submodule.sh:1157 -msgid "Submodule changes to be committed:" -msgstr "Undermodulers ändringar att checka in:" - -#: git-submodule.sh:1242 +#: git-submodule.sh:1238 #, sh-format msgid "Failed to recurse into submodule path '$sm_path'" msgstr "Misslyckades rekursera in i undermodulsökvägen \"$sm_path\"" -#: git-submodule.sh:1306 +#: git-submodule.sh:1302 #, sh-format msgid "Synchronizing submodule url for '$displaypath'" msgstr "Synkroniserar undermodul-url för \"$displaypath\"" +#~ msgid "input paths are terminated by a null character" +#~ msgstr "sökvägar avdelas med null-tecken" + +#~ msgid "done\n" +#~ msgstr "klart\n" + +#~ msgid "" +#~ "The following untracked files would NOT be saved but need to be removed " +#~ "by stash save:" +#~ msgstr "" +#~ "Följande ospÃ¥rade ändringar skulle INTE sparas utan mÃ¥ste tas bort med " +#~ "\"stash save\":" + +#~ msgid "" +#~ "Aborting. Consider using either the --force or --include-untracked option." +#~ msgstr "" +#~ "Avbryter. Överväg att använda antingen flaggan --force eller --include-" +#~ "untracked." + #~ msgid " (fix conflicts and then run \"git am --resolved\")" #~ msgstr " (rätta konflikter och kör sedan \"git am --resolved\")" @@ -10498,9 +10783,6 @@ msgstr "Synkroniserar undermodul-url för \"$displaypath\"" #~ msgid "-B cannot be used with -b" #~ msgstr "-B kan inte användas med -b" -#~ msgid "--patch is incompatible with all other options" -#~ msgstr "--patch är inkompatibel med alla andra flaggor" - #~ msgid "--detach cannot be used with -b/-B/--orphan" #~ msgstr "--detcah kan inte användas med -b/-B/--orphan" @@ -1,14 +1,15 @@ # Vietnamese translation for GIT-CORE. +# Bản dịch tiếng Việt dà nh cho GIT-CORE. # This file is distributed under the same license as the git-core package. # First translated by Trần Ngá»c Quân <vnwildman@gmail.com>, 2012-2013. # Nguyá»…n Thái Ngá»c Duy <pclouds@gmail.com>, 2012. # msgid "" msgstr "" -"Project-Id-Version: git-v1.8.4-rc1-22-gb8ecf23\n" +"Project-Id-Version: git-v1.8.5-rc0-24-g727b957\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2013-08-06 14:10+0800\n" -"PO-Revision-Date: 2013-08-06 14:28+0700\n" +"POT-Creation-Date: 2013-11-02 08:06+0800\n" +"PO-Revision-Date: 2013-11-02 13:15+0700\n" "Last-Translator: Trần Ngá»c Quân <vnwildman@gmail.com>\n" "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n" "Language: vi\n" @@ -24,7 +25,7 @@ msgstr "" #: advice.c:57 #, c-format msgid "hint: %.*s\n" -msgstr "gợi ý: %.*s\n" +msgstr "tìm thấy: %.*s\n" #. #. * Message used both when 'git commit' fails and when @@ -61,71 +62,76 @@ msgstr "" msgid "git archive --remote <repo> [--exec <cmd>] --list" msgstr "git archive --remote <kho> [--exec <lệnh>] --list" -#: archive.c:323 +#: archive.c:242 builtin/add.c:240 builtin/add.c:556 builtin/rm.c:328 +#, c-format +msgid "pathspec '%s' did not match any files" +msgstr "đặc tả Ä‘Æ°á»ng dẫn “%s†không khá»›p vá»›i bất kỳ táºp tin nà o" + +#: archive.c:327 msgid "fmt" msgstr "fmt" -#: archive.c:323 +#: archive.c:327 msgid "archive format" msgstr "định dạng lÆ°u trữ" -#: archive.c:324 builtin/log.c:1173 +#: archive.c:328 builtin/log.c:1193 msgid "prefix" msgstr "tiá»n tố" -#: archive.c:325 +#: archive.c:329 msgid "prepend prefix to each pathname in the archive" msgstr "nối thêm tiá»n tố và o từng Ä‘Æ°á»ng dẫn táºp tin trong kho lÆ°u" -#: archive.c:326 builtin/archive.c:88 builtin/blame.c:2292 -#: builtin/blame.c:2293 builtin/config.c:56 builtin/fast-export.c:673 -#: builtin/fast-export.c:675 builtin/grep.c:714 builtin/hash-object.c:77 -#: builtin/ls-files.c:496 builtin/ls-files.c:499 builtin/notes.c:408 -#: builtin/notes.c:565 builtin/read-tree.c:108 parse-options.h:152 +#: archive.c:330 builtin/archive.c:88 builtin/blame.c:2264 +#: builtin/blame.c:2265 builtin/config.c:58 builtin/fast-export.c:680 +#: builtin/fast-export.c:682 builtin/grep.c:716 builtin/hash-object.c:77 +#: builtin/ls-files.c:486 builtin/ls-files.c:489 builtin/notes.c:408 +#: builtin/notes.c:565 builtin/read-tree.c:108 parse-options.h:154 msgid "file" msgstr "táºp-tin" -#: archive.c:327 builtin/archive.c:89 +#: archive.c:331 builtin/archive.c:89 msgid "write the archive to this file" msgstr "ghi kho lÆ°u và o táºp tin nà y" -#: archive.c:329 +#: archive.c:333 msgid "read .gitattributes in working directory" msgstr "Ä‘á»c .gitattributes trong thÆ° mục là m việc" -#: archive.c:330 +#: archive.c:334 msgid "report archived files on stderr" msgstr "liệt kê các táºp tin được lÆ°u trữ và o stderr (đầu ra lá»—i tiêu chuẩn)" -#: archive.c:331 +#: archive.c:335 msgid "store only" msgstr "chỉ lÆ°u (không nén)" -#: archive.c:332 +#: archive.c:336 msgid "compress faster" msgstr "nén nhanh hÆ¡n" -#: archive.c:340 +#: archive.c:344 msgid "compress better" msgstr "nén nhá» hÆ¡n" -#: archive.c:343 +#: archive.c:347 msgid "list supported archive formats" msgstr "liệt kê các kiểu nén được há»— trợ" -#: archive.c:345 builtin/archive.c:90 builtin/clone.c:85 +#: archive.c:349 builtin/archive.c:90 builtin/clone.c:84 msgid "repo" msgstr "kho" -#: archive.c:346 builtin/archive.c:91 +#: archive.c:350 builtin/archive.c:91 msgid "retrieve the archive from remote repository <repo>" msgstr "nháºn kho lÆ°u từ kho chứa <kho> trên máy chủ" -#: archive.c:347 builtin/archive.c:92 builtin/notes.c:487 +#: archive.c:351 builtin/archive.c:92 builtin/notes.c:487 msgid "command" msgstr "lệnh" -#: archive.c:348 builtin/archive.c:93 +#: archive.c:352 builtin/archive.c:93 msgid "path to the remote git-upload-archive command" msgstr "Ä‘Æ°á»ng dẫn đến lệnh git-upload-pack trên máy chủ" @@ -208,19 +214,19 @@ msgstr "Äã có nhánh mang tên “%sâ€." msgid "Cannot force update the current branch." msgstr "Không thể ép buá»™c cáºp nháºt nhánh hiện hà nh." -#: branch.c:216 +#: branch.c:215 #, c-format msgid "Cannot setup tracking information; starting point '%s' is not a branch." msgstr "" "Không thể cà i đặt thông tin theo vết; Ä‘iểm bắt đầu “%s†không phải là má»™t " "nhánh." -#: branch.c:218 +#: branch.c:217 #, c-format msgid "the requested upstream branch '%s' does not exist" -msgstr "nhánh dòng ngược đã yêu cầu “%s†chÆ°a sẵn có" +msgstr "nhánh thượng nguồn đã yêu cầu “%s†chÆ°a sẵn có" -#: branch.c:220 +#: branch.c:219 msgid "" "\n" "If you are planning on basing your work on an upstream\n" @@ -232,34 +238,34 @@ msgid "" "\"git push -u\" to set the upstream config as you push." msgstr "" "\n" -"Nếu bạn có ý định trên cÆ¡ sở công việc của bạn trên nhánh dòng ngược\n" +"Nếu bạn có ý định cải tổ công việc của bạn trên nhánh thượng nguồn\n" "(upstream) cái mà đã sẵn có trên máy chủ, bạn cần chạy\n" "lệnh \"git fetch\" để lấy nó vá».\n" "\n" -"Nếu bạn có ý định push lênh má»™t nhánh ná»™i bá»™ má»›i cái mà \n" +"Nếu bạn có ý định push lên má»™t nhánh ná»™i bá»™ má»›i cái mà \n" "sẽ theo dõi bản đối chiếu máy chủ của nó, bạn cần dùng lệnh\n" -"\"git push -u\" để đặt cấu hình dòng ngược bạn muốn push." +"\"git push -u\" để đặt cấu hình thượng nguồn bạn muốn push." -#: branch.c:265 +#: branch.c:264 #, c-format msgid "Not a valid object name: '%s'." msgstr "Không phải tên đối tượng hợp lệ: “%sâ€." -#: branch.c:285 +#: branch.c:284 #, c-format msgid "Ambiguous object name: '%s'." msgstr "Tên đối tượng chÆ°a rõ rà ng: “%sâ€." -#: branch.c:290 +#: branch.c:289 #, c-format msgid "Not a valid branch point: '%s'." msgstr "Nhánh không hợp lệ: “%sâ€." -#: branch.c:296 +#: branch.c:295 msgid "Failed to lock ref for update" msgstr "Gặp lá»—i khi khóa tham chiếu (ref) để cáºp nháºt" -#: branch.c:314 +#: branch.c:313 msgid "Failed to write ref" msgstr "Gặp lá»—i khi ghi tham chiếu (ref)" @@ -273,7 +279,7 @@ msgstr "“%s†không giống nhÆ° táºp tin v2 bundle (định dạng dump cá msgid "unrecognized header: %s%s (%d)" msgstr "phần đầu (header) không được thừa nháºn: %s%s (%d)" -#: bundle.c:89 builtin/commit.c:697 +#: bundle.c:89 builtin/commit.c:706 #, c-format msgid "could not open '%s'" msgstr "không thể mở “%sâ€" @@ -282,9 +288,9 @@ msgstr "không thể mở “%sâ€" msgid "Repository lacks these prerequisite commits:" msgstr "Kho chứa thiếu những lần chuyển giao (commit) cần trÆ°á»›c hết nà y:" -#: bundle.c:164 sequencer.c:661 sequencer.c:1111 builtin/log.c:331 -#: builtin/log.c:801 builtin/log.c:1399 builtin/log.c:1625 builtin/merge.c:364 -#: builtin/shortlog.c:156 +#: bundle.c:164 sequencer.c:662 sequencer.c:1112 builtin/log.c:332 +#: builtin/log.c:821 builtin/log.c:1418 builtin/log.c:1644 builtin/merge.c:364 +#: builtin/shortlog.c:158 msgid "revision walk setup failed" msgstr "cà i đặt việc di chuyển qua các Ä‘iểm xét duyệt gặp lá»—i" @@ -310,7 +316,7 @@ msgstr[1] "Lệnh bundle yêu cầu %d tham chiếu (refs) nà y:" msgid "rev-list died" msgstr "rev-list đã chết" -#: bundle.c:300 builtin/log.c:1310 builtin/shortlog.c:259 +#: bundle.c:300 builtin/log.c:1329 builtin/shortlog.c:261 #, c-format msgid "unrecognized argument: %s" msgstr "đối số không được thừa nháºn: %s" @@ -460,7 +466,7 @@ msgstr "" "Tìm thấy các lá»—i trong biến cấu hình “diff.dirstatâ€:\n" "%s" -#: diff.c:3487 +#: diff.c:3490 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" @@ -469,7 +475,7 @@ msgstr "" "Gặp lá»—i khi phân tÃch đối số tùy chá»n --dirstat/-X:\n" "%s" -#: diff.c:3501 +#: diff.c:3504 #, c-format msgid "Failed to parse --submodule option parameter: '%s'" msgstr "Gặp lá»—i khi phân tÃch đối số tùy chá»n --submodule: “%sâ€" @@ -496,17 +502,17 @@ msgstr "không thể tạo táºp tin tạm thá»i “%sâ€: %s" msgid "failed writing detached signature to '%s': %s" msgstr "gặp lá»—i khi ghi chữ ký Ä‘Ãnh kèm và o “%sâ€: %s" -#: grep.c:1623 +#: grep.c:1695 #, c-format msgid "'%s': unable to read %s" msgstr "“%sâ€: không thể Ä‘á»c %s" -#: grep.c:1640 +#: grep.c:1712 #, c-format msgid "'%s': %s" msgstr "“%sâ€: %s" -#: grep.c:1651 +#: grep.c:1723 #, c-format msgid "'%s': short read %s" msgstr "“%sâ€: Ä‘á»c ngắn %s" @@ -577,10 +583,10 @@ msgstr "%s: %s - %s" #: merge.c:56 msgid "failed to read the cache" -msgstr "gặp lá»—i khi Ä‘á»c bá»™ nhá»› tạm" +msgstr "gặp lá»—i khi Ä‘á»c bá»™ nhá»› đệm" -#: merge.c:110 builtin/checkout.c:365 builtin/checkout.c:566 -#: builtin/clone.c:656 +#: merge.c:110 builtin/checkout.c:358 builtin/checkout.c:559 +#: builtin/clone.c:655 msgid "unable to write new index file" msgstr "không thể ghi táºp tin lÆ°u bảng mục lục má»›i" @@ -629,7 +635,7 @@ msgstr "không thể Ä‘á»c đối tượng %s “%sâ€" msgid "blob expected for %s '%s'" msgstr "đối tượng blob được mong đợi cho %s “%sâ€" -#: merge-recursive.c:774 builtin/clone.c:312 +#: merge-recursive.c:774 builtin/clone.c:311 #, c-format msgid "failed to open '%s'" msgstr "gặp lá»—i khi mở “%sâ€" @@ -637,7 +643,7 @@ msgstr "gặp lá»—i khi mở “%sâ€" #: merge-recursive.c:782 #, c-format msgid "failed to symlink '%s'" -msgstr "gặp lá»—i khi tạo liên kết tượng trÆ°ng (symlink) “%sâ€" +msgstr "gặp lá»—i khi tạo liên kết má»m (symlink) “%sâ€" #: merge-recursive.c:785 #, c-format @@ -764,7 +770,7 @@ msgstr "Äã bá» qua %s (đã có sẵn lần hòa trá»™n nà y)" msgid "Auto-merging %s" msgstr "Tá»±-Ä‘á»™ng-hòa-trá»™n %s" -#: merge-recursive.c:1634 git-submodule.sh:1118 +#: merge-recursive.c:1634 git-submodule.sh:1125 msgid "submodule" msgstr "mô-Ä‘un-con" @@ -863,58 +869,125 @@ msgstr "Từ chối ghi đè ghi chú trong %s (nằm ngoà i của refs/notes/)" msgid "Bad %s value: '%s'" msgstr "Giá trị %s sai: “%sâ€" -#: object.c:204 +#: object.c:202 #, c-format msgid "unable to parse object: %s" msgstr "không thể phân tÃch đối tượng: “%sâ€" -#: parse-options.c:489 +#: parse-options.c:537 msgid "..." msgstr "..." -#: parse-options.c:507 +#: parse-options.c:555 #, c-format msgid "usage: %s" msgstr "cách dùng: %s" #. TRANSLATORS: the colon here should align with the #. one in "usage: %s" translation -#: parse-options.c:511 +#: parse-options.c:559 #, c-format msgid " or: %s" msgstr " hoặc: %s" -#: parse-options.c:514 +#: parse-options.c:562 #, c-format msgid " %s" msgstr " %s" -#: parse-options.c:548 +#: parse-options.c:596 msgid "-NUM" msgstr "-Sá»" -#: pathspec.c:83 +#: pathspec.c:118 +msgid "global 'glob' and 'noglob' pathspec settings are incompatible" +msgstr "" +"các cà i đặt đặc tả Ä‘Æ°á»ng dẫn “glob†và “noglob†toà n cục là xung khắc nhau" + +#: pathspec.c:128 +msgid "" +"global 'literal' pathspec setting is incompatible with all other global " +"pathspec settings" +msgstr "" +"cà i đặt đặc tả Ä‘Æ°á»ng dẫn “literal†toà n cục là xung khắc vá»›i các cà i đặt đặc " +"tả Ä‘Æ°á»ng dẫn toà n cục khác" + +#: pathspec.c:158 +msgid "invalid parameter for pathspec magic 'prefix'" +msgstr "tham số không hợp lệ cho “tiá»n tố†mà u nhiệm đặc tả Ä‘Æ°á»ng đẫn" + +#: pathspec.c:164 +#, c-format +msgid "Invalid pathspec magic '%.*s' in '%s'" +msgstr "Số mà u nhiệm đặc tả Ä‘Æ°á»ng dẫn không hợp lệ “%.*s†trong “%sâ€" + +#: pathspec.c:168 +#, c-format +msgid "Missing ')' at the end of pathspec magic in '%s'" +msgstr "Thiếu “)†tại cuối của số mà u nhiệm đặc tả Ä‘Æ°á»ng dẫn trong “%sâ€" + +#: pathspec.c:186 #, c-format -msgid "Path '%s' is in submodule '%.*s'" -msgstr "ÄÆ°á»ng dẫn “%s†thì ở trong mô-Ä‘un-con “%.*sâ€" +msgid "Unimplemented pathspec magic '%c' in '%s'" +msgstr "ChÆ°a viết mã cho số mà u nhiệm đặc tả Ä‘Æ°á»ng dẫn “%c†trong “%sâ€" + +#: pathspec.c:211 +#, c-format +msgid "%s: 'literal' and 'glob' are incompatible" +msgstr "%s: “literal†và “glob†xung khắc nhau" + +#: pathspec.c:222 +#, c-format +msgid "%s: '%s' is outside repository" +msgstr "%s: “%s†ngoà i má»™t kho chứa" + +#: pathspec.c:278 +#, c-format +msgid "Pathspec '%s' is in submodule '%.*s'" +msgstr "Äặc tả Ä‘Æ°á»ng dẫn “%s†thì ở trong mô-Ä‘un-con “%.*sâ€" + +#. +#. * We may want to substitute "this command" with a command +#. * name. E.g. when add--interactive dies when running +#. * "checkout -p" +#. +#: pathspec.c:340 +#, c-format +msgid "%s: pathspec magic not supported by this command: %s" +msgstr "%s: số mầu nhiệm đặc tả Ä‘Æ°á»ng dẫn chÆ°a được há»— trợ bởi lệnh nà y: %s" + +#: pathspec.c:415 +#, c-format +msgid "pathspec '%s' is beyond a symbolic link" +msgstr "đặc tả Ä‘Æ°á»ng dẫn “%s†vượt ra ngoà i liên kết má»m" + +#: remote.c:1833 +#, c-format +msgid "Your branch is based on '%s', but the upstream is gone.\n" +msgstr "" +"Nhánh của bạn dá»±a trên cÆ¡ sở là “%sâ€, nhÆ°ng trên thượng nguồn không còn.\n" -#: pathspec.c:99 +#: remote.c:1837 +msgid " (use \"git branch --unset-upstream\" to fixup)\n" +msgstr " (dùng \" git branch --unset-upstream\" để sá»a)\n" + +#: remote.c:1840 #, c-format -msgid "'%s' is beyond a symbolic link" -msgstr "“%s†nằm ngoà i má»™t liên kết tượng trÆ°ng" +msgid "Your branch is up-to-date with '%s'.\n" +msgstr "Nhánh của bạn đã cáºp nháºt vá»›i “%sâ€.\n" -#: remote.c:1788 +#: remote.c:1844 #, c-format msgid "Your branch is ahead of '%s' by %d commit.\n" msgid_plural "Your branch is ahead of '%s' by %d commits.\n" msgstr[0] "Nhánh của bạn là đầu của “%s†bởi %d lần chuyển giao (commit).\n" msgstr[1] "Nhánh của bạn là đầu của “%s†bởi %d lần chuyển giao (commit).\n" -#: remote.c:1794 +#: remote.c:1850 msgid " (use \"git push\" to publish your local commits)\n" msgstr " (dùng \"git push\" để xuất bản các lần chuyển giao ná»™i bá»™ của bạn)\n" -#: remote.c:1797 +#: remote.c:1853 #, c-format msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n" msgid_plural "" @@ -926,11 +999,11 @@ msgstr[1] "" "Nhánh của bạn thì ở đằng sau “%s†bởi %d lần chuyển giao (commit), và có thể " "được fast-forward.\n" -#: remote.c:1805 +#: remote.c:1861 msgid " (use \"git pull\" to update your local branch)\n" msgstr " (dùng \"git pull\" để cáºp nháºt nhánh ná»™i bá»™ của bạn)\n" -#: remote.c:1808 +#: remote.c:1864 #, c-format msgid "" "Your branch and '%s' have diverged,\n" @@ -946,7 +1019,7 @@ msgstr[1] "" "Your branch and “%s†have diverged,\n" "and have %d and %d different commit each, respectively.\n" -#: remote.c:1818 +#: remote.c:1874 msgid " (use \"git pull\" to merge the remote branch into yours)\n" msgstr "" " (dùng \"git pull\" để hòa trá»™n nhánh trên máy chủ và o trong nhánh của " @@ -991,7 +1064,7 @@ msgstr "" "vá»›i lệnh “git add <Ä‘Æ°á»ng_dẫn>†hoặc “git rm <Ä‘Æ°á»ng_dẫn>â€\n" "và chuyển giao (commit) kết quả bằng lệnh “git commitâ€" -#: sequencer.c:245 sequencer.c:869 sequencer.c:952 +#: sequencer.c:245 sequencer.c:870 sequencer.c:953 #, c-format msgid "Could not write to %s" msgstr "Không thể ghi và o %s" @@ -1014,46 +1087,46 @@ msgid "Commit your changes or stash them to proceed." msgstr "Chuyển giao (commit) các thay đổi của bạn hay stash chúng để xá» lý." #. TRANSLATORS: %s will be "revert" or "cherry-pick" -#: sequencer.c:324 +#: sequencer.c:325 #, c-format msgid "%s: Unable to write new index file" msgstr "%s: Không thể ghi táºp tin lÆ°u bảng mục lục má»›i" -#: sequencer.c:355 +#: sequencer.c:356 msgid "Could not resolve HEAD commit\n" msgstr "Không thể phân giải commit (lần chuyển giao) HEAD\n" -#: sequencer.c:377 +#: sequencer.c:378 msgid "Unable to update cache tree\n" msgstr "Không thể cáºp nháºt cây bá»™ nhá»› đệm\n" -#: sequencer.c:422 +#: sequencer.c:423 #, c-format msgid "Could not parse commit %s\n" msgstr "Không thể phân tÃch commit (lần chuyển giao) %s\n" -#: sequencer.c:427 +#: sequencer.c:428 #, c-format msgid "Could not parse parent commit %s\n" msgstr "Không thể phân tÃch commit (lần chuyển giao) cha mẹ %s\n" -#: sequencer.c:493 +#: sequencer.c:494 msgid "Your index file is unmerged." msgstr "Táºp tin lÆ°u mục lục của bạn không được hòa trá»™n." -#: sequencer.c:512 +#: sequencer.c:513 #, c-format msgid "Commit %s is a merge but no -m option was given." msgstr "" "Lần chuyển giao (commit) %s là má»™t lần hòa trá»™n nhÆ°ng không Ä‘Æ°a ra tùy chá»n -" "m." -#: sequencer.c:520 +#: sequencer.c:521 #, c-format msgid "Commit %s does not have parent %d" msgstr "Lần chuyển giao (commit) %s không có cha mẹ %d" -#: sequencer.c:524 +#: sequencer.c:525 #, c-format msgid "Mainline was specified but commit %s is not a merge." msgstr "" @@ -1062,153 +1135,153 @@ msgstr "" #. TRANSLATORS: The first %s will be "revert" or #. "cherry-pick", the second %s a SHA1 -#: sequencer.c:537 +#: sequencer.c:538 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "%s: không thể phân tÃch lần chuyển giao mẹ của %s" -#: sequencer.c:541 +#: sequencer.c:542 #, c-format msgid "Cannot get commit message for %s" msgstr "Không thể lấy thông Ä‘iệp lần chuyển giao (commit) cho %s" -#: sequencer.c:627 +#: sequencer.c:628 #, c-format msgid "could not revert %s... %s" msgstr "không thể revert %s... %s" -#: sequencer.c:628 +#: sequencer.c:629 #, c-format msgid "could not apply %s... %s" msgstr "không thể apply (áp dụng miếng vá) %s... %s" -#: sequencer.c:664 +#: sequencer.c:665 msgid "empty commit set passed" msgstr "lần chuyển giao (commit) trống rá»—ng đặt là hợp quy cách" -#: sequencer.c:672 +#: sequencer.c:673 #, c-format msgid "git %s: failed to read the index" msgstr "git %s: gặp lá»—i Ä‘á»c bảng mục lục" -#: sequencer.c:677 +#: sequencer.c:678 #, c-format msgid "git %s: failed to refresh the index" msgstr "git %s: gặp lá»—i khi là m tÆ°Æ¡i má»›i bảng mục lục" -#: sequencer.c:735 +#: sequencer.c:736 #, c-format msgid "Cannot %s during a %s" msgstr "Không thể %s trong khi %s" -#: sequencer.c:757 +#: sequencer.c:758 #, c-format msgid "Could not parse line %d." msgstr "Không phân tÃch được dòng %d." -#: sequencer.c:762 +#: sequencer.c:763 msgid "No commits parsed." msgstr "Không có lần chuyển giao (commit) nà o được phân tÃch." -#: sequencer.c:775 +#: sequencer.c:776 #, c-format msgid "Could not open %s" msgstr "Không thể mở %s" -#: sequencer.c:779 +#: sequencer.c:780 #, c-format msgid "Could not read %s." msgstr "Không thể Ä‘á»c %s." -#: sequencer.c:786 +#: sequencer.c:787 #, c-format msgid "Unusable instruction sheet: %s" msgstr "Bảng chỉ thị không thể dùng được: %s" -#: sequencer.c:814 +#: sequencer.c:815 #, c-format msgid "Invalid key: %s" msgstr "Khóa không đúng: %s" -#: sequencer.c:817 +#: sequencer.c:818 #, c-format msgid "Invalid value for %s: %s" msgstr "Giá trị không hợp lệ %s: %s" -#: sequencer.c:829 +#: sequencer.c:830 #, c-format msgid "Malformed options sheet: %s" msgstr "Bảng tùy chá»n dị hình: %s" -#: sequencer.c:850 +#: sequencer.c:851 msgid "a cherry-pick or revert is already in progress" msgstr "má»™t thao tác cherry-pick hoặc revert Ä‘ang được thá»±c hiện" -#: sequencer.c:851 +#: sequencer.c:852 msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" msgstr "hãy thá» \"git cherry-pick (--continue | --quit | --abort)\"" -#: sequencer.c:855 +#: sequencer.c:856 #, c-format msgid "Could not create sequencer directory %s" msgstr "Không thể tạo thÆ° mục xếp dãy %s" -#: sequencer.c:871 sequencer.c:956 +#: sequencer.c:872 sequencer.c:957 #, c-format msgid "Error wrapping up %s." msgstr "Lá»—i bao bá»c %s." -#: sequencer.c:890 sequencer.c:1024 +#: sequencer.c:891 sequencer.c:1025 msgid "no cherry-pick or revert in progress" msgstr "không cherry-pick hay revert trong tiến trình" -#: sequencer.c:892 +#: sequencer.c:893 msgid "cannot resolve HEAD" msgstr "không thể phân giải HEAD" -#: sequencer.c:894 +#: sequencer.c:895 msgid "cannot abort from a branch yet to be born" msgstr "không thể hủy bá» từ má»™t nhánh mà nó còn chÆ°a được tạo ra" -#: sequencer.c:916 builtin/apply.c:4061 +#: sequencer.c:917 builtin/apply.c:4061 #, c-format msgid "cannot open %s: %s" msgstr "không thể mở %s: %s" -#: sequencer.c:919 +#: sequencer.c:920 #, c-format msgid "cannot read %s: %s" msgstr "không thể Ä‘á»c %s: %s" -#: sequencer.c:920 +#: sequencer.c:921 msgid "unexpected end of file" msgstr "kết thúc táºp tin Ä‘á»™t xuất" -#: sequencer.c:926 +#: sequencer.c:927 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "táºp tin HEAD “pre-cherry-pick†đã lÆ°u “%s†bị há»ng" -#: sequencer.c:949 +#: sequencer.c:950 #, c-format msgid "Could not format %s." msgstr "Không thể định dạng %s." -#: sequencer.c:1092 +#: sequencer.c:1093 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "%s: không thể cherry-pick má»™t %s" -#: sequencer.c:1095 +#: sequencer.c:1096 #, c-format msgid "%s: bad revision" msgstr "%s: Ä‘iểm xét duyệt sai" -#: sequencer.c:1129 +#: sequencer.c:1130 msgid "Can't revert as initial commit" msgstr "Không thể revert má»™t lần chuyển giao (commit) khởi tạo" -#: sequencer.c:1130 +#: sequencer.c:1131 msgid "Can't cherry-pick into empty head" msgstr "Không thể cherry-pick và o má»™t đầu (head) trống rá»—ng" @@ -1236,265 +1309,359 @@ msgstr "" "nà y\n" "bằng cách chạy lệnh \"git config advice.objectNameWarning false\"" -#: sha1_name.c:1097 +#: sha1_name.c:1112 msgid "HEAD does not point to a branch" msgstr "HEAD không chỉ đến má»™t nhánh nà o cả" -#: sha1_name.c:1100 +#: sha1_name.c:1115 #, c-format msgid "No such branch: '%s'" msgstr "Không có nhánh nà o nhÆ° thế: “%sâ€" -#: sha1_name.c:1102 +#: sha1_name.c:1117 #, c-format msgid "No upstream configured for branch '%s'" msgstr "Không có thượng nguồn (upstream) được cấu hình cho nhánh “%sâ€" -#: sha1_name.c:1106 +#: sha1_name.c:1121 #, c-format msgid "Upstream branch '%s' not stored as a remote-tracking branch" msgstr "" "Nhánh thượng nguồn (upstream) “%s†không được lÆ°u lại nhÆ° là má»™t nhánh " "“remote-trackingâ€" -#: wrapper.c:408 +#: submodule.c:64 submodule.c:98 +msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" +msgstr "" +"Không thể thay đổi .gitmodules chÆ°a hòa trá»™n, hãy giải quyết xung Ä‘á»™t trá»™n " +"trÆ°á»›c" + +#: submodule.c:68 submodule.c:102 +#, c-format +msgid "Could not find section in .gitmodules where path=%s" +msgstr "Không thể tìm thấy phần trong .gitmodules nÆ¡i mà đưá»ng_dẫn=%s" + +#. Maybe the user already did that, don't error out here +#: submodule.c:76 +#, c-format +msgid "Could not update .gitmodules entry %s" +msgstr "Không thể cáºp nháºt mục .gitmodules %s" + +#. Maybe the user already did that, don't error out here +#: submodule.c:109 +#, c-format +msgid "Could not remove .gitmodules entry for %s" +msgstr "Không thể gỡ bá» mục .gitmodules dà nh cho %s" + +#: submodule.c:127 +msgid "could not find .gitmodules in index" +msgstr "không tìm thấy .gitmodules trong bảng mục lục" + +#: submodule.c:133 +msgid "reading updated .gitmodules failed" +msgstr "gặp lá»—i khi Ä‘á»c cáºp nháºt .gitmodules" + +#: submodule.c:135 +msgid "unable to stat updated .gitmodules" +msgstr "không thể lấy thống kê .gitmodules đã cáºp nháºt" + +#: submodule.c:139 +msgid "unable to remove .gitmodules from index" +msgstr "không thể gỡ bá» .gitmodules từ mục lục" + +#: submodule.c:141 +msgid "adding updated .gitmodules failed" +msgstr "gặp lá»—i khi thêm .gitmodules đã cáºp nháºt" + +#: submodule.c:143 +msgid "staging updated .gitmodules failed" +msgstr "gặp lá»—i khi tổ chức .gitmodules đã cáºp nháºt" + +#: submodule.c:1144 builtin/init-db.c:363 +#, c-format +msgid "Could not create git link %s" +msgstr "Không thể tạo liên kết git “%sâ€" + +#: submodule.c:1155 +#, c-format +msgid "Could not set core.worktree in %s" +msgstr "Không thể đặt cây thÆ° mục là m việc “core.worktree†trong “%sâ€." + +#: urlmatch.c:120 +msgid "invalid URL scheme name or missing '://' suffix" +msgstr "tên lược đồ URL không hợp lệ hay thiếu háºu tố “://â€" + +#: urlmatch.c:144 urlmatch.c:297 urlmatch.c:356 +#, c-format +msgid "invalid %XX escape sequence" +msgstr "thoát chuá»—i %XX không hợp lệ" + +#: urlmatch.c:172 +msgid "missing host and scheme is not 'file:'" +msgstr "thiếu máy chủ và lược đồ thì không phải là giao thức “file:â€" + +#: urlmatch.c:189 +msgid "a 'file:' URL may not have a port number" +msgstr "URL kiểu “file:†không được chứa cổng" + +#: urlmatch.c:199 +msgid "invalid characters in host name" +msgstr "có các ký tá»± không hợp lệ trong tên máy" + +#: urlmatch.c:244 urlmatch.c:255 +msgid "invalid port number" +msgstr "tên cổng không hợp lệ" + +#: urlmatch.c:322 +msgid "invalid '..' path segment" +msgstr "Ä‘oạn Ä‘Æ°á»ng dẫn “..†không hợp lệ" + +#: wrapper.c:422 #, c-format msgid "unable to access '%s': %s" msgstr "không thể truy cáºp “%sâ€: %s" -#: wrapper.c:429 +#: wrapper.c:443 #, c-format msgid "unable to access '%s'" msgstr "không thể truy cáºp “%sâ€" -#: wrapper.c:440 +#: wrapper.c:454 #, c-format msgid "unable to look up current user in the passwd file: %s" msgstr "không tìm thấy ngÆ°á»i dùng hiện tại trong táºp tin passwd: %s" -#: wrapper.c:441 +#: wrapper.c:455 msgid "no such user" msgstr "không có ngÆ°á»i dùng nhÆ° váºy" -#: wt-status.c:141 +#: wt-status.c:146 msgid "Unmerged paths:" msgstr "Những Ä‘Æ°á»ng dẫn chÆ°a được hòa trá»™n:" -#: wt-status.c:168 wt-status.c:195 +#: wt-status.c:173 wt-status.c:200 #, c-format msgid " (use \"git reset %s <file>...\" to unstage)" msgstr " (dùng \"git reset %s <táºp-tin>...\" để bá» má»™t stage (trạng thái))" -#: wt-status.c:170 wt-status.c:197 +#: wt-status.c:175 wt-status.c:202 msgid " (use \"git rm --cached <file>...\" to unstage)" msgstr " (dùng \"git rm --cached <táºp-tin>...\" để bá» trạng thái (stage))" -#: wt-status.c:174 +#: wt-status.c:179 msgid " (use \"git add <file>...\" to mark resolution)" msgstr " (dùng \"git add <táºp-tin>...\" để đánh dấu là cần giải quyết)" -#: wt-status.c:176 wt-status.c:180 +#: wt-status.c:181 wt-status.c:185 msgid " (use \"git add/rm <file>...\" as appropriate to mark resolution)" msgstr "" " (dùng \"git add/rm <táºp-tin>...\" nhÆ° là má»™t cách thÃch hợp để đánh dấu " "là cần được giải quyết)" -#: wt-status.c:178 +#: wt-status.c:183 msgid " (use \"git rm <file>...\" to mark resolution)" msgstr " (dùng \"git rm <táºp-tin>...\" để đánh dấu là cần giải quyết)" -#: wt-status.c:189 +#: wt-status.c:194 msgid "Changes to be committed:" msgstr "Những thay đổi sẽ được chuyển giao:" -#: wt-status.c:207 +#: wt-status.c:212 msgid "Changes not staged for commit:" msgstr "" "Các thay đổi không được đặt trạng thái (stage) cho lần chuyển giao (commit):" -#: wt-status.c:211 +#: wt-status.c:216 msgid " (use \"git add <file>...\" to update what will be committed)" msgstr "" " (dùng \"git add <táºp-tin>...\" để cáºp nháºt những gì cần chuyển giao " "(commit))" -#: wt-status.c:213 +#: wt-status.c:218 msgid " (use \"git add/rm <file>...\" to update what will be committed)" msgstr "" " (dùng \"git add/rm <táºp-tin>...\" để cáºp nháºt những gì sẽ được chuyển giao)" -#: wt-status.c:214 +#: wt-status.c:219 msgid "" " (use \"git checkout -- <file>...\" to discard changes in working directory)" msgstr "" " (dùng \"git checkout -- <táºp-tin>...\" để bá» thay đổi trong thÆ° mục là m " "việc)" -#: wt-status.c:216 +#: wt-status.c:221 msgid " (commit or discard the untracked or modified content in submodules)" msgstr "" " (chuyển giao (commit) hoặc là loại bá» các ná»™i dung không-bị-theo-vết hay " "đã bị chỉnh sá»a trong mô-Ä‘un-con)" -#: wt-status.c:228 +#: wt-status.c:233 #, c-format msgid " (use \"git %s <file>...\" to include in what will be committed)" msgstr "" " (dùng \"git %s <táºp-tin>...\" để thêm và o những gì cần chuyển giao " "(commit))" -#: wt-status.c:245 +#: wt-status.c:250 msgid "bug" msgstr "lá»—i" -#: wt-status.c:250 +#: wt-status.c:255 msgid "both deleted:" msgstr "bị xóa bởi cả hai:" -#: wt-status.c:251 +#: wt-status.c:256 msgid "added by us:" msgstr "được thêm và o bởi chúng ta:" -#: wt-status.c:252 +#: wt-status.c:257 msgid "deleted by them:" msgstr "bị xóa Ä‘i bởi há»:" -#: wt-status.c:253 +#: wt-status.c:258 msgid "added by them:" msgstr "được thêm và o bởi há»:" -#: wt-status.c:254 +#: wt-status.c:259 msgid "deleted by us:" msgstr "bị xóa bởi chúng ta:" -#: wt-status.c:255 +#: wt-status.c:260 msgid "both added:" msgstr "được thêm và o bởi cả hai:" -#: wt-status.c:256 +#: wt-status.c:261 msgid "both modified:" msgstr "bị sá»a bởi cả hai:" -#: wt-status.c:286 +#: wt-status.c:291 msgid "new commits, " msgstr "lần chuyển giao (commit) má»›i, " -#: wt-status.c:288 +#: wt-status.c:293 msgid "modified content, " msgstr "ná»™i dung bị sá»a đổi, " -#: wt-status.c:290 +#: wt-status.c:295 msgid "untracked content, " msgstr "ná»™i dung chÆ°a được theo dõi, " -#: wt-status.c:307 +#: wt-status.c:312 #, c-format msgid "new file: %s" msgstr "táºp tin má»›i: %s" -#: wt-status.c:310 +#: wt-status.c:315 #, c-format msgid "copied: %s -> %s" -msgstr "đã sao chép: %s -> %s" +msgstr "đã sao chép: %s -> %s" -#: wt-status.c:313 +#: wt-status.c:318 #, c-format msgid "deleted: %s" -msgstr "đã xóa: %s" +msgstr "đã xóa: %s" -#: wt-status.c:316 +#: wt-status.c:321 #, c-format msgid "modified: %s" -msgstr "đã sá»a đổi: %s" +msgstr "đã sá»a đổi: %s" -#: wt-status.c:319 +#: wt-status.c:324 #, c-format msgid "renamed: %s -> %s" msgstr "đã đổi tên: %s -> %s" -#: wt-status.c:322 +#: wt-status.c:327 #, c-format msgid "typechange: %s" -msgstr "đổi-kiểu: %s" +msgstr "đổi-kiểu: %s" -#: wt-status.c:325 +#: wt-status.c:330 #, c-format msgid "unknown: %s" msgstr "không hiểu: %s" -#: wt-status.c:328 +#: wt-status.c:333 #, c-format msgid "unmerged: %s" -msgstr "chÆ°a hòa trá»™n: %s" +msgstr "chÆ°a hòa trá»™n: %s" -#: wt-status.c:331 +#: wt-status.c:336 #, c-format msgid "bug: unhandled diff status %c" msgstr "lá»—i: không lấy được trạng thái lệnh diff %c" -#: wt-status.c:803 +#: wt-status.c:703 +msgid "Submodules changed but not updated:" +msgstr "Những mô-Ä‘un-con đã bị thay đổi nhÆ°ng chÆ°a được cáºp nháºt:" + +#: wt-status.c:705 +msgid "Submodule changes to be committed:" +msgstr "Những mô-Ä‘un-con thay đổi đã được chuyển giao (commit):" + +#: wt-status.c:848 msgid "You have unmerged paths." msgstr "Bạn có những Ä‘Æ°á»ng dẫn chÆ°a được hòa trá»™n." -#: wt-status.c:806 +#: wt-status.c:851 msgid " (fix conflicts and run \"git commit\")" msgstr " (sá»a các xung Ä‘á»™t sau đó chạy \"git commit\")" -#: wt-status.c:809 +#: wt-status.c:854 msgid "All conflicts fixed but you are still merging." msgstr "Tất cả các xung Ä‘á»™t đã được giải quyết nhÆ°ng bạn vẫn Ä‘ang hòa trá»™n." -#: wt-status.c:812 +#: wt-status.c:857 msgid " (use \"git commit\" to conclude merge)" msgstr " (dùng \"git commit\" để hoà n tất việc hòa trá»™n)" -#: wt-status.c:822 +#: wt-status.c:867 msgid "You are in the middle of an am session." msgstr "Bạn Ä‘ang ở giữa của má»™t phiên “amâ€." -#: wt-status.c:825 +#: wt-status.c:870 msgid "The current patch is empty." msgstr "Miếng vá hiện tại bị trống rá»—ng." -#: wt-status.c:829 +#: wt-status.c:874 msgid " (fix conflicts and then run \"git am --continue\")" msgstr " (sá»a các xung Ä‘á»™t và sau đó chạy lệnh \"git am --continue\")" -#: wt-status.c:831 +#: wt-status.c:876 msgid " (use \"git am --skip\" to skip this patch)" msgstr " (dùng \"git am --skip\" để bá» qua miếng vá nà y)" -#: wt-status.c:833 +#: wt-status.c:878 msgid " (use \"git am --abort\" to restore the original branch)" msgstr " (dùng \"git am --abort\" để phục hồi lại nhánh nguyên thủy)" -#: wt-status.c:893 wt-status.c:910 +#: wt-status.c:938 wt-status.c:955 #, c-format msgid "You are currently rebasing branch '%s' on '%s'." msgstr "Bạn hiện nay Ä‘ang thá»±c hiện việc rebase nhánh “%s†trên “%sâ€." -#: wt-status.c:898 wt-status.c:915 +#: wt-status.c:943 wt-status.c:960 msgid "You are currently rebasing." msgstr "Bạn hiện nay Ä‘ang thá»±c hiện việc rebase (tái cấu trúc)." -#: wt-status.c:901 +#: wt-status.c:946 msgid " (fix conflicts and then run \"git rebase --continue\")" msgstr " (sá»a các xung Ä‘á»™t và sau đó chạy lệnh \"git rebase --continue\")" -#: wt-status.c:903 +#: wt-status.c:948 msgid " (use \"git rebase --skip\" to skip this patch)" msgstr " (dùng \"git rebase --skip\" để bá» qua lần vá nà y)" -#: wt-status.c:905 +#: wt-status.c:950 msgid " (use \"git rebase --abort\" to check out the original branch)" msgstr " (dùng \"git rebase --abort\" để check-out nhánh nguyên thủy)" -#: wt-status.c:918 +#: wt-status.c:963 msgid " (all conflicts fixed: run \"git rebase --continue\")" msgstr "" " (khi tất cả các xung Ä‘á»™t đã sá»a xong: chạy lệnh \"git rebase --continue\")" -#: wt-status.c:922 +#: wt-status.c:967 #, c-format msgid "" "You are currently splitting a commit while rebasing branch '%s' on '%s'." @@ -1502,126 +1669,127 @@ msgstr "" "Bạn hiện nay Ä‘ang thá»±c hiện việc chia tách má»™t lần chuyển giao (commit) " "trong khi Ä‘ang rebase nhánh “%s†trên “%sâ€." -#: wt-status.c:927 +#: wt-status.c:972 msgid "You are currently splitting a commit during a rebase." msgstr "" "Bạn hiện tại Ä‘ang cắt đôi má»™t lần chuyển giao trong khi Ä‘ang thá»±c hiện việc " "rebase." -#: wt-status.c:930 +#: wt-status.c:975 msgid " (Once your working directory is clean, run \"git rebase --continue\")" msgstr "" " (Má»™t khi thÆ° mục là m việc của bạn đã gá»n gà ng, chạy \"git rebase --continue" "\")" -#: wt-status.c:934 +#: wt-status.c:979 #, c-format msgid "You are currently editing a commit while rebasing branch '%s' on '%s'." msgstr "" "Bạn hiện nay Ä‘ang thá»±c hiện việc sá»a chữa má»™t lần chuyển giao (commit) trong " "khi Ä‘ang rebase nhánh “%s†trên “%sâ€." -#: wt-status.c:939 +#: wt-status.c:984 msgid "You are currently editing a commit during a rebase." msgstr "Bạn hiện Ä‘ang sá»a má»™t lần chuyển giao trong khi bạn thá»±c hiện rebase." -#: wt-status.c:942 +#: wt-status.c:987 msgid " (use \"git commit --amend\" to amend the current commit)" msgstr "" " (dùng \"git commit --amend\" để tu bổ lần chuyển giao (commit) hiện tại)" -#: wt-status.c:944 +#: wt-status.c:989 msgid "" " (use \"git rebase --continue\" once you are satisfied with your changes)" msgstr "" " (dùng \"git rebase --continue\" má»™t khi bạn cảm thấy hà i lòng vá» những " "thay đổi của mình)" -#: wt-status.c:954 -msgid "You are currently cherry-picking." -msgstr "Bạn hiện nay Ä‘ang thá»±c hiện việc cherry-pick." +#: wt-status.c:999 +#, c-format +msgid "You are currently cherry-picking commit %s." +msgstr "Bạn hiện nay Ä‘ang thá»±c hiện việc cherry-pick lần chuyển giao %s." -#: wt-status.c:958 +#: wt-status.c:1004 msgid " (fix conflicts and run \"git cherry-pick --continue\")" msgstr "" " (sá»a các xung Ä‘á»™t và sau đó chạy lệnh \"git cherry-pick --continue\")" -#: wt-status.c:961 +#: wt-status.c:1007 msgid " (all conflicts fixed: run \"git cherry-pick --continue\")" msgstr "" " (khi tất cả các xung Ä‘á»™t đã sá»a xong: chạy lệnh \"git cherry-pick --" "continue\")" -#: wt-status.c:963 +#: wt-status.c:1009 msgid " (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)" msgstr " (dùng \"git cherry-pick --abort\" để hủy bá» thao tác cherry-pick)" -#: wt-status.c:972 +#: wt-status.c:1018 #, c-format msgid "You are currently reverting commit %s." msgstr "Bạn hiện nay Ä‘ang thá»±c hiện thao tác revert lần chuyển giao “%sâ€." -#: wt-status.c:977 +#: wt-status.c:1023 msgid " (fix conflicts and run \"git revert --continue\")" msgstr " (sá»a các xung Ä‘á»™t và sau đó chạy lệnh \"git revert --continue\")" -#: wt-status.c:980 +#: wt-status.c:1026 msgid " (all conflicts fixed: run \"git revert --continue\")" msgstr "" " (khi tất cả các xung Ä‘á»™t đã sá»a xong: chạy lệnh \"git revert --continue\")" -#: wt-status.c:982 +#: wt-status.c:1028 msgid " (use \"git revert --abort\" to cancel the revert operation)" msgstr " (dùng \"git revert --abort\" để hủy bá» thao tác revert)" -#: wt-status.c:993 +#: wt-status.c:1039 #, c-format msgid "You are currently bisecting, started from branch '%s'." msgstr "" "Bạn hiện nay Ä‘ang thá»±c hiện thao tác di chuyển ná»a bÆ°á»›c (bisect), bắt đầu từ " "nhánh “%sâ€." -#: wt-status.c:997 +#: wt-status.c:1043 msgid "You are currently bisecting." -msgstr "Bạn hiện tại Ä‘ang thá»±c hiện việc bisect (chia đôi)." +msgstr "Bạn hiện tại Ä‘ang thá»±c hiện việc bisect (di chuyển ná»a bÆ°á»›c)." -#: wt-status.c:1000 +#: wt-status.c:1046 msgid " (use \"git bisect reset\" to get back to the original branch)" msgstr " (dùng \"git bisect reset\" để quay trở lại nhánh nguyên thủy)" -#: wt-status.c:1173 +#: wt-status.c:1221 msgid "On branch " msgstr "Trên nhánh " -#: wt-status.c:1180 +#: wt-status.c:1228 msgid "rebase in progress; onto " -msgstr "rebase Ä‘ang được thá»±c hiện: lên trên" +msgstr "rebase Ä‘ang được thá»±c hiện: lên trên " -#: wt-status.c:1187 +#: wt-status.c:1235 msgid "HEAD detached at " -msgstr "HEAD được tách rá»i tại" +msgstr "HEAD được tách rá»i tại " -#: wt-status.c:1189 +#: wt-status.c:1237 msgid "HEAD detached from " msgstr "HEAD được tách rá»i từ" -#: wt-status.c:1192 +#: wt-status.c:1240 msgid "Not currently on any branch." msgstr "Hiện tại chẳng ở nhánh nà o cả." -#: wt-status.c:1209 +#: wt-status.c:1257 msgid "Initial commit" msgstr "Lần chuyển giao (commit) khởi đầu" -#: wt-status.c:1223 +#: wt-status.c:1271 msgid "Untracked files" msgstr "Những táºp tin chÆ°a được theo dõi" -#: wt-status.c:1225 +#: wt-status.c:1273 msgid "Ignored files" msgstr "Những táºp tin bị lá» Ä‘i" -#: wt-status.c:1229 +#: wt-status.c:1277 #, c-format msgid "" "It took %.2f seconds to enumerate untracked files. 'status -uno'\n" @@ -1633,32 +1801,32 @@ msgstr "" "có lẽ là m nó nhanh hÆ¡n, nhÆ°ng bạn phải cẩn tháºn đừng quên mình phải\n" "tá»± thêm các táºp tin má»›i (xem “git help statusâ€.." -#: wt-status.c:1235 +#: wt-status.c:1283 #, c-format msgid "Untracked files not listed%s" msgstr "Những táºp tin không bị theo vết không được liệt kê ra %s" -#: wt-status.c:1237 +#: wt-status.c:1285 msgid " (use -u option to show untracked files)" msgstr " (dùng tùy chá»n -u để hiển thị các táºp tin chÆ°a được theo dõi)" -#: wt-status.c:1243 +#: wt-status.c:1291 msgid "No changes" msgstr "Không có thay đổi nà o" -#: wt-status.c:1248 +#: wt-status.c:1296 #, c-format msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n" msgstr "" "không có thay đổi nà o được thêm và o commit (dùng \"git add\" và /hoặc \"git " "commit -a\")\n" -#: wt-status.c:1251 +#: wt-status.c:1299 #, c-format msgid "no changes added to commit\n" msgstr "không có thay đổi nà o được thêm và o lần chuyển giao (commit)\n" -#: wt-status.c:1254 +#: wt-status.c:1302 #, c-format msgid "" "nothing added to commit but untracked files present (use \"git add\" to " @@ -1667,58 +1835,62 @@ msgstr "" "không có gì được thêm và o lần chuyển giao (commit) nhÆ°ng có những táºp tin " "không được theo dấu vết hiện diện (dùng \"git add\" để Ä‘Æ°a và o theo dõi)\n" -#: wt-status.c:1257 +#: wt-status.c:1305 #, c-format msgid "nothing added to commit but untracked files present\n" msgstr "" "không có gì được thêm và o lần chuyển giao (commit) nhÆ°ng có những táºp tin " "không được theo dấu vết hiện diện\n" -#: wt-status.c:1260 +#: wt-status.c:1308 #, c-format msgid "nothing to commit (create/copy files and use \"git add\" to track)\n" msgstr "" " không có gì để commit (tạo/sao-chép các táºp tin và dùng \"git add\" để theo " "dõi dấu vết)\n" -#: wt-status.c:1263 wt-status.c:1268 +#: wt-status.c:1311 wt-status.c:1316 #, c-format msgid "nothing to commit\n" msgstr "không có gì để chuyển giao (commit)\n" -#: wt-status.c:1266 +#: wt-status.c:1314 #, c-format msgid "nothing to commit (use -u to show untracked files)\n" msgstr "" "không có gì để chuyển giao (commit) (dùng -u để bá» các táºp tin cần theo dấu " "vết)\n" -#: wt-status.c:1270 +#: wt-status.c:1318 #, c-format msgid "nothing to commit, working directory clean\n" msgstr "không có gì để chuyển giao (commit), thÆ° mục là m việc sạch sẽ\n" -#: wt-status.c:1378 +#: wt-status.c:1427 msgid "HEAD (no branch)" msgstr "HEAD (không nhánh)" -#: wt-status.c:1384 +#: wt-status.c:1433 msgid "Initial commit on " msgstr "Lần chuyển giao (commit) khởi tạo trên " -#: wt-status.c:1399 +#: wt-status.c:1463 +msgid "gone" +msgstr "đã ra Ä‘i" + +#: wt-status.c:1465 msgid "behind " msgstr "đằng sau " -#: wt-status.c:1402 wt-status.c:1405 +#: wt-status.c:1468 wt-status.c:1471 msgid "ahead " msgstr "phÃa trÆ°á»›c " -#: wt-status.c:1407 +#: wt-status.c:1473 msgid ", behind " msgstr ", đằng sau " -#: compat/precompose_utf8.c:58 builtin/clone.c:351 +#: compat/precompose_utf8.c:55 builtin/clone.c:350 #, c-format msgid "failed to unlink '%s'" msgstr "bá» liên kết (unlink) %s không thà nh công" @@ -1806,7 +1978,7 @@ msgstr "" msgid "unexpected diff status %c" msgstr "trạng thái lệnh diff không nhÆ° mong đợi %c" -#: builtin/add.c:149 builtin/commit.c:252 +#: builtin/add.c:149 builtin/commit.c:260 msgid "updating files failed" msgstr "Cáºp nháºt táºp tin gặp lá»—i" @@ -1815,147 +1987,142 @@ msgstr "Cáºp nháºt táºp tin gặp lá»—i" msgid "remove '%s'\n" msgstr "gỡ bỠ“%sâ€\n" -#: builtin/add.c:253 +#: builtin/add.c:237 msgid "Unstaged changes after refreshing the index:" msgstr "" "Các thay đổi không được lÆ°u trạng thái sau khi là m tÆ°Æ¡i má»›i lại bảng mục lục:" -#: builtin/add.c:256 builtin/add.c:573 builtin/rm.c:337 -#, c-format -msgid "pathspec '%s' did not match any files" -msgstr "pathspec “%s†không khá»›p vá»›i bất kỳ táºp tin nà o" - -#: builtin/add.c:339 +#: builtin/add.c:299 msgid "Could not read the index" msgstr "Không thể Ä‘á»c bảng mục lục" -#: builtin/add.c:350 +#: builtin/add.c:310 #, c-format msgid "Could not open '%s' for writing." msgstr "Không thể mở “%s†để ghi." -#: builtin/add.c:354 +#: builtin/add.c:314 msgid "Could not write patch" msgstr "Không thể ghi ra miếng vá" -#: builtin/add.c:359 +#: builtin/add.c:319 #, c-format msgid "Could not stat '%s'" msgstr "không thể lấy trạng thái vỠ“%sâ€" -#: builtin/add.c:361 +#: builtin/add.c:321 msgid "Empty patch. Aborted." msgstr "Miếng vá trống rá»—ng. Äã bá» qua." -#: builtin/add.c:367 +#: builtin/add.c:327 #, c-format msgid "Could not apply '%s'" msgstr "Không thể apply (áp dụng miếng vá) “%sâ€" -#: builtin/add.c:377 +#: builtin/add.c:337 msgid "The following paths are ignored by one of your .gitignore files:\n" msgstr "" "Các Ä‘Æ°á»ng dẫn theo sau đây sẽ bị lá» Ä‘i bởi má»™t trong các táºp tin .gitignore " "của bạn:\n" -#: builtin/add.c:394 builtin/clean.c:875 builtin/fetch.c:78 builtin/mv.c:63 -#: builtin/prune-packed.c:73 builtin/push.c:451 builtin/remote.c:1253 -#: builtin/rm.c:268 +#: builtin/add.c:354 builtin/clean.c:875 builtin/fetch.c:92 builtin/mv.c:66 +#: builtin/prune-packed.c:73 builtin/push.c:459 builtin/remote.c:1253 +#: builtin/rm.c:269 msgid "dry run" msgstr "chạy thá»" -#: builtin/add.c:395 builtin/apply.c:4410 builtin/check-ignore.c:19 -#: builtin/commit.c:1220 builtin/count-objects.c:95 builtin/fsck.c:613 -#: builtin/log.c:1573 builtin/mv.c:62 builtin/read-tree.c:113 +#: builtin/add.c:355 builtin/apply.c:4410 builtin/check-ignore.c:19 +#: builtin/commit.c:1249 builtin/count-objects.c:95 builtin/fsck.c:612 +#: builtin/log.c:1592 builtin/mv.c:65 builtin/read-tree.c:113 msgid "be verbose" msgstr "chi tiết" -#: builtin/add.c:397 +#: builtin/add.c:357 msgid "interactive picking" msgstr "sá»a bằng cách tÆ°Æ¡ng tác" -#: builtin/add.c:398 builtin/checkout.c:1073 builtin/reset.c:261 +#: builtin/add.c:358 builtin/checkout.c:1109 builtin/reset.c:272 msgid "select hunks interactively" msgstr "chá»n “hunks†má»™t cách tÆ°Æ¡ng tác" -#: builtin/add.c:399 +#: builtin/add.c:359 msgid "edit current diff and apply" msgstr "sá»a diff hiện nay và áp dụng nó" -#: builtin/add.c:400 +#: builtin/add.c:360 msgid "allow adding otherwise ignored files" msgstr "cho phép thêm các táºp tin bị bá» qua khác" -#: builtin/add.c:401 +#: builtin/add.c:361 msgid "update tracked files" msgstr "cáºp nháºt các táºp tin được theo vết" -#: builtin/add.c:402 +#: builtin/add.c:362 msgid "record only the fact that the path will be added later" msgstr "chỉ ghi lại sá»± việc mà đưá»ng dẫn sẽ được thêm và o sau" -#: builtin/add.c:403 +#: builtin/add.c:363 msgid "add changes from all tracked and untracked files" msgstr "" "thêm các thay đổi từ tất cả các táºp tin có cÅ©ng nhÆ° không được theo dõi dấu " "vết" #. takes no arguments -#: builtin/add.c:406 +#: builtin/add.c:366 msgid "ignore paths removed in the working tree (same as --no-all)" msgstr "" "lá» Ä‘i các Ä‘Æ°á»ng dẫn bị gỡ bá» trong cây thÆ° mục là m việc (giống vá»›i --no-all)" -#: builtin/add.c:408 +#: builtin/add.c:368 msgid "don't add, only refresh the index" msgstr "không thêm, chỉ là m tÆ°Æ¡i má»›i bảng mục lục" -#: builtin/add.c:409 +#: builtin/add.c:369 msgid "just skip files which cannot be added because of errors" msgstr "chie bá» qua những táºp tin mà nó không thể được thêm và o bởi vì gặp lá»—i" -#: builtin/add.c:410 +#: builtin/add.c:370 msgid "check if - even missing - files are ignored in dry run" msgstr "" "kiểm tra xem - tháºm chà thiếu - táºp tin bị bá» qua trong quá trình chạy thá»" -#: builtin/add.c:432 +#: builtin/add.c:392 #, c-format msgid "Use -f if you really want to add them.\n" msgstr "Sá» dụng tùy chá»n -f nếu bạn thá»±c sá»± muốn thêm chúng và o.\n" -#: builtin/add.c:433 +#: builtin/add.c:393 msgid "no files added" msgstr "chÆ°a có táºp tin nà o được thêm và o" -#: builtin/add.c:439 +#: builtin/add.c:399 msgid "adding files failed" msgstr "thêm táºp tin gặp lá»—i" -#: builtin/add.c:478 +#: builtin/add.c:438 msgid "-A and -u are mutually incompatible" msgstr "-A và -u xung khắc nhau" -#: builtin/add.c:496 +#: builtin/add.c:456 msgid "Option --ignore-missing can only be used together with --dry-run" msgstr "Tùy chá»n --ignore-missing chỉ có thể được dùng cùng vá»›i --dry-run" -#: builtin/add.c:526 +#: builtin/add.c:486 #, c-format msgid "Nothing specified, nothing added.\n" msgstr "Không có gì được chỉ ra, không có gì được thêm và o.\n" -#: builtin/add.c:527 +#: builtin/add.c:487 #, c-format msgid "Maybe you wanted to say 'git add .'?\n" msgstr "Có lẽ bạn muốn là “git add .†phải không?\n" -#: builtin/add.c:533 builtin/check-ignore.c:161 builtin/clean.c:919 -#: builtin/commit.c:312 builtin/mv.c:82 builtin/rm.c:297 +#: builtin/add.c:492 builtin/check-ignore.c:172 builtin/clean.c:919 +#: builtin/commit.c:320 builtin/mv.c:86 builtin/reset.c:224 builtin/rm.c:299 msgid "index file corrupt" msgstr "táºp tin ghi bảng mục lục bị há»ng" -#: builtin/add.c:605 builtin/apply.c:4506 builtin/mv.c:229 builtin/rm.c:432 +#: builtin/add.c:589 builtin/apply.c:4506 builtin/mv.c:259 builtin/rm.c:432 msgid "Unable to write new index file" msgstr "Không thể ghi táºp tin lÆ°u bảng mục lục má»›i" @@ -2211,7 +2378,7 @@ msgstr "%s: miếng vá không được áp dụng" msgid "Checking patch %s..." msgstr "Äang kiểm tra miếng vá %s..." -#: builtin/apply.c:3680 builtin/checkout.c:216 builtin/reset.c:127 +#: builtin/apply.c:3680 builtin/checkout.c:213 builtin/reset.c:127 #, c-format msgid "make_cache_entry failed for path '%s'" msgstr "make_cache_entry gặp lá»—i đối vá»›i Ä‘Æ°á»ng dẫn “%sâ€" @@ -2239,7 +2406,7 @@ msgstr "không thể tạo “backing store†cho táºp tin được tạo má»› #: builtin/apply.c:3863 builtin/apply.c:3971 #, c-format msgid "unable to add cache entry for %s" -msgstr "không thể thêm mục nhá»› tạm cho %s" +msgstr "không thể thêm mục nhá»› đệm cho %s" #: builtin/apply.c:3896 #, c-format @@ -2271,7 +2438,7 @@ msgstr[1] "Äang áp dụng miếng vá %%s vá»›i %d lần từ chối..." #: builtin/apply.c:4053 #, c-format msgid "truncating .rej filename to %.*s.rej" -msgstr "Ä‘ang cắt cụt tên táºp tin .rej thà nh %.*s.rej" +msgstr "Ä‘ang cắt ngắn tên táºp tin .rej thà nh %.*s.rej" #: builtin/apply.c:4074 #, c-format @@ -2291,8 +2458,8 @@ msgstr "không thừa nháºn đầu và o" msgid "unable to read index file" msgstr "không thể Ä‘á»c táºp tin lÆ°u bảng mục lục" -#: builtin/apply.c:4357 builtin/apply.c:4360 builtin/clone.c:91 -#: builtin/fetch.c:63 +#: builtin/apply.c:4357 builtin/apply.c:4360 builtin/clone.c:90 +#: builtin/fetch.c:77 msgid "path" msgstr "Ä‘Æ°á»ng-dẫn" @@ -2356,7 +2523,7 @@ msgid "build a temporary index based on embedded index information" msgstr "" "xây dá»±ng bảng mục lục tạm thá»i trên cÆ¡ sở thông tin bảng mục lục được nhúng" -#: builtin/apply.c:4389 builtin/checkout-index.c:197 builtin/ls-files.c:462 +#: builtin/apply.c:4389 builtin/checkout-index.c:197 builtin/ls-files.c:452 msgid "paths are separated with NUL character" msgstr "các Ä‘Æ°á»ng dẫn bị ngăn cách bởi ký tá»± NULL" @@ -2455,7 +2622,7 @@ msgstr "git archive: Máy chủ không có địa chỉ URL" #: builtin/archive.c:58 msgid "git archive: expected ACK/NAK, got EOF" -msgstr "git archive: mong đợi ACK/NAK, nháºn EOF" +msgstr "git archive: cần ACK/NAK, nhÆ°ng lại nháºn được EOF" #: builtin/archive.c:61 #, c-format @@ -2473,7 +2640,7 @@ msgstr "git archive: lá»—i giao thức" #: builtin/archive.c:68 msgid "git archive: expected a flush" -msgstr "git archive: đã mong chá» má»™t flush" +msgstr "git archive: cần má»™t flush (đẩy dữ liệu lên Ä‘Ä©a)" #: builtin/bisect--helper.c:7 msgid "git bisect--helper --next-all [--no-checkout]" @@ -2489,105 +2656,105 @@ msgstr "" "cáºp nháºt BISECT_HEAD thay vì lấy ra (checking out) lần chuyển giao (commit) " "hiện hà nh" -#: builtin/blame.c:26 +#: builtin/blame.c:27 msgid "git blame [options] [rev-opts] [rev] [--] file" msgstr "git blame [các-tùy-chá»n] [rev-opts] [rev] [--] táºp-tin" -#: builtin/blame.c:31 +#: builtin/blame.c:32 msgid "[rev-opts] are documented in git-rev-list(1)" msgstr "[rev-opts] được mô tả trong git-rev-list(1)" -#: builtin/blame.c:2276 +#: builtin/blame.c:2248 msgid "Show blame entries as we find them, incrementally" msgstr "Hiển thị các mục “blame†nhÆ° là chúng ta thấy chúng, tăng dần" -#: builtin/blame.c:2277 +#: builtin/blame.c:2249 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "" "Hiển thị SHA-1 trắng cho những lần chuyển giao biên giá»›i (Mặc định: off)" -#: builtin/blame.c:2278 +#: builtin/blame.c:2250 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "Không coi các lần chuyển giao gốc là giá»›i hạn (Mặc định: off)" -#: builtin/blame.c:2279 +#: builtin/blame.c:2251 msgid "Show work cost statistics" msgstr "Hiển thị thống kê công sức là m việc" -#: builtin/blame.c:2280 +#: builtin/blame.c:2252 msgid "Show output score for blame entries" msgstr "Hiển thị kết xuất Ä‘iểm số có các mục tin “blameâ€" -#: builtin/blame.c:2281 +#: builtin/blame.c:2253 msgid "Show original filename (Default: auto)" msgstr "Hiển thị tên táºp tin gốc (Mặc định: auto)" -#: builtin/blame.c:2282 +#: builtin/blame.c:2254 msgid "Show original linenumber (Default: off)" msgstr "Hiển thị số dòng gốc (Mặc định: off)" -#: builtin/blame.c:2283 +#: builtin/blame.c:2255 msgid "Show in a format designed for machine consumption" msgstr "Hiển thị ở định dạng đã thiết kế cho sá»± tiêu dùng bằng máy" -#: builtin/blame.c:2284 +#: builtin/blame.c:2256 msgid "Show porcelain format with per-line commit information" msgstr "Hiển thị định dạng “porcelain†vá»›i thông tin chuyển giao má»—i dòng" -#: builtin/blame.c:2285 +#: builtin/blame.c:2257 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "Dùng cùng chế Ä‘á»™ xuất ra vóigit-annotate (Mặc định: off)" -#: builtin/blame.c:2286 +#: builtin/blame.c:2258 msgid "Show raw timestamp (Default: off)" msgstr "Hiển thị dấu vết thá»i gian dạng thô (Mặc định: off)" -#: builtin/blame.c:2287 +#: builtin/blame.c:2259 msgid "Show long commit SHA1 (Default: off)" msgstr "Hiển thị SHA1 của lần chuyển giao (commit) dạng dà i (Mặc định: off)" -#: builtin/blame.c:2288 +#: builtin/blame.c:2260 msgid "Suppress author name and timestamp (Default: off)" msgstr "Không hiển thị tên tác giả và dấu vết thá»i gian (Mặc định: off)" -#: builtin/blame.c:2289 +#: builtin/blame.c:2261 msgid "Show author email instead of name (Default: off)" msgstr "Hiển thị thÆ° Ä‘iện tá» của tác giả thay vì tên (Mặc định: off)" -#: builtin/blame.c:2290 +#: builtin/blame.c:2262 msgid "Ignore whitespace differences" msgstr "Bá» qua các khác biệt do khoảng trắng gây ra" -#: builtin/blame.c:2291 +#: builtin/blame.c:2263 msgid "Spend extra cycles to find better match" msgstr "Tiêu thụ thêm năng tà i nguyên máy móc để tìm kiếm tốt hÆ¡n nữa" -#: builtin/blame.c:2292 +#: builtin/blame.c:2264 msgid "Use revisions from <file> instead of calling git-rev-list" msgstr "" "Sá» dụng Ä‘iểm xét duyệt (revision) từ <táºp tin> thay vì gá»i “git-rev-listâ€" -#: builtin/blame.c:2293 +#: builtin/blame.c:2265 msgid "Use <file>'s contents as the final image" msgstr "Sá» dụng ná»™i dung của <táºp tin> nhÆ° là ảnh cuối cùng" -#: builtin/blame.c:2294 builtin/blame.c:2295 +#: builtin/blame.c:2266 builtin/blame.c:2267 msgid "score" msgstr "Ä‘iểm số" -#: builtin/blame.c:2294 +#: builtin/blame.c:2266 msgid "Find line copies within and across files" msgstr "Tìm các bản sao chép dòng trong và ngang qua táºp tin" -#: builtin/blame.c:2295 +#: builtin/blame.c:2267 msgid "Find line movements within and across files" msgstr "Tìm các di chuyển dòng trong và ngang qua táºp tin" -#: builtin/blame.c:2296 +#: builtin/blame.c:2268 msgid "n,m" msgstr "n,m" -#: builtin/blame.c:2296 +#: builtin/blame.c:2268 msgid "Process only line range n,m, counting from 1" msgstr "Xá» lý chỉ dòng vùng n,m, tÃnh từ 1" @@ -2674,7 +2841,7 @@ msgstr "Gặp lá»—i khi Ä‘ang xóa nhánh trên máy chủ “%sâ€" #: builtin/branch.c:256 #, c-format msgid "Error deleting branch '%s'" -msgstr "Lá»—i khi xoá bá» nhánh “%sâ€" +msgstr "Gặp lá»—i khi xoá bá» nhánh “%sâ€" #: builtin/branch.c:263 #, c-format @@ -2693,279 +2860,289 @@ msgstr "nhánh “%s†không chỉ đến má»™t lần chuyển giao (commit) n #: builtin/branch.c:453 #, c-format +msgid "[%s: gone]" +msgstr "[%s: đã ra Ä‘i]" + +#: builtin/branch.c:456 +#, c-format +msgid "[%s]" +msgstr "[%s]" + +#: builtin/branch.c:459 +#, c-format msgid "[%s: behind %d]" msgstr "[%s: đằng sau %d]" -#: builtin/branch.c:455 +#: builtin/branch.c:461 #, c-format msgid "[behind %d]" msgstr "[đằng sau %d]" -#: builtin/branch.c:459 +#: builtin/branch.c:465 #, c-format msgid "[%s: ahead %d]" msgstr "[%s: phÃa trÆ°á»›c %d]" -#: builtin/branch.c:461 +#: builtin/branch.c:467 #, c-format msgid "[ahead %d]" msgstr "[phÃa trÆ°á»›c %d]" -#: builtin/branch.c:464 +#: builtin/branch.c:470 #, c-format msgid "[%s: ahead %d, behind %d]" msgstr "[%s: trÆ°á»›c %d, sau %d]" -#: builtin/branch.c:467 +#: builtin/branch.c:473 #, c-format msgid "[ahead %d, behind %d]" msgstr "[trÆ°á»›c %d, sau %d]" -#: builtin/branch.c:490 +#: builtin/branch.c:496 msgid " **** invalid ref ****" msgstr " **** tham chiếu sai ****" -#: builtin/branch.c:582 +#: builtin/branch.c:588 #, c-format msgid "(no branch, rebasing %s)" msgstr "(không nhánh, Ä‘ang rebase %s)" -#: builtin/branch.c:585 +#: builtin/branch.c:591 #, c-format msgid "(no branch, bisect started on %s)" msgstr "(không nhánh, bisect được bắt đầu tại %s)" -#: builtin/branch.c:588 +#: builtin/branch.c:594 #, c-format msgid "(detached from %s)" msgstr "(được tách rá»i từ %s)" -#: builtin/branch.c:591 +#: builtin/branch.c:597 msgid "(no branch)" msgstr "(không nhánh)" -#: builtin/branch.c:637 +#: builtin/branch.c:643 #, c-format msgid "object '%s' does not point to a commit" msgstr "đối tượng “%s†không chỉ đến má»™t lần chuyển giao (commit) nà o cả" -#: builtin/branch.c:669 +#: builtin/branch.c:675 msgid "some refs could not be read" msgstr "má»™t số tham chiếu đã không thể Ä‘á»c được" -#: builtin/branch.c:682 +#: builtin/branch.c:688 msgid "cannot rename the current branch while not on any." msgstr "không thể đổi tên nhánh hiện hà nh trong khi nó chẳng ở đâu cả." -#: builtin/branch.c:692 +#: builtin/branch.c:698 #, c-format msgid "Invalid branch name: '%s'" -msgstr "Sai tên nhánh: “%sâ€" +msgstr "Tên nhánh không hợp lệ: “%sâ€" -#: builtin/branch.c:707 +#: builtin/branch.c:713 msgid "Branch rename failed" -msgstr "Äổi tên nhánh gặp lá»—i" +msgstr "Gặp lá»—i khi đổi tên nhánh" -#: builtin/branch.c:711 +#: builtin/branch.c:717 #, c-format msgid "Renamed a misnamed branch '%s' away" msgstr "Äã đổi tên nhánh khuyết danh “%s†đi" -#: builtin/branch.c:715 +#: builtin/branch.c:721 #, c-format msgid "Branch renamed to %s, but HEAD is not updated!" msgstr "Nhánh bị đổi tên thà nh %s, nhÆ°ng HEAD lại không được cáºp nháºt!" -#: builtin/branch.c:722 +#: builtin/branch.c:728 msgid "Branch is renamed, but update of config-file failed" msgstr "Nhánh bị đổi tên, nhÆ°ng cáºp nháºt táºp tin cấu hình gặp lá»—i" -#: builtin/branch.c:737 +#: builtin/branch.c:743 #, c-format msgid "malformed object name %s" msgstr "tên đối tượng dị hình %s" -#: builtin/branch.c:761 +#: builtin/branch.c:767 #, c-format msgid "could not write branch description template: %s" msgstr "không thể ghi và o mẫu mô tả nhánh: %s" -#: builtin/branch.c:791 +#: builtin/branch.c:797 msgid "Generic options" msgstr "Tùy chá»n chung" -#: builtin/branch.c:793 +#: builtin/branch.c:799 msgid "show hash and subject, give twice for upstream branch" msgstr "hiển thị mã băm và chủ Ä‘á», Ä‘Æ°a ra hai lần cho nhánh thượng nguồn" -#: builtin/branch.c:794 +#: builtin/branch.c:800 msgid "suppress informational messages" msgstr "Thu hồi các thông Ä‘iệp thông tin" -#: builtin/branch.c:795 +#: builtin/branch.c:801 msgid "set up tracking mode (see git-pull(1))" msgstr "cà i đặt chế Ä‘á»™ theo vết (xem git-pull(1))" -#: builtin/branch.c:797 +#: builtin/branch.c:803 msgid "change upstream info" msgstr "thay đổi thông tin thượng nguồn (upstream)" -#: builtin/branch.c:801 +#: builtin/branch.c:807 msgid "use colored output" msgstr "sá» dụng kết xuất có tô mà u" -#: builtin/branch.c:802 +#: builtin/branch.c:808 msgid "act on remote-tracking branches" msgstr "thao tác trên nhánh “remote-trackingâ€" -#: builtin/branch.c:805 builtin/branch.c:811 builtin/branch.c:832 -#: builtin/branch.c:838 builtin/commit.c:1433 builtin/commit.c:1434 -#: builtin/commit.c:1435 builtin/commit.c:1436 builtin/tag.c:468 +#: builtin/branch.c:811 builtin/branch.c:817 builtin/branch.c:838 +#: builtin/branch.c:844 builtin/commit.c:1460 builtin/commit.c:1461 +#: builtin/commit.c:1462 builtin/commit.c:1463 builtin/tag.c:468 msgid "commit" msgstr "commit" -#: builtin/branch.c:806 builtin/branch.c:812 +#: builtin/branch.c:812 builtin/branch.c:818 msgid "print only branches that contain the commit" msgstr "chỉ hiển thị những nhánh mà nó chứa lần chuyển giao" -#: builtin/branch.c:818 +#: builtin/branch.c:824 msgid "Specific git-branch actions:" msgstr "Hà nh Ä‘á»™ng git-branch:" -#: builtin/branch.c:819 +#: builtin/branch.c:825 msgid "list both remote-tracking and local branches" msgstr "liệt kê cả nhánh “remote-tracking†và ná»™i bá»™" -#: builtin/branch.c:821 +#: builtin/branch.c:827 msgid "delete fully merged branch" msgstr "xóa má»™t cách đầy đủ nhánh đã hòa trá»™n" -#: builtin/branch.c:822 +#: builtin/branch.c:828 msgid "delete branch (even if not merged)" msgstr "xoá nhánh (cho dù là chÆ°a được hòa trá»™n)" -#: builtin/branch.c:823 +#: builtin/branch.c:829 msgid "move/rename a branch and its reflog" msgstr "di chuyển hay đổi tên má»™t nhánh và reflog của nó" -#: builtin/branch.c:824 +#: builtin/branch.c:830 msgid "move/rename a branch, even if target exists" msgstr "di chuyển hoặc đổi tên má»™t nhánh, tháºm chà cả khi Ä‘Ãch đã có sẵn" -#: builtin/branch.c:825 +#: builtin/branch.c:831 msgid "list branch names" msgstr "liệt kê các tên nhánh" -#: builtin/branch.c:826 +#: builtin/branch.c:832 msgid "create the branch's reflog" msgstr "tạo reflog của nhánh" -#: builtin/branch.c:828 +#: builtin/branch.c:834 msgid "edit the description for the branch" msgstr "sá»a mô tả cho nhánh" -#: builtin/branch.c:829 +#: builtin/branch.c:835 msgid "force creation (when already exists)" msgstr "ép buá»™c tạo (khi đã sẵn tồn tại rồi)" -#: builtin/branch.c:832 +#: builtin/branch.c:838 msgid "print only not merged branches" msgstr "chỉ hiển thị các nhánh chÆ°a được hòa trá»™n" -#: builtin/branch.c:838 +#: builtin/branch.c:844 msgid "print only merged branches" msgstr "chỉ hiển thị các nhánh được hòa trá»™n" -#: builtin/branch.c:842 +#: builtin/branch.c:848 msgid "list branches in columns" msgstr "liệt kê các nhánh trong các cá»™t" -#: builtin/branch.c:855 +#: builtin/branch.c:861 msgid "Failed to resolve HEAD as a valid ref." msgstr "Gặp lá»—i khi phân giải HEAD nhÆ° là má»™t tham chiếu (ref) hợp lệ." -#: builtin/branch.c:860 builtin/clone.c:630 +#: builtin/branch.c:866 builtin/clone.c:629 msgid "HEAD not found below refs/heads!" msgstr "không tìm thấy HEAD ở dÆ°á»›i refs/heads!" -#: builtin/branch.c:883 +#: builtin/branch.c:890 msgid "--column and --verbose are incompatible" msgstr "--column và --verbose xung khắc nhau" -#: builtin/branch.c:889 builtin/branch.c:928 +#: builtin/branch.c:896 builtin/branch.c:935 msgid "branch name required" msgstr "cần tên nhánh" -#: builtin/branch.c:904 +#: builtin/branch.c:911 msgid "Cannot give description to detached HEAD" msgstr "Không thể Ä‘Æ°a ra mô tả HEAD đã tách rá»i" -#: builtin/branch.c:909 +#: builtin/branch.c:916 msgid "cannot edit description of more than one branch" msgstr "không thể sá»a mô tả cho nhiá»u hÆ¡n má»™t nhánh" -#: builtin/branch.c:916 +#: builtin/branch.c:923 #, c-format msgid "No commit on branch '%s' yet." msgstr "Vẫn chÆ°a chuyển giao trên nhánh “%sâ€." -#: builtin/branch.c:919 +#: builtin/branch.c:926 #, c-format msgid "No branch named '%s'." msgstr "Không có nhánh nà o có tên “%sâ€." -#: builtin/branch.c:934 +#: builtin/branch.c:941 msgid "too many branches for a rename operation" msgstr "quá nhiá»u nhánh dà nh cho thao tác đổi tên" -#: builtin/branch.c:939 +#: builtin/branch.c:946 msgid "too many branches to set new upstream" -msgstr "quá nhiá»u nhánh được đặt cho dòng ngược (upstream) má»›i" +msgstr "quá nhiá»u nhánh được đặt cho thượng nguồn (upstream) má»›i" -#: builtin/branch.c:943 +#: builtin/branch.c:950 #, c-format msgid "" "could not set upstream of HEAD to %s when it does not point to any branch." msgstr "" -"không thể đặt dòng ngược (upstream) của HEAD thà nh %s khi mà nó chẳng chỉ " +"không thể đặt thượng nguồn (upstream) của HEAD thà nh %s khi mà nó chẳng chỉ " "đến nhánh nà o cả." -#: builtin/branch.c:946 builtin/branch.c:968 builtin/branch.c:990 +#: builtin/branch.c:953 builtin/branch.c:975 builtin/branch.c:997 #, c-format msgid "no such branch '%s'" msgstr "không có nhánh nà o nhÆ° thế “%sâ€" -#: builtin/branch.c:950 +#: builtin/branch.c:957 #, c-format msgid "branch '%s' does not exist" msgstr "nhánh “%s†chÆ°a sẵn có" -#: builtin/branch.c:962 +#: builtin/branch.c:969 msgid "too many branches to unset upstream" msgstr "quá nhiá»u nhánh để bỠđặt ngược dòng (upstream)" -#: builtin/branch.c:966 +#: builtin/branch.c:973 msgid "could not unset upstream of HEAD when it does not point to any branch." msgstr "" "không thể bỠđặt ngược dòng (upstream) của HEAD không chỉ đến má»™t nhánh nà o " "cả." -#: builtin/branch.c:972 +#: builtin/branch.c:979 #, c-format msgid "Branch '%s' has no upstream information" msgstr "Nhánh “%s†không có thông tin thượng nguồn (upstream)" -#: builtin/branch.c:987 +#: builtin/branch.c:994 msgid "it does not make sense to create 'HEAD' manually" msgstr "không hợp lý khi tạo “HEAD†thủ công " -#: builtin/branch.c:993 +#: builtin/branch.c:1000 msgid "-a and -r options to 'git branch' do not make sense with a branch name" msgstr "" "hai tùy chá»n -a và -r áp dụng cho lệnh “git branch†không hợp lý đối vá»›i tên " "nhánh" -#: builtin/branch.c:996 +#: builtin/branch.c:1003 #, c-format msgid "" "The --set-upstream flag is deprecated and will be removed. Consider using --" @@ -2974,7 +3151,7 @@ msgstr "" "Cá» --set-upstream bị phản đối và sẽ bị xóa bá». Nên dùng --track hoặc --set-" "upstream-to\n" -#: builtin/branch.c:1013 +#: builtin/branch.c:1020 #, c-format msgid "" "\n" @@ -2985,12 +3162,12 @@ msgstr "" "Nếu bạn muốn “%s†theo dõi “%sâ€, thá»±c hiện lệnh sau:\n" "\n" -#: builtin/branch.c:1014 +#: builtin/branch.c:1021 #, c-format msgid " git branch -d %s\n" msgstr " git branch -d %s\n" -#: builtin/branch.c:1015 +#: builtin/branch.c:1022 #, c-format msgid " git branch --set-upstream-to %s\n" msgstr " git branch --set-upstream-to %s\n" @@ -3008,44 +3185,44 @@ msgstr "Cần má»™t kho chứa để mà tạo má»™t bundle." msgid "Need a repository to unbundle." msgstr "Cần má»™t kho chứa để mà bung má»™t bundle." -#: builtin/cat-file.c:285 +#: builtin/cat-file.c:312 msgid "git cat-file (-t|-s|-e|-p|<type>|--textconv) <object>" msgstr "git cat-file (-t|-s|-e|-p|<kiểu>|--textconv) <đối tượng>" -#: builtin/cat-file.c:286 +#: builtin/cat-file.c:313 msgid "git cat-file (--batch|--batch-check) < <list_of_objects>" msgstr "git cat-file (--batch|--batch-check) < <danh-sách-đối-tượng>" -#: builtin/cat-file.c:323 +#: builtin/cat-file.c:350 msgid "<type> can be one of: blob, tree, commit, tag" msgstr "<kiểu> là má»™t trong số: blob, tree, commit, tag" -#: builtin/cat-file.c:324 +#: builtin/cat-file.c:351 msgid "show object type" msgstr "hiển thị kiểu đối tượng" -#: builtin/cat-file.c:325 +#: builtin/cat-file.c:352 msgid "show object size" msgstr "hiển thị kÃch thÆ°á»›c đối tượng" -#: builtin/cat-file.c:327 +#: builtin/cat-file.c:354 msgid "exit with zero when there's no error" msgstr "thoát vá»›i 0 khi không có lá»—i" -#: builtin/cat-file.c:328 +#: builtin/cat-file.c:355 msgid "pretty-print object's content" msgstr "in ná»™i dung đối tượng dạng dá»… Ä‘á»c" -#: builtin/cat-file.c:330 +#: builtin/cat-file.c:357 msgid "for blob objects, run textconv on object's content" msgstr "vá»›i đối tượng blob, chạy lệnh textconv trên ná»™i dung của đối tượng" -#: builtin/cat-file.c:332 +#: builtin/cat-file.c:359 msgid "show info and content of objects fed from the standard input" msgstr "" "hiển thị thông tin và ná»™i dung của các đối tượng lấy từ đầu và o tiêu chuẩn" -#: builtin/cat-file.c:335 +#: builtin/cat-file.c:362 msgid "show info about objects fed from the standard input" msgstr "hiển thị các thông tin vỠđối tượng fed từ đầu và o tiêu chuẩn" @@ -3071,10 +3248,10 @@ msgid "read file names from stdin" msgstr "Ä‘á»c tên táºp tin từ đầu và o tiêu chuẩn" #: builtin/check-attr.c:23 builtin/check-ignore.c:24 -msgid "input paths are terminated by a null character" -msgstr "các Ä‘Æ°á»ng dẫn được ngăn cách bởi ký tá»± null" +msgid "terminate input and output records by a NUL character" +msgstr "chấm dứt các bản ghi và o và ra bằng ký tá»± NULL" -#: builtin/check-ignore.c:18 builtin/checkout.c:1054 builtin/gc.c:177 +#: builtin/check-ignore.c:18 builtin/checkout.c:1090 builtin/gc.c:259 msgid "suppress progress reporting" msgstr "chặn các báo cáo tiến trình hoạt Ä‘á»™ng" @@ -3082,27 +3259,31 @@ msgstr "chặn các báo cáo tiến trình hoạt Ä‘á»™ng" msgid "show non-matching input paths" msgstr "hiển thị những Ä‘Æ°á»ng dẫn đầu và o không khá»›p vá»›i mẫu" -#: builtin/check-ignore.c:143 +#: builtin/check-ignore.c:28 +msgid "ignore index when checking" +msgstr "bá» qua mục lục khi kiểm tra" + +#: builtin/check-ignore.c:154 msgid "cannot specify pathnames with --stdin" msgstr "không thể chỉ định các tên Ä‘Æ°á»ng dẫn vá»›i --stdin" -#: builtin/check-ignore.c:146 +#: builtin/check-ignore.c:157 msgid "-z only makes sense with --stdin" msgstr "-z chỉ hợp lý vá»›i --stdin" -#: builtin/check-ignore.c:148 +#: builtin/check-ignore.c:159 msgid "no path specified" -msgstr "chÆ°a ghi rõ Ä‘Æ°á»ng dẫn" +msgstr "chÆ°a chỉ ra Ä‘Æ°á»ng dẫn" -#: builtin/check-ignore.c:152 +#: builtin/check-ignore.c:163 msgid "--quiet is only valid with a single pathname" msgstr "--quiet chỉ hợp lệ vá»›i tên Ä‘Æ°á»ng dẫn Ä‘Æ¡n" -#: builtin/check-ignore.c:154 +#: builtin/check-ignore.c:165 msgid "cannot have both --quiet and --verbose" msgstr "không thể dùng cả hai tùy chá»n --quiet và --verbose" -#: builtin/check-ignore.c:157 +#: builtin/check-ignore.c:168 msgid "--non-matching is only valid with --verbose" msgstr "tùy-chá»n --non-matching chỉ hợp lệ khi dùng vá»›i --verbose" @@ -3176,107 +3357,107 @@ msgstr "git checkout [các-tùy-chá»n] <nhánh>" msgid "git checkout [options] [<branch>] -- <file>..." msgstr "git checkout [các-tùy-chá»n] [<nhánh>] -- <táºp-tin>..." -#: builtin/checkout.c:117 builtin/checkout.c:150 +#: builtin/checkout.c:114 builtin/checkout.c:147 #, c-format msgid "path '%s' does not have our version" msgstr "Ä‘Æ°á»ng dẫn “%s†không có các phiên bản của chúng ta" -#: builtin/checkout.c:119 builtin/checkout.c:152 +#: builtin/checkout.c:116 builtin/checkout.c:149 #, c-format msgid "path '%s' does not have their version" msgstr "Ä‘Æ°á»ng dẫn “%s†không có các phiên bản của chúng" -#: builtin/checkout.c:135 +#: builtin/checkout.c:132 #, c-format msgid "path '%s' does not have all necessary versions" msgstr "Ä‘Æ°á»ng dẫn “%s†không có tất cả các phiên bản cần thiết" -#: builtin/checkout.c:179 +#: builtin/checkout.c:176 #, c-format msgid "path '%s' does not have necessary versions" msgstr "Ä‘Æ°á»ng dẫn “%s†không có các phiên bản cần thiết" -#: builtin/checkout.c:196 +#: builtin/checkout.c:193 #, c-format msgid "path '%s': cannot merge" msgstr "Ä‘Æ°á»ng dẫn “%sâ€: không thể hòa trá»™n" -#: builtin/checkout.c:213 +#: builtin/checkout.c:210 #, c-format msgid "Unable to add merge result for '%s'" msgstr "Không thể thêm kết quả hòa trá»™n cho “%sâ€" -#: builtin/checkout.c:237 builtin/checkout.c:240 builtin/checkout.c:243 -#: builtin/checkout.c:246 +#: builtin/checkout.c:232 builtin/checkout.c:235 builtin/checkout.c:238 +#: builtin/checkout.c:241 #, c-format msgid "'%s' cannot be used with updating paths" msgstr "“%s†không thể được sá» dụng vá»›i các Ä‘Æ°á»ng dẫn cáºp nháºt" -#: builtin/checkout.c:249 builtin/checkout.c:252 +#: builtin/checkout.c:244 builtin/checkout.c:247 #, c-format msgid "'%s' cannot be used with %s" -msgstr "“%s†không thể được sá» dụng vá»›i %s" +msgstr "“%s†không thể được dùng cùng vá»›i %s" -#: builtin/checkout.c:255 +#: builtin/checkout.c:250 #, c-format msgid "Cannot update paths and switch to branch '%s' at the same time." msgstr "" "Không thể cáºp nháºt các Ä‘Æ°á»ng dẫn và chuyển đến nhánh “%s†cùng má»™t lúc." -#: builtin/checkout.c:266 builtin/checkout.c:458 +#: builtin/checkout.c:261 builtin/checkout.c:451 msgid "corrupt index file" msgstr "táºp tin ghi bảng mục lục bị há»ng" -#: builtin/checkout.c:329 builtin/checkout.c:336 +#: builtin/checkout.c:322 builtin/checkout.c:329 #, c-format msgid "path '%s' is unmerged" msgstr "Ä‘Æ°á»ng dẫn “%s†không được hòa trá»™n" -#: builtin/checkout.c:480 +#: builtin/checkout.c:473 msgid "you need to resolve your current index first" msgstr "bạn cần phải phân giải bảng mục lục hiện tại của bạn trÆ°á»›c đã" -#: builtin/checkout.c:601 +#: builtin/checkout.c:594 #, c-format msgid "Can not do reflog for '%s'\n" msgstr "Không thể thá»±c hiện reflog cho “%sâ€\n" -#: builtin/checkout.c:639 +#: builtin/checkout.c:632 msgid "HEAD is now at" msgstr "HEAD hiện giá» tại" -#: builtin/checkout.c:646 +#: builtin/checkout.c:639 #, c-format msgid "Reset branch '%s'\n" msgstr "Äặt lại nhánh “%sâ€\n" -#: builtin/checkout.c:649 +#: builtin/checkout.c:642 #, c-format msgid "Already on '%s'\n" msgstr "Äã sẵn sà ng trên “%sâ€\n" -#: builtin/checkout.c:653 +#: builtin/checkout.c:646 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "Äã chuyển tá»›i và reset nhánh “%sâ€\n" -#: builtin/checkout.c:655 builtin/checkout.c:997 +#: builtin/checkout.c:648 builtin/checkout.c:1033 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "Äã chuyển đến nhánh má»›i “%sâ€\n" -#: builtin/checkout.c:657 +#: builtin/checkout.c:650 #, c-format msgid "Switched to branch '%s'\n" msgstr "Äã chuyển đến nhánh “%sâ€\n" -#: builtin/checkout.c:713 +#: builtin/checkout.c:706 #, c-format msgid " ... and %d more.\n" msgstr " ... và nhiá»u hÆ¡n %d.\n" #. The singular version -#: builtin/checkout.c:719 +#: builtin/checkout.c:712 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -3301,7 +3482,7 @@ msgstr[1] "" "\n" "%s\n" -#: builtin/checkout.c:737 +#: builtin/checkout.c:730 #, c-format msgid "" "If you want to keep them by creating a new branch, this may be a good time\n" @@ -3317,138 +3498,142 @@ msgstr "" " git branch tên_nhánh_má»›i %s\n" "\n" -#: builtin/checkout.c:767 +#: builtin/checkout.c:760 msgid "internal error in revision walk" msgstr "lá»—i ná»™i bá»™ trong khi di chuyển qua các Ä‘iểm xét duyệt" -#: builtin/checkout.c:771 +#: builtin/checkout.c:764 msgid "Previous HEAD position was" msgstr "Vị trà kế trÆ°á»›c của HEAD là " -#: builtin/checkout.c:798 builtin/checkout.c:992 +#: builtin/checkout.c:791 builtin/checkout.c:1028 msgid "You are on a branch yet to be born" msgstr "Bạn tại nhánh mà nó chÆ°a hỠđược sinh ra" -#. case (1) -#: builtin/checkout.c:928 +#: builtin/checkout.c:935 +#, c-format +msgid "only one reference expected, %d given." +msgstr "chỉ cần má»™t tham chiếu, nhÆ°ng lại Ä‘Æ°a ra %d." + +#: builtin/checkout.c:974 #, c-format msgid "invalid reference: %s" msgstr "tham chiếu sai: %s" #. case (1): want a tree -#: builtin/checkout.c:967 +#: builtin/checkout.c:1003 #, c-format msgid "reference is not a tree: %s" msgstr "tham chiếu không phải là má»™t cây (tree):%s" -#: builtin/checkout.c:1006 +#: builtin/checkout.c:1042 msgid "paths cannot be used with switching branches" msgstr "các Ä‘Æ°á»ng dẫn không thể dùng cùng vá»›i các nhánh chuyển" -#: builtin/checkout.c:1009 builtin/checkout.c:1013 +#: builtin/checkout.c:1045 builtin/checkout.c:1049 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "“%s†không thể được sá» dụng vá»›i các nhánh chuyển" -#: builtin/checkout.c:1017 builtin/checkout.c:1020 builtin/checkout.c:1025 -#: builtin/checkout.c:1028 +#: builtin/checkout.c:1053 builtin/checkout.c:1056 builtin/checkout.c:1061 +#: builtin/checkout.c:1064 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "“%s†không thể được sá» dụng vá»›i “%sâ€" -#: builtin/checkout.c:1033 +#: builtin/checkout.c:1069 #, c-format msgid "Cannot switch branch to a non-commit '%s'" msgstr "Không thể chuyển nhánh đến má»™t non-commit “%sâ€" -#: builtin/checkout.c:1055 builtin/checkout.c:1057 builtin/clone.c:89 +#: builtin/checkout.c:1091 builtin/checkout.c:1093 builtin/clone.c:88 #: builtin/remote.c:169 builtin/remote.c:171 msgid "branch" msgstr "nhánh" -#: builtin/checkout.c:1056 +#: builtin/checkout.c:1092 msgid "create and checkout a new branch" msgstr "tạo và checkout má»™t nhánh má»›i" -#: builtin/checkout.c:1058 +#: builtin/checkout.c:1094 msgid "create/reset and checkout a branch" msgstr "create/reset và checkout má»™t nhánh" -#: builtin/checkout.c:1059 +#: builtin/checkout.c:1095 msgid "create reflog for new branch" msgstr "tạo reflog cho nhánh má»›i" -#: builtin/checkout.c:1060 +#: builtin/checkout.c:1096 msgid "detach the HEAD at named commit" msgstr "rá»i bá» HEAD tại lần chuyển giao danh nghÄ©a" -#: builtin/checkout.c:1061 +#: builtin/checkout.c:1097 msgid "set upstream info for new branch" msgstr "đặt thông tin thượng nguồn (upstream) cho nhánh má»›i" -#: builtin/checkout.c:1063 +#: builtin/checkout.c:1099 msgid "new branch" msgstr "nhánh má»›i" -#: builtin/checkout.c:1063 +#: builtin/checkout.c:1099 msgid "new unparented branch" msgstr "nhánh mồ côi má»›i" -#: builtin/checkout.c:1064 +#: builtin/checkout.c:1100 msgid "checkout our version for unmerged files" msgstr "" "lấy ra (checkout) phiên bản của chúng ta cho các táºp tin chÆ°a được hòa trá»™n" -#: builtin/checkout.c:1066 +#: builtin/checkout.c:1102 msgid "checkout their version for unmerged files" msgstr "" "lấy ra (checkout) phiên bản của chúng há» cho các táºp tin chÆ°a được hòa trá»™n" -#: builtin/checkout.c:1068 +#: builtin/checkout.c:1104 msgid "force checkout (throw away local modifications)" msgstr "ép buá»™c lấy ra (checkout) (bá» Ä‘i những thay đổi ná»™i bá»™)" -#: builtin/checkout.c:1069 +#: builtin/checkout.c:1105 msgid "perform a 3-way merge with the new branch" msgstr "thá»±c hiện hòa trá»™n kiểu 3-way vá»›i nhánh má»›i" -#: builtin/checkout.c:1070 builtin/merge.c:232 +#: builtin/checkout.c:1106 builtin/merge.c:232 msgid "update ignored files (default)" msgstr "cáºp nháºt các táºp tin bị bá» qua (mặc định)" -#: builtin/checkout.c:1071 builtin/log.c:1208 parse-options.h:249 +#: builtin/checkout.c:1107 builtin/log.c:1228 parse-options.h:251 msgid "style" msgstr "kiểu" -#: builtin/checkout.c:1072 +#: builtin/checkout.c:1108 msgid "conflict style (merge or diff3)" msgstr "xung Ä‘á»™t kiểu (hòa trá»™n hay diff3)" -#: builtin/checkout.c:1075 +#: builtin/checkout.c:1111 msgid "do not limit pathspecs to sparse entries only" msgstr "không giá»›i hạn pathspecs chỉ thà nh các mục thÆ°a thá»›t" -#: builtin/checkout.c:1077 +#: builtin/checkout.c:1113 msgid "second guess 'git checkout no-such-branch'" msgstr "gợi ý thứ hai “git checkout không-nhánh-nà o-nhÆ°-váºyâ€" -#: builtin/checkout.c:1101 +#: builtin/checkout.c:1136 msgid "-b, -B and --orphan are mutually exclusive" -msgstr "Tùy chá»n -b|-B và --orphan loại từ lẫn nhau" +msgstr "Tùy chá»n -b, -B và --orphan loại từ lẫn nhau" -#: builtin/checkout.c:1118 +#: builtin/checkout.c:1153 msgid "--track needs a branch name" msgstr "--track cần tên má»™t nhánh" -#: builtin/checkout.c:1125 +#: builtin/checkout.c:1160 msgid "Missing branch name; try -b" msgstr "Thiếu tên nhánh; hãy thá» -b" -#: builtin/checkout.c:1160 +#: builtin/checkout.c:1197 msgid "invalid path specification" msgstr "Ä‘Æ°á»ng dẫn đã cho không hợp lệ" -#: builtin/checkout.c:1167 +#: builtin/checkout.c:1204 #, c-format msgid "" "Cannot update paths and switch to branch '%s' at the same time.\n" @@ -3458,12 +3643,12 @@ msgstr "" "Bạn đã có ý định checkout “%s†cái mà không thể được phân giải nhÆ° là lần " "chuyển giao (commit)?" -#: builtin/checkout.c:1172 +#: builtin/checkout.c:1209 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "git checkout: --detach không nháºn má»™t đối số Ä‘Æ°á»ng dẫn “%sâ€" -#: builtin/checkout.c:1176 +#: builtin/checkout.c:1213 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." @@ -3471,38 +3656,38 @@ msgstr "" "git checkout: --ours/--theirs, --force và --merge là xung khắc vá»›i nhau khi\n" "checkout bảng mục lục (index)." -#: builtin/clean.c:25 +#: builtin/clean.c:26 msgid "" "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..." msgstr "" "git clean [-d] [-f] [-i] [-n] [-q] [-e <mẫu>] [-x | -X] [--] <Ä‘Æ°á»ng-dẫn>..." -#: builtin/clean.c:29 +#: builtin/clean.c:30 #, c-format msgid "Removing %s\n" msgstr "Äang gỡ bá» %s\n" -#: builtin/clean.c:30 +#: builtin/clean.c:31 #, c-format msgid "Would remove %s\n" msgstr "Có thể gỡ bá» %s\n" -#: builtin/clean.c:31 +#: builtin/clean.c:32 #, c-format msgid "Skipping repository %s\n" msgstr "Äang bá» qua kho chứa %s\n" -#: builtin/clean.c:32 +#: builtin/clean.c:33 #, c-format msgid "Would skip repository %s\n" msgstr "Nên bá» qua kho chứa %s\n" -#: builtin/clean.c:33 +#: builtin/clean.c:34 #, c-format msgid "failed to remove %s" msgstr "gặp lá»—i khi gỡ bá» %s" -#: builtin/clean.c:293 +#: builtin/clean.c:294 msgid "" "Prompt help:\n" "1 - select a numbered item\n" @@ -3514,7 +3699,7 @@ msgstr "" "foo - chá»n mục trên cÆ¡ sở tiá»n tố duy nhất\n" " - (trống rá»—ng) không chá»n gì cả" -#: builtin/clean.c:297 +#: builtin/clean.c:298 msgid "" "Prompt help:\n" "1 - select a single item\n" @@ -3534,35 +3719,35 @@ msgstr "" "* - chá»n tất\n" " - (trống rá»—ng) kết thúc việc chá»n" -#: builtin/clean.c:515 +#: builtin/clean.c:516 #, c-format msgid "Huh (%s)?" msgstr "Hả (%s)?" -#: builtin/clean.c:658 +#: builtin/clean.c:659 #, c-format msgid "Input ignore patterns>> " msgstr "Mẫu để lá»c các táºp tin cần lá» Ä‘i đầu và o>>" -#: builtin/clean.c:695 +#: builtin/clean.c:696 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "CẢNH BÃO: Không tìm thấy các mục được khá»›p bởi: %s" -#: builtin/clean.c:716 +#: builtin/clean.c:717 msgid "Select items to delete" msgstr "Chá»n mục muốn xóa" -#: builtin/clean.c:756 +#: builtin/clean.c:757 #, c-format msgid "remove %s? " msgstr "gỡ bỠ“%sâ€?" -#: builtin/clean.c:781 +#: builtin/clean.c:782 msgid "Bye." msgstr "Tạm biệt." -#: builtin/clean.c:789 +#: builtin/clean.c:790 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -3580,21 +3765,21 @@ msgstr "" "help - hiển thị chÃnh trợ giúp nà y\n" "? - trợ giúp dà nh cho chá»n bằng cách nhắc" -#: builtin/clean.c:816 +#: builtin/clean.c:817 msgid "*** Commands ***" msgstr "*** Lệnh ***" -#: builtin/clean.c:817 +#: builtin/clean.c:818 msgid "What now" msgstr "Giá» thì sao" -#: builtin/clean.c:825 +#: builtin/clean.c:826 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "Có muốn gỡ bá» mục sau đây không:" msgstr[1] "Có muốn gỡ bá» các mục sau đây không:" -#: builtin/clean.c:842 +#: builtin/clean.c:843 msgid "No more files to clean, exiting." msgstr "Không còn táºp-tin nà o để dá»n dẹp, Ä‘ang thoát ra." @@ -3614,8 +3799,8 @@ msgstr "sá»a bằng cách tÆ°Æ¡ng tác" msgid "remove whole directories" msgstr "gỡ bá» toà n bá»™ thÆ° mục" -#: builtin/clean.c:880 builtin/describe.c:420 builtin/grep.c:716 -#: builtin/ls-files.c:493 builtin/name-rev.c:315 builtin/show-ref.c:186 +#: builtin/clean.c:880 builtin/describe.c:420 builtin/grep.c:718 +#: builtin/ls-files.c:483 builtin/name-rev.c:315 builtin/show-ref.c:185 msgid "pattern" msgstr "mẫu" @@ -3655,8 +3840,8 @@ msgstr "" msgid "git clone [options] [--] <repo> [<dir>]" msgstr "git clone [các-tùy-chá»n] [--] <kho> [<t.mục>]" -#: builtin/clone.c:64 builtin/fetch.c:82 builtin/merge.c:229 -#: builtin/push.c:462 +#: builtin/clone.c:64 builtin/fetch.c:96 builtin/merge.c:229 +#: builtin/push.c:474 msgid "force progress reporting" msgstr "ép buá»™c báo cáo tiến trình" @@ -3666,125 +3851,125 @@ msgstr "không tạo má»™t checkout" #: builtin/clone.c:67 builtin/clone.c:69 builtin/init-db.c:488 msgid "create a bare repository" -msgstr "tạo kho chứa bare" +msgstr "tạo kho thuần (bare)" -#: builtin/clone.c:72 +#: builtin/clone.c:71 msgid "create a mirror repository (implies bare)" msgstr "tạo kho bản sao (mirror) (ngụ ý là bare)" -#: builtin/clone.c:74 +#: builtin/clone.c:73 msgid "to clone from a local repository" msgstr "để nhân bản từ kho ná»™i bá»™" -#: builtin/clone.c:76 +#: builtin/clone.c:75 msgid "don't use local hardlinks, always copy" msgstr "không sá» dụng liên kết cứng ná»™i bá»™, luôn sao chép" -#: builtin/clone.c:78 +#: builtin/clone.c:77 msgid "setup as shared repository" msgstr "cà i đặt đây là kho chia sẻ" -#: builtin/clone.c:80 builtin/clone.c:82 +#: builtin/clone.c:79 builtin/clone.c:81 msgid "initialize submodules in the clone" msgstr "khởi tạo mô-Ä‘un-con trong bản sao" -#: builtin/clone.c:83 builtin/init-db.c:485 +#: builtin/clone.c:82 builtin/init-db.c:485 msgid "template-directory" msgstr "thÆ°-mục-tạm" -#: builtin/clone.c:84 builtin/init-db.c:486 +#: builtin/clone.c:83 builtin/init-db.c:486 msgid "directory from which templates will be used" msgstr "thÆ° mục mà tại đó các mẫu sẽ được dùng" -#: builtin/clone.c:86 +#: builtin/clone.c:85 msgid "reference repository" msgstr "kho tham chiếu" -#: builtin/clone.c:87 builtin/column.c:26 builtin/merge-file.c:44 +#: builtin/clone.c:86 builtin/column.c:26 builtin/merge-file.c:44 msgid "name" msgstr "tên" -#: builtin/clone.c:88 +#: builtin/clone.c:87 msgid "use <name> instead of 'origin' to track upstream" msgstr "dùng <tên> thay vì “origin†để theo dõi thượng nguồn (uptream)" -#: builtin/clone.c:90 +#: builtin/clone.c:89 msgid "checkout <branch> instead of the remote's HEAD" msgstr "lấy ra nhánh (checkout <nhánh>) thay vì HEAD của máy chủ" -#: builtin/clone.c:92 +#: builtin/clone.c:91 msgid "path to git-upload-pack on the remote" msgstr "Ä‘Æ°á»ng dẫn đến git-upload-pack trên máy chủ" -#: builtin/clone.c:93 builtin/fetch.c:83 builtin/grep.c:661 +#: builtin/clone.c:92 builtin/fetch.c:97 builtin/grep.c:663 msgid "depth" msgstr "Ä‘á»™ sâu" -#: builtin/clone.c:94 +#: builtin/clone.c:93 msgid "create a shallow clone of that depth" msgstr "tạo bản sao không đầy đủ cho mức sâu đã cho" -#: builtin/clone.c:96 +#: builtin/clone.c:95 msgid "clone only one branch, HEAD or --branch" msgstr "nhân bản (clone) chỉ má»™t nhánh, HEAD hoặc --branch" -#: builtin/clone.c:97 builtin/init-db.c:494 +#: builtin/clone.c:96 builtin/init-db.c:494 msgid "gitdir" msgstr "gitdir" -#: builtin/clone.c:98 builtin/init-db.c:495 +#: builtin/clone.c:97 builtin/init-db.c:495 msgid "separate git dir from working tree" msgstr "không dùng chung thÆ° mục dà nh riêng cho git và thÆ° mục là m việc" -#: builtin/clone.c:99 +#: builtin/clone.c:98 msgid "key=value" msgstr "khóa=giá trị" -#: builtin/clone.c:100 +#: builtin/clone.c:99 msgid "set config inside the new repository" msgstr "đặt cấu hình bên trong má»™t kho chứa má»›i" -#: builtin/clone.c:253 +#: builtin/clone.c:252 #, c-format msgid "reference repository '%s' is not a local repository." msgstr "kho tham chiếu “%s†không phải là má»™t kho ná»™i bá»™." -#: builtin/clone.c:316 +#: builtin/clone.c:315 #, c-format msgid "failed to create directory '%s'" msgstr "tạo thÆ° mục \"%s\" gặp lá»—i" -#: builtin/clone.c:318 builtin/diff.c:77 +#: builtin/clone.c:317 builtin/diff.c:77 #, c-format msgid "failed to stat '%s'" msgstr "gặp lá»—i stat (lấy trạng thái vá») “%sâ€" -#: builtin/clone.c:320 +#: builtin/clone.c:319 #, c-format msgid "%s exists and is not a directory" msgstr "%s tồn tại nhÆ°ng không phải là má»™t thÆ° mục" -#: builtin/clone.c:334 +#: builtin/clone.c:333 #, c-format msgid "failed to stat %s\n" msgstr "lá»—i stat (lấy trạng thái vá») %s\n" -#: builtin/clone.c:356 +#: builtin/clone.c:355 #, c-format msgid "failed to create link '%s'" msgstr "gặp lá»—i khi tạo được liên kết má»m %s" -#: builtin/clone.c:360 +#: builtin/clone.c:359 #, c-format msgid "failed to copy file to '%s'" msgstr "gặp lá»—i khi chép táºp tin tá»›i “%sâ€" -#: builtin/clone.c:383 +#: builtin/clone.c:382 builtin/clone.c:559 #, c-format msgid "done.\n" msgstr "hoà n tất.\n" -#: builtin/clone.c:396 +#: builtin/clone.c:395 msgid "" "Clone succeeded, but checkout failed.\n" "You can inspect what was checked out with 'git status'\n" @@ -3794,104 +3979,99 @@ msgstr "" "Bạn kiểm tra kỹ xem cái gì được lấy ra bằng lệnh “git statusâ€\n" "và thá» checkout vá»›i lệnh “git checkout -f HEADâ€\n" -#: builtin/clone.c:475 +#: builtin/clone.c:474 #, c-format msgid "Could not find remote branch %s to clone." msgstr "Không tìm thấy nhánh máy chủ %s để nhân bản (clone)." -#: builtin/clone.c:555 +#: builtin/clone.c:554 #, c-format msgid "Checking connectivity... " msgstr "Äang kiểm tra kết nối..." -#: builtin/clone.c:558 +#: builtin/clone.c:557 msgid "remote did not send all necessary objects" msgstr "máy chủ đã không gá»i tất cả các đối tượng cần thiết" -#: builtin/clone.c:560 -#, c-format -msgid "done\n" -msgstr "xong.\n" - -#: builtin/clone.c:621 +#: builtin/clone.c:620 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "refers HEAD máy chủ chỉ đến ref không tồn tại, không thể checkout.\n" -#: builtin/clone.c:652 +#: builtin/clone.c:651 msgid "unable to checkout working tree" msgstr "không thể lấy ra (checkout) cây là m việc" -#: builtin/clone.c:760 +#: builtin/clone.c:759 msgid "Too many arguments." msgstr "Có quá nhiá»u đối số." -#: builtin/clone.c:764 +#: builtin/clone.c:763 msgid "You must specify a repository to clone." msgstr "Bạn phải chỉ định má»™t kho để mà nhân bản (clone)." -#: builtin/clone.c:775 +#: builtin/clone.c:774 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "tùy chá»n --bare và --origin %s xung khắc nhau." -#: builtin/clone.c:778 +#: builtin/clone.c:777 msgid "--bare and --separate-git-dir are incompatible." msgstr "tùy chá»n --bare và --separate-git-dir xung khắc nhau." -#: builtin/clone.c:791 +#: builtin/clone.c:790 #, c-format msgid "repository '%s' does not exist" msgstr "kho chứa “%s†chÆ°a tồn tại" -#: builtin/clone.c:796 +#: builtin/clone.c:795 msgid "--depth is ignored in local clones; use file:// instead." msgstr "--depth bị lá» Ä‘i khi nhân bản ná»™i bá»™; hãy sá» dụng file:// để thay thế." -#: builtin/clone.c:798 +#: builtin/clone.c:797 msgid "--local is ignored" msgstr "--local bị lá» Ä‘i" -#: builtin/clone.c:808 +#: builtin/clone.c:807 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "Ä‘Æ°á»ng dẫn Ä‘Ãch “%s†đã có từ trÆ°á»›c và không phải là má»™t thÆ° mục rá»—ng." -#: builtin/clone.c:818 +#: builtin/clone.c:817 #, c-format msgid "working tree '%s' already exists." msgstr "cây là m việc “%s†đã sẵn tồn tại rồi." -#: builtin/clone.c:831 builtin/clone.c:843 +#: builtin/clone.c:830 builtin/clone.c:842 #, c-format msgid "could not create leading directories of '%s'" msgstr "không thể tạo các thÆ° mục dẫn đầu của “%sâ€" -#: builtin/clone.c:834 +#: builtin/clone.c:833 #, c-format msgid "could not create work tree dir '%s'." msgstr "không thể tạo cây thÆ° mục là m việc dir “%sâ€." -#: builtin/clone.c:853 +#: builtin/clone.c:852 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "Äang nhân bản thà nh kho chứa bare “%sâ€...\n" -#: builtin/clone.c:855 +#: builtin/clone.c:854 #, c-format msgid "Cloning into '%s'...\n" msgstr "Äang nhân bản thà nh “%sâ€...\n" -#: builtin/clone.c:890 +#: builtin/clone.c:888 #, c-format msgid "Don't know how to clone %s" msgstr "Không biết là m cách nà o để nhân bản (clone) %s" -#: builtin/clone.c:942 +#: builtin/clone.c:939 builtin/clone.c:947 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "Nhánh máy chủ %s không tìm thấy trong thượng nguồn (upstream) %s" -#: builtin/clone.c:949 +#: builtin/clone.c:950 msgid "You appear to have cloned an empty repository." msgstr "Bạn hình nhÆ° là đã nhân bản má»™t kho trống rá»—ng." @@ -3913,11 +4093,11 @@ msgstr "Äá»™ rá»™ng tối Ä‘a" #: builtin/column.c:30 msgid "Padding space on left border" -msgstr "Chèn thêm khoảng trống và o bá» bên trái" +msgstr "Chèn thêm khoảng trống và o bên trái" #: builtin/column.c:31 msgid "Padding space on right border" -msgstr "Chèn thêm khoảng trắng và o tiếp giáp bên phải" +msgstr "Chèn thêm khoảng trắng và o bên phải" #: builtin/column.c:32 msgid "Padding space between columns" @@ -3927,15 +4107,15 @@ msgstr "Chèn thêm khoảng trắng giữa các cá»™t" msgid "--command must be the first argument" msgstr "--command phải là đối số đầu tiên" -#: builtin/commit.c:35 +#: builtin/commit.c:36 msgid "git commit [options] [--] <pathspec>..." msgstr "git commit [các-tùy-chá»n] [--] <pathspec>..." -#: builtin/commit.c:40 +#: builtin/commit.c:41 msgid "git status [options] [--] <pathspec>..." msgstr "git status [các-tùy-chá»n] [--] <pathspec>..." -#: builtin/commit.c:45 +#: builtin/commit.c:46 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -3959,11 +4139,11 @@ msgstr "" " git config --global user.email you@example.com\n" "\n" "Sau khi thá»±c hiện xong, bạn có thể sá»a chữa định danh được sá» dụng cho lần " -"chuyển giao (commit) nà y vá»›i lệnh:\n" +"chuyển giao nà y vá»›i lệnh:\n" "\n" " git commit --amend --reset-author\n" -#: builtin/commit.c:57 +#: builtin/commit.c:58 msgid "" "You asked to amend the most recent commit, but doing so would make\n" "it empty. You can repeat your command with --allow-empty, or you can\n" @@ -3976,7 +4156,7 @@ msgstr "" "hoặc là bạn gỡ bá» các lần chuyển giao má»™t cách hoà n toà n bằng lệnh:\n" "\"git reset HEAD^\".\n" -#: builtin/commit.c:62 +#: builtin/commit.c:63 msgid "" "The previous cherry-pick is now empty, possibly due to conflict resolution.\n" "If you wish to commit it anyway, use:\n" @@ -3991,11 +4171,11 @@ msgstr "" " git commit --allow-empty\n" "\n" -#: builtin/commit.c:69 +#: builtin/commit.c:70 msgid "Otherwise, please use 'git reset'\n" msgstr "Nếu không được thì dùng lệnh \"git reset\"\n" -#: builtin/commit.c:72 +#: builtin/commit.c:73 msgid "" "If you wish to skip this commit, use:\n" "\n" @@ -4011,97 +4191,97 @@ msgstr "" "Thế thì \"git cherry-pick --continue\" sẽ phục hồi lại việc cherry-pick\n" "những lần chuyển giao còn lại.\n" -#: builtin/commit.c:279 +#: builtin/commit.c:287 msgid "failed to unpack HEAD tree object" msgstr "gặp lá»—i khi tháo dỡ HEAD đối tượng cây" -#: builtin/commit.c:321 +#: builtin/commit.c:329 msgid "unable to create temporary index" msgstr "không thể tạo bảng mục lục tạm thá»i" -#: builtin/commit.c:327 +#: builtin/commit.c:335 msgid "interactive add failed" msgstr "việc thêm tÆ°Æ¡ng tác gặp lá»—i" -#: builtin/commit.c:360 builtin/commit.c:381 builtin/commit.c:431 +#: builtin/commit.c:368 builtin/commit.c:389 builtin/commit.c:439 msgid "unable to write new_index file" msgstr "không thể ghi táºp tin lÆ°u bảng mục lục má»›i (new_index)" -#: builtin/commit.c:412 +#: builtin/commit.c:420 msgid "cannot do a partial commit during a merge." msgstr "" "không thể thá»±c hiện việc chuyển giao (commit) cục bá»™ trong khi Ä‘ang được hòa " "trá»™n." -#: builtin/commit.c:414 +#: builtin/commit.c:422 msgid "cannot do a partial commit during a cherry-pick." msgstr "" "không thể thá»±c hiện việc chuyển giao (commit) bá»™ pháºn trong khi Ä‘ang cherry-" "pick." -#: builtin/commit.c:424 +#: builtin/commit.c:432 msgid "cannot read the index" msgstr "không Ä‘á»c được bảng mục lục" -#: builtin/commit.c:444 +#: builtin/commit.c:452 msgid "unable to write temporary index file" msgstr "không thể ghi táºp tin lÆ°u bảng mục lục tạm thá»i" -#: builtin/commit.c:535 builtin/commit.c:541 +#: builtin/commit.c:543 builtin/commit.c:549 #, c-format msgid "invalid commit: %s" msgstr "lần chuyển giao (commit) không hợp lệ: %s" -#: builtin/commit.c:563 +#: builtin/commit.c:571 msgid "malformed --author parameter" msgstr "đối số --author bị dị hình" -#: builtin/commit.c:583 +#: builtin/commit.c:591 #, c-format msgid "Malformed ident string: '%s'" msgstr "Chuá»—i thụt lỠđầu dòng dị hình: “%sâ€" -#: builtin/commit.c:621 builtin/commit.c:654 builtin/commit.c:982 +#: builtin/commit.c:630 builtin/commit.c:663 builtin/commit.c:1007 #, c-format msgid "could not lookup commit %s" msgstr "không thể tìm kiếm commit (lần chuyển giao) %s" -#: builtin/commit.c:633 builtin/shortlog.c:271 +#: builtin/commit.c:642 builtin/shortlog.c:273 #, c-format msgid "(reading log message from standard input)\n" msgstr "(Ä‘ang Ä‘á»c thông Ä‘iệp nháºt ký từ đầu và o tiêu chuẩn)\n" -#: builtin/commit.c:635 +#: builtin/commit.c:644 msgid "could not read log from standard input" msgstr "không thể Ä‘á»c nháºt ký từ đầu và o tiêu chuẩn" -#: builtin/commit.c:639 +#: builtin/commit.c:648 #, c-format msgid "could not read log file '%s'" msgstr "không Ä‘á»c được tệp nháºt ký “%sâ€" -#: builtin/commit.c:645 +#: builtin/commit.c:654 msgid "commit has empty message" msgstr "lần chuyển giao (commit) có ghi chú trống rá»—ng" -#: builtin/commit.c:661 +#: builtin/commit.c:670 msgid "could not read MERGE_MSG" msgstr "không thể Ä‘á»c MERGE_MSG" -#: builtin/commit.c:665 +#: builtin/commit.c:674 msgid "could not read SQUASH_MSG" msgstr "không thể Ä‘á»c SQUASH_MSG" -#: builtin/commit.c:669 +#: builtin/commit.c:678 #, c-format msgid "could not read '%s'" msgstr "Không thể Ä‘á»c “%sâ€." -#: builtin/commit.c:730 +#: builtin/commit.c:749 msgid "could not write commit template" msgstr "không thể ghi mẫu commit" -#: builtin/commit.c:741 +#: builtin/commit.c:760 #, c-format msgid "" "\n" @@ -4116,7 +4296,7 @@ msgstr "" "\t%s\n" "và thá» lại.\n" -#: builtin/commit.c:746 +#: builtin/commit.c:765 #, c-format msgid "" "\n" @@ -4131,7 +4311,7 @@ msgstr "" "\t%s\n" "và thá» lại.\n" -#: builtin/commit.c:758 +#: builtin/commit.c:777 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -4142,7 +4322,7 @@ msgstr "" "bắt đầu bằng “%c†sẽ được bá» qua, nếu phần chú thÃch rá»—ng sẽ hủy bá» lần " "chuyển giao (commit).\n" -#: builtin/commit.c:763 +#: builtin/commit.c:782 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -4154,148 +4334,148 @@ msgstr "" "bắt đầu bằng “%c†sẽ được bá» qua; bạn có thể xóa chúng Ä‘i nếu muốn thế.\n" "Phần chú thÃch nà y nếu trống rá»—ng sẽ hủy bá» lần chuyển giao (commit).\n" -#: builtin/commit.c:776 +#: builtin/commit.c:795 #, c-format msgid "%sAuthor: %s" msgstr "%sTác giả: %s" -#: builtin/commit.c:783 +#: builtin/commit.c:802 #, c-format msgid "%sCommitter: %s" msgstr "%sNgÆ°á»i chuyển giao (commit): %s" -#: builtin/commit.c:803 +#: builtin/commit.c:822 msgid "Cannot read index" msgstr "không Ä‘á»c được bảng mục lục" -#: builtin/commit.c:845 +#: builtin/commit.c:865 msgid "Error building trees" msgstr "Gặp lá»—i khi xây dá»±ng cây" -#: builtin/commit.c:860 builtin/tag.c:359 +#: builtin/commit.c:880 builtin/tag.c:359 #, c-format msgid "Please supply the message using either -m or -F option.\n" -msgstr "Xin hãy áp dụng thông Ä‘iệp sá» dụng hoặc là tùy chá»n -m hoặc là -F.\n" +msgstr "Xin hãy cung cấp lá»i chú giải hoặc là dùng tùy chá»n -m hoặc là -F.\n" -#: builtin/commit.c:957 +#: builtin/commit.c:982 #, c-format msgid "No existing author found with '%s'" msgstr "Không tìm thấy tác giả có sẵn vá»›i “%sâ€" -#: builtin/commit.c:972 builtin/commit.c:1208 +#: builtin/commit.c:997 builtin/commit.c:1237 #, c-format msgid "Invalid untracked files mode '%s'" msgstr "Chế Ä‘á»™ cho các táºp tin không bị theo vết không hợp lệ “%sâ€" -#: builtin/commit.c:1009 +#: builtin/commit.c:1034 msgid "--long and -z are incompatible" msgstr "hai tùy chá»n -long và -z không tÆ°Æ¡ng thÃch vá»›i nhau" -#: builtin/commit.c:1039 +#: builtin/commit.c:1064 msgid "Using both --reset-author and --author does not make sense" msgstr "Sá» dụng cả hai tùy chá»n --reset-author và --author không hợp lý" -#: builtin/commit.c:1050 +#: builtin/commit.c:1075 msgid "You have nothing to amend." msgstr "Không có gì để amend (tu bổ) cả." -#: builtin/commit.c:1053 +#: builtin/commit.c:1078 msgid "You are in the middle of a merge -- cannot amend." msgstr "" "Bạn Ä‘ang ở giữa của quá trình hòa trá»™n -- không thể thá»±c hiện amend (tu bổ)." -#: builtin/commit.c:1055 +#: builtin/commit.c:1080 msgid "You are in the middle of a cherry-pick -- cannot amend." msgstr "" "Bạn Ä‘ang ở giữa của quá trình cherry-pick -- không thể thá»±c hiện amend (tu " "bổ)." -#: builtin/commit.c:1058 +#: builtin/commit.c:1083 msgid "Options --squash and --fixup cannot be used together" msgstr "Các tùy chá»n --squash và --fixup không thể sá» dụng cùng vá»›i nhau" -#: builtin/commit.c:1068 +#: builtin/commit.c:1093 msgid "Only one of -c/-C/-F/--fixup can be used." msgstr "Chỉ má»™t tùy chá»n trong số -c/-C/-F/--fixup được sá» dụng" -#: builtin/commit.c:1070 +#: builtin/commit.c:1095 msgid "Option -m cannot be combined with -c/-C/-F/--fixup." msgstr "Tùy chá»n -m không thể được tổ hợp cùng vá»›i -c/-C/-F/--fixup." -#: builtin/commit.c:1078 +#: builtin/commit.c:1103 msgid "--reset-author can be used only with -C, -c or --amend." msgstr "" "--reset-author chỉ có thể được sá» dụng vá»›i tùy chá»n -C, -c hay --amend." -#: builtin/commit.c:1095 +#: builtin/commit.c:1120 msgid "Only one of --include/--only/--all/--interactive/--patch can be used." msgstr "" "Chỉ má»™t trong các tùy chá»n --include/--only/--all/--interactive/--patch được " "sá» dụng." -#: builtin/commit.c:1097 +#: builtin/commit.c:1122 msgid "No paths with --include/--only does not make sense." msgstr "Không Ä‘Æ°á»ng dẫn vá»›i các tùy chá»n --include/--only không hợp lý." -#: builtin/commit.c:1099 +#: builtin/commit.c:1124 msgid "Clever... amending the last one with dirty index." -msgstr "Giá»i... tu bổ cái cuối vá»›i bảng mục lục phi nghÄ©a." +msgstr "Giá»i... tu bổ cái cuối vá»›i bảng mục lục bẩn." -#: builtin/commit.c:1101 +#: builtin/commit.c:1126 msgid "Explicit paths specified without -i nor -o; assuming --only paths..." msgstr "" "Những Ä‘Æ°á»ng dẫn rõ rà ng được chỉ ra không có tùy chá»n -i cÅ©ng không -o; Ä‘ang " "giả định --only những-Ä‘Æ°á»ng-dẫn..." -#: builtin/commit.c:1111 builtin/tag.c:575 +#: builtin/commit.c:1136 builtin/tag.c:572 #, c-format msgid "Invalid cleanup mode %s" msgstr "Chế Ä‘á»™ dá»n dẹp không hợp lệ %s" -#: builtin/commit.c:1116 +#: builtin/commit.c:1141 msgid "Paths with -a does not make sense." msgstr "Các Ä‘Æ°á»ng dẫn vá»›i tùy chá»n -a không hợp lý." -#: builtin/commit.c:1222 builtin/commit.c:1455 +#: builtin/commit.c:1251 builtin/commit.c:1482 msgid "show status concisely" msgstr "hiển thị trạng thái ở dạng súc tÃch" -#: builtin/commit.c:1224 builtin/commit.c:1457 +#: builtin/commit.c:1253 builtin/commit.c:1484 msgid "show branch information" msgstr "hiển thị thông tin nhánh" -#: builtin/commit.c:1226 builtin/commit.c:1459 builtin/push.c:452 +#: builtin/commit.c:1255 builtin/commit.c:1486 builtin/push.c:460 msgid "machine-readable output" msgstr "kết xuất dạng máy-có-thể-Ä‘á»c" -#: builtin/commit.c:1229 builtin/commit.c:1461 +#: builtin/commit.c:1258 builtin/commit.c:1488 msgid "show status in long format (default)" msgstr "hiển thị trạng thái ở định dạng dà i (mặc định)" -#: builtin/commit.c:1232 builtin/commit.c:1464 +#: builtin/commit.c:1261 builtin/commit.c:1491 msgid "terminate entries with NUL" msgstr "chấm dứt các mục bằng NUL" -#: builtin/commit.c:1234 builtin/commit.c:1467 builtin/fast-export.c:667 -#: builtin/fast-export.c:670 builtin/tag.c:459 +#: builtin/commit.c:1263 builtin/commit.c:1494 builtin/fast-export.c:674 +#: builtin/fast-export.c:677 builtin/tag.c:459 msgid "mode" msgstr "chế Ä‘á»™" -#: builtin/commit.c:1235 builtin/commit.c:1467 +#: builtin/commit.c:1264 builtin/commit.c:1494 msgid "show untracked files, optional modes: all, normal, no. (Default: all)" msgstr "" "hiển thị các táºp tin chÆ°a được theo dõi dấu vết, các chế Ä‘á»™ tùy chá»n: all, " "normal, no. (Mặc định: all)" -#: builtin/commit.c:1238 +#: builtin/commit.c:1267 msgid "show ignored files" msgstr "hiển thị các táºp tin ẩn" -#: builtin/commit.c:1239 parse-options.h:154 +#: builtin/commit.c:1268 parse-options.h:156 msgid "when" msgstr "khi" -#: builtin/commit.c:1240 +#: builtin/commit.c:1269 msgid "" "ignore changes to submodules, optional when: all, dirty, untracked. " "(Default: all)" @@ -4303,223 +4483,223 @@ msgstr "" "bá» qua các thay đổi trong mô-Ä‘un-con, tùy chá»n khi: all, dirty, untracked. " "(Mặc định: all)" -#: builtin/commit.c:1242 +#: builtin/commit.c:1271 msgid "list untracked files in columns" msgstr "hiển thị danh sách các táºp-tin chÆ°a được theo dõi trong các cá»™t" -#: builtin/commit.c:1313 +#: builtin/commit.c:1340 msgid "couldn't look up newly created commit" msgstr "không thể tìm thấy lần chuyển giao (commit) má»›i hÆ¡n đã được tạo" -#: builtin/commit.c:1315 +#: builtin/commit.c:1342 msgid "could not parse newly created commit" msgstr "" "không thể phân tÃch cú pháp của đối tượng chuyển giao má»›i hÆ¡n đã được tạo" -#: builtin/commit.c:1356 +#: builtin/commit.c:1383 msgid "detached HEAD" msgstr "đã rá»i khá»i HEAD" -#: builtin/commit.c:1358 +#: builtin/commit.c:1385 msgid " (root-commit)" msgstr " (root-commit)" -#: builtin/commit.c:1425 +#: builtin/commit.c:1452 msgid "suppress summary after successful commit" msgstr "không hiển thị tổng kết sau khi chuyển giao thà nh công" -#: builtin/commit.c:1426 +#: builtin/commit.c:1453 msgid "show diff in commit message template" msgstr "hiển thị sá»± khác biệt trong mẫu tin nhắn chuyển giao" -#: builtin/commit.c:1428 +#: builtin/commit.c:1455 msgid "Commit message options" msgstr "Các tùy chá»n ghi chú commit" -#: builtin/commit.c:1429 builtin/tag.c:457 +#: builtin/commit.c:1456 builtin/tag.c:457 msgid "read message from file" msgstr "Ä‘á»c chú thÃch từ táºp tin" -#: builtin/commit.c:1430 +#: builtin/commit.c:1457 msgid "author" msgstr "tác giả" -#: builtin/commit.c:1430 +#: builtin/commit.c:1457 msgid "override author for commit" msgstr "ghi đè tác giả cho commit" -#: builtin/commit.c:1431 builtin/gc.c:178 +#: builtin/commit.c:1458 builtin/gc.c:260 msgid "date" msgstr "ngà y tháng" -#: builtin/commit.c:1431 +#: builtin/commit.c:1458 msgid "override date for commit" msgstr "ghi đè ngà y tháng cho commit" -#: builtin/commit.c:1432 builtin/merge.c:223 builtin/notes.c:405 +#: builtin/commit.c:1459 builtin/merge.c:223 builtin/notes.c:405 #: builtin/notes.c:562 builtin/tag.c:455 msgid "message" msgstr "thông Ä‘iệp" -#: builtin/commit.c:1432 +#: builtin/commit.c:1459 msgid "commit message" msgstr "chú thÃch của lần commit" -#: builtin/commit.c:1433 +#: builtin/commit.c:1460 msgid "reuse and edit message from specified commit" msgstr "" "dùng lại các ghi chú từ lần chuyển giao (commit) đã cho nhÆ°ng có cho sá»a chữa" -#: builtin/commit.c:1434 +#: builtin/commit.c:1461 msgid "reuse message from specified commit" msgstr "dùng lại các ghi chú từ lần chuyển giao (commit) đã cho" -#: builtin/commit.c:1435 +#: builtin/commit.c:1462 msgid "use autosquash formatted message to fixup specified commit" msgstr "" "dùng ghi chú có định dạng autosquash để sá»a chữa lần chuyển giao đã chỉ ra" -#: builtin/commit.c:1436 +#: builtin/commit.c:1463 msgid "use autosquash formatted message to squash specified commit" msgstr "" "dùng lá»i nhắn có định dạng tá»± Ä‘á»™ng nén để nén lại các lần chuyển giao đã chỉ " "ra" -#: builtin/commit.c:1437 +#: builtin/commit.c:1464 msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "" "lần chuyển giao nháºn tôi là tác giả (được dùng vá»›i tùy chá»n -C/-c/--amend)" -#: builtin/commit.c:1438 builtin/log.c:1160 builtin/revert.c:111 +#: builtin/commit.c:1465 builtin/log.c:1180 builtin/revert.c:86 msgid "add Signed-off-by:" msgstr "thêm dòng Signed-off-by:" -#: builtin/commit.c:1439 +#: builtin/commit.c:1466 msgid "use specified template file" msgstr "sá» dụng táºp tin mẫu đã cho" -#: builtin/commit.c:1440 +#: builtin/commit.c:1467 msgid "force edit of commit" msgstr "ép buá»™c sá»a lần commit" -#: builtin/commit.c:1441 +#: builtin/commit.c:1468 msgid "default" msgstr "mặc định" -#: builtin/commit.c:1441 builtin/tag.c:460 +#: builtin/commit.c:1468 builtin/tag.c:460 msgid "how to strip spaces and #comments from message" msgstr "là m thế nà o để cắt bá» khoảng trắng và #ghichú từ mẩu tin nhắn" -#: builtin/commit.c:1442 +#: builtin/commit.c:1469 msgid "include status in commit message template" msgstr "bao gồm các trạng thái ghi mẫu ghi chú chuyển giao (commit)" -#: builtin/commit.c:1443 builtin/merge.c:230 builtin/tag.c:461 +#: builtin/commit.c:1470 builtin/merge.c:230 builtin/tag.c:461 msgid "key id" msgstr "id khóa" -#: builtin/commit.c:1444 builtin/merge.c:231 +#: builtin/commit.c:1471 builtin/merge.c:231 msgid "GPG sign commit" msgstr "ký lần commit dùng GPG" #. end commit message options -#: builtin/commit.c:1447 +#: builtin/commit.c:1474 msgid "Commit contents options" msgstr "Các tùy ná»™i dung ghi chú commit" -#: builtin/commit.c:1448 +#: builtin/commit.c:1475 msgid "commit all changed files" msgstr "chuyển giao tất cả các táºp tin có thay đổi" -#: builtin/commit.c:1449 +#: builtin/commit.c:1476 msgid "add specified files to index for commit" msgstr "thêm các táºp tin đã chỉ ra và o bảng mục lục để chuyển giao (commit)" -#: builtin/commit.c:1450 +#: builtin/commit.c:1477 msgid "interactively add files" msgstr "thêm các táºp-tin bằng tÆ°Æ¡ng tác" -#: builtin/commit.c:1451 +#: builtin/commit.c:1478 msgid "interactively add changes" msgstr "thêm các thay đổi bằng tÆ°Æ¡ng tác" -#: builtin/commit.c:1452 +#: builtin/commit.c:1479 msgid "commit only specified files" msgstr "chỉ chuyển giao các táºp tin đã chỉ ra" -#: builtin/commit.c:1453 +#: builtin/commit.c:1480 msgid "bypass pre-commit hook" msgstr "vòng qua móc (hook) pre-commit" -#: builtin/commit.c:1454 +#: builtin/commit.c:1481 msgid "show what would be committed" msgstr "hiển thị xem cái gì có thể được chuyển giao" -#: builtin/commit.c:1465 +#: builtin/commit.c:1492 msgid "amend previous commit" msgstr "tu bổ (amend) lần commit trÆ°á»›c" -#: builtin/commit.c:1466 +#: builtin/commit.c:1493 msgid "bypass post-rewrite hook" msgstr "vòng qua móc (hook) post-rewrite" -#: builtin/commit.c:1471 +#: builtin/commit.c:1498 msgid "ok to record an empty change" msgstr "ok để ghi lại má»™t thay đổi trống rá»—ng" -#: builtin/commit.c:1474 +#: builtin/commit.c:1500 msgid "ok to record a change with an empty message" msgstr "ok để ghi các thay đổi vá»›i lá»i nhắn trống rá»—ng" -#: builtin/commit.c:1507 +#: builtin/commit.c:1529 msgid "could not parse HEAD commit" msgstr "không thể phân tÃch commit (lần chuyển giao) HEAD" -#: builtin/commit.c:1545 builtin/merge.c:525 +#: builtin/commit.c:1567 builtin/merge.c:525 #, c-format msgid "could not open '%s' for reading" msgstr "không thể mở “%s†để Ä‘á»c" -#: builtin/commit.c:1552 +#: builtin/commit.c:1574 #, c-format msgid "Corrupt MERGE_HEAD file (%s)" msgstr "Táºp tin MERGE_HEAD sai há»ng (%s)" -#: builtin/commit.c:1559 +#: builtin/commit.c:1581 msgid "could not read MERGE_MODE" msgstr "không thể Ä‘á»c MERGE_MODE" -#: builtin/commit.c:1578 +#: builtin/commit.c:1600 #, c-format msgid "could not read commit message: %s" msgstr "không thể Ä‘á»c thông Ä‘iệp (message) commit (lần chuyển giao): %s" -#: builtin/commit.c:1592 +#: builtin/commit.c:1614 #, c-format msgid "Aborting commit; you did not edit the message.\n" msgstr "" "Äang bá» qua việc chuyển giao (commit); bạn đã không biên soạn thông Ä‘iệp " "(message).\n" -#: builtin/commit.c:1597 +#: builtin/commit.c:1619 #, c-format msgid "Aborting commit due to empty commit message.\n" msgstr "" "Äang bá» qua lần chuyển giao (commit) bởi vì thông Ä‘iệp của nó trống rá»—ng.\n" -#: builtin/commit.c:1612 builtin/merge.c:861 builtin/merge.c:886 +#: builtin/commit.c:1634 builtin/merge.c:861 builtin/merge.c:886 msgid "failed to write commit object" msgstr "gặp lá»—i khi ghi đối tượng chuyển giao (commit)" -#: builtin/commit.c:1633 +#: builtin/commit.c:1655 msgid "cannot lock HEAD ref" msgstr "không thể khóa HEAD ref (tham chiếu)" -#: builtin/commit.c:1637 +#: builtin/commit.c:1659 msgid "cannot update HEAD ref" msgstr "không thể cáºp nháºt ref (tham chiếu) HEAD" -#: builtin/commit.c:1648 +#: builtin/commit.c:1670 msgid "" "Repository has been updated, but unable to write\n" "new_index file. Check that disk is not full or quota is\n" @@ -4530,127 +4710,131 @@ msgstr "" "hay quota (hạn nghạch Ä‘Ä©a cứng) bị vượt quá, và sau đó \"git reset HEAD\" để " "khắc phục." -#: builtin/config.c:7 +#: builtin/config.c:8 msgid "git config [options]" msgstr "git config [các-tùy-chá»n]" -#: builtin/config.c:52 +#: builtin/config.c:54 msgid "Config file location" msgstr "Vị trà táºp tin cấu hình" -#: builtin/config.c:53 +#: builtin/config.c:55 msgid "use global config file" msgstr "đặt táºp tin cấu hình cần toà n cục" -#: builtin/config.c:54 +#: builtin/config.c:56 msgid "use system config file" msgstr "sá» dụng táºp tin cấu hình hệ thống" -#: builtin/config.c:55 +#: builtin/config.c:57 msgid "use repository config file" msgstr "dùng táºp tin cấu hình của kho" -#: builtin/config.c:56 +#: builtin/config.c:58 msgid "use given config file" msgstr "sá» dụng táºp tin cấu hình đã cho" -#: builtin/config.c:57 +#: builtin/config.c:59 msgid "blob-id" msgstr "blob-id" -#: builtin/config.c:57 +#: builtin/config.c:59 msgid "read config from given blob object" msgstr "Ä‘á»c cấu hình từ đối tượng blob đã cho" -#: builtin/config.c:58 +#: builtin/config.c:60 msgid "Action" msgstr "Hà nh Ä‘á»™ng" -#: builtin/config.c:59 +#: builtin/config.c:61 msgid "get value: name [value-regex]" msgstr "lấy giá-trị: tên [value-regex]" -#: builtin/config.c:60 +#: builtin/config.c:62 msgid "get all values: key [value-regex]" msgstr "lấy tất cả giá-trị: khóa [value-regex]" -#: builtin/config.c:61 +#: builtin/config.c:63 msgid "get values for regexp: name-regex [value-regex]" msgstr "lấy giá trị cho regexp: name-regex [value-regex]" -#: builtin/config.c:62 +#: builtin/config.c:64 +msgid "get value specific for the URL: section[.var] URL" +msgstr "lấy đặc tả giá trị cho URL: phần[.biến] URL" + +#: builtin/config.c:65 msgid "replace all matching variables: name value [value_regex]" msgstr "thay thế tất cả các biến khá»›p mẫu: tên giá-trị [value_regex]" -#: builtin/config.c:63 +#: builtin/config.c:66 msgid "add a new variable: name value" msgstr "thêm biến má»›i: tên giá-trị" -#: builtin/config.c:64 +#: builtin/config.c:67 msgid "remove a variable: name [value-regex]" msgstr "gỡ bá» biến: tên [value-regex]" -#: builtin/config.c:65 +#: builtin/config.c:68 msgid "remove all matches: name [value-regex]" msgstr "gỡ bá» má»i cái khá»›p: tên [value-regex]" -#: builtin/config.c:66 +#: builtin/config.c:69 msgid "rename section: old-name new-name" msgstr "đổi tên chÆ°Æ¡ng: tên-cÅ© tên-má»›i" -#: builtin/config.c:67 +#: builtin/config.c:70 msgid "remove a section: name" msgstr "gỡ bá» chÆ°Æ¡ng: tên" -#: builtin/config.c:68 +#: builtin/config.c:71 msgid "list all" msgstr "liệt kê tất" -#: builtin/config.c:69 +#: builtin/config.c:72 msgid "open an editor" msgstr "mở má»™t trình biên soạn" -#: builtin/config.c:70 builtin/config.c:71 +#: builtin/config.c:73 builtin/config.c:74 msgid "slot" msgstr "khe" -#: builtin/config.c:70 +#: builtin/config.c:73 msgid "find the color configured: [default]" msgstr "tìm cấu hình mà u sắc: [mặc định]" -#: builtin/config.c:71 +#: builtin/config.c:74 msgid "find the color setting: [stdout-is-tty]" msgstr "tìm các cà i đặt vá» mà u sắc: [stdout-là -tty]" -#: builtin/config.c:72 +#: builtin/config.c:75 msgid "Type" msgstr "Kiểu" -#: builtin/config.c:73 +#: builtin/config.c:76 msgid "value is \"true\" or \"false\"" msgstr "giá trị là \"true\" hoặc \"false\"" -#: builtin/config.c:74 +#: builtin/config.c:77 msgid "value is decimal number" msgstr "giá trị ở dạng số tháºp phân" -#: builtin/config.c:75 +#: builtin/config.c:78 msgid "value is --bool or --int" msgstr "giá trị là --bool hoặc --int" -#: builtin/config.c:76 +#: builtin/config.c:79 msgid "value is a path (file or directory name)" msgstr "giá trị là đưá»ng dẫn (tên táºp tin hay thÆ° mục)" -#: builtin/config.c:77 +#: builtin/config.c:80 msgid "Other" msgstr "Khác" -#: builtin/config.c:78 +#: builtin/config.c:81 msgid "terminate values with NUL byte" msgstr "chấm dứt giá trị vá»›i byte NUL" -#: builtin/config.c:79 +#: builtin/config.c:82 msgid "respect include directives on lookup" msgstr "tôn trá»ng kể cà các hÆ°á»›ng trong tìm kiếm" @@ -4800,17 +4984,17 @@ msgstr "Không tìm thấy các tên, không thể mô tả gì cả." #: builtin/describe.c:489 msgid "--dirty is incompatible with commit-ishes" -msgstr "--dirty là xung khắc vá»›i các tùy chá»n dà nh cho chuyển giao (commit)" +msgstr "--dirty là xung khắc vá»›i các tùy chá»n commit-ish" #: builtin/diff.c:79 #, c-format msgid "'%s': not a regular file or symlink" -msgstr "“%sâ€: không phải táºp tin bình thÆ°á»ng hay liên kết tượng trÆ°ng" +msgstr "“%sâ€: không phải táºp tin bình thÆ°á»ng hay liên kết má»m" #: builtin/diff.c:230 #, c-format msgid "invalid option: %s" -msgstr "tùy chá»n sai: %s" +msgstr "tùy chá»n không hợp lệ: %s" #: builtin/diff.c:307 msgid "Not a git repository" @@ -4835,39 +5019,39 @@ msgstr "đã cho đối tượng không thể nắm giữ “%sâ€." msgid "git fast-export [rev-list-opts]" msgstr "git fast-export [rev-list-opts]" -#: builtin/fast-export.c:666 +#: builtin/fast-export.c:673 msgid "show progress after <n> objects" msgstr "hiển thị tiến triển sau <n> đối tượng" -#: builtin/fast-export.c:668 +#: builtin/fast-export.c:675 msgid "select handling of signed tags" msgstr "chá»n Ä‘iá»u khiển của thẻ đã ký" -#: builtin/fast-export.c:671 +#: builtin/fast-export.c:678 msgid "select handling of tags that tag filtered objects" msgstr "chá»n sá»± xá» lý của các thẻ, cái mà đánh thẻ các đối tượng được lá»c ra" -#: builtin/fast-export.c:674 +#: builtin/fast-export.c:681 msgid "Dump marks to this file" msgstr "Äổ các đánh dấu nà y và o táºp-tin" -#: builtin/fast-export.c:676 +#: builtin/fast-export.c:683 msgid "Import marks from this file" msgstr "nháºp và o đánh dấu từ táºp tin nà y" -#: builtin/fast-export.c:678 +#: builtin/fast-export.c:685 msgid "Fake a tagger when tags lack one" msgstr "Là m giả má»™t cái thẻ khi thẻ bị thiếu má»™t cái" -#: builtin/fast-export.c:680 +#: builtin/fast-export.c:687 msgid "Output full tree for each commit" msgstr "Xuất ra toà n bá»™ cây cho má»—i lần chuyển giao" -#: builtin/fast-export.c:682 +#: builtin/fast-export.c:689 msgid "Use the done feature to terminate the stream" msgstr "Sá» dụng tÃnh năng done để chấm dứt luồng dữ liệu" -#: builtin/fast-export.c:683 +#: builtin/fast-export.c:690 msgid "Skip output of blob data" msgstr "Bá» qua kết xuất của dữ liệu blob" @@ -4887,146 +5071,146 @@ msgstr "git fetch --multiple [<các-tùy-chá»n>] [(<kho> | <nhóm>)...]" msgid "git fetch --all [<options>]" msgstr "git fetch --all [<các-tùy-chá»n>]" -#: builtin/fetch.c:60 +#: builtin/fetch.c:74 msgid "fetch from all remotes" msgstr "lấy vá» từ tất cả các máy chủ" -#: builtin/fetch.c:62 +#: builtin/fetch.c:76 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "nối thêm và o .git/FETCH_HEAD thay vì ghi đè lên nó" -#: builtin/fetch.c:64 +#: builtin/fetch.c:78 msgid "path to upload pack on remote end" msgstr "Ä‘Æ°á»ng dẫn đến gói (pack) tải lên trên máy chủ cuối" -#: builtin/fetch.c:65 +#: builtin/fetch.c:79 msgid "force overwrite of local branch" msgstr "ép buá»™c ghi đè lên nhánh ná»™i bá»™" -#: builtin/fetch.c:67 +#: builtin/fetch.c:81 msgid "fetch from multiple remotes" msgstr "lấy từ nhiá»u máy chủ cùng lúc" -#: builtin/fetch.c:69 +#: builtin/fetch.c:83 msgid "fetch all tags and associated objects" msgstr "lấy tất cả các thẻ cùng vá»›i các đối tượng liên quan đến nó" -#: builtin/fetch.c:71 +#: builtin/fetch.c:85 msgid "do not fetch all tags (--no-tags)" msgstr "không lấy tất cả các thẻ (--no-tags)" -#: builtin/fetch.c:73 +#: builtin/fetch.c:87 msgid "prune remote-tracking branches no longer on remote" msgstr "" "cắt cụt (prune) các nhánh “remote-tracking†không còn tồn tại trên máy chủ " "nữa" -#: builtin/fetch.c:74 +#: builtin/fetch.c:88 msgid "on-demand" msgstr "khi-cần" -#: builtin/fetch.c:75 +#: builtin/fetch.c:89 msgid "control recursive fetching of submodules" msgstr "Ä‘iá»u khiển việc lấy vỠđệ quy trong các mô-Ä‘un-con" -#: builtin/fetch.c:79 +#: builtin/fetch.c:93 msgid "keep downloaded pack" msgstr "giữ các gói đã tải vá»" -#: builtin/fetch.c:81 +#: builtin/fetch.c:95 msgid "allow updating of HEAD ref" msgstr "cho phép cáºp nháºt th.chiếu HEAD" -#: builtin/fetch.c:84 +#: builtin/fetch.c:98 msgid "deepen history of shallow clone" msgstr "là m sâu hÆ¡n lịch sá» của bản sao" -#: builtin/fetch.c:86 +#: builtin/fetch.c:100 msgid "convert to a complete repository" msgstr "chuyển đổi hoà n toà n sang kho git" -#: builtin/fetch.c:88 builtin/log.c:1177 +#: builtin/fetch.c:102 builtin/log.c:1197 msgid "dir" msgstr "tmục" -#: builtin/fetch.c:89 +#: builtin/fetch.c:103 msgid "prepend this to submodule path output" msgstr "soạn sẵn cái nà y cho kết xuất Ä‘Æ°á»ng dẫn mô-Ä‘un-con" -#: builtin/fetch.c:92 +#: builtin/fetch.c:106 msgid "default mode for recursion" msgstr "chế Ä‘á»™ mặc định cho đệ qui" -#: builtin/fetch.c:220 +#: builtin/fetch.c:236 msgid "Couldn't find remote ref HEAD" msgstr "Không thể tìm thấy máy chủ cho tham chiếu HEAD" -#: builtin/fetch.c:273 +#: builtin/fetch.c:290 #, c-format msgid "object %s not found" msgstr "Không tìm thấy đối tượng %s" -#: builtin/fetch.c:278 +#: builtin/fetch.c:295 msgid "[up to date]" msgstr "[đã cáºp nháºt]" -#: builtin/fetch.c:292 +#: builtin/fetch.c:309 #, c-format msgid "! %-*s %-*s -> %s (can't fetch in current branch)" msgstr "! %-*s %-*s -> %s (không thể fetch (lấy) vá» nhánh hiện hà nh)" -#: builtin/fetch.c:293 builtin/fetch.c:379 +#: builtin/fetch.c:310 builtin/fetch.c:396 msgid "[rejected]" msgstr "[Bị từ chối]" -#: builtin/fetch.c:304 +#: builtin/fetch.c:321 msgid "[tag update]" msgstr "[cáºp nháºt thẻ]" -#: builtin/fetch.c:306 builtin/fetch.c:341 builtin/fetch.c:359 +#: builtin/fetch.c:323 builtin/fetch.c:358 builtin/fetch.c:376 msgid " (unable to update local ref)" msgstr " (không thể cáºp nháºt tham chiếu (ref) ná»™i bá»™)" -#: builtin/fetch.c:324 +#: builtin/fetch.c:341 msgid "[new tag]" msgstr "[thẻ má»›i]" -#: builtin/fetch.c:327 +#: builtin/fetch.c:344 msgid "[new branch]" msgstr "[nhánh má»›i]" -#: builtin/fetch.c:330 +#: builtin/fetch.c:347 msgid "[new ref]" msgstr "[ref (tham chiếu) má»›i]" -#: builtin/fetch.c:375 +#: builtin/fetch.c:392 msgid "unable to update local ref" msgstr "không thể cáºp nháºt tham chiếu (ref) ná»™i bá»™" -#: builtin/fetch.c:375 +#: builtin/fetch.c:392 msgid "forced update" msgstr "cưỡng bức cáºp nháºt" -#: builtin/fetch.c:381 +#: builtin/fetch.c:398 msgid "(non-fast-forward)" msgstr "(non-fast-forward)" -#: builtin/fetch.c:412 builtin/fetch.c:718 +#: builtin/fetch.c:429 builtin/fetch.c:735 #, c-format msgid "cannot open %s: %s\n" msgstr "không thể mở %s: %s\n" -#: builtin/fetch.c:421 +#: builtin/fetch.c:438 #, c-format msgid "%s did not send all necessary objects\n" msgstr "%s đã không gá»i tất cả các đối tượng cần thiết\n" -#: builtin/fetch.c:520 +#: builtin/fetch.c:537 #, c-format msgid "From %.*s\n" msgstr "Từ %.*s\n" -#: builtin/fetch.c:531 +#: builtin/fetch.c:548 #, c-format msgid "" "some local refs could not be updated; try running\n" @@ -5035,57 +5219,57 @@ msgstr "" "má»™t số tham chiếu (refs) ná»™i bá»™ không thể được cáºp nháºt; hãy thá» chạy\n" " “git remote prune %s†để bá» Ä‘i những nhánh cÅ©, hay bị xung Ä‘á»™t" -#: builtin/fetch.c:581 +#: builtin/fetch.c:598 #, c-format msgid " (%s will become dangling)" msgstr " (%s sẽ trở thà nh không đầu (không được quản lý))" -#: builtin/fetch.c:582 +#: builtin/fetch.c:599 #, c-format msgid " (%s has become dangling)" msgstr " (%s đã trở thà nh không đầu (không được quản lý))" -#: builtin/fetch.c:589 +#: builtin/fetch.c:606 msgid "[deleted]" msgstr "[đã xóa]" -#: builtin/fetch.c:590 builtin/remote.c:1055 +#: builtin/fetch.c:607 builtin/remote.c:1055 msgid "(none)" msgstr "(không)" -#: builtin/fetch.c:708 +#: builtin/fetch.c:725 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "" "Từ chối việc lấy (fetch) và o trong nhánh hiện tại %s của má»™t kho chứa không " "phải kho trần (bare)" -#: builtin/fetch.c:742 -#, c-format -msgid "Don't know how to fetch from %s" -msgstr "Không biết là m cách nà o để lấy vá» từ %s" - -#: builtin/fetch.c:823 +#: builtin/fetch.c:744 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "Tùy chá»n \"%s\" có giá trị \"%s\" là không hợp lệ cho %s" -#: builtin/fetch.c:826 +#: builtin/fetch.c:747 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "Tùy chá»n \"%s\" bị bá» qua vá»›i %s\n" -#: builtin/fetch.c:928 +#: builtin/fetch.c:801 +#, c-format +msgid "Don't know how to fetch from %s" +msgstr "Không biết là m cách nà o để lấy vá» từ %s" + +#: builtin/fetch.c:976 #, c-format msgid "Fetching %s\n" msgstr "Äang lấy vá» %s\n" -#: builtin/fetch.c:930 builtin/remote.c:100 +#: builtin/fetch.c:978 builtin/remote.c:100 #, c-format msgid "Could not fetch %s" msgstr "không thể lấy vá» %s" -#: builtin/fetch.c:949 +#: builtin/fetch.c:997 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." @@ -5093,32 +5277,32 @@ msgstr "" "ChÆ°a chỉ ra kho chứa máy chủ. Xin hãy chỉ định hoặc là URL hoặc\n" "tên máy chủ từ cái mà những Ä‘iểm xét duyệt má»›i có thể được fetch (lấy vá»)." -#: builtin/fetch.c:969 +#: builtin/fetch.c:1020 msgid "You need to specify a tag name." msgstr "Bạn phải định rõ tên thẻ." -#: builtin/fetch.c:1015 +#: builtin/fetch.c:1068 msgid "--depth and --unshallow cannot be used together" msgstr "tùy chá»n --depth và --unshallow không thể sá» dụng cùng vá»›i nhau" -#: builtin/fetch.c:1017 +#: builtin/fetch.c:1070 msgid "--unshallow on a complete repository does not make sense" msgstr "--unshallow trên kho hoà n chỉnh là không hợp lý" -#: builtin/fetch.c:1036 +#: builtin/fetch.c:1089 msgid "fetch --all does not take a repository argument" msgstr "lệnh lấy vá» \"fetch --all\" không lấy đối số kho chứa" -#: builtin/fetch.c:1038 +#: builtin/fetch.c:1091 msgid "fetch --all does not make sense with refspecs" msgstr "lệnh lấy vá» \"fetch --all\" không hợp lý vá»›i refspecs" -#: builtin/fetch.c:1049 +#: builtin/fetch.c:1102 #, c-format msgid "No such remote or remote group: %s" msgstr "không có nhóm máy chủ hay máy chủ nhÆ° thế: %s" -#: builtin/fetch.c:1057 +#: builtin/fetch.c:1110 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "Việc lấy vá» cả má»™t nhóm và chỉ định refspecs không hợp lý" @@ -5127,9 +5311,9 @@ msgid "git fmt-merge-msg [-m <message>] [--log[=<n>]|--no-log] [--file <file>]" msgstr "" "git fmt-merge-msg [-m <thông Ä‘iệp>] [--log[=<n>]|--no-log] [--file <táºp-tin>]" -#: builtin/fmt-merge-msg.c:663 builtin/fmt-merge-msg.c:666 builtin/grep.c:700 -#: builtin/merge.c:203 builtin/show-branch.c:655 builtin/show-ref.c:179 -#: builtin/tag.c:446 parse-options.h:133 parse-options.h:243 +#: builtin/fmt-merge-msg.c:663 builtin/fmt-merge-msg.c:666 builtin/grep.c:702 +#: builtin/merge.c:203 builtin/show-branch.c:655 builtin/show-ref.c:178 +#: builtin/tag.c:446 parse-options.h:135 parse-options.h:245 msgid "n" msgstr "n" @@ -5153,117 +5337,121 @@ msgstr "dùng <văn bản thÆ°á»ng> để bắt đầu ghi chú" msgid "file to read from" msgstr "táºp tin để Ä‘á»c dữ liệu từ đó" -#: builtin/for-each-ref.c:979 +#: builtin/for-each-ref.c:995 msgid "git for-each-ref [options] [<pattern>]" msgstr "git for-each-ref [các-tùy-chá»n] [<mẫu>]" -#: builtin/for-each-ref.c:994 +#: builtin/for-each-ref.c:1010 msgid "quote placeholders suitably for shells" msgstr "trÃch dẫn để phù hợp cho hệ vá» (shell)" -#: builtin/for-each-ref.c:996 +#: builtin/for-each-ref.c:1012 msgid "quote placeholders suitably for perl" msgstr "trÃch dẫn để phù hợp cho perl" -#: builtin/for-each-ref.c:998 +#: builtin/for-each-ref.c:1014 msgid "quote placeholders suitably for python" msgstr "trÃch dẫn để phù hợp cho python" -#: builtin/for-each-ref.c:1000 +#: builtin/for-each-ref.c:1016 msgid "quote placeholders suitably for tcl" msgstr "trÃch dẫn để phù hợp cho tcl" -#: builtin/for-each-ref.c:1003 +#: builtin/for-each-ref.c:1019 msgid "show only <n> matched refs" msgstr "hiển thị chỉ <n> tham chiếu khá»›p" -#: builtin/for-each-ref.c:1004 +#: builtin/for-each-ref.c:1020 msgid "format" msgstr "định dạng" -#: builtin/for-each-ref.c:1004 +#: builtin/for-each-ref.c:1020 msgid "format to use for the output" msgstr "định dạng sẽ dùng cho đầu ra" -#: builtin/for-each-ref.c:1005 +#: builtin/for-each-ref.c:1021 msgid "key" msgstr "khóa" -#: builtin/for-each-ref.c:1006 +#: builtin/for-each-ref.c:1022 msgid "field name to sort on" msgstr "tên trÆ°á»ng cần sắp xếp" -#: builtin/fsck.c:608 +#: builtin/fsck.c:607 msgid "git fsck [options] [<object>...]" msgstr "git fsck [các-tùy-chá»n] [<đối-tượng>...]" -#: builtin/fsck.c:614 +#: builtin/fsck.c:613 msgid "show unreachable objects" msgstr "hiển thị các đối tượng không thể Ä‘á»c được" -#: builtin/fsck.c:615 +#: builtin/fsck.c:614 msgid "show dangling objects" msgstr "hiển thị các đối tượng không được quản lý" -#: builtin/fsck.c:616 +#: builtin/fsck.c:615 msgid "report tags" msgstr "báo cáo các thẻ" -#: builtin/fsck.c:617 +#: builtin/fsck.c:616 msgid "report root nodes" msgstr "báo cáo node gốc" -#: builtin/fsck.c:618 +#: builtin/fsck.c:617 msgid "make index objects head nodes" msgstr "tạo “ index objects head nodesâ€" -#: builtin/fsck.c:619 +#: builtin/fsck.c:618 msgid "make reflogs head nodes (default)" msgstr "tạo reflogs head nodes (mặc định)" -#: builtin/fsck.c:620 +#: builtin/fsck.c:619 msgid "also consider packs and alternate objects" msgstr "cÅ©ng cân nhắc đến các đối tượng gói và thay thế" -#: builtin/fsck.c:621 +#: builtin/fsck.c:620 msgid "enable more strict checking" msgstr "cho phép kiểm tra hạn chế hÆ¡n" -#: builtin/fsck.c:623 +#: builtin/fsck.c:622 msgid "write dangling objects in .git/lost-found" msgstr "ghi các đối tượng không được quản lý trong .git/lost-found" -#: builtin/fsck.c:624 builtin/prune.c:134 +#: builtin/fsck.c:623 builtin/prune.c:134 msgid "show progress" msgstr "hiển thị quá trình" -#: builtin/gc.c:22 +#: builtin/gc.c:23 msgid "git gc [options]" msgstr "git gc [các-tùy-chá»n]" -#: builtin/gc.c:63 +#: builtin/gc.c:79 #, c-format msgid "Invalid %s: '%s'" msgstr "%s không hợp lệ: “%sâ€" -#: builtin/gc.c:90 +#: builtin/gc.c:106 #, c-format msgid "insanely long object directory %.*s" msgstr "thÆ° mục đối tượng dà i má»™t cách Ä‘iên rồ %.*s" -#: builtin/gc.c:179 +#: builtin/gc.c:261 msgid "prune unreferenced objects" msgstr "xóa bá» các đối tượng không được tham chiếu" -#: builtin/gc.c:181 +#: builtin/gc.c:263 msgid "be more thorough (increased runtime)" msgstr "cẩn tháºn hÆ¡n nữa (tăng thá»i gian chạy)" -#: builtin/gc.c:182 +#: builtin/gc.c:264 msgid "enable auto-gc mode" msgstr "báºt chế Ä‘á»™ auto-gc" -#: builtin/gc.c:222 +#: builtin/gc.c:265 +msgid "force running gc even if there may be another gc running" +msgstr "buá»™c gc chạy ngay cả khi có tiến trình gc khác Ä‘ang chạy" + +#: builtin/gc.c:305 #, c-format msgid "" "Auto packing the repository for optimum performance. You may also\n" @@ -5273,43 +5461,52 @@ msgstr "" "chạy lệnh \"git gc\" má»™t cách thủ công. Hãy xem \"git help gc\" để biết thêm " "chi tiết.\n" -#: builtin/gc.c:249 +#. be quiet on --auto +#: builtin/gc.c:315 +#, c-format +msgid "" +"gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)" +msgstr "" +"gc Ä‘ang được thá»±c hiện trên máy “%s†pid %<PRIuMAX> (dùng --force nếu không " +"phải thế)" + +#: builtin/gc.c:340 msgid "" "There are too many unreachable loose objects; run 'git prune' to remove them." msgstr "" "Có quá nhiá»u đối tượng tá»± do không được dùng đến; hãy chạy lệnh “git prune†" "để xóa bá» chúng Ä‘i." -#: builtin/grep.c:22 +#: builtin/grep.c:23 msgid "git grep [options] [-e] <pattern> [<rev>...] [[--] <path>...]" msgstr "git grep [các-tùy-chá»n] [-e] <mẫu> [<rev>...] [[--] <Ä‘Æ°á»ng-dẫn>...]" -#: builtin/grep.c:217 +#: builtin/grep.c:218 #, c-format msgid "grep: failed to create thread: %s" msgstr "grep: gặp lá»—i tạo tuyến (thread): %s" -#: builtin/grep.c:364 +#: builtin/grep.c:365 #, c-format msgid "Failed to chdir: %s" msgstr "Gặp lá»—i vá»›i lệnh chdir: %s" -#: builtin/grep.c:442 builtin/grep.c:477 +#: builtin/grep.c:443 builtin/grep.c:478 #, c-format msgid "unable to read tree (%s)" msgstr "không thể Ä‘á»c cây (%s)" -#: builtin/grep.c:492 +#: builtin/grep.c:493 #, c-format msgid "unable to grep from object of type %s" msgstr "không thể thá»±c hiện lệnh grep (lá»c tìm) từ đối tượng thuá»™c kiểu %s" -#: builtin/grep.c:550 +#: builtin/grep.c:551 #, c-format msgid "switch `%c' expects a numerical value" msgstr "chuyển đến “%c†cần má»™t giá trị bằng số" -#: builtin/grep.c:567 +#: builtin/grep.c:568 #, c-format msgid "cannot open '%s'" msgstr "không mở được “%sâ€" @@ -5351,161 +5548,165 @@ msgid "don't match patterns in binary files" msgstr "không khá»›p mẫu trong các táºp tin nhị phân" #: builtin/grep.c:662 +msgid "process binary files with textconv filters" +msgstr "xá» lý táºp tin nhị phân vá»›i các bá»™ lá»c `textconv`" + +#: builtin/grep.c:664 msgid "descend at most <depth> levels" msgstr "giảm xuống Ãt nhất mức <sâu>" -#: builtin/grep.c:666 +#: builtin/grep.c:668 msgid "use extended POSIX regular expressions" msgstr "dùng biểu thức chÃnh qui POSIX có mở rá»™ng" -#: builtin/grep.c:669 +#: builtin/grep.c:671 msgid "use basic POSIX regular expressions (default)" msgstr "sá» dụng biểu thức chÃnh quy kiểu POSIX (mặc định)" -#: builtin/grep.c:672 +#: builtin/grep.c:674 msgid "interpret patterns as fixed strings" msgstr "diá»…n dịch các mẫu nhÆ° là chuá»—i cố định" -#: builtin/grep.c:675 +#: builtin/grep.c:677 msgid "use Perl-compatible regular expressions" msgstr "sá» dụng biểu thức chÃnh quy tÆ°Æ¡ng thÃch Perl" -#: builtin/grep.c:678 +#: builtin/grep.c:680 msgid "show line numbers" msgstr "hiển thị số của dòng" -#: builtin/grep.c:679 +#: builtin/grep.c:681 msgid "don't show filenames" msgstr "không hiển thị tên táºp tin" -#: builtin/grep.c:680 +#: builtin/grep.c:682 msgid "show filenames" msgstr "hiển thị các tên táºp tin" -#: builtin/grep.c:682 +#: builtin/grep.c:684 msgid "show filenames relative to top directory" msgstr "hiển thị tên táºp tin tÆ°Æ¡ng đối vá»›i thÆ° mục đỉnh (top)" -#: builtin/grep.c:684 +#: builtin/grep.c:686 msgid "show only filenames instead of matching lines" msgstr "chỉ hiển thị tên táºp tin thay vì những dòng khá»›p vá»›i mẫu" -#: builtin/grep.c:686 +#: builtin/grep.c:688 msgid "synonym for --files-with-matches" msgstr "đồng nghÄ©a vá»›i --files-with-matches" -#: builtin/grep.c:689 +#: builtin/grep.c:691 msgid "show only the names of files without match" msgstr "chỉ hiển thị tên cho những táºp tin không khá»›p vá»›i mẫu" -#: builtin/grep.c:691 +#: builtin/grep.c:693 msgid "print NUL after filenames" msgstr "thêm NUL và o sau tên táºp tin" -#: builtin/grep.c:693 +#: builtin/grep.c:695 msgid "show the number of matches instead of matching lines" msgstr "hiển thị số lượng khá»›p thay vì những dòng khá»›p vá»›i mẫu" -#: builtin/grep.c:694 +#: builtin/grep.c:696 msgid "highlight matches" msgstr "tô sáng cái khá»›p" -#: builtin/grep.c:696 +#: builtin/grep.c:698 msgid "print empty line between matches from different files" msgstr "hiển thị dòng trống giữa các lần khá»›p từ các táºp tin khác biệt" -#: builtin/grep.c:698 +#: builtin/grep.c:700 msgid "show filename only once above matches from same file" msgstr "" "hiển thị tên táºp tin má»™t lần phÃa trên các lần khá»›p từ cùng má»™t táºp tin" -#: builtin/grep.c:701 +#: builtin/grep.c:703 msgid "show <n> context lines before and after matches" msgstr "hiển thị <n> dòng ná»™i dung phÃa trÆ°á»›c và sau các lần khá»›p" -#: builtin/grep.c:704 +#: builtin/grep.c:706 msgid "show <n> context lines before matches" msgstr "hiển thị <n> dòng ná»™i dung trÆ°á»›c khá»›p" -#: builtin/grep.c:706 +#: builtin/grep.c:708 msgid "show <n> context lines after matches" msgstr "hiển thị <n> dòng ná»™i dung sau khá»›p" -#: builtin/grep.c:707 +#: builtin/grep.c:709 msgid "shortcut for -C NUM" msgstr "Dạng tắt cho -C Sá»" -#: builtin/grep.c:710 +#: builtin/grep.c:712 msgid "show a line with the function name before matches" msgstr "hiển thị dòng vói tên hà m trÆ°á»›c các lần khá»›p" -#: builtin/grep.c:712 +#: builtin/grep.c:714 msgid "show the surrounding function" msgstr "hiển thị hà m bao quanh" -#: builtin/grep.c:715 +#: builtin/grep.c:717 msgid "read patterns from file" msgstr "Ä‘á»c mẫu từ táºp-tin" -#: builtin/grep.c:717 +#: builtin/grep.c:719 msgid "match <pattern>" msgstr "match <mẫu>" -#: builtin/grep.c:719 +#: builtin/grep.c:721 msgid "combine patterns specified with -e" msgstr "tổ hợp mẫu được chỉ ra vá»›i tùy chá»n -e" -#: builtin/grep.c:731 +#: builtin/grep.c:733 msgid "indicate hit with exit status without output" msgstr "Ä‘Æ°a ra gợi ý vá»›i trạng thái thoát mà không có kết xuất" -#: builtin/grep.c:733 +#: builtin/grep.c:735 msgid "show only matches from files that match all patterns" msgstr "chỉ hiển thị những cái khá»›p từ táºp tin mà nó khá»›p toà n bá»™ các mẫu" -#: builtin/grep.c:735 +#: builtin/grep.c:737 msgid "show parse tree for grep expression" msgstr "hiển thị cây phân tÃch cú pháp cho biểu thức “grep†(tìm kiếm)" -#: builtin/grep.c:739 +#: builtin/grep.c:741 msgid "pager" msgstr "trang giấy" -#: builtin/grep.c:739 +#: builtin/grep.c:741 msgid "show matching files in the pager" msgstr "hiển thị các táºp tin khá»›p trong trang giấy" -#: builtin/grep.c:742 +#: builtin/grep.c:744 msgid "allow calling of grep(1) (ignored by this build)" msgstr "cho phép gá»i grep(1) (bị bá» qua bởi lần dịch nà y)" -#: builtin/grep.c:743 builtin/show-ref.c:188 +#: builtin/grep.c:745 builtin/show-ref.c:187 msgid "show usage" msgstr "hiển thị cách dùng" -#: builtin/grep.c:810 +#: builtin/grep.c:812 msgid "no pattern given." msgstr "chÆ°a chỉ ra mẫu." -#: builtin/grep.c:865 +#: builtin/grep.c:870 msgid "--open-files-in-pager only works on the worktree" msgstr "--open-files-in-pager chỉ là m việc trên cây-là m-việc" -#: builtin/grep.c:888 +#: builtin/grep.c:893 msgid "--cached or --untracked cannot be used with --no-index." msgstr "--cached hay --untracked không được sá» dụng vá»›i --no-index." -#: builtin/grep.c:893 +#: builtin/grep.c:898 msgid "--no-index or --untracked cannot be used with revs." msgstr "" "--no-index hay --untracked không được sá» dụng cùng vá»›i các tùy chá»n liên " "quan đến revs." -#: builtin/grep.c:896 +#: builtin/grep.c:901 msgid "--[no-]exclude-standard cannot be used for tracked contents." msgstr "--[no-]exclude-standard không thể sá» dụng cho ná»™i dung lÆ°u dấu vết." -#: builtin/grep.c:904 +#: builtin/grep.c:909 msgid "both --cached and trees are given." msgstr "cả hai --cached và các cây phải được chỉ ra." @@ -5658,7 +5859,7 @@ msgstr "Các chỉ dẫn chung vá» cách dùng Git là :\n" #: builtin/help.c:460 builtin/help.c:476 #, c-format msgid "usage: %s%s" -msgstr "cách sá» dụng: %s%s" +msgstr "cách dùng: %s%s" #: builtin/help.c:492 #, c-format @@ -5760,8 +5961,8 @@ msgstr "sá»± mâu thuẫn xả nén nghiêm trá»ng" msgid "SHA1 COLLISION FOUND WITH %s !" msgstr "Sá»° VA CHẠM SHA1 Äà XẢY RA VỚI %s!" -#: builtin/index-pack.c:669 builtin/pack-objects.c:170 -#: builtin/pack-objects.c:262 +#: builtin/index-pack.c:669 builtin/pack-objects.c:171 +#: builtin/pack-objects.c:263 #, c-format msgid "unable to read %s" msgstr "không thể Ä‘á»c %s" @@ -5790,155 +5991,155 @@ msgstr "Lá»—i trong đối tượng" msgid "Not all child objects of %s are reachable" msgstr "Không phải tất cả các đối tượng con của %s là có thể vá»›i tá»›i được" -#: builtin/index-pack.c:838 builtin/index-pack.c:868 +#: builtin/index-pack.c:839 builtin/index-pack.c:869 msgid "failed to apply delta" msgstr "gặp lá»—i khi áp dụng delta" -#: builtin/index-pack.c:1009 +#: builtin/index-pack.c:1010 msgid "Receiving objects" msgstr "Äang nháºn vá» các đối tượng" -#: builtin/index-pack.c:1009 +#: builtin/index-pack.c:1010 msgid "Indexing objects" msgstr "Các đối tượng bảng mục lục" -#: builtin/index-pack.c:1035 +#: builtin/index-pack.c:1036 msgid "pack is corrupted (SHA1 mismatch)" msgstr "pack bị sai há»ng (SHA1 không khá»›p)" -#: builtin/index-pack.c:1040 +#: builtin/index-pack.c:1041 msgid "cannot fstat packfile" msgstr "không thể fstat packfile" -#: builtin/index-pack.c:1043 +#: builtin/index-pack.c:1044 msgid "pack has junk at the end" msgstr "pack có phần thừa ở cuối" -#: builtin/index-pack.c:1054 +#: builtin/index-pack.c:1055 msgid "confusion beyond insanity in parse_pack_objects()" msgstr "lá»™n xá»™n hÆ¡n cả Ä‘iên rồ khi chạy hà m parse_pack_objects()" -#: builtin/index-pack.c:1077 +#: builtin/index-pack.c:1078 msgid "Resolving deltas" msgstr "Äang phân giải các delta" -#: builtin/index-pack.c:1087 +#: builtin/index-pack.c:1088 #, c-format msgid "unable to create thread: %s" msgstr "không thể tạo tuyến: %s" -#: builtin/index-pack.c:1129 +#: builtin/index-pack.c:1130 msgid "confusion beyond insanity" msgstr "lá»™n xá»™n hÆ¡n cả Ä‘iên rồ" -#: builtin/index-pack.c:1137 +#: builtin/index-pack.c:1138 #, c-format msgid "completed with %d local objects" msgstr "đầy đủ vá»›i %d đối tượng ná»™i bá»™" -#: builtin/index-pack.c:1147 +#: builtin/index-pack.c:1148 #, c-format msgid "Unexpected tail checksum for %s (disk corruption?)" msgstr "Tổng kiểm tra tail không nhÆ° mong đợi cho %s (Ä‘Ä©a há»ng?)" -#: builtin/index-pack.c:1151 +#: builtin/index-pack.c:1152 #, c-format msgid "pack has %d unresolved delta" msgid_plural "pack has %d unresolved deltas" msgstr[0] "pack có %d delta chÆ°a được giải quyết" msgstr[1] "pack có %d delta chÆ°a được giải quyết" -#: builtin/index-pack.c:1176 +#: builtin/index-pack.c:1177 #, c-format msgid "unable to deflate appended object (%d)" -msgstr "không thể xả đối tượng nối thêm (%d)" +msgstr "không thể xả nén đối tượng nối thêm (%d)" -#: builtin/index-pack.c:1255 +#: builtin/index-pack.c:1256 #, c-format msgid "local object %s is corrupt" msgstr "đối tượng ná»™i bá»™ %s bị há»ng" -#: builtin/index-pack.c:1279 +#: builtin/index-pack.c:1280 msgid "error while closing pack file" -msgstr "gặp lá»—i trong khi đóng táºp tin pack" +msgstr "gặp lá»—i trong khi đóng táºp tin gói (pack)" -#: builtin/index-pack.c:1292 +#: builtin/index-pack.c:1293 #, c-format msgid "cannot write keep file '%s'" msgstr "không thể ghi táºp tin giữ lại “%sâ€" -#: builtin/index-pack.c:1300 +#: builtin/index-pack.c:1301 #, c-format msgid "cannot close written keep file '%s'" msgstr "không thể đóng táºp tin giữ lại đã được ghi “%sâ€" -#: builtin/index-pack.c:1313 +#: builtin/index-pack.c:1314 msgid "cannot store pack file" msgstr "không thể lÆ°u táºp tin pack" -#: builtin/index-pack.c:1324 +#: builtin/index-pack.c:1325 msgid "cannot store index file" msgstr "không thể lÆ°u trữ táºp tin ghi mục lục" -#: builtin/index-pack.c:1357 +#: builtin/index-pack.c:1358 #, c-format msgid "bad pack.indexversion=%<PRIu32>" msgstr "sai pack.indexversion=%<PRIu32>" -#: builtin/index-pack.c:1363 +#: builtin/index-pack.c:1364 #, c-format msgid "invalid number of threads specified (%d)" msgstr "số tuyến chỉ ra không hợp lệ (%d)" -#: builtin/index-pack.c:1367 builtin/index-pack.c:1545 +#: builtin/index-pack.c:1368 builtin/index-pack.c:1546 #, c-format msgid "no threads support, ignoring %s" msgstr "không há»— trợ Ä‘a tuyến, bá» qua %s" -#: builtin/index-pack.c:1425 +#: builtin/index-pack.c:1426 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "Không thể mở táºp tin pack đã sẵn có “%sâ€" -#: builtin/index-pack.c:1427 +#: builtin/index-pack.c:1428 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "Không thể mở táºp tin “pack idx†cho “%sâ€" -#: builtin/index-pack.c:1474 +#: builtin/index-pack.c:1475 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" msgstr[0] "không delta: %d đối tượng" msgstr[1] "không delta: %d đối tượng" -#: builtin/index-pack.c:1481 +#: builtin/index-pack.c:1482 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" msgstr[0] "chiá»u dà i xÃch = %d: %lu đối tượng" msgstr[1] "chiá»u dà i xÃch = %d: %lu đối tượng" -#: builtin/index-pack.c:1509 +#: builtin/index-pack.c:1510 msgid "Cannot come back to cwd" msgstr "Không thể quay lại cwd" -#: builtin/index-pack.c:1557 builtin/index-pack.c:1560 -#: builtin/index-pack.c:1572 builtin/index-pack.c:1576 +#: builtin/index-pack.c:1558 builtin/index-pack.c:1561 +#: builtin/index-pack.c:1573 builtin/index-pack.c:1577 #, c-format msgid "bad %s" msgstr "%s sai" -#: builtin/index-pack.c:1590 +#: builtin/index-pack.c:1591 msgid "--fix-thin cannot be used without --stdin" msgstr "--fix-thin không thể được dùng mà không có --stdin" -#: builtin/index-pack.c:1594 builtin/index-pack.c:1604 +#: builtin/index-pack.c:1595 builtin/index-pack.c:1605 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "tên táºp tin packfile “%s†không được kết thúc bằng Ä‘uôi “.packâ€" -#: builtin/index-pack.c:1613 +#: builtin/index-pack.c:1614 msgid "--verify with no packfile name given" msgstr "dùng tùy chá»n --verify mà không Ä‘Æ°a ra tên packfile" @@ -6027,11 +6228,6 @@ msgstr "không thể nắm (handle) táºp tin kiểu %d" msgid "unable to move %s to %s" msgstr "không di chuyển được %s và o %s" -#: builtin/init-db.c:363 -#, c-format -msgid "Could not create git link %s" -msgstr "Không thể tạo liên kết git “%sâ€" - #. #. * TRANSLATORS: The first '%s' is either "Reinitialized #. * existing" or "Initialized empty", the second " shared" or @@ -6060,8 +6256,8 @@ msgstr "không nói chuyện được vá»›i lệnh cwd" #: builtin/init-db.c:467 msgid "" -"git init [-q | --quiet] [--bare] [--template=<template-directory>] [--shared" -"[=<permissions>]] [directory]" +"git init [-q | --quiet] [--bare] [--template=<template-directory>] [--" +"shared[=<permissions>]] [directory]" msgstr "" "git init [-q | --quiet] [--bare] [--template=<thÆ°-mục-tạm>] [--shared[=<các-" "quyá»n>]] [thÆ°-mục]" @@ -6074,7 +6270,7 @@ msgstr "các quyá»n" msgid "specify that the git repository is to be shared amongst several users" msgstr "chỉ ra cái mà kho git được chia sẻ giữa nhiá»u ngÆ°á»i dùng" -#: builtin/init-db.c:493 builtin/prune-packed.c:75 +#: builtin/init-db.c:493 builtin/prune-packed.c:75 builtin/repack.c:155 msgid "be quiet" msgstr "im lặng" @@ -6114,247 +6310,247 @@ msgstr "git log [<các-tùy-chá»n>] [<vùng xem xét>] [[--] <Ä‘Æ°á»ng-dẫn>. msgid " or: git show [options] <object>..." msgstr " hay: git show [các-tùy-chá»n] <đối-tượng>..." -#: builtin/log.c:124 +#: builtin/log.c:125 msgid "suppress diff output" msgstr "chặn má»i kết xuất từ diff" -#: builtin/log.c:125 +#: builtin/log.c:126 msgid "show source" msgstr "hiển thị mã nguồn" -#: builtin/log.c:126 +#: builtin/log.c:127 msgid "Use mail map file" msgstr "Sá» dụng táºp tin ánh xạ thÆ°" -#: builtin/log.c:127 +#: builtin/log.c:128 msgid "decorate options" msgstr "các tùy chá»n trang trÃ" -#: builtin/log.c:230 +#: builtin/log.c:231 #, c-format msgid "Final output: %d %s\n" msgstr "Kết xuất cuối cùng: %d %s\n" -#: builtin/log.c:453 builtin/log.c:545 +#: builtin/log.c:473 builtin/log.c:565 #, c-format msgid "Could not read object %s" msgstr "Không thể Ä‘á»c đối tượng %s" -#: builtin/log.c:569 +#: builtin/log.c:589 #, c-format msgid "Unknown type: %d" msgstr "Không nháºn ra kiểu: %d" -#: builtin/log.c:669 +#: builtin/log.c:689 msgid "format.headers without value" msgstr "format.headers không có giá trị cụ thể" -#: builtin/log.c:751 +#: builtin/log.c:771 msgid "name of output directory is too long" msgstr "tên của thÆ° mục kết xuất quá dà i" -#: builtin/log.c:767 +#: builtin/log.c:787 #, c-format msgid "Cannot open patch file %s" msgstr "Không thể mở táºp tin miếng vá: %s" -#: builtin/log.c:781 +#: builtin/log.c:801 msgid "Need exactly one range." msgstr "Cần chÃnh xác má»™t vùng." -#: builtin/log.c:789 +#: builtin/log.c:809 msgid "Not a range." msgstr "Không phải là má»™t vùng." -#: builtin/log.c:891 +#: builtin/log.c:911 msgid "Cover letter needs email format" msgstr "â€Cover letter†cần cho định dạng thÆ°" -#: builtin/log.c:967 +#: builtin/log.c:987 #, c-format msgid "insane in-reply-to: %s" msgstr "in-reply-to Ä‘iên rồ: %s" -#: builtin/log.c:995 +#: builtin/log.c:1015 msgid "git format-patch [options] [<since> | <revision range>]" msgstr "git format-patch [các-tùy-chá»n] [<kể-từ> | <vùng-xem-xét>]" -#: builtin/log.c:1040 +#: builtin/log.c:1060 msgid "Two output directories?" msgstr "Hai thÆ° mục kết xuất?" -#: builtin/log.c:1155 +#: builtin/log.c:1175 msgid "use [PATCH n/m] even with a single patch" msgstr "dùng [PATCH n/m] ngay cả vá»›i miếng vá Ä‘Æ¡n" -#: builtin/log.c:1158 +#: builtin/log.c:1178 msgid "use [PATCH] even with multiple patches" msgstr "dùng [VÃ] ngay cả vá»›i các miếng vá phức tạp" -#: builtin/log.c:1162 +#: builtin/log.c:1182 msgid "print patches to standard out" msgstr "hiển thị miếng vá ra đầu ra chuẩn" -#: builtin/log.c:1164 +#: builtin/log.c:1184 msgid "generate a cover letter" msgstr "tạo bì thÆ°" -#: builtin/log.c:1166 +#: builtin/log.c:1186 msgid "use simple number sequence for output file names" msgstr "sá» dụng chá»—i dãy số dạng Ä‘Æ¡n giản cho tên táºp-tin xuất ra" -#: builtin/log.c:1167 +#: builtin/log.c:1187 msgid "sfx" msgstr "sfx" -#: builtin/log.c:1168 +#: builtin/log.c:1188 msgid "use <sfx> instead of '.patch'" msgstr "sá» dụng <sfx> thay cho “.patchâ€" -#: builtin/log.c:1170 +#: builtin/log.c:1190 msgid "start numbering patches at <n> instead of 1" msgstr "bắt đầu đánh số miếng vá từ <n> thay vì 1" -#: builtin/log.c:1172 +#: builtin/log.c:1192 msgid "mark the series as Nth re-roll" msgstr "đánh dấu chuá»—i nối tiếp dạng thứ-N re-roll" -#: builtin/log.c:1174 +#: builtin/log.c:1194 msgid "Use [<prefix>] instead of [PATCH]" msgstr "Dùng [<tiá»n-tố>] thay cho [VÃ]" -#: builtin/log.c:1177 +#: builtin/log.c:1197 msgid "store resulting files in <dir>" msgstr "lÆ°u các táºp tin kết quả trong <t.mục>" -#: builtin/log.c:1180 +#: builtin/log.c:1200 msgid "don't strip/add [PATCH]" msgstr "không strip/add [VÃ]" -#: builtin/log.c:1183 +#: builtin/log.c:1203 msgid "don't output binary diffs" msgstr "không kết xuất diff (những khác biệt) nhị phân" -#: builtin/log.c:1185 +#: builtin/log.c:1205 msgid "don't include a patch matching a commit upstream" msgstr "không bao gồm miếng vá khá»›p vá»›i má»™t lần chuyển giao thượng nguồn" -#: builtin/log.c:1187 +#: builtin/log.c:1207 msgid "show patch format instead of default (patch + stat)" msgstr "hiển thị định dạng miếng vá thay vì mặc định (miếng vá + thống kê)" -#: builtin/log.c:1189 +#: builtin/log.c:1209 msgid "Messaging" msgstr "Lá»i nhắn" -#: builtin/log.c:1190 +#: builtin/log.c:1210 msgid "header" msgstr "đầu Ä‘á» thÆ°" -#: builtin/log.c:1191 +#: builtin/log.c:1211 msgid "add email header" msgstr "thêm đầu Ä‘á» thÆ°" -#: builtin/log.c:1192 builtin/log.c:1194 +#: builtin/log.c:1212 builtin/log.c:1214 msgid "email" msgstr "thÆ° Ä‘iện tá»" -#: builtin/log.c:1192 +#: builtin/log.c:1212 msgid "add To: header" msgstr "thêm To: đầu Ä‘á» thÆ°" -#: builtin/log.c:1194 +#: builtin/log.c:1214 msgid "add Cc: header" msgstr "thêm Cc: đầu Ä‘á» thÆ°" -#: builtin/log.c:1196 +#: builtin/log.c:1216 msgid "ident" msgstr "thụt lá»" -#: builtin/log.c:1197 +#: builtin/log.c:1217 msgid "set From address to <ident> (or committer ident if absent)" msgstr "" -"đặt `Äịa chỉ gá»i' thà nh <thụ lá»> (hoặc thụt lá» ngÆ°á»i commit nếu bá» quên)" +"đặt “Äịa chỉ gá»i†thà nh <thụ lá»> (hoặc thụt lá» ngÆ°á»i commit nếu bá» quên)" -#: builtin/log.c:1199 +#: builtin/log.c:1219 msgid "message-id" msgstr "message-id" -#: builtin/log.c:1200 +#: builtin/log.c:1220 msgid "make first mail a reply to <message-id>" msgstr "dùng thÆ° đầu tiên để trả lá»i <message-id>" -#: builtin/log.c:1201 builtin/log.c:1204 +#: builtin/log.c:1221 builtin/log.c:1224 msgid "boundary" msgstr "ranh giá»›i" -#: builtin/log.c:1202 +#: builtin/log.c:1222 msgid "attach the patch" msgstr "Ä‘Ãnh kèm miếng vá" -#: builtin/log.c:1205 +#: builtin/log.c:1225 msgid "inline the patch" msgstr "dùng miếng vá là m ná»™i dung" -#: builtin/log.c:1209 +#: builtin/log.c:1229 msgid "enable message threading, styles: shallow, deep" msgstr "cho phép luồng lá»i nhắn, kiểu: “shallowâ€, “deepâ€" -#: builtin/log.c:1211 +#: builtin/log.c:1231 msgid "signature" msgstr "chữ ký" -#: builtin/log.c:1212 +#: builtin/log.c:1232 msgid "add a signature" msgstr "thêm chữ ký" -#: builtin/log.c:1214 +#: builtin/log.c:1233 msgid "don't print the patch filenames" msgstr "không hiển thị các tên táºp tin của miếng vá" -#: builtin/log.c:1288 +#: builtin/log.c:1307 #, c-format msgid "invalid ident line: %s" msgstr "dòng thụt lá» không hợp lệ: %s" -#: builtin/log.c:1303 +#: builtin/log.c:1322 msgid "-n and -k are mutually exclusive." msgstr "-n và -k loại từ lẫn nhau." -#: builtin/log.c:1305 +#: builtin/log.c:1324 msgid "--subject-prefix and -k are mutually exclusive." msgstr "--subject-prefix và -k xung khắc nhau." -#: builtin/log.c:1313 +#: builtin/log.c:1332 msgid "--name-only does not make sense" msgstr "--name-only không hợp lý" -#: builtin/log.c:1315 +#: builtin/log.c:1334 msgid "--name-status does not make sense" msgstr "--name-status không hợp lý" -#: builtin/log.c:1317 +#: builtin/log.c:1336 msgid "--check does not make sense" msgstr "--check không hợp lý" -#: builtin/log.c:1340 +#: builtin/log.c:1359 msgid "standard output, or directory, which one?" msgstr "đầu ra chuẩn, hay thÆ° mục, chá»n cái nà o?" -#: builtin/log.c:1342 +#: builtin/log.c:1361 #, c-format msgid "Could not create directory '%s'" msgstr "Không thể tạo thÆ° mục “%sâ€" -#: builtin/log.c:1490 +#: builtin/log.c:1509 msgid "Failed to create output files" msgstr "Gặp lá»—i khi tạo các táºp tin kết xuất" -#: builtin/log.c:1539 +#: builtin/log.c:1558 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" msgstr "git cherry [-v] [<thượng-nguồn> [<head> [<giá»›i-hạn>]]]" -#: builtin/log.c:1594 +#: builtin/log.c:1613 #, c-format msgid "" "Could not find a tracked remote branch, please specify <upstream> manually.\n" @@ -6362,139 +6558,139 @@ msgstr "" "Không tìm thấy nhánh mạng bị theo vết, hãy chỉ định <thượng-nguồn> má»™t cách " "thủ công.\n" -#: builtin/log.c:1607 builtin/log.c:1609 builtin/log.c:1621 +#: builtin/log.c:1626 builtin/log.c:1628 builtin/log.c:1640 #, c-format msgid "Unknown commit %s" msgstr "Không hiểu lần chuyển giao (commit) %s" -#: builtin/ls-files.c:408 +#: builtin/ls-files.c:398 msgid "git ls-files [options] [<file>...]" msgstr "git ls-files [các-tùy-chá»n] [<táºp-tin>...]" -#: builtin/ls-files.c:465 +#: builtin/ls-files.c:455 msgid "identify the file status with tags" msgstr "nháºn dạng các trạng thái táºp tin vá»›i thẻ" -#: builtin/ls-files.c:467 +#: builtin/ls-files.c:457 msgid "use lowercase letters for 'assume unchanged' files" msgstr "" "dùng chữ cái viết thÆ°á»ng cho các táºp tin “assume unchanged†(giả định không " "thay đổi)" -#: builtin/ls-files.c:469 +#: builtin/ls-files.c:459 msgid "show cached files in the output (default)" msgstr "hiển thị các táºp tin được nhá»› tạm và o đầu ra (mặc định)" -#: builtin/ls-files.c:471 +#: builtin/ls-files.c:461 msgid "show deleted files in the output" msgstr "hiển thị các táºp tin đã xóa trong kết xuất" -#: builtin/ls-files.c:473 +#: builtin/ls-files.c:463 msgid "show modified files in the output" msgstr "hiển thị các táºp tin đã bị sá»a đổi ra kết xuất" -#: builtin/ls-files.c:475 +#: builtin/ls-files.c:465 msgid "show other files in the output" msgstr "hiển thị các táºp tin khác trong kết xuất" -#: builtin/ls-files.c:477 +#: builtin/ls-files.c:467 msgid "show ignored files in the output" msgstr "hiển thị các táºp tin bị bá» qua trong kết xuất" -#: builtin/ls-files.c:480 +#: builtin/ls-files.c:470 msgid "show staged contents' object name in the output" msgstr "hiển thị tên đối tượng của ná»™i dung được lÆ°u trạng thái ở kết xuất" -#: builtin/ls-files.c:482 +#: builtin/ls-files.c:472 msgid "show files on the filesystem that need to be removed" msgstr "hiển thị các táºp tin trên hệ thống táºp tin mà nó cần được gỡ bá»" -#: builtin/ls-files.c:484 +#: builtin/ls-files.c:474 msgid "show 'other' directories' name only" msgstr "chỉ hiển thị tên của các thÆ° mục “khácâ€" -#: builtin/ls-files.c:487 +#: builtin/ls-files.c:477 msgid "don't show empty directories" msgstr "không hiển thị thÆ° mục rá»—ng" -#: builtin/ls-files.c:490 +#: builtin/ls-files.c:480 msgid "show unmerged files in the output" msgstr "hiển thị các táºp tin chÆ°a hòa trá»™n trong kết xuất" -#: builtin/ls-files.c:492 +#: builtin/ls-files.c:482 msgid "show resolve-undo information" msgstr "hiển thị thông tin resolve-undo" -#: builtin/ls-files.c:494 +#: builtin/ls-files.c:484 msgid "skip files matching pattern" msgstr "bá» qua những táºp tin khá»›p vá»›i má»™t mẫu" -#: builtin/ls-files.c:497 +#: builtin/ls-files.c:487 msgid "exclude patterns are read from <file>" msgstr "mẫu loại trừ được Ä‘á»c từ <táºp tin>" -#: builtin/ls-files.c:500 +#: builtin/ls-files.c:490 msgid "read additional per-directory exclude patterns in <file>" msgstr "Ä‘á»c thêm các mẫu ngoại trừ má»—i thÆ° mục trong <táºp tin>" -#: builtin/ls-files.c:502 +#: builtin/ls-files.c:492 msgid "add the standard git exclusions" msgstr "thêm loại trừ tiêu chuẩn kiểu git" -#: builtin/ls-files.c:505 +#: builtin/ls-files.c:495 msgid "make the output relative to the project top directory" msgstr "là m cho kết xuất liên quan đến thÆ° mục ở mức cao nhất (gốc) của dá»± án" -#: builtin/ls-files.c:508 +#: builtin/ls-files.c:498 msgid "if any <file> is not in the index, treat this as an error" msgstr "nếu <táºp tin> bất kỳ không ở trong bảng mục lục, xá» lý nó nhÆ° má»™t lá»—i" -#: builtin/ls-files.c:509 +#: builtin/ls-files.c:499 msgid "tree-ish" msgstr "tree-ish" -#: builtin/ls-files.c:510 +#: builtin/ls-files.c:500 msgid "pretend that paths removed since <tree-ish> are still present" msgstr "" "giả định rằng các Ä‘Æ°á»ng dẫn đã bị gỡ bá» kể từ <tree-ish> nay vẫn hiện diện" -#: builtin/ls-files.c:512 +#: builtin/ls-files.c:502 msgid "show debugging data" msgstr "hiển thị dữ liệu gỡ lá»—i" -#: builtin/ls-tree.c:27 +#: builtin/ls-tree.c:28 msgid "git ls-tree [<options>] <tree-ish> [<path>...]" msgstr "git ls-tree [<các-tùy-chá»n>] <tree-ish> [<Ä‘Æ°á»ng-dẫn>...]" -#: builtin/ls-tree.c:125 +#: builtin/ls-tree.c:126 msgid "only show trees" msgstr "chỉ hiển thị các tree" -#: builtin/ls-tree.c:127 +#: builtin/ls-tree.c:128 msgid "recurse into subtrees" msgstr "đệ quy và o các thÆ° mục con" -#: builtin/ls-tree.c:129 +#: builtin/ls-tree.c:130 msgid "show trees when recursing" msgstr "hiển thị cây khi đệ quy" -#: builtin/ls-tree.c:132 +#: builtin/ls-tree.c:133 msgid "terminate entries with NUL byte" msgstr "chấm dứt mục tin vá»›i byte NUL" -#: builtin/ls-tree.c:133 +#: builtin/ls-tree.c:134 msgid "include object size" msgstr "gồm cả kÃch thÆ°á»›c đối tượng" -#: builtin/ls-tree.c:135 builtin/ls-tree.c:137 +#: builtin/ls-tree.c:136 builtin/ls-tree.c:138 msgid "list only filenames" msgstr "chỉ liệt kê tên táºp tin" -#: builtin/ls-tree.c:140 +#: builtin/ls-tree.c:141 msgid "use full path names" msgstr "dùng tên Ä‘Æ°á»ng dẫn đầy đủ" -#: builtin/ls-tree.c:142 +#: builtin/ls-tree.c:143 msgid "list entire tree; not just current directory (implies --full-name)" msgstr "liệt kê cây mục tin; không chỉ thÆ° mục hiện hà nh (ngụ ý --full-name)" @@ -6569,7 +6765,7 @@ msgstr "bá» qua nếu fast-forward không thể được" msgid "Verify that the named commit has a valid GPG signature" msgstr "Thẩm tra xem lần chuyển giao có tên đó có chữ ký GPG hợp lệ hay không" -#: builtin/merge.c:219 builtin/notes.c:738 builtin/revert.c:114 +#: builtin/merge.c:219 builtin/notes.c:738 builtin/revert.c:89 msgid "strategy" msgstr "chiến lược" @@ -6950,76 +7146,87 @@ msgstr "cho phép thiếu đối tượng" msgid "allow creation of more than one tree" msgstr "cho phép tạo nhiá»u hÆ¡n má»™t cây" -#: builtin/mv.c:14 +#: builtin/mv.c:15 msgid "git mv [options] <source>... <destination>" msgstr "git mv [các-tùy-chá»n] <nguồn>... <Ä‘Ãch>" -#: builtin/mv.c:64 +#: builtin/mv.c:67 msgid "force move/rename even if target exists" msgstr "ép buá»™c di chuyển hay đổi tên tháºm chà cả khi Ä‘Ãch đã tồn tại" -#: builtin/mv.c:65 +#: builtin/mv.c:68 msgid "skip move/rename errors" msgstr "bá» qua các lá»—i liên quan đến di chuyển, đổi tên" -#: builtin/mv.c:108 +#: builtin/mv.c:113 #, c-format msgid "Checking rename of '%s' to '%s'\n" msgstr "Äang kiểm tra việc đổi tên của “%s†thà nh “%sâ€\n" -#: builtin/mv.c:112 +#: builtin/mv.c:117 msgid "bad source" msgstr "nguồn sai" -#: builtin/mv.c:115 +#: builtin/mv.c:120 msgid "can not move directory into itself" msgstr "không thể di chuyển má»™t thÆ° mục và o trong chÃnh nó được" -#: builtin/mv.c:118 +#: builtin/mv.c:123 msgid "cannot move directory over file" msgstr "không di chuyển được thÆ° mục thông qua táºp tin" -#: builtin/mv.c:128 +#: builtin/mv.c:129 +#, c-format +msgid "Huh? Directory %s is in index and no submodule?" +msgstr "Hả? ThÆ° mục “%s†trong chỉ mục và không mô-Ä‘un con?" + +#: builtin/mv.c:131 builtin/rm.c:318 +msgid "Please, stage your changes to .gitmodules or stash them to proceed" +msgstr "" +"Hãy lÆ°u các thay đổi của bạn và o “.gitmodules†hay ghi và o vùng nhá»› tạm " +"(stash) chúng để xá» lý" + +#: builtin/mv.c:147 #, c-format msgid "Huh? %.*s is in index?" msgstr "Hả? %.*s trong bảng mục lục à ?" -#: builtin/mv.c:140 +#: builtin/mv.c:159 msgid "source directory is empty" msgstr "thÆ° mục nguồn là trống rá»—ng" -#: builtin/mv.c:171 +#: builtin/mv.c:191 msgid "not under version control" msgstr "không nằm dÆ°á»›i sá»± quản lý mã nguồn" -#: builtin/mv.c:173 +#: builtin/mv.c:193 msgid "destination exists" msgstr "Ä‘Ãch đã tồn tại sẵn rồi" -#: builtin/mv.c:181 +#: builtin/mv.c:201 #, c-format msgid "overwriting '%s'" msgstr "Ä‘ang ghi đè lên “%sâ€" -#: builtin/mv.c:184 +#: builtin/mv.c:204 msgid "Cannot overwrite" msgstr "Không thể ghi đè" -#: builtin/mv.c:187 +#: builtin/mv.c:207 msgid "multiple sources for the same target" msgstr "Nhiá»u nguồn cho cùng má»™t Ä‘Ãch" -#: builtin/mv.c:202 +#: builtin/mv.c:222 #, c-format msgid "%s, source=%s, destination=%s" msgstr "%s, nguồn=%s, Ä‘Ãch=%s" -#: builtin/mv.c:212 +#: builtin/mv.c:232 #, c-format msgid "Renaming %s to %s\n" msgstr "Äổi tên %s thà nh %s\n" -#: builtin/mv.c:215 builtin/remote.c:731 +#: builtin/mv.c:235 builtin/remote.c:731 builtin/repack.c:330 #, c-format msgid "renaming '%s' failed" msgstr "đổi tên %s gặp lá»—i" @@ -7058,8 +7265,8 @@ msgid "read from stdin" msgstr "Ä‘á»c từ đầu và o tiêu chuẩn" #: builtin/name-rev.c:320 -msgid "allow to print `undefined` names" -msgstr "cho phép hiển thị các tên “chÆ°a định nghÄ©a“" +msgid "allow to print `undefined` names (default)" +msgstr "cho phép in các tên “chÆ°a định nghÄ©a†(mặc định)" #: builtin/name-rev.c:326 msgid "dereference tags in the input (internal use)" @@ -7213,12 +7420,12 @@ msgstr "không thể ghi đối tượng ghi chú (note)" msgid "The note contents has been left in %s" msgstr "Ná»™i dung ghi chú còn lại %s" -#: builtin/notes.c:248 builtin/tag.c:540 +#: builtin/notes.c:248 builtin/tag.c:537 #, c-format msgid "cannot read '%s'" msgstr "không thể Ä‘á»c “%sâ€" -#: builtin/notes.c:250 builtin/tag.c:543 +#: builtin/notes.c:250 builtin/tag.c:540 #, c-format msgid "could not open or read '%s'" msgstr "không thể mở hay Ä‘á»c “%sâ€" @@ -7226,7 +7433,7 @@ msgstr "không thể mở hay Ä‘á»c “%sâ€" #: builtin/notes.c:269 builtin/notes.c:316 builtin/notes.c:318 #: builtin/notes.c:378 builtin/notes.c:432 builtin/notes.c:515 #: builtin/notes.c:520 builtin/notes.c:595 builtin/notes.c:637 -#: builtin/notes.c:839 builtin/tag.c:556 +#: builtin/notes.c:839 builtin/tag.c:553 #, c-format msgid "Failed to resolve '%s' as a valid ref." msgstr "Gặp lá»—i khi phân giải “%s†nhÆ° là má»™t tham chiếu (ref) hợp lệ." @@ -7239,7 +7446,7 @@ msgstr "Gặp lá»—i khi Ä‘á»c đối tượng “%sâ€." #: builtin/notes.c:312 #, c-format msgid "Malformed input line: '%s'." -msgstr "Dòng nháºp và o dị hình: “%sâ€." +msgstr "Dòng đầu và o dị hình: “%sâ€." #: builtin/notes.c:327 #, c-format @@ -7403,149 +7610,149 @@ msgstr "" "git pack-objects [các-tùy-chá»n...] base-name [< danh-sách-ref | < danh-sách-" "đối-tượng]" -#: builtin/pack-objects.c:183 builtin/pack-objects.c:186 +#: builtin/pack-objects.c:184 builtin/pack-objects.c:187 #, c-format msgid "deflate error (%d)" msgstr "lá»—i giải nén (%d)" -#: builtin/pack-objects.c:2397 +#: builtin/pack-objects.c:2398 #, c-format msgid "unsupported index version %s" msgstr "phiên bản mục lục không được há»— trợ %s" -#: builtin/pack-objects.c:2401 +#: builtin/pack-objects.c:2402 #, c-format msgid "bad index version '%s'" msgstr "phiên bản mục lục sai “%sâ€" -#: builtin/pack-objects.c:2424 +#: builtin/pack-objects.c:2425 #, c-format msgid "option %s does not accept negative form" msgstr "tùy chá»n %s không chấp nháºn dạng thức âm" -#: builtin/pack-objects.c:2428 +#: builtin/pack-objects.c:2429 #, c-format msgid "unable to parse value '%s' for option %s" msgstr "không thể phân tÃch giá trị “%s†cho tùy chá»n %s" -#: builtin/pack-objects.c:2447 +#: builtin/pack-objects.c:2448 msgid "do not show progress meter" msgstr "không hiển thị bá»™ Ä‘o tiến trình" -#: builtin/pack-objects.c:2449 +#: builtin/pack-objects.c:2450 msgid "show progress meter" msgstr "hiển thị bá»™ Ä‘o tiến trình" -#: builtin/pack-objects.c:2451 +#: builtin/pack-objects.c:2452 msgid "show progress meter during object writing phase" msgstr "hiển thị bá»™ Ä‘o tiến triển trong suốt pha ghi đối tượng" -#: builtin/pack-objects.c:2454 +#: builtin/pack-objects.c:2455 msgid "similar to --all-progress when progress meter is shown" msgstr "tÆ°Æ¡ng tá»± --all-progress khi bá»™ Ä‘o tiến trình được xuất hiện" -#: builtin/pack-objects.c:2455 +#: builtin/pack-objects.c:2456 msgid "version[,offset]" msgstr "phiên bản[,offset]" -#: builtin/pack-objects.c:2456 +#: builtin/pack-objects.c:2457 msgid "write the pack index file in the specified idx format version" msgstr "ghi táºp tin bảng mục lục gói (pack) ở phiên bản định dạng idx đã cho" -#: builtin/pack-objects.c:2459 +#: builtin/pack-objects.c:2460 msgid "maximum size of each output pack file" msgstr "kcÃh thÆ°á»›c tối Ä‘a cho táºp tin gói được tạo" -#: builtin/pack-objects.c:2461 +#: builtin/pack-objects.c:2462 msgid "ignore borrowed objects from alternate object store" msgstr "bá» qua các đối tượng vay mượn từ kho đối tượng thay thế" -#: builtin/pack-objects.c:2463 +#: builtin/pack-objects.c:2464 msgid "ignore packed objects" msgstr "bá» qua các đối tượng đóng gói" -#: builtin/pack-objects.c:2465 +#: builtin/pack-objects.c:2466 msgid "limit pack window by objects" msgstr "giá»›i hạn cá»a sổ đóng gói theo đối tượng" -#: builtin/pack-objects.c:2467 +#: builtin/pack-objects.c:2468 msgid "limit pack window by memory in addition to object limit" msgstr "giá»›i hạn cá»a sổ đóng gói theo bá»™ nhá»› cá»™ng thêm vá»›i giá»›i hạn đối tượng" -#: builtin/pack-objects.c:2469 +#: builtin/pack-objects.c:2470 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "Ä‘á»™ dà i tối Ä‘a của chuá»—i móc xÃch “delta†được phép trong gói kết quả" -#: builtin/pack-objects.c:2471 +#: builtin/pack-objects.c:2472 msgid "reuse existing deltas" msgstr "dùng lại các delta sẵn có" -#: builtin/pack-objects.c:2473 +#: builtin/pack-objects.c:2474 msgid "reuse existing objects" msgstr "dùng lại các đối tượng sẵn có" -#: builtin/pack-objects.c:2475 +#: builtin/pack-objects.c:2476 msgid "use OFS_DELTA objects" msgstr "dùng các đối tượng OFS_DELTA" -#: builtin/pack-objects.c:2477 +#: builtin/pack-objects.c:2478 msgid "use threads when searching for best delta matches" msgstr "sá» dụng các tuyến trình khi tìm kiếm cho các mẫu khá»›p delta tốt nhất" -#: builtin/pack-objects.c:2479 +#: builtin/pack-objects.c:2480 msgid "do not create an empty pack output" msgstr "không thể tạo kết xuất gói (pack) trống rá»—ng" -#: builtin/pack-objects.c:2481 +#: builtin/pack-objects.c:2482 msgid "read revision arguments from standard input" msgstr " Ä‘á»c tham số “revision†từ thiết bị nháºp chuẩn" -#: builtin/pack-objects.c:2483 +#: builtin/pack-objects.c:2484 msgid "limit the objects to those that are not yet packed" msgstr "giá»›i hạn các đối tượng thà nh những cái mà chúng vẫn chÆ°a được đóng gói" -#: builtin/pack-objects.c:2486 +#: builtin/pack-objects.c:2487 msgid "include objects reachable from any reference" msgstr "bao gồm các đối tượng có thể Ä‘á»c được từ bất kỳ tham chiếu nà o" -#: builtin/pack-objects.c:2489 +#: builtin/pack-objects.c:2490 msgid "include objects referred by reflog entries" msgstr "bao gồm các đối tượng được tham chiếu bởi các mục reflog" -#: builtin/pack-objects.c:2492 +#: builtin/pack-objects.c:2493 msgid "output pack to stdout" msgstr "xuất gói ra đầu ra tiêu chuẩn" -#: builtin/pack-objects.c:2494 +#: builtin/pack-objects.c:2495 msgid "include tag objects that refer to objects to be packed" msgstr "bao gồm các đối tượng tham chiếu đến các đối tượng được đóng gói" -#: builtin/pack-objects.c:2496 +#: builtin/pack-objects.c:2497 msgid "keep unreachable objects" msgstr "giữ lại các đối tượng không thể Ä‘á»c được" -#: builtin/pack-objects.c:2497 parse-options.h:141 +#: builtin/pack-objects.c:2498 parse-options.h:143 msgid "time" msgstr "thá»i-gian" -#: builtin/pack-objects.c:2498 +#: builtin/pack-objects.c:2499 msgid "unpack unreachable objects newer than <time>" msgstr "" "xả nén (gỡ khá»i gói) các đối tượng không thể Ä‘á»c được má»›i hÆ¡n <thá»i-gian>" -#: builtin/pack-objects.c:2501 +#: builtin/pack-objects.c:2502 msgid "create thin packs" msgstr "tạo gói nhẹ" -#: builtin/pack-objects.c:2503 +#: builtin/pack-objects.c:2504 msgid "ignore packs that have companion .keep file" msgstr "bá» qua các gói mà nó có táºp tin .keep Ä‘i kèm" -#: builtin/pack-objects.c:2505 +#: builtin/pack-objects.c:2506 msgid "pack compression level" msgstr "mức nén gói" -#: builtin/pack-objects.c:2507 +#: builtin/pack-objects.c:2508 msgid "do not hide commits by grafts" msgstr "không ẩn các lần chuyển giao bởi “graftsâ€" @@ -7585,15 +7792,15 @@ msgstr "các đối tượng hết hạn cÅ© hÆ¡n khoảng <thá»i gian>" msgid "git push [<options>] [<repository> [<refspec>...]]" msgstr "git push [<các-tùy-chá»n>] [<kho-chứa> [<refspec>...]]" -#: builtin/push.c:45 +#: builtin/push.c:47 msgid "tag shorthand without <tag>" msgstr "dùng tốc ký tag không có <thẻ>" -#: builtin/push.c:64 +#: builtin/push.c:66 msgid "--delete only accepts plain target ref names" msgstr "--delete chỉ chấp nháºn các tên tham chiếu (ref) dạng thÆ°á»ng" -#: builtin/push.c:99 +#: builtin/push.c:101 msgid "" "\n" "To choose either option permanently, see push.default in 'git help config'." @@ -7602,7 +7809,7 @@ msgstr "" "Äể chá»n má»—i tùy chá»n má»™t cách cố định, xem push.default trong “git help " "configâ€." -#: builtin/push.c:102 +#: builtin/push.c:104 #, c-format msgid "" "The upstream branch of your current branch does not match\n" @@ -7627,7 +7834,7 @@ msgstr "" " git push %s %s\n" "%s" -#: builtin/push.c:117 +#: builtin/push.c:119 #, c-format msgid "" "You are not currently on a branch.\n" @@ -7642,7 +7849,7 @@ msgstr "" "\n" " git push %s HEAD:<tên-của-nhánh-máy-chủ>\n" -#: builtin/push.c:131 +#: builtin/push.c:133 #, c-format msgid "" "The current branch %s has no upstream branch.\n" @@ -7656,12 +7863,12 @@ msgstr "" "\n" " git push --set-upstream %s %s\n" -#: builtin/push.c:139 +#: builtin/push.c:141 #, c-format msgid "The current branch %s has multiple upstream branches, refusing to push." msgstr "Nhánh hiện tại %s có Ä‘a nhánh thượng nguồn (upstream), từ chối push." -#: builtin/push.c:142 +#: builtin/push.c:144 #, c-format msgid "" "You are pushing to remote '%s', which is not the upstream of\n" @@ -7673,7 +7880,7 @@ msgstr "" "nhánh hiện tại “%s†của bạn, mà không báo cho tôi biết là cái gì được push\n" "để cáºp nháºt nhánh máy chủ nà o." -#: builtin/push.c:165 +#: builtin/push.c:167 msgid "" "push.default is unset; its implicit value is changing in\n" "Git 2.0 from 'matching' to 'simple'. To squelch this message\n" @@ -7706,14 +7913,14 @@ msgstr "" "tá»±\n" "“current†thay vì “simple†nếu bạn thỉnh thoảng phải sá» dụng bản Git cÅ©)" -#: builtin/push.c:225 +#: builtin/push.c:227 msgid "" "You didn't specify any refspecs to push, and push.default is \"nothing\"." msgstr "" "Bạn đã không chỉ ra má»™t refspecs nà o để push, và push.default là \"không là " "gì cả\"." -#: builtin/push.c:232 +#: builtin/push.c:234 msgid "" "Updates were rejected because the tip of your current branch is behind\n" "its remote counterpart. Integrate the remote changes (e.g.\n" @@ -7727,7 +7934,7 @@ msgstr "" "Xem “Note about fast-forwards†từ lệnh “git push --help†để có thông tin chi " "tiết." -#: builtin/push.c:238 +#: builtin/push.c:240 msgid "" "Updates were rejected because a pushed branch tip is behind its remote\n" "counterpart. If you did not intend to push that branch, you may want to\n" @@ -7742,7 +7949,7 @@ msgstr "" "thà nh “simpleâ€, “current†hoặc “upstream†để chỉ push nhánh hiện hà nh mà " "thôi." -#: builtin/push.c:244 +#: builtin/push.c:246 msgid "" "Updates were rejected because a pushed branch tip is behind its remote\n" "counterpart. Check out this branch and integrate the remote changes\n" @@ -7756,7 +7963,7 @@ msgstr "" "Xem “Note about fast-forwards†từ lệnh “git push --help†để có thông tin chi " "tiết." -#: builtin/push.c:250 +#: builtin/push.c:252 msgid "" "Updates were rejected because the remote contains work that you do\n" "not have locally. This is usually caused by another repository pushing\n" @@ -7771,11 +7978,11 @@ msgstr "" "Xem “Note about fast-forwards†từ lệnh “git push --help†để có thông tin chi " "tiết." -#: builtin/push.c:257 +#: builtin/push.c:259 msgid "Updates were rejected because the tag already exists in the remote." msgstr "Việc cáºp nháºt bị từ chối bởi vì thẻ đã sẵn có từ trÆ°á»›c trên máy chủ." -#: builtin/push.c:260 +#: builtin/push.c:262 msgid "" "You cannot update a remote ref that points at a non-commit object,\n" "or update a remote ref to make it point at a non-commit object,\n" @@ -7787,22 +7994,22 @@ msgstr "" "tượng\n" "không phải chuyển giao, mà không sá» dụng tùy chá»n “--forceâ€.\n" -#: builtin/push.c:320 +#: builtin/push.c:328 #, c-format msgid "Pushing to %s\n" msgstr "Äang push (đẩy) lên %s\n" -#: builtin/push.c:324 +#: builtin/push.c:332 #, c-format msgid "failed to push some refs to '%s'" msgstr "gặp lá»—i khi push (đẩy lên) má»™t số tham chiếu (ref) đến “%sâ€" -#: builtin/push.c:357 +#: builtin/push.c:365 #, c-format msgid "bad repository '%s'" msgstr "repository (kho) sai “%sâ€" -#: builtin/push.c:358 +#: builtin/push.c:366 msgid "" "No configured push destination.\n" "Either specify the URL from the command-line or configure a remote " @@ -7823,88 +8030,96 @@ msgstr "" "\n" " git push <tên>\n" -#: builtin/push.c:373 +#: builtin/push.c:381 msgid "--all and --tags are incompatible" msgstr "--all và --tags xung khắc nhau" -#: builtin/push.c:374 +#: builtin/push.c:382 msgid "--all can't be combined with refspecs" -msgstr "--all không thể được tổ hợp cùng vá»›i refspecs" +msgstr "--all không thể được tổ hợp cùng vá»›i đặc tả Ä‘Æ°á»ng dẫn" -#: builtin/push.c:379 +#: builtin/push.c:387 msgid "--mirror and --tags are incompatible" msgstr "--mirror và --tags xung khắc nhau" -#: builtin/push.c:380 +#: builtin/push.c:388 msgid "--mirror can't be combined with refspecs" -msgstr "--mirror không thể được tổ hợp cùng vá»›i refspecs" +msgstr "--mirror không thể được tổ hợp cùng vá»›i đặc tả Ä‘Æ°á»ng dẫn" -#: builtin/push.c:385 +#: builtin/push.c:393 msgid "--all and --mirror are incompatible" msgstr "--all và --mirror xung khắc nhau" -#: builtin/push.c:445 +#: builtin/push.c:453 msgid "repository" msgstr "kho" -#: builtin/push.c:446 +#: builtin/push.c:454 msgid "push all refs" msgstr "push tất cả refs" -#: builtin/push.c:447 +#: builtin/push.c:455 msgid "mirror all refs" -msgstr "mirror tất cả refs" +msgstr "mirror tất cả các tham chiếu" -#: builtin/push.c:449 +#: builtin/push.c:457 msgid "delete refs" msgstr "xóa refs" -#: builtin/push.c:450 +#: builtin/push.c:458 msgid "push tags (can't be used with --all or --mirror)" msgstr "" "các thẻ push (không thể sá» dụng cùng vá»›i các tùy chá»n --all hay --mirror)" -#: builtin/push.c:453 +#: builtin/push.c:461 msgid "force updates" msgstr "ép buá»™c cáºp nháºt" -#: builtin/push.c:454 +#: builtin/push.c:463 +msgid "refname>:<expect" +msgstr "tên-tham-chiếu>:<cần" + +#: builtin/push.c:464 +msgid "require old value of ref to be at this value" +msgstr "yêu cầu giá-trị cÅ© của tham chiếu thì là giá-trị nà y" + +#: builtin/push.c:466 msgid "check" msgstr "kiểm tra" -#: builtin/push.c:455 +#: builtin/push.c:467 msgid "control recursive pushing of submodules" msgstr "Ä‘iá»u khiển việc đẩy lên (push) đệ qui của mô-Ä‘un-con" -#: builtin/push.c:457 +#: builtin/push.c:469 msgid "use thin pack" msgstr "tạo gói nhẹ" -#: builtin/push.c:458 builtin/push.c:459 +#: builtin/push.c:470 builtin/push.c:471 msgid "receive pack program" msgstr "nháºn vá» chÆ°Æ¡ng trình pack" -#: builtin/push.c:460 +#: builtin/push.c:472 msgid "set upstream for git pull/status" msgstr "đặt thượng nguồn (upstream) cho git pull/status" -#: builtin/push.c:463 +#: builtin/push.c:475 msgid "prune locally removed refs" msgstr "prune (cắt cụt) những tham chiếu (refs) bị gỡ bá»" -#: builtin/push.c:465 +#: builtin/push.c:477 msgid "bypass pre-push hook" msgstr "vòng qua “pre-push hookâ€" -#: builtin/push.c:466 +#: builtin/push.c:478 msgid "push missing but relevant tags" msgstr "push bị trượt nhÆ°ng các thẻ thÃch hợp" -#: builtin/push.c:476 +#: builtin/push.c:488 msgid "--delete is incompatible with --all, --mirror and --tags" msgstr "--delete là xung khắc vá»›i các tùy chá»n --all, --mirror và --tags" -#: builtin/push.c:478 +#: builtin/push.c:490 msgid "--delete doesn't make sense without any refs" msgstr "--delete không hợp lý nếu không có bất kỳ tham chiếu (refs) nà o" @@ -7982,14 +8197,14 @@ msgstr "bá» qua áp dụng bá»™ lá»c lấy ra (checkout) thÆ°a thá»›t" #: builtin/read-tree.c:138 msgid "debug unpack-trees" -msgstr "gỡ lá»—i unpack-trees" +msgstr "gỡ lá»—i “unpack-treesâ€" -#: builtin/reflog.c:500 +#: builtin/reflog.c:499 #, c-format msgid "%s' for '%s' is not a valid timestamp" -msgstr "%s' cho '%s' không phải là dấu thá»i gian hợp lệ" +msgstr "giá trị %s dà nh cho “%s†không phải là dấu thá»i gian hợp lệ" -#: builtin/reflog.c:616 builtin/reflog.c:621 +#: builtin/reflog.c:615 builtin/reflog.c:620 #, c-format msgid "'%s' is not a valid timestamp" msgstr "“%s†không phải là dấu thá»i gian hợp lệ" @@ -8014,9 +8229,9 @@ msgstr "git remote rename <tên-cÅ©> <tên-má»›i>" msgid "git remote remove <name>" msgstr "git remote remove <tên>" -#: builtin/remote.c:15 builtin/remote.c:42 -msgid "git remote set-head <name> (-a | -d | <branch>)" -msgstr "git remote set-head <tên> (-a | -d | <nhánh>)" +#: builtin/remote.c:15 +msgid "git remote set-head <name> (-a | --auto | -d | --delete |<branch>)" +msgstr "git remote set-head <tên> (-a | --auto | -d | --delete | <nhánh>)" #: builtin/remote.c:16 msgid "git remote [-v | --verbose] show [-n] <name>" @@ -8052,6 +8267,10 @@ msgstr "git remote set-url --delete <tên> <url>" msgid "git remote add [<options>] <name> <url>" msgstr "git remote add [<các-tùy-chá»n>] <tên> <url>" +#: builtin/remote.c:42 +msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)" +msgstr "git remote set-head <tên> (-a | --auto | -d | --delete | <nhánh>)" + #: builtin/remote.c:47 msgid "git remote set-branches <name> <branch>..." msgstr "git remote set-branches <tên> <nhánh>..." @@ -8150,7 +8369,7 @@ msgstr "nhiá»u hÆ¡n má»™t %s" #: builtin/remote.c:339 #, c-format msgid "Could not get fetch map for refspec %s" -msgstr "Không thể lấy ánh xạ (map) fetch cho refspec %s" +msgstr "Không thể lấy ánh xạ (map) fetch cho đặc tả tham chiếu %s" #: builtin/remote.c:440 builtin/remote.c:448 msgid "(matching)" @@ -8242,7 +8461,7 @@ msgstr " được theo vết" #: builtin/remote.c:948 msgid " stale (use 'git remote prune' to remove)" -msgstr " cÅ© (dùng “git remote prune†để gỡ bá»)" +msgstr " cÅ© rÃch (dùng “git remote prune†để gỡ bá»)" #: builtin/remote.c:950 msgid " ???" @@ -8490,6 +8709,67 @@ msgstr "Sẽ không xóa những địa chỉ URL không-push" msgid "be verbose; must be placed before a subcommand" msgstr "chi tiết; phải được đặt trÆ°á»›c má»™t lệnh-con" +#: builtin/repack.c:15 +msgid "git repack [options]" +msgstr "git repack [các-tùy-chá»n]" + +#: builtin/repack.c:143 +msgid "pack everything in a single pack" +msgstr "đóng gói má»i thứ trong má»™t gói Ä‘Æ¡n" + +#: builtin/repack.c:145 +msgid "same as -a, and turn unreachable objects loose" +msgstr "giống vá»›i -a, và chỉnh sá»a các đối tượng không Ä‘á»c được thiếu sót" + +#: builtin/repack.c:148 +msgid "remove redundant packs, and run git-prune-packed" +msgstr "xóa bá» các gói dÆ° thừa, và chạy git-prune-packed" + +#: builtin/repack.c:150 +msgid "pass --no-reuse-delta to git-pack-objects" +msgstr "chuyển --no-reuse-delta cho git-pack-objects" + +#: builtin/repack.c:152 +msgid "pass --no-reuse-object to git-pack-objects" +msgstr "chuyển --no-reuse-object cho git-pack-objects" + +#: builtin/repack.c:154 +msgid "do not run git-update-server-info" +msgstr "không chạy git-update-server-info" + +#: builtin/repack.c:157 +msgid "pass --local to git-pack-objects" +msgstr "chuyển --local cho git-pack-objects" + +#: builtin/repack.c:158 +msgid "approxidate" +msgstr "ngà y Æ°á»›c tÃnh" + +#: builtin/repack.c:159 +msgid "with -A, do not loosen objects older than this" +msgstr "vá»›i -A, các đối tượng cÅ© hÆ¡n khoảng thá»i gian nà y thì không bị mất" + +#: builtin/repack.c:161 +msgid "size of the window used for delta compression" +msgstr "kÃch thÆ°á»›c cá»a sổ được dùng cho nén “deltaâ€" + +#: builtin/repack.c:163 +msgid "same as the above, but limit memory size instead of entries count" +msgstr "giống nhÆ° trên, nhÆ°ng giá»›i hạn kÃch thÆ°á»›c bá»™ nhá»› hay vì số lượng" + +#: builtin/repack.c:165 +msgid "limits the maximum delta depth" +msgstr "giá»›i hạn Ä‘á»™ sâu tối Ä‘a của “deltaâ€" + +#: builtin/repack.c:167 +msgid "maximum size of each packfile" +msgstr "kcÃh thÆ°á»›c tối Ä‘a cho từng táºp tin gói" + +#: builtin/repack.c:345 +#, c-format +msgid "removing '%s' failed" +msgstr "gặp lá»—i khi xóa bỠ“%sâ€" + #: builtin/replace.c:17 msgid "git replace [-f] <object> <replacement>" msgstr "git replace [-f] <đối-tượng> <thay-thế>" @@ -8502,23 +8782,23 @@ msgstr "git replace -d <đối tượng>..." msgid "git replace -l [<pattern>]" msgstr "git replace -l [<mẫu>]" -#: builtin/replace.c:121 +#: builtin/replace.c:131 msgid "list replace refs" msgstr "liệt kê các refs thay thế" -#: builtin/replace.c:122 +#: builtin/replace.c:132 msgid "delete replace refs" msgstr "xóa tham chiếu (refs) thay thế" -#: builtin/replace.c:123 +#: builtin/replace.c:133 msgid "replace the ref if it exists" msgstr "thay thế tham chiếu (ref) nếu nó đã sẵn có" -#: builtin/rerere.c:11 +#: builtin/rerere.c:12 msgid "git rerere [clear | forget path... | status | remaining | diff | gc]" msgstr "git rerere [clear | forget path... | status | remaining | diff | gc]" -#: builtin/rerere.c:56 +#: builtin/rerere.c:57 msgid "register clean resolutions in index" msgstr "sổ ghi dá»n sạch các phân giải trong bản mục lục" @@ -8579,71 +8859,71 @@ msgstr "HEAD hiện giá» tại %s" msgid "Cannot do a %s reset in the middle of a merge." msgstr "Không thể thá»±c hiện má»™t %s reset ở giữa của quá trình hòa trá»™n." -#: builtin/reset.c:251 +#: builtin/reset.c:262 msgid "be quiet, only report errors" msgstr "là m việc ở chế Ä‘á»™ im lặng, chỉ hiển thị khi có lá»—i" -#: builtin/reset.c:253 +#: builtin/reset.c:264 msgid "reset HEAD and index" msgstr "đặt lại (reset) HEAD và bảng mục lục" -#: builtin/reset.c:254 +#: builtin/reset.c:265 msgid "reset only HEAD" msgstr "chỉ đặt lại (reset) HEAD" -#: builtin/reset.c:256 builtin/reset.c:258 +#: builtin/reset.c:267 builtin/reset.c:269 msgid "reset HEAD, index and working tree" msgstr "đặt lại HEAD, bảng mục lục và cây là m việc" -#: builtin/reset.c:260 +#: builtin/reset.c:271 msgid "reset HEAD but keep local changes" msgstr "đặt lại HEAD nhÆ°ng giữ lại các thay đổi ná»™i bá»™" -#: builtin/reset.c:278 +#: builtin/reset.c:289 #, c-format msgid "Failed to resolve '%s' as a valid revision." msgstr "Gặp lá»—i khi phân giải “%s†nhÆ° là điểm xét duyệt hợp lệ." -#: builtin/reset.c:281 builtin/reset.c:289 +#: builtin/reset.c:292 builtin/reset.c:300 #, c-format msgid "Could not parse object '%s'." msgstr "không thể phân tÃch đối tượng “%sâ€." -#: builtin/reset.c:286 +#: builtin/reset.c:297 #, c-format msgid "Failed to resolve '%s' as a valid tree." msgstr "Gặp lá»—i khi phân giải “%s†nhÆ° là má»™t cây (tree) hợp lệ." -#: builtin/reset.c:295 +#: builtin/reset.c:306 msgid "--patch is incompatible with --{hard,mixed,soft}" msgstr "--patch xung khắc vá»›i --{hard,mixed,soft}" -#: builtin/reset.c:304 +#: builtin/reset.c:315 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead." msgstr "" "--mixed vá»›i các Ä‘Æ°á»ng dẫn không còn dùng nữa; hãy thay thế bằng lệnh “git " "reset -- <Ä‘Æ°á»ng_dẫn>â€." -#: builtin/reset.c:306 +#: builtin/reset.c:317 #, c-format msgid "Cannot do %s reset with paths." msgstr "Không thể thá»±c hiện lệnh %s reset vá»›i các Ä‘Æ°á»ng dẫn." -#: builtin/reset.c:316 +#: builtin/reset.c:327 #, c-format msgid "%s reset is not allowed in a bare repository" msgstr "%s reset không được phép trên kho bare (trên máy chủ)" -#: builtin/reset.c:336 +#: builtin/reset.c:344 +msgid "Unstaged changes after reset:" +msgstr "Những thay đổi bị bá» trạng thái (stage) sau khi reset:" + +#: builtin/reset.c:350 #, c-format msgid "Could not reset index file to revision '%s'." msgstr "Không thể đặt lại (reset) bảng mục lục thà nh Ä‘iểm xét duyệt “%sâ€." -#: builtin/reset.c:342 -msgid "Unstaged changes after reset:" -msgstr "Những thay đổi bị bá» trạng thái (stage) sau khi reset:" - -#: builtin/reset.c:347 +#: builtin/reset.c:355 msgid "Could not write new index file." msgstr "Không thể ghi táºp tin lÆ°u bảng mục lục má»›i." @@ -8689,84 +8969,84 @@ msgstr "git cherry-pick [các-tùy-chá»n] <commit-ish>..." msgid "git cherry-pick <subcommand>" msgstr "git cherry-pick <lệnh-con>" -#: builtin/revert.c:71 builtin/revert.c:94 +#: builtin/revert.c:71 #, c-format msgid "%s: %s cannot be used with %s" msgstr "%s: %s không thể được sá» dụng vá»›i %s" -#: builtin/revert.c:105 +#: builtin/revert.c:80 msgid "end revert or cherry-pick sequence" msgstr "kết thúc cherry-pick hay revert liên tiếp nhau" -#: builtin/revert.c:106 +#: builtin/revert.c:81 msgid "resume revert or cherry-pick sequence" msgstr "phục hồi lại cherry-pick hay revert liên tiếp nhau" -#: builtin/revert.c:107 +#: builtin/revert.c:82 msgid "cancel revert or cherry-pick sequence" msgstr "không cherry-pick hay revert liên tiếp nhau" -#: builtin/revert.c:108 +#: builtin/revert.c:83 msgid "don't automatically commit" msgstr "không commit má»™t cách tá»± Ä‘á»™ng." -#: builtin/revert.c:109 +#: builtin/revert.c:84 msgid "edit the commit message" msgstr "sá»a lại chú thÃch cho commit" -#: builtin/revert.c:112 +#: builtin/revert.c:87 msgid "parent number" msgstr "số của cha mẹ" -#: builtin/revert.c:114 +#: builtin/revert.c:89 msgid "merge strategy" msgstr "chiến lược hòa trá»™n" -#: builtin/revert.c:115 +#: builtin/revert.c:90 msgid "option" msgstr "tùy chá»n" -#: builtin/revert.c:116 +#: builtin/revert.c:91 msgid "option for merge strategy" msgstr "tùy chá»n cho chiến lược hòa trá»™n" -#: builtin/revert.c:127 +#: builtin/revert.c:102 msgid "append commit name" msgstr "nối thêm tên lần chuyển giao (commit)" -#: builtin/revert.c:128 +#: builtin/revert.c:103 msgid "allow fast-forward" msgstr "cho phép fast-forward" -#: builtin/revert.c:129 +#: builtin/revert.c:104 msgid "preserve initially empty commits" msgstr "cấm khởi tạo lần chuyển giao trống rá»—ng" -#: builtin/revert.c:130 +#: builtin/revert.c:105 msgid "allow commits with empty messages" msgstr "chấp nháºn chuyển giao (commit) mà không ghi chú gì" -#: builtin/revert.c:131 +#: builtin/revert.c:106 msgid "keep redundant, empty commits" msgstr "giữ lại các lần chuyển giao dÆ° thừa, rá»—ng" -#: builtin/revert.c:135 +#: builtin/revert.c:110 msgid "program error" msgstr "lá»—i chÆ°Æ¡ng trình" -#: builtin/revert.c:225 +#: builtin/revert.c:195 msgid "revert failed" msgstr "revert gặp lá»—i" -#: builtin/revert.c:240 +#: builtin/revert.c:210 msgid "cherry-pick failed" msgstr "cherry-pick gặp lá»—i" -#: builtin/rm.c:16 +#: builtin/rm.c:17 msgid "git rm [options] [--] <file>..." msgstr "git rm [các-tùy-chá»n] [--] <táºp-tin>..." -#: builtin/rm.c:64 +#: builtin/rm.c:65 msgid "" "the following submodule (or one of its nested submodules)\n" "uses a .git directory:" @@ -8780,7 +9060,7 @@ msgstr[1] "" "các mô-Ä‘un-con sau đây (hay má»™t trong số mô-Ä‘un-con bên trong của nó)\n" "dùng má»™t thÆ° mục .git:" -#: builtin/rm.c:70 +#: builtin/rm.c:71 msgid "" "\n" "(use 'rm -rf' if you really want to remove it including all of its history)" @@ -8789,7 +9069,7 @@ msgstr "" "(dùng /\"rm -rf/\" nếu bạn thá»±c sá»± muốn gỡ bá» nó cùng vá»›i tất cả lịch sá» của " "chúng)" -#: builtin/rm.c:230 +#: builtin/rm.c:231 msgid "" "the following file has staged content different from both the\n" "file and the HEAD:" @@ -8803,7 +9083,7 @@ msgstr[1] "" "các táºp tin sau đây có trạng thái khác biệt ná»™i dung từ cả táºp tin\n" "và cả HEAD:" -#: builtin/rm.c:235 +#: builtin/rm.c:236 msgid "" "\n" "(use -f to force removal)" @@ -8811,13 +9091,13 @@ msgstr "" "\n" "(dùng -f để buá»™c gỡ bá»)" -#: builtin/rm.c:239 +#: builtin/rm.c:240 msgid "the following file has changes staged in the index:" msgid_plural "the following files have changes staged in the index:" msgstr[0] "táºp tin sau đây có thay đổi trạng thái trong bảng mục lục:" msgstr[1] "các táºp tin sau đây có thay đổi trạng thái trong bảng mục lục:" -#: builtin/rm.c:243 builtin/rm.c:254 +#: builtin/rm.c:244 builtin/rm.c:255 msgid "" "\n" "(use --cached to keep the file, or -f to force removal)" @@ -8825,38 +9105,38 @@ msgstr "" "\n" "(dùng tùy chá»n --cached để giữ táºp tin, hoặc -f để ép buá»™c gỡ bá»)" -#: builtin/rm.c:251 +#: builtin/rm.c:252 msgid "the following file has local modifications:" msgid_plural "the following files have local modifications:" msgstr[0] "táºp tin sau đây có những thay đổi ná»™i bá»™:" msgstr[1] "những táºp tin sau đây có những thay đổi ná»™i bá»™:" -#: builtin/rm.c:269 +#: builtin/rm.c:270 msgid "do not list removed files" msgstr "không liệt kê các táºp tin đã gỡ bá»" -#: builtin/rm.c:270 +#: builtin/rm.c:271 msgid "only remove from the index" msgstr "chỉ gỡ bá» từ mục lục" -#: builtin/rm.c:271 +#: builtin/rm.c:272 msgid "override the up-to-date check" msgstr "ghi đè lên kiểm tra cáºp nháºt" -#: builtin/rm.c:272 +#: builtin/rm.c:273 msgid "allow recursive removal" msgstr "cho phép gỡ bỠđệ qui" -#: builtin/rm.c:274 +#: builtin/rm.c:275 msgid "exit with a zero status even if nothing matched" msgstr "thoát ra vá»›i trạng thái khác không tháºm chà nếu không có gì khá»›p" -#: builtin/rm.c:345 +#: builtin/rm.c:336 #, c-format msgid "not removing '%s' recursively without -r" msgstr "không thể gỡ bỠ“%s†má»™t cách đệ qui mà không có tùy chá»n -r" -#: builtin/rm.c:384 +#: builtin/rm.c:375 #, c-format msgid "git rm: unable to remove %s" msgstr "git rm: không thể gỡ bá» %s" @@ -8870,23 +9150,23 @@ msgstr "git shortlog [các-tùy-chá»n] [<vùng-xét-duyệt>] [[--] [<Ä‘Æ°á»ng msgid "Missing author: %s" msgstr "Thiếu tên tác giả: %s" -#: builtin/shortlog.c:228 +#: builtin/shortlog.c:230 msgid "sort output according to the number of commits per author" msgstr "sắp xếp kết xuất tuân theo số lượng chuyển giao trên má»—i tác giả" -#: builtin/shortlog.c:230 +#: builtin/shortlog.c:232 msgid "Suppress commit descriptions, only provides commit count" msgstr "Chặn má»i mô tả lần chuyển giao, chỉ Ä‘Æ°a ra số lượng lần chuyển giao" -#: builtin/shortlog.c:232 +#: builtin/shortlog.c:234 msgid "Show the email address of each author" msgstr "Hiển thị thÆ° Ä‘iện tá» cho từng tác giả" -#: builtin/shortlog.c:233 +#: builtin/shortlog.c:235 msgid "w[,i1[,i2]]" msgstr "w[,i1[,i2]]" -#: builtin/shortlog.c:234 +#: builtin/shortlog.c:236 msgid "Linewrap output" msgstr "Ngắt dòng khi quá dà i" @@ -8972,11 +9252,11 @@ msgstr "hiển thị <n> các mục “ref-log†gần nhất kể từ ná»n ( #: builtin/show-ref.c:10 msgid "" -"git show-ref [-q|--quiet] [--verify] [--head] [-d|--dereference] [-s|--hash" -"[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [pattern*] " +"git show-ref [-q|--quiet] [--verify] [--head] [-d|--dereference] [-s|--" +"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [pattern*] " msgstr "" -"git show-ref [-q|--quiet] [--verify] [--head] [-d|--dereference] [-s|--hash" -"[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [mẫu*] " +"git show-ref [-q|--quiet] [--verify] [--head] [-d|--dereference] [-s|--" +"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [mẫu*] " #: builtin/show-ref.c:11 msgid "git show-ref --exclude-existing[=pattern] < ref-list" @@ -8996,24 +9276,24 @@ msgstr "" "việc kiểm tra tham chiếu chÃnh xác, đòi há»i chÃnh xác Ä‘Æ°á»ng dẫn tham chiếu " "(ref)" -#: builtin/show-ref.c:173 builtin/show-ref.c:176 +#: builtin/show-ref.c:173 builtin/show-ref.c:175 msgid "show the HEAD reference, even if it would be filtered out" msgstr "hiển thị tham chiếu HEAD, ngay cả khi nó đã được lá»c ra" -#: builtin/show-ref.c:178 +#: builtin/show-ref.c:177 msgid "dereference tags into object IDs" msgstr "bãi bá» tham chiếu các thẻ thà nh ra các ID đối tượng" -#: builtin/show-ref.c:180 +#: builtin/show-ref.c:179 msgid "only show SHA1 hash using <n> digits" msgstr "chỉ hiển thị mã băm SHA1 sá» dụng <n> chữ số" -#: builtin/show-ref.c:184 +#: builtin/show-ref.c:183 msgid "do not print results to stdout (useful with --verify)" msgstr "" "không hiển thị kết quả ra đầu ra chuẩn (stdout) (chỉ hữu dụng vá»›i --verify)" -#: builtin/show-ref.c:186 +#: builtin/show-ref.c:185 msgid "show refs from stdin that aren't in local repository" msgstr "" "hiển thị các tham chiếu (refs) từ đầu và o tiêu chuẩn (stdin) cái mà không ở " @@ -9040,11 +9320,11 @@ msgstr "xóa tham chiếu (ref) tượng trÆ°ng" msgid "shorten ref output" msgstr "là m ngắn kết xuất ref (tham chiếu)" -#: builtin/symbolic-ref.c:43 builtin/update-ref.c:18 +#: builtin/symbolic-ref.c:43 builtin/update-ref.c:254 msgid "reason" msgstr "lý do" -#: builtin/symbolic-ref.c:43 builtin/update-ref.c:18 +#: builtin/symbolic-ref.c:43 builtin/update-ref.c:254 msgid "reason of the update" msgstr "lý do cáºp nháºt" @@ -9209,187 +9489,199 @@ msgstr "chỉ hiển thị những nhánh mà nó chứa lần chuyển giao" msgid "print only tags of the object" msgstr "chỉ hiển thị các thẻ của đối tượng" -#: builtin/tag.c:504 +#: builtin/tag.c:501 msgid "--column and -n are incompatible" msgstr "--column và -n xung khắc nhau" -#: builtin/tag.c:521 +#: builtin/tag.c:518 msgid "-n option is only allowed with -l." msgstr "tùy chá»n -n chỉ cho phép dùng vá»›i -l." -#: builtin/tag.c:523 +#: builtin/tag.c:520 msgid "--contains option is only allowed with -l." msgstr "tùy chá»n --contains chỉ cho phép dùng vá»›i -l." -#: builtin/tag.c:525 +#: builtin/tag.c:522 msgid "--points-at option is only allowed with -l." msgstr "tùy chá»n --points-at chỉ cho phép dùng vá»›i -l." -#: builtin/tag.c:533 +#: builtin/tag.c:530 msgid "only one -F or -m option is allowed." msgstr "chỉ có má»™t tùy chá»n -F hoặc -m là được phép." -#: builtin/tag.c:553 +#: builtin/tag.c:550 msgid "too many params" msgstr "quá nhiá»u đối số" -#: builtin/tag.c:559 +#: builtin/tag.c:556 #, c-format msgid "'%s' is not a valid tag name." msgstr "“%s†không phải thẻ hợp lệ." -#: builtin/tag.c:564 +#: builtin/tag.c:561 #, c-format msgid "tag '%s' already exists" msgstr "Thẻ “%s†đã tồn tại rồi" -#: builtin/tag.c:582 +#: builtin/tag.c:579 #, c-format msgid "%s: cannot lock the ref" msgstr "%s: không thể khóa ref (tham chiếu)" -#: builtin/tag.c:584 +#: builtin/tag.c:581 #, c-format msgid "%s: cannot update the ref" msgstr "%s: không thể cáºp nháºt ref (tham chiếu)" -#: builtin/tag.c:586 +#: builtin/tag.c:583 #, c-format msgid "Updated tag '%s' (was %s)\n" msgstr "Äã cáºp nháºt thẻ “%s†(trÆ°á»›c là %s)\n" -#: builtin/update-index.c:401 +#: builtin/update-index.c:402 msgid "git update-index [options] [--] [<file>...]" msgstr "git update-index [các-tùy-chá»n] [<táºp-tin>...]" -#: builtin/update-index.c:718 +#: builtin/update-index.c:720 msgid "continue refresh even when index needs update" msgstr "tiếp tục là m má»›i ngay cả khi bảng mục lục cần được cáºp nháºt" -#: builtin/update-index.c:721 +#: builtin/update-index.c:723 msgid "refresh: ignore submodules" msgstr "refresh: lá» Ä‘i mô-Ä‘un-con" -#: builtin/update-index.c:724 +#: builtin/update-index.c:726 msgid "do not ignore new files" msgstr "không bá» qua các táºp tin má»›i tạo" -#: builtin/update-index.c:726 +#: builtin/update-index.c:728 msgid "let files replace directories and vice-versa" msgstr "để các táºp tin thay thế các thÆ° mục và “vice-versaâ€" -#: builtin/update-index.c:728 +#: builtin/update-index.c:730 msgid "notice files missing from worktree" msgstr "thông báo các táºp-tin thiếu trong thÆ°-mục là m việc" -#: builtin/update-index.c:730 +#: builtin/update-index.c:732 msgid "refresh even if index contains unmerged entries" msgstr "" "là m tÆ°Æ¡i má»›i tháºm chà khi bảng mục lục chứa các mục tin chÆ°a được hòa trá»™n" -#: builtin/update-index.c:733 +#: builtin/update-index.c:735 msgid "refresh stat information" msgstr "lấy lại thông tin thống kê" -#: builtin/update-index.c:737 +#: builtin/update-index.c:739 msgid "like --refresh, but ignore assume-unchanged setting" msgstr "giống --refresh, nhÆ°ng bá» qua các cà i đặt “assume-unchangedâ€" -#: builtin/update-index.c:741 +#: builtin/update-index.c:743 msgid "<mode> <object> <path>" msgstr "<mode> <đối tượng> <Ä‘Æ°á»ng dẫn>" -#: builtin/update-index.c:742 +#: builtin/update-index.c:744 msgid "add the specified entry to the index" msgstr "thêm các táºp tin đã chỉ ra và o bảng mục lục" -#: builtin/update-index.c:746 +#: builtin/update-index.c:748 msgid "(+/-)x" msgstr "(+/-)x" -#: builtin/update-index.c:747 +#: builtin/update-index.c:749 msgid "override the executable bit of the listed files" msgstr "ghi đè lên bÃt thi hà nh của các táºp tin được liệt kê" -#: builtin/update-index.c:751 +#: builtin/update-index.c:753 msgid "mark files as \"not changing\"" msgstr "Äánh dấu các táºp tin là \"không thay đổi\"" -#: builtin/update-index.c:754 +#: builtin/update-index.c:756 msgid "clear assumed-unchanged bit" msgstr "xóa bÃt assumed-unchanged" -#: builtin/update-index.c:757 +#: builtin/update-index.c:759 msgid "mark files as \"index-only\"" msgstr "đánh dấu các táºp tin là “chỉ-Ä‘á»câ€" -#: builtin/update-index.c:760 +#: builtin/update-index.c:762 msgid "clear skip-worktree bit" msgstr "xóa bÃt skip-worktree" -#: builtin/update-index.c:763 +#: builtin/update-index.c:765 msgid "add to index only; do not add content to object database" msgstr "" "chỉ thêm và o bảng mục lục; không thêm ná»™i dung và o cÆ¡ sở dữ liệu đối tượng" -#: builtin/update-index.c:765 +#: builtin/update-index.c:767 msgid "remove named paths even if present in worktree" msgstr "" "gỡ bá» các Ä‘Æ°á»ng dẫn được đặt tên tháºm chà cả khi nó hiện diện trong thÆ° mục " "là m việc" -#: builtin/update-index.c:767 +#: builtin/update-index.c:769 msgid "with --stdin: input lines are terminated by null bytes" msgstr "vá»›i tùy chá»n --stdin: các dòng đầu và o được chấm dứt bởi ký tá»± null" -#: builtin/update-index.c:769 +#: builtin/update-index.c:771 msgid "read list of paths to be updated from standard input" msgstr "Ä‘á»c danh sách Ä‘Æ°á»ng dẫn cần cáºp nháºt từ đầu và o tiêu chuẩn" -#: builtin/update-index.c:773 +#: builtin/update-index.c:775 msgid "add entries from standard input to the index" msgstr "không thể Ä‘á»c các mục từ đầu và o tiêu chuẩn và o bảng mục lục" -#: builtin/update-index.c:777 +#: builtin/update-index.c:779 msgid "repopulate stages #2 and #3 for the listed paths" msgstr "phục hồi các trạng thái #2 và #3 cho các Ä‘Æ°á»ng dẫn được liệt kê" -#: builtin/update-index.c:781 +#: builtin/update-index.c:783 msgid "only update entries that differ from HEAD" msgstr "chỉ cáºp nháºt các mục tin mà nó khác biệt so vá»›i HEAD" -#: builtin/update-index.c:785 +#: builtin/update-index.c:787 msgid "ignore files missing from worktree" msgstr "bá» qua các táºp-tin thiếu trong thÆ°-mục là m việc" -#: builtin/update-index.c:788 +#: builtin/update-index.c:790 msgid "report actions to standard output" msgstr "báo cáo các thao tác ra thiết bị xuất chuẩn" -#: builtin/update-index.c:790 +#: builtin/update-index.c:792 msgid "(for porcelains) forget saved unresolved conflicts" msgstr "(cho “porcelainsâ€) quên các xung Ä‘á»™t chÆ°a được giải quyết đã ghi" -#: builtin/update-index.c:794 +#: builtin/update-index.c:796 msgid "write index in this format" msgstr "ghi mục lục ở định dạng nà y" -#: builtin/update-ref.c:7 +#: builtin/update-ref.c:9 msgid "git update-ref [options] -d <refname> [<oldval>]" msgstr "git update-ref [các-tùy-chá»n] -d <refname> [<biến-cÅ©>]" -#: builtin/update-ref.c:8 +#: builtin/update-ref.c:10 msgid "git update-ref [options] <refname> <newval> [<oldval>]" msgstr "git update-ref [các-tùy-chá»n] <refname> <biến-má»›i> [<biến-cÅ©>]" -#: builtin/update-ref.c:19 +#: builtin/update-ref.c:11 +msgid "git update-ref [options] --stdin [-z]" +msgstr "git update-ref [các-tùy-chá»n] --stdin [-z]" + +#: builtin/update-ref.c:255 msgid "delete the reference" msgstr "xóa tham chiếu" -#: builtin/update-ref.c:21 +#: builtin/update-ref.c:257 msgid "update <refname> not the one it points to" msgstr "cáºp nháºt <tên-tham-chiếu> không phải cái nó chỉ tá»›i" +#: builtin/update-ref.c:258 +msgid "stdin has NUL-terminated arguments" +msgstr "đầu và o tiêu chuẩn có các đối số được chấm dứt bởi NUL" + +#: builtin/update-ref.c:259 +msgid "read updates from stdin" +msgstr "Ä‘á»c cáºp nháºt từ đầu và o tiêu chuẩn" + #: builtin/update-server-info.c:6 msgid "git update-server-info [--force]" msgstr "git update-server-info [--force]" @@ -9444,23 +9736,23 @@ msgstr "" "hÆ°á»›ng dẫn vá» khái niệm. Xem “git help <lệnh>†hay “git help <khái-niệm>â€\n" "để xem các đặc tả cho lệnh hay khái niệm cụ thể." -#: parse-options.h:144 +#: parse-options.h:146 msgid "expiry date" msgstr "ngà y hết hạn" -#: parse-options.h:159 +#: parse-options.h:161 msgid "no-op (backward compatibility)" msgstr "no-op (tÆ°Æ¡ng thÃch ngược)" -#: parse-options.h:236 +#: parse-options.h:238 msgid "be more verbose" msgstr "chi tiết hÆ¡n nữa" -#: parse-options.h:238 +#: parse-options.h:240 msgid "be more quiet" msgstr "im lặng hÆ¡n nữa" -#: parse-options.h:244 +#: parse-options.h:246 msgid "use <n> digits to display SHA-1s" msgstr "sá» dụng <n> chữ số để hiển thị SHA-1s" @@ -9669,7 +9961,7 @@ msgstr "" #: git-am.sh:725 msgid "Patch does not have a valid e-mail address." -msgstr "Miếng vá không có địa chỉ e-mail hợp lệ." +msgstr "Miếng vá không có địa chỉ thÆ° Ä‘iện tá» hợp lệ." #: git-am.sh:772 msgid "cannot be interactive without stdin connected to a terminal." @@ -9686,8 +9978,8 @@ msgstr "Thân của lần chuyển giao (commit) là :" #: git-am.sh:783 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all " msgstr "" -"Ãp dụng? đồng ý [y]/không [n]/chỉnh sá»a [e]/hiển thị miếng [v]á/đồng ý tất " -"cả [a] " +"Ãp dụng? đồng ý [y]/khô[n]g/chỉnh sá»a [e]/hiển thị miếng [v]á/đồng ý tất cả " +"[a] " #: git-am.sh:819 #, sh-format @@ -9720,7 +10012,7 @@ msgstr "Không thay đổi gì cả -- Miếng vá đã được áp dụng rồ #: git-am.sh:874 #, sh-format msgid "Patch failed at $msgnum $FIRSTLINE" -msgstr "Vá gặp lá»—i tại $msgnum $FIRSTLINE" +msgstr "Gặp lá»—i khi vá tại $msgnum $FIRSTLINE" #: git-am.sh:877 #, sh-format @@ -9910,7 +10202,7 @@ msgid "Pull is not possible because you have unmerged files." msgstr "" "Full là không thể thá»±c hiện bởi vì bạn có những táºp tin chÆ°a được hòa trá»™n." -#: git-pull.sh:203 +#: git-pull.sh:223 msgid "updating an unborn branch with changes added to the index" msgstr "" "Ä‘ang cáºp nháºt má»™t nhánh chÆ°a được sinh ra vá»›i các thay đổi được thêm và o " @@ -9920,7 +10212,7 @@ msgstr "" #. The working tree and the index file is still based on the #. $orig_head commit, but we are merging into $curr_head. #. First update the working tree to match $curr_head. -#: git-pull.sh:235 +#: git-pull.sh:255 #, sh-format msgid "" "Warning: fetch updated the current branch head.\n" @@ -9931,11 +10223,11 @@ msgstr "" "Cảnh báo: Ä‘ang fast-forward cây là m việc của bạn từ\n" "Cảnh báo: commit $orig_head." -#: git-pull.sh:260 +#: git-pull.sh:280 msgid "Cannot merge multiple branches into empty head" msgstr "Không thể hòa trá»™n nhiá»u nhánh và trong má»™t head trống rá»—ng" -#: git-pull.sh:264 +#: git-pull.sh:284 msgid "Cannot rebase onto multiple branches" msgstr "Không thể thá»±c hiện lệnh rebase (cÆ¡ cấu lại) trên nhiá»u nhánh" @@ -9972,35 +10264,35 @@ msgstr "" "Bạn có thể chạy lệnh \"git stash pop\" hay \"git stash drop\" bất kỳ lúc " "nà o.\n" -#: git-rebase.sh:190 +#: git-rebase.sh:199 msgid "The pre-rebase hook refused to rebase." msgstr "Móc (hook) pre-rebase từ chối rebase." -#: git-rebase.sh:195 +#: git-rebase.sh:204 msgid "It looks like git-am is in progress. Cannot rebase." msgstr "" "Hình nhÆ° Ä‘ang trong quá trình thá»±c hiện lệnh git-am. Không thể chạy lệnh " "rebase." -#: git-rebase.sh:329 +#: git-rebase.sh:338 msgid "The --exec option must be used with the --interactive option" msgstr "Tùy chá»n --exec phải được sá» dụng cùng vá»›i tùy chá»n --interactive" -#: git-rebase.sh:334 +#: git-rebase.sh:343 msgid "No rebase in progress?" msgstr "Không có tiến trình rebase nà o phải không?" -#: git-rebase.sh:345 +#: git-rebase.sh:354 msgid "The --edit-todo action can only be used during interactive rebase." msgstr "" "Hà nh Ä‘á»™ng “--edit-todo†chỉ có thể dùng trong quá trình “rebase†(sá»a lịch " "sá») tÆ°Æ¡ng tác." -#: git-rebase.sh:352 +#: git-rebase.sh:361 msgid "Cannot read HEAD" msgstr "Không thể Ä‘á»c HEAD" -#: git-rebase.sh:355 +#: git-rebase.sh:364 msgid "" "You must edit all merge conflicts and then\n" "mark them as resolved using git add" @@ -10008,12 +10300,12 @@ msgstr "" "Bạn phải sá»a tất cả các lần hòa trá»™n xung Ä‘á»™t và sau\n" "đó đánh dấu chúng là cần xá» lý sá» dụng lệnh git add" -#: git-rebase.sh:373 +#: git-rebase.sh:382 #, sh-format msgid "Could not move back to $head_name" msgstr "Không thể quay trở lại $head_name" -#: git-rebase.sh:392 +#: git-rebase.sh:401 #, sh-format msgid "" "It seems that there is already a $state_dir_base directory, and\n" @@ -10036,66 +10328,66 @@ msgstr "" "\n" "TÔI: là lệnh bạn vừa gá»i!" -#: git-rebase.sh:437 +#: git-rebase.sh:446 #, sh-format msgid "invalid upstream $upstream_name" msgstr "thượng nguồn không hợp lệ $upstream_name" -#: git-rebase.sh:461 +#: git-rebase.sh:470 #, sh-format msgid "$onto_name: there are more than one merge bases" msgstr "$onto_name: ở đây có nhiá»u hÆ¡n má»™t ná»n móng hòa trá»™n" -#: git-rebase.sh:464 git-rebase.sh:468 +#: git-rebase.sh:473 git-rebase.sh:477 #, sh-format msgid "$onto_name: there is no merge base" msgstr "$onto_name: ở đây không có ná»n móng hòa trá»™n nà o" -#: git-rebase.sh:473 +#: git-rebase.sh:482 #, sh-format msgid "Does not point to a valid commit: $onto_name" msgstr "Không chỉ đến má»™t lần chuyển giao (commit) không hợp lệ: $onto_name" -#: git-rebase.sh:496 +#: git-rebase.sh:505 #, sh-format msgid "fatal: no such branch: $branch_name" msgstr "nghiêm trá»ng: không có nhánh nhÆ° thế: $branch_name" -#: git-rebase.sh:519 +#: git-rebase.sh:528 msgid "Cannot autostash" msgstr "Không thể autostash" -#: git-rebase.sh:524 +#: git-rebase.sh:533 #, sh-format msgid "Created autostash: $stash_abbrev" msgstr "Äã tạo autostash: $stash_abbrev" -#: git-rebase.sh:528 +#: git-rebase.sh:537 msgid "Please commit or stash them." msgstr "Xin hãy commit hoặc tạm cất (stash) chúng." -#: git-rebase.sh:548 +#: git-rebase.sh:557 #, sh-format msgid "Current branch $branch_name is up to date." msgstr "Nhánh hiện tại $branch_name đã được cáºp nháºt rồi." -#: git-rebase.sh:552 +#: git-rebase.sh:561 #, sh-format msgid "Current branch $branch_name is up to date, rebase forced." msgstr "Nhánh hiện tại $branch_name đã được cáºp nháºt rồi, lệnh rebase ép buá»™c." -#: git-rebase.sh:563 +#: git-rebase.sh:572 #, sh-format msgid "Changes from $mb to $onto:" msgstr "Thay đổi từ $mb thà nh $onto:" #. Detach HEAD and reset the tree -#: git-rebase.sh:572 +#: git-rebase.sh:581 msgid "First, rewinding head to replay your work on top of it..." msgstr "" "TrÆ°á»›c tiên, di chuyển head để xem lại các công việc trên đỉnh của nó..." -#: git-rebase.sh:582 +#: git-rebase.sh:591 #, sh-format msgid "Fast-forwarded $branch_name to $onto_name." msgstr "Fast-forward $branch_name thà nh $onto_name." @@ -10144,7 +10436,7 @@ msgstr "Không thể cáºp nháºt $ref_stash vá»›i $w_commit" #. $ git stash save --blah-blah 2>&1 | head -n 2 #. error: unknown option for 'stash save': --blah-blah #. To provide a message, use git stash save -- '--blah-blah' -#: git-stash.sh:241 +#: git-stash.sh:237 #, sh-format msgid "" "error: unknown option for 'stash save': $option\n" @@ -10154,99 +10446,85 @@ msgstr "" " Äể dùng thông Ä‘iệp có chứa -- ở đầu, sá» dụng git stash save -- \"$option" "\"" -#: git-stash.sh:262 +#: git-stash.sh:258 msgid "No local changes to save" msgstr "Không có thay đổi ná»™i bá»™ nà o được ghi lại" -#: git-stash.sh:268 -msgid "" -"The following untracked files would NOT be saved but need to be removed by " -"stash save:" -msgstr "" -"Các táºp tin chÆ°a được theo dõi sau đây KHÔNG được ghi lại nhÆ°ng cần được gỡ " -"bá» bởi việc ghi lại stash:" - -#: git-stash.sh:270 -msgid "" -"Aborting. Consider using either the --force or --include-untracked option." -msgstr "" -"Bãi bá». Cân nhắc dùng má»™t trong hai tùy chá»n --force và --include-untracked." - -#: git-stash.sh:274 +#: git-stash.sh:262 msgid "Cannot initialize stash" msgstr "Không thể khởi tạo stash" -#: git-stash.sh:278 +#: git-stash.sh:266 msgid "Cannot save the current status" msgstr "Không thể ghi lại trạng thái hiện hà nh" -#: git-stash.sh:296 +#: git-stash.sh:284 msgid "Cannot remove worktree changes" msgstr "Không thể gỡ bá» các thay đổi cây-là m-việc" -#: git-stash.sh:395 +#: git-stash.sh:383 msgid "No stash found." msgstr "Không tìm thấy stash nà o." -#: git-stash.sh:402 +#: git-stash.sh:390 #, sh-format msgid "Too many revisions specified: $REV" msgstr "Chỉ ra quá nhiá»u Ä‘iểm xét duyệt: $REV" -#: git-stash.sh:408 +#: git-stash.sh:396 #, sh-format msgid "$reference is not valid reference" msgstr "$reference không phải là tham chiếu hợp lệ" -#: git-stash.sh:436 +#: git-stash.sh:424 #, sh-format msgid "'$args' is not a stash-like commit" -msgstr "â€$args†không phải là lần chuyển giao (commit) giống-stash" +msgstr "â€$args†không phải là lần chuyển giao (commit) kiểu-stash" -#: git-stash.sh:447 +#: git-stash.sh:435 #, sh-format msgid "'$args' is not a stash reference" msgstr "â€$args†không phải tham chiếu đến stash" -#: git-stash.sh:455 +#: git-stash.sh:443 msgid "unable to refresh index" msgstr "không thể là m tÆ°Æ¡i má»›i bảng mục lục" -#: git-stash.sh:459 +#: git-stash.sh:447 msgid "Cannot apply a stash in the middle of a merge" msgstr "Không thể áp dụng má»™t stash ở giữa của quá trình hòa trá»™n" -#: git-stash.sh:467 +#: git-stash.sh:455 msgid "Conflicts in index. Try without --index." msgstr "Xung Ä‘á»™t trong bảng mục lục. Hãy thá» mà không dùng tùy chá»n --index." -#: git-stash.sh:469 +#: git-stash.sh:457 msgid "Could not save index tree" msgstr "Không thể ghi lại cây chỉ mục" -#: git-stash.sh:503 +#: git-stash.sh:491 msgid "Cannot unstage modified files" msgstr "Không thể bá» trạng thÃa của các táºp tin đã được sá»a chữa" -#: git-stash.sh:518 +#: git-stash.sh:506 msgid "Index was not unstashed." msgstr "Bảng mục lục đã không được bá» stash." -#: git-stash.sh:535 +#: git-stash.sh:523 #, sh-format msgid "Dropped ${REV} ($s)" msgstr "Äã xóa ${REV} ($s)" -#: git-stash.sh:536 +#: git-stash.sh:524 #, sh-format msgid "${REV}: Could not drop stash entry" msgstr "${REV}: Không thể xóa bá» mục stash" -#: git-stash.sh:543 +#: git-stash.sh:531 msgid "No branch name specified" msgstr "ChÆ°a chỉ ra tên của nhánh" -#: git-stash.sh:615 +#: git-stash.sh:603 msgid "(To restore them type \"git stash apply\")" msgstr "(Äể phục hồi lại chúng hãy gõ \"git stash apply\")" @@ -10424,7 +10702,7 @@ msgstr "" #: git-submodule.sh:683 #, sh-format msgid "Cleared directory '$displaypath'" -msgstr "Äã tạo thÆ° mục '$displaypath'" +msgstr "Äã tạo thÆ° mục “$displaypathâ€" #: git-submodule.sh:684 #, sh-format @@ -10521,52 +10799,63 @@ msgid "The --cached option cannot be used with the --files option" msgstr "Tùy chá»n --cached không thể dùng cùng vá»›i tùy chá»n --files" #. unexpected type -#: git-submodule.sh:1066 +#: git-submodule.sh:1073 #, sh-format msgid "unexpected mode $mod_dst" msgstr "chế Ä‘á»™ không nhÆ° mong chá» $mod_dst" -#: git-submodule.sh:1086 +#: git-submodule.sh:1093 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_src" msgstr "" " Cảnh báo: $display_name không chứa lần chuyển giao (commit) $sha1_src" -#: git-submodule.sh:1089 +#: git-submodule.sh:1096 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_dst" msgstr "" " Cảnh báo: $display_name không chứa lần chuyển giao (commit) $sha1_dst" -#: git-submodule.sh:1092 +#: git-submodule.sh:1099 #, sh-format msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst" msgstr "" " Cảnh báo: $display_name không chứa những lần chuyển giao (commit) " "$sha1_src và $sha1_dst" -#: git-submodule.sh:1117 +#: git-submodule.sh:1124 msgid "blob" msgstr "blob" -#: git-submodule.sh:1155 -msgid "Submodules changed but not updated:" -msgstr "Những mô-Ä‘un-con đã bị thay đổi nhÆ°ng chÆ°a được cáºp nháºt:" - -#: git-submodule.sh:1157 -msgid "Submodule changes to be committed:" -msgstr "Những mô-Ä‘un-con thay đổi đã được chuyển giao (commit):" - -#: git-submodule.sh:1242 +#: git-submodule.sh:1238 #, sh-format msgid "Failed to recurse into submodule path '$sm_path'" msgstr "Gặp lá»—i khi đệ quy và o trong Ä‘Æ°á»ng dẫn mô-Ä‘un-con “$sm_pathâ€" -#: git-submodule.sh:1306 +#: git-submodule.sh:1302 #, sh-format msgid "Synchronizing submodule url for '$displaypath'" msgstr "Url Mô-Ä‘un-con đồng bá»™ hóa cho “$displaypathâ€" +#~ msgid "done\n" +#~ msgstr "xong\n" + +#~ msgid "input paths are terminated by a null character" +#~ msgstr "các Ä‘Æ°á»ng dẫn được ngăn cách bởi ký tá»± null" + +#~ msgid "" +#~ "The following untracked files would NOT be saved but need to be removed " +#~ "by stash save:" +#~ msgstr "" +#~ "Các táºp tin chÆ°a được theo dõi sau đây KHÔNG được ghi lại nhÆ°ng cần được " +#~ "gỡ bá» bởi việc ghi lại stash:" + +#~ msgid "" +#~ "Aborting. Consider using either the --force or --include-untracked option." +#~ msgstr "" +#~ "Bãi bá». Cân nhắc dùng má»™t trong hai tùy chá»n --force và --include-" +#~ "untracked." + #~ msgid " (fix conflicts and then run \"git am --resolved\")" #~ msgstr " (sá»a các xung Ä‘á»™t và sau đó chạy lệnh \"git am --resolved\")" @@ -10688,9 +10977,6 @@ msgstr "Url Mô-Ä‘un-con đồng bá»™ hóa cho “$displaypathâ€" #~ msgid "-B cannot be used with -b" #~ msgstr "tùy chá»n -B không thể dùng -b" -#~ msgid "--patch is incompatible with all other options" -#~ msgstr "--patch xung khắc vá»›i tất cả các tùy chá»n khác" - #~ msgid "--detach cannot be used with -b/-B/--orphan" #~ msgstr "--detach không thể được sá» dụng vá»›i tùy chá»n -b/-B/--orphan" diff --git a/po/zh_CN.po b/po/zh_CN.po index 1a042af111..b701086e3b 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: Git\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2013-08-06 14:10+0800\n" -"PO-Revision-Date: 2013-08-06 14:45+0800\n" +"POT-Creation-Date: 2013-11-02 08:06+0800\n" +"PO-Revision-Date: 2013-11-02 08:14+0800\n" "Last-Translator: Jiang Xin <worldhello.net@gmail.com>\n" "Language-Team: GitHub <https://github.com/gotgit/git/>\n" "Language: zh_CN\n" @@ -60,71 +60,76 @@ msgstr "" msgid "git archive --remote <repo> [--exec <cmd>] --list" msgstr "git archive --remote <版本库> [--exec <命令>] --list" -#: archive.c:323 +#: archive.c:242 builtin/add.c:240 builtin/add.c:556 builtin/rm.c:328 +#, c-format +msgid "pathspec '%s' did not match any files" +msgstr "路径规则 '%s' 未匹é…任何文件" + +#: archive.c:327 msgid "fmt" msgstr "æ ¼å¼" -#: archive.c:323 +#: archive.c:327 msgid "archive format" msgstr "å½’æ¡£æ ¼å¼" -#: archive.c:324 builtin/log.c:1173 +#: archive.c:328 builtin/log.c:1193 msgid "prefix" msgstr "å‰ç¼€" -#: archive.c:325 +#: archive.c:329 msgid "prepend prefix to each pathname in the archive" msgstr "为归档ä¸æ¯ä¸ªè·¯å¾„ååŠ ä¸Šå‰ç¼€" -#: archive.c:326 builtin/archive.c:88 builtin/blame.c:2292 -#: builtin/blame.c:2293 builtin/config.c:56 builtin/fast-export.c:673 -#: builtin/fast-export.c:675 builtin/grep.c:714 builtin/hash-object.c:77 -#: builtin/ls-files.c:496 builtin/ls-files.c:499 builtin/notes.c:408 -#: builtin/notes.c:565 builtin/read-tree.c:108 parse-options.h:152 +#: archive.c:330 builtin/archive.c:88 builtin/blame.c:2264 +#: builtin/blame.c:2265 builtin/config.c:58 builtin/fast-export.c:680 +#: builtin/fast-export.c:682 builtin/grep.c:716 builtin/hash-object.c:77 +#: builtin/ls-files.c:486 builtin/ls-files.c:489 builtin/notes.c:408 +#: builtin/notes.c:565 builtin/read-tree.c:108 parse-options.h:154 msgid "file" msgstr "文件" -#: archive.c:327 builtin/archive.c:89 +#: archive.c:331 builtin/archive.c:89 msgid "write the archive to this file" msgstr "归档写入æ¤æ–‡ä»¶" -#: archive.c:329 +#: archive.c:333 msgid "read .gitattributes in working directory" msgstr "读å–工作区ä¸çš„ .gitattributes" -#: archive.c:330 +#: archive.c:334 msgid "report archived files on stderr" msgstr "åœ¨æ ‡å‡†é”™è¯¯ä¸ŠæŠ¥å‘Šå½’æ¡£æ–‡ä»¶" -#: archive.c:331 +#: archive.c:335 msgid "store only" msgstr "åªå˜å‚¨" -#: archive.c:332 +#: archive.c:336 msgid "compress faster" msgstr "压缩速度更快" -#: archive.c:340 +#: archive.c:344 msgid "compress better" msgstr "压缩效果更好" -#: archive.c:343 +#: archive.c:347 msgid "list supported archive formats" msgstr "列出支æŒçš„å½’æ¡£æ ¼å¼" -#: archive.c:345 builtin/archive.c:90 builtin/clone.c:85 +#: archive.c:349 builtin/archive.c:90 builtin/clone.c:84 msgid "repo" msgstr "版本库" -#: archive.c:346 builtin/archive.c:91 +#: archive.c:350 builtin/archive.c:91 msgid "retrieve the archive from remote repository <repo>" msgstr "从远程版本库(<版本库>)æå–归档文件" -#: archive.c:347 builtin/archive.c:92 builtin/notes.c:487 +#: archive.c:351 builtin/archive.c:92 builtin/notes.c:487 msgid "command" msgstr "命令" -#: archive.c:348 builtin/archive.c:93 +#: archive.c:352 builtin/archive.c:93 msgid "path to the remote git-upload-archive command" msgstr "远程 git-upload-archive 命令的路径" @@ -205,17 +210,17 @@ msgstr "一个分支å '%s' å·²ç»å˜åœ¨ã€‚" msgid "Cannot force update the current branch." msgstr "æ— æ³•å¼ºåˆ¶æ›´æ–°å½“å‰åˆ†æ”¯ã€‚" -#: branch.c:216 +#: branch.c:215 #, c-format msgid "Cannot setup tracking information; starting point '%s' is not a branch." msgstr "æ— æ³•è®¾ç½®è·Ÿè¸ªä¿¡æ¯ï¼›èµ·å§‹ç‚¹ '%s' ä¸æ˜¯ä¸€ä¸ªåˆ†æ”¯ã€‚" -#: branch.c:218 +#: branch.c:217 #, c-format msgid "the requested upstream branch '%s' does not exist" msgstr "请求的上游分支 '%s' ä¸å˜åœ¨" -#: branch.c:220 +#: branch.c:219 msgid "" "\n" "If you are planning on basing your work on an upstream\n" @@ -233,26 +238,26 @@ msgstr "" "如果您æ£è®¡åˆ’推é€ä¸€ä¸ªèƒ½ä¸Žå¯¹åº”远程分支建立跟踪的新的本地分支,\n" "您å¯èƒ½éœ€è¦ä½¿ç”¨ \"git push -u\" 推é€åˆ†æ”¯å¹¶é…置和上游的关è”。" -#: branch.c:265 +#: branch.c:264 #, c-format msgid "Not a valid object name: '%s'." msgstr "ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„对象å:'%s'。" -#: branch.c:285 +#: branch.c:284 #, c-format msgid "Ambiguous object name: '%s'." msgstr "æ§ä¹‰çš„对象å:'%s'。" -#: branch.c:290 +#: branch.c:289 #, c-format msgid "Not a valid branch point: '%s'." msgstr "æ— æ•ˆçš„åˆ†æ”¯ç‚¹ï¼š'%s'。" -#: branch.c:296 +#: branch.c:295 msgid "Failed to lock ref for update" msgstr "æ— æ³•ä¸ºæ›´æ–°é”定引用" -#: branch.c:314 +#: branch.c:313 msgid "Failed to write ref" msgstr "ä¸èƒ½å†™å¼•ç”¨" @@ -266,7 +271,7 @@ msgstr "'%s' ä¸åƒæ˜¯ä¸€ä¸ª v2 版本的包文件" msgid "unrecognized header: %s%s (%d)" msgstr "未能识别的包头:%s%s (%d)" -#: bundle.c:89 builtin/commit.c:697 +#: bundle.c:89 builtin/commit.c:706 #, c-format msgid "could not open '%s'" msgstr "ä¸èƒ½æ‰“å¼€ '%s'" @@ -275,9 +280,9 @@ msgstr "ä¸èƒ½æ‰“å¼€ '%s'" msgid "Repository lacks these prerequisite commits:" msgstr "版本库缺少这些必备的æ交:" -#: bundle.c:164 sequencer.c:661 sequencer.c:1111 builtin/log.c:331 -#: builtin/log.c:801 builtin/log.c:1399 builtin/log.c:1625 builtin/merge.c:364 -#: builtin/shortlog.c:156 +#: bundle.c:164 sequencer.c:662 sequencer.c:1112 builtin/log.c:332 +#: builtin/log.c:821 builtin/log.c:1418 builtin/log.c:1644 builtin/merge.c:364 +#: builtin/shortlog.c:158 msgid "revision walk setup failed" msgstr "版本é历设置失败" @@ -303,7 +308,7 @@ msgstr[1] "è¿™ä¸ªåŒ…éœ€è¦ %d 个引用:" msgid "rev-list died" msgstr "rev-list 终æ¢" -#: bundle.c:300 builtin/log.c:1310 builtin/shortlog.c:259 +#: bundle.c:300 builtin/log.c:1329 builtin/shortlog.c:261 #, c-format msgid "unrecognized argument: %s" msgstr "未能识别的å‚数:%s" @@ -455,7 +460,7 @@ msgstr "" "å‘现é…ç½®å˜é‡ 'diff.dirstat' ä¸çš„错误:\n" "%s" -#: diff.c:3487 +#: diff.c:3490 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" @@ -464,7 +469,7 @@ msgstr "" "æ— æ³•è§£æž --dirstat/-X 选项的å‚数:\n" "%s" -#: diff.c:3501 +#: diff.c:3504 #, c-format msgid "Failed to parse --submodule option parameter: '%s'" msgstr "æ— æ³•è§£æž --submodule 选项的å‚数:'%s'" @@ -491,17 +496,17 @@ msgstr "ä¸èƒ½åˆ›å»ºä¸´æ—¶æ–‡ä»¶ '%s':%s" msgid "failed writing detached signature to '%s': %s" msgstr "æ— æ³•å°†åˆ†ç¦»å¼ç¾å写入 '%s':%s" -#: grep.c:1623 +#: grep.c:1695 #, c-format msgid "'%s': unable to read %s" msgstr "'%s'ï¼šæ— æ³•è¯»å– %s" -#: grep.c:1640 +#: grep.c:1712 #, c-format msgid "'%s': %s" msgstr "'%s':%s" -#: grep.c:1651 +#: grep.c:1723 #, c-format msgid "'%s': short read %s" msgstr "'%s':读å–ä¸å®Œæ•´ %s" @@ -574,8 +579,8 @@ msgstr "%s:%s - %s" msgid "failed to read the cache" msgstr "æ— æ³•è¯»å–缓å˜" -#: merge.c:110 builtin/checkout.c:365 builtin/checkout.c:566 -#: builtin/clone.c:656 +#: merge.c:110 builtin/checkout.c:358 builtin/checkout.c:559 +#: builtin/clone.c:655 msgid "unable to write new index file" msgstr "æ— æ³•å†™æ–°çš„ç´¢å¼•æ–‡ä»¶" @@ -624,7 +629,7 @@ msgstr "ä¸èƒ½è¯»å–对象 %s '%s'" msgid "blob expected for %s '%s'" msgstr "%s '%s' 应为数æ®ï¼ˆblob)对象" -#: merge-recursive.c:774 builtin/clone.c:312 +#: merge-recursive.c:774 builtin/clone.c:311 #, c-format msgid "failed to open '%s'" msgstr "æ— æ³•æ‰“å¼€ '%s'" @@ -759,7 +764,7 @@ msgstr "略过 %s(已ç»åšè¿‡ç›¸åŒåˆå¹¶ï¼‰" msgid "Auto-merging %s" msgstr "自动åˆå¹¶ %s" -#: merge-recursive.c:1634 git-submodule.sh:1118 +#: merge-recursive.c:1634 git-submodule.sh:1125 msgid "submodule" msgstr "å模组" @@ -854,59 +859,122 @@ msgstr "æ‹’ç»å‘ %s(在 refs/notes/ 之外)写入注解" msgid "Bad %s value: '%s'" msgstr "åçš„ %s 值:'%s'" -#: object.c:204 +#: object.c:202 #, c-format msgid "unable to parse object: %s" msgstr "ä¸èƒ½è§£æžå¯¹è±¡ï¼š%s" -#: parse-options.c:489 +#: parse-options.c:537 msgid "..." msgstr "..." -#: parse-options.c:507 +#: parse-options.c:555 #, c-format msgid "usage: %s" msgstr "用法:%s" #. TRANSLATORS: the colon here should align with the #. one in "usage: %s" translation -#: parse-options.c:511 +#: parse-options.c:559 #, c-format msgid " or: %s" msgstr " 或:%s" # 译者:为ä¿è¯åœ¨è¾“出ä¸å¯¹é½ï¼Œæ³¨æ„调整å¥ä¸ç©ºæ ¼ï¼ -#: parse-options.c:514 +#: parse-options.c:562 #, c-format msgid " %s" msgstr " %s" -#: parse-options.c:548 +#: parse-options.c:596 msgid "-NUM" msgstr "-æ•°å—" -#: pathspec.c:83 +#: pathspec.c:118 +msgid "global 'glob' and 'noglob' pathspec settings are incompatible" +msgstr "全局的 'glob' å’Œ 'noglob' 路径规则设置ä¸å…¼å®¹" + +#: pathspec.c:128 +msgid "" +"global 'literal' pathspec setting is incompatible with all other global " +"pathspec settings" +msgstr "全局的 'literal' 路径规则设置和其它的全局路径规则设置ä¸å…¼å®¹" + +#: pathspec.c:158 +msgid "invalid parameter for pathspec magic 'prefix'" +msgstr "路径规则包å«æ— 效的神奇å‰ç¼€" + +#: pathspec.c:164 +#, c-format +msgid "Invalid pathspec magic '%.*s' in '%s'" +msgstr "在路径规则 '%3$s' ä¸æ— 效的神奇å‰ç¼€ '%2$.*1$s'" + +#: pathspec.c:168 +#, c-format +msgid "Missing ')' at the end of pathspec magic in '%s'" +msgstr "路径规则 '%s' 的神奇å‰ç¼€ç»“尾少了一个 ')'" + +#: pathspec.c:186 +#, c-format +msgid "Unimplemented pathspec magic '%c' in '%s'" +msgstr "路径规则 '%2$s' ä¸åŒ…å«æœªå®žçŽ°çš„神奇å‰ç¼€ '%1$c'" + +#: pathspec.c:211 #, c-format -msgid "Path '%s' is in submodule '%.*s'" -msgstr "路径 '%s' 属于模组 '%.*s'" +msgid "%s: 'literal' and 'glob' are incompatible" +msgstr "%s:'literal' å’Œ 'glob' ä¸å…¼å®¹" -#: pathspec.c:99 +#: pathspec.c:222 #, c-format -msgid "'%s' is beyond a symbolic link" -msgstr "'%s' ä½äºŽç¬¦å·é“¾æŽ¥ä¸" +msgid "%s: '%s' is outside repository" +msgstr "%s:'%s' 在版本库之外" -#: remote.c:1788 +#: pathspec.c:278 +#, c-format +msgid "Pathspec '%s' is in submodule '%.*s'" +msgstr "路径规则 '%s' 在å模组 '%.*s' ä¸" + +#. +#. * We may want to substitute "this command" with a command +#. * name. E.g. when add--interactive dies when running +#. * "checkout -p" +#. +#: pathspec.c:340 +#, c-format +msgid "%s: pathspec magic not supported by this command: %s" +msgstr "%s:路径规则神奇å‰ç¼€ä¸è¢«æ¤å‘½ä»¤æ”¯æŒï¼š%s" + +#: pathspec.c:415 +#, c-format +msgid "pathspec '%s' is beyond a symbolic link" +msgstr "路径规则 '%s' ä½äºŽç¬¦å·é“¾æŽ¥ä¸" + +#: remote.c:1833 +#, c-format +msgid "Your branch is based on '%s', but the upstream is gone.\n" +msgstr "您的分支基于 '%s',但æ¤ä¸Šæ¸¸åˆ†æ”¯å·²ç»ä¸å˜åœ¨ã€‚\n" + +#: remote.c:1837 +msgid " (use \"git branch --unset-upstream\" to fixup)\n" +msgstr " (使用 \"git branch --unset-upstream\" æ¥ä¿®å¤ï¼‰\n" + +#: remote.c:1840 +#, c-format +msgid "Your branch is up-to-date with '%s'.\n" +msgstr "您的分支与上游分支 '%s' 一致。\n" + +#: remote.c:1844 #, c-format msgid "Your branch is ahead of '%s' by %d commit.\n" msgid_plural "Your branch is ahead of '%s' by %d commits.\n" msgstr[0] "您的分支领先 '%s' å…± %d 个æ交。\n" msgstr[1] "您的分支领先 '%s' å…± %d 个æ交。\n" -#: remote.c:1794 +#: remote.c:1850 msgid " (use \"git push\" to publish your local commits)\n" msgstr " (使用 \"git push\" æ¥å‘布您的本地æ交)\n" -#: remote.c:1797 +#: remote.c:1853 #, c-format msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n" msgid_plural "" @@ -915,11 +983,11 @@ msgstr[0] "您的分支è½åŽ '%s' å…± %d 个æ交,并且å¯ä»¥å¿«è¿›ã€‚\n" msgstr[1] "您的分支è½åŽ '%s' å…± %d 个æ交,并且å¯ä»¥å¿«è¿›ã€‚\n" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: remote.c:1805 +#: remote.c:1861 msgid " (use \"git pull\" to update your local branch)\n" msgstr " (使用 \"git pull\" æ¥æ›´æ–°æ‚¨çš„本地分支)\n" -#: remote.c:1808 +#: remote.c:1864 #, c-format msgid "" "Your branch and '%s' have diverged,\n" @@ -935,7 +1003,7 @@ msgstr[1] "" "并且分别有 %d å’Œ %d 处ä¸åŒçš„æ交。\n" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: remote.c:1818 +#: remote.c:1874 msgid " (use \"git pull\" to merge the remote branch into yours)\n" msgstr " (使用 \"git pull\" æ¥åˆå¹¶è¿œç¨‹åˆ†æ”¯ï¼‰\n" @@ -977,7 +1045,7 @@ msgstr "" "冲çªè§£å†³å®Œæ¯•åŽï¼Œç”¨ 'git add <paths>' 或 'git rm <paths>'\n" "对修æ£åŽçš„文件åšæ ‡è®°ï¼Œç„¶åŽç”¨ 'git commit' æ交" -#: sequencer.c:245 sequencer.c:869 sequencer.c:952 +#: sequencer.c:245 sequencer.c:870 sequencer.c:953 #, c-format msgid "Could not write to %s" msgstr "ä¸èƒ½å†™å…¥ %s" @@ -1000,197 +1068,197 @@ msgid "Commit your changes or stash them to proceed." msgstr "æ交您的修改或ä¿å˜è¿›åº¦åŽå†ç»§ç»ã€‚" #. TRANSLATORS: %s will be "revert" or "cherry-pick" -#: sequencer.c:324 +#: sequencer.c:325 #, c-format msgid "%s: Unable to write new index file" msgstr "%sï¼šæ— æ³•å†™å…¥æ–°ç´¢å¼•æ–‡ä»¶" -#: sequencer.c:355 +#: sequencer.c:356 msgid "Could not resolve HEAD commit\n" msgstr "ä¸èƒ½è§£æž HEAD æ交\n" -#: sequencer.c:377 +#: sequencer.c:378 msgid "Unable to update cache tree\n" msgstr "ä¸èƒ½æ›´æ–°ç¼“å˜\n" -#: sequencer.c:422 +#: sequencer.c:423 #, c-format msgid "Could not parse commit %s\n" msgstr "ä¸èƒ½è§£æžæ交 %s\n" -#: sequencer.c:427 +#: sequencer.c:428 #, c-format msgid "Could not parse parent commit %s\n" msgstr "ä¸èƒ½è§£æžçˆ¶æ交 %s\n" -#: sequencer.c:493 +#: sequencer.c:494 msgid "Your index file is unmerged." msgstr "您的索引文件未完æˆåˆå¹¶ã€‚" -#: sequencer.c:512 +#: sequencer.c:513 #, c-format msgid "Commit %s is a merge but no -m option was given." msgstr "æ交 %s 是一个åˆå¹¶æ交但未æä¾› -m 选项。" -#: sequencer.c:520 +#: sequencer.c:521 #, c-format msgid "Commit %s does not have parent %d" msgstr "æ交 %s 没有父æ交 %d" -#: sequencer.c:524 +#: sequencer.c:525 #, 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:537 +#: sequencer.c:538 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "%s:ä¸èƒ½è§£æžçˆ¶æ交 %s" -#: sequencer.c:541 +#: sequencer.c:542 #, c-format msgid "Cannot get commit message for %s" msgstr "ä¸èƒ½å¾—到 %s çš„æ交说明" -#: sequencer.c:627 +#: sequencer.c:628 #, c-format msgid "could not revert %s... %s" msgstr "ä¸èƒ½è¿˜åŽŸ %s... %s" -#: sequencer.c:628 +#: sequencer.c:629 #, c-format msgid "could not apply %s... %s" msgstr "ä¸èƒ½åº”用 %s... %s" -#: sequencer.c:664 +#: sequencer.c:665 msgid "empty commit set passed" msgstr "æ供了空的æ交集" -#: sequencer.c:672 +#: sequencer.c:673 #, c-format msgid "git %s: failed to read the index" msgstr "git %sï¼šæ— æ³•è¯»å–索引" -#: sequencer.c:677 +#: sequencer.c:678 #, c-format msgid "git %s: failed to refresh the index" msgstr "git %sï¼šæ— æ³•åˆ·æ–°ç´¢å¼•" -#: sequencer.c:735 +#: sequencer.c:736 #, c-format msgid "Cannot %s during a %s" msgstr "æ— æ³• %s 在一个 %s 过程ä¸" -#: sequencer.c:757 +#: sequencer.c:758 #, c-format msgid "Could not parse line %d." msgstr "ä¸èƒ½è§£æžç¬¬ %d 行。" -#: sequencer.c:762 +#: sequencer.c:763 msgid "No commits parsed." msgstr "没有æ交被解æžã€‚" -#: sequencer.c:775 +#: sequencer.c:776 #, c-format msgid "Could not open %s" msgstr "ä¸èƒ½æ‰“å¼€ %s" -#: sequencer.c:779 +#: sequencer.c:780 #, c-format msgid "Could not read %s." msgstr "ä¸èƒ½è¯»å– %s。" -#: sequencer.c:786 +#: sequencer.c:787 #, c-format msgid "Unusable instruction sheet: %s" msgstr "æ— ç”¨çš„æŒ‡ä»¤è¡¨å•ï¼š%s" -#: sequencer.c:814 +#: sequencer.c:815 #, c-format msgid "Invalid key: %s" msgstr "æ— æ•ˆé”®å:%s" -#: sequencer.c:817 +#: sequencer.c:818 #, c-format msgid "Invalid value for %s: %s" msgstr "%s çš„å€¼æ— æ•ˆï¼š%s" -#: sequencer.c:829 +#: sequencer.c:830 #, c-format msgid "Malformed options sheet: %s" msgstr "éžæ³•çš„选项表å•ï¼š%s" -#: sequencer.c:850 +#: sequencer.c:851 msgid "a cherry-pick or revert is already in progress" msgstr "一个拣选或还原æ“作已在进行" -#: sequencer.c:851 +#: sequencer.c:852 msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" msgstr "å°è¯• \"git cherry-pick (--continue | --quit | --abort)\"" -#: sequencer.c:855 +#: sequencer.c:856 #, c-format msgid "Could not create sequencer directory %s" msgstr "ä¸èƒ½åˆ›å»ºåºåˆ—目录 %s" -#: sequencer.c:871 sequencer.c:956 +#: sequencer.c:872 sequencer.c:957 #, c-format msgid "Error wrapping up %s." msgstr "错误收尾 %s。" -#: sequencer.c:890 sequencer.c:1024 +#: sequencer.c:891 sequencer.c:1025 msgid "no cherry-pick or revert in progress" msgstr "拣选或还原æ“作并未进行" -#: sequencer.c:892 +#: sequencer.c:893 msgid "cannot resolve HEAD" msgstr "ä¸èƒ½è§£æž HEAD" -#: sequencer.c:894 +#: sequencer.c:895 msgid "cannot abort from a branch yet to be born" msgstr "ä¸èƒ½ä»Žå°šæœªå»ºç«‹çš„分支终æ¢" -#: sequencer.c:916 builtin/apply.c:4061 +#: sequencer.c:917 builtin/apply.c:4061 #, c-format msgid "cannot open %s: %s" msgstr "ä¸èƒ½æ‰“å¼€ %s:%s" -#: sequencer.c:919 +#: sequencer.c:920 #, c-format msgid "cannot read %s: %s" msgstr "ä¸èƒ½è¯»å– %s:%s" -#: sequencer.c:920 +#: sequencer.c:921 msgid "unexpected end of file" msgstr "æ„外的文件结æŸ" -#: sequencer.c:926 +#: sequencer.c:927 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "ä¿å˜æ‹£é€‰æ交å‰çš„ HEAD 文件 '%s' æŸå" -#: sequencer.c:949 +#: sequencer.c:950 #, c-format msgid "Could not format %s." msgstr "ä¸èƒ½æ ¼å¼åŒ– %s。" -#: sequencer.c:1092 +#: sequencer.c:1093 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "%s:ä¸èƒ½æ‹£é€‰ä¸€ä¸ª%s" -#: sequencer.c:1095 +#: sequencer.c:1096 #, c-format msgid "%s: bad revision" msgstr "%s:错误的版本" -#: sequencer.c:1129 +#: sequencer.c:1130 msgid "Can't revert as initial commit" msgstr "ä¸èƒ½ä½œä¸ºåˆå§‹æ交还原" -#: sequencer.c:1130 +#: sequencer.c:1131 msgid "Can't cherry-pick into empty head" msgstr "ä¸èƒ½æ‹£é€‰åˆ°ç©ºåˆ†æ”¯" @@ -1215,400 +1283,493 @@ msgstr "" "å¯èƒ½éœ€è¦åˆ 除它们。用 \"git config advice.objectNameWarning false\"\n" "命令关é—本消æ¯é€šçŸ¥ã€‚" -#: sha1_name.c:1097 +#: sha1_name.c:1112 msgid "HEAD does not point to a branch" msgstr "HEAD 没有指å‘一个分支" -#: sha1_name.c:1100 +#: sha1_name.c:1115 #, c-format msgid "No such branch: '%s'" msgstr "没有æ¤åˆ†æ”¯ï¼š'%s'" -#: sha1_name.c:1102 +#: sha1_name.c:1117 #, c-format msgid "No upstream configured for branch '%s'" msgstr "尚未给分支 '%s' 设置上游" -#: sha1_name.c:1106 +#: sha1_name.c:1121 #, c-format msgid "Upstream branch '%s' not stored as a remote-tracking branch" msgstr "上游分支 '%s' 没有å˜å‚¨ä¸ºä¸€ä¸ªè¿œç¨‹è·Ÿè¸ªåˆ†æ”¯" -#: wrapper.c:408 +#: submodule.c:64 submodule.c:98 +msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" +msgstr "æ— æ³•ä¿®æ”¹æœªåˆå¹¶çš„ .gitmodules,先解决åˆå¹¶å†²çª" + +#: submodule.c:68 submodule.c:102 +#, c-format +msgid "Could not find section in .gitmodules where path=%s" +msgstr "æ— æ³•åœ¨ .gitmodules ä¸æ‰¾åˆ° path=%s çš„å°èŠ‚" + +#. Maybe the user already did that, don't error out here +#: submodule.c:76 +#, c-format +msgid "Could not update .gitmodules entry %s" +msgstr "ä¸èƒ½æ›´æ–° .gitmodules æ¡ç›® %s" + +#. Maybe the user already did that, don't error out here +#: submodule.c:109 +#, c-format +msgid "Could not remove .gitmodules entry for %s" +msgstr "æ— æ³•ç§»é™¤ %s çš„ .gitmodules æ¡ç›®" + +#: submodule.c:127 +msgid "could not find .gitmodules in index" +msgstr "æ— æ³•åœ¨ç´¢å¼•ä¸æ‰¾åˆ° .gitmodules" + +#: submodule.c:133 +msgid "reading updated .gitmodules failed" +msgstr "读å–æ›´æ–°åŽçš„ .gitmodules 失败" + +#: submodule.c:135 +msgid "unable to stat updated .gitmodules" +msgstr "ä¸èƒ½æžšä¸¾æ›´æ–°åŽçš„ .gitmodules" + +#: submodule.c:139 +msgid "unable to remove .gitmodules from index" +msgstr "ä¸èƒ½ä»Žç´¢å¼•ä¸ç§»é™¤ .gitmodules" + +#: submodule.c:141 +msgid "adding updated .gitmodules failed" +msgstr "æ·»åŠ æ›´æ–°åŽçš„ .gitmodules 失败" + +#: submodule.c:143 +msgid "staging updated .gitmodules failed" +msgstr "å°†æ›´æ–°åŽ .gitmodules æ·»åŠ æš‚å˜åŒºå¤±è´¥" + +#: submodule.c:1144 builtin/init-db.c:363 +#, c-format +msgid "Could not create git link %s" +msgstr "ä¸èƒ½åˆ›å»º git link %s" + +#: submodule.c:1155 +#, c-format +msgid "Could not set core.worktree in %s" +msgstr "ä¸èƒ½åœ¨ %s ä¸è®¾ç½® core.worktree" + +#: urlmatch.c:120 +msgid "invalid URL scheme name or missing '://' suffix" +msgstr "æ— æ•ˆçš„ URL 方案å称或丢失 '://' åŽç¼€" + +#: urlmatch.c:144 urlmatch.c:297 urlmatch.c:356 +#, c-format +msgid "invalid %XX escape sequence" +msgstr "æ— æ•ˆçš„ %XX 转义åºåˆ—" + +#: urlmatch.c:172 +msgid "missing host and scheme is not 'file:'" +msgstr "缺失主机å且URL方案ä¸æ˜¯ 'file:'" + +#: urlmatch.c:189 +msgid "a 'file:' URL may not have a port number" +msgstr "一个 'file:' URL ä¸åº”该包å«ç«¯å£å·" + +#: urlmatch.c:199 +msgid "invalid characters in host name" +msgstr "主机åä¸åŒ…å«æ— 效的å—符" + +#: urlmatch.c:244 urlmatch.c:255 +msgid "invalid port number" +msgstr "æ— æ•ˆçš„ç«¯å£å·" + +#: urlmatch.c:322 +msgid "invalid '..' path segment" +msgstr "æ— æ•ˆçš„ '..' 路径片段" + +#: wrapper.c:422 #, c-format msgid "unable to access '%s': %s" msgstr "ä¸èƒ½è®¿é—® '%s':%s" -#: wrapper.c:429 +#: wrapper.c:443 #, c-format msgid "unable to access '%s'" msgstr "ä¸èƒ½è®¿é—® '%s'" -#: wrapper.c:440 +#: wrapper.c:454 #, c-format msgid "unable to look up current user in the passwd file: %s" msgstr "æ— æ³•åœ¨å£ä»¤æ–‡ä»¶ä¸æŸ¥è¯¢åˆ°å½“å‰ç”¨æˆ·ï¼š%s" -#: wrapper.c:441 +#: wrapper.c:455 msgid "no such user" msgstr "æ— æ¤ç”¨æˆ·" -#: wt-status.c:141 +#: wt-status.c:146 msgid "Unmerged paths:" msgstr "未åˆå¹¶çš„路径:" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:168 wt-status.c:195 +#: wt-status.c:173 wt-status.c:200 #, c-format msgid " (use \"git reset %s <file>...\" to unstage)" msgstr " (使用 \"git reset %s <file>...\" 撤出暂å˜åŒºï¼‰" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:170 wt-status.c:197 +#: wt-status.c:175 wt-status.c:202 msgid " (use \"git rm --cached <file>...\" to unstage)" msgstr " (使用 \"git rm --cached <file>...\" 撤出暂å˜åŒºï¼‰" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:174 +#: wt-status.c:179 msgid " (use \"git add <file>...\" to mark resolution)" msgstr " (使用 \"git add <file>...\" æ ‡è®°è§£å†³æ–¹æ¡ˆï¼‰" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:176 wt-status.c:180 +#: wt-status.c:181 wt-status.c:185 msgid " (use \"git add/rm <file>...\" as appropriate to mark resolution)" msgstr " (酌情使用 \"git add/rm <file>...\" æ ‡è®°è§£å†³æ–¹æ¡ˆï¼‰" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:178 +#: wt-status.c:183 msgid " (use \"git rm <file>...\" to mark resolution)" msgstr " (使用 \"git rm <file>...\" æ ‡è®°è§£å†³æ–¹æ¡ˆï¼‰" -#: wt-status.c:189 +#: wt-status.c:194 msgid "Changes to be committed:" msgstr "è¦æ交的å˜æ›´ï¼š" -#: wt-status.c:207 +#: wt-status.c:212 msgid "Changes not staged for commit:" msgstr "尚未暂å˜ä»¥å¤‡æ交的å˜æ›´ï¼š" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:211 +#: wt-status.c:216 msgid " (use \"git add <file>...\" to update what will be committed)" msgstr " (使用 \"git add <file>...\" æ›´æ–°è¦æ交的内容)" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:213 +#: wt-status.c:218 msgid " (use \"git add/rm <file>...\" to update what will be committed)" msgstr " (使用 \"git add/rm <file>...\" æ›´æ–°è¦æ交的内容)" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:214 +#: wt-status.c:219 msgid "" " (use \"git checkout -- <file>...\" to discard changes in working directory)" msgstr " (使用 \"git checkout -- <file>...\" 丢弃工作区的改动)" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:216 +#: wt-status.c:221 msgid " (commit or discard the untracked or modified content in submodules)" msgstr " (æ交或丢弃å模组ä¸æœªè·Ÿè¸ªæˆ–修改的内容)" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:228 +#: wt-status.c:233 #, c-format msgid " (use \"git %s <file>...\" to include in what will be committed)" msgstr " (使用 \"git %s <file>...\" 以包å«è¦æ交的内容)" -#: wt-status.c:245 +#: wt-status.c:250 msgid "bug" msgstr "bug" -#: wt-status.c:250 +#: wt-status.c:255 msgid "both deleted:" msgstr "åŒæ–¹åˆ 除:" -#: wt-status.c:251 +#: wt-status.c:256 msgid "added by us:" msgstr "ç”±æˆ‘ä»¬æ·»åŠ ï¼š" -#: wt-status.c:252 +#: wt-status.c:257 msgid "deleted by them:" msgstr "ç”±ä»–ä»¬åˆ é™¤ï¼š" -#: wt-status.c:253 +#: wt-status.c:258 msgid "added by them:" msgstr "ç”±ä»–ä»¬æ·»åŠ ï¼š" -#: wt-status.c:254 +#: wt-status.c:259 msgid "deleted by us:" msgstr "ç”±æˆ‘ä»¬åˆ é™¤ï¼š" -#: wt-status.c:255 +#: wt-status.c:260 msgid "both added:" msgstr "åŒæ–¹æ·»åŠ :" -#: wt-status.c:256 +#: wt-status.c:261 msgid "both modified:" msgstr "åŒæ–¹ä¿®æ”¹ï¼š" # 译者:末尾两个å—节å¯èƒ½è¢«åˆ å‡ï¼Œå¦‚果翻译为ä¸æ–‡æ ‡ç‚¹ä¼šå‡ºçŽ°åŠä¸ªæ±‰å— -#: wt-status.c:286 +#: wt-status.c:291 msgid "new commits, " msgstr "æ–°æ交, " # 译者:末尾两个å—节å¯èƒ½è¢«åˆ å‡ï¼Œå¦‚果翻译为ä¸æ–‡æ ‡ç‚¹ä¼šå‡ºçŽ°åŠä¸ªæ±‰å— -#: wt-status.c:288 +#: wt-status.c:293 msgid "modified content, " msgstr "修改的内容, " # 译者:末尾两个å—节å¯èƒ½è¢«åˆ å‡ï¼Œå¦‚果翻译为ä¸æ–‡æ ‡ç‚¹ä¼šå‡ºçŽ°åŠä¸ªæ±‰å— -#: wt-status.c:290 +#: wt-status.c:295 msgid "untracked content, " msgstr "未跟踪的内容, " # 译者:为ä¿è¯åœ¨è¾“出ä¸å¯¹é½ï¼Œæ³¨æ„调整å¥ä¸ç©ºæ ¼ï¼ -#: wt-status.c:307 +#: wt-status.c:312 #, c-format msgid "new file: %s" msgstr "新文件: %s" # 译者:为ä¿è¯åœ¨è¾“出ä¸å¯¹é½ï¼Œæ³¨æ„调整å¥ä¸ç©ºæ ¼ï¼ -#: wt-status.c:310 +#: wt-status.c:315 #, c-format msgid "copied: %s -> %s" msgstr "æ‹·è´ï¼š %s -> %s" # 译者:为ä¿è¯åœ¨è¾“出ä¸å¯¹é½ï¼Œæ³¨æ„调整å¥ä¸ç©ºæ ¼ï¼ -#: wt-status.c:313 +#: wt-status.c:318 #, c-format msgid "deleted: %s" msgstr "åˆ é™¤ï¼š %s" # 译者:为ä¿è¯åœ¨è¾“出ä¸å¯¹é½ï¼Œæ³¨æ„调整å¥ä¸ç©ºæ ¼ï¼ -#: wt-status.c:316 +#: wt-status.c:321 #, c-format msgid "modified: %s" msgstr "修改: %s" # 译者:为ä¿è¯åœ¨è¾“出ä¸å¯¹é½ï¼Œæ³¨æ„调整å¥ä¸ç©ºæ ¼ï¼ -#: wt-status.c:319 +#: wt-status.c:324 #, c-format msgid "renamed: %s -> %s" msgstr "é‡å‘½å: %s -> %s" # 译者:为ä¿è¯åœ¨è¾“出ä¸å¯¹é½ï¼Œæ³¨æ„调整å¥ä¸ç©ºæ ¼ï¼ -#: wt-status.c:322 +#: wt-status.c:327 #, c-format msgid "typechange: %s" msgstr "类型å˜æ›´ï¼š %s" # 译者:为ä¿è¯åœ¨è¾“出ä¸å¯¹é½ï¼Œæ³¨æ„调整å¥ä¸ç©ºæ ¼ï¼ -#: wt-status.c:325 +#: wt-status.c:330 #, c-format msgid "unknown: %s" msgstr "未知: %s" # 译者:为ä¿è¯åœ¨è¾“出ä¸å¯¹é½ï¼Œæ³¨æ„调整å¥ä¸ç©ºæ ¼ï¼ -#: wt-status.c:328 +#: wt-status.c:333 #, c-format msgid "unmerged: %s" msgstr "未åˆå¹¶ï¼š %s" -#: wt-status.c:331 +#: wt-status.c:336 #, c-format msgid "bug: unhandled diff status %c" msgstr "bug:未处ç†çš„å·®å¼‚çŠ¶æ€ %c" -#: wt-status.c:803 +#: wt-status.c:703 +msgid "Submodules changed but not updated:" +msgstr "å模组已修改但尚未更新:" + +#: wt-status.c:705 +msgid "Submodule changes to be committed:" +msgstr "è¦æ交的å模组å˜æ›´ï¼š" + +#: wt-status.c:848 msgid "You have unmerged paths." msgstr "您有尚未åˆå¹¶çš„路径。" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:806 +#: wt-status.c:851 msgid " (fix conflicts and run \"git commit\")" msgstr " (解决冲çªå¹¶è¿è¡Œ \"git commit\")" -#: wt-status.c:809 +#: wt-status.c:854 msgid "All conflicts fixed but you are still merging." msgstr "所有冲çªå·²è§£å†³ä½†æ‚¨ä»å¤„于åˆå¹¶ä¸ã€‚" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:812 +#: wt-status.c:857 msgid " (use \"git commit\" to conclude merge)" msgstr " (使用 \"git commit\" 结æŸåˆå¹¶ï¼‰" -#: wt-status.c:822 +#: wt-status.c:867 msgid "You are in the middle of an am session." msgstr "您æ£å¤„于一个 am 过程ä¸ã€‚" -#: wt-status.c:825 +#: wt-status.c:870 msgid "The current patch is empty." msgstr "当å‰çš„è¡¥ä¸ä¸ºç©ºã€‚" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:829 +#: wt-status.c:874 msgid " (fix conflicts and then run \"git am --continue\")" msgstr " (解决冲çªï¼Œç„¶åŽè¿è¡Œ \"git am --continue\")" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:831 +#: wt-status.c:876 msgid " (use \"git am --skip\" to skip this patch)" msgstr " (使用 \"git am --skip\" 跳过æ¤è¡¥ä¸ï¼‰" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:833 +#: wt-status.c:878 msgid " (use \"git am --abort\" to restore the original branch)" msgstr " (使用 \"git am --abort\" æ¢å¤åŽŸæœ‰åˆ†æ”¯ï¼‰" -#: wt-status.c:893 wt-status.c:910 +#: wt-status.c:938 wt-status.c:955 #, c-format msgid "You are currently rebasing branch '%s' on '%s'." msgstr "您æ£åœ¨å°†åˆ†æ”¯ '%s' å˜åŸºåˆ° '%s'。" -#: wt-status.c:898 wt-status.c:915 +#: wt-status.c:943 wt-status.c:960 msgid "You are currently rebasing." msgstr "您æ£åœ¨å˜åŸºã€‚" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:901 +#: wt-status.c:946 msgid " (fix conflicts and then run \"git rebase --continue\")" msgstr " (解决冲çªï¼Œç„¶åŽè¿è¡Œ \"git rebase --continue\")" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:903 +#: wt-status.c:948 msgid " (use \"git rebase --skip\" to skip this patch)" msgstr " (使用 \"git rebase --skip\" 跳过æ¤è¡¥ä¸ï¼‰" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:905 +#: wt-status.c:950 msgid " (use \"git rebase --abort\" to check out the original branch)" msgstr " (使用 \"git rebase --abort\" 以检出原有分支)" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:918 +#: wt-status.c:963 msgid " (all conflicts fixed: run \"git rebase --continue\")" msgstr " (所有冲çªå·²è§£å†³ï¼šè¿è¡Œ \"git rebase --continue\")" -#: wt-status.c:922 +#: wt-status.c:967 #, c-format msgid "" "You are currently splitting a commit while rebasing branch '%s' on '%s'." msgstr "您æ£åœ¨å°†åˆ†æ”¯ '%s' å˜åŸºåˆ° '%s' 过程ä¸æ‹†åˆ†ä¸€ä¸ªæ交。" -#: wt-status.c:927 +#: wt-status.c:972 msgid "You are currently splitting a commit during a rebase." msgstr "您æ£åœ¨å˜åŸºè¿‡ç¨‹ä¸æ‹†åˆ†ä¸€ä¸ªæ交。" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:930 +#: wt-status.c:975 msgid " (Once your working directory is clean, run \"git rebase --continue\")" msgstr " (一旦您工作目录æ交干净åŽï¼Œè¿è¡Œ \"git rebase --continue\")" -#: wt-status.c:934 +#: wt-status.c:979 #, c-format msgid "You are currently editing a commit while rebasing branch '%s' on '%s'." msgstr "您æ£åœ¨å°†åˆ†æ”¯ '%s' å˜åŸºåˆ° '%s' 过程ä¸ç¼–辑一个æ交。" -#: wt-status.c:939 +#: wt-status.c:984 msgid "You are currently editing a commit during a rebase." msgstr "您æ£åœ¨å˜åŸºè¿‡ç¨‹ä¸ç¼–辑一个æ交。" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:942 +#: wt-status.c:987 msgid " (use \"git commit --amend\" to amend the current commit)" msgstr " (使用 \"git commit --amend\" 修补当å‰æ交)" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:944 +#: wt-status.c:989 msgid "" " (use \"git rebase --continue\" once you are satisfied with your changes)" msgstr " (当您对您的修改满æ„åŽæ‰§è¡Œ \"git rebase --continue\")" -#: wt-status.c:954 -msgid "You are currently cherry-picking." -msgstr "您æ£åœ¨åšæ‹£é€‰æ“作。" +#: wt-status.c:999 +#, c-format +msgid "You are currently cherry-picking commit %s." +msgstr "您æ£åœ¨åšæ‹£é€‰æ交 %s。" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:958 +#: wt-status.c:1004 msgid " (fix conflicts and run \"git cherry-pick --continue\")" msgstr " (解决冲çªå¹¶è¿è¡Œ \"git cherry-pick --continue\")" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:961 +#: wt-status.c:1007 msgid " (all conflicts fixed: run \"git cherry-pick --continue\")" msgstr " (所有冲çªå·²è§£å†³ï¼šè¿è¡Œ \"git cherry-pick --continue\")" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:963 +#: wt-status.c:1009 msgid " (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)" msgstr " (使用 \"git cherry-pick --abort\" 以å–消拣选æ“作)" -#: wt-status.c:972 +#: wt-status.c:1018 #, c-format msgid "You are currently reverting commit %s." msgstr "您æ£åœ¨å转æ交 %s 。" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:977 +#: wt-status.c:1023 msgid " (fix conflicts and run \"git revert --continue\")" msgstr " (解决冲çªå¹¶è¿è¡Œ \"git revert --continue\")" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:980 +#: wt-status.c:1026 msgid " (all conflicts fixed: run \"git revert --continue\")" msgstr " (所有冲çªå·²è§£å†³ï¼šè¿è¡Œ \"git revert --continue\")" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:982 +#: wt-status.c:1028 msgid " (use \"git revert --abort\" to cancel the revert operation)" msgstr " (使用 \"git revert --abort\" 以å–消å转æ交æ“作)" -#: wt-status.c:993 +#: wt-status.c:1039 #, c-format msgid "You are currently bisecting, started from branch '%s'." msgstr "您æ£åœ¨ä»Žåˆ†æ”¯ '%s' 开始åšäºŒåˆ†æŸ¥æ‰¾ã€‚" -#: wt-status.c:997 +#: wt-status.c:1043 msgid "You are currently bisecting." msgstr "您æ£åœ¨åšäºŒåˆ†æŸ¥æ‰¾ã€‚" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: wt-status.c:1000 +#: wt-status.c:1046 msgid " (use \"git bisect reset\" to get back to the original branch)" msgstr " (使用 \"git bisect reset\" 以回到原有分支)" -#: wt-status.c:1173 +#: wt-status.c:1221 msgid "On branch " msgstr "ä½äºŽåˆ†æ”¯ " -#: wt-status.c:1180 +#: wt-status.c:1228 msgid "rebase in progress; onto " msgstr "å˜åŸºæ£åœ¨è¿›è¡Œä¸ï¼›è‡³ " -#: wt-status.c:1187 +#: wt-status.c:1235 msgid "HEAD detached at " msgstr "头指针分离于 " -#: wt-status.c:1189 +#: wt-status.c:1237 msgid "HEAD detached from " msgstr "头指针分离自 " -#: wt-status.c:1192 +#: wt-status.c:1240 msgid "Not currently on any branch." msgstr "当å‰ä¸åœ¨ä»»ä½•åˆ†æ”¯ä¸Šã€‚" -#: wt-status.c:1209 +#: wt-status.c:1257 msgid "Initial commit" msgstr "åˆå§‹æ交" -#: wt-status.c:1223 +#: wt-status.c:1271 msgid "Untracked files" msgstr "未跟踪的文件" -#: wt-status.c:1225 +#: wt-status.c:1273 msgid "Ignored files" msgstr "忽略的文件" -#: wt-status.c:1229 +#: wt-status.c:1277 #, c-format msgid "" "It took %.2f seconds to enumerate untracked files. 'status -uno'\n" @@ -1618,97 +1779,101 @@ msgstr "" "耗费了 %.2f 秒以枚举未跟踪的文件。'status -uno' 也许能æ高速度,\n" "但您需è¦å°å¿ƒä¸è¦å¿˜äº†æ·»åŠ 新文件(å‚è§ 'git help status')。" -#: wt-status.c:1235 +#: wt-status.c:1283 #, c-format msgid "Untracked files not listed%s" msgstr "未跟踪的文件没有列出%s" # 译者:ä¸æ–‡å—符串拼接,å¯åˆ 除å‰å¯¼ç©ºæ ¼ -#: wt-status.c:1237 +#: wt-status.c:1285 msgid " (use -u option to show untracked files)" msgstr "(使用 -u å‚数显示未跟踪的文件)" -#: wt-status.c:1243 +#: wt-status.c:1291 msgid "No changes" msgstr "没有修改" -#: wt-status.c:1248 +#: wt-status.c:1296 #, 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:1251 +#: wt-status.c:1299 #, c-format msgid "no changes added to commit\n" msgstr "ä¿®æ”¹å°šæœªåŠ å…¥æ交\n" -#: wt-status.c:1254 +#: wt-status.c:1302 #, c-format msgid "" "nothing added to commit but untracked files present (use \"git add\" to " "track)\n" msgstr "æ交为空,但是å˜åœ¨å°šæœªè·Ÿè¸ªçš„文件(使用 \"git add\" 建立跟踪)\n" -#: wt-status.c:1257 +#: wt-status.c:1305 #, c-format msgid "nothing added to commit but untracked files present\n" msgstr "æ交为空,但是å˜åœ¨å°šæœªè·Ÿè¸ªçš„文件\n" # 译者:ä¸æ–‡å—符串拼接,å¯åˆ 除å‰å¯¼ç©ºæ ¼ -#: wt-status.c:1260 +#: wt-status.c:1308 #, c-format msgid "nothing to commit (create/copy files and use \"git add\" to track)\n" msgstr "æ— æ–‡ä»¶è¦æ交(创建/æ‹·è´æ–‡ä»¶å¹¶ä½¿ç”¨ \"git add\" 建立跟踪)\n" -#: wt-status.c:1263 wt-status.c:1268 +#: wt-status.c:1311 wt-status.c:1316 #, c-format msgid "nothing to commit\n" msgstr "æ— æ–‡ä»¶è¦æ交\n" # 译者:ä¸æ–‡å—符串拼接,å¯åˆ 除å‰å¯¼ç©ºæ ¼ -#: wt-status.c:1266 +#: wt-status.c:1314 #, c-format msgid "nothing to commit (use -u to show untracked files)\n" msgstr "æ— æ–‡ä»¶è¦æ交(使用 -u 显示未跟踪的文件)\n" # 译者:ä¸æ–‡å—符串拼接,å¯åˆ 除å‰å¯¼ç©ºæ ¼ -#: wt-status.c:1270 +#: wt-status.c:1318 #, c-format msgid "nothing to commit, working directory clean\n" msgstr "æ— æ–‡ä»¶è¦æ交,干净的工作区\n" -#: wt-status.c:1378 +#: wt-status.c:1427 msgid "HEAD (no branch)" msgstr "HEAD(éžåˆ†æ”¯ï¼‰" # 译者:注æ„ä¿æŒå¥å°¾ç©ºæ ¼ -#: wt-status.c:1384 +#: wt-status.c:1433 msgid "Initial commit on " msgstr "åˆå§‹æ交于 " +#: wt-status.c:1463 +msgid "gone" +msgstr "丢失" + # 译者:注æ„ä¿æŒå¥å°¾ç©ºæ ¼ -#: wt-status.c:1399 +#: wt-status.c:1465 msgid "behind " msgstr "è½åŽ " # 译者:注æ„ä¿æŒå¥å°¾ç©ºæ ¼ -#: wt-status.c:1402 wt-status.c:1405 +#: wt-status.c:1468 wt-status.c:1471 msgid "ahead " msgstr "领先 " # 译者:注æ„ä¿æŒå¥å°¾ç©ºæ ¼ -#: wt-status.c:1407 +#: wt-status.c:1473 msgid ", behind " msgstr ",è½åŽ " -#: compat/precompose_utf8.c:58 builtin/clone.c:351 +#: compat/precompose_utf8.c:55 builtin/clone.c:350 #, c-format msgid "failed to unlink '%s'" msgstr "æ— æ³•åˆ é™¤ '%s'" #: builtin/add.c:20 msgid "git add [options] [--] <pathspec>..." -msgstr "git add [选项] [--] <路径匹é…>..." +msgstr "git add [选项] [--] <路径规则>..." # 译者:å—符串首行行首è¦æ·»åŠ “warning: â€å—串,故æ¤é¦–è¡Œè¦è¾ƒå…¶ä½™è¡ŒçŸ #. @@ -1774,10 +1939,10 @@ msgstr "" "åƒæœ¬åœ°å·¥ä½œåŒºç§»é™¤çš„路径 '%s'\n" "在æ¤ç‰ˆæœ¬çš„ Git ä¸è¢«å¿½ç•¥ã€‚\n" "\n" -"* 'git add --ignore-removal <pathspec>',是当å‰ç‰ˆæœ¬çš„默认æ“作,\n" +"* 'git add --ignore-removal <路径规则>',是当å‰ç‰ˆæœ¬çš„默认æ“作,\n" " 忽略您本地工作区ä¸ç§»é™¤çš„文件。\n" "\n" -"* 'git add --all <pathspec>' 将让您åŒæ—¶å¯¹åˆ 除æ“作进行记录。\n" +"* 'git add --all <路径规则>' 将让您åŒæ—¶å¯¹åˆ 除æ“作进行记录。\n" "\n" "è¿è¡Œ 'git status' æ¥æ£€æŸ¥æ‚¨æœ¬åœ°å·¥ä½œåŒºä¸ç§»é™¤çš„路径。\n" @@ -1786,7 +1951,7 @@ msgstr "" msgid "unexpected diff status %c" msgstr "æ„å¤–çš„å·®å¼‚çŠ¶æ€ %c" -#: builtin/add.c:149 builtin/commit.c:252 +#: builtin/add.c:149 builtin/commit.c:260 msgid "updating files failed" msgstr "更新文件失败" @@ -1795,140 +1960,135 @@ msgstr "更新文件失败" msgid "remove '%s'\n" msgstr "åˆ é™¤ '%s'\n" -#: builtin/add.c:253 +#: builtin/add.c:237 msgid "Unstaged changes after refreshing the index:" msgstr "刷新索引之åŽå°šæœªè¢«æš‚å˜çš„å˜æ›´ï¼š" -#: builtin/add.c:256 builtin/add.c:573 builtin/rm.c:337 -#, c-format -msgid "pathspec '%s' did not match any files" -msgstr "路径 '%s' 未匹é…任何文件" - -#: builtin/add.c:339 +#: builtin/add.c:299 msgid "Could not read the index" msgstr "ä¸èƒ½è¯»å–索引" -#: builtin/add.c:350 +#: builtin/add.c:310 #, c-format msgid "Could not open '%s' for writing." msgstr "ä¸èƒ½æ‰“å¼€ '%s' 以写入。" -#: builtin/add.c:354 +#: builtin/add.c:314 msgid "Could not write patch" msgstr "ä¸èƒ½ç”Ÿæˆè¡¥ä¸" -#: builtin/add.c:359 +#: builtin/add.c:319 #, c-format msgid "Could not stat '%s'" msgstr "ä¸èƒ½æŸ¥çœ‹æ–‡ä»¶çŠ¶æ€ '%s'" -#: builtin/add.c:361 +#: builtin/add.c:321 msgid "Empty patch. Aborted." msgstr "空补ä¸ã€‚异常终æ¢ã€‚" -#: builtin/add.c:367 +#: builtin/add.c:327 #, c-format msgid "Could not apply '%s'" msgstr "ä¸èƒ½åº”用 '%s'" -#: builtin/add.c:377 +#: builtin/add.c:337 msgid "The following paths are ignored by one of your .gitignore files:\n" msgstr "ä¸‹åˆ—è·¯å¾„æ ¹æ®æ‚¨çš„一个 .gitignore 文件而被忽略:\n" -#: builtin/add.c:394 builtin/clean.c:875 builtin/fetch.c:78 builtin/mv.c:63 -#: builtin/prune-packed.c:73 builtin/push.c:451 builtin/remote.c:1253 -#: builtin/rm.c:268 +#: builtin/add.c:354 builtin/clean.c:875 builtin/fetch.c:92 builtin/mv.c:66 +#: builtin/prune-packed.c:73 builtin/push.c:459 builtin/remote.c:1253 +#: builtin/rm.c:269 msgid "dry run" msgstr "æ¼”ä¹ " -#: builtin/add.c:395 builtin/apply.c:4410 builtin/check-ignore.c:19 -#: builtin/commit.c:1220 builtin/count-objects.c:95 builtin/fsck.c:613 -#: builtin/log.c:1573 builtin/mv.c:62 builtin/read-tree.c:113 +#: builtin/add.c:355 builtin/apply.c:4410 builtin/check-ignore.c:19 +#: builtin/commit.c:1249 builtin/count-objects.c:95 builtin/fsck.c:612 +#: builtin/log.c:1592 builtin/mv.c:65 builtin/read-tree.c:113 msgid "be verbose" msgstr "冗长输出" -#: builtin/add.c:397 +#: builtin/add.c:357 msgid "interactive picking" msgstr "交互å¼æ‹£é€‰" -#: builtin/add.c:398 builtin/checkout.c:1073 builtin/reset.c:261 +#: builtin/add.c:358 builtin/checkout.c:1109 builtin/reset.c:272 msgid "select hunks interactively" msgstr "交互å¼æŒ‘选数æ®å—" -#: builtin/add.c:399 +#: builtin/add.c:359 msgid "edit current diff and apply" msgstr "编辑当å‰å·®å¼‚并应用" -#: builtin/add.c:400 +#: builtin/add.c:360 msgid "allow adding otherwise ignored files" msgstr "å…è®¸æ·»åŠ å¿½ç•¥çš„æ–‡ä»¶" -#: builtin/add.c:401 +#: builtin/add.c:361 msgid "update tracked files" msgstr "更新已跟踪的文件" -#: builtin/add.c:402 +#: builtin/add.c:362 msgid "record only the fact that the path will be added later" msgstr "åªè®°å½•ï¼Œè¯¥è·¯å¾„ç¨åŽå†æ·»åŠ " -#: builtin/add.c:403 +#: builtin/add.c:363 msgid "add changes from all tracked and untracked files" msgstr "æ·»åŠ æ‰€æœ‰æ”¹å˜çš„已跟踪文件和未跟踪文件" #. takes no arguments -#: builtin/add.c:406 +#: builtin/add.c:366 msgid "ignore paths removed in the working tree (same as --no-all)" msgstr "忽略工作区ä¸ç§»é™¤çš„路径(和 --no-all 相åŒï¼‰" -#: builtin/add.c:408 +#: builtin/add.c:368 msgid "don't add, only refresh the index" msgstr "ä¸æ·»åŠ ,åªåˆ·æ–°ç´¢å¼•" -#: builtin/add.c:409 +#: builtin/add.c:369 msgid "just skip files which cannot be added because of errors" msgstr "è·³è¿‡å› å‡ºé”™ä¸èƒ½æ·»åŠ 的文件" -#: builtin/add.c:410 +#: builtin/add.c:370 msgid "check if - even missing - files are ignored in dry run" msgstr "æ£€æŸ¥åœ¨æ¼”ä¹ æ¨¡å¼ä¸‹æ–‡ä»¶ï¼ˆå³ä½¿ä¸å˜åœ¨ï¼‰æ˜¯å¦è¢«å¿½ç•¥" -#: builtin/add.c:432 +#: builtin/add.c:392 #, c-format msgid "Use -f if you really want to add them.\n" msgstr "使用 -f å‚数如果您确实è¦æ·»åŠ 它们。\n" -#: builtin/add.c:433 +#: builtin/add.c:393 msgid "no files added" msgstr "æ²¡æœ‰æ–‡ä»¶è¢«æ·»åŠ " -#: builtin/add.c:439 +#: builtin/add.c:399 msgid "adding files failed" msgstr "æ·»åŠ æ–‡ä»¶å¤±è´¥" -#: builtin/add.c:478 +#: builtin/add.c:438 msgid "-A and -u are mutually incompatible" msgstr "-A å’Œ -u 选项互斥" -#: builtin/add.c:496 +#: builtin/add.c:456 msgid "Option --ignore-missing can only be used together with --dry-run" msgstr "选项 --ignore-missing åªèƒ½å’Œ --dry-run åŒæ—¶ä½¿ç”¨" -#: builtin/add.c:526 +#: builtin/add.c:486 #, c-format msgid "Nothing specified, nothing added.\n" msgstr "æ²¡æœ‰æŒ‡å®šæ–‡ä»¶ï¼Œä¹Ÿæ²¡æœ‰æ–‡ä»¶è¢«æ·»åŠ ã€‚\n" -#: builtin/add.c:527 +#: builtin/add.c:487 #, c-format msgid "Maybe you wanted to say 'git add .'?\n" msgstr "也许您想è¦æ‰§è¡Œ 'git add .'?\n" -#: builtin/add.c:533 builtin/check-ignore.c:161 builtin/clean.c:919 -#: builtin/commit.c:312 builtin/mv.c:82 builtin/rm.c:297 +#: builtin/add.c:492 builtin/check-ignore.c:172 builtin/clean.c:919 +#: builtin/commit.c:320 builtin/mv.c:86 builtin/reset.c:224 builtin/rm.c:299 msgid "index file corrupt" msgstr "索引文件æŸå" -#: builtin/add.c:605 builtin/apply.c:4506 builtin/mv.c:229 builtin/rm.c:432 +#: builtin/add.c:589 builtin/apply.c:4506 builtin/mv.c:259 builtin/rm.c:432 msgid "Unable to write new index file" msgstr "æ— æ³•å†™å…¥æ–°ç´¢å¼•æ–‡ä»¶" @@ -2176,7 +2336,7 @@ msgstr "%s:补ä¸æœªåº”用" msgid "Checking patch %s..." msgstr "æ£€æŸ¥è¡¥ä¸ %s..." -#: builtin/apply.c:3680 builtin/checkout.c:216 builtin/reset.c:127 +#: builtin/apply.c:3680 builtin/checkout.c:213 builtin/reset.c:127 #, c-format msgid "make_cache_entry failed for path '%s'" msgstr "对路径 '%s' çš„ make_cache_entry æ“作失败" @@ -2256,8 +2416,8 @@ msgstr "未能识别的输入" msgid "unable to read index file" msgstr "æ— æ³•è¯»å–索引文件" -#: builtin/apply.c:4357 builtin/apply.c:4360 builtin/clone.c:91 -#: builtin/fetch.c:63 +#: builtin/apply.c:4357 builtin/apply.c:4360 builtin/clone.c:90 +#: builtin/fetch.c:77 msgid "path" msgstr "路径" @@ -2317,7 +2477,7 @@ msgstr "如果一个补ä¸ä¸èƒ½åº”用则å°è¯•ä¸‰è·¯åˆå¹¶" msgid "build a temporary index based on embedded index information" msgstr "创建一个临时索引基于嵌入的索引信æ¯" -#: builtin/apply.c:4389 builtin/checkout-index.c:197 builtin/ls-files.c:462 +#: builtin/apply.c:4389 builtin/checkout-index.c:197 builtin/ls-files.c:452 msgid "paths are separated with NUL character" msgstr "路径以 NUL å—符分隔" @@ -2447,103 +2607,103 @@ msgstr "执行 'git bisect next'" msgid "update BISECT_HEAD instead of checking out the current commit" msgstr "æ›´æ–° BISECT_HEAD 而éžæ£€å‡ºå½“å‰æ交" -#: builtin/blame.c:26 +#: builtin/blame.c:27 msgid "git blame [options] [rev-opts] [rev] [--] file" msgstr "git blame [选项] [版本选项] [版本] [--] 文件" -#: builtin/blame.c:31 +#: builtin/blame.c:32 msgid "[rev-opts] are documented in git-rev-list(1)" msgstr "[版本选项] 的文档记录在 git-rev-list(1) ä¸" -#: builtin/blame.c:2276 +#: builtin/blame.c:2248 msgid "Show blame entries as we find them, incrementally" msgstr "增é‡å¼åœ°æ˜¾ç¤ºå‘现的 blame æ¡ç›®" -#: builtin/blame.c:2277 +#: builtin/blame.c:2249 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "边界æ交显示空的 SHA-1(默认:关é—)" -#: builtin/blame.c:2278 +#: builtin/blame.c:2250 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "ä¸æŠŠæ ¹æ交作为边界(默认:关é—)" -#: builtin/blame.c:2279 +#: builtin/blame.c:2251 msgid "Show work cost statistics" msgstr "显示命令消耗统计" -#: builtin/blame.c:2280 +#: builtin/blame.c:2252 msgid "Show output score for blame entries" msgstr "æ˜¾ç¤ºåˆ¤æ– blame æ¡ç›®ä½ç§»çš„得分诊æ–ä¿¡æ¯" -#: builtin/blame.c:2281 +#: builtin/blame.c:2253 msgid "Show original filename (Default: auto)" msgstr "显示原始文件å(默认:自动)" -#: builtin/blame.c:2282 +#: builtin/blame.c:2254 msgid "Show original linenumber (Default: off)" msgstr "显示原始的行å·ï¼ˆé»˜è®¤ï¼šå…³é—)" -#: builtin/blame.c:2283 +#: builtin/blame.c:2255 msgid "Show in a format designed for machine consumption" msgstr "显示为一个适åˆæœºå™¨è¯»å–çš„æ ¼å¼" -#: builtin/blame.c:2284 +#: builtin/blame.c:2256 msgid "Show porcelain format with per-line commit information" msgstr "为æ¯ä¸€è¡Œæ˜¾ç¤ºæœºå™¨é€‚用的æ交信æ¯" -#: builtin/blame.c:2285 +#: builtin/blame.c:2257 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "使用和 git-annotate 相åŒçš„输出模å¼ï¼ˆé»˜è®¤ï¼šå…³é—)" -#: builtin/blame.c:2286 +#: builtin/blame.c:2258 msgid "Show raw timestamp (Default: off)" msgstr "显示原始时间戳(默认:关é—)" -#: builtin/blame.c:2287 +#: builtin/blame.c:2259 msgid "Show long commit SHA1 (Default: off)" msgstr "显示长的SHA1æ交å·ï¼ˆé»˜è®¤ï¼šå…³é—)" -#: builtin/blame.c:2288 +#: builtin/blame.c:2260 msgid "Suppress author name and timestamp (Default: off)" msgstr "éšè—作者åå—和时间戳(默认:关é—)" -#: builtin/blame.c:2289 +#: builtin/blame.c:2261 msgid "Show author email instead of name (Default: off)" msgstr "显示作者的邮箱而ä¸æ˜¯åå—(默认:关é—)" -#: builtin/blame.c:2290 +#: builtin/blame.c:2262 msgid "Ignore whitespace differences" msgstr "忽略空白差异" -#: builtin/blame.c:2291 +#: builtin/blame.c:2263 msgid "Spend extra cycles to find better match" msgstr "花费é¢å¤–的循环æ¥æ‰¾åˆ°æ›´å¥½çš„匹é…" -#: builtin/blame.c:2292 +#: builtin/blame.c:2264 msgid "Use revisions from <file> instead of calling git-rev-list" msgstr "使用æ¥è‡ª <file> 的修订集而ä¸æ˜¯è°ƒç”¨ git-rev-list" -#: builtin/blame.c:2293 +#: builtin/blame.c:2265 msgid "Use <file>'s contents as the final image" msgstr "使用 <file> 的内容作为最终的图片" -#: builtin/blame.c:2294 builtin/blame.c:2295 +#: builtin/blame.c:2266 builtin/blame.c:2267 msgid "score" msgstr "得分" -#: builtin/blame.c:2294 +#: builtin/blame.c:2266 msgid "Find line copies within and across files" msgstr "找到文件内åŠè·¨æ–‡ä»¶çš„行拷è´" -#: builtin/blame.c:2295 +#: builtin/blame.c:2267 msgid "Find line movements within and across files" msgstr "找到文件内åŠè·¨æ–‡ä»¶çš„行移动" -#: builtin/blame.c:2296 +#: builtin/blame.c:2268 msgid "n,m" msgstr "n,m" -#: builtin/blame.c:2296 +#: builtin/blame.c:2268 msgid "Process only line range n,m, counting from 1" msgstr "åªå¤„ç†è¡ŒèŒƒå›´åœ¨ n å’Œ m 之间的,从 1 开始" @@ -2651,273 +2811,283 @@ msgstr "分支 '%s' 未指å‘一个æ交" #: builtin/branch.c:453 #, c-format +msgid "[%s: gone]" +msgstr "[%s: 丢失]" + +#: builtin/branch.c:456 +#, c-format +msgid "[%s]" +msgstr "[%s]" + +#: builtin/branch.c:459 +#, c-format msgid "[%s: behind %d]" msgstr "[%s:è½åŽ %d]" -#: builtin/branch.c:455 +#: builtin/branch.c:461 #, c-format msgid "[behind %d]" msgstr "[è½åŽ %d]" -#: builtin/branch.c:459 +#: builtin/branch.c:465 #, c-format msgid "[%s: ahead %d]" msgstr "[%s:领先 %d]" -#: builtin/branch.c:461 +#: builtin/branch.c:467 #, c-format msgid "[ahead %d]" msgstr "[领先 %d]" -#: builtin/branch.c:464 +#: builtin/branch.c:470 #, c-format msgid "[%s: ahead %d, behind %d]" msgstr "[%s:领先 %d,è½åŽ %d]" -#: builtin/branch.c:467 +#: builtin/branch.c:473 #, c-format msgid "[ahead %d, behind %d]" msgstr "[领先 %d,è½åŽ %d]" -#: builtin/branch.c:490 +#: builtin/branch.c:496 msgid " **** invalid ref ****" msgstr " **** æ— æ•ˆå¼•ç”¨ ****" -#: builtin/branch.c:582 +#: builtin/branch.c:588 #, c-format msgid "(no branch, rebasing %s)" msgstr "(éžåˆ†æ”¯ï¼Œæ£å˜åŸº %s)" -#: builtin/branch.c:585 +#: builtin/branch.c:591 #, c-format msgid "(no branch, bisect started on %s)" msgstr "(éžåˆ†æ”¯ï¼ŒäºŒåˆ†æŸ¥æ‰¾å¼€å§‹äºŽ %s)" -#: builtin/branch.c:588 +#: builtin/branch.c:594 #, c-format msgid "(detached from %s)" msgstr "(分离自 %s)" -#: builtin/branch.c:591 +#: builtin/branch.c:597 msgid "(no branch)" msgstr "(éžåˆ†æ”¯ï¼‰" -#: builtin/branch.c:637 +#: builtin/branch.c:643 #, c-format msgid "object '%s' does not point to a commit" msgstr "对象 '%s' 没有指å‘一个æ交" -#: builtin/branch.c:669 +#: builtin/branch.c:675 msgid "some refs could not be read" msgstr "一些引用ä¸èƒ½è¯»å–" -#: builtin/branch.c:682 +#: builtin/branch.c:688 msgid "cannot rename the current branch while not on any." msgstr "æ— æ³•é‡å‘½å当å‰åˆ†æ”¯å› 为ä¸å¤„于任何分支上。" -#: builtin/branch.c:692 +#: builtin/branch.c:698 #, c-format msgid "Invalid branch name: '%s'" msgstr "æ— æ•ˆçš„åˆ†æ”¯å:'%s'" -#: builtin/branch.c:707 +#: builtin/branch.c:713 msgid "Branch rename failed" msgstr "分支é‡å‘½å失败" -#: builtin/branch.c:711 +#: builtin/branch.c:717 #, c-format msgid "Renamed a misnamed branch '%s' away" msgstr "é‡å‘½å掉一个错误命å的旧分支 '%s'" -#: builtin/branch.c:715 +#: builtin/branch.c:721 #, c-format msgid "Branch renamed to %s, but HEAD is not updated!" msgstr "分支é‡å‘½å为 %s,但 HEAD 没有更新ï¼" -#: builtin/branch.c:722 +#: builtin/branch.c:728 msgid "Branch is renamed, but update of config-file failed" msgstr "分支被é‡å‘½å,但更新 config 文件失败" -#: builtin/branch.c:737 +#: builtin/branch.c:743 #, c-format msgid "malformed object name %s" msgstr "éžæ³•çš„对象å %s" -#: builtin/branch.c:761 +#: builtin/branch.c:767 #, c-format msgid "could not write branch description template: %s" msgstr "ä¸èƒ½å†™åˆ†æ”¯æ述模版:%s" -#: builtin/branch.c:791 +#: builtin/branch.c:797 msgid "Generic options" msgstr "通用选项" -#: builtin/branch.c:793 +#: builtin/branch.c:799 msgid "show hash and subject, give twice for upstream branch" msgstr "显示哈希值和主题,若å‚数出现两次则显示上游分支" -#: builtin/branch.c:794 +#: builtin/branch.c:800 msgid "suppress informational messages" msgstr "ä¸æ˜¾ç¤ºä¿¡æ¯" -#: builtin/branch.c:795 +#: builtin/branch.c:801 msgid "set up tracking mode (see git-pull(1))" msgstr "设置跟踪模å¼ï¼ˆå‚è§ git-pull(1))" -#: builtin/branch.c:797 +#: builtin/branch.c:803 msgid "change upstream info" msgstr "改å˜ä¸Šæ¸¸ä¿¡æ¯" -#: builtin/branch.c:801 +#: builtin/branch.c:807 msgid "use colored output" msgstr "使用彩色输出" -#: builtin/branch.c:802 +#: builtin/branch.c:808 msgid "act on remote-tracking branches" msgstr "作用于远程跟踪分支" -#: builtin/branch.c:805 builtin/branch.c:811 builtin/branch.c:832 -#: builtin/branch.c:838 builtin/commit.c:1433 builtin/commit.c:1434 -#: builtin/commit.c:1435 builtin/commit.c:1436 builtin/tag.c:468 +#: builtin/branch.c:811 builtin/branch.c:817 builtin/branch.c:838 +#: builtin/branch.c:844 builtin/commit.c:1460 builtin/commit.c:1461 +#: builtin/commit.c:1462 builtin/commit.c:1463 builtin/tag.c:468 msgid "commit" msgstr "æ交" -#: builtin/branch.c:806 builtin/branch.c:812 +#: builtin/branch.c:812 builtin/branch.c:818 msgid "print only branches that contain the commit" msgstr "åªæ‰“å°åŒ…å«è¯¥æ交的分支" -#: builtin/branch.c:818 +#: builtin/branch.c:824 msgid "Specific git-branch actions:" msgstr "具体的 git-branch 动作:" -#: builtin/branch.c:819 +#: builtin/branch.c:825 msgid "list both remote-tracking and local branches" msgstr "列出远程跟踪åŠæœ¬åœ°åˆ†æ”¯" -#: builtin/branch.c:821 +#: builtin/branch.c:827 msgid "delete fully merged branch" msgstr "åˆ é™¤å®Œå…¨åˆå¹¶çš„分支" -#: builtin/branch.c:822 +#: builtin/branch.c:828 msgid "delete branch (even if not merged)" msgstr "åˆ é™¤åˆ†æ”¯ï¼ˆå³ä½¿æ²¡æœ‰åˆå¹¶ï¼‰" -#: builtin/branch.c:823 +#: builtin/branch.c:829 msgid "move/rename a branch and its reflog" msgstr "移动/é‡å‘½å一个分支,以åŠå®ƒçš„引用日志" -#: builtin/branch.c:824 +#: builtin/branch.c:830 msgid "move/rename a branch, even if target exists" msgstr "移动/é‡å‘½å一个分支,å³ä½¿ç›®æ ‡å·²å˜åœ¨" -#: builtin/branch.c:825 +#: builtin/branch.c:831 msgid "list branch names" msgstr "列出分支å" -#: builtin/branch.c:826 +#: builtin/branch.c:832 msgid "create the branch's reflog" msgstr "创建分支的引用日志" -#: builtin/branch.c:828 +#: builtin/branch.c:834 msgid "edit the description for the branch" msgstr "æ ‡è®°åˆ†æ”¯çš„æè¿°" -#: builtin/branch.c:829 +#: builtin/branch.c:835 msgid "force creation (when already exists)" msgstr "强制创建(当已ç»å˜åœ¨ï¼‰" -#: builtin/branch.c:832 +#: builtin/branch.c:838 msgid "print only not merged branches" msgstr "åªæ‰“å°æ²¡æœ‰åˆå¹¶çš„分支" -#: builtin/branch.c:838 +#: builtin/branch.c:844 msgid "print only merged branches" msgstr "åªæ‰“å°åˆå¹¶çš„分支" -#: builtin/branch.c:842 +#: builtin/branch.c:848 msgid "list branches in columns" msgstr "以列的方å¼æ˜¾ç¤ºåˆ†æ”¯" -#: builtin/branch.c:855 +#: builtin/branch.c:861 msgid "Failed to resolve HEAD as a valid ref." msgstr "æ— æ³•å°† HEAD 解æžä¸ºæœ‰æ•ˆå¼•ç”¨ã€‚" -#: builtin/branch.c:860 builtin/clone.c:630 +#: builtin/branch.c:866 builtin/clone.c:629 msgid "HEAD not found below refs/heads!" msgstr "HEAD 没有ä½äºŽ /refs/heads 之下ï¼" -#: builtin/branch.c:883 +#: builtin/branch.c:890 msgid "--column and --verbose are incompatible" msgstr "--column å’Œ --verbose ä¸å…¼å®¹" -#: builtin/branch.c:889 builtin/branch.c:928 +#: builtin/branch.c:896 builtin/branch.c:935 msgid "branch name required" msgstr "å¿…é¡»æ供分支å" -#: builtin/branch.c:904 +#: builtin/branch.c:911 msgid "Cannot give description to detached HEAD" msgstr "ä¸èƒ½å‘分离头指针æä¾›æè¿°" -#: builtin/branch.c:909 +#: builtin/branch.c:916 msgid "cannot edit description of more than one branch" msgstr "ä¸èƒ½ä¸ºä¸€ä¸ªä»¥ä¸Šçš„分支编辑æè¿°" -#: builtin/branch.c:916 +#: builtin/branch.c:923 #, c-format msgid "No commit on branch '%s' yet." msgstr "分支 '%s' å°šæ— æ交。" -#: builtin/branch.c:919 +#: builtin/branch.c:926 #, c-format msgid "No branch named '%s'." msgstr "没有分支 '%s'。" -#: builtin/branch.c:934 +#: builtin/branch.c:941 msgid "too many branches for a rename operation" msgstr "为é‡å‘½åæ“作æ供了太多的分支å" -#: builtin/branch.c:939 +#: builtin/branch.c:946 msgid "too many branches to set new upstream" msgstr "为设置新上游æ供了太多的分支å" -#: builtin/branch.c:943 +#: builtin/branch.c:950 #, c-format msgid "" "could not set upstream of HEAD to %s when it does not point to any branch." msgstr "æ— æ³•è®¾ç½® HEAD 的上游为 %sï¼Œå› ä¸º HEAD 没有指å‘任何分支。" -#: builtin/branch.c:946 builtin/branch.c:968 builtin/branch.c:990 +#: builtin/branch.c:953 builtin/branch.c:975 builtin/branch.c:997 #, c-format msgid "no such branch '%s'" msgstr "没有æ¤åˆ†æ”¯ '%s'" -#: builtin/branch.c:950 +#: builtin/branch.c:957 #, c-format msgid "branch '%s' does not exist" msgstr "分支 '%s' ä¸å˜åœ¨" -#: builtin/branch.c:962 +#: builtin/branch.c:969 msgid "too many branches to unset upstream" msgstr "为å–消上游设置æ“作æ供了太多的分支å" -#: builtin/branch.c:966 +#: builtin/branch.c:973 msgid "could not unset upstream of HEAD when it does not point to any branch." msgstr "æ— æ³•å–消 HEAD çš„ä¸Šæ¸¸è®¾ç½®å› ä¸ºå®ƒæ²¡æœ‰æŒ‡å‘一个分支" -#: builtin/branch.c:972 +#: builtin/branch.c:979 #, c-format msgid "Branch '%s' has no upstream information" msgstr "分支 '%s' 没有上游信æ¯" -#: builtin/branch.c:987 +#: builtin/branch.c:994 msgid "it does not make sense to create 'HEAD' manually" msgstr "手工创建 'HEAD' 没有æ„义" -#: builtin/branch.c:993 +#: builtin/branch.c:1000 msgid "-a and -r options to 'git branch' do not make sense with a branch name" msgstr "'git branch' çš„ -a å’Œ -r 选项带一个分支åå‚数没有æ„义" -#: builtin/branch.c:996 +#: builtin/branch.c:1003 #, c-format msgid "" "The --set-upstream flag is deprecated and will be removed. Consider using --" @@ -2925,7 +3095,7 @@ msgid "" msgstr "" "选项 --set-upstream 已弃用并将被移除。考虑使用 --track 或 --set-upstream-to\n" -#: builtin/branch.c:1013 +#: builtin/branch.c:1020 #, c-format msgid "" "\n" @@ -2936,12 +3106,12 @@ msgstr "" "å¦‚æžœä½ æƒ³ç”¨ '%s' 跟踪 '%s', 这么åšï¼š\n" "\n" -#: builtin/branch.c:1014 +#: builtin/branch.c:1021 #, c-format msgid " git branch -d %s\n" msgstr " git branch -d %s\n" -#: builtin/branch.c:1015 +#: builtin/branch.c:1022 #, c-format msgid " git branch --set-upstream-to %s\n" msgstr " git branch --set-upstream-to %s\n" @@ -2959,43 +3129,43 @@ msgstr "需è¦ä¸€ä¸ªç‰ˆæœ¬åº“æ¥åˆ›å»ºåŒ…。" msgid "Need a repository to unbundle." msgstr "需è¦ä¸€ä¸ªç‰ˆæœ¬åº“æ¥è§£åŒ…。" -#: builtin/cat-file.c:285 +#: builtin/cat-file.c:312 msgid "git cat-file (-t|-s|-e|-p|<type>|--textconv) <object>" msgstr "git cat-file (-t|-s|-e|-p|<类型>|--textconv) <对象>" -#: builtin/cat-file.c:286 +#: builtin/cat-file.c:313 msgid "git cat-file (--batch|--batch-check) < <list_of_objects>" msgstr "git cat-file (--batch|--batch-check) < <对象列表>" -#: builtin/cat-file.c:323 +#: builtin/cat-file.c:350 msgid "<type> can be one of: blob, tree, commit, tag" msgstr "<类型> å¯ä»¥æ˜¯å…¶ä¸ä¹‹ä¸€ï¼šblobã€treeã€commitã€tag" -#: builtin/cat-file.c:324 +#: builtin/cat-file.c:351 msgid "show object type" msgstr "显示对象类型" -#: builtin/cat-file.c:325 +#: builtin/cat-file.c:352 msgid "show object size" msgstr "显示对象大å°" -#: builtin/cat-file.c:327 +#: builtin/cat-file.c:354 msgid "exit with zero when there's no error" msgstr "当没有错误时退出并返回零" -#: builtin/cat-file.c:328 +#: builtin/cat-file.c:355 msgid "pretty-print object's content" msgstr "美观地打å°å¯¹è±¡çš„内容" -#: builtin/cat-file.c:330 +#: builtin/cat-file.c:357 msgid "for blob objects, run textconv on object's content" msgstr "对于数æ®ï¼ˆblob)对象,对其内容执行 textconv" -#: builtin/cat-file.c:332 +#: builtin/cat-file.c:359 msgid "show info and content of objects fed from the standard input" msgstr "æ˜¾ç¤ºä»Žæ ‡å‡†è¾“å…¥æ供的对象的信æ¯å’Œå†…容" -#: builtin/cat-file.c:335 +#: builtin/cat-file.c:362 msgid "show info about objects fed from the standard input" msgstr "æ˜¾ç¤ºä»Žæ ‡å‡†è¾“å…¥æ供的对象的信æ¯" @@ -3020,10 +3190,10 @@ msgid "read file names from stdin" msgstr "ä»Žæ ‡å‡†è¾“å…¥è¯»å‡ºæ–‡ä»¶å" #: builtin/check-attr.c:23 builtin/check-ignore.c:24 -msgid "input paths are terminated by a null character" -msgstr "输入路径以nullå—符终æ¢" +msgid "terminate input and output records by a NUL character" +msgstr "输入和输出的记录使用 NUL å—符终结" -#: builtin/check-ignore.c:18 builtin/checkout.c:1054 builtin/gc.c:177 +#: builtin/check-ignore.c:18 builtin/checkout.c:1090 builtin/gc.c:259 msgid "suppress progress reporting" msgstr "ä¸æ˜¾ç¤ºè¿›åº¦æŠ¥å‘Š" @@ -3031,27 +3201,31 @@ msgstr "ä¸æ˜¾ç¤ºè¿›åº¦æŠ¥å‘Š" msgid "show non-matching input paths" msgstr "显示未匹é…的输入路径" -#: builtin/check-ignore.c:143 +#: builtin/check-ignore.c:28 +msgid "ignore index when checking" +msgstr "检查时忽略索引" + +#: builtin/check-ignore.c:154 msgid "cannot specify pathnames with --stdin" msgstr "ä¸èƒ½åŒæ—¶æä¾›è·¯å¾„åŠ --stdin å‚æ•°" -#: builtin/check-ignore.c:146 +#: builtin/check-ignore.c:157 msgid "-z only makes sense with --stdin" msgstr "-z 需è¦å’Œ --stdin å‚数共用æ‰æœ‰æ„义" -#: builtin/check-ignore.c:148 +#: builtin/check-ignore.c:159 msgid "no path specified" msgstr "未指定路径" -#: builtin/check-ignore.c:152 +#: builtin/check-ignore.c:163 msgid "--quiet is only valid with a single pathname" msgstr "å‚æ•° --quiet åªåœ¨æ供一个路径å时有效" -#: builtin/check-ignore.c:154 +#: builtin/check-ignore.c:165 msgid "cannot have both --quiet and --verbose" msgstr "ä¸èƒ½åŒæ—¶æä¾› --quiet å’Œ --verbose å‚æ•°" -#: builtin/check-ignore.c:157 +#: builtin/check-ignore.c:168 msgid "--non-matching is only valid with --verbose" msgstr "--non-matching 选项åªåœ¨ä½¿ç”¨ --verbose 时有效" @@ -3124,107 +3298,107 @@ msgstr "git checkout [选项] <分支>" msgid "git checkout [options] [<branch>] -- <file>..." msgstr "git checkout [选项] [<分支>] -- <文件>..." -#: builtin/checkout.c:117 builtin/checkout.c:150 +#: builtin/checkout.c:114 builtin/checkout.c:147 #, c-format msgid "path '%s' does not have our version" msgstr "路径 '%s' 没有我们的版本" -#: builtin/checkout.c:119 builtin/checkout.c:152 +#: builtin/checkout.c:116 builtin/checkout.c:149 #, c-format msgid "path '%s' does not have their version" msgstr "路径 '%s' 没有他们的版本" -#: builtin/checkout.c:135 +#: builtin/checkout.c:132 #, c-format msgid "path '%s' does not have all necessary versions" msgstr "路径 '%s' 没有全部必须的版本" -#: builtin/checkout.c:179 +#: builtin/checkout.c:176 #, c-format msgid "path '%s' does not have necessary versions" msgstr "路径 '%s' 没有必须的版本" -#: builtin/checkout.c:196 +#: builtin/checkout.c:193 #, c-format msgid "path '%s': cannot merge" msgstr "path '%s'ï¼šæ— æ³•åˆå¹¶" -#: builtin/checkout.c:213 +#: builtin/checkout.c:210 #, c-format msgid "Unable to add merge result for '%s'" msgstr "æ— æ³•ä¸º '%s' æ·»åŠ åˆå¹¶ç»“æžœ" -#: builtin/checkout.c:237 builtin/checkout.c:240 builtin/checkout.c:243 -#: builtin/checkout.c:246 +#: builtin/checkout.c:232 builtin/checkout.c:235 builtin/checkout.c:238 +#: builtin/checkout.c:241 #, c-format msgid "'%s' cannot be used with updating paths" msgstr "'%s' ä¸èƒ½åœ¨æ›´æ–°è·¯å¾„时使用" -#: builtin/checkout.c:249 builtin/checkout.c:252 +#: builtin/checkout.c:244 builtin/checkout.c:247 #, c-format msgid "'%s' cannot be used with %s" msgstr "'%s' ä¸èƒ½å’Œ %s åŒæ—¶ä½¿ç”¨" -#: builtin/checkout.c:255 +#: builtin/checkout.c:250 #, c-format msgid "Cannot update paths and switch to branch '%s' at the same time." msgstr "ä¸èƒ½åŒæ—¶æ›´æ–°è·¯å¾„并切æ¢åˆ°åˆ†æ”¯'%s'。" -#: builtin/checkout.c:266 builtin/checkout.c:458 +#: builtin/checkout.c:261 builtin/checkout.c:451 msgid "corrupt index file" msgstr "æŸå的索引文件" -#: builtin/checkout.c:329 builtin/checkout.c:336 +#: builtin/checkout.c:322 builtin/checkout.c:329 #, c-format msgid "path '%s' is unmerged" msgstr "路径 '%s' 未åˆå¹¶" -#: builtin/checkout.c:480 +#: builtin/checkout.c:473 msgid "you need to resolve your current index first" msgstr "您需è¦å…ˆè§£å†³å½“å‰ç´¢å¼•çš„冲çª" -#: builtin/checkout.c:601 +#: builtin/checkout.c:594 #, c-format msgid "Can not do reflog for '%s'\n" msgstr "ä¸èƒ½å¯¹ '%s' 执行 reflog æ“作\n" -#: builtin/checkout.c:639 +#: builtin/checkout.c:632 msgid "HEAD is now at" msgstr "HEAD ç›®å‰ä½äºŽ" -#: builtin/checkout.c:646 +#: builtin/checkout.c:639 #, c-format msgid "Reset branch '%s'\n" msgstr "é‡ç½®åˆ†æ”¯ '%s'\n" -#: builtin/checkout.c:649 +#: builtin/checkout.c:642 #, c-format msgid "Already on '%s'\n" msgstr "å·²ç»ä½äºŽ '%s'\n" -#: builtin/checkout.c:653 +#: builtin/checkout.c:646 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "切æ¢å¹¶é‡ç½®åˆ†æ”¯ '%s'\n" -#: builtin/checkout.c:655 builtin/checkout.c:997 +#: builtin/checkout.c:648 builtin/checkout.c:1033 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "切æ¢åˆ°ä¸€ä¸ªæ–°åˆ†æ”¯ '%s'\n" -#: builtin/checkout.c:657 +#: builtin/checkout.c:650 #, c-format msgid "Switched to branch '%s'\n" msgstr "切æ¢åˆ°åˆ†æ”¯ '%s'\n" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: builtin/checkout.c:713 +#: builtin/checkout.c:706 #, c-format msgid " ... and %d more.\n" msgstr " ... åŠå…¶å®ƒ %d 个。\n" #. The singular version -#: builtin/checkout.c:719 +#: builtin/checkout.c:712 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -3245,7 +3419,7 @@ msgstr[1] "" "\n" "%s\n" -#: builtin/checkout.c:737 +#: builtin/checkout.c:730 #, c-format msgid "" "If you want to keep them by creating a new branch, this may be a good time\n" @@ -3260,136 +3434,140 @@ msgstr "" " git branch new_branch_name %s\n" "\n" -#: builtin/checkout.c:767 +#: builtin/checkout.c:760 msgid "internal error in revision walk" msgstr "在版本é历时é‡åˆ°å†…部错误" -#: builtin/checkout.c:771 +#: builtin/checkout.c:764 msgid "Previous HEAD position was" msgstr "之å‰çš„ HEAD ä½ç½®æ˜¯" -#: builtin/checkout.c:798 builtin/checkout.c:992 +#: builtin/checkout.c:791 builtin/checkout.c:1028 msgid "You are on a branch yet to be born" msgstr "您ä½äºŽä¸€ä¸ªå°šæœªåˆå§‹åŒ–的分支" -#. case (1) -#: builtin/checkout.c:928 +#: builtin/checkout.c:935 +#, c-format +msgid "only one reference expected, %d given." +msgstr "åªè¦ä¸€ä¸ªå¼•ç”¨ï¼Œå´ç»™å‡ºäº† %d 个" + +#: builtin/checkout.c:974 #, c-format msgid "invalid reference: %s" msgstr "æ— æ•ˆå¼•ç”¨ï¼š%s" #. case (1): want a tree -#: builtin/checkout.c:967 +#: builtin/checkout.c:1003 #, c-format msgid "reference is not a tree: %s" msgstr "引用ä¸æ˜¯ä¸€ä¸ªæ ‘:%s" -#: builtin/checkout.c:1006 +#: builtin/checkout.c:1042 msgid "paths cannot be used with switching branches" msgstr "路径ä¸èƒ½å’Œåˆ‡æ¢åˆ†æ”¯åŒæ—¶ä½¿ç”¨" -#: builtin/checkout.c:1009 builtin/checkout.c:1013 +#: builtin/checkout.c:1045 builtin/checkout.c:1049 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "'%s' ä¸èƒ½å’Œåˆ‡æ¢åˆ†æ”¯åŒæ—¶ä½¿ç”¨" -#: builtin/checkout.c:1017 builtin/checkout.c:1020 builtin/checkout.c:1025 -#: builtin/checkout.c:1028 +#: builtin/checkout.c:1053 builtin/checkout.c:1056 builtin/checkout.c:1061 +#: builtin/checkout.c:1064 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "'%s' ä¸èƒ½å’Œ '%s' åŒæ—¶ä½¿ç”¨" -#: builtin/checkout.c:1033 +#: builtin/checkout.c:1069 #, c-format msgid "Cannot switch branch to a non-commit '%s'" msgstr "ä¸èƒ½åˆ‡æ¢åˆ†æ”¯åˆ°ä¸€ä¸ªéžæ交 '%s'" -#: builtin/checkout.c:1055 builtin/checkout.c:1057 builtin/clone.c:89 +#: builtin/checkout.c:1091 builtin/checkout.c:1093 builtin/clone.c:88 #: builtin/remote.c:169 builtin/remote.c:171 msgid "branch" msgstr "分支" -#: builtin/checkout.c:1056 +#: builtin/checkout.c:1092 msgid "create and checkout a new branch" msgstr "创建并检出一个新的分支" -#: builtin/checkout.c:1058 +#: builtin/checkout.c:1094 msgid "create/reset and checkout a branch" msgstr "创建/é‡ç½®å¹¶æ£€å‡ºä¸€ä¸ªåˆ†æ”¯" -#: builtin/checkout.c:1059 +#: builtin/checkout.c:1095 msgid "create reflog for new branch" msgstr "为新的分支创建引用日志" -#: builtin/checkout.c:1060 +#: builtin/checkout.c:1096 msgid "detach the HEAD at named commit" msgstr "æˆä¸ºæŒ‡å‘该æ交的分离头指针" -#: builtin/checkout.c:1061 +#: builtin/checkout.c:1097 msgid "set upstream info for new branch" msgstr "为新的分支设置上游信æ¯" -#: builtin/checkout.c:1063 +#: builtin/checkout.c:1099 msgid "new branch" msgstr "新分支" -#: builtin/checkout.c:1063 +#: builtin/checkout.c:1099 msgid "new unparented branch" msgstr "新的没有父æ交的分支" -#: builtin/checkout.c:1064 +#: builtin/checkout.c:1100 msgid "checkout our version for unmerged files" msgstr "对尚未åˆå¹¶çš„文件检出我们的版本" -#: builtin/checkout.c:1066 +#: builtin/checkout.c:1102 msgid "checkout their version for unmerged files" msgstr "对尚未åˆå¹¶çš„文件检出他们的版本" -#: builtin/checkout.c:1068 +#: builtin/checkout.c:1104 msgid "force checkout (throw away local modifications)" msgstr "强制检出(丢弃本地修改)" -#: builtin/checkout.c:1069 +#: builtin/checkout.c:1105 msgid "perform a 3-way merge with the new branch" msgstr "和新的分支执行三路åˆå¹¶" -#: builtin/checkout.c:1070 builtin/merge.c:232 +#: builtin/checkout.c:1106 builtin/merge.c:232 msgid "update ignored files (default)" msgstr "更新忽略的文件(默认)" -#: builtin/checkout.c:1071 builtin/log.c:1208 parse-options.h:249 +#: builtin/checkout.c:1107 builtin/log.c:1228 parse-options.h:251 msgid "style" msgstr "é£Žæ ¼" -#: builtin/checkout.c:1072 +#: builtin/checkout.c:1108 msgid "conflict style (merge or diff3)" msgstr "冲çªè¾“å‡ºé£Žæ ¼ï¼ˆmerge 或 diff3)" -#: builtin/checkout.c:1075 +#: builtin/checkout.c:1111 msgid "do not limit pathspecs to sparse entries only" msgstr "对路径ä¸åšç¨€ç–检出的é™åˆ¶" -#: builtin/checkout.c:1077 +#: builtin/checkout.c:1113 msgid "second guess 'git checkout no-such-branch'" msgstr "å†è€…猜测'git checkout no-such-branch'" -#: builtin/checkout.c:1101 +#: builtin/checkout.c:1136 msgid "-b, -B and --orphan are mutually exclusive" msgstr "-bã€-B å’Œ --orphan 是互斥的" -#: builtin/checkout.c:1118 +#: builtin/checkout.c:1153 msgid "--track needs a branch name" msgstr "--track 需è¦ä¸€ä¸ªåˆ†æ”¯å" -#: builtin/checkout.c:1125 +#: builtin/checkout.c:1160 msgid "Missing branch name; try -b" msgstr "缺少分支åï¼›å°è¯• -b" -#: builtin/checkout.c:1160 +#: builtin/checkout.c:1197 msgid "invalid path specification" msgstr "æ— æ•ˆçš„è·¯å¾„è§„æ ¼" -#: builtin/checkout.c:1167 +#: builtin/checkout.c:1204 #, c-format msgid "" "Cannot update paths and switch to branch '%s' at the same time.\n" @@ -3398,50 +3576,50 @@ msgstr "" "ä¸èƒ½åŒæ—¶æ›´æ–°è·¯å¾„并切æ¢åˆ°åˆ†æ”¯'%s'。\n" "您是想è¦æ£€å‡º '%s' 但其未能解æžä¸ºæ交么?" -#: builtin/checkout.c:1172 +#: builtin/checkout.c:1209 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "git checkout:--detach ä¸èƒ½æŽ¥æ”¶è·¯å¾„å‚æ•° '%s'" -#: builtin/checkout.c:1176 +#: builtin/checkout.c:1213 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." msgstr "" "git checkout:在从索引检出时,--ours/--theirsã€--force å’Œ --merge ä¸å…¼å®¹ã€‚" -#: builtin/clean.c:25 +#: builtin/clean.c:26 msgid "" "git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..." msgstr "" "git clean [-d] [-f] [-i] [-n] [-q] [-e <模å¼>] [-x | -X] [--] <路径>..." -#: builtin/clean.c:29 +#: builtin/clean.c:30 #, c-format msgid "Removing %s\n" msgstr "æ£åˆ 除 %s\n" -#: builtin/clean.c:30 +#: builtin/clean.c:31 #, c-format msgid "Would remove %s\n" msgstr "å°†åˆ é™¤ %s\n" -#: builtin/clean.c:31 +#: builtin/clean.c:32 #, c-format msgid "Skipping repository %s\n" msgstr "忽略版本库 %s\n" -#: builtin/clean.c:32 +#: builtin/clean.c:33 #, c-format msgid "Would skip repository %s\n" msgstr "将忽略版本库 %s\n" -#: builtin/clean.c:33 +#: builtin/clean.c:34 #, c-format msgid "failed to remove %s" msgstr "æ— æ³•åˆ é™¤ %s" -#: builtin/clean.c:293 +#: builtin/clean.c:294 msgid "" "Prompt help:\n" "1 - select a numbered item\n" @@ -3453,7 +3631,7 @@ msgstr "" "foo - é€šè¿‡æ ‡é¢˜é€‰æ‹©ä¸€ä¸ªé€‰é¡¹\n" " - (空)什么也ä¸é€‰æ‹©" -#: builtin/clean.c:297 +#: builtin/clean.c:298 msgid "" "Prompt help:\n" "1 - select a single item\n" @@ -3473,35 +3651,35 @@ msgstr "" "* - 选择所有选项\n" " - (空)结æŸé€‰æ‹©" -#: builtin/clean.c:515 +#: builtin/clean.c:516 #, c-format msgid "Huh (%s)?" msgstr "嗯(%s)?" -#: builtin/clean.c:658 +#: builtin/clean.c:659 #, c-format msgid "Input ignore patterns>> " msgstr "输入模版以排除æ¡ç›®>> " -#: builtin/clean.c:695 +#: builtin/clean.c:696 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "è¦å‘Šï¼šæ— 法找到和 %s 匹é…çš„æ¡ç›®" -#: builtin/clean.c:716 +#: builtin/clean.c:717 msgid "Select items to delete" msgstr "选择è¦åˆ 除的æ¡ç›®" -#: builtin/clean.c:756 +#: builtin/clean.c:757 #, c-format msgid "remove %s? " msgstr "åˆ é™¤ %s?" -#: builtin/clean.c:781 +#: builtin/clean.c:782 msgid "Bye." msgstr "å†è§ã€‚" -#: builtin/clean.c:789 +#: builtin/clean.c:790 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -3519,21 +3697,21 @@ msgstr "" "help - 显示本帮助\n" "? - 显示如何在æ示符下选择的帮助" -#: builtin/clean.c:816 +#: builtin/clean.c:817 msgid "*** Commands ***" msgstr "*** 命令 ***" -#: builtin/clean.c:817 +#: builtin/clean.c:818 msgid "What now" msgstr "请选择" -#: builtin/clean.c:825 +#: builtin/clean.c:826 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "å°†åˆ é™¤å¦‚ä¸‹æ¡ç›®ï¼š" msgstr[1] "å°†åˆ é™¤å¦‚ä¸‹æ¡ç›®ï¼š" -#: builtin/clean.c:842 +#: builtin/clean.c:843 msgid "No more files to clean, exiting." msgstr "没有è¦æ¸…ç†çš„文件,退出。" @@ -3553,8 +3731,8 @@ msgstr "交互å¼æ¸…除" msgid "remove whole directories" msgstr "åˆ é™¤æ•´ä¸ªç›®å½•" -#: builtin/clean.c:880 builtin/describe.c:420 builtin/grep.c:716 -#: builtin/ls-files.c:493 builtin/name-rev.c:315 builtin/show-ref.c:186 +#: builtin/clean.c:880 builtin/describe.c:420 builtin/grep.c:718 +#: builtin/ls-files.c:483 builtin/name-rev.c:315 builtin/show-ref.c:185 msgid "pattern" msgstr "模å¼" @@ -3592,8 +3770,8 @@ msgstr "" msgid "git clone [options] [--] <repo> [<dir>]" msgstr "git clone [选项] [--] <版本库> [<路径>]" -#: builtin/clone.c:64 builtin/fetch.c:82 builtin/merge.c:229 -#: builtin/push.c:462 +#: builtin/clone.c:64 builtin/fetch.c:96 builtin/merge.c:229 +#: builtin/push.c:474 msgid "force progress reporting" msgstr "强制显示进度报告" @@ -3605,123 +3783,123 @@ msgstr "ä¸åˆ›å»ºä¸€ä¸ªæ£€å‡º" msgid "create a bare repository" msgstr "创建一个裸版本库" -#: builtin/clone.c:72 +#: builtin/clone.c:71 msgid "create a mirror repository (implies bare)" msgstr "创建一个镜åƒç‰ˆæœ¬åº“(也是裸版本库)" -#: builtin/clone.c:74 +#: builtin/clone.c:73 msgid "to clone from a local repository" msgstr "从本地版本库克隆" -#: builtin/clone.c:76 +#: builtin/clone.c:75 msgid "don't use local hardlinks, always copy" msgstr "ä¸ä½¿ç”¨æœ¬åœ°ç¡¬é“¾æŽ¥ï¼Œå§‹ç»ˆå¤åˆ¶" -#: builtin/clone.c:78 +#: builtin/clone.c:77 msgid "setup as shared repository" msgstr "设置为共享版本库" -#: builtin/clone.c:80 builtin/clone.c:82 +#: builtin/clone.c:79 builtin/clone.c:81 msgid "initialize submodules in the clone" msgstr "在克隆时åˆå§‹åŒ–å模组" -#: builtin/clone.c:83 builtin/init-db.c:485 +#: builtin/clone.c:82 builtin/init-db.c:485 msgid "template-directory" msgstr "模æ¿ç›®å½•" -#: builtin/clone.c:84 builtin/init-db.c:486 +#: builtin/clone.c:83 builtin/init-db.c:486 msgid "directory from which templates will be used" msgstr "模æ¿ç›®å½•å°†è¢«ä½¿ç”¨" -#: builtin/clone.c:86 +#: builtin/clone.c:85 msgid "reference repository" msgstr "引用版本库" -#: builtin/clone.c:87 builtin/column.c:26 builtin/merge-file.c:44 +#: builtin/clone.c:86 builtin/column.c:26 builtin/merge-file.c:44 msgid "name" msgstr "å称" -#: builtin/clone.c:88 +#: builtin/clone.c:87 msgid "use <name> instead of 'origin' to track upstream" msgstr "使用<å称>而ä¸æ˜¯ 'origin' 去跟踪上游" -#: builtin/clone.c:90 +#: builtin/clone.c:89 msgid "checkout <branch> instead of the remote's HEAD" msgstr "检出<分支>而ä¸æ˜¯è¿œç¨‹HEAD" -#: builtin/clone.c:92 +#: builtin/clone.c:91 msgid "path to git-upload-pack on the remote" msgstr "远程 git-upload-pack 路径" -#: builtin/clone.c:93 builtin/fetch.c:83 builtin/grep.c:661 +#: builtin/clone.c:92 builtin/fetch.c:97 builtin/grep.c:663 msgid "depth" msgstr "深度" -#: builtin/clone.c:94 +#: builtin/clone.c:93 msgid "create a shallow clone of that depth" msgstr "创建一个指定深度的浅克隆" -#: builtin/clone.c:96 +#: builtin/clone.c:95 msgid "clone only one branch, HEAD or --branch" msgstr "åªå…‹éš†ä¸€ä¸ªåˆ†æ”¯ã€HEAD 或 --branch" -#: builtin/clone.c:97 builtin/init-db.c:494 +#: builtin/clone.c:96 builtin/init-db.c:494 msgid "gitdir" msgstr "git目录" -#: builtin/clone.c:98 builtin/init-db.c:495 +#: builtin/clone.c:97 builtin/init-db.c:495 msgid "separate git dir from working tree" msgstr "git目录和工作区分离" -#: builtin/clone.c:99 +#: builtin/clone.c:98 msgid "key=value" msgstr "key=value" -#: builtin/clone.c:100 +#: builtin/clone.c:99 msgid "set config inside the new repository" msgstr "在新版本库ä¸è®¾ç½®é…置信æ¯" -#: builtin/clone.c:253 +#: builtin/clone.c:252 #, c-format msgid "reference repository '%s' is not a local repository." msgstr "引用版本库 '%s' ä¸æ˜¯ä¸€ä¸ªæœ¬åœ°ç‰ˆæœ¬åº“。" -#: builtin/clone.c:316 +#: builtin/clone.c:315 #, c-format msgid "failed to create directory '%s'" msgstr "æ— æ³•åˆ›å»ºç›®å½• '%s'" -#: builtin/clone.c:318 builtin/diff.c:77 +#: builtin/clone.c:317 builtin/diff.c:77 #, c-format msgid "failed to stat '%s'" msgstr "æ— æ³•æžšä¸¾ '%s' 状æ€" -#: builtin/clone.c:320 +#: builtin/clone.c:319 #, c-format msgid "%s exists and is not a directory" msgstr "%s å˜åœ¨ä¸”ä¸æ˜¯ä¸€ä¸ªç›®å½•" -#: builtin/clone.c:334 +#: builtin/clone.c:333 #, c-format msgid "failed to stat %s\n" msgstr "æ— æ³•æžšä¸¾ %s 状æ€\n" -#: builtin/clone.c:356 +#: builtin/clone.c:355 #, c-format msgid "failed to create link '%s'" msgstr "æ— æ³•åˆ›å»ºé“¾æŽ¥ '%s'" -#: builtin/clone.c:360 +#: builtin/clone.c:359 #, c-format msgid "failed to copy file to '%s'" msgstr "æ— æ³•æ‹·è´æ–‡ä»¶è‡³ '%s'" -#: builtin/clone.c:383 +#: builtin/clone.c:382 builtin/clone.c:559 #, c-format msgid "done.\n" msgstr "完æˆã€‚\n" -#: builtin/clone.c:396 +#: builtin/clone.c:395 msgid "" "Clone succeeded, but checkout failed.\n" "You can inspect what was checked out with 'git status'\n" @@ -3731,104 +3909,99 @@ msgstr "" "您å¯ä»¥é€šè¿‡ 'git status' 检查哪些已被检出,然åŽä½¿ç”¨å‘½ä»¤\n" "'git checkout -f HEAD' é‡è¯•\n" -#: builtin/clone.c:475 +#: builtin/clone.c:474 #, c-format msgid "Could not find remote branch %s to clone." msgstr "ä¸èƒ½å‘现è¦å…‹éš†çš„远程分支 %s。" -#: builtin/clone.c:555 +#: builtin/clone.c:554 #, c-format msgid "Checking connectivity... " msgstr "检查连接... " -#: builtin/clone.c:558 +#: builtin/clone.c:557 msgid "remote did not send all necessary objects" msgstr "远程没有å‘é€æ‰€æœ‰å¿…须的对象" -#: builtin/clone.c:560 -#, c-format -msgid "done\n" -msgstr "完æˆ\n" - -#: builtin/clone.c:621 +#: builtin/clone.c:620 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "远程 HEAD 指å‘一个ä¸å˜åœ¨çš„å¼•ç”¨ï¼Œæ— æ³•æ£€å‡ºã€‚\n" -#: builtin/clone.c:652 +#: builtin/clone.c:651 msgid "unable to checkout working tree" msgstr "ä¸èƒ½æ£€å‡ºå·¥ä½œåŒº" -#: builtin/clone.c:760 +#: builtin/clone.c:759 msgid "Too many arguments." msgstr "太多å‚数。" -#: builtin/clone.c:764 +#: builtin/clone.c:763 msgid "You must specify a repository to clone." msgstr "您必须指定一个版本库æ¥å…‹éš†ã€‚" -#: builtin/clone.c:775 +#: builtin/clone.c:774 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "--bare å’Œ --origin %s 选项ä¸å…¼å®¹ã€‚" -#: builtin/clone.c:778 +#: builtin/clone.c:777 msgid "--bare and --separate-git-dir are incompatible." msgstr "--bare å’Œ --separate-git-dir 选项ä¸å…¼å®¹ã€‚" -#: builtin/clone.c:791 +#: builtin/clone.c:790 #, c-format msgid "repository '%s' does not exist" msgstr "版本库 '%s' ä¸å˜åœ¨" -#: builtin/clone.c:796 +#: builtin/clone.c:795 msgid "--depth is ignored in local clones; use file:// instead." msgstr "--depth 在本地克隆被忽略,改为 file:// å议试试。" -#: builtin/clone.c:798 +#: builtin/clone.c:797 msgid "--local is ignored" msgstr "--local 被忽略" -#: builtin/clone.c:808 +#: builtin/clone.c:807 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "ç›®æ ‡è·¯å¾„ '%s' å·²ç»å˜åœ¨ï¼Œå¹¶ä¸”ä¸æ˜¯ä¸€ä¸ªç©ºç›®å½•ã€‚" -#: builtin/clone.c:818 +#: builtin/clone.c:817 #, c-format msgid "working tree '%s' already exists." msgstr "工作区 '%s' å·²ç»å˜åœ¨ã€‚" -#: builtin/clone.c:831 builtin/clone.c:843 +#: builtin/clone.c:830 builtin/clone.c:842 #, c-format msgid "could not create leading directories of '%s'" msgstr "ä¸èƒ½ä¸º '%s' 创建先导目录" -#: builtin/clone.c:834 +#: builtin/clone.c:833 #, c-format msgid "could not create work tree dir '%s'." msgstr "ä¸èƒ½ä¸º '%s' 创建工作区目录。" -#: builtin/clone.c:853 +#: builtin/clone.c:852 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "克隆到裸版本库 '%s'...\n" -#: builtin/clone.c:855 +#: builtin/clone.c:854 #, c-format msgid "Cloning into '%s'...\n" msgstr "æ£å…‹éš†åˆ° '%s'...\n" -#: builtin/clone.c:890 +#: builtin/clone.c:888 #, c-format msgid "Don't know how to clone %s" msgstr "ä¸çŸ¥é“如何克隆 %s" -#: builtin/clone.c:942 +#: builtin/clone.c:939 builtin/clone.c:947 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "远程分支 %s 在上游 %s 未å‘现" -#: builtin/clone.c:949 +#: builtin/clone.c:950 msgid "You appear to have cloned an empty repository." msgstr "您似乎克隆了一个空版本库。" @@ -3864,15 +4037,15 @@ msgstr "两列之间的填充空间" msgid "--command must be the first argument" msgstr "--command 必须是第一个å‚æ•°" -#: builtin/commit.c:35 +#: builtin/commit.c:36 msgid "git commit [options] [--] <pathspec>..." -msgstr "git commit [选项] [--] <路径匹é…>..." +msgstr "git commit [选项] [--] <路径规则>..." -#: builtin/commit.c:40 +#: builtin/commit.c:41 msgid "git status [options] [--] <pathspec>..." -msgstr "git status [选项] [--] <路径匹é…>..." +msgstr "git status [选项] [--] <路径规则>..." -#: builtin/commit.c:45 +#: builtin/commit.c:46 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -3895,7 +4068,7 @@ msgstr "" "\n" " git commit --amend --reset-author\n" -#: builtin/commit.c:57 +#: builtin/commit.c:58 msgid "" "You asked to amend the most recent commit, but doing so would make\n" "it empty. You can repeat your command with --allow-empty, or you can\n" @@ -3904,7 +4077,7 @@ msgstr "" "您è¦ä¿®è¡¥æœ€è¿‘çš„æ交,但这么åšä¼šè®©å®ƒæˆä¸ºç©ºæ交。您å¯ä»¥é‡å¤æ‚¨çš„命令并带上\n" "--allow-empty 选项,或者您å¯ç”¨å‘½ä»¤ \"git reset HEAD^\" æ•´ä¸ªåˆ é™¤è¯¥æ交。\n" -#: builtin/commit.c:62 +#: builtin/commit.c:63 msgid "" "The previous cherry-pick is now empty, possibly due to conflict resolution.\n" "If you wish to commit it anyway, use:\n" @@ -3918,11 +4091,11 @@ msgstr "" " git commit --allow-empty\n" "\n" -#: builtin/commit.c:69 +#: builtin/commit.c:70 msgid "Otherwise, please use 'git reset'\n" msgstr "å¦åˆ™ï¼Œè¯·ä½¿ç”¨å‘½ä»¤ 'git reset'\n" -#: builtin/commit.c:72 +#: builtin/commit.c:73 msgid "" "If you wish to skip this commit, use:\n" "\n" @@ -3938,93 +4111,93 @@ msgstr "" "然åŽæ‰§è¡Œ \"git cherry-pick --continue\" 继ç»å¯¹å…¶ä½™æ交执行拣选\n" "æ“作。\n" -#: builtin/commit.c:279 +#: builtin/commit.c:287 msgid "failed to unpack HEAD tree object" msgstr "æ— æ³•è§£åŒ… HEAD æ ‘å¯¹è±¡" -#: builtin/commit.c:321 +#: builtin/commit.c:329 msgid "unable to create temporary index" msgstr "ä¸èƒ½åˆ›å»ºä¸´æ—¶ç´¢å¼•" -#: builtin/commit.c:327 +#: builtin/commit.c:335 msgid "interactive add failed" msgstr "交互å¼æ·»åŠ 失败" -#: builtin/commit.c:360 builtin/commit.c:381 builtin/commit.c:431 +#: builtin/commit.c:368 builtin/commit.c:389 builtin/commit.c:439 msgid "unable to write new_index file" msgstr "æ— æ³•å†™ new_index 文件" -#: builtin/commit.c:412 +#: builtin/commit.c:420 msgid "cannot do a partial commit during a merge." msgstr "在åˆå¹¶è¿‡ç¨‹ä¸ä¸èƒ½åšéƒ¨åˆ†æ交。" -#: builtin/commit.c:414 +#: builtin/commit.c:422 msgid "cannot do a partial commit during a cherry-pick." msgstr "在拣选过程ä¸ä¸èƒ½åšéƒ¨åˆ†æ交。" -#: builtin/commit.c:424 +#: builtin/commit.c:432 msgid "cannot read the index" msgstr "æ— æ³•è¯»å–索引" -#: builtin/commit.c:444 +#: builtin/commit.c:452 msgid "unable to write temporary index file" msgstr "æ— æ³•å†™ä¸´æ—¶ç´¢å¼•æ–‡ä»¶" -#: builtin/commit.c:535 builtin/commit.c:541 +#: builtin/commit.c:543 builtin/commit.c:549 #, c-format msgid "invalid commit: %s" msgstr "æ— æ•ˆçš„æ交:%s" -#: builtin/commit.c:563 +#: builtin/commit.c:571 msgid "malformed --author parameter" msgstr "éžæ³•çš„ --author å‚æ•°" -#: builtin/commit.c:583 +#: builtin/commit.c:591 #, c-format msgid "Malformed ident string: '%s'" msgstr "éžæ³•çš„身份å—符串:'%s'" -#: builtin/commit.c:621 builtin/commit.c:654 builtin/commit.c:982 +#: builtin/commit.c:630 builtin/commit.c:663 builtin/commit.c:1007 #, c-format msgid "could not lookup commit %s" msgstr "ä¸èƒ½æŸ¥è¯¢æ交 %s" -#: builtin/commit.c:633 builtin/shortlog.c:271 +#: builtin/commit.c:642 builtin/shortlog.c:273 #, c-format msgid "(reading log message from standard input)\n" msgstr "(æ£ä»Žæ ‡å‡†è¾“å…¥ä¸è¯»å–日志信æ¯ï¼‰\n" -#: builtin/commit.c:635 +#: builtin/commit.c:644 msgid "could not read log from standard input" msgstr "ä¸èƒ½ä»Žæ ‡å‡†è¾“å…¥ä¸è¯»å–日志信æ¯" -#: builtin/commit.c:639 +#: builtin/commit.c:648 #, c-format msgid "could not read log file '%s'" msgstr "ä¸èƒ½è¯»å–日志文件 '%s'" -#: builtin/commit.c:645 +#: builtin/commit.c:654 msgid "commit has empty message" msgstr "æ交说明为空" -#: builtin/commit.c:661 +#: builtin/commit.c:670 msgid "could not read MERGE_MSG" msgstr "ä¸èƒ½è¯»å– MERGE_MSG" -#: builtin/commit.c:665 +#: builtin/commit.c:674 msgid "could not read SQUASH_MSG" msgstr "ä¸èƒ½è¯»å– SQUASH_MSG" -#: builtin/commit.c:669 +#: builtin/commit.c:678 #, c-format msgid "could not read '%s'" msgstr "ä¸èƒ½è¯»å– '%s'" -#: builtin/commit.c:730 +#: builtin/commit.c:749 msgid "could not write commit template" msgstr "ä¸èƒ½å†™æ交模版" -#: builtin/commit.c:741 +#: builtin/commit.c:760 #, c-format msgid "" "\n" @@ -4038,7 +4211,7 @@ msgstr "" "\t%s\n" "然åŽé‡è¯•ã€‚\n" -#: builtin/commit.c:746 +#: builtin/commit.c:765 #, c-format msgid "" "\n" @@ -4052,7 +4225,7 @@ msgstr "" "\t%s\n" "然åŽé‡è¯•ã€‚\n" -#: builtin/commit.c:758 +#: builtin/commit.c:777 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -4061,7 +4234,7 @@ msgstr "" "请为您的å˜æ›´è¾“å…¥æ交说明。以 '%c' 开始的行将被忽略,而一个空的æ交\n" "说明将会终æ¢æ交。\n" -#: builtin/commit.c:763 +#: builtin/commit.c:782 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -4072,355 +4245,355 @@ msgstr "" "也å¯ä»¥åˆ 除它们。一个空的æ交说明将会终æ¢æ交。\n" # 译者:为ä¿è¯åœ¨è¾“出ä¸å¯¹é½ï¼Œæ³¨æ„调整å¥ä¸ç©ºæ ¼ï¼ -#: builtin/commit.c:776 +#: builtin/commit.c:795 #, c-format msgid "%sAuthor: %s" msgstr "%s作者: %s" # 译者:为ä¿è¯åœ¨è¾“出ä¸å¯¹é½ï¼Œæ³¨æ„调整å¥ä¸ç©ºæ ¼ï¼ -#: builtin/commit.c:783 +#: builtin/commit.c:802 #, c-format msgid "%sCommitter: %s" msgstr "%sæ交者: %s" -#: builtin/commit.c:803 +#: builtin/commit.c:822 msgid "Cannot read index" msgstr "æ— æ³•è¯»å–索引" -#: builtin/commit.c:845 +#: builtin/commit.c:865 msgid "Error building trees" msgstr "æ— æ³•åˆ›å»ºæ ‘å¯¹è±¡" -#: builtin/commit.c:860 builtin/tag.c:359 +#: builtin/commit.c:880 builtin/tag.c:359 #, c-format msgid "Please supply the message using either -m or -F option.\n" msgstr "请使用 -m 或 -F 选项æä¾›æ交说明。\n" -#: builtin/commit.c:957 +#: builtin/commit.c:982 #, c-format msgid "No existing author found with '%s'" msgstr "æ²¡æœ‰æ‰¾åˆ°åŒ¹é… '%s' 的作者" -#: builtin/commit.c:972 builtin/commit.c:1208 +#: builtin/commit.c:997 builtin/commit.c:1237 #, c-format msgid "Invalid untracked files mode '%s'" msgstr "æ— æ•ˆçš„æœªè¿½è¸ªæ–‡ä»¶å‚æ•° '%s'" -#: builtin/commit.c:1009 +#: builtin/commit.c:1034 msgid "--long and -z are incompatible" msgstr "--long å’Œ -z 选项ä¸å…¼å®¹" -#: builtin/commit.c:1039 +#: builtin/commit.c:1064 msgid "Using both --reset-author and --author does not make sense" msgstr "åŒæ—¶ä½¿ç”¨ --reset-author å’Œ --author 没有æ„义" -#: builtin/commit.c:1050 +#: builtin/commit.c:1075 msgid "You have nothing to amend." msgstr "您没有å¯ä¿®è¡¥çš„æ交。" -#: builtin/commit.c:1053 +#: builtin/commit.c:1078 msgid "You are in the middle of a merge -- cannot amend." msgstr "您æ£å¤„于一个åˆå¹¶è¿‡ç¨‹ä¸ -- æ— æ³•ä¿®è¡¥æ交。" -#: builtin/commit.c:1055 +#: builtin/commit.c:1080 msgid "You are in the middle of a cherry-pick -- cannot amend." msgstr "您æ£å¤„äºŽä¸€ä¸ªæ‹£é€‰è¿‡ç¨‹ä¸ -- æ— æ³•ä¿®è¡¥æ交。" -#: builtin/commit.c:1058 +#: builtin/commit.c:1083 msgid "Options --squash and --fixup cannot be used together" msgstr "选项 --squash å’Œ --fixup ä¸èƒ½åŒæ—¶ä½¿ç”¨" -#: builtin/commit.c:1068 +#: builtin/commit.c:1093 msgid "Only one of -c/-C/-F/--fixup can be used." msgstr "åªèƒ½ç”¨ä¸€ä¸ª -c/-C/-F/--fixup 选项。" -#: builtin/commit.c:1070 +#: builtin/commit.c:1095 msgid "Option -m cannot be combined with -c/-C/-F/--fixup." msgstr "选项 -m ä¸èƒ½å’Œ -c/-C/-F/--fixup åŒæ—¶ä½¿ç”¨ã€‚" -#: builtin/commit.c:1078 +#: builtin/commit.c:1103 msgid "--reset-author can be used only with -C, -c or --amend." msgstr "--reset-author åªèƒ½å’Œ -Cã€-c 或 --amend åŒæ—¶ä½¿ç”¨ã€‚" -#: builtin/commit.c:1095 +#: builtin/commit.c:1120 msgid "Only one of --include/--only/--all/--interactive/--patch can be used." msgstr "åªèƒ½ç”¨ä¸€ä¸ª --include/--only/--all/--interactive/--patch 选项。" -#: builtin/commit.c:1097 +#: builtin/commit.c:1122 msgid "No paths with --include/--only does not make sense." msgstr "å‚æ•° --include/--only ä¸è·Ÿè·¯å¾„没有æ„义。" -#: builtin/commit.c:1099 +#: builtin/commit.c:1124 msgid "Clever... amending the last one with dirty index." msgstr "èªæ˜Ž... 在索引ä¸å¹²å‡€ä¸‹ä¿®è¡¥æœ€åŽçš„æ交。" -#: builtin/commit.c:1101 +#: builtin/commit.c:1126 msgid "Explicit paths specified without -i nor -o; assuming --only paths..." msgstr "指定了明确的路径而没有使用 -i 或 -o 选项;认为是 --only paths..." -#: builtin/commit.c:1111 builtin/tag.c:575 +#: builtin/commit.c:1136 builtin/tag.c:572 #, c-format msgid "Invalid cleanup mode %s" msgstr "æ— æ•ˆçš„æ¸…ç†æ¨¡å¼ %s" -#: builtin/commit.c:1116 +#: builtin/commit.c:1141 msgid "Paths with -a does not make sense." msgstr "路径和 -a 选项åŒæ—¶ä½¿ç”¨æ²¡æœ‰æ„义。" -#: builtin/commit.c:1222 builtin/commit.c:1455 +#: builtin/commit.c:1251 builtin/commit.c:1482 msgid "show status concisely" msgstr "以简æ´çš„æ ¼å¼æ˜¾ç¤ºçŠ¶æ€" -#: builtin/commit.c:1224 builtin/commit.c:1457 +#: builtin/commit.c:1253 builtin/commit.c:1484 msgid "show branch information" msgstr "显示分支信æ¯" -#: builtin/commit.c:1226 builtin/commit.c:1459 builtin/push.c:452 +#: builtin/commit.c:1255 builtin/commit.c:1486 builtin/push.c:460 msgid "machine-readable output" msgstr "机器å¯è¯»çš„输出" -#: builtin/commit.c:1229 builtin/commit.c:1461 +#: builtin/commit.c:1258 builtin/commit.c:1488 msgid "show status in long format (default)" msgstr "ä»¥é•¿æ ¼å¼æ˜¾ç¤ºçŠ¶æ€ï¼ˆé»˜è®¤ï¼‰" -#: builtin/commit.c:1232 builtin/commit.c:1464 +#: builtin/commit.c:1261 builtin/commit.c:1491 msgid "terminate entries with NUL" msgstr "æ¡ç›®ä»¥NULå—符结尾" -#: builtin/commit.c:1234 builtin/commit.c:1467 builtin/fast-export.c:667 -#: builtin/fast-export.c:670 builtin/tag.c:459 +#: builtin/commit.c:1263 builtin/commit.c:1494 builtin/fast-export.c:674 +#: builtin/fast-export.c:677 builtin/tag.c:459 msgid "mode" msgstr "模å¼" -#: builtin/commit.c:1235 builtin/commit.c:1467 +#: builtin/commit.c:1264 builtin/commit.c:1494 msgid "show untracked files, optional modes: all, normal, no. (Default: all)" msgstr "显示未跟踪的文件,“模å¼â€çš„å¯é€‰å‚数:allã€normalã€no。(默认:all)" -#: builtin/commit.c:1238 +#: builtin/commit.c:1267 msgid "show ignored files" msgstr "显示忽略的文件" -#: builtin/commit.c:1239 parse-options.h:154 +#: builtin/commit.c:1268 parse-options.h:156 msgid "when" msgstr "何时" -#: builtin/commit.c:1240 +#: builtin/commit.c:1269 msgid "" "ignore changes to submodules, optional when: all, dirty, untracked. " "(Default: all)" msgstr "" "忽略å模组的更改,“何时â€çš„å¯é€‰å‚数:allã€dirtyã€untracked。(默认:all)" -#: builtin/commit.c:1242 +#: builtin/commit.c:1271 msgid "list untracked files in columns" msgstr "以列的方å¼æ˜¾ç¤ºæœªè·Ÿè¸ªçš„文件" -#: builtin/commit.c:1313 +#: builtin/commit.c:1340 msgid "couldn't look up newly created commit" msgstr "æ— æ³•æ‰¾åˆ°æ–°åˆ›å»ºçš„æ交" -#: builtin/commit.c:1315 +#: builtin/commit.c:1342 msgid "could not parse newly created commit" msgstr "ä¸èƒ½è§£æžæ–°åˆ›å»ºçš„æ交" -#: builtin/commit.c:1356 +#: builtin/commit.c:1383 msgid "detached HEAD" msgstr "分离头指针" # 译者:ä¸æ–‡å—符串拼接,å¯åˆ 除å‰å¯¼ç©ºæ ¼ -#: builtin/commit.c:1358 +#: builtin/commit.c:1385 msgid " (root-commit)" msgstr "ï¼ˆæ ¹æ交)" -#: builtin/commit.c:1425 +#: builtin/commit.c:1452 msgid "suppress summary after successful commit" msgstr "æ交æˆåŠŸåŽä¸æ˜¾ç¤ºæ¦‚è¿°ä¿¡æ¯" -#: builtin/commit.c:1426 +#: builtin/commit.c:1453 msgid "show diff in commit message template" msgstr "在æ交说明模æ¿é‡Œæ˜¾ç¤ºå·®å¼‚" -#: builtin/commit.c:1428 +#: builtin/commit.c:1455 msgid "Commit message options" msgstr "æ交说明选项" -#: builtin/commit.c:1429 builtin/tag.c:457 +#: builtin/commit.c:1456 builtin/tag.c:457 msgid "read message from file" msgstr "从文件ä¸è¯»å–æ交说明" -#: builtin/commit.c:1430 +#: builtin/commit.c:1457 msgid "author" msgstr "作者" -#: builtin/commit.c:1430 +#: builtin/commit.c:1457 msgid "override author for commit" msgstr "æ交时覆盖作者" -#: builtin/commit.c:1431 builtin/gc.c:178 +#: builtin/commit.c:1458 builtin/gc.c:260 msgid "date" msgstr "日期" -#: builtin/commit.c:1431 +#: builtin/commit.c:1458 msgid "override date for commit" msgstr "æ交时覆盖日期" -#: builtin/commit.c:1432 builtin/merge.c:223 builtin/notes.c:405 +#: builtin/commit.c:1459 builtin/merge.c:223 builtin/notes.c:405 #: builtin/notes.c:562 builtin/tag.c:455 msgid "message" msgstr "说明" -#: builtin/commit.c:1432 +#: builtin/commit.c:1459 msgid "commit message" msgstr "æ交说明" -#: builtin/commit.c:1433 +#: builtin/commit.c:1460 msgid "reuse and edit message from specified commit" msgstr "é‡ç”¨å¹¶ç¼–辑指定æ交的æ交说明" -#: builtin/commit.c:1434 +#: builtin/commit.c:1461 msgid "reuse message from specified commit" msgstr "é‡ç”¨æŒ‡å®šæ交的æ交说明" -#: builtin/commit.c:1435 +#: builtin/commit.c:1462 msgid "use autosquash formatted message to fixup specified commit" msgstr "使用 autosquash æ ¼å¼çš„æ交说明用以修æ£æŒ‡å®šçš„æ交" -#: builtin/commit.c:1436 +#: builtin/commit.c:1463 msgid "use autosquash formatted message to squash specified commit" msgstr "使用 autosquash æ ¼å¼çš„æ交说明用以压缩至指定的æ交" -#: builtin/commit.c:1437 +#: builtin/commit.c:1464 msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "现在将该æ交的作者改为我(和 -C/-c/--amend å‚数共用)" -#: builtin/commit.c:1438 builtin/log.c:1160 builtin/revert.c:111 +#: builtin/commit.c:1465 builtin/log.c:1180 builtin/revert.c:86 msgid "add Signed-off-by:" msgstr "æ·»åŠ Signed-off-by: ç¾å" -#: builtin/commit.c:1439 +#: builtin/commit.c:1466 msgid "use specified template file" msgstr "使用指定的模æ¿æ–‡ä»¶" -#: builtin/commit.c:1440 +#: builtin/commit.c:1467 msgid "force edit of commit" msgstr "强制编辑æ交" # 译者:å¯é€‰å€¼ï¼Œä¸èƒ½ç¿»è¯‘(或是原文ä¸ç¬”误,应为 mode) -#: builtin/commit.c:1441 +#: builtin/commit.c:1468 msgid "default" msgstr "default" -#: builtin/commit.c:1441 builtin/tag.c:460 +#: builtin/commit.c:1468 builtin/tag.c:460 msgid "how to strip spaces and #comments from message" msgstr "è®¾ç½®å¦‚ä½•åˆ é™¤æäº¤è¯´æ˜Žé‡Œçš„ç©ºæ ¼å’Œ#注释" -#: builtin/commit.c:1442 +#: builtin/commit.c:1469 msgid "include status in commit message template" msgstr "在æ交说明模æ¿é‡ŒåŒ…å«çŠ¶æ€ä¿¡æ¯" -#: builtin/commit.c:1443 builtin/merge.c:230 builtin/tag.c:461 +#: builtin/commit.c:1470 builtin/merge.c:230 builtin/tag.c:461 msgid "key id" msgstr "key id" -#: builtin/commit.c:1444 builtin/merge.c:231 +#: builtin/commit.c:1471 builtin/merge.c:231 msgid "GPG sign commit" msgstr "GPG æ交ç¾å" #. end commit message options -#: builtin/commit.c:1447 +#: builtin/commit.c:1474 msgid "Commit contents options" msgstr "æ交内容选项" -#: builtin/commit.c:1448 +#: builtin/commit.c:1475 msgid "commit all changed files" msgstr "æ交所有改动的文件" -#: builtin/commit.c:1449 +#: builtin/commit.c:1476 msgid "add specified files to index for commit" msgstr "æ·»åŠ æŒ‡å®šçš„æ–‡ä»¶åˆ°ç´¢å¼•åŒºç‰å¾…æ交" -#: builtin/commit.c:1450 +#: builtin/commit.c:1477 msgid "interactively add files" msgstr "交互å¼æ·»åŠ 文件" -#: builtin/commit.c:1451 +#: builtin/commit.c:1478 msgid "interactively add changes" msgstr "交互å¼æ·»åŠ å˜æ›´" -#: builtin/commit.c:1452 +#: builtin/commit.c:1479 msgid "commit only specified files" msgstr "åªæ交指定的文件" -#: builtin/commit.c:1453 +#: builtin/commit.c:1480 msgid "bypass pre-commit hook" msgstr "绕过 pre-commit é’©å" -#: builtin/commit.c:1454 +#: builtin/commit.c:1481 msgid "show what would be committed" msgstr "显示将è¦æ交的内容" -#: builtin/commit.c:1465 +#: builtin/commit.c:1492 msgid "amend previous commit" msgstr "修改先å‰çš„æ交" -#: builtin/commit.c:1466 +#: builtin/commit.c:1493 msgid "bypass post-rewrite hook" msgstr "绕过 post-rewrite é’©å" -#: builtin/commit.c:1471 +#: builtin/commit.c:1498 msgid "ok to record an empty change" msgstr "å…许一个空æ交" -#: builtin/commit.c:1474 +#: builtin/commit.c:1500 msgid "ok to record a change with an empty message" msgstr "å…许空的æ交说明" -#: builtin/commit.c:1507 +#: builtin/commit.c:1529 msgid "could not parse HEAD commit" msgstr "ä¸èƒ½è§£æž HEAD æ交" -#: builtin/commit.c:1545 builtin/merge.c:525 +#: builtin/commit.c:1567 builtin/merge.c:525 #, c-format msgid "could not open '%s' for reading" msgstr "ä¸èƒ½ä¸ºè¯»å…¥æ‰“å¼€ '%s'" -#: builtin/commit.c:1552 +#: builtin/commit.c:1574 #, c-format msgid "Corrupt MERGE_HEAD file (%s)" msgstr "æŸåçš„ MERGE_HEAD 文件(%s)" -#: builtin/commit.c:1559 +#: builtin/commit.c:1581 msgid "could not read MERGE_MODE" msgstr "ä¸èƒ½è¯»å– MERGE_MODE" -#: builtin/commit.c:1578 +#: builtin/commit.c:1600 #, c-format msgid "could not read commit message: %s" msgstr "ä¸èƒ½è¯»å–æ交说明:%s" -#: builtin/commit.c:1592 +#: builtin/commit.c:1614 #, c-format msgid "Aborting commit; you did not edit the message.\n" msgstr "终æ¢æ交;您未更改æ¥è‡ªæ¨¡ç‰ˆçš„æ交说明。\n" -#: builtin/commit.c:1597 +#: builtin/commit.c:1619 #, c-format msgid "Aborting commit due to empty commit message.\n" msgstr "终æ¢æäº¤å› ä¸ºæ交说明为空。\n" -#: builtin/commit.c:1612 builtin/merge.c:861 builtin/merge.c:886 +#: builtin/commit.c:1634 builtin/merge.c:861 builtin/merge.c:886 msgid "failed to write commit object" msgstr "æ— æ³•å†™æ交对象" -#: builtin/commit.c:1633 +#: builtin/commit.c:1655 msgid "cannot lock HEAD ref" msgstr "æ— æ³•é”定 HEAD 引用" -#: builtin/commit.c:1637 +#: builtin/commit.c:1659 msgid "cannot update HEAD ref" msgstr "æ— æ³•æ›´æ–° HEAD 引用" -#: builtin/commit.c:1648 +#: builtin/commit.c:1670 msgid "" "Repository has been updated, but unable to write\n" "new_index file. Check that disk is not full or quota is\n" @@ -4429,127 +4602,131 @@ msgstr "" "ç‰ˆæœ¬åº“å·²æ›´æ–°ï¼Œä½†æ— æ³•å†™ new_index 文件。检查是å¦ç£ç›˜å·²æ»¡\n" "或ç£ç›˜é…é¢å·²è€—尽,然åŽæ‰§è¡Œ \"git reset HEAD\" æ¢å¤ã€‚" -#: builtin/config.c:7 +#: builtin/config.c:8 msgid "git config [options]" msgstr "git config [选项]" -#: builtin/config.c:52 +#: builtin/config.c:54 msgid "Config file location" msgstr "é…置文件ä½ç½®" -#: builtin/config.c:53 +#: builtin/config.c:55 msgid "use global config file" msgstr "使用全局é…置文件" -#: builtin/config.c:54 +#: builtin/config.c:56 msgid "use system config file" msgstr "使用系统级é…置文件" -#: builtin/config.c:55 +#: builtin/config.c:57 msgid "use repository config file" msgstr "使用版本库级é…置文件" -#: builtin/config.c:56 +#: builtin/config.c:58 msgid "use given config file" msgstr "使用指定的é…置文件" -#: builtin/config.c:57 +#: builtin/config.c:59 msgid "blob-id" msgstr "æ•°æ®å¯¹è±¡ID" -#: builtin/config.c:57 +#: builtin/config.c:59 msgid "read config from given blob object" msgstr "从给定的数æ®å¯¹è±¡è¯»å–é…ç½®" -#: builtin/config.c:58 +#: builtin/config.c:60 msgid "Action" msgstr "æ“作" -#: builtin/config.c:59 +#: builtin/config.c:61 msgid "get value: name [value-regex]" msgstr "获å–值:name [value-regex]" -#: builtin/config.c:60 +#: builtin/config.c:62 msgid "get all values: key [value-regex]" msgstr "获得所有的值:key [value-regex]" -#: builtin/config.c:61 +#: builtin/config.c:63 msgid "get values for regexp: name-regex [value-regex]" msgstr "æ ¹æ®æ£åˆ™è¡¨è¾¾å¼èŽ·å¾—值:name-regex [value-regex]" -#: builtin/config.c:62 +#: builtin/config.c:64 +msgid "get value specific for the URL: section[.var] URL" +msgstr "获得 URL å–值:section[.var] URL" + +#: builtin/config.c:65 msgid "replace all matching variables: name value [value_regex]" msgstr "替æ¢æ‰€æœ‰åŒ¹é…çš„å˜é‡ï¼šname value [value_regex]" -#: builtin/config.c:63 +#: builtin/config.c:66 msgid "add a new variable: name value" msgstr "æ·»åŠ ä¸€ä¸ªæ–°çš„å˜é‡ï¼šname value" -#: builtin/config.c:64 +#: builtin/config.c:67 msgid "remove a variable: name [value-regex]" msgstr "åˆ é™¤ä¸€ä¸ªå˜é‡ï¼šname [value-regex]" -#: builtin/config.c:65 +#: builtin/config.c:68 msgid "remove all matches: name [value-regex]" msgstr "åˆ é™¤æ‰€æœ‰åŒ¹é…项:name [value-regex]" -#: builtin/config.c:66 +#: builtin/config.c:69 msgid "rename section: old-name new-name" msgstr "é‡å‘½åå°èŠ‚:old-name new-name" -#: builtin/config.c:67 +#: builtin/config.c:70 msgid "remove a section: name" msgstr "åˆ é™¤ä¸€ä¸ªå°èŠ‚:name" -#: builtin/config.c:68 +#: builtin/config.c:71 msgid "list all" msgstr "列出所有" -#: builtin/config.c:69 +#: builtin/config.c:72 msgid "open an editor" msgstr "打开一个编辑器" -#: builtin/config.c:70 builtin/config.c:71 +#: builtin/config.c:73 builtin/config.c:74 msgid "slot" msgstr "slot" -#: builtin/config.c:70 +#: builtin/config.c:73 msgid "find the color configured: [default]" msgstr "找到é…置的颜色:[默认]" -#: builtin/config.c:71 +#: builtin/config.c:74 msgid "find the color setting: [stdout-is-tty]" msgstr "找到颜色设置:[stdout-is-tty]" -#: builtin/config.c:72 +#: builtin/config.c:75 msgid "Type" msgstr "类型" -#: builtin/config.c:73 +#: builtin/config.c:76 msgid "value is \"true\" or \"false\"" msgstr "值是 \"true\" 或 \"false\"" -#: builtin/config.c:74 +#: builtin/config.c:77 msgid "value is decimal number" msgstr "值是å进制数" -#: builtin/config.c:75 +#: builtin/config.c:78 msgid "value is --bool or --int" msgstr "值是 --bool or --int" -#: builtin/config.c:76 +#: builtin/config.c:79 msgid "value is a path (file or directory name)" msgstr "值是一个路径(文件或目录å)" -#: builtin/config.c:77 +#: builtin/config.c:80 msgid "Other" msgstr "其它" -#: builtin/config.c:78 +#: builtin/config.c:81 msgid "terminate values with NUL byte" msgstr "终æ¢å€¼æ˜¯NULå—节" -#: builtin/config.c:79 +#: builtin/config.c:82 msgid "respect include directives on lookup" msgstr "查询时å‚ç…§ include 指令递归查找" @@ -4734,45 +4911,45 @@ msgstr "æä¾›äº†æ— æ³•å¤„ç†çš„对象 '%s'。" msgid "git fast-export [rev-list-opts]" msgstr "git fast-export [rev-list-opts]" -#: builtin/fast-export.c:666 +#: builtin/fast-export.c:673 msgid "show progress after <n> objects" msgstr "在 <n> 个对象之åŽæ˜¾ç¤ºè¿›åº¦" -#: builtin/fast-export.c:668 +#: builtin/fast-export.c:675 msgid "select handling of signed tags" msgstr "选择如何处ç†ç¾å tags" -#: builtin/fast-export.c:671 +#: builtin/fast-export.c:678 msgid "select handling of tags that tag filtered objects" msgstr "选择当 tag 指å‘被过滤时 tags 的处ç†æ–¹å¼" -#: builtin/fast-export.c:674 +#: builtin/fast-export.c:681 msgid "Dump marks to this file" msgstr "æŠŠæ ‡è®°å˜å‚¨åˆ°è¿™ä¸ªæ–‡ä»¶" -#: builtin/fast-export.c:676 +#: builtin/fast-export.c:683 msgid "Import marks from this file" msgstr "ä»Žè¿™ä¸ªæ–‡ä»¶å¯¼å…¥æ ‡è®°" -#: builtin/fast-export.c:678 +#: builtin/fast-export.c:685 msgid "Fake a tagger when tags lack one" msgstr "当 tags ç¼ºå°‘æ ‡è®°è€…å—段时,å‡è£…æ供一个" -#: builtin/fast-export.c:680 +#: builtin/fast-export.c:687 msgid "Output full tree for each commit" msgstr "æ¯æ¬¡æäº¤éƒ½è¾“å‡ºæ•´ä¸ªæ ‘" -#: builtin/fast-export.c:682 +#: builtin/fast-export.c:689 msgid "Use the done feature to terminate the stream" msgstr "使用 done 功能æ¥ç»ˆæ¢æµ" -#: builtin/fast-export.c:683 +#: builtin/fast-export.c:690 msgid "Skip output of blob data" msgstr "跳过数æ®å¯¹è±¡çš„输出" #: builtin/fetch.c:20 msgid "git fetch [<options>] [<repository> [<refspec>...]]" -msgstr "git fetch [<选项>] [<版本库> [<引用表达å¼>...]]" +msgstr "git fetch [<选项>] [<版本库> [<引用规则>...]]" #: builtin/fetch.c:21 msgid "git fetch [<options>] <group>" @@ -4786,146 +4963,146 @@ msgstr "git fetch --multiple [<选项>] [(<版本库> | <组>)...]" msgid "git fetch --all [<options>]" msgstr "git fetch --all [<选项>]" -#: builtin/fetch.c:60 +#: builtin/fetch.c:74 msgid "fetch from all remotes" msgstr "从所有的远程抓å–" -#: builtin/fetch.c:62 +#: builtin/fetch.c:76 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "è¿½åŠ åˆ° .git/FETCH_HEAD 而ä¸æ˜¯è¦†ç›–它" -#: builtin/fetch.c:64 +#: builtin/fetch.c:78 msgid "path to upload pack on remote end" msgstr "ä¸Šä¼ åŒ…åˆ°è¿œç¨‹çš„è·¯å¾„" -#: builtin/fetch.c:65 +#: builtin/fetch.c:79 msgid "force overwrite of local branch" msgstr "强制覆盖本地分支" -#: builtin/fetch.c:67 +#: builtin/fetch.c:81 msgid "fetch from multiple remotes" msgstr "从多个远程抓å–" -#: builtin/fetch.c:69 +#: builtin/fetch.c:83 msgid "fetch all tags and associated objects" msgstr "抓å–所有的 tags 和关è”对象" -#: builtin/fetch.c:71 +#: builtin/fetch.c:85 msgid "do not fetch all tags (--no-tags)" msgstr "ä¸æŠ“å–任何 tags (--no-tags)" -#: builtin/fetch.c:73 +#: builtin/fetch.c:87 msgid "prune remote-tracking branches no longer on remote" msgstr "清除远程已ç»ä¸å˜åœ¨çš„分支的跟踪分支" # 译者:å¯é€‰å€¼ï¼Œä¸èƒ½ç¿»è¯‘ -#: builtin/fetch.c:74 +#: builtin/fetch.c:88 msgid "on-demand" msgstr "on-demand" -#: builtin/fetch.c:75 +#: builtin/fetch.c:89 msgid "control recursive fetching of submodules" msgstr "控制å模组的递归抓å–" -#: builtin/fetch.c:79 +#: builtin/fetch.c:93 msgid "keep downloaded pack" msgstr "ä¿æŒä¸‹è½½åŒ…" -#: builtin/fetch.c:81 +#: builtin/fetch.c:95 msgid "allow updating of HEAD ref" msgstr "å…许更新 HEAD 引用" -#: builtin/fetch.c:84 +#: builtin/fetch.c:98 msgid "deepen history of shallow clone" msgstr "深化浅克隆的历å²" -#: builtin/fetch.c:86 +#: builtin/fetch.c:100 msgid "convert to a complete repository" msgstr "转æ¢ä¸ºä¸€ä¸ªå®Œæ•´çš„版本库" -#: builtin/fetch.c:88 builtin/log.c:1177 +#: builtin/fetch.c:102 builtin/log.c:1197 msgid "dir" msgstr "目录" -#: builtin/fetch.c:89 +#: builtin/fetch.c:103 msgid "prepend this to submodule path output" msgstr "在å模组路径输出的å‰é¢åŠ 上æ¤ç›®å½•" -#: builtin/fetch.c:92 +#: builtin/fetch.c:106 msgid "default mode for recursion" msgstr "递归的默认模å¼" -#: builtin/fetch.c:220 +#: builtin/fetch.c:236 msgid "Couldn't find remote ref HEAD" msgstr "æ— æ³•å‘现远程 HEAD 引用" -#: builtin/fetch.c:273 +#: builtin/fetch.c:290 #, c-format msgid "object %s not found" msgstr "对象 %s 未å‘现" -#: builtin/fetch.c:278 +#: builtin/fetch.c:295 msgid "[up to date]" msgstr "[最新]" -#: builtin/fetch.c:292 +#: builtin/fetch.c:309 #, c-format msgid "! %-*s %-*s -> %s (can't fetch in current branch)" msgstr "! %-*s %-*s -> %s (在当å‰åˆ†æ”¯ä¸‹ä¸èƒ½èŽ·å–)" -#: builtin/fetch.c:293 builtin/fetch.c:379 +#: builtin/fetch.c:310 builtin/fetch.c:396 msgid "[rejected]" msgstr "[已拒ç»]" -#: builtin/fetch.c:304 +#: builtin/fetch.c:321 msgid "[tag update]" msgstr "[tagæ›´æ–°]" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: builtin/fetch.c:306 builtin/fetch.c:341 builtin/fetch.c:359 +#: builtin/fetch.c:323 builtin/fetch.c:358 builtin/fetch.c:376 msgid " (unable to update local ref)" msgstr " (ä¸èƒ½æ›´æ–°æœ¬åœ°å¼•ç”¨ï¼‰" -#: builtin/fetch.c:324 +#: builtin/fetch.c:341 msgid "[new tag]" msgstr "[æ–°tag]" -#: builtin/fetch.c:327 +#: builtin/fetch.c:344 msgid "[new branch]" msgstr "[新分支]" -#: builtin/fetch.c:330 +#: builtin/fetch.c:347 msgid "[new ref]" msgstr "[新引用]" -#: builtin/fetch.c:375 +#: builtin/fetch.c:392 msgid "unable to update local ref" msgstr "ä¸èƒ½æ›´æ–°æœ¬åœ°å¼•ç”¨" -#: builtin/fetch.c:375 +#: builtin/fetch.c:392 msgid "forced update" msgstr "强制更新" -#: builtin/fetch.c:381 +#: builtin/fetch.c:398 msgid "(non-fast-forward)" msgstr "(éžå¿«è¿›å¼ï¼‰" -#: builtin/fetch.c:412 builtin/fetch.c:718 +#: builtin/fetch.c:429 builtin/fetch.c:735 #, c-format msgid "cannot open %s: %s\n" msgstr "æ— æ³•æ‰“å¼€ %s:%s\n" -#: builtin/fetch.c:421 +#: builtin/fetch.c:438 #, c-format msgid "%s did not send all necessary objects\n" msgstr "%s 未å‘é€æ‰€æœ‰å¿…须的对象\n" -#: builtin/fetch.c:520 +#: builtin/fetch.c:537 #, c-format msgid "From %.*s\n" msgstr "æ¥è‡ª %.*s\n" -#: builtin/fetch.c:531 +#: builtin/fetch.c:548 #, c-format msgid "" "some local refs could not be updated; try running\n" @@ -4935,98 +5112,98 @@ msgstr "" " 'git remote prune %s' æ¥åˆ 除旧的ã€æœ‰å†²çªçš„分支" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: builtin/fetch.c:581 +#: builtin/fetch.c:598 #, c-format msgid " (%s will become dangling)" msgstr " (%s å°†æˆä¸ºæ‘‡æ‘†çŠ¶æ€ï¼‰" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: builtin/fetch.c:582 +#: builtin/fetch.c:599 #, c-format msgid " (%s has become dangling)" msgstr " (%s å·²æˆä¸ºæ‘‡æ‘†çŠ¶æ€ï¼‰" -#: builtin/fetch.c:589 +#: builtin/fetch.c:606 msgid "[deleted]" msgstr "[å·²åˆ é™¤]" -#: builtin/fetch.c:590 builtin/remote.c:1055 +#: builtin/fetch.c:607 builtin/remote.c:1055 msgid "(none)" msgstr "ï¼ˆæ— ï¼‰" -#: builtin/fetch.c:708 +#: builtin/fetch.c:725 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "æ‹’ç»èŽ·å–到éžè£¸ç‰ˆæœ¬åº“的当å‰åˆ†æ”¯ %s" -#: builtin/fetch.c:742 -#, c-format -msgid "Don't know how to fetch from %s" -msgstr "ä¸çŸ¥é“如何从 %s 获å–" - -#: builtin/fetch.c:823 +#: builtin/fetch.c:744 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "选项 \"%s\" 的值 \"%s\" 对于 %s æ˜¯æ— æ•ˆçš„" -#: builtin/fetch.c:826 +#: builtin/fetch.c:747 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "选项 \"%s\" 为 %s 所忽略\n" -#: builtin/fetch.c:928 +#: builtin/fetch.c:801 +#, c-format +msgid "Don't know how to fetch from %s" +msgstr "ä¸çŸ¥é“如何从 %s 获å–" + +#: builtin/fetch.c:976 #, c-format msgid "Fetching %s\n" msgstr "æ£åœ¨èŽ·å– %s\n" -#: builtin/fetch.c:930 builtin/remote.c:100 +#: builtin/fetch.c:978 builtin/remote.c:100 #, c-format msgid "Could not fetch %s" msgstr "ä¸èƒ½èŽ·å– %s" -#: builtin/fetch.c:949 +#: builtin/fetch.c:997 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." msgstr "未指定远程版本库。请通过一个URL或远程版本库å指定,用以获å–æ–°æ交。" -#: builtin/fetch.c:969 +#: builtin/fetch.c:1020 msgid "You need to specify a tag name." msgstr "您需è¦æŒ‡å®šä¸€ä¸ª tag å称。" -#: builtin/fetch.c:1015 +#: builtin/fetch.c:1068 msgid "--depth and --unshallow cannot be used together" msgstr "--depth å’Œ --unshallow ä¸èƒ½åŒæ—¶ä½¿ç”¨" -#: builtin/fetch.c:1017 +#: builtin/fetch.c:1070 msgid "--unshallow on a complete repository does not make sense" msgstr "对于一个完整的版本库,å‚æ•° --unshallow 没有æ„义" -#: builtin/fetch.c:1036 +#: builtin/fetch.c:1089 msgid "fetch --all does not take a repository argument" msgstr "fetch --all ä¸èƒ½å¸¦ä¸€ä¸ªç‰ˆæœ¬åº“å‚æ•°" -#: builtin/fetch.c:1038 +#: builtin/fetch.c:1091 msgid "fetch --all does not make sense with refspecs" -msgstr "fetch --all 带引用表达å¼æ²¡æœ‰ä»»ä½•æ„义" +msgstr "fetch --all 带引用规则没有任何æ„义" -#: builtin/fetch.c:1049 +#: builtin/fetch.c:1102 #, c-format msgid "No such remote or remote group: %s" msgstr "æ²¡æœ‰è¿™æ ·çš„è¿œç¨‹æˆ–è¿œç¨‹ç»„ï¼š%s" -#: builtin/fetch.c:1057 +#: builtin/fetch.c:1110 msgid "Fetching a group and specifying refspecs does not make sense" -msgstr "获å–组并指定引用表达å¼æ²¡æœ‰æ„义" +msgstr "获å–组并指定引用规则没有æ„义" #: builtin/fmt-merge-msg.c:13 msgid "git fmt-merge-msg [-m <message>] [--log[=<n>]|--no-log] [--file <file>]" msgstr "" "git fmt-merge-msg [-m <message>] [--log[=<n>]|--no-log] [--file <file>]" -#: builtin/fmt-merge-msg.c:663 builtin/fmt-merge-msg.c:666 builtin/grep.c:700 -#: builtin/merge.c:203 builtin/show-branch.c:655 builtin/show-ref.c:179 -#: builtin/tag.c:446 parse-options.h:133 parse-options.h:243 +#: builtin/fmt-merge-msg.c:663 builtin/fmt-merge-msg.c:666 builtin/grep.c:702 +#: builtin/merge.c:203 builtin/show-branch.c:655 builtin/show-ref.c:178 +#: builtin/tag.c:446 parse-options.h:135 parse-options.h:245 msgid "n" msgstr "n" @@ -5050,117 +5227,121 @@ msgstr "使用 <文本> 作为æ交说明的开始" msgid "file to read from" msgstr "从文件ä¸è¯»å–" -#: builtin/for-each-ref.c:979 +#: builtin/for-each-ref.c:995 msgid "git for-each-ref [options] [<pattern>]" msgstr "git for-each-ref [选项] [<模å¼>]" -#: builtin/for-each-ref.c:994 +#: builtin/for-each-ref.c:1010 msgid "quote placeholders suitably for shells" msgstr "引用å ä½ç¬¦é€‚用于 shells" -#: builtin/for-each-ref.c:996 +#: builtin/for-each-ref.c:1012 msgid "quote placeholders suitably for perl" msgstr "引用å ä½ç¬¦é€‚用于 perl" -#: builtin/for-each-ref.c:998 +#: builtin/for-each-ref.c:1014 msgid "quote placeholders suitably for python" msgstr "引用å ä½ç¬¦é€‚用于 python" -#: builtin/for-each-ref.c:1000 +#: builtin/for-each-ref.c:1016 msgid "quote placeholders suitably for tcl" msgstr "引用å ä½ç¬¦é€‚用于 tcl" -#: builtin/for-each-ref.c:1003 +#: builtin/for-each-ref.c:1019 msgid "show only <n> matched refs" msgstr "åªæ˜¾ç¤º <n> 个匹é…的引用" -#: builtin/for-each-ref.c:1004 +#: builtin/for-each-ref.c:1020 msgid "format" msgstr "æ ¼å¼" -#: builtin/for-each-ref.c:1004 +#: builtin/for-each-ref.c:1020 msgid "format to use for the output" msgstr "è¾“å‡ºæ ¼å¼" -#: builtin/for-each-ref.c:1005 +#: builtin/for-each-ref.c:1021 msgid "key" msgstr "key" -#: builtin/for-each-ref.c:1006 +#: builtin/for-each-ref.c:1022 msgid "field name to sort on" msgstr "排åºçš„å—段å" -#: builtin/fsck.c:608 +#: builtin/fsck.c:607 msgid "git fsck [options] [<object>...]" msgstr "git fsck [选项] [<对象>...]" -#: builtin/fsck.c:614 +#: builtin/fsck.c:613 msgid "show unreachable objects" msgstr "显示ä¸å¯è¾¾çš„对象" -#: builtin/fsck.c:615 +#: builtin/fsck.c:614 msgid "show dangling objects" msgstr "显示摇摆的对象" -#: builtin/fsck.c:616 +#: builtin/fsck.c:615 msgid "report tags" msgstr "报告 tags" -#: builtin/fsck.c:617 +#: builtin/fsck.c:616 msgid "report root nodes" msgstr "æŠ¥å‘Šæ ¹èŠ‚ç‚¹" -#: builtin/fsck.c:618 +#: builtin/fsck.c:617 msgid "make index objects head nodes" msgstr "将索引亦作为检查的头节点" -#: builtin/fsck.c:619 +#: builtin/fsck.c:618 msgid "make reflogs head nodes (default)" msgstr "将引用日志作为检查的头节点(默认)" -#: builtin/fsck.c:620 +#: builtin/fsck.c:619 msgid "also consider packs and alternate objects" msgstr "也考虑包和备用对象" -#: builtin/fsck.c:621 +#: builtin/fsck.c:620 msgid "enable more strict checking" msgstr "å¯ç”¨æ›´ä¸¥æ ¼çš„检查" -#: builtin/fsck.c:623 +#: builtin/fsck.c:622 msgid "write dangling objects in .git/lost-found" msgstr "将摇摆对象写入 .git/lost-found ä¸" -#: builtin/fsck.c:624 builtin/prune.c:134 +#: builtin/fsck.c:623 builtin/prune.c:134 msgid "show progress" msgstr "显示进度" -#: builtin/gc.c:22 +#: builtin/gc.c:23 msgid "git gc [options]" msgstr "git gc [选项]" -#: builtin/gc.c:63 +#: builtin/gc.c:79 #, c-format msgid "Invalid %s: '%s'" msgstr "æ— æ•ˆçš„ %s:'%s'" -#: builtin/gc.c:90 +#: builtin/gc.c:106 #, c-format msgid "insanely long object directory %.*s" msgstr "ä¸æ£å¸¸çš„长对象目录 %.*s" -#: builtin/gc.c:179 +#: builtin/gc.c:261 msgid "prune unreferenced objects" msgstr "清除未引用的对象" -#: builtin/gc.c:181 +#: builtin/gc.c:263 msgid "be more thorough (increased runtime)" msgstr "æ›´å½»åº•ï¼ˆå¢žåŠ è¿è¡Œæ—¶é—´ï¼‰" -#: builtin/gc.c:182 +#: builtin/gc.c:264 msgid "enable auto-gc mode" msgstr "å¯ç”¨è‡ªåŠ¨åžƒåœ¾å›žæ”¶æ¨¡å¼" -#: builtin/gc.c:222 +#: builtin/gc.c:265 +msgid "force running gc even if there may be another gc running" +msgstr "强制执行 gc å³ä½¿å¦å¤–一个 gc æ£åœ¨æ‰§è¡Œ" + +#: builtin/gc.c:305 #, c-format msgid "" "Auto packing the repository for optimum performance. You may also\n" @@ -5169,41 +5350,49 @@ msgstr "" "自动打包版本库以求最佳性能。您还å¯ä»¥æ‰‹åŠ¨è¿è¡Œ \"git gc\"。\n" "å‚è§ \"git help gc\" 以获å–更多信æ¯ã€‚\n" -#: builtin/gc.c:249 +#. be quiet on --auto +#: builtin/gc.c:315 +#, c-format +msgid "" +"gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)" +msgstr "" +"å·²ç»æœ‰ä¸€ä¸ª gc æ£è¿è¡Œåœ¨æœºå™¨ '%s' pid %<PRIuMAX> (如果ä¸æ˜¯ï¼Œä½¿ç”¨ --force)" + +#: builtin/gc.c:340 msgid "" "There are too many unreachable loose objects; run 'git prune' to remove them." msgstr "有太多ä¸å¯è¾¾çš„æ¾æ•£å¯¹è±¡ï¼Œè¿è¡Œ 'git prune' åˆ é™¤å®ƒä»¬ã€‚" -#: builtin/grep.c:22 +#: builtin/grep.c:23 msgid "git grep [options] [-e] <pattern> [<rev>...] [[--] <path>...]" msgstr "git grep [选项] [-e] <模å¼> [<修订>...] [[--] <路径>...]" -#: builtin/grep.c:217 +#: builtin/grep.c:218 #, c-format msgid "grep: failed to create thread: %s" msgstr "grepï¼šæ— æ³•åˆ›å»ºçº¿ç¨‹ï¼š%s" -#: builtin/grep.c:364 +#: builtin/grep.c:365 #, c-format msgid "Failed to chdir: %s" msgstr "æ— æ³•åˆ‡æ¢ç›®å½•ï¼š%s" -#: builtin/grep.c:442 builtin/grep.c:477 +#: builtin/grep.c:443 builtin/grep.c:478 #, c-format msgid "unable to read tree (%s)" msgstr "æ— æ³•è¯»å–æ ‘ï¼ˆ%s)" -#: builtin/grep.c:492 +#: builtin/grep.c:493 #, c-format msgid "unable to grep from object of type %s" msgstr "æ— æ³•æŠ“å–æ¥è‡ªäºŽ %s 类型的对象" -#: builtin/grep.c:550 +#: builtin/grep.c:551 #, c-format msgid "switch `%c' expects a numerical value" msgstr "开关 `%c' 期望一个数å—值" -#: builtin/grep.c:567 +#: builtin/grep.c:568 #, c-format msgid "cannot open '%s'" msgstr "ä¸èƒ½æ‰“å¼€ '%s'" @@ -5246,158 +5435,162 @@ msgid "don't match patterns in binary files" msgstr "ä¸åœ¨äºŒè¿›åˆ¶æ–‡ä»¶ä¸åŒ¹é…模å¼" #: builtin/grep.c:662 +msgid "process binary files with textconv filters" +msgstr "用 textconv 过滤器处ç†äºŒè¿›åˆ¶æ–‡ä»¶" + +#: builtin/grep.c:664 msgid "descend at most <depth> levels" msgstr "最多以指定的深度å‘下寻找" -#: builtin/grep.c:666 +#: builtin/grep.c:668 msgid "use extended POSIX regular expressions" msgstr "使用扩展的 POSIX æ£åˆ™è¡¨è¾¾å¼" -#: builtin/grep.c:669 +#: builtin/grep.c:671 msgid "use basic POSIX regular expressions (default)" msgstr "使用基本的 POSIX æ£åˆ™è¡¨è¾¾å¼ï¼ˆé»˜è®¤ï¼‰" -#: builtin/grep.c:672 +#: builtin/grep.c:674 msgid "interpret patterns as fixed strings" msgstr "把模å¼è§£æžä¸ºå›ºå®šçš„å—符串" -#: builtin/grep.c:675 +#: builtin/grep.c:677 msgid "use Perl-compatible regular expressions" msgstr "使用 Perl 兼容的æ£åˆ™è¡¨è¾¾å¼" -#: builtin/grep.c:678 +#: builtin/grep.c:680 msgid "show line numbers" msgstr "显示行å·" -#: builtin/grep.c:679 +#: builtin/grep.c:681 msgid "don't show filenames" msgstr "ä¸æ˜¾ç¤ºæ–‡ä»¶å" -#: builtin/grep.c:680 +#: builtin/grep.c:682 msgid "show filenames" msgstr "显示文件å" -#: builtin/grep.c:682 +#: builtin/grep.c:684 msgid "show filenames relative to top directory" msgstr "显示相对于顶级目录的文件å" -#: builtin/grep.c:684 +#: builtin/grep.c:686 msgid "show only filenames instead of matching lines" msgstr "åªæ˜¾ç¤ºæ–‡ä»¶å而ä¸æ˜¾ç¤ºåŒ¹é…çš„è¡Œ" -#: builtin/grep.c:686 +#: builtin/grep.c:688 msgid "synonym for --files-with-matches" msgstr "å’Œ --files-with-matches åŒä¹‰" -#: builtin/grep.c:689 +#: builtin/grep.c:691 msgid "show only the names of files without match" msgstr "åªæ˜¾ç¤ºæœªåŒ¹é…的文件å" -#: builtin/grep.c:691 +#: builtin/grep.c:693 msgid "print NUL after filenames" msgstr "在文件ååŽè¾“出 NUL å—符" -#: builtin/grep.c:693 +#: builtin/grep.c:695 msgid "show the number of matches instead of matching lines" msgstr "显示总匹é…行数,而ä¸æ˜¾ç¤ºåŒ¹é…çš„è¡Œ" -#: builtin/grep.c:694 +#: builtin/grep.c:696 msgid "highlight matches" msgstr "高亮显示匹é…项" -#: builtin/grep.c:696 +#: builtin/grep.c:698 msgid "print empty line between matches from different files" msgstr "在ä¸åŒæ–‡ä»¶çš„匹é…项之间打å°ç©ºè¡Œ" -#: builtin/grep.c:698 +#: builtin/grep.c:700 msgid "show filename only once above matches from same file" msgstr "åªåœ¨åŒä¸€æ–‡ä»¶çš„匹é…项的上é¢æ˜¾ç¤ºä¸€æ¬¡æ–‡ä»¶å" -#: builtin/grep.c:701 +#: builtin/grep.c:703 msgid "show <n> context lines before and after matches" msgstr "显示匹é…项å‰åŽçš„ <n> 行上下文" -#: builtin/grep.c:704 +#: builtin/grep.c:706 msgid "show <n> context lines before matches" msgstr "显示匹é…é¡¹å‰ <n> 行上下文" -#: builtin/grep.c:706 +#: builtin/grep.c:708 msgid "show <n> context lines after matches" msgstr "显示匹é…é¡¹åŽ <n> 行上下文" -#: builtin/grep.c:707 +#: builtin/grep.c:709 msgid "shortcut for -C NUM" msgstr "å¿«æ·é”® -C æ•°å—" -#: builtin/grep.c:710 +#: builtin/grep.c:712 msgid "show a line with the function name before matches" msgstr "在匹é…çš„å‰é¢æ˜¾ç¤ºä¸€è¡Œå‡½æ•°å" -#: builtin/grep.c:712 +#: builtin/grep.c:714 msgid "show the surrounding function" msgstr "显示所在函数的å‰åŽå†…容" -#: builtin/grep.c:715 +#: builtin/grep.c:717 msgid "read patterns from file" msgstr "从文件读å–模å¼" -#: builtin/grep.c:717 +#: builtin/grep.c:719 msgid "match <pattern>" msgstr "åŒ¹é… <模å¼>" -#: builtin/grep.c:719 +#: builtin/grep.c:721 msgid "combine patterns specified with -e" msgstr "组åˆç”¨ -e å‚数设定的模å¼" -#: builtin/grep.c:731 +#: builtin/grep.c:733 msgid "indicate hit with exit status without output" msgstr "ä¸è¾“出,而用退出ç æ ‡è¯†å‘½ä¸çŠ¶æ€" -#: builtin/grep.c:733 +#: builtin/grep.c:735 msgid "show only matches from files that match all patterns" msgstr "åªæ˜¾ç¤ºåŒ¹é…所有模å¼çš„文件ä¸çš„匹é…" -#: builtin/grep.c:735 +#: builtin/grep.c:737 msgid "show parse tree for grep expression" msgstr "显示 grep 表达å¼çš„解æžæ ‘" -#: builtin/grep.c:739 +#: builtin/grep.c:741 msgid "pager" msgstr "分页" -#: builtin/grep.c:739 +#: builtin/grep.c:741 msgid "show matching files in the pager" msgstr "分页显示匹é…的文件" -#: builtin/grep.c:742 +#: builtin/grep.c:744 msgid "allow calling of grep(1) (ignored by this build)" msgstr "å…许调用 grep(1)(本次构建忽略)" -#: builtin/grep.c:743 builtin/show-ref.c:188 +#: builtin/grep.c:745 builtin/show-ref.c:187 msgid "show usage" msgstr "显示用法" -#: builtin/grep.c:810 +#: builtin/grep.c:812 msgid "no pattern given." msgstr "未æ供模å¼åŒ¹é…。" -#: builtin/grep.c:865 +#: builtin/grep.c:870 msgid "--open-files-in-pager only works on the worktree" msgstr "--open-files-in-pager 仅用于工作区" -#: builtin/grep.c:888 +#: builtin/grep.c:893 msgid "--cached or --untracked cannot be used with --no-index." msgstr "--cached 或 --untracked ä¸èƒ½ä¸Ž --no-index åŒæ—¶ä½¿ç”¨ã€‚" -#: builtin/grep.c:893 +#: builtin/grep.c:898 msgid "--no-index or --untracked cannot be used with revs." msgstr "--no-index 或 --untracked ä¸èƒ½å’Œç‰ˆæœ¬åŒæ—¶ä½¿ç”¨ã€‚" -#: builtin/grep.c:896 +#: builtin/grep.c:901 msgid "--[no-]exclude-standard cannot be used for tracked contents." msgstr "--[no-]exclude-standard ä¸èƒ½ç”¨äºŽå·²è·Ÿè¸ªå†…容。" -#: builtin/grep.c:904 +#: builtin/grep.c:909 msgid "both --cached and trees are given." msgstr "åŒæ—¶ç»™å‡ºäº† --cached å’Œæ ‘å¯¹è±¡ã€‚" @@ -5652,8 +5845,8 @@ msgstr "解压缩严é‡çš„ä¸ä¸€è‡´" msgid "SHA1 COLLISION FOUND WITH %s !" msgstr "å‘现 %s 出现 SHA1 冲çªï¼" -#: builtin/index-pack.c:669 builtin/pack-objects.c:170 -#: builtin/pack-objects.c:262 +#: builtin/index-pack.c:669 builtin/pack-objects.c:171 +#: builtin/pack-objects.c:263 #, c-format msgid "unable to read %s" msgstr "ä¸èƒ½è¯» %s" @@ -5682,155 +5875,155 @@ msgstr "对象ä¸å‡ºé”™" msgid "Not all child objects of %s are reachable" msgstr "%s 的所有å对象并éžéƒ½å¯è¾¾" -#: builtin/index-pack.c:838 builtin/index-pack.c:868 +#: builtin/index-pack.c:839 builtin/index-pack.c:869 msgid "failed to apply delta" msgstr "æ— æ³•åº”ç”¨ delta" -#: builtin/index-pack.c:1009 +#: builtin/index-pack.c:1010 msgid "Receiving objects" msgstr "接收对象ä¸" -#: builtin/index-pack.c:1009 +#: builtin/index-pack.c:1010 msgid "Indexing objects" msgstr "索引对象ä¸" -#: builtin/index-pack.c:1035 +#: builtin/index-pack.c:1036 msgid "pack is corrupted (SHA1 mismatch)" msgstr "包冲çªï¼ˆSHA1 ä¸åŒ¹é…)" -#: builtin/index-pack.c:1040 +#: builtin/index-pack.c:1041 msgid "cannot fstat packfile" msgstr "ä¸èƒ½æžšä¸¾åŒ…文件状æ€" -#: builtin/index-pack.c:1043 +#: builtin/index-pack.c:1044 msgid "pack has junk at the end" msgstr "包的结尾有垃圾数æ®" -#: builtin/index-pack.c:1054 +#: builtin/index-pack.c:1055 msgid "confusion beyond insanity in parse_pack_objects()" msgstr "parse_pack_objects() ä¸é‡åˆ°ä¸å¯ç†å–»çš„问题" -#: builtin/index-pack.c:1077 +#: builtin/index-pack.c:1078 msgid "Resolving deltas" msgstr "å¤„ç† delta ä¸" -#: builtin/index-pack.c:1087 +#: builtin/index-pack.c:1088 #, c-format msgid "unable to create thread: %s" msgstr "ä¸èƒ½åˆ›å»ºçº¿ç¨‹ï¼š%s" -#: builtin/index-pack.c:1129 +#: builtin/index-pack.c:1130 msgid "confusion beyond insanity" msgstr "ä¸å¯ç†å–»" -#: builtin/index-pack.c:1137 +#: builtin/index-pack.c:1138 #, c-format msgid "completed with %d local objects" msgstr "å®Œæˆ %d 个本地对象" -#: builtin/index-pack.c:1147 +#: builtin/index-pack.c:1148 #, c-format msgid "Unexpected tail checksum for %s (disk corruption?)" msgstr "对 %s çš„å°¾éƒ¨æ ¡éªŒå‡ºçŽ°æ„外(ç£ç›˜æŸå?)" -#: builtin/index-pack.c:1151 +#: builtin/index-pack.c:1152 #, c-format msgid "pack has %d unresolved delta" msgid_plural "pack has %d unresolved deltas" msgstr[0] "包有 %d 个未解决的 delta" msgstr[1] "包有 %d 个未解决的 delta" -#: builtin/index-pack.c:1176 +#: builtin/index-pack.c:1177 #, c-format msgid "unable to deflate appended object (%d)" msgstr "ä¸èƒ½åŽ‹ç¼©é™„åŠ å¯¹è±¡ï¼ˆ%d)" -#: builtin/index-pack.c:1255 +#: builtin/index-pack.c:1256 #, c-format msgid "local object %s is corrupt" msgstr "本地对象 %s å·²æŸå" -#: builtin/index-pack.c:1279 +#: builtin/index-pack.c:1280 msgid "error while closing pack file" msgstr "å…³é—包文件时出错" -#: builtin/index-pack.c:1292 +#: builtin/index-pack.c:1293 #, c-format msgid "cannot write keep file '%s'" msgstr "æ— æ³•å†™ä¿ç•™æ–‡ä»¶ '%s'" -#: builtin/index-pack.c:1300 +#: builtin/index-pack.c:1301 #, c-format msgid "cannot close written keep file '%s'" msgstr "æ— æ³•å…³é—ä¿ç•™æ–‡ä»¶ '%s'" -#: builtin/index-pack.c:1313 +#: builtin/index-pack.c:1314 msgid "cannot store pack file" msgstr "æ— æ³•å˜å‚¨åŒ…文件" -#: builtin/index-pack.c:1324 +#: builtin/index-pack.c:1325 msgid "cannot store index file" msgstr "æ— æ³•å˜å‚¨ç´¢å¼•æ–‡ä»¶" -#: builtin/index-pack.c:1357 +#: builtin/index-pack.c:1358 #, c-format msgid "bad pack.indexversion=%<PRIu32>" msgstr "åçš„ pack.indexversion=%<PRIu32>" -#: builtin/index-pack.c:1363 +#: builtin/index-pack.c:1364 #, c-format msgid "invalid number of threads specified (%d)" msgstr "æŒ‡å®šçš„çº¿ç¨‹æ•°æ— æ•ˆï¼ˆ%d)" -#: builtin/index-pack.c:1367 builtin/index-pack.c:1545 +#: builtin/index-pack.c:1368 builtin/index-pack.c:1546 #, c-format msgid "no threads support, ignoring %s" msgstr "没有线程支æŒï¼Œå¿½ç•¥ %s" -#: builtin/index-pack.c:1425 +#: builtin/index-pack.c:1426 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "æ— æ³•æ‰“å¼€çŽ°å˜åŒ…文件 '%s'" -#: builtin/index-pack.c:1427 +#: builtin/index-pack.c:1428 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "æ— æ³•ä¸º %s 打开包索引文件" -#: builtin/index-pack.c:1474 +#: builtin/index-pack.c:1475 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" msgstr[0] "éž delta:%d 个对象" msgstr[1] "éž delta:%d 个对象" -#: builtin/index-pack.c:1481 +#: builtin/index-pack.c:1482 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" msgstr[0] "链长 = %d: %lu 对象" msgstr[1] "链长 = %d: %lu 对象" -#: builtin/index-pack.c:1509 +#: builtin/index-pack.c:1510 msgid "Cannot come back to cwd" msgstr "æ— æ³•è¿”å›žå½“å‰å·¥ä½œç›®å½•" -#: builtin/index-pack.c:1557 builtin/index-pack.c:1560 -#: builtin/index-pack.c:1572 builtin/index-pack.c:1576 +#: builtin/index-pack.c:1558 builtin/index-pack.c:1561 +#: builtin/index-pack.c:1573 builtin/index-pack.c:1577 #, c-format msgid "bad %s" msgstr "错误选项 %s" -#: builtin/index-pack.c:1590 +#: builtin/index-pack.c:1591 msgid "--fix-thin cannot be used without --stdin" msgstr "--fix-thin ä¸èƒ½å’Œ --stdin åŒæ—¶ä½¿ç”¨" -#: builtin/index-pack.c:1594 builtin/index-pack.c:1604 +#: builtin/index-pack.c:1595 builtin/index-pack.c:1605 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "包å '%s' 没有以 '.pack' 结尾" -#: builtin/index-pack.c:1613 +#: builtin/index-pack.c:1614 msgid "--verify with no packfile name given" msgstr "--verify 没有æ供包åå‚æ•°" @@ -5919,11 +6112,6 @@ msgstr "ä¸èƒ½å¤„ç† %d 类型的文件" msgid "unable to move %s to %s" msgstr "ä¸èƒ½ç§»åŠ¨ %s 至 %s" -#: builtin/init-db.c:363 -#, c-format -msgid "Could not create git link %s" -msgstr "ä¸èƒ½åˆ›å»º git link %s" - #. #. * TRANSLATORS: The first '%s' is either "Reinitialized #. * existing" or "Initialized empty", the second " shared" or @@ -5967,7 +6155,7 @@ msgstr "æƒé™" msgid "specify that the git repository is to be shared amongst several users" msgstr "指定 git 版本库是多个用户之间共享的" -#: builtin/init-db.c:493 builtin/prune-packed.c:75 +#: builtin/init-db.c:493 builtin/prune-packed.c:75 builtin/repack.c:155 msgid "be quiet" msgstr "ä¿æŒå®‰é™" @@ -6007,381 +6195,381 @@ msgstr "git log [<选项>] [<版本范围>] [[--] <路径>...]\n" msgid " or: git show [options] <object>..." msgstr " 或者:git show [选项] <对象>..." -#: builtin/log.c:124 +#: builtin/log.c:125 msgid "suppress diff output" msgstr "ä¸æ˜¾ç¤ºå·®å¼‚输出" -#: builtin/log.c:125 +#: builtin/log.c:126 msgid "show source" msgstr "显示æº" -#: builtin/log.c:126 +#: builtin/log.c:127 msgid "Use mail map file" msgstr "ä½¿ç”¨é‚®ä»¶æ˜ å°„æ–‡ä»¶" -#: builtin/log.c:127 +#: builtin/log.c:128 msgid "decorate options" msgstr "修饰选项" -#: builtin/log.c:230 +#: builtin/log.c:231 #, c-format msgid "Final output: %d %s\n" msgstr "最终输出:%d %s\n" -#: builtin/log.c:453 builtin/log.c:545 +#: builtin/log.c:473 builtin/log.c:565 #, c-format msgid "Could not read object %s" msgstr "ä¸èƒ½è¯»å–对象 %s" -#: builtin/log.c:569 +#: builtin/log.c:589 #, c-format msgid "Unknown type: %d" msgstr "未知类型:%d" -#: builtin/log.c:669 +#: builtin/log.c:689 msgid "format.headers without value" msgstr "format.headers 没有值" -#: builtin/log.c:751 +#: builtin/log.c:771 msgid "name of output directory is too long" msgstr "输出目录å太长" -#: builtin/log.c:767 +#: builtin/log.c:787 #, c-format msgid "Cannot open patch file %s" msgstr "æ— æ³•æ‰“å¼€è¡¥ä¸æ–‡ä»¶ %s" -#: builtin/log.c:781 +#: builtin/log.c:801 msgid "Need exactly one range." msgstr "åªéœ€è¦ä¸€ä¸ªèŒƒå›´ã€‚" -#: builtin/log.c:789 +#: builtin/log.c:809 msgid "Not a range." msgstr "ä¸æ˜¯ä¸€ä¸ªèŒƒå›´ã€‚" -#: builtin/log.c:891 +#: builtin/log.c:911 msgid "Cover letter needs email format" msgstr "ä¿¡å°éœ€è¦é‚®ä»¶åœ°å€æ ¼å¼" -#: builtin/log.c:967 +#: builtin/log.c:987 #, c-format msgid "insane in-reply-to: %s" msgstr "ä¸æ£å¸¸çš„ in-reply-to:%s" -#: builtin/log.c:995 +#: builtin/log.c:1015 msgid "git format-patch [options] [<since> | <revision range>]" msgstr "git format-patch [选项] [<从> | <修订集范围>]" -#: builtin/log.c:1040 +#: builtin/log.c:1060 msgid "Two output directories?" msgstr "两个输出目录?" -#: builtin/log.c:1155 +#: builtin/log.c:1175 msgid "use [PATCH n/m] even with a single patch" msgstr "使用 [PATCH n/m],å³ä½¿åªæœ‰ä¸€ä¸ªè¡¥ä¸" -#: builtin/log.c:1158 +#: builtin/log.c:1178 msgid "use [PATCH] even with multiple patches" msgstr "使用 [PATCH],å³ä½¿æœ‰å¤šä¸ªè¡¥ä¸" -#: builtin/log.c:1162 +#: builtin/log.c:1182 msgid "print patches to standard out" msgstr "打å°è¡¥ä¸åˆ°æ ‡å‡†è¾“出" -#: builtin/log.c:1164 +#: builtin/log.c:1184 msgid "generate a cover letter" msgstr "生æˆä¸€å°é™„ä¿¡" -#: builtin/log.c:1166 +#: builtin/log.c:1186 msgid "use simple number sequence for output file names" msgstr "使用简å•çš„æ•°å—åºåˆ—作为输出文件å" -#: builtin/log.c:1167 +#: builtin/log.c:1187 msgid "sfx" msgstr "åŽç¼€" -#: builtin/log.c:1168 +#: builtin/log.c:1188 msgid "use <sfx> instead of '.patch'" msgstr "使用 <åŽç¼€> 代替 '.patch'" -#: builtin/log.c:1170 +#: builtin/log.c:1190 msgid "start numbering patches at <n> instead of 1" msgstr "è¡¥ä¸ä»¥ <n> 开始编å·ï¼Œè€Œä¸æ˜¯1" -#: builtin/log.c:1172 +#: builtin/log.c:1192 msgid "mark the series as Nth re-roll" msgstr "æ ‡è®°è¡¥ä¸ç³»åˆ—æ˜¯ç¬¬å‡ æ¬¡é‡åˆ¶" -#: builtin/log.c:1174 +#: builtin/log.c:1194 msgid "Use [<prefix>] instead of [PATCH]" msgstr "使用 [<å‰ç¼€>] 代替 [PATCH]" -#: builtin/log.c:1177 +#: builtin/log.c:1197 msgid "store resulting files in <dir>" msgstr "把结果文件å˜å‚¨åœ¨ <dir>" -#: builtin/log.c:1180 +#: builtin/log.c:1200 msgid "don't strip/add [PATCH]" msgstr "ä¸åˆ 除/æ·»åŠ [PATCH]" -#: builtin/log.c:1183 +#: builtin/log.c:1203 msgid "don't output binary diffs" msgstr "ä¸è¾“出二进制差异" -#: builtin/log.c:1185 +#: builtin/log.c:1205 msgid "don't include a patch matching a commit upstream" msgstr "ä¸åŒ…å«å·²åœ¨ä¸Šæ¸¸æ交ä¸çš„è¡¥ä¸" -#: builtin/log.c:1187 +#: builtin/log.c:1207 msgid "show patch format instead of default (patch + stat)" msgstr "显示纯补ä¸æ ¼å¼è€Œéžé»˜è®¤çš„(补ä¸+状æ€ï¼‰" -#: builtin/log.c:1189 +#: builtin/log.c:1209 msgid "Messaging" msgstr "邮件å‘é€" -#: builtin/log.c:1190 +#: builtin/log.c:1210 msgid "header" msgstr "header" -#: builtin/log.c:1191 +#: builtin/log.c:1211 msgid "add email header" msgstr "æ·»åŠ é‚®ä»¶å¤´" -#: builtin/log.c:1192 builtin/log.c:1194 +#: builtin/log.c:1212 builtin/log.c:1214 msgid "email" msgstr "邮件地å€" -#: builtin/log.c:1192 +#: builtin/log.c:1212 msgid "add To: header" msgstr "æ·»åŠ æ”¶ä»¶äºº" -#: builtin/log.c:1194 +#: builtin/log.c:1214 msgid "add Cc: header" msgstr "æ·»åŠ æŠ„é€" -#: builtin/log.c:1196 +#: builtin/log.c:1216 msgid "ident" msgstr "ident" -#: builtin/log.c:1197 +#: builtin/log.c:1217 msgid "set From address to <ident> (or committer ident if absent)" msgstr "设置 From 地å€ä¸º <ident>(如若ä¸æ供,用æ交者IDåšä¸ºåœ°å€ï¼‰" -#: builtin/log.c:1199 +#: builtin/log.c:1219 msgid "message-id" msgstr "message-id" -#: builtin/log.c:1200 +#: builtin/log.c:1220 msgid "make first mail a reply to <message-id>" msgstr "使第一å°é‚®ä»¶ä½œä¸ºå¯¹ <message-id> 的回å¤" -#: builtin/log.c:1201 builtin/log.c:1204 +#: builtin/log.c:1221 builtin/log.c:1224 msgid "boundary" msgstr "边界" -#: builtin/log.c:1202 +#: builtin/log.c:1222 msgid "attach the patch" msgstr "附件方å¼æ·»åŠ è¡¥ä¸" -#: builtin/log.c:1205 +#: builtin/log.c:1225 msgid "inline the patch" msgstr "内è”显示补ä¸" -#: builtin/log.c:1209 +#: builtin/log.c:1229 msgid "enable message threading, styles: shallow, deep" msgstr "å¯ç”¨é‚®ä»¶çº¿ç´¢ï¼Œé£Žæ ¼ï¼šæµ…,深" -#: builtin/log.c:1211 +#: builtin/log.c:1231 msgid "signature" msgstr "ç¾å" -#: builtin/log.c:1212 +#: builtin/log.c:1232 msgid "add a signature" msgstr "æ·»åŠ ä¸€ä¸ªç¾å" -#: builtin/log.c:1214 +#: builtin/log.c:1233 msgid "don't print the patch filenames" msgstr "ä¸è¦æ‰“å°è¡¥ä¸æ–‡ä»¶å" -#: builtin/log.c:1288 +#: builtin/log.c:1307 #, c-format msgid "invalid ident line: %s" msgstr "包å«æ— æ•ˆçš„èº«ä»½æ ‡è¯†ï¼š%s" -#: builtin/log.c:1303 +#: builtin/log.c:1322 msgid "-n and -k are mutually exclusive." msgstr "-n å’Œ -k 互斥。" -#: builtin/log.c:1305 +#: builtin/log.c:1324 msgid "--subject-prefix and -k are mutually exclusive." msgstr "--subject-prefix å’Œ -k 互斥。" -#: builtin/log.c:1313 +#: builtin/log.c:1332 msgid "--name-only does not make sense" msgstr "--name-only æ— æ„义" -#: builtin/log.c:1315 +#: builtin/log.c:1334 msgid "--name-status does not make sense" msgstr "--name-status æ— æ„义" -#: builtin/log.c:1317 +#: builtin/log.c:1336 msgid "--check does not make sense" msgstr "--check æ— æ„义" -#: builtin/log.c:1340 +#: builtin/log.c:1359 msgid "standard output, or directory, which one?" msgstr "æ ‡å‡†è¾“å‡ºæˆ–ç›®å½•ï¼Œå“ªä¸€ä¸ªï¼Ÿ" -#: builtin/log.c:1342 +#: builtin/log.c:1361 #, c-format msgid "Could not create directory '%s'" msgstr "ä¸èƒ½åˆ›å»ºç›®å½• '%s'" -#: builtin/log.c:1490 +#: builtin/log.c:1509 msgid "Failed to create output files" msgstr "æ— æ³•åˆ›å»ºè¾“å‡ºæ–‡ä»¶" -#: builtin/log.c:1539 +#: builtin/log.c:1558 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" msgstr "git cherry [-v] [<上游> [<头> [<é™åˆ¶>]]]" -#: builtin/log.c:1594 +#: builtin/log.c:1613 #, c-format msgid "" "Could not find a tracked remote branch, please specify <upstream> manually.\n" msgstr "ä¸èƒ½æ‰¾åˆ°è·Ÿè¸ªçš„远程分支,请手工指定 <upstream>。\n" -#: builtin/log.c:1607 builtin/log.c:1609 builtin/log.c:1621 +#: builtin/log.c:1626 builtin/log.c:1628 builtin/log.c:1640 #, c-format msgid "Unknown commit %s" msgstr "未知æ交 %s" -#: builtin/ls-files.c:408 +#: builtin/ls-files.c:398 msgid "git ls-files [options] [<file>...]" msgstr "git ls-files [选项] [<文件>...]" -#: builtin/ls-files.c:465 +#: builtin/ls-files.c:455 msgid "identify the file status with tags" msgstr "ç”¨æ ‡ç¾æ ‡è¯†æ–‡ä»¶çš„状æ€" -#: builtin/ls-files.c:467 +#: builtin/ls-files.c:457 msgid "use lowercase letters for 'assume unchanged' files" msgstr "使用å°å†™å—æ¯è¡¨ç¤º 'å‡è®¾æœªæ”¹å˜çš„' 文件" -#: builtin/ls-files.c:469 +#: builtin/ls-files.c:459 msgid "show cached files in the output (default)" msgstr "显示缓å˜çš„文件(默认)" -#: builtin/ls-files.c:471 +#: builtin/ls-files.c:461 msgid "show deleted files in the output" msgstr "æ˜¾ç¤ºå·²åˆ é™¤çš„æ–‡ä»¶" -#: builtin/ls-files.c:473 +#: builtin/ls-files.c:463 msgid "show modified files in the output" msgstr "显示已修改的文件" -#: builtin/ls-files.c:475 +#: builtin/ls-files.c:465 msgid "show other files in the output" msgstr "显示其它文件" -#: builtin/ls-files.c:477 +#: builtin/ls-files.c:467 msgid "show ignored files in the output" msgstr "显示忽略的文件" -#: builtin/ls-files.c:480 +#: builtin/ls-files.c:470 msgid "show staged contents' object name in the output" msgstr "显示暂å˜åŒºå†…容的对象å称" -#: builtin/ls-files.c:482 +#: builtin/ls-files.c:472 msgid "show files on the filesystem that need to be removed" msgstr "显示文件系统需è¦åˆ 除的文件" -#: builtin/ls-files.c:484 +#: builtin/ls-files.c:474 msgid "show 'other' directories' name only" msgstr "åªæ˜¾ç¤ºâ€œå…¶ä»–â€ç›®å½•çš„å称" -#: builtin/ls-files.c:487 +#: builtin/ls-files.c:477 msgid "don't show empty directories" msgstr "ä¸æ˜¾ç¤ºç©ºç›®å½•" -#: builtin/ls-files.c:490 +#: builtin/ls-files.c:480 msgid "show unmerged files in the output" msgstr "显示未åˆå¹¶çš„文件" -#: builtin/ls-files.c:492 +#: builtin/ls-files.c:482 msgid "show resolve-undo information" msgstr "显示 resolve-undo ä¿¡æ¯" -#: builtin/ls-files.c:494 +#: builtin/ls-files.c:484 msgid "skip files matching pattern" msgstr "匹é…排除文件的模å¼" -#: builtin/ls-files.c:497 +#: builtin/ls-files.c:487 msgid "exclude patterns are read from <file>" msgstr "从 <文件> ä¸è¯»å–排除模å¼" -#: builtin/ls-files.c:500 +#: builtin/ls-files.c:490 msgid "read additional per-directory exclude patterns in <file>" msgstr "从 <文件> 读å–é¢å¤–çš„æ¯ä¸ªç›®å½•çš„排除模å¼" -#: builtin/ls-files.c:502 +#: builtin/ls-files.c:492 msgid "add the standard git exclusions" msgstr "æ·»åŠ æ ‡å‡†çš„ git 排除" -#: builtin/ls-files.c:505 +#: builtin/ls-files.c:495 msgid "make the output relative to the project top directory" msgstr "显示相对于顶级目录的文件å" -#: builtin/ls-files.c:508 +#: builtin/ls-files.c:498 msgid "if any <file> is not in the index, treat this as an error" msgstr "如果任何 <文件> 都ä¸åœ¨ç´¢å¼•åŒºï¼Œè§†ä¸ºé”™è¯¯" -#: builtin/ls-files.c:509 +#: builtin/ls-files.c:499 msgid "tree-ish" msgstr "æ ‘æˆ–æ交" -#: builtin/ls-files.c:510 +#: builtin/ls-files.c:500 msgid "pretend that paths removed since <tree-ish> are still present" msgstr "å‡è£…自从 <æ ‘æˆ–æ交> 之åŽåˆ 除的路径ä»ç„¶å˜åœ¨" -#: builtin/ls-files.c:512 +#: builtin/ls-files.c:502 msgid "show debugging data" msgstr "显示调试数æ®" -#: builtin/ls-tree.c:27 +#: builtin/ls-tree.c:28 msgid "git ls-tree [<options>] <tree-ish> [<path>...]" msgstr "git ls-tree [<选项>] <æ ‘æˆ–æ交> [<路径>...]" -#: builtin/ls-tree.c:125 +#: builtin/ls-tree.c:126 msgid "only show trees" msgstr "åªæ˜¾ç¤ºæ ‘" -#: builtin/ls-tree.c:127 +#: builtin/ls-tree.c:128 msgid "recurse into subtrees" msgstr "递归到åæ ‘" -#: builtin/ls-tree.c:129 +#: builtin/ls-tree.c:130 msgid "show trees when recursing" msgstr "å½“é€’å½’æ—¶æ˜¾ç¤ºæ ‘" -#: builtin/ls-tree.c:132 +#: builtin/ls-tree.c:133 msgid "terminate entries with NUL byte" msgstr "æ¡ç›®ä»¥NULå—符终æ¢" -#: builtin/ls-tree.c:133 +#: builtin/ls-tree.c:134 msgid "include object size" msgstr "包括对象大å°" -#: builtin/ls-tree.c:135 builtin/ls-tree.c:137 +#: builtin/ls-tree.c:136 builtin/ls-tree.c:138 msgid "list only filenames" msgstr "åªåˆ—出文件å" -#: builtin/ls-tree.c:140 +#: builtin/ls-tree.c:141 msgid "use full path names" msgstr "使用文件的全路径" -#: builtin/ls-tree.c:142 +#: builtin/ls-tree.c:143 msgid "list entire tree; not just current directory (implies --full-name)" msgstr "åˆ—å‡ºæ•´ä¸ªæ ‘ï¼›ä¸ä»…仅当å‰ç›®å½•ï¼ˆéšå« --full-name)" @@ -6456,7 +6644,7 @@ msgstr "如果ä¸èƒ½å¿«è¿›å°±æ”¾å¼ƒåˆå¹¶" msgid "Verify that the named commit has a valid GPG signature" msgstr "验è¯æŒ‡å®šçš„æ交是å¦åŒ…å«ä¸€ä¸ªæœ‰æ•ˆçš„ GPG ç¾å" -#: builtin/merge.c:219 builtin/notes.c:738 builtin/revert.c:114 +#: builtin/merge.c:219 builtin/notes.c:738 builtin/revert.c:89 msgid "strategy" msgstr "ç–ç•¥" @@ -6818,76 +7006,85 @@ msgstr "å…许丢失的对象" msgid "allow creation of more than one tree" msgstr "å…è®¸åˆ›å»ºä¸€ä¸ªä»¥ä¸Šçš„æ ‘" -#: builtin/mv.c:14 +#: builtin/mv.c:15 msgid "git mv [options] <source>... <destination>" msgstr "git mv [选项] <æº>... <ç›®æ ‡>" -#: builtin/mv.c:64 +#: builtin/mv.c:67 msgid "force move/rename even if target exists" msgstr "强制移动/é‡å‘½ä»¤ï¼Œå³ä½¿ç›®æ ‡å˜åœ¨" -#: builtin/mv.c:65 +#: builtin/mv.c:68 msgid "skip move/rename errors" msgstr "跳过移动/é‡å‘½å错误" -#: builtin/mv.c:108 +#: builtin/mv.c:113 #, c-format msgid "Checking rename of '%s' to '%s'\n" msgstr "检查 '%s' 到 '%s' çš„é‡å‘½å\n" -#: builtin/mv.c:112 +#: builtin/mv.c:117 msgid "bad source" msgstr "åçš„æº" -#: builtin/mv.c:115 +#: builtin/mv.c:120 msgid "can not move directory into itself" msgstr "ä¸èƒ½å°†ç›®å½•ç§»åŠ¨åˆ°è‡ªèº«" -#: builtin/mv.c:118 +#: builtin/mv.c:123 msgid "cannot move directory over file" msgstr "ä¸èƒ½å°†ç›®å½•ç§»åŠ¨åˆ°æ–‡ä»¶" -#: builtin/mv.c:128 +#: builtin/mv.c:129 +#, c-format +msgid "Huh? Directory %s is in index and no submodule?" +msgstr "嗯?目录 %s 在索引ä¸å¹¶ä¸”ä¸æ˜¯å模组?" + +#: builtin/mv.c:131 builtin/rm.c:318 +msgid "Please, stage your changes to .gitmodules or stash them to proceed" +msgstr "请将您的修改缓å˜åˆ° .gitmodules ä¸æˆ–ä¿å˜è¿›åº¦åŽå†ç»§ç»" + +#: builtin/mv.c:147 #, c-format msgid "Huh? %.*s is in index?" msgstr "嗯?%.*s 在索引ä¸ï¼Ÿ" -#: builtin/mv.c:140 +#: builtin/mv.c:159 msgid "source directory is empty" msgstr "æºç›®å½•ä¸ºç©º" -#: builtin/mv.c:171 +#: builtin/mv.c:191 msgid "not under version control" msgstr "ä¸åœ¨ç‰ˆæœ¬æŽ§åˆ¶ä¹‹ä¸‹" -#: builtin/mv.c:173 +#: builtin/mv.c:193 msgid "destination exists" msgstr "ç›®æ ‡å·²å˜åœ¨" -#: builtin/mv.c:181 +#: builtin/mv.c:201 #, c-format msgid "overwriting '%s'" msgstr "覆盖 '%s'" -#: builtin/mv.c:184 +#: builtin/mv.c:204 msgid "Cannot overwrite" msgstr "ä¸èƒ½è¦†ç›–" -#: builtin/mv.c:187 +#: builtin/mv.c:207 msgid "multiple sources for the same target" msgstr "åŒä¸€ç›®æ ‡å…·æœ‰å¤šä¸ªæº" -#: builtin/mv.c:202 +#: builtin/mv.c:222 #, c-format msgid "%s, source=%s, destination=%s" msgstr "%s,æº=%sï¼Œç›®æ ‡=%s" -#: builtin/mv.c:212 +#: builtin/mv.c:232 #, c-format msgid "Renaming %s to %s\n" msgstr "é‡å‘½å %s 至 %s\n" -#: builtin/mv.c:215 builtin/remote.c:731 +#: builtin/mv.c:235 builtin/remote.c:731 builtin/repack.c:330 #, c-format msgid "renaming '%s' failed" msgstr "é‡å‘½å '%s' 失败" @@ -6925,8 +7122,8 @@ msgid "read from stdin" msgstr "ä»Žæ ‡å‡†è¾“å…¥è¯»å–" #: builtin/name-rev.c:320 -msgid "allow to print `undefined` names" -msgstr "å…è®¸æ‰“å° `未定义` çš„å称" +msgid "allow to print `undefined` names (default)" +msgstr "å…è®¸æ‰“å° `未定义` çš„å称(默认)" #: builtin/name-rev.c:326 msgid "dereference tags in the input (internal use)" @@ -7078,12 +7275,12 @@ msgstr "ä¸èƒ½å†™æ³¨è§£å¯¹è±¡" msgid "The note contents has been left in %s" msgstr "注解内容被留在文件 %s ä¸" -#: builtin/notes.c:248 builtin/tag.c:540 +#: builtin/notes.c:248 builtin/tag.c:537 #, c-format msgid "cannot read '%s'" msgstr "ä¸èƒ½è¯»å– '%s'" -#: builtin/notes.c:250 builtin/tag.c:543 +#: builtin/notes.c:250 builtin/tag.c:540 #, c-format msgid "could not open or read '%s'" msgstr "ä¸èƒ½æ‰“å¼€æˆ–è¯»å– '%s'" @@ -7091,7 +7288,7 @@ msgstr "ä¸èƒ½æ‰“å¼€æˆ–è¯»å– '%s'" #: builtin/notes.c:269 builtin/notes.c:316 builtin/notes.c:318 #: builtin/notes.c:378 builtin/notes.c:432 builtin/notes.c:515 #: builtin/notes.c:520 builtin/notes.c:595 builtin/notes.c:637 -#: builtin/notes.c:839 builtin/tag.c:556 +#: builtin/notes.c:839 builtin/tag.c:553 #, c-format msgid "Failed to resolve '%s' as a valid ref." msgstr "æ— æ³•è§£æž '%s' 为一个有效引用。" @@ -7256,148 +7453,148 @@ msgstr "git pack-objects --stdout [选项...] [< 引用列表 | < 对象列表]" msgid "git pack-objects [options...] base-name [< ref-list | < object-list]" msgstr "git pack-objects [选项...] base-name [< 引用列表 | < 对象列表]" -#: builtin/pack-objects.c:183 builtin/pack-objects.c:186 +#: builtin/pack-objects.c:184 builtin/pack-objects.c:187 #, c-format msgid "deflate error (%d)" msgstr "压缩错误 (%d)" -#: builtin/pack-objects.c:2397 +#: builtin/pack-objects.c:2398 #, c-format msgid "unsupported index version %s" msgstr "ä¸æ”¯æŒçš„索引版本 %s" -#: builtin/pack-objects.c:2401 +#: builtin/pack-objects.c:2402 #, c-format msgid "bad index version '%s'" msgstr "å的索引版本 '%s'" -#: builtin/pack-objects.c:2424 +#: builtin/pack-objects.c:2425 #, c-format msgid "option %s does not accept negative form" msgstr "选项 %s ä¸æŽ¥å—å¦å®šæ ¼å¼" -#: builtin/pack-objects.c:2428 +#: builtin/pack-objects.c:2429 #, c-format msgid "unable to parse value '%s' for option %s" msgstr "ä¸èƒ½è§£æžé€‰é¡¹ %1$s 的值 '%2$s'" -#: builtin/pack-objects.c:2447 +#: builtin/pack-objects.c:2448 msgid "do not show progress meter" msgstr "ä¸æ˜¾ç¤ºè¿›åº¦è¡¨" -#: builtin/pack-objects.c:2449 +#: builtin/pack-objects.c:2450 msgid "show progress meter" msgstr "显示进度表" -#: builtin/pack-objects.c:2451 +#: builtin/pack-objects.c:2452 msgid "show progress meter during object writing phase" msgstr "在对象写入阶段显示进度表" -#: builtin/pack-objects.c:2454 +#: builtin/pack-objects.c:2455 msgid "similar to --all-progress when progress meter is shown" msgstr "当进度表显示时类似于 --all-progress" -#: builtin/pack-objects.c:2455 +#: builtin/pack-objects.c:2456 msgid "version[,offset]" msgstr "版本[,å移]" -#: builtin/pack-objects.c:2456 +#: builtin/pack-objects.c:2457 msgid "write the pack index file in the specified idx format version" msgstr "用指定的 idx æ ¼å¼ç‰ˆæœ¬æ¥å†™åŒ…索引文件" -#: builtin/pack-objects.c:2459 +#: builtin/pack-objects.c:2460 msgid "maximum size of each output pack file" msgstr "æ¯ä¸ªè¾“出包的最大尺寸" -#: builtin/pack-objects.c:2461 +#: builtin/pack-objects.c:2462 msgid "ignore borrowed objects from alternate object store" msgstr "忽略从替代对象å˜å‚¨é‡Œå€Ÿç”¨å¯¹è±¡" -#: builtin/pack-objects.c:2463 +#: builtin/pack-objects.c:2464 msgid "ignore packed objects" msgstr "忽略包对象" -#: builtin/pack-objects.c:2465 +#: builtin/pack-objects.c:2466 msgid "limit pack window by objects" msgstr "é™åˆ¶æ‰“包窗å£çš„对象数" -#: builtin/pack-objects.c:2467 +#: builtin/pack-objects.c:2468 msgid "limit pack window by memory in addition to object limit" msgstr "除对象数é‡é™åˆ¶å¤–设置打包窗å£çš„内å˜é™åˆ¶" -#: builtin/pack-objects.c:2469 +#: builtin/pack-objects.c:2470 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "打包å…许的 delta 链的最大长度" -#: builtin/pack-objects.c:2471 +#: builtin/pack-objects.c:2472 msgid "reuse existing deltas" msgstr "é‡ç”¨å·²å˜åœ¨çš„ deltas" -#: builtin/pack-objects.c:2473 +#: builtin/pack-objects.c:2474 msgid "reuse existing objects" msgstr "é‡ç”¨å·²å˜åœ¨çš„对象" -#: builtin/pack-objects.c:2475 +#: builtin/pack-objects.c:2476 msgid "use OFS_DELTA objects" msgstr "使用 OFS_DELTA 对象" -#: builtin/pack-objects.c:2477 +#: builtin/pack-objects.c:2478 msgid "use threads when searching for best delta matches" msgstr "使用线程查询最佳 delta 匹é…" -#: builtin/pack-objects.c:2479 +#: builtin/pack-objects.c:2480 msgid "do not create an empty pack output" msgstr "ä¸åˆ›å»ºç©ºçš„包输出" -#: builtin/pack-objects.c:2481 +#: builtin/pack-objects.c:2482 msgid "read revision arguments from standard input" msgstr "ä»Žæ ‡å‡†è¾“å…¥è¯»å–修订å·å‚æ•°" -#: builtin/pack-objects.c:2483 +#: builtin/pack-objects.c:2484 msgid "limit the objects to those that are not yet packed" msgstr "é™åˆ¶é‚£äº›å°šæœªæ‰“包的对象" -#: builtin/pack-objects.c:2486 +#: builtin/pack-objects.c:2487 msgid "include objects reachable from any reference" msgstr "包括å¯ä»¥ä»Žä»»ä½•å¼•ç”¨è®¿é—®åˆ°çš„对象" -#: builtin/pack-objects.c:2489 +#: builtin/pack-objects.c:2490 msgid "include objects referred by reflog entries" msgstr "包括被引用日志引用到的对象" -#: builtin/pack-objects.c:2492 +#: builtin/pack-objects.c:2493 msgid "output pack to stdout" msgstr "è¾“å‡ºåŒ…åˆ°æ ‡å‡†è¾“å‡º" -#: builtin/pack-objects.c:2494 +#: builtin/pack-objects.c:2495 msgid "include tag objects that refer to objects to be packed" msgstr "包括引用了打包对象的 tag" -#: builtin/pack-objects.c:2496 +#: builtin/pack-objects.c:2497 msgid "keep unreachable objects" msgstr "ç»´æŒä¸å¯è¾¾çš„对象" -#: builtin/pack-objects.c:2497 parse-options.h:141 +#: builtin/pack-objects.c:2498 parse-options.h:143 msgid "time" msgstr "时间" -#: builtin/pack-objects.c:2498 +#: builtin/pack-objects.c:2499 msgid "unpack unreachable objects newer than <time>" msgstr "将比给定 <时间> æ–°çš„æ— æ³•è®¿é—®çš„å¯¹è±¡è§£åŒ…" -#: builtin/pack-objects.c:2501 +#: builtin/pack-objects.c:2502 msgid "create thin packs" msgstr "创建精简包" -#: builtin/pack-objects.c:2503 +#: builtin/pack-objects.c:2504 msgid "ignore packs that have companion .keep file" msgstr "忽略é…有 .keep 文件的包" -#: builtin/pack-objects.c:2505 +#: builtin/pack-objects.c:2506 msgid "pack compression level" msgstr "打包压缩级别" -#: builtin/pack-objects.c:2507 +#: builtin/pack-objects.c:2508 msgid "do not hide commits by grafts" msgstr "ä¸éšè—移æ¤è¦†ç›–çš„æ交" @@ -7435,17 +7632,17 @@ msgstr "使早于给定时间的对象过期" #: builtin/push.c:14 msgid "git push [<options>] [<repository> [<refspec>...]]" -msgstr "git push [<选项>] [<版本库> [<引用表达å¼>...]]" +msgstr "git push [<选项>] [<版本库> [<引用规则>...]]" -#: builtin/push.c:45 +#: builtin/push.c:47 msgid "tag shorthand without <tag>" msgstr "tag 简写没有跟 <tag> å‚æ•°" -#: builtin/push.c:64 +#: builtin/push.c:66 msgid "--delete only accepts plain target ref names" msgstr "--delete åªæŽ¥å—简å•çš„ç›®æ ‡å¼•ç”¨å" -#: builtin/push.c:99 +#: builtin/push.c:101 msgid "" "\n" "To choose either option permanently, see push.default in 'git help config'." @@ -7453,7 +7650,7 @@ msgstr "" "\n" "为了永久地选择任一选项,å‚è§ 'git help config' ä¸çš„ push.default。" -#: builtin/push.c:102 +#: builtin/push.c:104 #, c-format msgid "" "The upstream branch of your current branch does not match\n" @@ -7477,7 +7674,7 @@ msgstr "" " git push %s %s\n" "%s" -#: builtin/push.c:117 +#: builtin/push.c:119 #, c-format msgid "" "You are not currently on a branch.\n" @@ -7491,7 +7688,7 @@ msgstr "" "\n" " git push %s HEAD:<name-of-remote-branch>\n" -#: builtin/push.c:131 +#: builtin/push.c:133 #, c-format msgid "" "The current branch %s has no upstream branch.\n" @@ -7504,12 +7701,12 @@ msgstr "" "\n" " git push --set-upstream %s %s\n" -#: builtin/push.c:139 +#: builtin/push.c:141 #, c-format msgid "The current branch %s has multiple upstream branches, refusing to push." msgstr "当å‰åˆ†æ”¯ %s 有多个上游分支,拒ç»æŽ¨é€ã€‚" -#: builtin/push.c:142 +#: builtin/push.c:144 #, c-format msgid "" "You are pushing to remote '%s', which is not the upstream of\n" @@ -7520,7 +7717,7 @@ msgstr "" "而没有告诉我è¦æŽ¨é€ä»€ä¹ˆã€æ›´æ–°å“ªä¸ªè¿œç¨‹åˆ†æ”¯ã€‚" # 译者:å—符串首行行首è¦æ·»åŠ “warning: â€å—串,故æ¤é¦–è¡Œè¦è¾ƒå…¶ä½™è¡ŒçŸ -#: builtin/push.c:165 +#: builtin/push.c:167 msgid "" "push.default is unset; its implicit value is changing in\n" "Git 2.0 from 'matching' to 'simple'. To squelch this message\n" @@ -7537,9 +7734,8 @@ msgid "" "(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n" "'current' instead of 'simple' if you sometimes use older versions of Git)" msgstr "" -"push.default 未设置,它的默认值将会在 Git 2.0 ç”± 'matching'\n" -"修改为 'simple'。若è¦ä¸å†æ˜¾ç¤ºæœ¬ä¿¡æ¯å¹¶åœ¨å…¶é»˜è®¤å€¼æ”¹å˜åŽç»´æŒå½“å‰ä½¿ç”¨ä¹ 惯,\n" -"进行如下设置:\n" +"push.default 未设置,它的默认值将在 Git 2.0 ç”± 'matching'\n" +"改å˜ä¸º 'simple'。若è¦ä¸å†æ˜¾ç¤ºæœ¬ä¿¡æ¯å¹¶ä¿æŒä¼ ç»Ÿä¹ æƒ¯ï¼Œè¿›è¡Œå¦‚ä¸‹è®¾ç½®ï¼š\n" "\n" " git config --global push.default matching\n" "\n" @@ -7549,14 +7745,14 @@ msgstr "" "\n" "å‚è§ 'git help config' 并查找 'push.default' 以获å–更多信æ¯ã€‚\n" "('simple' 模å¼ç”± Git 1.7.11 版本引入。如果您有时è¦ä½¿ç”¨è€ç‰ˆæœ¬çš„ Git,\n" -"为ä¿æŒå…¼å®¹ï¼Œè¯·ç”¨ 'current' 代替 'simple' 模å¼ï¼‰" +"为ä¿æŒå…¼å®¹ï¼Œè¯·ç”¨ 'current' 代替 'simple')" -#: builtin/push.c:225 +#: builtin/push.c:227 msgid "" "You didn't specify any refspecs to push, and push.default is \"nothing\"." -msgstr "您没有为推é€æŒ‡å®šä»»ä½•å¼•ç”¨è¡¨è¾¾å¼ï¼Œå¹¶ä¸” push.default 为 \"nothing\"。" +msgstr "您没有为推é€æŒ‡å®šä»»ä½•å¼•ç”¨è§„则,并且 push.default 为 \"nothing\"。" -#: builtin/push.c:232 +#: builtin/push.c:234 msgid "" "Updates were rejected because the tip of your current branch is behind\n" "its remote counterpart. Integrate the remote changes (e.g.\n" @@ -7567,7 +7763,7 @@ msgstr "" "å†æ¬¡æŽ¨é€å‰ï¼Œå…ˆä¸Žè¿œç¨‹å˜æ›´åˆå¹¶ï¼ˆå¦‚ 'git pull ...')。详è§\n" "'git push --help' ä¸çš„ 'Note about fast-forwards' å°èŠ‚。" -#: builtin/push.c:238 +#: builtin/push.c:240 msgid "" "Updates were rejected because a pushed branch tip is behind its remote\n" "counterpart. If you did not intend to push that branch, you may want to\n" @@ -7579,7 +7775,7 @@ msgstr "" "é…ç½®å˜é‡ 'push.default' 设置为 'simple'ã€'current' 或 'upstream'\n" "以便åªæŽ¨é€å½“å‰åˆ†æ”¯ã€‚" -#: builtin/push.c:244 +#: builtin/push.c:246 msgid "" "Updates were rejected because a pushed branch tip is behind its remote\n" "counterpart. Check out this branch and integrate the remote changes\n" @@ -7590,7 +7786,7 @@ msgstr "" "检出该分支并整åˆè¿œç¨‹å˜æ›´ï¼ˆå¦‚ 'git pull ...'),然åŽå†æŽ¨é€ã€‚详è§\n" "'git push --help' ä¸çš„ 'Note about fast-forwards' å°èŠ‚。" -#: builtin/push.c:250 +#: builtin/push.c:252 msgid "" "Updates were rejected because the remote contains work that you do\n" "not have locally. This is usually caused by another repository pushing\n" @@ -7603,11 +7799,11 @@ msgstr "" "(如 'git pull ...')。\n" "è¯¦è§ 'git push --help' ä¸çš„ 'Note about fast-forwards' å°èŠ‚。" -#: builtin/push.c:257 +#: builtin/push.c:259 msgid "Updates were rejected because the tag already exists in the remote." msgstr "更新被拒ç»å› 为 tag 在远程已ç»å˜åœ¨ã€‚" -#: builtin/push.c:260 +#: builtin/push.c:262 msgid "" "You cannot update a remote ref that points at a non-commit object,\n" "or update a remote ref to make it point at a non-commit object,\n" @@ -7616,22 +7812,22 @@ msgstr "" "如果ä¸ä½¿ç”¨ '--force' å‚数,您ä¸èƒ½æ›´æ–°ä¸€ä¸ªæŒ‡å‘éžæ交对象的远程引用,\n" "也ä¸èƒ½æ›´æ–°è¿œç¨‹å¼•ç”¨è®©å…¶æŒ‡å‘一个éžæ交对象。\n" -#: builtin/push.c:320 +#: builtin/push.c:328 #, c-format msgid "Pushing to %s\n" msgstr "推é€åˆ° %s\n" -#: builtin/push.c:324 +#: builtin/push.c:332 #, c-format msgid "failed to push some refs to '%s'" msgstr "æ— æ³•æŽ¨é€ä¸€äº›å¼•ç”¨åˆ° '%s'" -#: builtin/push.c:357 +#: builtin/push.c:365 #, c-format msgid "bad repository '%s'" msgstr "å的版本库 '%s'" -#: builtin/push.c:358 +#: builtin/push.c:366 msgid "" "No configured push destination.\n" "Either specify the URL from the command-line or configure a remote " @@ -7652,87 +7848,95 @@ msgstr "" "\n" " git push <name>\n" -#: builtin/push.c:373 +#: builtin/push.c:381 msgid "--all and --tags are incompatible" msgstr "--all å’Œ --tags ä¸å…¼å®¹" -#: builtin/push.c:374 +#: builtin/push.c:382 msgid "--all can't be combined with refspecs" -msgstr "--all ä¸èƒ½å’Œå¼•ç”¨è¡¨è¾¾å¼åŒæ—¶ä½¿ç”¨" +msgstr "--all ä¸èƒ½å’Œå¼•ç”¨è§„则åŒæ—¶ä½¿ç”¨" -#: builtin/push.c:379 +#: builtin/push.c:387 msgid "--mirror and --tags are incompatible" msgstr "--mirror å’Œ --tags ä¸å…¼å®¹" -#: builtin/push.c:380 +#: builtin/push.c:388 msgid "--mirror can't be combined with refspecs" -msgstr "--mirror ä¸èƒ½å’Œå¼•ç”¨è¡¨è¾¾å¼åŒæ—¶ä½¿ç”¨" +msgstr "--mirror ä¸èƒ½å’Œå¼•ç”¨è§„则åŒæ—¶ä½¿ç”¨" -#: builtin/push.c:385 +#: builtin/push.c:393 msgid "--all and --mirror are incompatible" msgstr "--all å’Œ --mirror ä¸å…¼å®¹" -#: builtin/push.c:445 +#: builtin/push.c:453 msgid "repository" msgstr "版本库" -#: builtin/push.c:446 +#: builtin/push.c:454 msgid "push all refs" msgstr "推é€æ‰€æœ‰å¼•ç”¨" -#: builtin/push.c:447 +#: builtin/push.c:455 msgid "mirror all refs" msgstr "é•œåƒæ‰€æœ‰å¼•ç”¨" -#: builtin/push.c:449 +#: builtin/push.c:457 msgid "delete refs" msgstr "åˆ é™¤å¼•ç”¨" -#: builtin/push.c:450 +#: builtin/push.c:458 msgid "push tags (can't be used with --all or --mirror)" msgstr "æŽ¨é€ tags(ä¸èƒ½ä½¿ç”¨ --all or --mirror)" -#: builtin/push.c:453 +#: builtin/push.c:461 msgid "force updates" msgstr "强制更新" -#: builtin/push.c:454 +#: builtin/push.c:463 +msgid "refname>:<expect" +msgstr "引用å>:<期望值" + +#: builtin/push.c:464 +msgid "require old value of ref to be at this value" +msgstr "è¦æ±‚引用旧的å–值为设定值" + +#: builtin/push.c:466 msgid "check" msgstr "检查" -#: builtin/push.c:455 +#: builtin/push.c:467 msgid "control recursive pushing of submodules" msgstr "控制å模组的递归推é€" -#: builtin/push.c:457 +#: builtin/push.c:469 msgid "use thin pack" msgstr "使用精简打包" -#: builtin/push.c:458 builtin/push.c:459 +#: builtin/push.c:470 builtin/push.c:471 msgid "receive pack program" msgstr "接收包程åº" -#: builtin/push.c:460 +#: builtin/push.c:472 msgid "set upstream for git pull/status" msgstr "设置 git pull/status 的上游" -#: builtin/push.c:463 +#: builtin/push.c:475 msgid "prune locally removed refs" msgstr "æ¸…é™¤æœ¬åœ°åˆ é™¤çš„å¼•ç”¨" -#: builtin/push.c:465 +#: builtin/push.c:477 msgid "bypass pre-push hook" msgstr "绕过 pre-push é’©å" -#: builtin/push.c:466 +#: builtin/push.c:478 msgid "push missing but relevant tags" msgstr "推é€ç¼ºå¤±çš„有关的 tags" -#: builtin/push.c:476 +#: builtin/push.c:488 msgid "--delete is incompatible with --all, --mirror and --tags" msgstr "--delete 与 --allã€--mirror åŠ --tags ä¸å…¼å®¹" -#: builtin/push.c:478 +#: builtin/push.c:490 msgid "--delete doesn't make sense without any refs" msgstr "--delete 未接任何引用没有æ„义" @@ -7810,12 +8014,12 @@ msgstr "跳过应用稀ç–检出过滤器" msgid "debug unpack-trees" msgstr "调试 unpack-trees" -#: builtin/reflog.c:500 +#: builtin/reflog.c:499 #, c-format msgid "%s' for '%s' is not a valid timestamp" msgstr "'%2$s' 的值 '%1$s' ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„时间戳" -#: builtin/reflog.c:616 builtin/reflog.c:621 +#: builtin/reflog.c:615 builtin/reflog.c:620 #, c-format msgid "'%s' is not a valid timestamp" msgstr "'%s' ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„时间戳" @@ -7840,9 +8044,9 @@ msgstr "git remote rename <æ—§å称> <æ–°å称>" msgid "git remote remove <name>" msgstr "git remote remove <å称>" -#: builtin/remote.c:15 builtin/remote.c:42 -msgid "git remote set-head <name> (-a | -d | <branch>)" -msgstr "git remote set-head <å称> (-a | -d | <分支>)" +#: builtin/remote.c:15 +msgid "git remote set-head <name> (-a | --auto | -d | --delete |<branch>)" +msgstr "git remote set-head <å称> (-a | --auto | -d | --delete |<分支>)" #: builtin/remote.c:16 msgid "git remote [-v | --verbose] show [-n] <name>" @@ -7877,6 +8081,10 @@ msgstr "git remote set-url --delete <å称> <地å€>" msgid "git remote add [<options>] <name> <url>" msgstr "git remote add [<选项>] <å称> <地å€>" +#: builtin/remote.c:42 +msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)" +msgstr "git remote set-head <å称> (-a | --auto | -d | --delete | <分支>)" + #: builtin/remote.c:47 msgid "git remote set-branches <name> <branch>..." msgstr "git remote set-branches <å称> <分支>..." @@ -7974,7 +8182,7 @@ msgstr "多于一个 %s" #: builtin/remote.c:339 #, c-format msgid "Could not get fetch map for refspec %s" -msgstr "æ— æ³•å¾—åˆ°å¼•ç”¨è¡¨è¾¾å¼ %s 的获å–列表" +msgstr "æ— æ³•å¾—åˆ°å¼•ç”¨è§„åˆ™ %s 的获å–列表" #: builtin/remote.c:440 builtin/remote.c:448 msgid "(matching)" @@ -8011,7 +8219,7 @@ msgid "" "\t%s\n" "\tPlease update the configuration manually if necessary." msgstr "" -"没有更新éžé»˜è®¤çš„获å–引用表达å¼\n" +"没有更新éžé»˜è®¤çš„获å–引用规则\n" "\t%s\n" "\t如果必è¦è¯·æ‰‹åŠ¨æ›´æ–°é…置。" @@ -8312,6 +8520,67 @@ msgstr "å°†ä¸ä¼šåˆ 除所有éžæŽ¨é€URL地å€" msgid "be verbose; must be placed before a subcommand" msgstr "冗长输出;必须置于å命令之å‰" +#: builtin/repack.c:15 +msgid "git repack [options]" +msgstr "git repack [选项]" + +#: builtin/repack.c:143 +msgid "pack everything in a single pack" +msgstr "所有内容打包到一个包文件ä¸" + +#: builtin/repack.c:145 +msgid "same as -a, and turn unreachable objects loose" +msgstr "å’Œ -a 相åŒï¼Œå¹¶å°†ä¸å¯è¾¾çš„对象设为æ¾æ•£å¯¹è±¡" + +#: builtin/repack.c:148 +msgid "remove redundant packs, and run git-prune-packed" +msgstr "åˆ é™¤å¤šä½™çš„åŒ…ï¼Œè¿è¡Œ git-prune-packed" + +#: builtin/repack.c:150 +msgid "pass --no-reuse-delta to git-pack-objects" +msgstr "å‘ git-pack-objects ä¼ é€’å‚æ•° --no-reuse-delta" + +#: builtin/repack.c:152 +msgid "pass --no-reuse-object to git-pack-objects" +msgstr "å‘ git-pack-objects ä¼ é€’å‚æ•° --no-reuse-object" + +#: builtin/repack.c:154 +msgid "do not run git-update-server-info" +msgstr "ä¸è¿è¡Œ git-update-server-info" + +#: builtin/repack.c:157 +msgid "pass --local to git-pack-objects" +msgstr "å‘ git-pack-objects ä¼ é€’å‚æ•° --local" + +#: builtin/repack.c:158 +msgid "approxidate" +msgstr "近似日期" + +#: builtin/repack.c:159 +msgid "with -A, do not loosen objects older than this" +msgstr "使用 -A,ä¸è¦å°†æ—©äºŽç»™å®šæ—¶é—´çš„对象过期" + +#: builtin/repack.c:161 +msgid "size of the window used for delta compression" +msgstr "用于增é‡åŽ‹ç¼©çš„窗å£å€¼" + +#: builtin/repack.c:163 +msgid "same as the above, but limit memory size instead of entries count" +msgstr "和上é¢çš„相似,但é™åˆ¶å†…å˜å¤§å°è€Œéžæ¡ç›®æ•°" + +#: builtin/repack.c:165 +msgid "limits the maximum delta depth" +msgstr "é™åˆ¶æœ€å¤§å¢žé‡æ·±åº¦" + +#: builtin/repack.c:167 +msgid "maximum size of each packfile" +msgstr "æ¯ä¸ªåŒ…的最大尺寸" + +#: builtin/repack.c:345 +#, c-format +msgid "removing '%s' failed" +msgstr "åˆ é™¤ '%s' 失败" + #: builtin/replace.c:17 msgid "git replace [-f] <object> <replacement>" msgstr "git replace [-f] <对象> <替æ¢ç‰©>" @@ -8324,23 +8593,23 @@ msgstr "git replace -d <对象>..." msgid "git replace -l [<pattern>]" msgstr "git replace -l [<模å¼>]" -#: builtin/replace.c:121 +#: builtin/replace.c:131 msgid "list replace refs" msgstr "列出替æ¢çš„引用" -#: builtin/replace.c:122 +#: builtin/replace.c:132 msgid "delete replace refs" msgstr "åˆ é™¤æ›¿æ¢çš„引用" -#: builtin/replace.c:123 +#: builtin/replace.c:133 msgid "replace the ref if it exists" msgstr "如果å˜åœ¨åˆ™æ›¿æ¢å¼•ç”¨" -#: builtin/rerere.c:11 +#: builtin/rerere.c:12 msgid "git rerere [clear | forget path... | status | remaining | diff | gc]" msgstr "git rerere [clear | forget path... | status | remaining | diff | gc]" -#: builtin/rerere.c:56 +#: builtin/rerere.c:57 msgid "register clean resolutions in index" msgstr "在索引ä¸æ³¨å†Œå¹²å‡€çš„解决方案" @@ -8401,71 +8670,71 @@ msgstr "HEAD 现在ä½äºŽ %s" msgid "Cannot do a %s reset in the middle of a merge." msgstr "在åˆå¹¶è¿‡ç¨‹ä¸ä¸èƒ½åš%sé‡ç½®æ“作。" -#: builtin/reset.c:251 +#: builtin/reset.c:262 msgid "be quiet, only report errors" msgstr "安é™æ¨¡å¼ï¼ŒåªæŠ¥å‘Šé”™è¯¯" -#: builtin/reset.c:253 +#: builtin/reset.c:264 msgid "reset HEAD and index" msgstr "é‡ç½® HEAD 和索引" -#: builtin/reset.c:254 +#: builtin/reset.c:265 msgid "reset only HEAD" msgstr "åªé‡ç½® HEAD" -#: builtin/reset.c:256 builtin/reset.c:258 +#: builtin/reset.c:267 builtin/reset.c:269 msgid "reset HEAD, index and working tree" msgstr "é‡ç½® HEADã€ç´¢å¼•å’Œå·¥ä½œåŒº" -#: builtin/reset.c:260 +#: builtin/reset.c:271 msgid "reset HEAD but keep local changes" msgstr "é‡ç½® HEAD 但ä¿å˜æœ¬åœ°å˜æ›´" -#: builtin/reset.c:278 +#: builtin/reset.c:289 #, c-format msgid "Failed to resolve '%s' as a valid revision." msgstr "æ— æ³•å°† '%s' 解æžä¸ºä¸€ä¸ªæœ‰æ•ˆçš„版本。" -#: builtin/reset.c:281 builtin/reset.c:289 +#: builtin/reset.c:292 builtin/reset.c:300 #, c-format msgid "Could not parse object '%s'." msgstr "ä¸èƒ½è§£æžå¯¹è±¡ '%s'。" -#: builtin/reset.c:286 +#: builtin/reset.c:297 #, c-format msgid "Failed to resolve '%s' as a valid tree." msgstr "æ— æ³•å°† '%s' 解æžä¸ºä¸€ä¸ªæœ‰æ•ˆçš„æ ‘å¯¹è±¡ã€‚" -#: builtin/reset.c:295 +#: builtin/reset.c:306 msgid "--patch is incompatible with --{hard,mixed,soft}" msgstr "--patch 与 --{hardã€mixedã€soft} 选项ä¸å…¼å®¹" -#: builtin/reset.c:304 +#: builtin/reset.c:315 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead." msgstr "--mixed 带路径已弃用,而是用 'git reset -- <paths>'。" # 译者:汉å—ä¹‹é—´æ— ç©ºæ ¼ï¼Œæ•…åˆ é™¤%så‰åŽç©ºæ ¼ -#: builtin/reset.c:306 +#: builtin/reset.c:317 #, c-format msgid "Cannot do %s reset with paths." msgstr "ä¸èƒ½å¸¦è·¯å¾„进行%sé‡ç½®ã€‚" # 译者:汉å—ä¹‹é—´æ— ç©ºæ ¼ï¼Œæ•…åˆ é™¤%så‰åŽç©ºæ ¼ -#: builtin/reset.c:316 +#: builtin/reset.c:327 #, c-format msgid "%s reset is not allowed in a bare repository" msgstr "ä¸èƒ½å¯¹è£¸ç‰ˆæœ¬åº“进行%sé‡ç½®" -#: builtin/reset.c:336 +#: builtin/reset.c:344 +msgid "Unstaged changes after reset:" +msgstr "é‡ç½®åŽæ’¤å‡ºæš‚å˜åŒºçš„å˜æ›´ï¼š" + +#: builtin/reset.c:350 #, c-format msgid "Could not reset index file to revision '%s'." msgstr "ä¸èƒ½é‡ç½®ç´¢å¼•æ–‡ä»¶è‡³ç‰ˆæœ¬ '%s'。" -#: builtin/reset.c:342 -msgid "Unstaged changes after reset:" -msgstr "é‡ç½®åŽæ’¤å‡ºæš‚å˜åŒºçš„å˜æ›´ï¼š" - -#: builtin/reset.c:347 +#: builtin/reset.c:355 msgid "Could not write new index file." msgstr "ä¸èƒ½å†™å…¥æ–°çš„索引文件。" @@ -8490,8 +8759,8 @@ msgid "" "Run \"git rev-parse --parseopt -h\" for more information on the first usage." msgstr "" "git rev-parse --parseopt [选项] -- [<å‚æ•°>...]\n" -" 或者:git rev-parse --sq-quote [<选项>...]\n" -" 或者:git rev-parse [options] [<选项>...]\n" +" 或者:git rev-parse --sq-quote [<å‚æ•°>...]\n" +" 或者:git rev-parse [选项] [<å‚æ•°>...]\n" "\n" "åˆæ¬¡ä½¿ç”¨æ—¶æ‰§è¡Œ \"git rev-parse --parseopt -h\" æ¥èŽ·å¾—更多信æ¯ã€‚" @@ -8511,84 +8780,84 @@ msgstr "git cherry-pick [选项] <æ交å·>..." msgid "git cherry-pick <subcommand>" msgstr "git cherry-pick <å命令>" -#: builtin/revert.c:71 builtin/revert.c:94 +#: builtin/revert.c:71 #, c-format msgid "%s: %s cannot be used with %s" msgstr "%s:%s ä¸èƒ½å’Œ %s åŒæ—¶ä½¿ç”¨" -#: builtin/revert.c:105 +#: builtin/revert.c:80 msgid "end revert or cherry-pick sequence" msgstr "终æ¢å转或拣选æ“作" -#: builtin/revert.c:106 +#: builtin/revert.c:81 msgid "resume revert or cherry-pick sequence" msgstr "继ç»å转或拣选æ“作" -#: builtin/revert.c:107 +#: builtin/revert.c:82 msgid "cancel revert or cherry-pick sequence" msgstr "å–消å转或拣选æ“作" -#: builtin/revert.c:108 +#: builtin/revert.c:83 msgid "don't automatically commit" msgstr "ä¸è¦è‡ªåŠ¨æ交" -#: builtin/revert.c:109 +#: builtin/revert.c:84 msgid "edit the commit message" msgstr "编辑æ交说明" -#: builtin/revert.c:112 +#: builtin/revert.c:87 msgid "parent number" msgstr "父编å·" -#: builtin/revert.c:114 +#: builtin/revert.c:89 msgid "merge strategy" msgstr "åˆå¹¶ç–ç•¥" -#: builtin/revert.c:115 +#: builtin/revert.c:90 msgid "option" msgstr "选项" -#: builtin/revert.c:116 +#: builtin/revert.c:91 msgid "option for merge strategy" msgstr "åˆå¹¶ç–略的选项" -#: builtin/revert.c:127 +#: builtin/revert.c:102 msgid "append commit name" msgstr "è¿½åŠ æ交å称" -#: builtin/revert.c:128 +#: builtin/revert.c:103 msgid "allow fast-forward" msgstr "å…许快进å¼" -#: builtin/revert.c:129 +#: builtin/revert.c:104 msgid "preserve initially empty commits" msgstr "ä¿ç•™åˆå§‹åŒ–的空æ交" -#: builtin/revert.c:130 +#: builtin/revert.c:105 msgid "allow commits with empty messages" msgstr "å…许æ交说明为空" -#: builtin/revert.c:131 +#: builtin/revert.c:106 msgid "keep redundant, empty commits" msgstr "ä¿æŒå¤šä½™çš„ã€ç©ºçš„æ交" -#: builtin/revert.c:135 +#: builtin/revert.c:110 msgid "program error" msgstr "程åºé”™è¯¯" -#: builtin/revert.c:225 +#: builtin/revert.c:195 msgid "revert failed" msgstr "还原失败" -#: builtin/revert.c:240 +#: builtin/revert.c:210 msgid "cherry-pick failed" msgstr "拣选失败" -#: builtin/rm.c:16 +#: builtin/rm.c:17 msgid "git rm [options] [--] <file>..." msgstr "git rm [选项] [--] <文件>..." -#: builtin/rm.c:64 +#: builtin/rm.c:65 msgid "" "the following submodule (or one of its nested submodules)\n" "uses a .git directory:" @@ -8598,7 +8867,7 @@ msgid_plural "" msgstr[0] "如下å模组(或一个其嵌套å模组)使用了一个 .git 目录:" msgstr[1] "如下å模组(或一个其嵌套å模组)使用了一个 .git 目录:" -#: builtin/rm.c:70 +#: builtin/rm.c:71 msgid "" "\n" "(use 'rm -rf' if you really want to remove it including all of its history)" @@ -8606,7 +8875,7 @@ msgstr "" "\n" "(使用 'rm -rf' å‘½ä»¤å¦‚æžœæ‚¨çœŸçš„æƒ³åˆ é™¤å®ƒåŠå…¶å…¨éƒ¨åŽ†å²ï¼‰" -#: builtin/rm.c:230 +#: builtin/rm.c:231 msgid "" "the following file has staged content different from both the\n" "file and the HEAD:" @@ -8616,7 +8885,7 @@ msgid_plural "" msgstr[0] "如下文件其暂å˜çš„å†…å®¹å’Œå·¥ä½œåŒºåŠ HEAD ä¸çš„都ä¸ä¸€æ ·ï¼š" msgstr[1] "如下文件其暂å˜çš„å†…å®¹å’Œå·¥ä½œåŒºåŠ HEAD ä¸çš„都ä¸ä¸€æ ·ï¼š" -#: builtin/rm.c:235 +#: builtin/rm.c:236 msgid "" "\n" "(use -f to force removal)" @@ -8624,13 +8893,13 @@ msgstr "" "\n" "(使用 -f å¼ºåˆ¶åˆ é™¤ï¼‰" -#: builtin/rm.c:239 +#: builtin/rm.c:240 msgid "the following file has changes staged in the index:" msgid_plural "the following files have changes staged in the index:" msgstr[0] "如下文件相对索引区的内容有修改" msgstr[1] "如下文件相对索引区的内容有修改" -#: builtin/rm.c:243 builtin/rm.c:254 +#: builtin/rm.c:244 builtin/rm.c:255 msgid "" "\n" "(use --cached to keep the file, or -f to force removal)" @@ -8638,38 +8907,38 @@ msgstr "" "\n" "(使用 --cached ä¿ç•™æœ¬åœ°æ–‡ä»¶ï¼Œæˆ–用 -f å¼ºåˆ¶åˆ é™¤ï¼‰" -#: builtin/rm.c:251 +#: builtin/rm.c:252 msgid "the following file has local modifications:" msgid_plural "the following files have local modifications:" msgstr[0] "如下文件有本地修改:" msgstr[1] "如下文件有本地修改:" -#: builtin/rm.c:269 +#: builtin/rm.c:270 msgid "do not list removed files" msgstr "ä¸åˆ—å‡ºåˆ é™¤çš„æ–‡ä»¶" -#: builtin/rm.c:270 +#: builtin/rm.c:271 msgid "only remove from the index" msgstr "åªä»Žç´¢å¼•åŒºåˆ 除" -#: builtin/rm.c:271 +#: builtin/rm.c:272 msgid "override the up-to-date check" msgstr "忽略文件更新状æ€æ£€æŸ¥" -#: builtin/rm.c:272 +#: builtin/rm.c:273 msgid "allow recursive removal" msgstr "å…è®¸é€’å½’åˆ é™¤" -#: builtin/rm.c:274 +#: builtin/rm.c:275 msgid "exit with a zero status even if nothing matched" msgstr "å³ä½¿æ²¡æœ‰åŒ¹é…,也以零状æ€é€€å‡º" -#: builtin/rm.c:345 +#: builtin/rm.c:336 #, c-format msgid "not removing '%s' recursively without -r" msgstr "未æä¾› -r 选项ä¸ä¼šé€’å½’åˆ é™¤ '%s'" -#: builtin/rm.c:384 +#: builtin/rm.c:375 #, c-format msgid "git rm: unable to remove %s" msgstr "git rm:ä¸èƒ½åˆ 除 %s" @@ -8683,23 +8952,23 @@ msgstr "git shortlog [<选项>] [<版本范围>] [[--] [<路径>...]]" msgid "Missing author: %s" msgstr "缺少作者:%s" -#: builtin/shortlog.c:228 +#: builtin/shortlog.c:230 msgid "sort output according to the number of commits per author" msgstr "æ ¹æ®æ¯ä¸ªä½œè€…çš„æ交数é‡æŽ’åº" -#: builtin/shortlog.c:230 +#: builtin/shortlog.c:232 msgid "Suppress commit descriptions, only provides commit count" msgstr "éšè—æ交说明,åªæä¾›æ交数é‡" -#: builtin/shortlog.c:232 +#: builtin/shortlog.c:234 msgid "Show the email address of each author" msgstr "显示æ¯ä¸ªä½œè€…的电å邮件地å€" -#: builtin/shortlog.c:233 +#: builtin/shortlog.c:235 msgid "w[,i1[,i2]]" msgstr "w[,i1[,i2]]" -#: builtin/shortlog.c:234 +#: builtin/shortlog.c:236 msgid "Linewrap output" msgstr "折行输出" @@ -8807,23 +9076,23 @@ msgstr "åªæ˜¾ç¤ºå¤´ï¼ˆå¯ä»¥å’Œ tags 共用)" msgid "stricter reference checking, requires exact ref path" msgstr "æ›´ä¸¥æ ¼çš„å¼•ç”¨æ£€æµ‹ï¼Œéœ€è¦ç²¾ç¡®çš„引用路径" -#: builtin/show-ref.c:173 builtin/show-ref.c:176 +#: builtin/show-ref.c:173 builtin/show-ref.c:175 msgid "show the HEAD reference, even if it would be filtered out" msgstr "显示 HEAD 引用,å³ä½¿è¢«è¿‡æ»¤æŽ‰" -#: builtin/show-ref.c:178 +#: builtin/show-ref.c:177 msgid "dereference tags into object IDs" msgstr "è½¬æ¢ tags 到对象ID" -#: builtin/show-ref.c:180 +#: builtin/show-ref.c:179 msgid "only show SHA1 hash using <n> digits" msgstr "åªæ˜¾ç¤ºä½¿ç”¨ <n> 个数å—çš„ SHA1 哈希" -#: builtin/show-ref.c:184 +#: builtin/show-ref.c:183 msgid "do not print results to stdout (useful with --verify)" msgstr "ä¸æ‰“å°ç»“æžœåˆ°æ ‡å‡†è¾“å‡ºï¼ˆä¾‹å¦‚ä¸Ž --verify å‚数共用)" -#: builtin/show-ref.c:186 +#: builtin/show-ref.c:185 msgid "show refs from stdin that aren't in local repository" msgstr "æ˜¾ç¤ºä»Žæ ‡å‡†è¾“å…¥ä¸è¯»å…¥çš„ä¸åœ¨æœ¬åœ°ç‰ˆæœ¬åº“ä¸çš„引用" @@ -8847,11 +9116,11 @@ msgstr "åˆ é™¤ç¬¦å·å¼•ç”¨" msgid "shorten ref output" msgstr "简çŸçš„引用输出" -#: builtin/symbolic-ref.c:43 builtin/update-ref.c:18 +#: builtin/symbolic-ref.c:43 builtin/update-ref.c:254 msgid "reason" msgstr "åŽŸå› " -#: builtin/symbolic-ref.c:43 builtin/update-ref.c:18 +#: builtin/symbolic-ref.c:43 builtin/update-ref.c:254 msgid "reason of the update" msgstr "æ›´æ–°çš„åŽŸå› " @@ -9014,183 +9283,195 @@ msgstr "åªæ‰“å°åŒ…å«æ交的tags" msgid "print only tags of the object" msgstr "åªæ‰“å°tags对象" -#: builtin/tag.c:504 +#: builtin/tag.c:501 msgid "--column and -n are incompatible" msgstr "--column å’Œ -n ä¸å…¼å®¹" -#: builtin/tag.c:521 +#: builtin/tag.c:518 msgid "-n option is only allowed with -l." msgstr "-n 选项åªå…许和 -l åŒæ—¶ä½¿ç”¨ã€‚" -#: builtin/tag.c:523 +#: builtin/tag.c:520 msgid "--contains option is only allowed with -l." msgstr "--contains 选项åªå…许和 -l åŒæ—¶ä½¿ç”¨ã€‚" -#: builtin/tag.c:525 +#: builtin/tag.c:522 msgid "--points-at option is only allowed with -l." msgstr "--points-at 选项åªå…许和 -l åŒæ—¶ä½¿ç”¨ã€‚" -#: builtin/tag.c:533 +#: builtin/tag.c:530 msgid "only one -F or -m option is allowed." msgstr "åªå…许一个 -F 或 -m 选项。" -#: builtin/tag.c:553 +#: builtin/tag.c:550 msgid "too many params" msgstr "太多å‚æ•°" -#: builtin/tag.c:559 +#: builtin/tag.c:556 #, c-format msgid "'%s' is not a valid tag name." msgstr "'%s' ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„tagå称。" -#: builtin/tag.c:564 +#: builtin/tag.c:561 #, c-format msgid "tag '%s' already exists" msgstr "tag '%s' å·²å˜åœ¨" -#: builtin/tag.c:582 +#: builtin/tag.c:579 #, c-format msgid "%s: cannot lock the ref" msgstr "%s:ä¸èƒ½é”定引用" -#: builtin/tag.c:584 +#: builtin/tag.c:581 #, c-format msgid "%s: cannot update the ref" msgstr "%s:ä¸èƒ½æ›´æ–°å¼•ç”¨" -#: builtin/tag.c:586 +#: builtin/tag.c:583 #, c-format msgid "Updated tag '%s' (was %s)\n" msgstr "已更新tag '%s'(曾为 %s)\n" -#: builtin/update-index.c:401 +#: builtin/update-index.c:402 msgid "git update-index [options] [--] [<file>...]" msgstr "git update-index [选项] [--] [<文件>...]" -#: builtin/update-index.c:718 +#: builtin/update-index.c:720 msgid "continue refresh even when index needs update" msgstr "当索引需è¦æ›´æ–°æ—¶ç»§ç»åˆ·æ–°" -#: builtin/update-index.c:721 +#: builtin/update-index.c:723 msgid "refresh: ignore submodules" msgstr "刷新:忽略å模组" -#: builtin/update-index.c:724 +#: builtin/update-index.c:726 msgid "do not ignore new files" msgstr "ä¸å¿½ç•¥æ–°çš„文件" -#: builtin/update-index.c:726 +#: builtin/update-index.c:728 msgid "let files replace directories and vice-versa" msgstr "让文件替æ¢ç›®å½•ï¼ˆå之亦然)" -#: builtin/update-index.c:728 +#: builtin/update-index.c:730 msgid "notice files missing from worktree" msgstr "通知文件从工作区丢失" -#: builtin/update-index.c:730 +#: builtin/update-index.c:732 msgid "refresh even if index contains unmerged entries" msgstr "å³ä½¿ç´¢å¼•åŒºåŒ…å«æœªåˆå¹¶çš„æ¡ç›®ä¹Ÿæ‰§è¡Œåˆ·æ–°" -#: builtin/update-index.c:733 +#: builtin/update-index.c:735 msgid "refresh stat information" msgstr "刷新统计信æ¯" -#: builtin/update-index.c:737 +#: builtin/update-index.c:739 msgid "like --refresh, but ignore assume-unchanged setting" msgstr "类似于 --refresh,但是忽略 assume-unchanged 设置" -#: builtin/update-index.c:741 +#: builtin/update-index.c:743 msgid "<mode> <object> <path>" msgstr "<mode> <object> <path>" -#: builtin/update-index.c:742 +#: builtin/update-index.c:744 msgid "add the specified entry to the index" msgstr "æ·»åŠ æŒ‡å®šçš„æ¡ç›®åˆ°ç´¢å¼•åŒº" -#: builtin/update-index.c:746 +#: builtin/update-index.c:748 msgid "(+/-)x" msgstr "(+/-)x" -#: builtin/update-index.c:747 +#: builtin/update-index.c:749 msgid "override the executable bit of the listed files" msgstr "覆盖列表里文件的å¯æ‰§è¡Œä½" -#: builtin/update-index.c:751 +#: builtin/update-index.c:753 msgid "mark files as \"not changing\"" msgstr "æŠŠæ–‡ä»¶æ ‡è®°ä¸º \"没有å˜æ›´\"" -#: builtin/update-index.c:754 +#: builtin/update-index.c:756 msgid "clear assumed-unchanged bit" msgstr "清除 assumed-unchanged ä½" -#: builtin/update-index.c:757 +#: builtin/update-index.c:759 msgid "mark files as \"index-only\"" msgstr "æŠŠæ–‡ä»¶æ ‡è®°ä¸º \"仅索引\"" -#: builtin/update-index.c:760 +#: builtin/update-index.c:762 msgid "clear skip-worktree bit" msgstr "清除 skip-worktree ä½" -#: builtin/update-index.c:763 +#: builtin/update-index.c:765 msgid "add to index only; do not add content to object database" msgstr "åªæ·»åŠ 到索引区;ä¸æ·»åŠ 对象到对象库" -#: builtin/update-index.c:765 +#: builtin/update-index.c:767 msgid "remove named paths even if present in worktree" msgstr "å³ä½¿å˜åœ¨å·¥ä½œåŒºé‡Œï¼Œä¹Ÿåˆ 除路径" -#: builtin/update-index.c:767 +#: builtin/update-index.c:769 msgid "with --stdin: input lines are terminated by null bytes" msgstr "æºå¸¦ --stdin:输入的行以 null å—符终æ¢" -#: builtin/update-index.c:769 +#: builtin/update-index.c:771 msgid "read list of paths to be updated from standard input" msgstr "ä»Žæ ‡å‡†è¾“å…¥ä¸è¯»å–需è¦æ›´æ–°çš„路径列表" -#: builtin/update-index.c:773 +#: builtin/update-index.c:775 msgid "add entries from standard input to the index" msgstr "ä»Žæ ‡å‡†è¾“å…¥æ·»åŠ æ¡ç›®åˆ°ç´¢å¼•åŒº" -#: builtin/update-index.c:777 +#: builtin/update-index.c:779 msgid "repopulate stages #2 and #3 for the listed paths" msgstr "为指定文件é‡æ–°ç”Ÿæˆç¬¬2和第3æš‚å˜åŒº" -#: builtin/update-index.c:781 +#: builtin/update-index.c:783 msgid "only update entries that differ from HEAD" msgstr "åªæ›´æ–°ä¸Ž HEAD ä¸åŒçš„æ¡ç›®" -#: builtin/update-index.c:785 +#: builtin/update-index.c:787 msgid "ignore files missing from worktree" msgstr "忽略工作区丢失的文件" -#: builtin/update-index.c:788 +#: builtin/update-index.c:790 msgid "report actions to standard output" msgstr "åœ¨æ ‡å‡†è¾“å‡ºæ˜¾ç¤ºæ“作" -#: builtin/update-index.c:790 +#: builtin/update-index.c:792 msgid "(for porcelains) forget saved unresolved conflicts" msgstr "(for porcelains) 忘记ä¿å˜çš„未解决的冲çª" -#: builtin/update-index.c:794 +#: builtin/update-index.c:796 msgid "write index in this format" msgstr "以这ç§æ ¼å¼å†™å…¥ç´¢å¼•åŒº" -#: builtin/update-ref.c:7 +#: builtin/update-ref.c:9 msgid "git update-ref [options] -d <refname> [<oldval>]" -msgstr "git update-ref [options] -d <引用å> [<旧值>]" +msgstr "git update-ref [选项] -d <引用å> [<旧值>]" -#: builtin/update-ref.c:8 +#: builtin/update-ref.c:10 msgid "git update-ref [options] <refname> <newval> [<oldval>]" -msgstr "git update-ref [options] <引用å> <新值> [<旧值>]" +msgstr "git update-ref [选项] <引用å> <新值> [<旧值>]" + +#: builtin/update-ref.c:11 +msgid "git update-ref [options] --stdin [-z]" +msgstr "git update-ref [选项] --stdin [-z]" -#: builtin/update-ref.c:19 +#: builtin/update-ref.c:255 msgid "delete the reference" msgstr "åˆ é™¤å¼•ç”¨" -#: builtin/update-ref.c:21 +#: builtin/update-ref.c:257 msgid "update <refname> not the one it points to" msgstr "æ›´æ–° <引用å> 本身而ä¸æ˜¯å®ƒæŒ‡å‘的引用" +#: builtin/update-ref.c:258 +msgid "stdin has NUL-terminated arguments" +msgstr "æ ‡å‡†è¾“å…¥æœ‰ä»¥ NUL å—符终æ¢çš„å‚æ•°" + +#: builtin/update-ref.c:259 +msgid "read updates from stdin" +msgstr "ä»Žæ ‡å‡†è¾“å…¥è¯»å–æ›´æ–°" + #: builtin/update-server-info.c:6 msgid "git update-server-info [--force]" msgstr "git update-server-info [--force]" @@ -9244,23 +9525,23 @@ msgstr "" "命令 'git help -a' å’Œ 'git help -g' 显示å¯ç”¨çš„å命令和一些指å—。å‚è§\n" "'git help <命令>' 或 'git help <指å—>' æ¥æŸ¥çœ‹ç»™å®šçš„å命令帮助或指å—。" -#: parse-options.h:144 +#: parse-options.h:146 msgid "expiry date" msgstr "逾期日期" -#: parse-options.h:159 +#: parse-options.h:161 msgid "no-op (backward compatibility)" msgstr "空æ“作(å‘åŽå…¼å®¹ï¼‰" -#: parse-options.h:236 +#: parse-options.h:238 msgid "be more verbose" msgstr "æ›´åŠ è¯¦ç»†" -#: parse-options.h:238 +#: parse-options.h:240 msgid "be more quiet" msgstr "æ›´åŠ å®‰é™" -#: parse-options.h:244 +#: parse-options.h:246 msgid "use <n> digits to display SHA-1s" msgstr "用 <n> ä½æ•°å—显示 SHA-1 哈希值" @@ -9690,7 +9971,7 @@ msgstr "" msgid "Pull is not possible because you have unmerged files." msgstr "Pull ä¸å¯ç”¨ï¼Œå› 为您尚有未åˆå¹¶çš„文件。" -#: git-pull.sh:203 +#: git-pull.sh:223 msgid "updating an unborn branch with changes added to the index" msgstr "更新尚未诞生的分支,å˜æ›´æ·»åŠ 至索引" @@ -9698,7 +9979,7 @@ msgstr "更新尚未诞生的分支,å˜æ›´æ·»åŠ 至索引" #. The working tree and the index file is still based on the #. $orig_head commit, but we are merging into $curr_head. #. First update the working tree to match $curr_head. -#: git-pull.sh:235 +#: git-pull.sh:255 #, sh-format msgid "" "Warning: fetch updated the current branch head.\n" @@ -9708,11 +9989,11 @@ msgstr "" "è¦å‘Šï¼šfetch 更新了当å‰çš„分支。您的工作区\n" "è¦å‘Šï¼šä»ŽåŽŸæ交 $orig_head 快进。" -#: git-pull.sh:260 +#: git-pull.sh:280 msgid "Cannot merge multiple branches into empty head" msgstr "æ— æ³•å°†å¤šä¸ªåˆ†æ”¯åˆå¹¶åˆ°ç©ºåˆ†æ”¯" -#: git-pull.sh:264 +#: git-pull.sh:284 msgid "Cannot rebase onto multiple branches" msgstr "æ— æ³•å˜åŸºåˆ°å¤šä¸ªåˆ†æ”¯" @@ -9746,31 +10027,31 @@ msgstr "" "您的修改安全地ä¿å˜åœ¨ stash ä¸ã€‚\n" "您å¯ä»¥åœ¨ä»»ä½•æ—¶å€™è¿è¡Œ \"git stash pop\" 或 \"git stash drop\"。\n" -#: git-rebase.sh:190 +#: git-rebase.sh:199 msgid "The pre-rebase hook refused to rebase." msgstr "é’©å pre-rebase æ‹’ç»å˜åŸºã€‚" -#: git-rebase.sh:195 +#: git-rebase.sh:204 msgid "It looks like git-am is in progress. Cannot rebase." msgstr "似乎æ£å¤„于在 git-am 的执行过程ä¸ã€‚æ— æ³•å˜åŸºã€‚" -#: git-rebase.sh:329 +#: git-rebase.sh:338 msgid "The --exec option must be used with the --interactive option" msgstr "选项 --exec 必须和选项 --interactive åŒæ—¶ä½¿ç”¨" -#: git-rebase.sh:334 +#: git-rebase.sh:343 msgid "No rebase in progress?" msgstr "没有æ£åœ¨è¿›è¡Œçš„å˜åŸºï¼Ÿ" -#: git-rebase.sh:345 +#: git-rebase.sh:354 msgid "The --edit-todo action can only be used during interactive rebase." msgstr "动作 --edit-todo åªèƒ½ç”¨åœ¨äº¤äº’å¼å˜åŸºè¿‡ç¨‹ä¸ã€‚" -#: git-rebase.sh:352 +#: git-rebase.sh:361 msgid "Cannot read HEAD" msgstr "ä¸èƒ½è¯»å– HEAD" -#: git-rebase.sh:355 +#: git-rebase.sh:364 msgid "" "You must edit all merge conflicts and then\n" "mark them as resolved using git add" @@ -9778,12 +10059,12 @@ msgstr "" "您必须编辑所有的åˆå¹¶å†²çªï¼Œç„¶åŽé€šè¿‡ git add\n" "å‘½ä»¤å°†å®ƒä»¬æ ‡è®°ä¸ºå·²è§£å†³" -#: git-rebase.sh:373 +#: git-rebase.sh:382 #, sh-format msgid "Could not move back to $head_name" msgstr "æ— æ³•ç§»å›ž $head_name" -#: git-rebase.sh:392 +#: git-rebase.sh:401 #, sh-format msgid "" "It seems that there is already a $state_dir_base directory, and\n" @@ -9802,65 +10083,65 @@ msgstr "" "\t$cmd_clear_stale_rebase\n" "然åŽå†é‡æ–°æ‰§è¡Œå˜åŸºã€‚为é¿å…您丢失é‡è¦æ•°æ®ï¼Œæˆ‘å·²ç»åœæ¢å½“å‰æ“作。" -#: git-rebase.sh:437 +#: git-rebase.sh:446 #, sh-format msgid "invalid upstream $upstream_name" msgstr "æ— æ•ˆçš„ä¸Šæ¸¸ $upstream_name" -#: git-rebase.sh:461 +#: git-rebase.sh:470 #, sh-format msgid "$onto_name: there are more than one merge bases" msgstr "$onto_name: 有一个以上的åˆå¹¶åŸºå‡†" -#: git-rebase.sh:464 git-rebase.sh:468 +#: git-rebase.sh:473 git-rebase.sh:477 #, sh-format msgid "$onto_name: there is no merge base" msgstr "$onto_name: 没有åˆå¹¶åŸºå‡†" -#: git-rebase.sh:473 +#: git-rebase.sh:482 #, sh-format msgid "Does not point to a valid commit: $onto_name" msgstr "没有指å‘一个有效的æ交:$onto_name" -#: git-rebase.sh:496 +#: git-rebase.sh:505 #, sh-format msgid "fatal: no such branch: $branch_name" msgstr "严é‡é”™è¯¯ï¼šæ— æ¤åˆ†æ”¯ï¼š$branch_name" -#: git-rebase.sh:519 +#: git-rebase.sh:528 msgid "Cannot autostash" msgstr "æ— æ³• autostash" -#: git-rebase.sh:524 +#: git-rebase.sh:533 #, sh-format msgid "Created autostash: $stash_abbrev" msgstr "创建了 autostash: $stash_abbrev" -#: git-rebase.sh:528 +#: git-rebase.sh:537 msgid "Please commit or stash them." msgstr "请æ交或为它们ä¿å˜è¿›åº¦ã€‚" -#: git-rebase.sh:548 +#: git-rebase.sh:557 #, sh-format msgid "Current branch $branch_name is up to date." msgstr "当å‰åˆ†æ”¯ $branch_name 是最新的。" -#: git-rebase.sh:552 +#: git-rebase.sh:561 #, sh-format msgid "Current branch $branch_name is up to date, rebase forced." msgstr "当å‰åˆ†æ”¯ $branch_name 是最新的,强制å˜åŸºã€‚" -#: git-rebase.sh:563 +#: git-rebase.sh:572 #, sh-format msgid "Changes from $mb to $onto:" msgstr "å˜æ›´ä»Ž $mb 到 $onto:" #. Detach HEAD and reset the tree -#: git-rebase.sh:572 +#: git-rebase.sh:581 msgid "First, rewinding head to replay your work on top of it..." msgstr "首先,é‡ç½®å¤´æŒ‡é’ˆä»¥ä¾¿åœ¨ä¸Šé¢é‡æ”¾æ‚¨çš„工作..." -#: git-rebase.sh:582 +#: git-rebase.sh:591 #, sh-format msgid "Fast-forwarded $branch_name to $onto_name." msgstr "å¿«è¿› $branch_name 至 $onto_name。" @@ -9908,7 +10189,7 @@ msgstr "æ— æ³•ç”¨ $w_commit æ›´æ–° $ref_stash" #. $ git stash save --blah-blah 2>&1 | head -n 2 #. error: unknown option for 'stash save': --blah-blah #. To provide a message, use git stash save -- '--blah-blah' -#: git-stash.sh:241 +#: git-stash.sh:237 #, sh-format msgid "" "error: unknown option for 'stash save': $option\n" @@ -9917,96 +10198,85 @@ msgstr "" "错误:'stash save' 的未知选项:$option\n" " è¦æ供一个æè¿°ä¿¡æ¯ï¼Œä½¿ç”¨ git stash save -- '$option'" -#: git-stash.sh:262 +#: git-stash.sh:258 msgid "No local changes to save" msgstr "没有è¦ä¿å˜çš„本地修改" -#: git-stash.sh:268 -msgid "" -"The following untracked files would NOT be saved but need to be removed by " -"stash save:" -msgstr "如下未跟踪文件将ä¸ä¼šè¢«ä¿å˜ä½†æ˜¯å°†ä¼šå› 为进度ä¿å˜è€Œéœ€è¦è¢«åˆ 除:" - -#: git-stash.sh:270 -msgid "" -"Aborting. Consider using either the --force or --include-untracked option." -msgstr "终æ¢ã€‚考虑使用 --force 或者 --include-untracked 选项。" - -#: git-stash.sh:274 +#: git-stash.sh:262 msgid "Cannot initialize stash" msgstr "æ— æ³•åˆå§‹åŒ– stash" -#: git-stash.sh:278 +#: git-stash.sh:266 msgid "Cannot save the current status" msgstr "æ— æ³•ä¿å˜å½“å‰çŠ¶æ€" -#: git-stash.sh:296 +#: git-stash.sh:284 msgid "Cannot remove worktree changes" msgstr "æ— æ³•åˆ é™¤å·¥ä½œåŒºå˜æ›´" -#: git-stash.sh:395 +#: git-stash.sh:383 msgid "No stash found." msgstr "未å‘现 stash。" -#: git-stash.sh:402 +#: git-stash.sh:390 #, sh-format msgid "Too many revisions specified: $REV" msgstr "指定了太多的版本:$REV" -#: git-stash.sh:408 +#: git-stash.sh:396 #, sh-format msgid "$reference is not valid reference" msgstr "$reference ä¸æ˜¯æœ‰æ•ˆçš„引用" -#: git-stash.sh:436 +#: git-stash.sh:424 #, sh-format msgid "'$args' is not a stash-like commit" msgstr "'$args' ä¸æ˜¯ stash æ ·æ交" -#: git-stash.sh:447 +#: git-stash.sh:435 #, sh-format msgid "'$args' is not a stash reference" msgstr "'$args' ä¸æ˜¯ä¸€ä¸ª stash 引用" -#: git-stash.sh:455 +#: git-stash.sh:443 msgid "unable to refresh index" msgstr "æ— æ³•åˆ·æ–°ç´¢å¼•" -#: git-stash.sh:459 +#: git-stash.sh:447 msgid "Cannot apply a stash in the middle of a merge" msgstr "æ— æ³•åœ¨åˆå¹¶è¿‡ç¨‹ä¸æ¢å¤è¿›åº¦" -#: git-stash.sh:467 +#: git-stash.sh:455 msgid "Conflicts in index. Try without --index." msgstr "索引ä¸æœ‰å†²çªã€‚å°è¯•ä¸ä½¿ç”¨ --index。" -#: git-stash.sh:469 +#: git-stash.sh:457 msgid "Could not save index tree" msgstr "ä¸èƒ½ä¿å˜ç´¢å¼•æ ‘" -#: git-stash.sh:503 +#: git-stash.sh:491 msgid "Cannot unstage modified files" msgstr "æ— æ³•è¿˜åŽŸä¿®æ”¹çš„æ–‡ä»¶" -#: git-stash.sh:518 +#: git-stash.sh:506 msgid "Index was not unstashed." msgstr "索引的进度没有被æ¢å¤ã€‚" -#: git-stash.sh:535 +#: git-stash.sh:523 #, sh-format msgid "Dropped ${REV} ($s)" msgstr "丢弃了 ${REV} ($s)" -#: git-stash.sh:536 +#: git-stash.sh:524 #, sh-format msgid "${REV}: Could not drop stash entry" msgstr "${REV}:ä¸èƒ½ä¸¢å¼ƒè¿›åº¦æ¡ç›®" -#: git-stash.sh:543 +#: git-stash.sh:531 msgid "No branch name specified" msgstr "未指定分支å" -#: git-stash.sh:615 +#: git-stash.sh:603 msgid "(To restore them type \"git stash apply\")" msgstr "(为æ¢å¤æ•°æ®è¾“å…¥ \"git stash apply\")" @@ -10257,51 +10527,58 @@ msgid "The --cached option cannot be used with the --files option" msgstr "选项 --cached ä¸èƒ½å’Œé€‰é¡¹ --files åŒæ—¶ä½¿ç”¨" #. unexpected type -#: git-submodule.sh:1066 +#: git-submodule.sh:1073 #, sh-format msgid "unexpected mode $mod_dst" msgstr "æ„å¤–çš„æ¨¡å¼ $mod_dst" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: git-submodule.sh:1086 +#: git-submodule.sh:1093 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_src" msgstr " è¦å‘Šï¼š$display_name 未包å«æ交 $sha1_src" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: git-submodule.sh:1089 +#: git-submodule.sh:1096 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_dst" msgstr " è¦å‘Šï¼š$display_name 未包å«æ交 $sha1_dst" # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ -#: git-submodule.sh:1092 +#: git-submodule.sh:1099 #, sh-format msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst" msgstr " è¦å‘Šï¼š$display_name 未包å«æ交 $sha1_src å’Œ $sha1_dst" -#: git-submodule.sh:1117 +#: git-submodule.sh:1124 msgid "blob" msgstr "æ•°æ®å¯¹è±¡" -#: git-submodule.sh:1155 -msgid "Submodules changed but not updated:" -msgstr "å模组已修改但尚未更新:" - -#: git-submodule.sh:1157 -msgid "Submodule changes to be committed:" -msgstr "è¦æ交的å模组å˜æ›´ï¼š" - -#: git-submodule.sh:1242 +#: git-submodule.sh:1238 #, sh-format msgid "Failed to recurse into submodule path '$sm_path'" msgstr "æ— æ³•é€’å½’è¿›å模组路径 '$sm_path'" -#: git-submodule.sh:1306 +#: git-submodule.sh:1302 #, sh-format msgid "Synchronizing submodule url for '$displaypath'" msgstr "为 '$displaypath' åŒæ¥å模组 url" +#~ msgid "done\n" +#~ msgstr "完æˆ\n" + +#~ msgid "input paths are terminated by a null character" +#~ msgstr "输入路径以nullå—符终æ¢" + +#~ msgid "" +#~ "The following untracked files would NOT be saved but need to be removed " +#~ "by stash save:" +#~ msgstr "如下未跟踪文件将ä¸ä¼šè¢«ä¿å˜ä½†æ˜¯å°†ä¼šå› 为进度ä¿å˜è€Œéœ€è¦è¢«åˆ 除:" + +#~ msgid "" +#~ "Aborting. Consider using either the --force or --include-untracked option." +#~ msgstr "终æ¢ã€‚考虑使用 --force 或者 --include-untracked 选项。" + #~ msgid "" #~ "the following submodule (or one of its nested submodule)\n" #~ "uses a .git directory:" @@ -10311,39 +10588,6 @@ msgstr "为 '$displaypath' åŒæ¥å模组 url" #~ msgstr[0] "如下å模组(或一个其嵌套的å模组)使用了一个 .git 目录:" #~ msgstr[1] "如下å模组(或一个其嵌套的å模组)使用了一个 .git 目录:" -#~ msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" -#~ msgstr "æ— æ³•ä¿®æ”¹æœªåˆå¹¶çš„ .gitmodules,先解决åˆå¹¶å†²çª" - -#~ msgid "Could not find section in .gitmodules where path=%s" -#~ msgstr "æ— æ³•åœ¨ .gitmodules ä¸æ‰¾åˆ° path=%s çš„å°èŠ‚" - -#~ msgid "Could not update .gitmodules entry %s" -#~ msgstr "ä¸èƒ½æ›´æ–° .gitmodules æ¡ç›® %s" - -#~ msgid "Could not remove .gitmodules entry for %s" -#~ msgstr "æ— æ³•ç§»é™¤ %s çš„ .gitmodules æ¡ç›®" - -#~ msgid "could not find .gitmodules in index" -#~ msgstr "æ— æ³•åœ¨ç´¢å¼•ä¸æ‰¾åˆ° .gitmodules" - -#~ msgid "reading updated .gitmodules failed" -#~ msgstr "读å–æ›´æ–°åŽçš„ .gitmodules 失败" - -#~ msgid "unable to stat updated .gitmodules" -#~ msgstr "ä¸èƒ½æžšä¸¾æ›´æ–°åŽçš„ .gitmodules" - -#~ msgid "unable to remove .gitmodules from index" -#~ msgstr "ä¸èƒ½ä»Žç´¢å¼•ä¸ç§»é™¤ .gitmodules" - -#~ msgid "adding updated .gitmodules failed" -#~ msgstr "æ·»åŠ æ›´æ–°åŽçš„ .gitmodules 失败" - -#~ msgid "staging updated .gitmodules failed" -#~ msgstr "å°†æ›´æ–°åŽ .gitmodules æ·»åŠ æš‚å˜åŒºå¤±è´¥" - -#~ msgid "Could not set core.worktree in %s" -#~ msgstr "ä¸èƒ½åœ¨ %s ä¸è®¾ç½® core.worktree" - # 译者:注æ„ä¿æŒå‰å¯¼ç©ºæ ¼ #~ msgid " (fix conflicts and then run \"git am --resolved\")" #~ msgstr " (解决冲çªï¼Œç„¶åŽè¿è¡Œ \"git am --resolved\")" @@ -10358,9 +10602,6 @@ msgstr "为 '$displaypath' åŒæ¥å模组 url" #~ msgid "You cannot combine --no-ff with --ff-only." #~ msgstr "您ä¸èƒ½å°† --no-ff 与 --ff-only åŒæ—¶ä½¿ç”¨ã€‚" -#~ msgid "Huh? Directory %s is in index and no submodule?" -#~ msgstr "嗯?目录 %s 在索引ä¸å¹¶ä¸”ä¸æ˜¯å模组?" - #~ msgid "" #~ "submodule '%s' (or one of its nested submodules) uses a .git directory\n" #~ "(use 'rm -rf' if you really want to remove it including all of its " @@ -10479,9 +10720,6 @@ msgstr "为 '$displaypath' åŒæ¥å模组 url" #~ msgid "-B cannot be used with -b" #~ msgstr "-B ä¸èƒ½å’Œ -b åŒæ—¶ä½¿ç”¨" -#~ msgid "--patch is incompatible with all other options" -#~ msgstr "--patch 选项和其他选项ä¸å…¼å®¹" - #~ msgid "--detach cannot be used with -b/-B/--orphan" #~ msgstr "--detach ä¸èƒ½å’Œ -b/-B/--orphan åŒæ—¶ä½¿ç”¨" @@ -497,7 +497,7 @@ void pp_user_info(struct pretty_print_context *pp, static int is_empty_line(const char *line, int *len_p) { int len = *len_p; - while (len && isspace(line[len-1])) + while (len && isspace(line[len - 1])) len--; *len_p = len; return !len; diff --git a/remote-curl.c b/remote-curl.c index c9b891adbf..91b07a4145 100644 --- a/remote-curl.c +++ b/remote-curl.c @@ -394,25 +394,29 @@ static size_t rpc_in(char *ptr, size_t eltsize, return size; } -static int run_slot(struct active_request_slot *slot) +static int run_slot(struct active_request_slot *slot, + struct slot_results *results) { int err; - struct slot_results results; + struct slot_results results_buf; - slot->results = &results; + if (!results) + results = &results_buf; + + slot->results = results; slot->curl_result = curl_easy_perform(slot->curl); finish_active_slot(slot); - err = handle_curl_result(&results); + err = handle_curl_result(results); if (err != HTTP_OK && err != HTTP_REAUTH) { error("RPC failed; result=%d, HTTP code = %ld", - results.curl_result, results.http_code); + results->curl_result, results->http_code); } return err; } -static int probe_rpc(struct rpc_state *rpc) +static int probe_rpc(struct rpc_state *rpc, struct slot_results *results) { struct active_request_slot *slot; struct curl_slist *headers = NULL; @@ -434,7 +438,7 @@ static int probe_rpc(struct rpc_state *rpc) curl_easy_setopt(slot->curl, CURLOPT_WRITEFUNCTION, fwrite_buffer); curl_easy_setopt(slot->curl, CURLOPT_FILE, &buf); - err = run_slot(slot); + err = run_slot(slot, results); curl_slist_free_all(headers); strbuf_release(&buf); @@ -449,6 +453,7 @@ static int post_rpc(struct rpc_state *rpc) char *gzip_body = NULL; size_t gzip_size = 0; int err, large_request = 0; + int needs_100_continue = 0; /* Try to load the entire request, if we can fit it into the * allocated buffer space we can use HTTP/1.0 and avoid the @@ -472,18 +477,24 @@ static int post_rpc(struct rpc_state *rpc) } if (large_request) { + struct slot_results results; + do { - err = probe_rpc(rpc); + err = probe_rpc(rpc, &results); if (err == HTTP_REAUTH) credential_fill(&http_auth); } while (err == HTTP_REAUTH); if (err != HTTP_OK) return -1; + + if (results.auth_avail & CURLAUTH_GSSNEGOTIATE) + needs_100_continue = 1; } headers = curl_slist_append(headers, rpc->hdr_content_type); headers = curl_slist_append(headers, rpc->hdr_accept); - headers = curl_slist_append(headers, "Expect:"); + headers = curl_slist_append(headers, needs_100_continue ? + "Expect: 100-continue" : "Expect:"); retry: slot = get_active_slot(); @@ -574,7 +585,7 @@ retry: curl_easy_setopt(slot->curl, CURLOPT_WRITEFUNCTION, rpc_in); curl_easy_setopt(slot->curl, CURLOPT_FILE, rpc); - err = run_slot(slot); + err = run_slot(slot, NULL); if (err == HTTP_REAUTH && !large_request) { credential_fill(&http_auth); goto retry; @@ -745,35 +745,66 @@ int for_each_remote(each_remote_fn fn, void *priv) return result; } -void ref_remove_duplicates(struct ref *ref_map) +static void handle_duplicate(struct ref *ref1, struct ref *ref2) +{ + if (strcmp(ref1->name, ref2->name)) { + if (ref1->fetch_head_status != FETCH_HEAD_IGNORE && + ref2->fetch_head_status != FETCH_HEAD_IGNORE) { + die(_("Cannot fetch both %s and %s to %s"), + ref1->name, ref2->name, ref2->peer_ref->name); + } else if (ref1->fetch_head_status != FETCH_HEAD_IGNORE && + ref2->fetch_head_status == FETCH_HEAD_IGNORE) { + warning(_("%s usually tracks %s, not %s"), + ref2->peer_ref->name, ref2->name, ref1->name); + } else if (ref1->fetch_head_status == FETCH_HEAD_IGNORE && + ref2->fetch_head_status == FETCH_HEAD_IGNORE) { + die(_("%s tracks both %s and %s"), + ref2->peer_ref->name, ref1->name, ref2->name); + } else { + /* + * This last possibility doesn't occur because + * FETCH_HEAD_IGNORE entries always appear at + * the end of the list. + */ + die(_("Internal error")); + } + } + free(ref2->peer_ref); + free(ref2); +} + +struct ref *ref_remove_duplicates(struct ref *ref_map) { struct string_list refs = STRING_LIST_INIT_NODUP; - struct string_list_item *item = NULL; - struct ref *prev = NULL, *next = NULL; - for (; ref_map; prev = ref_map, ref_map = next) { - next = ref_map->next; - if (!ref_map->peer_ref) - continue; + struct ref *retval = NULL; + struct ref **p = &retval; - item = string_list_lookup(&refs, ref_map->peer_ref->name); - if (item) { - if (strcmp(((struct ref *)item->util)->name, - ref_map->name)) - die("%s tracks both %s and %s", - ref_map->peer_ref->name, - ((struct ref *)item->util)->name, - ref_map->name); - prev->next = ref_map->next; - free(ref_map->peer_ref); - free(ref_map); - ref_map = prev; /* skip this; we freed it */ - continue; - } + while (ref_map) { + struct ref *ref = ref_map; + + ref_map = ref_map->next; + ref->next = NULL; - item = string_list_insert(&refs, ref_map->peer_ref->name); - item->util = ref_map; + if (!ref->peer_ref) { + *p = ref; + p = &ref->next; + } else { + struct string_list_item *item = + string_list_insert(&refs, ref->peer_ref->name); + + if (item->util) { + /* Entry already existed */ + handle_duplicate((struct ref *)item->util, ref); + } else { + *p = ref; + p = &ref->next; + item->util = ref; + } + } } + string_list_clear(&refs, 0); + return retval; } int remote_has_url(struct remote *remote, const char *url) @@ -825,6 +856,8 @@ static int query_refspecs(struct refspec *refs, int ref_count, struct refspec *q { int i; int find_src = !query->src; + const char *needle = find_src ? query->dst : query->src; + char **result = find_src ? &query->src : &query->dst; if (find_src && !query->dst) return error("query_refspecs: need either src or dst"); @@ -833,8 +866,6 @@ static int query_refspecs(struct refspec *refs, int ref_count, struct refspec *q struct refspec *refspec = &refs[i]; const char *key = find_src ? refspec->dst : refspec->src; const char *value = find_src ? refspec->src : refspec->dst; - const char *needle = find_src ? query->dst : query->src; - char **result = find_src ? &query->src : &query->dst; if (!refspec->dst) continue; @@ -1553,6 +1584,13 @@ static int ignore_symref_update(const char *refname) return (flag & REF_ISSYMREF); } +/* + * Create and return a list of (struct ref) consisting of copies of + * each remote_ref that matches refspec. refspec must be a pattern. + * Fill in the copies' peer_ref to describe the local tracking refs to + * which they map. Omit any references that would map to an existing + * local symbolic ref. + */ static struct ref *get_expanded_map(const struct ref *remote_refs, const struct refspec *refspec) { @@ -1560,9 +1598,9 @@ static struct ref *get_expanded_map(const struct ref *remote_refs, struct ref *ret = NULL; struct ref **tail = &ret; - char *expn_name; - for (ref = remote_refs; ref; ref = ref->next) { + char *expn_name = NULL; + if (strchr(ref->name, '^')) continue; /* a dereference item */ if (match_name_with_pattern(refspec->src, ref->name, @@ -1571,12 +1609,12 @@ static struct ref *get_expanded_map(const struct ref *remote_refs, struct ref *cpy = copy_ref(ref); cpy->peer_ref = alloc_ref(expn_name); - free(expn_name); if (refspec->force) cpy->peer_ref->force = 1; *tail = cpy; tail = &cpy->next; } + free(expn_name); } return ret; @@ -149,9 +149,13 @@ int resolve_remote_symref(struct ref *ref, struct ref *list); int ref_newer(const unsigned char *new_sha1, const unsigned char *old_sha1); /* - * Removes and frees any duplicate refs in the map. + * Remove and free all but the first of any entries in the input list + * that map the same remote reference to the same local reference. If + * there are two entries that map different remote references to the + * same local reference, emit an error message and die. Return a + * pointer to the head of the resulting list. */ -void ref_remove_duplicates(struct ref *ref_map); +struct ref *ref_remove_duplicates(struct ref *ref_map); int valid_fetch_refspec(const char *refspec); struct refspec *parse_fetch_refspec(int nr_refspec, const char **refspec); diff --git a/revision.c b/revision.c index 3fdea51ffe..05d2d7763a 100644 --- a/revision.c +++ b/revision.c @@ -1180,11 +1180,28 @@ struct all_refs_cb { const char *name_for_errormsg; }; +int ref_excluded(struct string_list *ref_excludes, const char *path) +{ + struct string_list_item *item; + + if (!ref_excludes) + return 0; + for_each_string_list_item(item, ref_excludes) { + if (!fnmatch(item->string, path, 0)) + return 1; + } + return 0; +} + static int handle_one_ref(const char *path, const unsigned char *sha1, int flag, void *cb_data) { struct all_refs_cb *cb = cb_data; - struct object *object = get_reference(cb->all_revs, path, sha1, - cb->all_flags); + struct object *object; + + if (ref_excluded(cb->all_revs->ref_excludes, path)) + return 0; + + object = get_reference(cb->all_revs, path, sha1, cb->all_flags); add_rev_cmdline(cb->all_revs, object, path, REV_CMD_REF, cb->all_flags); add_pending_sha1(cb->all_revs, path, sha1, cb->all_flags); return 0; @@ -1197,6 +1214,24 @@ static void init_all_refs_cb(struct all_refs_cb *cb, struct rev_info *revs, cb->all_flags = flags; } +void clear_ref_exclusion(struct string_list **ref_excludes_p) +{ + if (*ref_excludes_p) { + string_list_clear(*ref_excludes_p, 0); + free(*ref_excludes_p); + } + *ref_excludes_p = NULL; +} + +void add_ref_exclusion(struct string_list **ref_excludes_p, const char *exclude) +{ + if (!*ref_excludes_p) { + *ref_excludes_p = xcalloc(1, sizeof(**ref_excludes_p)); + (*ref_excludes_p)->strdup_strings = 1; + } + string_list_append(*ref_excludes_p, exclude); +} + static void handle_refs(const char *submodule, struct rev_info *revs, unsigned flags, int (*for_each)(const char *, each_ref_fn, void *)) { @@ -1372,8 +1407,8 @@ static void prepare_show_merge(struct rev_info *revs) i++; } free_pathspec(&revs->prune_data); - parse_pathspec(&revs->prune_data, PATHSPEC_ALL_MAGIC, - PATHSPEC_PREFER_FULL, "", prune); + parse_pathspec(&revs->prune_data, PATHSPEC_ALL_MAGIC & ~PATHSPEC_LITERAL, + PATHSPEC_PREFER_FULL | PATHSPEC_LITERAL_PATH, "", prune); revs->limited = 1; } @@ -1519,7 +1554,7 @@ struct cmdline_pathspec { static void append_prune_data(struct cmdline_pathspec *prune, const char **av) { while (*av) { - ALLOC_GROW(prune->path, prune->nr+1, prune->alloc); + ALLOC_GROW(prune->path, prune->nr + 1, prune->alloc); prune->path[prune->nr++] = *(av++); } } @@ -1531,7 +1566,7 @@ static void read_pathspec_from_stdin(struct rev_info *revs, struct strbuf *sb, int len = sb->len; if (len && sb->buf[len - 1] == '\n') sb->buf[--len] = '\0'; - ALLOC_GROW(prune->path, prune->nr+1, prune->alloc); + ALLOC_GROW(prune->path, prune->nr + 1, prune->alloc); prune->path[prune->nr++] = xstrdup(sb->buf); } } @@ -1969,33 +2004,44 @@ static int handle_revision_pseudo_opt(const char *submodule, if (!strcmp(arg, "--all")) { handle_refs(submodule, revs, *flags, for_each_ref_submodule); handle_refs(submodule, revs, *flags, head_ref_submodule); + clear_ref_exclusion(&revs->ref_excludes); } else if (!strcmp(arg, "--branches")) { handle_refs(submodule, revs, *flags, for_each_branch_ref_submodule); + clear_ref_exclusion(&revs->ref_excludes); } else if (!strcmp(arg, "--bisect")) { handle_refs(submodule, revs, *flags, for_each_bad_bisect_ref); handle_refs(submodule, revs, *flags ^ (UNINTERESTING | BOTTOM), for_each_good_bisect_ref); revs->bisect = 1; } else if (!strcmp(arg, "--tags")) { handle_refs(submodule, revs, *flags, for_each_tag_ref_submodule); + clear_ref_exclusion(&revs->ref_excludes); } else if (!strcmp(arg, "--remotes")) { handle_refs(submodule, revs, *flags, for_each_remote_ref_submodule); + clear_ref_exclusion(&revs->ref_excludes); } else if ((argcount = parse_long_opt("glob", argv, &optarg))) { struct all_refs_cb cb; init_all_refs_cb(&cb, revs, *flags); for_each_glob_ref(handle_one_ref, optarg, &cb); + clear_ref_exclusion(&revs->ref_excludes); + return argcount; + } else if ((argcount = parse_long_opt("exclude", argv, &optarg))) { + add_ref_exclusion(&revs->ref_excludes, optarg); return argcount; } else if (!prefixcmp(arg, "--branches=")) { struct all_refs_cb cb; init_all_refs_cb(&cb, revs, *flags); for_each_glob_ref_in(handle_one_ref, arg + 11, "refs/heads/", &cb); + clear_ref_exclusion(&revs->ref_excludes); } else if (!prefixcmp(arg, "--tags=")) { struct all_refs_cb cb; init_all_refs_cb(&cb, revs, *flags); for_each_glob_ref_in(handle_one_ref, arg + 7, "refs/tags/", &cb); + clear_ref_exclusion(&revs->ref_excludes); } else if (!prefixcmp(arg, "--remotes=")) { struct all_refs_cb cb; init_all_refs_cb(&cb, revs, *flags); for_each_glob_ref_in(handle_one_ref, arg + 10, "refs/remotes/", &cb); + clear_ref_exclusion(&revs->ref_excludes); } else if (!strcmp(arg, "--reflog")) { handle_reflog(revs, *flags); } else if (!strcmp(arg, "--not")) { @@ -2134,7 +2180,7 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s * call init_pathspec() to set revs->prune_data here. * } */ - ALLOC_GROW(prune_data.path, prune_data.nr+1, prune_data.alloc); + ALLOC_GROW(prune_data.path, prune_data.nr + 1, prune_data.alloc); prune_data.path[prune_data.nr++] = NULL; parse_pathspec(&revs->prune_data, 0, 0, revs->prefix, prune_data.path); @@ -2987,7 +3033,7 @@ static struct commit *get_revision_internal(struct rev_info *revs) if (revs->max_count) { c = get_revision_1(revs); if (c) { - while (0 < revs->skip_count) { + while (revs->skip_count > 0) { revs->skip_count--; c = get_revision_1(revs); if (!c) @@ -3002,9 +3048,8 @@ static struct commit *get_revision_internal(struct rev_info *revs) if (c) c->object.flags |= SHOWN; - if (!revs->boundary) { + if (!revs->boundary) return c; - } if (!c) { /* @@ -3050,9 +3095,8 @@ struct commit *get_revision(struct rev_info *revs) if (revs->reverse) { reversed = NULL; - while ((c = get_revision_internal(revs))) { + while ((c = get_revision_internal(revs))) commit_list_insert(c, &reversed); - } revs->commits = reversed; revs->reverse = 0; revs->reverse_output_stage = 1; diff --git a/revision.h b/revision.h index e7f1d211bf..88967d6a24 100644 --- a/revision.h +++ b/revision.h @@ -5,6 +5,7 @@ #include "grep.h" #include "notes.h" #include "commit.h" +#include "diff.h" #define SEEN (1u<<0) #define UNINTERESTING (1u<<1) @@ -60,6 +61,9 @@ struct rev_info { /* The end-points specified by the end user */ struct rev_cmdline_info cmdline; + /* excluding from --branches, --refs, etc. expansion */ + struct string_list *ref_excludes; + /* Basic information */ const char *prefix; const char *def; @@ -193,6 +197,11 @@ struct rev_info { struct saved_parents *saved_parents_slab; }; +extern int ref_excluded(struct string_list *, const char *path); +void clear_ref_exclusion(struct string_list **); +void add_ref_exclusion(struct string_list **, const char *exclude); + + #define REV_TREE_SAME 0 #define REV_TREE_NEW 1 /* Only new files */ #define REV_TREE_OLD 2 /* Only files removed */ diff --git a/run-command.c b/run-command.c index 1b7f88eeb1..3914d9c511 100644 --- a/run-command.c +++ b/run-command.c @@ -406,13 +406,12 @@ fail_pipe: unsetenv(*cmd->env); } } - if (cmd->git_cmd) { + if (cmd->git_cmd) execv_git_cmd(cmd->argv); - } else if (cmd->use_shell) { + else if (cmd->use_shell) execv_shell_cmd(cmd->argv); - } else { + else sane_execvp(cmd->argv[0], (char *const*) cmd->argv); - } if (errno == ENOENT) { if (!cmd->silent_exec_failure) error("cannot run %s: %s", cmd->argv[0], @@ -446,7 +445,6 @@ fail_pipe: cmd->pid = -1; } close(notify_pipe[0]); - } #else { @@ -480,11 +478,10 @@ fail_pipe: if (cmd->env) env = make_augmented_environ(cmd->env); - if (cmd->git_cmd) { + if (cmd->git_cmd) cmd->argv = prepare_git_cmd(cmd->argv); - } else if (cmd->use_shell) { + else if (cmd->use_shell) cmd->argv = prepare_shell_cmd(cmd->argv); - } cmd->pid = mingw_spawnvpe(cmd->argv[0], cmd->argv, env, cmd->dir, fhin, fhout, fherr); @@ -563,7 +563,7 @@ static const char *setup_git_directory_gently_1(int *nongit_ok) { const char *env_ceiling_dirs = getenv(CEILING_DIRECTORIES_ENVIRONMENT); struct string_list ceiling_dirs = STRING_LIST_INIT_DUP; - static char cwd[PATH_MAX+1]; + static char cwd[PATH_MAX + 1]; const char *gitdirenv, *ret; char *gitfile; int len, offset, offset_parent, ceil_offset = -1; @@ -578,7 +578,7 @@ static const char *setup_git_directory_gently_1(int *nongit_ok) if (nongit_ok) *nongit_ok = 0; - if (!getcwd(cwd, sizeof(cwd)-1)) + if (!getcwd(cwd, sizeof(cwd) - 1)) die_errno("Unable to read current working directory"); offset = len = strlen(cwd); diff --git a/sha1_file.c b/sha1_file.c index 7dadd04cb7..daacc0cfb0 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -1442,51 +1442,6 @@ void *map_sha1_file(const unsigned char *sha1, unsigned long *size) return map; } -/* - * There used to be a second loose object header format which - * was meant to mimic the in-pack format, allowing for direct - * copy of the object data. This format turned up not to be - * really worth it and we no longer write loose objects in that - * format. - */ -static int experimental_loose_object(unsigned char *map) -{ - unsigned int word; - - /* - * We must determine if the buffer contains the standard - * zlib-deflated stream or the experimental format based - * on the in-pack object format. Compare the header byte - * for each format: - * - * RFC1950 zlib w/ deflate : 0www1000 : 0 <= www <= 7 - * Experimental pack-based : Stttssss : ttt = 1,2,3,4 - * - * If bit 7 is clear and bits 0-3 equal 8, the buffer MUST be - * in standard loose-object format, UNLESS it is a Git-pack - * format object *exactly* 8 bytes in size when inflated. - * - * However, RFC1950 also specifies that the 1st 16-bit word - * must be divisible by 31 - this checksum tells us our buffer - * is in the standard format, giving a false positive only if - * the 1st word of the Git-pack format object happens to be - * divisible by 31, ie: - * ((byte0 * 256) + byte1) % 31 = 0 - * => 0ttt10000www1000 % 31 = 0 - * - * As it happens, this case can only arise for www=3 & ttt=1 - * - ie, a Commit object, which would have to be 8 bytes in - * size. As no Commit can be that small, we find that the - * combination of these two criteria (bitmask & checksum) - * can always correctly determine the buffer format. - */ - word = (map[0] << 8) + map[1]; - if ((map[0] & 0x8F) == 0x08 && !(word % 31)) - return 0; - else - return 1; -} - unsigned long unpack_object_header_buffer(const unsigned char *buf, unsigned long len, enum object_type *type, unsigned long *sizep) { @@ -1514,14 +1469,6 @@ unsigned long unpack_object_header_buffer(const unsigned char *buf, int unpack_sha1_header(git_zstream *stream, unsigned char *map, unsigned long mapsize, void *buffer, unsigned long bufsiz) { - unsigned long size, used; - static const char valid_loose_object_type[8] = { - 0, /* OBJ_EXT */ - 1, 1, 1, 1, /* "commit", "tree", "blob", "tag" */ - 0, /* "delta" and others are invalid in a loose object */ - }; - enum object_type type; - /* Get the data stream */ memset(stream, 0, sizeof(*stream)); stream->next_in = map; @@ -1529,27 +1476,6 @@ int unpack_sha1_header(git_zstream *stream, unsigned char *map, unsigned long ma stream->next_out = buffer; stream->avail_out = bufsiz; - if (experimental_loose_object(map)) { - /* - * The old experimental format we no longer produce; - * we can still read it. - */ - used = unpack_object_header_buffer(map, mapsize, &type, &size); - if (!used || !valid_loose_object_type[type]) - return -1; - map += used; - mapsize -= used; - - /* Set up the stream for the rest.. */ - stream->next_in = map; - stream->avail_in = mapsize; - git_inflate_init(stream); - - /* And generate the fake traditional header */ - stream->total_out = 1 + snprintf(buffer, bufsiz, "%s %lu", - typename(type), size); - return 0; - } git_inflate_init(stream); return git_inflate(stream, 0); } @@ -2483,15 +2409,18 @@ static int sha1_loose_object_info(const unsigned char *sha1, /* * If we don't care about type or size, then we don't - * need to look inside the object at all. + * need to look inside the object at all. Note that we + * do not optimize out the stat call, even if the + * caller doesn't care about the disk-size, since our + * return value implicitly indicates whether the + * object even exists. */ if (!oi->typep && !oi->sizep) { - if (oi->disk_sizep) { - struct stat st; - if (stat_sha1_file(sha1, &st) < 0) - return -1; + struct stat st; + if (stat_sha1_file(sha1, &st) < 0) + return -1; + if (oi->disk_sizep) *oi->disk_sizep = st.st_size; - } return 0; } @@ -2857,7 +2786,9 @@ static int create_tmpfile(char *buffer, size_t bufsiz, const char *filename) /* Make sure the directory exists */ memcpy(buffer, filename, dirlen); buffer[dirlen-1] = 0; - if (mkdir(buffer, 0777) || adjust_shared_perm(buffer)) + if (mkdir(buffer, 0777) && errno != EEXIST) + return -1; + if (adjust_shared_perm(buffer)) return -1; /* Try again */ diff --git a/sha1_name.c b/sha1_name.c index 0e5fe7f937..2f37488b96 100644 --- a/sha1_name.c +++ b/sha1_name.c @@ -343,7 +343,6 @@ static int get_short_sha1(const char *name, int len, unsigned char *sha1, return status; } - int for_each_abbrev(const char *prefix, each_abbrev_fn fn, void *cb_data) { char hex_pfx[40]; @@ -582,8 +581,6 @@ static int get_parent(const char *name, int len, if (ret) return ret; commit = lookup_commit_reference(sha1); - if (!commit) - return -1; if (parse_commit(commit)) return -1; if (!idx) { @@ -90,8 +90,7 @@ struct commit_list *get_shallow_commits(struct object_array *heads, int depth, cur_depth = *(int *)commit->util; } } - if (parse_commit(commit)) - die("invalid commit"); + parse_commit_or_die(commit); cur_depth++; if (cur_depth >= depth) { commit_list_insert(commit, &result); diff --git a/t/annotate-tests.sh b/t/annotate-tests.sh index 99caa42f5c..c9d105d707 100644 --- a/t/annotate-tests.sh +++ b/t/annotate-tests.sh @@ -92,7 +92,7 @@ test_expect_success 'blame 2 authors + 1 branch2 author' ' ' test_expect_success 'merge branch1 & branch2' ' - git pull . branch1 + git merge branch1 ' test_expect_success 'blame 2 authors + 2 merged-in authors' ' diff --git a/t/lib-read-tree.sh b/t/lib-read-tree.sh index abc2c6f57f..ef079afc46 100644 --- a/t/lib-read-tree.sh +++ b/t/lib-read-tree.sh @@ -5,39 +5,39 @@ # write the index and that together with -u it doesn't touch the work tree. # read_tree_must_succeed () { - git ls-files -s >pre-dry-run && - git read-tree -n "$@" && - git ls-files -s >post-dry-run && - test_cmp pre-dry-run post-dry-run && - git read-tree "$@" + git ls-files -s >pre-dry-run && + git read-tree -n "$@" && + git ls-files -s >post-dry-run && + test_cmp pre-dry-run post-dry-run && + git read-tree "$@" } read_tree_must_fail () { - git ls-files -s >pre-dry-run && - test_must_fail git read-tree -n "$@" && - git ls-files -s >post-dry-run && - test_cmp pre-dry-run post-dry-run && - test_must_fail git read-tree "$@" + git ls-files -s >pre-dry-run && + test_must_fail git read-tree -n "$@" && + git ls-files -s >post-dry-run && + test_cmp pre-dry-run post-dry-run && + test_must_fail git read-tree "$@" } read_tree_u_must_succeed () { - git ls-files -s >pre-dry-run && - git diff-files -p >pre-dry-run-wt && - git read-tree -n "$@" && - git ls-files -s >post-dry-run && - git diff-files -p >post-dry-run-wt && - test_cmp pre-dry-run post-dry-run && - test_cmp pre-dry-run-wt post-dry-run-wt && - git read-tree "$@" + git ls-files -s >pre-dry-run && + git diff-files -p >pre-dry-run-wt && + git read-tree -n "$@" && + git ls-files -s >post-dry-run && + git diff-files -p >post-dry-run-wt && + test_cmp pre-dry-run post-dry-run && + test_cmp pre-dry-run-wt post-dry-run-wt && + git read-tree "$@" } read_tree_u_must_fail () { - git ls-files -s >pre-dry-run && - git diff-files -p >pre-dry-run-wt && - test_must_fail git read-tree -n "$@" && - git ls-files -s >post-dry-run && - git diff-files -p >post-dry-run-wt && - test_cmp pre-dry-run post-dry-run && - test_cmp pre-dry-run-wt post-dry-run-wt && - test_must_fail git read-tree "$@" + git ls-files -s >pre-dry-run && + git diff-files -p >pre-dry-run-wt && + test_must_fail git read-tree -n "$@" && + git ls-files -s >post-dry-run && + git diff-files -p >post-dry-run-wt && + test_cmp pre-dry-run post-dry-run && + test_cmp pre-dry-run-wt post-dry-run-wt && + test_must_fail git read-tree "$@" } diff --git a/t/t1005-read-tree-reset.sh b/t/t1005-read-tree-reset.sh index f53de79e56..074568500a 100755 --- a/t/t1005-read-tree-reset.sh +++ b/t/t1005-read-tree-reset.sh @@ -8,84 +8,99 @@ test_description='read-tree -u --reset' # two-tree test test_expect_success 'setup' ' - git init && - mkdir df && - echo content >df/file && - git add df/file && - git commit -m one && - git ls-files >expect && - rm -rf df && - echo content >df && - git add df && - echo content >new && - git add new && - git commit -m two + git init && + mkdir df && + echo content >df/file && + git add df/file && + git commit -m one && + git ls-files >expect && + rm -rf df && + echo content >df && + git add df && + echo content >new && + git add new && + git commit -m two ' test_expect_success 'reset should work' ' - read_tree_u_must_succeed -u --reset HEAD^ && - git ls-files >actual && - test_cmp expect actual + read_tree_u_must_succeed -u --reset HEAD^ && + git ls-files >actual && + test_cmp expect actual ' test_expect_success 'reset should remove remnants from a failed merge' ' - read_tree_u_must_succeed --reset -u HEAD && - git ls-files -s >expect && - sha1=$(git rev-parse :new) && - ( - echo "100644 $sha1 1 old" - echo "100644 $sha1 3 old" - ) | git update-index --index-info && - >old && - git ls-files -s && - read_tree_u_must_succeed --reset -u HEAD && - git ls-files -s >actual && - ! test -f old + read_tree_u_must_succeed --reset -u HEAD && + git ls-files -s >expect && + sha1=$(git rev-parse :new) && + ( + echo "100644 $sha1 1 old" + echo "100644 $sha1 3 old" + ) | git update-index --index-info && + >old && + git ls-files -s && + read_tree_u_must_succeed --reset -u HEAD && + git ls-files -s >actual && + ! test -f old +' + +test_expect_success 'two-way reset should remove remnants too' ' + read_tree_u_must_succeed --reset -u HEAD && + git ls-files -s >expect && + sha1=$(git rev-parse :new) && + ( + echo "100644 $sha1 1 old" + echo "100644 $sha1 3 old" + ) | git update-index --index-info && + >old && + git ls-files -s && + read_tree_u_must_succeed --reset -u HEAD HEAD && + git ls-files -s >actual && + ! test -f old ' test_expect_success 'Porcelain reset should remove remnants too' ' - read_tree_u_must_succeed --reset -u HEAD && - git ls-files -s >expect && - sha1=$(git rev-parse :new) && - ( - echo "100644 $sha1 1 old" - echo "100644 $sha1 3 old" - ) | git update-index --index-info && - >old && - git ls-files -s && - git reset --hard && - git ls-files -s >actual && - ! test -f old + read_tree_u_must_succeed --reset -u HEAD && + git ls-files -s >expect && + sha1=$(git rev-parse :new) && + ( + echo "100644 $sha1 1 old" + echo "100644 $sha1 3 old" + ) | git update-index --index-info && + >old && + git ls-files -s && + git reset --hard && + git ls-files -s >actual && + ! test -f old ' test_expect_success 'Porcelain checkout -f should remove remnants too' ' - read_tree_u_must_succeed --reset -u HEAD && - git ls-files -s >expect && - sha1=$(git rev-parse :new) && - ( - echo "100644 $sha1 1 old" - echo "100644 $sha1 3 old" - ) | git update-index --index-info && - >old && - git ls-files -s && - git checkout -f && - git ls-files -s >actual && - ! test -f old + read_tree_u_must_succeed --reset -u HEAD && + git ls-files -s >expect && + sha1=$(git rev-parse :new) && + ( + echo "100644 $sha1 1 old" + echo "100644 $sha1 3 old" + ) | git update-index --index-info && + >old && + git ls-files -s && + git checkout -f && + git ls-files -s >actual && + ! test -f old ' test_expect_success 'Porcelain checkout -f HEAD should remove remnants too' ' - read_tree_u_must_succeed --reset -u HEAD && - git ls-files -s >expect && - sha1=$(git rev-parse :new) && - ( - echo "100644 $sha1 1 old" - echo "100644 $sha1 3 old" - ) | git update-index --index-info && - >old && - git ls-files -s && - git checkout -f HEAD && - git ls-files -s >actual && - ! test -f old + read_tree_u_must_succeed --reset -u HEAD && + git ls-files -s >expect && + sha1=$(git rev-parse :new) && + ( + echo "100644 $sha1 1 old" + echo "100644 $sha1 3 old" + ) | git update-index --index-info && + >old && + git ls-files -s && + git checkout -f HEAD && + git ls-files -s >actual && + ! test -f old ' test_done diff --git a/t/t1006-cat-file.sh b/t/t1006-cat-file.sh index a420742494..8a1bc5c532 100755 --- a/t/t1006-cat-file.sh +++ b/t/t1006-cat-file.sh @@ -194,6 +194,12 @@ test_expect_success "--batch-check for an emtpy line" ' test " missing" = "$(echo | git cat-file --batch-check)" ' +test_expect_success 'empty --batch-check notices missing object' ' + echo "$_z40 missing" >expect && + echo "$_z40" | git cat-file --batch-check="" >actual && + test_cmp expect actual +' + batch_input="$hello_sha1 $commit_sha1 $tag_sha1 diff --git a/t/t1013-loose-object-format.sh b/t/t1013-loose-object-format.sh deleted file mode 100755 index fbf5f2fc00..0000000000 --- a/t/t1013-loose-object-format.sh +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2011 Roberto Tyley -# - -test_description='Correctly identify and parse loose object headers - -There are two file formats for loose objects - the original standard -format, and the experimental format introduced with Git v1.4.3, later -deprecated with v1.5.3. Although Git no longer writes the -experimental format, objects in both formats must be read, with the -format for a given file being determined by the header. - -Detecting file format based on header is not entirely trivial, not -least because the first byte of a zlib-deflated stream will vary -depending on how much memory was allocated for the deflation window -buffer when the object was written out (for example 4KB on Android, -rather that 32KB on a normal PC). - -The loose objects used as test vectors have been generated with the -following Git versions: - -standard format: Git v1.7.4.1 -experimental format: Git v1.4.3 (legacyheaders=false) -standard format, deflated with 4KB window size: Agit/JGit on Android -' - -. ./test-lib.sh - -assert_blob_equals() { - printf "%s" "$2" >expected && - git cat-file -p "$1" >actual && - test_cmp expected actual -} - -test_expect_success setup ' - cp -R "$TEST_DIRECTORY/t1013/objects" .git/ && - git --version -' - -test_expect_success 'read standard-format loose objects' ' - git cat-file tag 8d4e360d6c70fbd72411991c02a09c442cf7a9fa && - git cat-file commit 6baee0540ea990d9761a3eb9ab183003a71c3696 && - git ls-tree 7a37b887a73791d12d26c0d3e39568a8fb0fa6e8 && - assert_blob_equals "257cc5642cb1a054f08cc83f2d943e56fd3ebe99" "foo$LF" -' - -test_expect_success 'read experimental-format loose objects' ' - git cat-file tag 76e7fa9941f4d5f97f64fea65a2cba436bc79cbb && - git cat-file commit 7875c6237d3fcdd0ac2f0decc7d3fa6a50b66c09 && - git ls-tree 95b1625de3ba8b2214d1e0d0591138aea733f64f && - assert_blob_equals "2e65efe2a145dda7ee51d1741299f848e5bf752e" "a" && - assert_blob_equals "9ae9e86b7bd6cb1472d9373702d8249973da0832" "ab" && - assert_blob_equals "85df50785d62d3b05ab03d9cbf7e4a0b49449730" "abcd" && - assert_blob_equals "1656f9233d999f61ef23ef390b9c71d75399f435" "abcdefgh" && - assert_blob_equals "1e72a6b2c4a577ab0338860fa9fe87f761fc9bbd" "abcdefghi" && - assert_blob_equals "70e6a83d8dcb26fc8bc0cf702e2ddeb6adca18fd" "abcdefghijklmnop" && - assert_blob_equals "bd15045f6ce8ff75747562173640456a394412c8" "abcdefghijklmnopqrstuvwx" -' - -test_expect_success 'read standard-format objects deflated with smaller window buffer' ' - git cat-file tag f816d5255855ac160652ee5253b06cd8ee14165a && - git cat-file tag 149cedb5c46929d18e0f118e9fa31927487af3b6 -' - -test_done diff --git a/t/t1013/objects/14/9cedb5c46929d18e0f118e9fa31927487af3b6 b/t/t1013/objects/14/9cedb5c46929d18e0f118e9fa31927487af3b6 Binary files differdeleted file mode 100644 index 472fd1458e..0000000000 --- a/t/t1013/objects/14/9cedb5c46929d18e0f118e9fa31927487af3b6 +++ /dev/null diff --git a/t/t1013/objects/16/56f9233d999f61ef23ef390b9c71d75399f435 b/t/t1013/objects/16/56f9233d999f61ef23ef390b9c71d75399f435 Binary files differdeleted file mode 100644 index c379d74ae2..0000000000 --- a/t/t1013/objects/16/56f9233d999f61ef23ef390b9c71d75399f435 +++ /dev/null diff --git a/t/t1013/objects/1e/72a6b2c4a577ab0338860fa9fe87f761fc9bbd b/t/t1013/objects/1e/72a6b2c4a577ab0338860fa9fe87f761fc9bbd Binary files differdeleted file mode 100644 index 93706305bc..0000000000 --- a/t/t1013/objects/1e/72a6b2c4a577ab0338860fa9fe87f761fc9bbd +++ /dev/null diff --git a/t/t1013/objects/25/7cc5642cb1a054f08cc83f2d943e56fd3ebe99 b/t/t1013/objects/25/7cc5642cb1a054f08cc83f2d943e56fd3ebe99 Binary files differdeleted file mode 100644 index bdcf704c9e..0000000000 --- a/t/t1013/objects/25/7cc5642cb1a054f08cc83f2d943e56fd3ebe99 +++ /dev/null diff --git a/t/t1013/objects/2e/65efe2a145dda7ee51d1741299f848e5bf752e b/t/t1013/objects/2e/65efe2a145dda7ee51d1741299f848e5bf752e Binary files differdeleted file mode 100644 index ad62c43e41..0000000000 --- a/t/t1013/objects/2e/65efe2a145dda7ee51d1741299f848e5bf752e +++ /dev/null diff --git a/t/t1013/objects/6b/aee0540ea990d9761a3eb9ab183003a71c3696 b/t/t1013/objects/6b/aee0540ea990d9761a3eb9ab183003a71c3696 Binary files differdeleted file mode 100644 index 3d2f0337db..0000000000 --- a/t/t1013/objects/6b/aee0540ea990d9761a3eb9ab183003a71c3696 +++ /dev/null diff --git a/t/t1013/objects/70/e6a83d8dcb26fc8bc0cf702e2ddeb6adca18fd b/t/t1013/objects/70/e6a83d8dcb26fc8bc0cf702e2ddeb6adca18fd Binary files differdeleted file mode 100644 index b3f71a6ee5..0000000000 --- a/t/t1013/objects/70/e6a83d8dcb26fc8bc0cf702e2ddeb6adca18fd +++ /dev/null diff --git a/t/t1013/objects/76/e7fa9941f4d5f97f64fea65a2cba436bc79cbb b/t/t1013/objects/76/e7fa9941f4d5f97f64fea65a2cba436bc79cbb deleted file mode 100644 index af4e9a7b0c..0000000000 --- a/t/t1013/objects/76/e7fa9941f4d5f97f64fea65a2cba436bc79cbb +++ /dev/null @@ -1,2 +0,0 @@ -Âxœ%ÌA‚0@Ñ}O1{cSZ(˜ãνáÃthª”’ZŒÜÞ Ëÿ?
¦m×6dµiÉ9…¤Gå˜h´Ø¨ÁZR'Q¶…RŒ¡ˆ‚ø³p‘ç‚ÓqL9âÏ=g¸§sIÐoopÎÿ”eÏ«_1»€³¤$×ç*Si«ëNwpP•RBôûÅÁú -³‡[(ð®d-øÁL9á
\ No newline at end of file diff --git a/t/t1013/objects/78/75c6237d3fcdd0ac2f0decc7d3fa6a50b66c09 b/t/t1013/objects/78/75c6237d3fcdd0ac2f0decc7d3fa6a50b66c09 Binary files differdeleted file mode 100644 index 3dd28be5c6..0000000000 --- a/t/t1013/objects/78/75c6237d3fcdd0ac2f0decc7d3fa6a50b66c09 +++ /dev/null diff --git a/t/t1013/objects/7a/37b887a73791d12d26c0d3e39568a8fb0fa6e8 b/t/t1013/objects/7a/37b887a73791d12d26c0d3e39568a8fb0fa6e8 Binary files differdeleted file mode 100644 index 2b97b264c3..0000000000 --- a/t/t1013/objects/7a/37b887a73791d12d26c0d3e39568a8fb0fa6e8 +++ /dev/null diff --git a/t/t1013/objects/85/df50785d62d3b05ab03d9cbf7e4a0b49449730 b/t/t1013/objects/85/df50785d62d3b05ab03d9cbf7e4a0b49449730 Binary files differdeleted file mode 100644 index 6dff746876..0000000000 --- a/t/t1013/objects/85/df50785d62d3b05ab03d9cbf7e4a0b49449730 +++ /dev/null diff --git a/t/t1013/objects/8d/4e360d6c70fbd72411991c02a09c442cf7a9fa b/t/t1013/objects/8d/4e360d6c70fbd72411991c02a09c442cf7a9fa Binary files differdeleted file mode 100644 index cb41e92d07..0000000000 --- a/t/t1013/objects/8d/4e360d6c70fbd72411991c02a09c442cf7a9fa +++ /dev/null diff --git a/t/t1013/objects/95/b1625de3ba8b2214d1e0d0591138aea733f64f b/t/t1013/objects/95/b1625de3ba8b2214d1e0d0591138aea733f64f Binary files differdeleted file mode 100644 index 7ac46b4f70..0000000000 --- a/t/t1013/objects/95/b1625de3ba8b2214d1e0d0591138aea733f64f +++ /dev/null diff --git a/t/t1013/objects/9a/e9e86b7bd6cb1472d9373702d8249973da0832 b/t/t1013/objects/9a/e9e86b7bd6cb1472d9373702d8249973da0832 Binary files differdeleted file mode 100644 index 9d8316d4e5..0000000000 --- a/t/t1013/objects/9a/e9e86b7bd6cb1472d9373702d8249973da0832 +++ /dev/null diff --git a/t/t1013/objects/bd/15045f6ce8ff75747562173640456a394412c8 b/t/t1013/objects/bd/15045f6ce8ff75747562173640456a394412c8 Binary files differdeleted file mode 100644 index eebf23956e..0000000000 --- a/t/t1013/objects/bd/15045f6ce8ff75747562173640456a394412c8 +++ /dev/null diff --git a/t/t1013/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 b/t/t1013/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 Binary files differdeleted file mode 100644 index 134cf19379..0000000000 --- a/t/t1013/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +++ /dev/null diff --git a/t/t1013/objects/f8/16d5255855ac160652ee5253b06cd8ee14165a b/t/t1013/objects/f8/16d5255855ac160652ee5253b06cd8ee14165a deleted file mode 100644 index 26b75aec56..0000000000 --- a/t/t1013/objects/f8/16d5255855ac160652ee5253b06cd8ee14165a +++ /dev/null @@ -1 +0,0 @@ -H‰ÌÁ‚0€aÏ{ŠÞ
I»e&Æø*¥ˆG°ß^¸ýù¿ËDåÒ†wU‡Ò—¬S±4ªŠÆªž ,fÅ[ðßVAÛºÎüxÈÇö6[wtG§Lu¸?—¦²¼Ú×@‰"gì{†+by¾%M
\ No newline at end of file diff --git a/t/t1303-wacky-config.sh b/t/t1303-wacky-config.sh index 46103a1591..3a2c81968c 100755 --- a/t/t1303-wacky-config.sh +++ b/t/t1303-wacky-config.sh @@ -3,17 +3,28 @@ test_description='Test wacky input to git config' . ./test-lib.sh +# Leaving off the newline is intentional! setup() { (printf "[section]\n" && printf " key = foo") >.git/config } +# 'check section.key value' verifies that the entry for section.key is +# 'value' check() { echo "$2" >expected git config --get "$1" >actual 2>&1 test_cmp actual expected } +# 'check section.key regex value' verifies that the entry for +# section.key *that matches 'regex'* is 'value' +check_regex() { + echo "$3" >expected + git config --get "$1" "$2" >actual 2>&1 + test_cmp actual expected +} + test_expect_success 'modify same key' ' setup && git config section.key bar && @@ -47,4 +58,57 @@ test_expect_success 'do not crash on special long config line' ' check section.key "$LONG_VALUE" ' +setup_many() { + setup && + # This time we want the newline so that we can tack on more + # entries. + echo >>.git/config && + # Semi-efficient way of concatenating 5^5 = 3125 lines. Note + # that because 'setup' already put one line, this means 3126 + # entries for section.key in the config file. + cat >5to1 <<-\EOF && + key = foo + key = foo + key = foo + key = foo + key = foo + EOF + cat 5to1 5to1 5to1 5to1 5to1 >5to2 && # 25 + cat 5to2 5to2 5to2 5to2 5to2 >5to3 && # 125 + cat 5to3 5to3 5to3 5to3 5to3 >5to4 && # 635 + cat 5to4 5to4 5to4 5to4 5to4 >>.git/config # 3125 +} + +test_expect_success 'get many entries' ' + setup_many && + git config --get-all section.key >actual && + test_line_count = 3126 actual +' + +test_expect_success 'get many entries by regex' ' + setup_many && + git config --get-regexp "sec.*ke." >actual && + test_line_count = 3126 actual +' + +test_expect_success 'add and replace one of many entries' ' + setup_many && + git config --add section.key bar && + check_regex section.key "b.*r" bar && + git config section.key beer "b.*r" && + check_regex section.key "b.*r" beer +' + +test_expect_success 'replace many entries' ' + setup_many && + git config --replace-all section.key bar && + check section.key bar +' + +test_expect_success 'unset many entries' ' + setup_many && + git config --unset-all section.key && + test_must_fail git config section.key +' + test_done diff --git a/t/t1502-rev-parse-parseopt.sh b/t/t1502-rev-parse-parseopt.sh index 13c88c9aae..83b1300cef 100755 --- a/t/t1502-rev-parse-parseopt.sh +++ b/t/t1502-rev-parse-parseopt.sh @@ -12,9 +12,11 @@ usage: some-command [options] <args>... -h, --help show the help --foo some nifty option --foo --bar ... some cool option --bar with an argument + -b, --baz a short and long option An option group Header -C[...] option C with an optional argument + -d, --data[=...] short and long option with an optional argument Extras --extra1 line above used to cause a segfault but no longer does @@ -31,9 +33,11 @@ h,help show the help foo some nifty option --foo bar= some cool option --bar with an argument +b,baz a short and long option An option group Header C? option C with an optional argument +d,data? short and long option with an optional argument Extras extra1 line above used to cause a segfault but no longer does @@ -45,16 +49,16 @@ test_expect_success 'test --parseopt help output' ' ' cat > expect <<EOF -set -- --foo --bar 'ham' -- 'arg' +set -- --foo --bar 'ham' -b -- 'arg' EOF test_expect_success 'test --parseopt' ' - git rev-parse --parseopt -- --foo --bar=ham arg < optionspec > output && + git rev-parse --parseopt -- --foo --bar=ham --baz arg < optionspec > output && test_cmp expect output ' test_expect_success 'test --parseopt with mixed options and arguments' ' - git rev-parse --parseopt -- --foo arg --bar=ham < optionspec > output && + git rev-parse --parseopt -- --foo arg --bar=ham --baz < optionspec > output && test_cmp expect output ' @@ -99,4 +103,36 @@ test_expect_success 'test --parseopt --keep-dashdash --stop-at-non-option withou test_cmp expect output ' +cat > expect <<EOF +set -- --foo --bar='z' --baz -C'Z' --data='A' -- 'arg' +EOF + +test_expect_success 'test --parseopt --stuck-long' ' + git rev-parse --parseopt --stuck-long -- --foo --bar=z -b arg -CZ -dA <optionspec >output && + test_cmp expect output +' + +cat > expect <<EOF +set -- --data='' -C --baz -- 'arg' +EOF + +test_expect_success 'test --parseopt --stuck-long and empty optional argument' ' + git rev-parse --parseopt --stuck-long -- --data= arg -C -b <optionspec >output && + test_cmp expect output +' + +cat > expect <<EOF +set -- --data --baz -- 'arg' +EOF + +test_expect_success 'test --parseopt --stuck-long and long option with unset optional argument' ' + git rev-parse --parseopt --stuck-long -- --data arg -b <optionspec >output && + test_cmp expect output +' + +test_expect_success 'test --parseopt --stuck-long and short option with unset optional argument' ' + git rev-parse --parseopt --stuck-long -- -d arg -b <optionspec >output && + test_cmp expect output +' + test_done diff --git a/t/t4116-apply-reverse.sh b/t/t4116-apply-reverse.sh index 2298ece801..1e4d4380bf 100755 --- a/t/t4116-apply-reverse.sh +++ b/t/t4116-apply-reverse.sh @@ -48,12 +48,12 @@ test_expect_success 'apply in reverse' ' test_expect_success 'setup separate repository lacking postimage' ' - git tar-tree initial initial | $TAR xf - && + git archive --format=tar --prefix=initial/ initial | $TAR xf - && ( cd initial && git init && git add . ) && - git tar-tree second second | $TAR xf - && + git archive --format=tar --prefix=second/ second | $TAR xf - && ( cd second && git init && git add . ) diff --git a/t/t4200-rerere.sh b/t/t4200-rerere.sh index 076e7709d2..ed9c91e25b 100755 --- a/t/t4200-rerere.sh +++ b/t/t4200-rerere.sh @@ -172,7 +172,7 @@ test_expect_success 'first postimage wins' ' git show second^:a1 | sed "s/To die: t/To die! T/" >a1 && git commit -q -a -m third && - test_must_fail git pull . first && + test_must_fail git merge first && # rerere kicked in ! grep "^=======\$" a1 && test_cmp expect a1 diff --git a/t/t5000-tar-tree.sh b/t/t5000-tar-tree.sh index c2023b1a3d..11bf0b8bda 100755 --- a/t/t5000-tar-tree.sh +++ b/t/t5000-tar-tree.sh @@ -3,7 +3,7 @@ # Copyright (C) 2005 Rene Scharfe # -test_description='git tar-tree and git get-tar-commit-id test +test_description='git archive and git get-tar-commit-id test This test covers the topics of file contents, commit date handling and commit id embedding: @@ -13,11 +13,11 @@ commit id embedding: binary file (/bin/sh). Only paths shorter than 99 characters are used. - git tar-tree applies the commit date to every file in the archive it + git archive applies the commit date to every file in the archive it creates. The test sets the commit date to a specific value and checks if the tar archive contains that value. - When giving git tar-tree a commit id (in contrast to a tree id) it + When giving git archive a commit id (in contrast to a tree id) it embeds this commit id into the tar archive as a comment. The test checks the ability of git get-tar-commit-id to figure it out from the tar file. @@ -196,16 +196,6 @@ test_expect_success \ 'git get-tar-commit-id <b.tar >b.commitid && test_cmp .git/$(git symbolic-ref HEAD) b.commitid' -test_expect_success 'git tar-tree' ' - git tar-tree HEAD >tar-tree.tar && - test_cmp b.tar tar-tree.tar -' - -test_expect_success 'git tar-tree with prefix' ' - git tar-tree HEAD prefix >tar-tree_with_prefix.tar && - test_cmp with_prefix.tar tar-tree_with_prefix.tar -' - test_expect_success 'git archive with --output, override inferred format' ' git archive --format=tar --output=d4.zip HEAD && test_cmp b.tar d4.zip diff --git a/t/t5001-archive-attr.sh b/t/t5001-archive-attr.sh index f47d8717fd..51dedab29b 100755 --- a/t/t5001-archive-attr.sh +++ b/t/t5001-archive-attr.sh @@ -87,14 +87,4 @@ test_expect_success 'export-subst' ' test_cmp substfile2 archive/substfile2 ' -test_expect_success 'git tar-tree vs. git archive with worktree attributes' ' - git tar-tree HEAD >tar-tree.tar && - test_cmp worktree.tar tar-tree.tar -' - -test_expect_success 'git tar-tree vs. git archive with worktree attrs, bare' ' - (cd bare && git tar-tree HEAD) >bare-tar-tree.tar && - test_cmp bare-worktree.tar bare-tar-tree.tar -' - test_done diff --git a/t/t5510-fetch.sh b/t/t5510-fetch.sh index 1f0f8e6827..5d4581dac8 100755 --- a/t/t5510-fetch.sh +++ b/t/t5510-fetch.sh @@ -88,7 +88,7 @@ test_expect_success 'fetch --prune on its own works as expected' ' cd "$D" && git clone . prune && cd prune && - git fetch origin refs/heads/master:refs/remotes/origin/extrabranch && + git update-ref refs/remotes/origin/extrabranch master && git fetch --prune origin && test_must_fail git rev-parse origin/extrabranch @@ -98,7 +98,7 @@ test_expect_success 'fetch --prune with a branch name keeps branches' ' cd "$D" && git clone . prune-branch && cd prune-branch && - git fetch origin refs/heads/master:refs/remotes/origin/extrabranch && + git update-ref refs/remotes/origin/extrabranch master && git fetch --prune origin master && git rev-parse origin/extrabranch @@ -113,25 +113,45 @@ test_expect_success 'fetch --prune with a namespace keeps other namespaces' ' git rev-parse origin/master ' -test_expect_success 'fetch --prune --tags does not delete the remote-tracking branches' ' +test_expect_success 'fetch --prune --tags prunes branches but not tags' ' cd "$D" && git clone . prune-tags && cd prune-tags && - git fetch origin refs/heads/master:refs/tags/sometag && + git tag sometag master && + # Create what looks like a remote-tracking branch from an earlier + # fetch that has since been deleted from the remote: + git update-ref refs/remotes/origin/fake-remote master && git fetch --prune --tags origin && git rev-parse origin/master && - test_must_fail git rev-parse somebranch + test_must_fail git rev-parse origin/fake-remote && + git rev-parse sometag ' -test_expect_success 'fetch --prune --tags with branch does not delete other remote-tracking branches' ' +test_expect_success 'fetch --prune --tags with branch does not prune other things' ' cd "$D" && git clone . prune-tags-branch && cd prune-tags-branch && - git fetch origin refs/heads/master:refs/remotes/origin/extrabranch && + git tag sometag master && + git update-ref refs/remotes/origin/extrabranch master && git fetch --prune --tags origin master && - git rev-parse origin/extrabranch + git rev-parse origin/extrabranch && + git rev-parse sometag +' + +test_expect_success 'fetch --prune --tags with refspec prunes based on refspec' ' + cd "$D" && + git clone . prune-tags-refspec && + cd prune-tags-refspec && + git tag sometag master && + git update-ref refs/remotes/origin/foo/otherbranch master && + git update-ref refs/remotes/origin/extrabranch master && + + git fetch --prune --tags origin refs/heads/foo/*:refs/remotes/origin/foo/* && + test_must_fail git rev-parse refs/remotes/origin/foo/otherbranch && + git rev-parse origin/extrabranch && + git rev-parse sometag ' test_expect_success 'fetch tags when there is no tags' ' diff --git a/t/t5515/fetch.br-unconfig_--tags_.._.git b/t/t5515/fetch.br-unconfig_--tags_.._.git index 1669cc4af0..0f70f66c70 100644 --- a/t/t5515/fetch.br-unconfig_--tags_.._.git +++ b/t/t5515/fetch.br-unconfig_--tags_.._.git @@ -1,4 +1,5 @@ # br-unconfig --tags ../.git +0567da4d5edd2ff4bb292a465ba9e64dcad9536b ../ 6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../ 8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../ 22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../ diff --git a/t/t5515/fetch.master_--tags_.._.git b/t/t5515/fetch.master_--tags_.._.git index 8a7493537b..ab473a6e1f 100644 --- a/t/t5515/fetch.master_--tags_.._.git +++ b/t/t5515/fetch.master_--tags_.._.git @@ -1,4 +1,5 @@ # master --tags ../.git +0567da4d5edd2ff4bb292a465ba9e64dcad9536b ../ 6c9dec2b923228c9ff994c6cfe4ae16c12408dc5 not-for-merge tag 'tag-master' of ../ 8e32a6d901327a23ef831511badce7bf3bf46689 not-for-merge tag 'tag-one' of ../ 22feea448b023a2d864ef94b013735af34d238ba not-for-merge tag 'tag-one-tree' of ../ diff --git a/t/t5525-fetch-tagopt.sh b/t/t5525-fetch-tagopt.sh index 4fbf7a120f..45815f7378 100755 --- a/t/t5525-fetch-tagopt.sh +++ b/t/t5525-fetch-tagopt.sh @@ -8,7 +8,8 @@ setup_clone () { git clone --mirror . $1 && git remote add remote_$1 $1 && (cd $1 && - git tag tag_$1) + git tag tag_$1 && + git branch branch_$1) } test_expect_success setup ' @@ -21,21 +22,33 @@ test_expect_success setup ' test_expect_success "fetch with tagopt=--no-tags does not get tag" ' git fetch remote_one && - test_must_fail git show-ref tag_one + test_must_fail git show-ref tag_one && + git show-ref remote_one/branch_one ' test_expect_success "fetch --tags with tagopt=--no-tags gets tag" ' + ( + cd one && + git branch second_branch_one + ) && git fetch --tags remote_one && - git show-ref tag_one + git show-ref tag_one && + git show-ref remote_one/second_branch_one ' test_expect_success "fetch --no-tags with tagopt=--tags does not get tag" ' git fetch --no-tags remote_two && - test_must_fail git show-ref tag_two + test_must_fail git show-ref tag_two && + git show-ref remote_two/branch_two ' test_expect_success "fetch with tagopt=--tags gets tag" ' + ( + cd two && + git branch second_branch_two + ) && git fetch remote_two && - git show-ref tag_two + git show-ref tag_two && + git show-ref remote_two/second_branch_two ' test_done diff --git a/t/t5536-fetch-conflicts.sh b/t/t5536-fetch-conflicts.sh new file mode 100755 index 0000000000..6c5d3a4ce0 --- /dev/null +++ b/t/t5536-fetch-conflicts.sh @@ -0,0 +1,100 @@ +#!/bin/sh + +test_description='fetch handles conflicting refspecs correctly' + +. ./test-lib.sh + +D=$(pwd) + +setup_repository () { + git init "$1" && ( + cd "$1" && + git config remote.origin.url "$D" && + shift && + for refspec in "$@" + do + git config --add remote.origin.fetch "$refspec" + done + ) +} + +verify_stderr () { + cat >expected && + # We're not interested in the error + # "fatal: The remote end hung up unexpectedly": + grep -E '^(fatal|warning):' <error | grep -v 'hung up' >actual | sort && + test_cmp expected actual +} + +test_expect_success 'setup' ' + git commit --allow-empty -m "Initial" && + git branch branch1 && + git tag tag1 && + git commit --allow-empty -m "First" && + git branch branch2 && + git tag tag2 +' + +test_expect_success 'fetch with no conflict' ' + setup_repository ok "+refs/heads/*:refs/remotes/origin/*" && ( + cd ok && + git fetch origin + ) +' + +test_expect_success 'fetch conflict: config vs. config' ' + setup_repository ccc \ + "+refs/heads/branch1:refs/remotes/origin/branch1" \ + "+refs/heads/branch2:refs/remotes/origin/branch1" && ( + cd ccc && + test_must_fail git fetch origin 2>error && + verify_stderr <<-\EOF + fatal: Cannot fetch both refs/heads/branch1 and refs/heads/branch2 to refs/remotes/origin/branch1 + EOF + ) +' + +test_expect_success 'fetch duplicate: config vs. config' ' + setup_repository dcc \ + "+refs/heads/*:refs/remotes/origin/*" \ + "+refs/heads/branch1:refs/remotes/origin/branch1" && ( + cd dcc && + git fetch origin + ) +' + +test_expect_success 'fetch conflict: arg overrides config' ' + setup_repository aoc \ + "+refs/heads/*:refs/remotes/origin/*" && ( + cd aoc && + git fetch origin refs/heads/branch2:refs/remotes/origin/branch1 + ) +' + +test_expect_success 'fetch conflict: arg vs. arg' ' + setup_repository caa && ( + cd caa && + test_must_fail git fetch origin \ + refs/heads/*:refs/remotes/origin/* \ + refs/heads/branch2:refs/remotes/origin/branch1 2>error && + verify_stderr <<-\EOF + fatal: Cannot fetch both refs/heads/branch1 and refs/heads/branch2 to refs/remotes/origin/branch1 + EOF + ) +' + +test_expect_success 'fetch conflict: criss-cross args' ' + setup_repository xaa \ + "+refs/heads/*:refs/remotes/origin/*" && ( + cd xaa && + git fetch origin \ + refs/heads/branch1:refs/remotes/origin/branch2 \ + refs/heads/branch2:refs/remotes/origin/branch1 2>error && + verify_stderr <<-\EOF + warning: refs/remotes/origin/branch1 usually tracks refs/heads/branch1, not refs/heads/branch2 + warning: refs/remotes/origin/branch2 usually tracks refs/heads/branch2, not refs/heads/branch1 + EOF + ) +' + +test_done diff --git a/t/t6010-merge-base.sh b/t/t6010-merge-base.sh index f80bba871c..30a68335b3 100755 --- a/t/t6010-merge-base.sh +++ b/t/t6010-merge-base.sh @@ -230,4 +230,32 @@ test_expect_success 'criss-cross merge-base for octopus-step' ' test_cmp expected.sorted actual.sorted ' +test_expect_success 'using reflog to find the fork point' ' + git reset --hard && + git checkout -b base $E && + + ( + for count in 1 2 3 + do + git commit --allow-empty -m "Base commit #$count" && + git rev-parse HEAD >expect$count && + git checkout -B derived && + git commit --allow-empty -m "Derived #$count" && + git rev-parse HEAD >derived$count && + git checkout -B base $E || exit 1 + done + + for count in 1 2 3 + do + git merge-base --fork-point base $(cat derived$count) >actual && + test_cmp expect$count actual || exit 1 + done + + ) && + # check that we correctly default to HEAD + git checkout derived && + git merge-base --fork-point base >actual && + test_cmp expect3 actual +' + test_done diff --git a/t/t6018-rev-list-glob.sh b/t/t6018-rev-list-glob.sh index f00cebff3e..d00f7db868 100755 --- a/t/t6018-rev-list-glob.sh +++ b/t/t6018-rev-list-glob.sh @@ -129,6 +129,18 @@ test_expect_success 'rev-parse --remotes=foo' ' ' +test_expect_success 'rev-parse --exclude with --branches' ' + compare rev-parse "--exclude=*/* --branches" "master someref subspace-x" +' + +test_expect_success 'rev-parse --exclude with --all' ' + compare rev-parse "--exclude=refs/remotes/* --all" "--branches --tags" +' + +test_expect_success 'rev-parse accumulates multiple --exclude' ' + compare rev-parse "--exclude=refs/remotes/* --exclude=refs/tags/* --all" --branches +' + test_expect_success 'rev-list --glob=refs/heads/subspace/*' ' compare rev-list "subspace/one subspace/two" "--glob=refs/heads/subspace/*" @@ -231,6 +243,48 @@ test_expect_success 'rev-list --remotes=foo' ' ' +test_expect_success 'rev-list --exclude with --branches' ' + compare rev-list "--exclude=*/* --branches" "master someref subspace-x" +' + +test_expect_success 'rev-list --exclude with --all' ' + compare rev-list "--exclude=refs/remotes/* --all" "--branches --tags" +' + +test_expect_success 'rev-list accumulates multiple --exclude' ' + compare rev-list "--exclude=refs/remotes/* --exclude=refs/tags/* --all" --branches +' + + +# "git rev-list<ENTER>" is likely to be a bug in the calling script and may +# deserve an error message, but do cases where set of refs programatically +# given using globbing and/or --stdin need to fail with the same error, or +# are we better off reporting a success with no output? The following few +# tests document the current behaviour to remind us that we might want to +# think about this issue. + +test_expect_failure 'rev-list may want to succeed with empty output on no input (1)' ' + >expect && + git rev-list --stdin <expect >actual && + test_cmp expect actual +' + +test_expect_failure 'rev-list may want to succeed with empty output on no input (2)' ' + >expect && + git rev-list --exclude=* --all >actual && + test_cmp expect actual +' + +test_expect_failure 'rev-list may want to succeed with empty output on no input (3)' ' + ( + test_create_repo empty && + cd empty && + >expect && + git rev-list --all >actual && + test_cmp expect actual + ) +' + test_expect_success 'shortlog accepts --glob/--tags/--remotes' ' compare shortlog "subspace/one subspace/two" --branches=subspace && diff --git a/t/t6040-tracking-info.sh b/t/t6040-tracking-info.sh index ba26cfe923..7ac8fd06c3 100755 --- a/t/t6040-tracking-info.sh +++ b/t/t6040-tracking-info.sh @@ -39,12 +39,14 @@ test_expect_success setup ' advance h ' -script='s/^..\(b.\)[ 0-9a-f]*\[\([^]]*\)\].*/\1 \2/p' +script='s/^..\(b.\) *[0-9a-f]* \(.*\)$/\1 \2/p' cat >expect <<\EOF -b1 ahead 1, behind 1 -b2 ahead 1, behind 1 -b3 behind 1 -b4 ahead 2 +b1 [ahead 1, behind 1] d +b2 [ahead 1, behind 1] d +b3 [behind 1] b +b4 [ahead 2] f +b5 g +b6 c EOF test_expect_success 'branch -v' ' @@ -57,12 +59,12 @@ test_expect_success 'branch -v' ' ' cat >expect <<\EOF -b1 origin/master: ahead 1, behind 1 -b2 origin/master: ahead 1, behind 1 -b3 origin/master: behind 1 -b4 origin/master: ahead 2 -b5 brokenbase: gone -b6 origin/master +b1 [origin/master: ahead 1, behind 1] d +b2 [origin/master: ahead 1, behind 1] d +b3 [origin/master: behind 1] b +b4 [origin/master: ahead 2] f +b5 [brokenbase: gone] g +b6 [origin/master] c EOF test_expect_success 'branch -vv' ' diff --git a/t/t6130-pathspec-noglob.sh b/t/t6130-pathspec-noglob.sh index ea00d71e77..658353277e 100755 --- a/t/t6130-pathspec-noglob.sh +++ b/t/t6130-pathspec-noglob.sh @@ -108,6 +108,13 @@ test_expect_success 'no-glob environment variable works' ' test_cmp expect actual ' +test_expect_success 'blame takes global pathspec flags' ' + git --literal-pathspecs blame -- foo && + git --icase-pathspecs blame -- foo && + git --glob-pathspecs blame -- foo && + git --noglob-pathspecs blame -- foo +' + test_expect_success 'setup xxx/bar' ' mkdir xxx && test_commit xxx xxx/bar diff --git a/t/t6131-pathspec-icase.sh b/t/t6131-pathspec-icase.sh index 8d4a7fcb91..a7c7ff5f49 100755 --- a/t/t6131-pathspec-icase.sh +++ b/t/t6131-pathspec-icase.sh @@ -100,4 +100,10 @@ test_expect_success 'match_pathspec_depth matches :(icase)bar with empty prefix' test_cmp expect actual ' +test_expect_success '"git diff" can take magic :(icase) pathspec' ' + echo FOO/BAR >expect && + git diff --name-only HEAD^ HEAD -- ":(icase)foo/bar" >actual && + test_cmp expect actual +' + test_done diff --git a/t/t6300-for-each-ref.sh b/t/t6300-for-each-ref.sh index da5fb6c917..bda354c1c4 100755 --- a/t/t6300-for-each-ref.sh +++ b/t/t6300-for-each-ref.sh @@ -18,16 +18,13 @@ setdate_and_increment () { export GIT_COMMITTER_DATE GIT_AUTHOR_DATE } -test_expect_success 'Create sample commit with known timestamp' ' +test_expect_success setup ' setdate_and_increment && echo "Using $datestamp" > one && git add one && git commit -m "Initial" && setdate_and_increment && - git tag -a -m "Tagging at $datestamp" testtag -' - -test_expect_success 'Create upstream config' ' + git tag -a -m "Tagging at $datestamp" testtag && git update-ref refs/remotes/origin/master master && git remote add origin nowhere && git config branch.master.remote origin && @@ -52,8 +49,8 @@ test_atom head refname refs/heads/master test_atom head upstream refs/remotes/origin/master test_atom head objecttype commit test_atom head objectsize 171 -test_atom head objectname 67a36f10722846e891fbada1ba48ed035de75581 -test_atom head tree 0e51c00fcb93dffc755546f27593d511e1bdb46f +test_atom head objectname $(git rev-parse refs/heads/master) +test_atom head tree $(git rev-parse refs/heads/master^{tree}) test_atom head parent '' test_atom head numparent 0 test_atom head object '' @@ -82,16 +79,17 @@ test_atom head contents:body '' test_atom head contents:signature '' test_atom head contents 'Initial ' +test_atom head HEAD '*' test_atom tag refname refs/tags/testtag test_atom tag upstream '' test_atom tag objecttype tag test_atom tag objectsize 154 -test_atom tag objectname 98b46b1d36e5b07909de1b3886224e3e81e87322 +test_atom tag objectname $(git rev-parse refs/tags/testtag) test_atom tag tree '' test_atom tag parent '' test_atom tag numparent '' -test_atom tag object '67a36f10722846e891fbada1ba48ed035de75581' +test_atom tag object $(git rev-parse refs/tags/testtag^0) test_atom tag type 'commit' test_atom tag '*objectname' '67a36f10722846e891fbada1ba48ed035de75581' test_atom tag '*objecttype' 'commit' @@ -117,6 +115,7 @@ test_atom tag contents:body '' test_atom tag contents:signature '' test_atom tag contents 'Tagging at 1151939927 ' +test_atom tag HEAD ' ' test_expect_success 'Check invalid atoms names are errors' ' test_must_fail git for-each-ref --format="%(INVALID)" refs/heads @@ -308,8 +307,35 @@ test_expect_success 'Check short upstream format' ' test_cmp expected actual ' +test_expect_success 'setup for upstream:track[short]' ' + test_commit two +' + +cat >expected <<EOF +[ahead 1] +EOF + +test_expect_success 'Check upstream:track format' ' + git for-each-ref --format="%(upstream:track)" refs/heads >actual && + test_cmp expected actual +' + +cat >expected <<EOF +> +EOF + +test_expect_success 'Check upstream:trackshort format' ' + git for-each-ref --format="%(upstream:trackshort)" refs/heads >actual && + test_cmp expected actual +' + +test_expect_success 'Check that :track[short] cannot be used with other atoms' ' + test_must_fail git for-each-ref --format="%(refname:track)" 2>/dev/null && + test_must_fail git for-each-ref --format="%(refname:trackshort)" 2>/dev/null +' + cat >expected <<EOF -67a36f1 +$(git rev-parse --short HEAD) EOF test_expect_success 'Check short objectname format' ' @@ -321,6 +347,23 @@ test_expect_success 'Check for invalid refname format' ' test_must_fail git for-each-ref --format="%(refname:INVALID)" ' +get_color () +{ + git config --get-color no.such.slot "$1" +} + +cat >expected <<EOF +$(git rev-parse --short refs/heads/master) $(get_color green)master$(get_color reset) +$(git rev-parse --short refs/remotes/origin/master) $(get_color green)origin/master$(get_color reset) +$(git rev-parse --short refs/tags/testtag) $(get_color green)testtag$(get_color reset) +$(git rev-parse --short refs/tags/two) $(get_color green)two$(get_color reset) +EOF + +test_expect_success 'Check %(color:...) ' ' + git for-each-ref --format="%(objectname:short) %(color:green)%(refname:short)" >actual && + test_cmp expected actual +' + cat >expected <<\EOF heads/master tags/master @@ -460,9 +503,9 @@ test_atom refs/tags/signed-long contents "subject line body contents $sig" -cat >expected <<\EOF -408fe76d02a785a006c2e9c669b7be5589ede96d <committer@example.com> refs/tags/master -90b5ebede4899eda64893bc2a4c8f1d6fb6dfc40 <committer@example.com> refs/tags/bogo +cat >expected <<EOF +$(git rev-parse refs/tags/master) <committer@example.com> refs/tags/master +$(git rev-parse refs/tags/bogo) <committer@example.com> refs/tags/bogo EOF test_expect_success 'Verify sort with multiple keys' ' diff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh index f0b33053ab..0246e80b1a 100755 --- a/t/t7406-submodule-update.sh +++ b/t/t7406-submodule-update.sh @@ -323,6 +323,21 @@ test_expect_success 'submodule update - command in .git/config catches failure' ) ' +test_expect_success 'submodule init does not copy command into .git/config' ' + (cd super && + H=$(git ls-files -s submodule | cut -d" " -f2) && + mkdir submodule1 && + git update-index --add --cacheinfo 160000 $H submodule1 && + git config -f .gitmodules submodule.submodule1.path submodule1 && + git config -f .gitmodules submodule.submodule1.url ../submodule && + git config -f .gitmodules submodule.submodule1.update !false && + git submodule init submodule1 && + echo "none" >expect && + git config submodule.submodule1.update >actual && + test_cmp expect actual + ) +' + test_expect_success 'submodule init picks up rebase' ' (cd super && git config -f .gitmodules submodule.rebasing.update rebase && @@ -747,6 +762,17 @@ test_expect_success 'submodule update clone shallow submodule' ' (cd submodule && test 1 = $(git log --oneline | wc -l) ) +) +' + +test_expect_success 'submodule update --recursive drops module name before recursing' ' + (cd super2 && + (cd deeper/submodule/subsubmodule && + git checkout HEAD^ + ) && + git submodule update --recursive deeper/submodule >actual && + test_i18ngrep "Submodule path .deeper/submodule/subsubmodule.: checked out" actual ) ' + test_done diff --git a/t/t7407-submodule-foreach.sh b/t/t7407-submodule-foreach.sh index b64c9ed8e7..7ca10b8606 100755 --- a/t/t7407-submodule-foreach.sh +++ b/t/t7407-submodule-foreach.sh @@ -325,4 +325,13 @@ test_expect_success 'command passed to foreach --recursive retains notion of std test_cmp expected actual ' +test_expect_success 'multi-argument command passed to foreach is not shell-evaluated twice' ' + ( + cd super && + git submodule foreach "echo \\\"quoted\\\"" > ../expected && + git submodule foreach echo \"quoted\" > ../actual + ) && + test_cmp expected actual +' + test_done diff --git a/t/t9114-git-svn-dcommit-merge.sh b/t/t9114-git-svn-dcommit-merge.sh index f524d2f383..d33d714006 100755 --- a/t/t9114-git-svn-dcommit-merge.sh +++ b/t/t9114-git-svn-dcommit-merge.sh @@ -62,7 +62,7 @@ test_expect_success 'setup git mirror and merge' ' echo friend > README && cat tmp >> README && git commit -a -m "friend" && - git pull . merge + git merge merge ' test_debug 'gitk --all & sleep 1' diff --git a/t/t9500-gitweb-standalone-no-errors.sh b/t/t9500-gitweb-standalone-no-errors.sh index 718014d5de..e74b9ab1e1 100755 --- a/t/t9500-gitweb-standalone-no-errors.sh +++ b/t/t9500-gitweb-standalone-no-errors.sh @@ -328,7 +328,7 @@ test_expect_success \ git add b && git commit -a -m "On branch" && git checkout master && - git pull . b && + git merge b && git tag merge_commit' test_expect_success \ diff --git a/t/test-lib.sh b/t/test-lib.sh index b25249ec4c..d303e6c943 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -26,6 +26,10 @@ then # outside of t/, e.g. for running tests on the test library # itself. TEST_DIRECTORY=$(pwd) +else + # ensure that TEST_DIRECTORY is an absolute path so that it + # is valid even if the current working directory is changed + TEST_DIRECTORY=$(cd "$TEST_DIRECTORY" && pwd) || exit 1 fi if test -z "$TEST_OUTPUT_DIRECTORY" then diff --git a/transport-helper.c b/transport-helper.c index b32e2d64dd..673b7c214f 100644 --- a/transport-helper.c +++ b/transport-helper.c @@ -269,6 +269,7 @@ static const char *unsupported_options[] = { TRANS_OPT_THIN, TRANS_OPT_KEEP }; + static const char *boolean_options[] = { TRANS_OPT_THIN, TRANS_OPT_KEEP, diff --git a/tree-diff.c b/tree-diff.c index ccf9d7c8fd..456660c7a2 100644 --- a/tree-diff.c +++ b/tree-diff.c @@ -254,7 +254,9 @@ static void try_to_follow_renames(struct tree_desc *t1, struct tree_desc *t2, co path[0] = p->one->path; path[1] = NULL; free_pathspec(&opt->pathspec); - parse_pathspec(&opt->pathspec, PATHSPEC_ALL_MAGIC, 0, "", path); + parse_pathspec(&opt->pathspec, + PATHSPEC_ALL_MAGIC & ~PATHSPEC_LITERAL, + PATHSPEC_LITERAL_PATH, "", path); /* * The caller expects us to return a set of vanilla diff --git a/unpack-trees.c b/unpack-trees.c index 35cb05e92b..ad3e9a04fe 100644 --- a/unpack-trees.c +++ b/unpack-trees.c @@ -1763,14 +1763,23 @@ int twoway_merge(const struct cache_entry * const *src, newtree = NULL; if (current) { - if ((!oldtree && !newtree) || /* 4 and 5 */ - (!oldtree && newtree && - same(current, newtree)) || /* 6 and 7 */ - (oldtree && newtree && - same(oldtree, newtree)) || /* 14 and 15 */ - (oldtree && newtree && - !same(oldtree, newtree) && /* 18 and 19 */ - same(current, newtree))) { + if (current->ce_flags & CE_CONFLICTED) { + if (same(oldtree, newtree) || o->reset) { + if (!newtree) + return deleted_entry(current, current, o); + else + return merged_entry(newtree, current, o); + } + return o->gently ? -1 : reject_merge(current, o); + } + else if ((!oldtree && !newtree) || /* 4 and 5 */ + (!oldtree && newtree && + same(current, newtree)) || /* 6 and 7 */ + (oldtree && newtree && + same(oldtree, newtree)) || /* 14 and 15 */ + (oldtree && newtree && + !same(oldtree, newtree) && /* 18 and 19 */ + same(current, newtree))) { return keep_entry(current, o); } else if (oldtree && !newtree && same(current, oldtree)) { diff --git a/upload-pack.c b/upload-pack.c index 43342ac161..d30f339e70 100644 --- a/upload-pack.c +++ b/upload-pack.c @@ -649,8 +649,7 @@ static void receive_needs(void) /* make sure the real parents are parsed */ unregister_shallow(object->sha1); object->parsed = 0; - if (parse_commit((struct commit *)object)) - die("invalid commit"); + parse_commit_or_die((struct commit *)object); parents = ((struct commit *)object)->parents; while (parents) { add_object_array(&parents->item->object, @@ -753,7 +752,6 @@ static void upload_pack(void) struct string_list symref = STRING_LIST_INIT_DUP; head_ref_namespaced(find_symref, &symref); - for_each_namespaced_ref(find_symref, &symref); if (advertise_refs || !stateless_rpc) { reset_timeout(); @@ -133,7 +133,7 @@ void *xcalloc(size_t nmemb, size_t size) /* * Limit size of IO chunks, because huge chunks only cause pain. OS X * 64-bit is buggy, returning EINVAL if len >= INT_MAX; and even in - * the absense of bugs, large chunks can result in bad latencies when + * the absence of bugs, large chunks can result in bad latencies when * you decide to kill the process. */ #define MAX_IO_SIZE (8*1024*1024) diff --git a/wt-status.c b/wt-status.c index b4e44baa29..4625cdb900 100644 --- a/wt-status.c +++ b/wt-status.c @@ -15,6 +15,7 @@ #include "submodule.h" #include "column.h" #include "strbuf.h" +#include "utf8.h" static char default_wt_status_colors[][COLOR_MAXLEN] = { GIT_COLOR_NORMAL, /* WT_STATUS_HEADER */ @@ -264,6 +265,30 @@ static void wt_status_print_unmerged_data(struct wt_status *s, strbuf_release(&onebuf); } +static const char *wt_status_diff_status_string(int status) +{ + switch (status) { + case DIFF_STATUS_ADDED: + return _("new file"); + case DIFF_STATUS_COPIED: + return _("copied"); + case DIFF_STATUS_DELETED: + return _("deleted"); + case DIFF_STATUS_MODIFIED: + return _("modified"); + case DIFF_STATUS_RENAMED: + return _("renamed"); + case DIFF_STATUS_TYPE_CHANGED: + return _("typechange"); + case DIFF_STATUS_UNKNOWN: + return _("unknown"); + case DIFF_STATUS_UNMERGED: + return _("unmerged"); + default: + return NULL; + } +} + static void wt_status_print_change_data(struct wt_status *s, int change_type, struct string_list_item *it) @@ -276,6 +301,23 @@ static void wt_status_print_change_data(struct wt_status *s, const char *one, *two; struct strbuf onebuf = STRBUF_INIT, twobuf = STRBUF_INIT; struct strbuf extra = STRBUF_INIT; + static char *padding; + const char *what; + int len; + + if (!padding) { + int width = 0; + /* If DIFF_STATUS_* uses outside this range, we're in trouble */ + for (status = 'A'; status <= 'Z'; status++) { + what = wt_status_diff_status_string(status); + len = what ? strlen(what) : 0; + if (len > width) + width = len; + } + width += 2; /* colon and a space */ + padding = xmallocz(width); + memset(padding, ' ', width); + } one_name = two_name = it->string; switch (change_type) { @@ -307,34 +349,18 @@ static void wt_status_print_change_data(struct wt_status *s, two = quote_path(two_name, s->prefix, &twobuf); status_printf(s, color(WT_STATUS_HEADER, s), "\t"); - switch (status) { - case DIFF_STATUS_ADDED: - status_printf_more(s, c, _("new file: %s"), one); - break; - case DIFF_STATUS_COPIED: - status_printf_more(s, c, _("copied: %s -> %s"), one, two); - break; - case DIFF_STATUS_DELETED: - status_printf_more(s, c, _("deleted: %s"), one); - break; - case DIFF_STATUS_MODIFIED: - status_printf_more(s, c, _("modified: %s"), one); - break; - case DIFF_STATUS_RENAMED: - status_printf_more(s, c, _("renamed: %s -> %s"), one, two); - break; - case DIFF_STATUS_TYPE_CHANGED: - status_printf_more(s, c, _("typechange: %s"), one); - break; - case DIFF_STATUS_UNKNOWN: - status_printf_more(s, c, _("unknown: %s"), one); - break; - case DIFF_STATUS_UNMERGED: - status_printf_more(s, c, _("unmerged: %s"), one); - break; - default: + what = wt_status_diff_status_string(status); + if (!what) die(_("bug: unhandled diff status %c"), status); - } + /* 1 for colon, which is not part of "what" */ + len = strlen(padding) - (utf8_strwidth(what) + 1); + assert(len >= 0); + if (status == DIFF_STATUS_COPIED || status == DIFF_STATUS_RENAMED) + status_printf_more(s, c, "%s:%.*s%s -> %s", + what, len, padding, one, two); + else + status_printf_more(s, c, "%s:%.*s%s", + what, len, padding, one); if (extra.len) { status_printf_more(s, color(WT_STATUS_HEADER, s), "%s", extra.buf); strbuf_release(&extra); |