diff options
433 files changed, 34747 insertions, 19793 deletions
diff --git a/.gitignore b/.gitignore index 5087ce1eb7..05cb58a3d4 100644 --- a/.gitignore +++ b/.gitignore @@ -179,39 +179,6 @@ /gitweb/gitweb.cgi /gitweb/static/gitweb.js /gitweb/static/gitweb.min.* -/test-chmtime -/test-ctype -/test-config -/test-date -/test-delta -/test-dump-cache-tree -/test-dump-split-index -/test-dump-untracked-cache -/test-fake-ssh -/test-scrap-cache-tree -/test-genrandom -/test-hashmap -/test-index-version -/test-line-buffer -/test-match-trees -/test-mergesort -/test-mktemp -/test-parse-options -/test-path-utils -/test-prio-queue -/test-read-cache -/test-regex -/test-revision-walking -/test-run-command -/test-sha1 -/test-sha1-array -/test-sigchain -/test-string-list -/test-submodule-config -/test-subprocess -/test-svn-fe -/test-urlmatch-normalization -/test-wildmatch /common-cmds.h *.tar.gz *.dsc @@ -51,6 +51,7 @@ Dirk SΓΌsserott <newsletter@dirk.my1.cc> Eric Blake <eblake@redhat.com> <ebb9@byu.net> Eric Hanchrow <eric.hanchrow@gmail.com> <offby1@blarg.net> Eric S. Raymond <esr@thyrsus.com> +Eric Wong <e@80x24.org> <normalperson@yhbt.net> Erik Faye-Lund <kusmabite@gmail.com> <kusmabite@googlemail.com> Eyvind Bernhardsen <eyvind.bernhardsen@gmail.com> <eyvind-git@orakel.ntnu.no> Florian Achleitner <florian.achleitner.2.6.31@gmail.com> <florian.achleitner2.6.31@gmail.com> diff --git a/.travis.yml b/.travis.yml index f8b73ec3da..1fdcec8437 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,12 +21,15 @@ addons: env: global: - - P4_VERSION="15.2" - - GIT_LFS_VERSION="1.1.0" + - DEVELOPER=1 + # The Linux build installs the defined dependency versions below. + # The OS X build installs the latest available versions. Keep that + # in mind when you encounter a broken OS X build! + - LINUX_P4_VERSION="16.1" + - LINUX_GIT_LFS_VERSION="1.2.0" - DEFAULT_TEST_TARGET=prove - GIT_PROVE_OPTS="--timer --jobs 3 --state=failed,slow,save" - GIT_TEST_OPTS="--verbose --tee" - - CFLAGS="-g -O2 -Wall -Werror" - GIT_TEST_CLONE_2GB=YesPlease # t9810 occasionally fails on Travis CI OS X # t9816 occasionally fails with "TAP out of sequence errors" on Travis CI OS X @@ -38,17 +41,17 @@ before_install: linux) mkdir --parents custom/p4 pushd custom/p4 - wget --quiet http://filehost.perforce.com/perforce/r$P4_VERSION/bin.linux26x86_64/p4d - wget --quiet http://filehost.perforce.com/perforce/r$P4_VERSION/bin.linux26x86_64/p4 + wget --quiet http://filehost.perforce.com/perforce/r$LINUX_P4_VERSION/bin.linux26x86_64/p4d + wget --quiet http://filehost.perforce.com/perforce/r$LINUX_P4_VERSION/bin.linux26x86_64/p4 chmod u+x p4d chmod u+x p4 export PATH="$(pwd):$PATH" popd mkdir --parents custom/git-lfs pushd custom/git-lfs - wget --quiet https://github.com/github/git-lfs/releases/download/v$GIT_LFS_VERSION/git-lfs-linux-amd64-$GIT_LFS_VERSION.tar.gz - tar --extract --gunzip --file "git-lfs-linux-amd64-$GIT_LFS_VERSION.tar.gz" - cp git-lfs-$GIT_LFS_VERSION/git-lfs . + wget --quiet https://github.com/github/git-lfs/releases/download/v$LINUX_GIT_LFS_VERSION/git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz + tar --extract --gunzip --file "git-lfs-linux-amd64-$LINUX_GIT_LFS_VERSION.tar.gz" + cp git-lfs-$LINUX_GIT_LFS_VERSION/git-lfs . export PATH="$(pwd):$PATH" popd ;; diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines index c6e536f180..0ddd36879a 100644 --- a/Documentation/CodingGuidelines +++ b/Documentation/CodingGuidelines @@ -171,6 +171,11 @@ For C programs: - We try to keep to at most 80 characters per line. + - As a Git developer we assume you have a reasonably modern compiler + and we recommend you to enable the DEVELOPER makefile knob to + ensure your patch is clear of all compiler warnings we care about, + by e.g. "echo DEVELOPER=1 >>config.mak". + - We try to support a wide range of C compilers to compile Git with, including old ones. That means that you should not use C99 initializers, even if a lot of compilers grok it. diff --git a/Documentation/RelNotes/2.4.11.txt b/Documentation/RelNotes/2.4.11.txt new file mode 100644 index 0000000000..723360295c --- /dev/null +++ b/Documentation/RelNotes/2.4.11.txt @@ -0,0 +1,11 @@ +Git v2.4.11 Release Notes +========================= + +Fixes since v2.4.10 +------------------- + + * Bugfix patches were backported from the 'master' front to plug heap + corruption holes, to catch integer overflow in the computation of + pathname lengths, and to get rid of the name_path API. Both of + these would have resulted in writing over an under-allocated buffer + when formulating pathnames while tree traversal. diff --git a/Documentation/RelNotes/2.5.5.txt b/Documentation/RelNotes/2.5.5.txt new file mode 100644 index 0000000000..37eae9a2d9 --- /dev/null +++ b/Documentation/RelNotes/2.5.5.txt @@ -0,0 +1,11 @@ +Git v2.5.5 Release Notes +======================== + +Fixes since v2.5.4 +------------------ + + * Bugfix patches were backported from the 'master' front to plug heap + corruption holes, to catch integer overflow in the computation of + pathname lengths, and to get rid of the name_path API. Both of + these would have resulted in writing over an under-allocated buffer + when formulating pathnames while tree traversal. diff --git a/Documentation/RelNotes/2.6.6.txt b/Documentation/RelNotes/2.6.6.txt new file mode 100644 index 0000000000..023ad85ec6 --- /dev/null +++ b/Documentation/RelNotes/2.6.6.txt @@ -0,0 +1,11 @@ +Git v2.6.6 Release Notes +======================== + +Fixes since v2.6.5 +------------------ + + * Bugfix patches were backported from the 'master' front to plug heap + corruption holes, to catch integer overflow in the computation of + pathname lengths, and to get rid of the name_path API. Both of + these would have resulted in writing over an under-allocated buffer + when formulating pathnames while tree traversal. diff --git a/Documentation/RelNotes/2.7.3.txt b/Documentation/RelNotes/2.7.3.txt new file mode 100644 index 0000000000..6adf038915 --- /dev/null +++ b/Documentation/RelNotes/2.7.3.txt @@ -0,0 +1,62 @@ +Git v2.7.3 Release Notes +======================== + +Fixes since v2.7.2 +------------------ + + * Traditionally, the tests that try commands that work on the + contents in the working tree were named with "worktree" in their + filenames, but with the recent addition of "git worktree" + subcommand, whose tests are also named similarly, it has become + harder to tell them apart. The traditional tests have been renamed + to use "work-tree" instead in an attempt to differentiate them. + + * Many codepaths forget to check return value from git_config_set(); + the function is made to die() to make sure we do not proceed when + setting a configuration variable failed. + + * Handling of errors while writing into our internal asynchronous + process has been made more robust, which reduces flakiness in our + tests. + + * "git show 'HEAD:Foo[BAR]Baz'" did not interpret the argument as a + rev, i.e. the object named by the the pathname with wildcard + characters in a tree object. + + * "git rev-parse --git-common-dir" used in the worktree feature + misbehaved when run from a subdirectory. + + * The "v(iew)" subcommand of the interactive "git am -i" command was + broken in 2.6.0 timeframe when the command was rewritten in C. + + * "git merge-tree" used to mishandle "both sides added" conflict with + its own "create a fake ancestor file that has the common parts of + what both sides have added and do a 3-way merge" logic; this has + been updated to use the usual "3-way merge with an empty blob as + the fake common ancestor file" approach used in the rest of the + system. + + * The memory ownership rule of fill_textconv() API, which was a bit + tricky, has been documented a bit better. + + * The documentation did not clearly state that the 'simple' mode is + now the default for "git push" when push.default configuration is + not set. + + * Recent versions of GNU grep are pickier when their input contains + arbitrary binary data, which some of our tests uses. Rewrite the + tests to sidestep the problem. + + * A helper function "git submodule" uses since v2.7.0 to list the + modules that match the pathspec argument given to its subcommands + (e.g. "submodule add <repo> <path>") has been fixed. + + * "git config section.var value" to set a value in per-repository + configuration file failed when it was run outside any repository, + but didn't say the reason correctly. + + * The code to read the pack data using the offsets stored in the pack + idx file has been made more carefully check the validity of the + data in the idx. + +Also includes documentation and test updates. diff --git a/Documentation/RelNotes/2.7.4.txt b/Documentation/RelNotes/2.7.4.txt new file mode 100644 index 0000000000..883ae896fe --- /dev/null +++ b/Documentation/RelNotes/2.7.4.txt @@ -0,0 +1,11 @@ +Git v2.7.4 Release Notes +======================== + +Fixes since v2.7.3 +------------------ + + * Bugfix patches were backported from the 'master' front to plug heap + corruption holes, to catch integer overflow in the computation of + pathname lengths, and to get rid of the name_path API. Both of + these would have resulted in writing over an under-allocated buffer + when formulating pathnames while tree traversal. diff --git a/Documentation/RelNotes/2.8.0.txt b/Documentation/RelNotes/2.8.0.txt index 3df3a98f70..25079710fa 100644 --- a/Documentation/RelNotes/2.8.0.txt +++ b/Documentation/RelNotes/2.8.0.txt @@ -16,7 +16,9 @@ UI, Workflows & Features the source repository has packed references for a long time, and nobody noticed nor complained about it. - * "branch --delete" has "branch -d" but "push --delete" does not. + * "push" learned that its "--delete" option can be shortened to + "-d", just like "branch --delete" and "branch -d" are the same + thing. * "git blame" learned to produce the progress eye-candy when it takes too much time before emitting the first line of the result. @@ -32,7 +34,7 @@ UI, Workflows & Features have a place to store the updated notes tree, iow, a ref). * "git grep" by default does not fall back to its "--no-index" - behaviour outside a directory under Git's control (otherwise the + behavior outside a directory under Git's control (otherwise the user may by mistake end up running a huge recursive search); with a new configuration (set in $HOME/.gitconfig--by definition this cannot be set in the config file per project), this safety can be @@ -53,7 +55,7 @@ UI, Workflows & Features * Many commands that read files that are expected to contain text that is generated (or can be edited) by the end user to control - their behaviour (e.g. "git grep -f <filename>") have been updated + their behavior (e.g. "git grep -f <filename>") have been updated to be more tolerant to lines that are terminated with CRLF (they used to treat such a line to contain payload that ends with CR, which is usually not what the users expect). @@ -110,14 +112,41 @@ UI, Workflows & Features * You can now set http.[<url>.]pinnedpubkey to specify the pinned public key when building with recent enough versions of libcURL. + * The configuration system has been taught to phrase where it found a + bad configuration variable in a better way in its error messages. + "git config" learnt a new "--show-origin" option to indicate where + the values come from. + + * The "credential-cache" daemon process used to run in whatever + directory it happened to start in, but this made umount(2)ing the + filesystem that houses the repository harder; now the process + chdir()s to the directory that house its own socket on startup. + + * When "git submodule update" did not result in fetching the commit + object in the submodule that is referenced by the superproject, the + command learned to retry another fetch, specifically asking for + that commit that may not be connected to the refs it usually + fetches. + + * "git merge-recursive" learned "--no-renames" option to disable its + rename detection logic. + + * Across the transition at around Git version 2.0, the user used to + get a pretty loud warning when running "git push" without setting + push.default configuration variable. We no longer warn because the + transition was completed a long time ago. + + * README has been renamed to README.md and its contents got tweaked + slightly to make it easier on the eyes. + Performance, Internal Implementation, Development Support etc. * Add a framework to spawn a group of processes in parallel, and use it to run "git fetch --recurse-submodules" in parallel. - * A slight update to the Makefile to mark "phoney" targets - as such correctly. + * A slight update to the Makefile to mark ".PHONY" targets as such + correctly. * In-core storage of the reverse index for .pack files (which lets you go from a pack offset to an object name) has been streamlined. @@ -158,16 +187,10 @@ Performance, Internal Implementation, Development Support etc. with expectations that are not satisfiable on Git for Windows. * Some calls to strcpy(3) triggers a false warning from static - analysers that are less intelligent than humans, and reducing the - number of these false hits helps us notice real issues. A few - calls to strcpy(3) in test-path-utils that are already safe has - been rewritten to avoid false wanings. - - * Some calls to strcpy(3) triggers a false warning from static - analysers that are less intelligent than humans, and reducing the + analyzers that are less intelligent than humans, and reducing the number of these false hits helps us notice real issues. A few - calls to strcpy(3) in "git rerere" that are already safe has been - rewritten to avoid false wanings. + calls to strcpy(3) in a couple of protrams that are already safe + has been rewritten to avoid false warnings. * The "name_path" API was an attempt to reduce the need to construct the full path out of a series of path components while walking a @@ -179,6 +202,58 @@ Performance, Internal Implementation, Development Support etc. * Help those who debug http(s) part of the system. (merge 0054045 sp/remote-curl-ssl-strerror later to maint). + * The internal API to interact with "remote.*" configuration + variables has been streamlined. + + * The ref-filter's format-parsing code has been refactored, in + preparation for "branch --format" and friends. + + * Traditionally, the tests that try commands that work on the + contents in the working tree were named with "worktree" in their + filenames, but with the recent addition of "git worktree" + subcommand, whose tests are also named similarly, it has become + harder to tell them apart. The traditional tests have been renamed + to use "work-tree" instead in an attempt to differentiate them. + (merge 5549029 mg/work-tree-tests later to maint). + + * Many codepaths forget to check return value from git_config_set(); + the function is made to die() to make sure we do not proceed when + setting a configuration variable failed. + (merge 3d18064 ps/config-error later to maint). + + * Handling of errors while writing into our internal asynchronous + process has been made more robust, which reduces flakiness in our + tests. + (merge 43f3afc jk/epipe-in-async later to maint). + + * There is a new DEVELOPER knob that enables many compiler warning + options in the Makefile. + + * The way the test scripts configure the Apache web server has been + updated to work also for Apache 2.4 running on RedHat derived + distros. + + * Out of maintenance gcc on OSX 10.6 fails to compile the code in + 'master'; work it around by using clang by default on the platform. + + * The "name_path" API was an attempt to reduce the need to construct + the full path out of a series of path components while walking a + tree hierarchy, but over time made less efficient because the path + needs to be flattened, e.g. to be compared with another path that + is already flat, in many cases. The API has been removed and its + users have been rewritten to simplify the overall code complexity. + This incidentally also closes some heap-corruption holes. + + * Recent versions of GNU grep is pickier than before to decide if a + file is "binary" and refuse to give line-oriented hits when we + expect it to, unless explicitly told with "-a" option. As our + scripted Porcelains use sane_grep wrapper for line-oriented data, + even when the line may contain non-ASCII payload we took from + end-user data, use "grep -a" to implement sane_grep wrapper when + using an implementation of "grep" that takes the "-a" option. + + + Also contains various documentation updates and code clean-ups. @@ -206,7 +281,7 @@ notes for details). * "git send-email" was confused by escaped quotes stored in the alias files saved by "mutt", which has been corrected. - * A few unportable C construct have been spotted by clang compiler + * A few non-portable C construct have been spotted by clang compiler and have been fixed. * The documentation has been updated to hint the connection between @@ -267,17 +342,17 @@ notes for details). * dirname() emulation has been added, as Msys2 lacks it. * The underlying machinery used by "ls-files -o" and other commands - have been taught not to create empty submodule ref cache for a + has been taught not to create empty submodule ref cache for a directory that is not a submodule. This removes a ton of wasted CPU cycles. * "git worktree" had a broken code that attempted to auto-fix possible inconsistency that results from end-users moving a worktree to different places without telling Git (the original - repository needs to maintain backpointers to its worktrees, but - "mv" run by end-users who are not familiar with that fact will - obviously not adjust them), which actually made things worse - when triggered. + repository needs to maintain back-pointers to its worktrees, + but "mv" run by end-users who are not familiar with that fact + will obviously not adjust them), which actually made things + worse when triggered. * The low-level merge machinery has been taught to use CRLF line termination when inserting conflict markers to merged contents that @@ -310,14 +385,55 @@ notes for details). misbehaved when run from a subdirectory. (merge 17f1365 nd/git-common-dir-fix later to maint). - * Another try to add support to the ignore mechanism that lets you - say "this is excluded" and then later say "oh, no, this part (that - is a subset of the previous part) is not excluded". - * "git worktree add -B <branchname>" did not work. * The "v(iew)" subcommand of the interactive "git am -i" command was broken in 2.6.0 timeframe when the command was rewritten in C. (merge 708b8cc jc/am-i-v-fix later to maint). + * "git merge-tree" used to mishandle "both sides added" conflict with + its own "create a fake ancestor file that has the common parts of + what both sides have added and do a 3-way merge" logic; this has + been updated to use the usual "3-way merge with an empty blob as + the fake common ancestor file" approach used in the rest of the + system. + (merge 907681e jk/no-diff-emit-common later to maint). + + * The memory ownership rule of fill_textconv() API, which was a bit + tricky, has been documented a bit better. + (merge a64e6a4 jk/more-comments-on-textconv later to maint). + + * Update various codepaths to avoid manually-counted malloc(). + (merge 08c95df jk/tighten-alloc later to maint). + + * The documentation did not clearly state that the 'simple' mode is + now the default for "git push" when push.default configuration is + not set. + (merge f6b1fb3 mm/push-simple-doc later to maint). + + * Recent versions of GNU grep are pickier when their input contains + arbitrary binary data, which some of our tests uses. Rewrite the + tests to sidestep the problem. + (merge 3b1442d jk/grep-binary-workaround-in-test later to maint). + + * A helper function "git submodule" uses since v2.7.0 to list the + modules that match the pathspec argument given to its subcommands + (e.g. "submodule add <repo> <path>") has been fixed. + (merge 2b56bb7 sb/submodule-module-list-fix later to maint). + + * "git config section.var value" to set a value in per-repository + configuration file failed when it was run outside any repository, + but didn't say the reason correctly. + (merge 638fa62 js/config-set-in-non-repository later to maint). + + * The code to read the pack data using the offsets stored in the pack + idx file has been made more carefully check the validity of the + data in the idx. + (merge 7465feb jk/pack-idx-corruption-safety later to maint). + * Other minor clean-ups and documentation updates + (merge f459823 ak/extract-argv0-last-dir-sep later to maint). + (merge 63ca1c0 ak/git-strip-extension-from-dashed-command later to maint). + (merge 4867f11 ps/plug-xdl-merge-leak later to maint). + (merge 4938686 dt/initial-ref-xn-commit-doc later to maint). + (merge 9537f21 ma/update-hooks-sample-typofix later to maint). diff --git a/Documentation/RelNotes/2.8.1.txt b/Documentation/RelNotes/2.8.1.txt new file mode 100644 index 0000000000..ef6d80b008 --- /dev/null +++ b/Documentation/RelNotes/2.8.1.txt @@ -0,0 +1,9 @@ +Git v2.8.1 Release Notes +======================== + +Fixes since v2.8 +---------------- + + * "make rpmbuild" target was broken as its input, git.spec.in, was + not updated to match a file it describes that has been renamed + recently. This has been fixed. diff --git a/Documentation/RelNotes/2.8.2.txt b/Documentation/RelNotes/2.8.2.txt new file mode 100644 index 0000000000..447b1933a8 --- /dev/null +++ b/Documentation/RelNotes/2.8.2.txt @@ -0,0 +1,70 @@ +Git v2.8.2 Release Notes +======================== + +Fixes since v2.8.1 +------------------ + + * The embedded args argv-array in the child process is used to build + the command line to run pack-objects instead of using a separate + array of strings. + + * Bunch of tests on "git clone" has been renumbered for better + organization. + + * The tests that involve running httpd leaked the system-wide + configuration in /etc/gitconfig to the tested environment. + + * "index-pack --keep=<msg>" was broken since v2.1.0 timeframe. + + * "git config --get-urlmatch", unlike other variants of the "git + config --get" family, did not signal error with its exit status + when there was no matching configuration. + + * The "--local-env-vars" and "--resolve-git-dir" options of "git + rev-parse" failed to work outside a repository when the command's + option parsing was rewritten in 1.8.5 era. + + * Fetching of history by naming a commit object name directly didn't + work across remote-curl transport. + + * A small memory leak in an error codepath has been plugged in xdiff + code. + + * strbuf_getwholeline() did not NUL-terminate the buffer on certain + corner cases in its error codepath. + + * The startup_info data, which records if we are working inside a + repository (among other things), are now uniformly available to Git + subcommand implementations, and Git avoids attempting to touch + references when we are not in a repository. + + * "git mergetool" did not work well with conflicts that both sides + deleted. + + * "git send-email" had trouble parsing alias file in mailrc format + when lines in it had trailing whitespaces on them. + + * When "git merge --squash" stopped due to conflict, the concluding + "git commit" failed to read in the SQUASH_MSG that shows the log + messages from all the squashed commits. + + * "git merge FETCH_HEAD" dereferenced NULL pointer when merging + nothing into an unborn history (which is arguably unusual usage, + which perhaps was the reason why nobody noticed it). + + * Build updates for MSVC. + + * "git diff -M" used to work better when two originally identical + files A and B got renamed to X/A and X/B by pairing A to X/A and B + to X/B, but this was broken in the 2.0 timeframe. + + * "git send-pack --all <there>" was broken when its command line + option parsing was written in the 2.6 timeframe. + + * When running "git blame $path" with unnormalized data in the index + for the path, the data in the working tree was blamed, even though + "git add" would not have changed what is already in the index, due + to "safe crlf" that disables the line-end conversion. It has been + corrected. + +Also contains minor documentation updates and code clean-ups. diff --git a/Documentation/RelNotes/2.8.3.txt b/Documentation/RelNotes/2.8.3.txt new file mode 100644 index 0000000000..af184783bc --- /dev/null +++ b/Documentation/RelNotes/2.8.3.txt @@ -0,0 +1,70 @@ +Git v2.8.3 Release Notes +======================== + +Fixes since v2.8.2 +------------------ + + * "git send-email" now uses a more readable timestamps when + formulating a message ID. + + * The repository set-up sequence has been streamlined (the biggest + change is that there is no longer git_config_early()), so that we + do not attempt to look into refs/* when we know we do not have a + Git repository. + + * When "git worktree" feature is in use, "git branch -d" allowed + deletion of a branch that is checked out in another worktree + + * When "git worktree" feature is in use, "git branch -m" renamed a + branch that is checked out in another worktree without adjusting + the HEAD symbolic ref for the worktree. + + * "git format-patch --help" showed `-s` and `--no-patch` as if these + are valid options to the command. We already hide `--patch` option + from the documentation, because format-patch is about showing the + diff, and the documentation now hides these options as well. + + * A change back in version 2.7 to "git branch" broke display of a + symbolic ref in a non-standard place in the refs/ hierarchy (we + expect symbolic refs to appear in refs/remotes/*/HEAD to point at + the primary branch the remote has, and as .git/HEAD to point at the + branch we locally checked out). + + * A partial rewrite of "git submodule" in the 2.7 timeframe changed + the way the gitdir: pointer in the submodules point at the real + repository location to use absolute paths by accident. This has + been corrected. + + * "git commit" misbehaved in a few minor ways when an empty message + is given via -m '', all of which has been corrected. + + * Support for CRAM-MD5 authentication method in "git imap-send" did + not work well. + + * The socks5:// proxy support added back in 2.6.4 days was not aware + that socks5h:// proxies behave differently. + + * "git config" had a codepath that tried to pass a NULL to + printf("%s"), which nobody seems to have noticed. + + * On Cygwin, object creation uses the "create a temporary and then + rename it to the final name" pattern, not "create a temporary, + hardlink it to the final name and then unlink the temporary" + pattern. + + This is necessary to use Git on Windows shared directories, and is + already enabled for the MinGW and plain Windows builds. It also + has been used in Cygwin packaged versions of Git for quite a while. + See http://thread.gmane.org/gmane.comp.version-control.git/291853 + and http://thread.gmane.org/gmane.comp.version-control.git/275680. + + * "git replace -e" did not honour "core.editor" configuration. + + * Upcoming OpenSSL 1.1.0 will break compilation b updating a few APIs + we use in imap-send, which has been adjusted for the change. + + * "git submodule" reports the paths of submodules the command + recurses into, but this was incorrect when the command was not run + from the root level of the superproject. + +Also contains minor documentation updates and code clean-ups. diff --git a/Documentation/RelNotes/2.9.0.txt b/Documentation/RelNotes/2.9.0.txt new file mode 100644 index 0000000000..2448a7eb7f --- /dev/null +++ b/Documentation/RelNotes/2.9.0.txt @@ -0,0 +1,395 @@ +Git 2.9 Release Notes +===================== + +Backward compatibility note +--------------------------- + +The end-user facing Porcelain level commands in the "git diff" and +"git log" by default enables the rename detection; you can still use +"diff.renames" configuration variable to disable this. + +Merging two branches that have no common ancestor with "git merge" is +by default forbidden now to prevent creating such an unusual merge by +mistake. + +The output formats of "git log" that indents the commit log message by +4 spaces now expands HT in the log message by default. You can use +the "--no-expand-tabs" option to disable this. + +"git commit-tree" plumbing command required the user to always sign +its result when the user sets the commit.gpgsign configuration +variable, which was an ancient mistake, which this release corrects. +A script that drives commit-tree, if it relies on this mistake, now +needs to read commit.gpgsign and pass the -S option as necessary. + + +Updates since v2.8 +------------------ + +UI, Workflows & Features + + * Comes with git-multimail 1.3.1 (in contrib/). + + * The end-user facing Porcelain level commands like "diff" and "log" + now enables the rename detection by default. + + * The credential.helper configuration variable is cumulative and + there is no good way to override it from the command line. As + a special case, giving an empty string as its value now serves + as the signal to clear the values specified in various files. + + * A new "interactive.diffFilter" configuration can be used to + customize the diff shown in "git add -i" session. + + * "git p4" now allows P4 author names to be mapped to Git author + names. + + * "git rebase -x" can be used without passing "-i" option. + + * "git -c credential.<var>=<value> submodule" can now be used to + propagate configuration variables related to credential helper + down to the submodules. + + * "git tag" can create an annotated tag without explicitly given an + "-a" (or "-s") option (i.e. when a tag message is given). A new + configuration variable, tag.forceSignAnnotated, can be used to tell + the command to create signed tag in such a situation. + + * "git merge" used to allow merging two branches that have no common + base by default, which led to a brand new history of an existing + project created and then get pulled by an unsuspecting maintainer, + which allowed an unnecessary parallel history merged into the + existing project. The command has been taught not to allow this by + default, with an escape hatch "--allow-unrelated-histories" option + to be used in a rare event that merges histories of two projects + that started their lives independently. + + * "git pull" has been taught to pass --allow-unrelated-histories + option to underlying "git merge". + + * "git apply -v" learned to report paths in the patch that were + skipped via --include/--exclude mechanism or being outside the + current working directory. + + * Shell completion (in contrib/) updates. + + * The commit object name reported when "rebase -i" stops has been + shortened. + + * "git worktree add" can be given "--no-checkout" option to only + create an empty worktree without checking out the files. + + * "git mergetools" learned to drive ExamDiff. + + * "git pull --rebase" learned "--[no-]autostash" option, so that + the rebase.autostash configuration variable set to true can be + overridden from the command line. + + * When "git log" shows the log message indented by 4-spaces, the + remainder of a line after a HT does not align in the way the author + originally intended. The command now expands tabs by default in + such a case, and allows the users to override it with a new option, + "--no-expand-tabs". + + * "git send-email" now uses a more readable timestamps when + formulating a message ID. + + * "git rerere" can encounter two or more files with the same conflict + signature that have to be resolved in different ways, but there was + no way to record these separate resolutions. + (merge 890fca8 jc/rerere-multi later to maint). + + * "git p4" learned to record P4 jobs in Git commit that imports from + the history in Perforce. + + * "git describe --contains" often made a hard-to-justify choice of + tag to give name to a given commit, because it tried to come up + with a name with smallest number of hops from a tag, causing an old + commit whose close descendant that is recently tagged were not + described with respect to an old tag but with a newer tag. It did + not help that its computation of "hop" count was further tweaked to + penalize being on a side branch of a merge. The logic has been + updated to favor using the tag with the oldest tagger date, which + is a lot easier to explain to the end users: "We describe a commit + in terms of the (chronologically) oldest tag that contains the + commit." + (merge 7550424 js/name-rev-use-oldest-ref later to maint). + + * "git clone" learned "--shallow-submodules" option. + + * HTTP transport clients learned to throw extra HTTP headers at the + server, specified via http.extraHeader configuration variable. + + * Patch output from "git diff" and friends has been tweaked to be + more readable by using a blank line as a strong hint that the + contents before and after it belong to a logically separate unit. + + +Performance, Internal Implementation, Development Support etc. + + * The embedded args argv-array in the child process is used to build + the command line to run pack-objects instead of using a separate + array of strings. + + * A test for tags has been restructured so that more parts of it can + easily be run on a platform without a working GnuPG. + + * The startup_info data, which records if we are working inside a + repository (among other things), are now uniformly available to Git + subcommand implementations, and Git avoids attempting to touch + references when we are not in a repository. + + * The command line argument parser for "receive-pack" has been + rewritten to use parse-options. + + * A major part of "git submodule update" has been ported to C to take + advantage of the recently added framework to run download tasks in + parallel. + + * Rename bunch of tests on "git clone" for better organization. + + * The tests that involve running httpd leaked the system-wide + configuration in /etc/gitconfig to the tested environment. + + * Build updates for MSVC. + + * The repository set-up sequence has been streamlined (the biggest + change is that there is no longer git_config_early()), so that we + do not attempt to look into refs/* when we know we do not have a + Git repository. + + * Code restructuring around the "refs" area to prepare for pluggable + refs backends. + + * Sources to many test helper binaries (and the generated helpers) + have been moved to t/helper/ subdirectory to reduce clutter at the + top level of the tree. + + Note that this can break your tests if you check out revisions + across the merge boundary of this topic, e0b58519 (Merge branch + 'nd/test-helpers', 2016-04-29), as bin-wrappers/test-* are not + rebuilt to point the underlying executables. For now, "make + distclean" is your friend. + + * Unify internal logic between "git tag -v" and "git verify-tag" + commands by making one directly call into the other. + (merge bef234b st/verify-tag later to maint). + + * "merge-recursive" strategy incorrectly checked if a path that is + involved in its internal merge exists in the working tree. + + * The test scripts for "git p4" (but not "git p4" implementation + itself) has been updated so that they would work even on a system + where the installed version of Python is python 3. + (merge 1fb3fb4 ld/p4-test-py3 later to maint). + + * As nobody maintains our in-tree git.spec.in and distros use their + own spec file, we stopped pretending that we support "make rpm". + + * Move from unsigned char[20] to struct object_id continues. + + +Also contains various documentation updates and code clean-ups. + + +Fixes since v2.8 +---------------- + +Unless otherwise noted, all the fixes since v2.8 in the maintenance +track are contained in this release (see the maintenance releases' +notes for details). + + * "git config --get-urlmatch", unlike other variants of the "git + config --get" family, did not signal error with its exit status + when there was no matching configuration. + + * The "--local-env-vars" and "--resolve-git-dir" options of "git + rev-parse" failed to work outside a repository when the command's + option parsing was rewritten in 1.8.5 era. + + * "git index-pack --keep[=<msg>] pack-$name.pack" simply did not work. + + * Fetching of history by naming a commit object name directly didn't + work across remote-curl transport. + + * A small memory leak in an error codepath has been plugged in xdiff + code. + + * strbuf_getwholeline() did not NUL-terminate the buffer on certain + corner cases in its error codepath. + + * "git mergetool" did not work well with conflicts that both sides + deleted. + + * "git send-email" had trouble parsing alias file in mailrc format + when lines in it had trailing whitespaces on them. + + * When "git merge --squash" stopped due to conflict, the concluding + "git commit" failed to read in the SQUASH_MSG that shows the log + messages from all the squashed commits. + + * "git merge FETCH_HEAD" dereferenced NULL pointer when merging + nothing into an unborn history (which is arguably unusual usage, + which perhaps was the reason why nobody noticed it). + + * When "git worktree" feature is in use, "git branch -d" allowed + deletion of a branch that is checked out in another worktree, + which was wrong. + + * When "git worktree" feature is in use, "git branch -m" renamed a + branch that is checked out in another worktree without adjusting + the HEAD symbolic ref for the worktree. + + * "git diff -M" used to work better when two originally identical + files A and B got renamed to X/A and X/B by pairing A to X/A and B + to X/B, but this was broken in the 2.0 timeframe. + + * "git send-pack --all <there>" was broken when its command line + option parsing was written in the 2.6 timeframe. + + * "git format-patch --help" showed `-s` and `--no-patch` as if these + are valid options to the command. We already hide `--patch` option + from the documentation, because format-patch is about showing the + diff, and the documentation now hides these options as well. + + * When running "git blame $path" with unnormalized data in the index + for the path, the data in the working tree was blamed, even though + "git add" would not have changed what is already in the index, due + to "safe crlf" that disables the line-end conversion. It has been + corrected. + + * A change back in version 2.7 to "git branch" broke display of a + symbolic ref in a non-standard place in the refs/ hierarchy (we + expect symbolic refs to appear in refs/remotes/*/HEAD to point at + the primary branch the remote has, and as .git/HEAD to point at the + branch we locally checked out). + + * A partial rewrite of "git submodule" in the 2.7 timeframe changed + the way the gitdir: pointer in the submodules point at the real + repository location to use absolute paths by accident. This has + been corrected. + + * "git commit" misbehaved in a few minor ways when an empty message + is given via -m '', all of which has been corrected. + + * Support for CRAM-MD5 authentication method in "git imap-send" did + not work well. + + * Upcoming OpenSSL 1.1.0 will break compilation b updating a few APIs + we use in imap-send, which has been adjusted for the change. + (merge 1245c74 ky/imap-send-openssl-1.1.0 later to maint). + + * The socks5:// proxy support added back in 2.6.4 days was not aware + that socks5h:// proxies behave differently. + + * "git config" had a codepath that tried to pass a NULL to + printf("%s"), which nobody seems to have noticed. + + * On Cygwin, object creation uses the "create a temporary and then + rename it to the final name" pattern, not "create a temporary, + hardlink it to the final name and then unlink the temporary" + pattern. + + This is necessary to use Git on Windows shared directories, and is + already enabled for the MinGW and plain Windows builds. It also + has been used in Cygwin packaged versions of Git for quite a while. + See http://thread.gmane.org/gmane.comp.version-control.git/291853 + + * "merge-octopus" strategy did not ensure that the index is clean + when merge begins. + + * When "git merge" notices that the merge can be resolved purely at + the tree level (without having to merge blobs) and the resulting + tree happens to already exist in the object store, it forgot to + update the index, which lead to an inconsistent state for later + operations. + + * "git submodule" reports the paths of submodules the command + recurses into, but this was incorrect when the command was not run + from the root level of the superproject. + (merge 2ab5660 sb/submodule-path-misc-bugs later to maint). + + * The "user.useConfigOnly" configuration variable makes it an error + if users do not explicitly set user.name and user.email. However, + its check was not done early enough and allowed another error to + trigger, reporting that the default value we guessed from the + system setting was unusable. This was a suboptimal end-user + experience as we want the users to set user.name/user.email without + relying on the auto-detection at all. + (merge d3c06c1 da/user-useconfigonly later to maint). + + * "git mv old new" did not adjust the path for a submodule that lives + as a subdirectory inside old/ directory correctly. + (merge a127331 sb/mv-submodule-fix later to maint). + + * "git replace -e" did not honour "core.editor" configuration. + (merge 36b1437 js/replace-edit-use-editor-configuration later to maint). + + * "git push" from a corrupt repository that attempts to push a large + number of refs deadlocked; the thread to relay rejection notices + for these ref updates blocked on writing them to the main thread, + after the main thread at the receiving end notices that the push + failed and decides not to read these notices and return a failure. + (merge f924b52a jk/push-client-deadlock-fix later to maint). + + * mmap emulation on Windows has been optimized and work better without + consuming paging store when not needed. + (merge d5425d1 js/win32-mmap later to maint). + + * A question by "git send-email" to ask the identity of the sender + has been updated. + (merge 0d6b21e jd/send-email-to-whom later to maint). + + * UI consistency improvements for "git mergetool". + (merge cce076e nf/mergetool-prompt later to maint). + + * "git rebase -m" could be asked to rebase an entire branch starting + from the root, but failed by assuming that there always is a parent + commit to the first commit on the branch. + (merge 79f4344 bw/rebase-merge-entire-branch later to maint). + + * Fix a broken "p4 lfs" test. + (merge 9e220fe ls/p4-lfs-test-fix-2.7.0 later to maint). + + * Recent update to Git LFS broke "git p4" by changing the output from + its "lfs pointer" subcommand. + (merge 82f2567 ls/p4-lfs later to maint). + + * "git fetch" test t5510 was flaky while running a (forced) automagic + garbage collection. + (merge bb05510 js/close-packs-before-gc later to maint). + + * Documentation updates to help contributors setting up Travis CI + test for their patches. + (merge 0e5d028 ls/travis-submitting-patches later to maint). + + * Some multi-byte encoding can have a backslash byte as a later part + of one letter, which would confuse "highlight" filter used in + gitweb. + (merge 029f372 sk/gitweb-highlight-encoding later to maint). + + * "git commit-tree" plumbing command required the user to always sign + its result when the user sets the commit.gpgsign configuration + variable, which was an ancient mistake. Rework "git rebase" that + relied on this mistake so that it reads commit.gpgsign and pass (or + not pass) the -S option to "git commit-tree" to keep the end-user + expectation the same, while teaching "git commit-tree" to ignore + the configuration variable. This will stop requiring the users to + sign commit objects used internally as an implementation detail of + "git stash". + (merge 6694856 jc/commit-tree-ignore-commit-gpgsign later to maint). + + + * Other minor clean-ups and documentation updates + (merge 8b5a3e9 kn/for-each-tag-branch later to maint). + (merge 99dab16 sb/misc-cleanups later to maint). + (merge 7a6a44c cc/apply later to maint). + (merge 6594883 nd/remove-unused later to maint). + (merge 0ff7410 sg/test-lib-simplify-expr-away later to maint). + (merge 060e776 jk/fix-attribute-macro-in-2.5 later to maint). + (merge d16df0c rt/string-list-lookup-cleanup later to maint). + (merge 376eb60 sb/config-exit-status-list later to maint). + (merge 9cea46c ew/doc-split-pack-disables-bitmap later to maint). + (merge fa72245 ew/normal-to-e later to maint). + (merge 2e39a24 rn/glossary-typofix later to maint). + (merge cadfbef sb/clean-test-fix later to maint). diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches index 98fc4cc1d0..e8ad978824 100644 --- a/Documentation/SubmittingPatches +++ b/Documentation/SubmittingPatches @@ -61,23 +61,28 @@ Make sure that you have tests for the bug you are fixing. See t/README for guidance. When adding a new feature, make sure that you have new tests to show -the feature triggers the new behaviour when it should, and to show the -feature does not trigger when it shouldn't. Also make sure that the -test suite passes after your commit. Do not forget to update the -documentation to describe the updated behaviour. - -Speaking of the documentation, it is currently a liberal mixture of US -and UK English norms for spelling and grammar, which is somewhat -unfortunate. A huge patch that touches the files all over the place -only to correct the inconsistency is not welcome, though. Potential -clashes with other changes that can result from such a patch are not -worth it. We prefer to gradually reconcile the inconsistencies in -favor of US English, with small and easily digestible patches, as a -side effect of doing some other real work in the vicinity (e.g. -rewriting a paragraph for clarity, while turning en_UK spelling to -en_US). Obvious typographical fixes are much more welcomed ("teh -> -"the"), preferably submitted as independent patches separate from -other documentation changes. +the feature triggers the new behavior when it should, and to show the +feature does not trigger when it shouldn't. After any code change, make +sure that the entire test suite passes. + +If you have an account at GitHub (and you can get one for free to work +on open source projects), you can use their Travis CI integration to +test your changes on Linux, Mac (and hopefully soon Windows). See +GitHub-Travis CI hints section for details. + +Do not forget to update the documentation to describe the updated +behavior and make sure that the resulting documentation set formats +well. It is currently a liberal mixture of US and UK English norms for +spelling and grammar, which is somewhat unfortunate. A huge patch that +touches the files all over the place only to correct the inconsistency +is not welcome, though. Potential clashes with other changes that can +result from such a patch are not worth it. We prefer to gradually +reconcile the inconsistencies in favor of US English, with small and +easily digestible patches, as a side effect of doing some other real +work in the vicinity (e.g. rewriting a paragraph for clarity, while +turning en_UK spelling to en_US). Obvious typographical fixes are much +more welcomed ("teh -> "the"), preferably submitted as independent +patches separate from other documentation changes. Oh, another thing. We are picky about whitespaces. Make sure your changes do not trigger errors with the sample pre-commit hook shipped @@ -370,6 +375,47 @@ Know the status of your patch after submission entitled "What's cooking in git.git" and "What's in git.git" giving the status of various proposed changes. +-------------------------------------------------- +GitHub-Travis CI hints + +With an account at GitHub (you can get one for free to work on open +source projects), you can use Travis CI to test your changes on Linux, +Mac (and hopefully soon Windows). You can find a successful example +test build here: https://travis-ci.org/git/git/builds/120473209 + +Follow these steps for the initial setup: + + (1) Fork https://github.com/git/git to your GitHub account. + You can find detailed instructions how to fork here: + https://help.github.com/articles/fork-a-repo/ + + (2) Open the Travis CI website: https://travis-ci.org + + (3) Press the "Sign in with GitHub" button. + + (4) Grant Travis CI permissions to access your GitHub account. + You can find more information about the required permissions here: + https://docs.travis-ci.com/user/github-oauth-scopes + + (5) Open your Travis CI profile page: https://travis-ci.org/profile + + (6) Enable Travis CI builds for your Git fork. + +After the initial setup, Travis CI will run whenever you push new changes +to your fork of Git on GitHub. You can monitor the test state of all your +branches here: https://travis-ci.org/<Your GitHub handle>/git/branches + +If a branch did not pass all test cases then it is marked with a red +cross. In that case you can click on the failing Travis CI job and +scroll all the way down in the log. Find the line "<-- Click here to see +detailed test output!" and click on the triangle next to the log line +number to expand the detailed test output. Here is such a failing +example: https://travis-ci.org/git/git/jobs/122676187 + +Fix the problem and push your fix to your Git fork. This will trigger +a new Travis CI build to ensure all tests pass. + + ------------------------------------------------ MUA specific hints diff --git a/Documentation/config.txt b/Documentation/config.txt index 2cd6bdd7d2..e718410350 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -81,13 +81,16 @@ Includes You can include one config file from another by setting the special `include.path` variable to the name of the file to be included. The +variable takes a pathname as its value, and is subject to tilde +expansion. + +The included file is expanded immediately, as if its contents had been found at the location of the include directive. If the value of the `include.path` variable is a relative path, the path is considered to be relative to the configuration file in which the include directive was -found. The value of `include.path` is subject to tilde expansion: `~/` -is expanded to the value of `$HOME`, and `~user/` to the specified -user's home directory. See below for examples. +found. See below for examples. + Example ~~~~~~~ @@ -114,7 +117,7 @@ Example [include] path = /path/to/foo.inc ; include by absolute path path = foo ; expand "foo" relative to the current file - path = ~/foo ; expand "foo" in your $HOME directory + path = ~/foo ; expand "foo" in your `$HOME` directory Values @@ -169,6 +172,13 @@ thing on the same output line (e.g. opening parenthesis before the list of branch names in `log --decorate` output) is set to be painted with `bold` or some other attribute. +pathname:: + A variable that takes a pathname value can be given a + string that begins with "`~/`" or "`~user/`", and the usual + tilde expansion happens to such a string: `~/` + is expanded to the value of `$HOME`, and `~user/` to the + specified user's home directory. + Variables ~~~~~~~~~ @@ -486,10 +496,10 @@ repository's usual working tree). core.logAllRefUpdates:: Enable the reflog. Updates to a ref <ref> is logged to the file - "$GIT_DIR/logs/<ref>", by appending the new and old + "`$GIT_DIR/logs/<ref>`", by appending the new and old SHA-1, the date/time and the reason of the update, but only when the file exists. If this configuration - variable is set to true, missing "$GIT_DIR/logs/<ref>" + variable is set to true, missing "`$GIT_DIR/logs/<ref>`" file is automatically created for branch heads (i.e. under refs/heads/), remote refs (i.e. under refs/remotes/), note refs (i.e. under refs/notes/), and the symbolic ref HEAD. @@ -593,12 +603,11 @@ be delta compressed, but larger binary media files won't be. Common unit suffixes of 'k', 'm', or 'g' are supported. core.excludesFile:: - In addition to '.gitignore' (per-directory) and - '.git/info/exclude', Git looks into this file for patterns - of files which are not meant to be tracked. "`~/`" is expanded - to the value of `$HOME` and "`~user/`" to the specified user's - home directory. Its default value is $XDG_CONFIG_HOME/git/ignore. - If $XDG_CONFIG_HOME is either not set or empty, $HOME/.config/git/ignore + Specifies the pathname to the file that contains patterns to + describe paths that are not meant to be tracked, in addition + to '.gitignore' (per-directory) and '.git/info/exclude'. + Defaults to `$XDG_CONFIG_HOME/git/ignore`. + If `$XDG_CONFIG_HOME` is either not set or empty, `$HOME/.config/git/ignore` is used instead. See linkgit:gitignore[5]. core.askPass:: @@ -615,8 +624,25 @@ core.attributesFile:: '.git/info/attributes', Git looks into this file for attributes (see linkgit:gitattributes[5]). Path expansions are made the same way as for `core.excludesFile`. Its default value is - $XDG_CONFIG_HOME/git/attributes. If $XDG_CONFIG_HOME is either not - set or empty, $HOME/.config/git/attributes is used instead. + `$XDG_CONFIG_HOME/git/attributes`. If `$XDG_CONFIG_HOME` is either not + set or empty, `$HOME/.config/git/attributes` is used instead. + +core.hooksPath:: + By default Git will look for your hooks in the + '$GIT_DIR/hooks' directory. Set this to different path, + e.g. '/etc/git/hooks', and Git will try to find your hooks in + that directory, e.g. '/etc/git/hooks/pre-receive' instead of + in '$GIT_DIR/hooks/pre-receive'. ++ +The path can be either absolute or relative. A relative path is +taken as relative to the directory where the hooks are run (see +the "DESCRIPTION" section of linkgit:githooks[5]). ++ +This configuration variable is useful in cases where you'd like to +centrally configure your Git hooks instead of configuring them on a +per-repository basis, or as a more flexible and centralized +alternative to having an `init.templateDir` where you've changed +default hooks. core.editor:: Commands such as `commit` and `tag` that lets you edit @@ -1106,15 +1132,15 @@ commit.status:: message. Defaults to true. commit.template:: - Specify a file to use as the template for new commit messages. - "`~/`" is expanded to the value of `$HOME` and "`~user/`" to the - specified user's home directory. + Specify the pathname of a file to use as the template for + new commit messages. credential.helper:: Specify an external helper to be called when a username or password credential is needed; the helper may consult external - storage to avoid prompting the user for the credentials. See - linkgit:gitcredentials[7] for details. + storage to avoid prompting the user for the credentials. Note + that multiple helpers may be defined. See linkgit:gitcredentials[7] + for details. credential.useHttpPath:: When acquiring credentials, consider the "path" component of an http @@ -1334,7 +1360,7 @@ gc.worktreePruneExpire:: 'git worktree prune --expire 3.months.ago'. This config variable can be used to set a different grace period. The value "now" may be used to disable the grace - period and prune $GIT_DIR/worktrees immediately, or "never" + period and prune `$GIT_DIR/worktrees` immediately, or "never" may be used to suppress pruning. gc.reflogExpire:: @@ -1474,13 +1500,13 @@ grep.fallbackToNoIndex:: is executed outside of a git repository. Defaults to false. gpg.program:: - Use this custom program instead of "gpg" found on $PATH when + Use this custom program instead of "`gpg`" found on `$PATH` when making or verifying a PGP signature. The program must support the same command-line interface as GPG, namely, to verify a detached - signature, "gpg --verify $file - <$signature" is run, and the + signature, "`gpg --verify $file - <$signature`" is run, and the program is expected to signal a good signature by exiting with code 0, and to generate an ASCII-armored detached signature, the - standard input of "gpg -bsau $key" is fed with the contents to be + standard input of "`gpg -bsau $key`" is fed with the contents to be signed, and the program is expected to send the result to its standard output. @@ -1654,12 +1680,19 @@ http.emptyAuth:: a username in the URL, as libcurl normally requires a username for authentication. +http.extraHeader:: + Pass an additional HTTP header when communicating with a server. If + more than one such entry exists, all of them are added as extra + headers. To allow overriding the settings inherited from the system + config, an empty value will reset the extra headers to the empty list. + http.cookieFile:: - File containing previously stored cookie lines which should be used + The pathname of a file containing previously stored cookie lines, + which should be used in the Git http session, if they match the server. The file format of the file to read cookies from should be plain HTTP headers or the Netscape/Mozilla cookie file format (see linkgit:curl[1]). - NOTE that the file specified with http.cookieFile is only used as + NOTE that the file specified with http.cookieFile is used only as input unless http.saveCookies is set. http.saveCookies:: @@ -1886,6 +1919,14 @@ interactive.singleKey:: setting is silently ignored if portable keystroke input is not available; requires the Perl module Term::ReadKey. +interactive.diffFilter:: + When an interactive command (such as `git add --patch`) shows + a colorized diff, git will pipe the diff through the shell + command defined by this configuration variable. The command may + mark up the diff further for human consumption, provided that it + retains a one-to-one correspondence with the lines in the + original diff. Defaults to disabled (no filtering). + log.abbrevCommit:: If true, makes linkgit:git-log[1], linkgit:git-show[1], and linkgit:git-whatchanged[1] assume `--abbrev-commit`. You may @@ -2147,8 +2188,11 @@ pack.packSizeLimit:: The maximum size of a pack. This setting only affects packing to a file when repacking, i.e. the git:// protocol is unaffected. It can be overridden by the `--max-pack-size` - option of linkgit:git-repack[1]. The minimum size allowed is - limited to 1 MiB. The default is unlimited. + option of linkgit:git-repack[1]. Reaching this limit results + in the creation of multiple packfiles; which in turn prevents + bitmaps from being created. + The minimum size allowed is limited to 1 MiB. + The default is unlimited. Common unit suffixes of 'k', 'm', or 'g' are supported. @@ -2548,8 +2592,9 @@ repack.writeBitmaps:: objects to disk (e.g., when `git repack -a` is run). This index can speed up the "counting objects" phase of subsequent packs created for clones and fetches, at the cost of some disk - space and extra time spent on the initial repack. Defaults to - false. + space and extra time spent on the initial repack. This has + no effect if multiple packfiles are created. + Defaults to false. rerere.autoUpdate:: When set to true, `git-rerere` updates the index with the @@ -2729,6 +2774,17 @@ submodule.<name>.ignore:: "--ignore-submodules" option. The 'git submodule' commands are not affected by this setting. +submodule.fetchJobs:: + Specifies how many submodules are fetched/cloned at the same time. + A positive integer allows up to that number of submodules fetched + in parallel. A value of 0 will give some reasonable default. + If unset, it defaults to 1. + +tag.forceSignAnnotated:: + A boolean to specify whether annotated tags created should be GPG signed. + If `--annotate` is specified on the command line, it takes + precedence over this option. + tag.sort:: This variable controls the sort ordering of tags when displayed by linkgit:git-tag[1]. Without the "--sort=<value>" option provided, the diff --git a/Documentation/diff-config.txt b/Documentation/diff-config.txt index 6eaa45271c..edba56522b 100644 --- a/Documentation/diff-config.txt +++ b/Documentation/diff-config.txt @@ -108,9 +108,13 @@ diff.renameLimit:: detection; equivalent to the 'git diff' option '-l'. diff.renames:: - Tells Git to detect renames. If set to any boolean value, it - will enable basic rename detection. If set to "copies" or - "copy", it will detect copies, as well. + Whether and how Git detects renames. If set to "false", + rename detection is disabled. If set to "true", basic rename + detection is enabled. If set to "copies" or "copy", Git will + detect copies, as well. Defaults to true. Note that this + affects only 'git diff' Porcelain like linkgit:git-diff[1] and + linkgit:git-log[1], and not lower level commands such as + linkgit:git-diff-files[1]. diff.suppressBlankEmpty:: A boolean to inhibit the standard behavior of printing a space diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt index 306b7e3604..4b0318e2ac 100644 --- a/Documentation/diff-options.txt +++ b/Documentation/diff-options.txt @@ -26,12 +26,12 @@ ifndef::git-format-patch[] ifdef::git-diff[] This is the default. endif::git-diff[] -endif::git-format-patch[] -s:: --no-patch:: Suppress diff output. Useful for commands like `git show` that show the patch by default, or to cancel the effect of `--patch`. +endif::git-format-patch[] -U<n>:: --unified=<n>:: @@ -286,8 +286,8 @@ endif::git-format-patch[] ifndef::git-format-patch[] --check:: - Warn if changes introduce whitespace errors. What are - considered whitespace errors is controlled by `core.whitespace` + Warn if changes introduce conflict markers or whitespace errors. + What are considered whitespace errors is controlled by `core.whitespace` configuration. By default, trailing whitespaces (including lines that solely consist of whitespaces) and a space character that is immediately followed by a tab character inside the diff --git a/Documentation/git-apply.txt b/Documentation/git-apply.txt index d9ed6a1a4e..8ddb207409 100644 --- a/Documentation/git-apply.txt +++ b/Documentation/git-apply.txt @@ -13,7 +13,7 @@ SYNOPSIS [--apply] [--no-add] [--build-fake-ancestor=<file>] [-R | --reverse] [--allow-binary-replacement | --binary] [--reject] [-z] [-p<n>] [-C<n>] [--inaccurate-eof] [--recount] [--cached] - [--ignore-space-change | --ignore-whitespace ] + [--ignore-space-change | --ignore-whitespace] [--whitespace=(nowarn|warn|fix|error|error-all)] [--exclude=<path>] [--include=<path>] [--directory=<root>] [--verbose] [--unsafe-paths] [<patch>...] @@ -21,6 +21,8 @@ SYNOPSIS DESCRIPTION ----------- Reads the supplied diff output (i.e. "a patch") and applies it to files. +When running from a subdirectory in a repository, patched paths +outside the directory are ignored. With the `--index` option the patch is also applied to the index, and with the `--cached` option the patch is only applied to the index. Without these options, the command applies the patch only to files, diff --git a/Documentation/git-check-ignore.txt b/Documentation/git-check-ignore.txt index f60ee051f8..e94367a5ed 100644 --- a/Documentation/git-check-ignore.txt +++ b/Documentation/git-check-ignore.txt @@ -114,7 +114,6 @@ SEE ALSO linkgit:gitignore[5] linkgit:gitconfig[5] linkgit:git-ls-files[1] -GIT_TRACE_EXCLUDE in linkgit:git[1] GIT --- diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt index b7c467a001..1b15cd7b16 100644 --- a/Documentation/git-clone.txt +++ b/Documentation/git-clone.txt @@ -14,8 +14,8 @@ SYNOPSIS [-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>] [--dissociate] [--separate-git-dir <git dir>] [--depth <depth>] [--[no-]single-branch] - [--recursive | --recurse-submodules] [--] <repository> - [<directory>] + [--recursive | --recurse-submodules] [--[no-]shallow-submodules] + [--jobs <n>] [--] <repository> [<directory>] DESCRIPTION ----------- @@ -191,7 +191,9 @@ objects from the source repository into a pack in the cloned repository. Create a 'shallow' clone with a history truncated to the specified number of commits. Implies `--single-branch` unless `--no-single-branch` is given to fetch the histories near the - tips of all branches. + tips of all branches. This implies `--shallow-submodules`. If + you want to have a shallow superproject clone, but full submodules, + also pass `--no-shallow-submodules`. --[no-]single-branch:: Clone only the history leading to the tip of a single branch, @@ -212,6 +214,9 @@ objects from the source repository into a pack in the cloned repository. repository does not have a worktree/checkout (i.e. if any of `--no-checkout`/`-n`, `--bare`, or `--mirror` is given) +--[no-]shallow-submodules:: + All submodules which are cloned will be shallow with a depth of 1. + --separate-git-dir=<git dir>:: Instead of placing the cloned repository where it is supposed to be, place the cloned repository at the specified directory, @@ -219,6 +224,10 @@ objects from the source repository into a pack in the cloned repository. The result is Git repository can be separated from working tree. +-j <n>:: +--jobs <n>:: + The number of submodules fetched at the same time. + Defaults to the `submodule.fetchJobs` option. <repository>:: The (possibly remote) repository to clone from. See the diff --git a/Documentation/git-commit-tree.txt b/Documentation/git-commit-tree.txt index 48c33d7ed7..cb69faab68 100644 --- a/Documentation/git-commit-tree.txt +++ b/Documentation/git-commit-tree.txt @@ -61,8 +61,8 @@ OPTIONS stuck to the option without a space. --no-gpg-sign:: - Countermand `commit.gpgSign` configuration variable that is - set to force each and every commit to be signed. + Do not GPG-sign commit, to countermand a `--gpg-sign` option + given earlier on the command line. Commit Information diff --git a/Documentation/git-config.txt b/Documentation/git-config.txt index 242fa5d1bb..6843114fc0 100644 --- a/Documentation/git-config.txt +++ b/Documentation/git-config.txt @@ -9,18 +9,18 @@ git-config - Get and set repository or global options SYNOPSIS -------- [verse] -'git config' [<file-option>] [type] [-z|--null] name [value [value_regex]] +'git config' [<file-option>] [type] [--show-origin] [-z|--null] name [value [value_regex]] 'git config' [<file-option>] [type] --add name value 'git config' [<file-option>] [type] --replace-all name value [value_regex] -'git config' [<file-option>] [type] [-z|--null] --get name [value_regex] -'git config' [<file-option>] [type] [-z|--null] --get-all name [value_regex] -'git config' [<file-option>] [type] [-z|--null] [--name-only] --get-regexp name_regex [value_regex] +'git config' [<file-option>] [type] [--show-origin] [-z|--null] --get name [value_regex] +'git config' [<file-option>] [type] [--show-origin] [-z|--null] --get-all name [value_regex] +'git config' [<file-option>] [type] [--show-origin] [-z|--null] [--name-only] --get-regexp name_regex [value_regex] 'git config' [<file-option>] [type] [-z|--null] --get-urlmatch name URL 'git config' [<file-option>] --unset name [value_regex] 'git config' [<file-option>] --unset-all name [value_regex] 'git config' [<file-option>] --rename-section old_name new_name 'git config' [<file-option>] --remove-section name -'git config' [<file-option>] [-z|--null] [--name-only] -l | --list +'git config' [<file-option>] [--show-origin] [-z|--null] [--name-only] -l | --list 'git config' [<file-option>] --get-color name [default] 'git config' [<file-option>] --get-colorbool name [stdout-is-tty] 'git config' [<file-option>] -e | --edit @@ -58,13 +58,13 @@ that location (you can say '--local' but that is the default). This command will fail with non-zero status upon error. Some exit codes are: -. The config file is invalid (ret=3), -. can not write to the config file (ret=4), -. no section or name was provided (ret=2), -. the section or key is invalid (ret=1), -. you try to unset an option which does not exist (ret=5), -. you try to unset/set an option for which multiple lines match (ret=5), or -. you try to use an invalid regexp (ret=6). +- The section or key is invalid (ret=1), +- no section or name was provided (ret=2), +- the config file is invalid (ret=3), +- the config file cannot be written (ret=4), +- you try to unset an option which does not exist (ret=5), +- you try to unset/set an option for which multiple lines match (ret=5), or +- you try to use an invalid regexp (ret=6). On success, the command returns the exit code 0. @@ -86,8 +86,7 @@ OPTIONS found and the last value if multiple key values were found. --get-all:: - Like get, but does not fail if the number of values for the key - is not exactly one. + Like get, but returns all values for a multi-valued key. --get-regexp:: Like --get-all, but interprets the name as a regular expression and @@ -102,7 +101,7 @@ OPTIONS given URL is returned (if no such key exists, the value for section.key is used as a fallback). When given just the section as name, do so for all the keys in the section and - list them. + list them. Returns error code 1 if no value is found. --global:: For writing options: write to global `~/.gitconfig` file @@ -194,6 +193,12 @@ See also <<FILES>>. Output only the names of config variables for `--list` or `--get-regexp`. +--show-origin:: + Augment the output of all queried config options with the + origin type (file, standard input, blob, command line) and + the actual origin (config file path, ref, or blob id if + applicable). + --get-colorbool name [stdout-is-tty]:: Find the color setting for `name` (e.g. `color.diff`) and output diff --git a/Documentation/git-credential-cache.txt b/Documentation/git-credential-cache.txt index 89b730632d..96208f822e 100644 --- a/Documentation/git-credential-cache.txt +++ b/Documentation/git-credential-cache.txt @@ -36,7 +36,7 @@ OPTIONS cache daemon if one is not started). Defaults to `~/.git-credential-cache/socket`. If your home directory is on a network-mounted filesystem, you may need to change this to a - local filesystem. + local filesystem. You must specify an absolute path. CONTROLLING THE DAEMON ---------------------- diff --git a/Documentation/git-fetch-pack.txt b/Documentation/git-fetch-pack.txt index 8680f45f8d..239623cc24 100644 --- a/Documentation/git-fetch-pack.txt +++ b/Documentation/git-fetch-pack.txt @@ -104,6 +104,10 @@ be in a separate packet, and the list must end with a flush packet. The remote heads to update from. This is relative to $GIT_DIR (e.g. "HEAD", "refs/heads/master"). When unspecified, update from all heads the remote side has. ++ +If the remote has enabled the options `uploadpack.allowTipSHA1InWant` or +`uploadpack.allowReachableSHA1InWant`, they may alternatively be 40-hex +sha1s present on the remote. SEE ALSO -------- diff --git a/Documentation/git-for-each-ref.txt b/Documentation/git-for-each-ref.txt index 2e3e96f663..c52578bb87 100644 --- a/Documentation/git-for-each-ref.txt +++ b/Documentation/git-for-each-ref.txt @@ -76,7 +76,7 @@ OPTIONS specified commit (HEAD if not specified). --contains [<object>]:: - Only list tags which contain the specified commit (HEAD if not + Only list refs which contain the specified commit (HEAD if not specified). FIELD NAMES @@ -133,14 +133,18 @@ color:: align:: Left-, middle-, or right-align the content between - %(align:...) and %(end). The "align:" is followed by `<width>` - and `<position>` in any order separated by a comma, where the - `<position>` is either left, right or middle, default being - left and `<width>` is the total length of the content with - alignment. If the contents length is more than the width then - no alignment is performed. If used with '--quote' everything - in between %(align:...) and %(end) is quoted, but if nested - then only the topmost level performs quoting. + %(align:...) and %(end). The "align:" is followed by + `width=<width>` and `position=<position>` in any order + separated by a comma, where the `<position>` is either left, + right or middle, default being left and `<width>` is the total + length of the content with alignment. For brevity, the + "width=" and/or "position=" prefixes may be omitted, and bare + <width> and <position> used instead. For instance, + `%(align:<width>,<position>)`. If the contents length is more + than the width then no alignment is performed. If used with + '--quote' everything in between %(align:...) and %(end) is + quoted, but if nested then only the topmost level performs + quoting. In addition to the above, for commit and tag objects, the header field names (`tree`, `parent`, `object`, `type`, and `tag`) can diff --git a/Documentation/git-init.txt b/Documentation/git-init.txt index 8174d27efd..6364e5dc45 100644 --- a/Documentation/git-init.txt +++ b/Documentation/git-init.txt @@ -130,7 +130,12 @@ The template directory will be one of the following (in order): - the default template directory: `/usr/share/git-core/templates`. The default template directory includes some directory structure, suggested -"exclude patterns" (see linkgit:gitignore[5]), and sample hook files (see linkgit:githooks[5]). +"exclude patterns" (see linkgit:gitignore[5]), and sample hook files. + +The sample hooks are all disabled by default, To enable one of the +sample hooks rename it by removing its `.sample` suffix. + +See linkgit:githooks[5] for more general info on hook execution. EXAMPLES -------- diff --git a/Documentation/git-ls-files.txt b/Documentation/git-ls-files.txt index 0e08f567a1..75c3f4157d 100644 --- a/Documentation/git-ls-files.txt +++ b/Documentation/git-ls-files.txt @@ -155,7 +155,7 @@ a space) at the start of each line: <eolinfo> is either "-text", "none", "lf", "crlf", "mixed" or "". + "" means the file is not a regular file, it is not in the index or -not accessable in the working tree. +not accessible in the working tree. + <eolattr> is the attribute that is used when checking out or committing, it is either "", "-text", "text", "text=auto", "text eol=lf", "text eol=crlf". diff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt index 07f7295ec8..b758d5556c 100644 --- a/Documentation/git-merge.txt +++ b/Documentation/git-merge.txt @@ -11,6 +11,7 @@ SYNOPSIS [verse] 'git merge' [-n] [--stat] [--no-commit] [--squash] [--[no-]edit] [-s <strategy>] [-X <strategy-option>] [-S[<keyid>]] + [--[no-]allow-unrelated-histories] [--[no-]rerere-autoupdate] [-m <msg>] [<commit>...] 'git merge' <msg> HEAD <commit>... 'git merge' --abort diff --git a/Documentation/git-p4.txt b/Documentation/git-p4.txt index 738cfde10c..88ba42b455 100644 --- a/Documentation/git-p4.txt +++ b/Documentation/git-p4.txt @@ -515,20 +515,18 @@ git-p4.pathEncoding:: Git expects paths encoded as UTF-8. Use this config to tell git-p4 what encoding Perforce had used for the paths. This encoding is used to transcode the paths to UTF-8. As an example, Perforce on Windows - often uses βcp1252β to encode path names. + often uses "cp1252" to encode path names. git-p4.largeFileSystem:: Specify the system that is used for large (binary) files. Please note that large file systems do not support the 'git p4 submit' command. - Only Git LFS [1] is implemented right now. Download - and install the Git LFS command line extension to use this option - and configure it like this: + Only Git LFS is implemented right now (see https://git-lfs.github.com/ + for more information). Download and install the Git LFS command line + extension to use this option and configure it like this: + ------------- git config git-p4.largeFileSystem GitLFS ------------- -+ - [1] https://git-lfs.github.com/ git-p4.largeFileExtensions:: All files matching a file extension in the list will be processed @@ -553,6 +551,17 @@ git-p4.keepEmptyCommits:: A changelist that contains only excluded files will be imported as an empty commit if this boolean option is set to true. +git-p4.mapUser:: + Map a P4 user to a name and email address in Git. Use a string + with the following format to create a mapping: ++ +------------- +git config --add git-p4.mapUser "p4user = First Last <mail@address.com>" +------------- ++ +A mapping will override any user information from P4. Mappings for +multiple P4 user can be defined. + Submit variables ~~~~~~~~~~~~~~~~ git-p4.detectRenames:: diff --git a/Documentation/git-pack-objects.txt b/Documentation/git-pack-objects.txt index bbea5294ca..19cdcd0341 100644 --- a/Documentation/git-pack-objects.txt +++ b/Documentation/git-pack-objects.txt @@ -110,7 +110,8 @@ base-name:: --max-pack-size=<n>:: Maximum size of each output pack file. The size can be suffixed with "k", "m", or "g". The minimum size allowed is limited to 1 MiB. - If specified, multiple packfiles may be created. + If specified, multiple packfiles may be created, which also + prevents the creation of a bitmap index. The default is unlimited, unless the config variable `pack.packSizeLimit` is set. diff --git a/Documentation/git-pull.txt b/Documentation/git-pull.txt index a62a2a615d..d033b258e5 100644 --- a/Documentation/git-pull.txt +++ b/Documentation/git-pull.txt @@ -128,6 +128,15 @@ unless you have read linkgit:git-rebase[1] carefully. --no-rebase:: Override earlier --rebase. +--autostash:: +--no-autostash:: + Before starting rebase, stash local modifications away (see + linkgit:git-stash[1]) if needed, and apply the stash when + done. `--no-autostash` is useful to override the `rebase.autoStash` + configuration variable (see linkgit:git-config[1]). ++ +This option is only valid when "--rebase" is used. + Options related to fetching ~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt index 669a357c81..cf6ee4a4df 100644 --- a/Documentation/git-push.txt +++ b/Documentation/git-push.txt @@ -37,6 +37,13 @@ the default `<refspec>` by consulting `remote.*.push` configuration, and if it is not found, honors `push.default` configuration to decide what to push (See linkgit:git-config[1] for the meaning of `push.default`). +When neither the command-line nor the configuration specify what to +push, the default behavior is used, which corresponds to the `simple` +value for `push.default`: the current branch is pushed to the +corresponding upstream branch, but as a safety measure, the push is +aborted if the upstream branch does not have the same name as the +local one. + OPTIONS[[OPTIONS]] ------------------ diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt index 6cca8bb51d..0387b40e0a 100644 --- a/Documentation/git-rebase.txt +++ b/Documentation/git-rebase.txt @@ -3,7 +3,7 @@ git-rebase(1) NAME ---- -git-rebase - Forward-port local commits to the updated upstream head +git-rebase - Reapply commits on top of another base tip SYNOPSIS -------- @@ -391,9 +391,6 @@ idea unless you know what you are doing (see BUGS below). final history. <cmd> will be interpreted as one or more shell commands. + -This option can only be used with the `--interactive` option -(see INTERACTIVE MODE below). -+ You may execute several commands by either using one instance of `--exec` with several commands: + @@ -406,6 +403,9 @@ or by giving more than one `--exec`: If `--autosquash` is used, "exec" lines will not be appended for the intermediate commits, and will only appear at the end of each squash/fixup series. ++ +This uses the `--interactive` machinery internally, but it can be run +without an explicit `--interactive`. --root:: Rebase all commits reachable from <branch>, instead of diff --git a/Documentation/git-repack.txt b/Documentation/git-repack.txt index af230d0647..b9c02ce481 100644 --- a/Documentation/git-repack.txt +++ b/Documentation/git-repack.txt @@ -106,7 +106,8 @@ other objects in that pack they already have locally. --max-pack-size=<n>:: Maximum size of each output pack file. The size can be suffixed with "k", "m", or "g". The minimum size allowed is limited to 1 MiB. - If specified, multiple packfiles may be created. + If specified, multiple packfiles may be created, which also + prevents the creation of a bitmap index. The default is unlimited, unless the config variable `pack.packSizeLimit` is set. @@ -115,7 +116,8 @@ other objects in that pack they already have locally. Write a reachability bitmap index as part of the repack. This only makes sense when used with `-a` or `-A`, as the bitmaps must be able to refer to all reachable objects. This option - overrides the setting of `pack.writeBitmaps`. + overrides the setting of `repack.writeBitmaps`. This option + has no effect if multiple packfiles are created. --pack-kept-objects:: Include objects in `.keep` files when repacking. Note that we @@ -123,7 +125,7 @@ other objects in that pack they already have locally. This means that we may duplicate objects, but this makes the option safe to use when there are concurrent pushes or fetches. This option is generally only useful if you are writing bitmaps - with `-b` or `pack.writeBitmaps`, as it ensures that the + with `-b` or `repack.writeBitmaps`, as it ensures that the bitmapped packfile has the necessary objects. Configuration diff --git a/Documentation/git-submodule.txt b/Documentation/git-submodule.txt index 1572f058f5..9226c4380c 100644 --- a/Documentation/git-submodule.txt +++ b/Documentation/git-submodule.txt @@ -13,10 +13,10 @@ SYNOPSIS [--reference <repository>] [--depth <depth>] [--] <repository> [<path>] 'git submodule' [--quiet] status [--cached] [--recursive] [--] [<path>...] 'git submodule' [--quiet] init [--] [<path>...] -'git submodule' [--quiet] deinit [-f|--force] [--] <path>... +'git submodule' [--quiet] deinit [-f|--force] (--all|[--] <path>...) 'git submodule' [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--rebase|--merge] [--reference <repository>] - [--depth <depth>] [--recursive] [--] [<path>...] + [--depth <depth>] [--recursive] [--jobs <n>] [--] [<path>...] 'git submodule' [--quiet] summary [--cached|--files] [(-n|--summary-limit) <n>] [commit] [--] [<path>...] 'git submodule' [--quiet] foreach [--recursive] <command> @@ -140,12 +140,15 @@ deinit:: tree. Further calls to `git submodule update`, `git submodule foreach` and `git submodule sync` will skip any unregistered submodules until they are initialized again, so use this command if you don't want to - have a local checkout of the submodule in your work tree anymore. If + have a local checkout of the submodule in your working tree anymore. If you really want to remove a submodule from the repository and commit that use linkgit:git-rm[1] instead. + -If `--force` is specified, the submodule's work tree will be removed even if -it contains local modifications. +When the command is run without pathspec, it errors out, +instead of deinit-ing everything, to prevent mistakes. ++ +If `--force` is specified, the submodule's working tree will +be removed even if it contains local modifications. update:: + @@ -247,6 +250,10 @@ OPTIONS --quiet:: Only print error messages. +--all:: + This option is only valid for the deinit command. Unregister all + submodules in the working tree. + -b:: --branch:: Branch of repository to add as submodule. @@ -257,8 +264,8 @@ OPTIONS --force:: This option is only valid for add, deinit and update commands. When running add, allow adding an otherwise ignored submodule path. - When running deinit the submodule work trees will be removed even if - they contain local changes. + When running deinit the submodule working trees will be removed even + if they contain local changes. When running update (only effective with the checkout procedure), throw away local changes in submodules when switching to a different commit; and always run a checkout operation in the @@ -377,6 +384,11 @@ for linkgit:git-clone[1]'s `--reference` and `--shared` options carefully. clone with a history truncated to the specified number of revisions. See linkgit:git-clone[1] +-j <n>:: +--jobs <n>:: + This option is only valid for the update command. + Clone new submodules in parallel with as many jobs. + Defaults to the `submodule.fetchJobs` option. <path>...:: Paths to submodule(s). When specified this will restrict the command diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt index 0c0f60b20e..fb23a98a17 100644 --- a/Documentation/git-svn.txt +++ b/Documentation/git-svn.txt @@ -1034,6 +1034,8 @@ listed below are allowed: url = http://server.org/svn fetch = trunk/project-a:refs/remotes/project-a/trunk branches = branches/*/project-a:refs/remotes/project-a/branches/* + branches = branches/release_*:refs/remotes/project-a/branches/release_* + branches = branches/re*se:refs/remotes/project-a/branches/* tags = tags/*/project-a:refs/remotes/project-a/tags/* ------------------------------------------------------------------------ @@ -1044,6 +1046,16 @@ independent path component (surrounded by '/' or EOL). This type of configuration is not automatically created by 'init' and should be manually entered with a text-editor or using 'git config'. +Also note that only one asterisk is allowed per word. For example: + + branches = branches/re*se:refs/remotes/project-a/branches/* + +will match branches 'release', 'rese', 're123se', however + + branches = branches/re*s*e:refs/remotes/project-a/branches/* + +will produce an error. + It is also possible to fetch a subset of branches or tags by using a comma-separated list of names within braces. For example: diff --git a/Documentation/git-worktree.txt b/Documentation/git-worktree.txt index 62c76c1c89..c62234538b 100644 --- a/Documentation/git-worktree.txt +++ b/Documentation/git-worktree.txt @@ -9,7 +9,7 @@ git-worktree - Manage multiple working trees SYNOPSIS -------- [verse] -'git worktree add' [-f] [--detach] [-b <new-branch>] <path> [<branch>] +'git worktree add' [-f] [--detach] [--checkout] [-b <new-branch>] <path> [<branch>] 'git worktree prune' [-n] [-v] [--expire <expire>] 'git worktree list' [--porcelain] @@ -87,6 +87,12 @@ OPTIONS With `add`, detach HEAD in the new working tree. See "DETACHED HEAD" in linkgit:git-checkout[1]. +--[no-]checkout:: + By default, `add` checks out `<branch>`, however, `--no-checkout` can + be used to suppress checkout in order to make customizations, + such as configuring sparse-checkout. See "Sparse checkout" + in linkgit:git-read-tree[1]. + -n:: --dry-run:: With `prune`, do not remove anything; just report what it would diff --git a/Documentation/git.txt b/Documentation/git.txt index 2754af8f77..34ff007a98 100644 --- a/Documentation/git.txt +++ b/Documentation/git.txt @@ -43,16 +43,25 @@ unreleased) version of Git, that is available from the 'master' branch of the `git.git` repository. Documentation for older releases are available here: -* link:v2.7.2/git.html[documentation for release 2.7.2] +* link:v2.8.2/git.html[documentation for release 2.8.2] * release notes for + link:RelNotes/2.8.2.txt[2.8.2]. + link:RelNotes/2.8.1.txt[2.8.1]. + link:RelNotes/2.8.0.txt[2.8]. + +* link:v2.7.3/git.html[documentation for release 2.7.3] + +* release notes for + link:RelNotes/2.7.3.txt[2.7.3], link:RelNotes/2.7.2.txt[2.7.2], link:RelNotes/2.7.1.txt[2.7.1], link:RelNotes/2.7.0.txt[2.7]. -* link:v2.6.5/git.html[documentation for release 2.6.5] +* link:v2.6.6/git.html[documentation for release 2.6.6] * release notes for + link:RelNotes/2.6.6.txt[2.6.6], link:RelNotes/2.6.5.txt[2.6.5], link:RelNotes/2.6.4.txt[2.6.4], link:RelNotes/2.6.3.txt[2.6.3], @@ -60,18 +69,20 @@ Documentation for older releases are available here: link:RelNotes/2.6.1.txt[2.6.1], link:RelNotes/2.6.0.txt[2.6]. -* link:v2.5.4/git.html[documentation for release 2.5.4] +* link:v2.5.5/git.html[documentation for release 2.5.5] * release notes for + link:RelNotes/2.5.5.txt[2.5.5], link:RelNotes/2.5.4.txt[2.5.4], link:RelNotes/2.5.3.txt[2.5.3], link:RelNotes/2.5.2.txt[2.5.2], link:RelNotes/2.5.1.txt[2.5.1], link:RelNotes/2.5.0.txt[2.5]. -* link:v2.4.10/git.html[documentation for release 2.4.10] +* link:v2.4.11/git.html[documentation for release 2.4.11] * release notes for + link:RelNotes/2.4.11.txt[2.4.11], link:RelNotes/2.4.10.txt[2.4.10], link:RelNotes/2.4.9.txt[2.4.9], link:RelNotes/2.4.8.txt[2.4.8], @@ -1065,11 +1076,6 @@ of clones and fetches. cloning of shallow repositories. See 'GIT_TRACE' for available trace output options. -'GIT_TRACE_EXCLUDE':: - Enables trace messages that can help debugging .gitignore - processing. See 'GIT_TRACE' for available trace output - options. - 'GIT_LITERAL_PATHSPECS':: Setting this variable to `1` will cause Git to treat all pathspecs literally, rather than as glob patterns. For example, @@ -1128,7 +1134,7 @@ of clones and fetches. connection (or proxy, if configured) - `ssh`: git over ssh (including `host:path` syntax, - `git+ssh://`, etc). + `ssh://`, etc). - `http`: git over http, both "smart http" and "dumb http". Note that this does _not_ include `https`; if you want both, diff --git a/Documentation/gitcredentials.txt b/Documentation/gitcredentials.txt index 1c75be0803..f3a75d1ce1 100644 --- a/Documentation/gitcredentials.txt +++ b/Documentation/gitcredentials.txt @@ -106,6 +106,11 @@ variable, each helper will be tried in turn, and may provide a username, password, or nothing. Once Git has acquired both a username and a password, no more helpers will be tried. +If `credential.helper` is configured to the empty string, this resets +the helper list to empty (so you may override a helper set by a +lower-priority config file by configuring the empty-string helper, +followed by whatever set of helpers you would like). + CREDENTIAL CONTEXTS ------------------- diff --git a/Documentation/githooks.txt b/Documentation/githooks.txt index 7ba0ac965d..d82e912e55 100644 --- a/Documentation/githooks.txt +++ b/Documentation/githooks.txt @@ -7,24 +7,35 @@ githooks - Hooks used by Git SYNOPSIS -------- -$GIT_DIR/hooks/* +$GIT_DIR/hooks/* (or \`git config core.hooksPath`/*) DESCRIPTION ----------- -Hooks are little scripts you can place in `$GIT_DIR/hooks` -directory to trigger action at certain points. When -'git init' is run, a handful of example hooks are copied into the -`hooks` directory of the new repository, but by default they are -all disabled. To enable a hook, rename it by removing its `.sample` -suffix. +Hooks are programs you can place in a hooks directory to trigger +actions at certain points in git's execution. Hooks that don't have +the executable bit set are ignored. -NOTE: It is also a requirement for a given hook to be executable. -However - in a freshly initialized repository - the `.sample` files are -executable by default. +By default the hooks directory is `$GIT_DIR/hooks`, but that can be +changed via the `core.hooksPath` configuration variable (see +linkgit:git-config[1]). -This document describes the currently defined hooks. +Before Git invokes a hook, it changes its working directory to either +the root of the working tree in a non-bare repository, or to the +$GIT_DIR in a bare repository. + +Hooks can get their arguments via the environment, command-line +arguments, and stdin. See the documentation for each hook below for +details. + +'git init' may copy hooks to the new repository, depending on its +configuration. See the "TEMPLATE DIRECTORY" section in +linkgit:git-init[1] for details. When the rest of this document refers +to "default hooks" it's talking about the default template shipped +with Git. + +The currently supported hooks are described below. HOOKS ----- @@ -32,15 +43,15 @@ HOOKS applypatch-msg ~~~~~~~~~~~~~~ -This hook is invoked by 'git am' script. It takes a single +This hook is invoked by 'git am'. It takes a single parameter, the name of the file that holds the proposed commit -log message. Exiting with non-zero status causes -'git am' to abort before applying the patch. +log message. Exiting with a non-zero status causes 'git am' to abort +before applying the patch. The hook is allowed to edit the message file in place, and can be used to normalize the message into some project standard -format (if the project has one). It can also be used to refuse -the commit after inspecting the message file. +format. It can also be used to refuse the commit after inspecting +the message file. The default 'applypatch-msg' hook, when enabled, runs the 'commit-msg' hook, if the latter is enabled. @@ -73,10 +84,10 @@ pre-commit ~~~~~~~~~~ This hook is invoked by 'git commit', and can be bypassed -with `--no-verify` option. It takes no parameter, and is +with the `--no-verify` option. It takes no parameters, and is invoked before obtaining the proposed commit log message and -making a commit. Exiting with non-zero status from this script -causes the 'git commit' to abort. +making a commit. Exiting with a non-zero status from this script +causes the 'git commit' command to abort before creating a commit. The default 'pre-commit' hook, when enabled, catches introduction of lines with trailing whitespaces and aborts the commit when @@ -115,15 +126,15 @@ commit-msg ~~~~~~~~~~ This hook is invoked by 'git commit', and can be bypassed -with `--no-verify` option. It takes a single parameter, the +with the `--no-verify` option. It takes a single parameter, the name of the file that holds the proposed commit log message. -Exiting with non-zero status causes the 'git commit' to +Exiting with a non-zero status causes the 'git commit' to abort. -The hook is allowed to edit the message file in place, and can -be used to normalize the message into some project standard -format (if the project has one). It can also be used to refuse -the commit after inspecting the message file. +The hook is allowed to edit the message file in place, and can be used +to normalize the message into some project standard format. It +can also be used to refuse the commit after inspecting the message +file. The default 'commit-msg' hook, when enabled, detects duplicate "Signed-off-by" lines, and aborts the commit if one is found. @@ -131,8 +142,8 @@ The default 'commit-msg' hook, when enabled, detects duplicate post-commit ~~~~~~~~~~~ -This hook is invoked by 'git commit'. It takes no -parameter, and is invoked after a commit is made. +This hook is invoked by 'git commit'. It takes no parameters, and is +invoked after a commit is made. This hook is meant primarily for notification, and cannot affect the outcome of 'git commit'. @@ -267,9 +278,11 @@ does not know the entire set of branches, so it would end up firing one e-mail per ref when used naively, though. The <<post-receive,'post-receive'>> hook is more suited to that. -Another use suggested on the mailing list is to use this hook to -implement access control which is finer grained than the one -based on filesystem group. +In an environment that restricts the users' access only to git +commands over the wire, this hook can be used to implement access +control without relying on filesystem ownership and group +membership. See linkgit:git-shell[1] for how you might use the login +shell to restrict the user's access to only git commands. Both standard output and standard error output are forwarded to 'git send-pack' on the other end, so you can simply `echo` messages @@ -397,7 +410,7 @@ preceding SP is also omitted. Currently, no commands pass any 'extra-info'. The hook always runs after the automatic note copying (see -"notes.rewrite.<command>" in linkgit:git-config.txt[1]) has happened, and +"notes.rewrite.<command>" in linkgit:git-config[1]) has happened, and thus has access to these notes. The following command-specific comments apply: diff --git a/Documentation/gitignore.txt b/Documentation/gitignore.txt index 3ded6fdc99..473623d631 100644 --- a/Documentation/gitignore.txt +++ b/Documentation/gitignore.txt @@ -82,12 +82,12 @@ PATTERN FORMAT - An optional prefix "`!`" which negates the pattern; any matching file excluded by a previous pattern will become - included again. + included again. It is not possible to re-include a file if a parent + directory of that file is excluded. Git doesn't list excluded + directories for performance reasons, so any patterns on contained + files have no effect, no matter where they are defined. Put a backslash ("`\`") in front of the first "`!`" for patterns that begin with a literal "`!`", for example, "`\!important!.txt`". - It is possible to re-include a file if a parent directory of that - file is excluded if certain conditions are met. See section NOTES - for detail. - If the pattern ends with a slash, it is removed for the purpose of the following description, but it would only find @@ -141,15 +141,6 @@ not tracked by Git remain untracked. To stop tracking a file that is currently tracked, use 'git rm --cached'. -To re-include files or directories when their parent directory is -excluded, the following conditions must be met: - - - The rules to exclude a directory and re-include a subset back must - be in the same .gitignore file. - - - The directory part in the re-include rules must be literal (i.e. no - wildcards) - EXAMPLES -------- diff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt index cafc284359..8ad29e61a9 100644 --- a/Documentation/glossary-content.txt +++ b/Documentation/glossary-content.txt @@ -145,7 +145,7 @@ current branch integrates with) obviously do not work, as there is no A fast-forward is a special type of <<def_merge,merge>> where you have a <<def_revision,revision>> and you are "merging" another <<def_branch,branch>>'s changes that happen to be a descendant of what - you have. In such these cases, you do not make a new <<def_merge,merge>> + you have. In such a case, you do not make a new <<def_merge,merge>> <<def_commit,commit>> but instead just update to his revision. This will happen frequently on a <<def_remote_tracking_branch,remote-tracking branch>> of a remote diff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt index f08e9b80c5..dfb43d000f 100644 --- a/Documentation/merge-options.txt +++ b/Documentation/merge-options.txt @@ -114,3 +114,11 @@ ifndef::git-pull[] reporting. endif::git-pull[] + +--allow-unrelated-histories:: + By default, `git merge` command refuses to merge histories + that do not share a common ancestor. This option can be + used to override this safety when merging histories of two + projects that started their lives independently. As that is + a very rare occasion, no configuration variable to enable + this by default exists and will not be added. diff --git a/Documentation/merge-strategies.txt b/Documentation/merge-strategies.txt index 7bbd19b300..2eb92b9327 100644 --- a/Documentation/merge-strategies.txt +++ b/Documentation/merge-strategies.txt @@ -81,9 +81,17 @@ no-renormalize;; Disables the `renormalize` option. This overrides the `merge.renormalize` configuration variable. +no-renames;; + Turn off rename detection. + See also linkgit:git-diff[1] `--no-renames`. + +find-renames[=<n>];; + Turn on rename detection, optionally setting the similarity + threshold. This is the default. + See also linkgit:git-diff[1] `--find-renames`. + rename-threshold=<n>;; - Controls the similarity threshold used for rename detection. - See also linkgit:git-diff[1] `-M`. + Deprecated synonym for `find-renames=<n>`. subtree[=<path>];; This option is a more advanced form of 'subtree' strategy, where diff --git a/Documentation/pretty-options.txt b/Documentation/pretty-options.txt index 54b88b6dca..6c67182728 100644 --- a/Documentation/pretty-options.txt +++ b/Documentation/pretty-options.txt @@ -42,6 +42,20 @@ people using 80-column terminals. verbatim; this means that invalid sequences in the original commit may be copied to the output. +--expand-tabs=<n>:: +--expand-tabs:: +--no-expand-tabs:: + Perform a tab expansion (replace each tab with enough spaces + to fill to the next display column that is multiple of '<n>') + in the log message before showing it in the output. + `--expand-tabs` is a short-hand for `--expand-tabs=8`, and + `--no-expand-tabs` is a short-hand for `--expand-tabs=0`, + which disables tab expansion. ++ +By default, tabs are expanded in pretty formats that indent the log +message by 4 spaces (i.e. 'medium', which is the default, 'full', +and 'fuller'). + ifndef::git-rev-list[] --notes[=<treeish>]:: Show the notes (see linkgit:git-notes[1]) that annotate the diff --git a/Documentation/technical/api-argv-array.txt b/Documentation/technical/api-argv-array.txt index 8076172a08..cfc063018c 100644 --- a/Documentation/technical/api-argv-array.txt +++ b/Documentation/technical/api-argv-array.txt @@ -56,3 +56,10 @@ Functions `argv_array_clear`:: Free all memory associated with the array and return it to the initial, empty state. + +`argv_array_detach`:: + Disconnect the `argv` member from the `argv_array` struct and + return it. The caller is responsible for freeing the memory used + by the array, and by the strings it references. After detaching, + the `argv_array` is in a reinitialized state and can be pushed + into again. diff --git a/Documentation/technical/api-config.txt b/Documentation/technical/api-config.txt index 0d8b99b368..20741f345e 100644 --- a/Documentation/technical/api-config.txt +++ b/Documentation/technical/api-config.txt @@ -63,13 +63,6 @@ parse for configuration, rather than looking in the usual files. Regular Specify whether include directives should be followed in parsed files. Regular `git_config` defaults to `1`. -There is a special version of `git_config` called `git_config_early`. -This version takes an additional parameter to specify the repository -config, instead of having it looked up via `git_path`. This is useful -early in a Git program before the repository has been found. Unless -you're working with early setup code, you probably don't want to use -this. - Reading Specific Files ---------------------- diff --git a/Documentation/technical/api-parse-options.txt b/Documentation/technical/api-parse-options.txt index 5f0757dcc9..695bd4bf43 100644 --- a/Documentation/technical/api-parse-options.txt +++ b/Documentation/technical/api-parse-options.txt @@ -231,6 +231,13 @@ There are some macros to easily define options: pass the command-line option, which can be specified multiple times, to another command. +`OPT_CMDMODE(short, long, &int_var, description, enum_val)`:: + Define an "operation mode" option, only one of which in the same + group of "operating mode" options that share the same `int_var` + can be given by the user. `enum_val` is set to `int_var` when the + option is used, but an error is reported if other "operating mode" + option has already set its value to the same `int_var`. + The last element of the array must be `OPT_END()`. diff --git a/Documentation/technical/api-trace.txt b/Documentation/technical/api-trace.txt index 097a651d96..fadb5979c4 100644 --- a/Documentation/technical/api-trace.txt +++ b/Documentation/technical/api-trace.txt @@ -28,7 +28,7 @@ static struct trace_key trace_foo = TRACE_KEY_INIT(FOO); static void trace_print_foo(const char *message) { - trace_print_key(&trace_foo, message); + trace_printf_key(&trace_foo, "%s", message); } ------------ + @@ -95,3 +95,46 @@ for (;;) { } trace_performance(t, "frotz"); ------------ + +Bugs & Caveats +-------------- + +GIT_TRACE_* environment variables can be used to tell Git to show +trace output to its standard error stream. Git can often spawn a pager +internally to run its subcommand and send its standard output and +standard error to it. + +Because GIT_TRACE_PERFORMANCE trace is generated only at the very end +of the program with atexit(), which happens after the pager exits, it +would not work well if you send its log to the standard error output +and let Git spawn the pager at the same time. + +As a work around, you can for example use '--no-pager', or set +GIT_TRACE_PERFORMANCE to another file descriptor which is redirected +to stderr, or set GIT_TRACE_PERFORMANCE to a file specified by its +absolute path. + +For example instead of the following command which by default may not +print any performance information: + +------------ +GIT_TRACE_PERFORMANCE=2 git log -1 +------------ + +you may want to use: + +------------ +GIT_TRACE_PERFORMANCE=2 git --no-pager log -1 +------------ + +or: + +------------ +GIT_TRACE_PERFORMANCE=3 3>&2 git log -1 +------------ + +or: + +------------ +GIT_TRACE_PERFORMANCE=/path/to/log/file git log -1 +------------ diff --git a/Documentation/technical/pack-protocol.txt b/Documentation/technical/pack-protocol.txt index c6977bbc5a..8b36343802 100644 --- a/Documentation/technical/pack-protocol.txt +++ b/Documentation/technical/pack-protocol.txt @@ -526,7 +526,7 @@ Push Certificate A push certificate begins with a set of header lines. After the header and an empty line, the protocol commands follow, one per -line. Note that the the trailing LF in push-cert PKT-LINEs is _not_ +line. Note that the trailing LF in push-cert PKT-LINEs is _not_ optional; it must be present. Currently, the following header fields are defined: diff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt index ec6bacfcdf..5e07454572 100644 --- a/Documentation/user-manual.txt +++ b/Documentation/user-manual.txt @@ -2134,7 +2134,7 @@ browsing the repository using gitweb. The default server when using instaweb is lighttpd. See the file gitweb/INSTALL in the Git source tree and -linkgit:gitweb[1] for instructions on details setting up a permament +linkgit:gitweb[1] for instructions on details setting up a permanent installation with a CGI or Perl capable server. [[how-to-get-a-git-repository-with-minimal-history]] diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN index 5873f163e5..655b49011f 100755 --- a/GIT-VERSION-GEN +++ b/GIT-VERSION-GEN @@ -1,7 +1,7 @@ #!/bin/sh GVF=GIT-VERSION-FILE -DEF_VER=v2.7.0.GIT +DEF_VER=v2.8.0.GIT LF=' ' @@ -264,6 +264,9 @@ all:: # # Define NO_TCLTK if you do not want Tcl/Tk GUI. # +# Define SANE_TEXT_GREP to "-a" if you use recent versions of GNU grep +# and egrep that are pickier when their input contains non-ASCII data. +# # The TCL_PATH variable governs the location of the Tcl interpreter # used to optimize git-gui for your system. Only used if NO_TCLTK # is not set. Defaults to the bare 'tclsh'. @@ -352,9 +355,6 @@ all:: # # Define HAVE_CLOCK_MONOTONIC if your platform has CLOCK_MONOTONIC in librt. # -# Define NO_HMAC_CTX_CLEANUP if your OpenSSL is version 0.9.6b or earlier to -# cleanup the HMAC context with the older HMAC_cleanup function. -# # Define USE_PARENS_AROUND_GETTEXT_N to "yes" if your compiler happily # compiles the following initialization: # @@ -380,6 +380,18 @@ ALL_CFLAGS = $(CPPFLAGS) $(CFLAGS) ALL_LDFLAGS = $(LDFLAGS) STRIP ?= strip +ifdef DEVELOPER +CFLAGS += -Werror \ + -Wdeclaration-after-statement \ + -Wno-format-zero-length \ + -Wold-style-definition \ + -Woverflow \ + -Wpointer-arith \ + -Wstrict-prototypes \ + -Wunused \ + -Wvla +endif + # Create as necessary, replace existing, make ranlib unneeded. ARFLAGS = rcs @@ -428,7 +440,6 @@ DIFF = diff TAR = tar FIND = find INSTALL = install -RPMBUILD = rpmbuild TCL_PATH = tclsh TCLTK_PATH = wish XGETTEXT = xgettext @@ -609,7 +620,7 @@ TEST_PROGRAMS_NEED_X += test-svn-fe TEST_PROGRAMS_NEED_X += test-urlmatch-normalization TEST_PROGRAMS_NEED_X += test-wildmatch -TEST_PROGRAMS = $(patsubst %,%$X,$(TEST_PROGRAMS_NEED_X)) +TEST_PROGRAMS = $(patsubst %,t/helper/%$X,$(TEST_PROGRAMS_NEED_X)) # List built-in command $C whose implementation cmd_$C() is not in # builtin/$C.o but is linked in as part of some other command. @@ -1123,9 +1134,6 @@ ifndef NO_OPENSSL ifdef NEEDS_CRYPTO_WITH_SSL OPENSSL_LIBSSL += -lcrypto endif - ifdef NO_HMAC_CTX_CLEANUP - BASIC_CFLAGS += -DNO_HMAC_CTX_CLEANUP - endif else BASIC_CFLAGS += -DNO_OPENSSL BLK_SHA1 = 1 @@ -1728,7 +1736,7 @@ common-cmds.h: $(wildcard Documentation/git-*.txt) SCRIPT_DEFINES = $(SHELL_PATH_SQ):$(DIFF_SQ):$(GIT_VERSION):\ $(localedir_SQ):$(NO_CURL):$(USE_GETTEXT_SCHEME):$(SANE_TOOL_PATH_SQ):\ - $(gitwebdir_SQ):$(PERL_PATH_SQ) + $(gitwebdir_SQ):$(PERL_PATH_SQ):$(SANE_TEXT_GREP) define cmd_munge_script $(RM) $@ $@+ && \ sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \ @@ -1740,6 +1748,7 @@ sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \ -e $(BROKEN_PATH_FIX) \ -e 's|@@GITWEBDIR@@|$(gitwebdir_SQ)|g' \ -e 's|@@PERL@@|$(PERL_PATH_SQ)|g' \ + -e 's|@@SANE_TEXT_GREP@@|$(SANE_TEXT_GREP)|g' \ $@.sh >$@+ endef @@ -1888,7 +1897,7 @@ VCSSVN_OBJS += vcs-svn/fast_export.o VCSSVN_OBJS += vcs-svn/svndiff.o VCSSVN_OBJS += vcs-svn/svndump.o -TEST_OBJS := $(patsubst test-%$X,test-%.o,$(TEST_PROGRAMS)) +TEST_OBJS := $(patsubst %$X,%.o,$(TEST_PROGRAMS)) OBJECTS := $(LIB_OBJS) $(BUILTIN_OBJS) $(PROGRAM_OBJS) $(TEST_OBJS) \ $(XDIFF_OBJS) \ $(VCSSVN_OBJS) \ @@ -2053,7 +2062,7 @@ XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell \ --keyword=gettextln --keyword=eval_gettextln XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --keyword=__ --language=Perl LOCALIZED_C = $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H) -LOCALIZED_SH = $(SCRIPT_SH) +LOCALIZED_SH = $(SCRIPT_SH) git-parse-remote.sh LOCALIZED_PERL = $(SCRIPT_PERL) ifdef XGETTEXT_INCLUDE_TESTS @@ -2195,7 +2204,7 @@ bin-wrappers/%: wrap-for-bin.sh @mkdir -p bin-wrappers $(QUIET_GEN)sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \ -e 's|@@BUILD_DIR@@|$(shell pwd)|' \ - -e 's|@@PROG@@|$(@F)|' < $< > $@ && \ + -e 's|@@PROG@@|$(patsubst test-%,t/helper/test-%,$(@F))|' < $< > $@ && \ chmod +x $@ # GNU make supports exporting all variables by "export" without parameters. @@ -2215,25 +2224,25 @@ perf: all .PHONY: test perf -test-ctype$X: ctype.o +t/helper/test-ctype$X: ctype.o -test-date$X: date.o ctype.o +t/helper/test-date$X: date.o ctype.o -test-delta$X: diff-delta.o patch-delta.o +t/helper/test-delta$X: diff-delta.o patch-delta.o -test-line-buffer$X: vcs-svn/lib.a +t/helper/test-line-buffer$X: vcs-svn/lib.a -test-parse-options$X: parse-options.o parse-options-cb.o +t/helper/test-parse-options$X: parse-options.o parse-options-cb.o -test-svn-fe$X: vcs-svn/lib.a +t/helper/test-svn-fe$X: vcs-svn/lib.a .PRECIOUS: $(TEST_OBJS) -test-%$X: test-%.o GIT-LDFLAGS $(GITLIBS) +t/helper/test-%$X: t/helper/test-%.o GIT-LDFLAGS $(GITLIBS) $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(filter %.a,$^) $(LIBS) -check-sha1:: test-sha1$X - ./test-sha1.sh +check-sha1:: t/helper/test-sha1$X + t/helper/test-sha1.sh SP_OBJ = $(patsubst %.o,%.sp,$(C_OBJ)) @@ -2247,10 +2256,10 @@ sparse: $(SP_OBJ) check: common-cmds.h @if sparse; \ then \ - echo 2>&1 "Use 'make sparse' instead"; \ + echo >&2 "Use 'make sparse' instead"; \ $(MAKE) --no-print-directory sparse; \ else \ - echo 2>&1 "Did you mean 'make test'?"; \ + echo >&2 "Did you mean 'make test'?"; \ exit 1; \ fi @@ -2380,31 +2389,25 @@ quick-install-html: ### Maintainer's dist rules -git.spec: git.spec.in GIT-VERSION-FILE - sed -e 's/@@VERSION@@/$(GIT_VERSION)/g' < $< > $@+ - mv $@+ $@ - GIT_TARNAME = git-$(GIT_VERSION) -dist: git.spec git-archive$(X) configure +dist: git-archive$(X) configure ./git-archive --format=tar \ --prefix=$(GIT_TARNAME)/ HEAD^{tree} > $(GIT_TARNAME).tar @mkdir -p $(GIT_TARNAME) - @cp git.spec configure $(GIT_TARNAME) + @cp configure $(GIT_TARNAME) @echo $(GIT_VERSION) > $(GIT_TARNAME)/version @$(MAKE) -C git-gui TARDIR=../$(GIT_TARNAME)/git-gui dist-version $(TAR) rf $(GIT_TARNAME).tar \ - $(GIT_TARNAME)/git.spec \ $(GIT_TARNAME)/configure \ $(GIT_TARNAME)/version \ $(GIT_TARNAME)/git-gui/version @$(RM) -r $(GIT_TARNAME) gzip -f -9 $(GIT_TARNAME).tar -rpm: dist - $(RPMBUILD) \ - --define "_source_filedigest_algorithm md5" \ - --define "_binary_filedigest_algorithm md5" \ - -ta $(GIT_TARNAME).tar.gz +rpm:: + @echo >&2 "Use distro packaged sources to run rpmbuild" + @false +.PHONY: rpm htmldocs = git-htmldocs-$(GIT_VERSION) manpages = git-manpages-$(GIT_VERSION) @@ -2440,8 +2443,8 @@ profile-clean: $(RM) $(addsuffix *.gcno,$(addprefix $(PROFILE_DIR)/, $(object_dirs))) clean: profile-clean coverage-clean - $(RM) *.o *.res refs/*.o block-sha1/*.o ppc/*.o compat/*.o compat/*/*.o - $(RM) xdiff/*.o vcs-svn/*.o ewah/*.o builtin/*.o + $(RM) *.res + $(RM) $(OBJECTS) $(RM) $(LIB_FILE) $(XDIFF_LIB) $(VCSSVN_LIB) $(RM) $(ALL_PROGRAMS) $(SCRIPT_LIB) $(BUILT_INS) git$X $(RM) $(TEST_PROGRAMS) $(NO_INSTALL) @@ -1,19 +1,5 @@ -//////////////////////////////////////////////////////////////// - - Git - the stupid content tracker - -//////////////////////////////////////////////////////////////// - -"git" can mean anything, depending on your mood. - - - random three-letter combination that is pronounceable, and not - actually used by any common UNIX command. The fact that it is a - mispronunciation of "get" may or may not be relevant. - - stupid. contemptible and despicable. simple. Take your pick from the - dictionary of slang. - - "global information tracker": you're in a good mood, and it actually - works for you. Angels sing, and a light suddenly fills the room. - - "goddamn idiotic truckload of sh*t": when it breaks +Git - fast, scalable, distributed revision control system +========================================================= Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations @@ -24,27 +10,27 @@ License version 2 (some parts of it are under different licenses, compatible with the GPLv2). It was originally written by Linus Torvalds with help of a group of hackers around the net. -Please read the file INSTALL for installation instructions. +Please read the file [INSTALL][] for installation instructions. + +Many Git online resources are accessible from http://git-scm.com/ +including full documentation and Git related tools. -See Documentation/gittutorial.txt to get started, then see -Documentation/giteveryday.txt for a useful minimum set of commands, and -Documentation/git-commandname.txt for documentation of each command. +See [Documentation/gittutorial.txt][] to get started, then see +[Documentation/giteveryday.txt][] for a useful minimum set of commands, and +Documentation/git-*commandname*.txt for documentation of each command. If git has been correctly installed, then the tutorial can also be read with "man gittutorial" or "git help tutorial", and the -documentation of each command with "man git-commandname" or "git help -commandname". +documentation of each command with "man git-*commandname*" or "git help +*commandname*". -CVS users may also want to read Documentation/gitcvs-migration.txt +CVS users may also want to read [Documentation/gitcvs-migration.txt][] ("man gitcvs-migration" or "git help cvs-migration" if git is installed). -Many Git online resources are accessible from http://git-scm.com/ -including full documentation and Git related tools. - The user discussion and development of Git take place on the Git mailing list -- everyone is welcome to post bug reports, feature requests, comments and patches to git@vger.kernel.org (read -Documentation/SubmittingPatches for instructions on patch submission). +[Documentation/SubmittingPatches][] for instructions on patch submission). To subscribe to the list, send an email with just "subscribe git" in the body to majordomo@vger.kernel.org. The mailing list archives are available at http://news.gmane.org/gmane.comp.version-control.git/, @@ -54,3 +40,22 @@ The maintainer frequently sends the "What's cooking" reports that list the current status of various development topics to the mailing list. The discussion following them give a good reference for project status, development direction and remaining tasks. + +The name "git" was given by Linus Torvalds when he wrote the very +first version. He described the tool as "the stupid content tracker" +and the name as (depending on your mood): + + - random three-letter combination that is pronounceable, and not + actually used by any common UNIX command. The fact that it is a + mispronunciation of "get" may or may not be relevant. + - stupid. contemptible and despicable. simple. Take your pick from the + dictionary of slang. + - "global information tracker": you're in a good mood, and it actually + works for you. Angels sing, and a light suddenly fills the room. + - "goddamn idiotic truckload of sh*t": when it breaks + +[INSTALL]: INSTALL +[Documentation/gittutorial.txt]: Documentation/gittutorial.txt +[Documentation/giteveryday.txt]: Documentation/giteveryday.txt +[Documentation/gitcvs-migration.txt]: Documentation/gitcvs-migration.txt +[Documentation/SubmittingPatches]: Documentation/SubmittingPatches @@ -1 +1 @@ -Documentation/RelNotes/2.8.0.txt
\ No newline at end of file +Documentation/RelNotes/2.9.0.txt
\ No newline at end of file @@ -167,7 +167,6 @@ const char *prefix_filename(const char *pfx, int pfx_len, const char *arg) strbuf_add(&path, pfx, pfx_len); strbuf_addstr(&path, arg); #else - char *p; /* don't add prefix to absolute paths, but still replace '\' by '/' */ strbuf_reset(&path); if (is_absolute_path(arg)) @@ -175,9 +174,7 @@ const char *prefix_filename(const char *pfx, int pfx_len, const char *arg) else if (pfx_len) strbuf_add(&path, pfx, pfx_len); strbuf_addstr(&path, arg); - for (p = path.buf + pfx_len; *p; p++) - if (*p == '\\') - *p = '/'; + convert_slashes(path.buf + pfx_len); #endif return path.buf; } @@ -23,7 +23,7 @@ int split_cmdline(char *cmdline, const char ***argv) int src, dst, count = 0, size = 16; char quoted = 0; - *argv = xmalloc(sizeof(**argv) * size); + ALLOC_ARRAY(*argv, size); /* split alias_string */ (*argv)[count++] = cmdline; @@ -171,8 +171,8 @@ static void queue_directory(const unsigned char *sha1, unsigned mode, int stage, struct archiver_context *c) { struct directory *d; - size_t len = base->len + 1 + strlen(filename) + 1; - d = xmalloc(sizeof(*d) + len); + size_t len = st_add4(base->len, 1, strlen(filename), 1); + d = xmalloc(st_add(sizeof(*d), len)); d->up = c->bottom; d->baselen = base->len; d->mode = mode; diff --git a/argv-array.c b/argv-array.c index eaed47712b..5d370fa336 100644 --- a/argv-array.c +++ b/argv-array.c @@ -74,3 +74,14 @@ void argv_array_clear(struct argv_array *array) } argv_array_init(array); } + +const char **argv_array_detach(struct argv_array *array) +{ + if (array->argv == empty_argv) + return xcalloc(1, sizeof(const char *)); + else { + const char **ret = array->argv; + argv_array_init(array); + return ret; + } +} diff --git a/argv-array.h b/argv-array.h index a2fa0aa606..29056e49a1 100644 --- a/argv-array.h +++ b/argv-array.h @@ -20,5 +20,6 @@ void argv_array_pushl(struct argv_array *, ...); void argv_array_pushv(struct argv_array *, const char **); void argv_array_pop(struct argv_array *); void argv_array_clear(struct argv_array *); +const char **argv_array_detach(struct argv_array *); #endif /* ARGV_ARRAY_H */ @@ -93,9 +93,7 @@ static struct git_attr *git_attr_internal(const char *name, int len) if (invalid_attr_name(name, len)) return NULL; - a = xmalloc(sizeof(*a) + len + 1); - memcpy(a->name, name, len); - a->name[len] = 0; + FLEX_ALLOC_MEM(a, name, name, len); a->h = hval; a->next = git_attr_hash[pos]; a->attr_nr = attr_nr++; @@ -124,7 +122,7 @@ struct pattern { const char *pattern; int patternlen; int nowildcardlen; - int flags; /* EXC_FLAG_* */ + unsigned flags; /* EXC_FLAG_* */ }; /* @@ -799,7 +797,7 @@ int git_all_attrs(const char *path, int *num, struct git_attr_check **check) ++count; } *num = count; - *check = xmalloc(sizeof(**check) * count); + ALLOC_ARRAY(*check, count); j = 0; for (i = 0; i < attr_nr; i++) { const char *value = check_all_attr[i].value; @@ -708,10 +708,10 @@ static struct commit *get_commit_reference(const unsigned char *sha1) static struct commit **get_bad_and_good_commits(int *rev_nr) { - int len = 1 + good_revs.nr; - struct commit **rev = xmalloc(len * sizeof(*rev)); + struct commit **rev; int i, n = 0; + ALLOC_ARRAY(rev, 1 + good_revs.nr); rev[n++] = get_commit_reference(current_bad_oid->hash); for (i = 0; i < good_revs.nr; i++) rev[n++] = get_commit_reference(good_revs.sha1[i]); @@ -49,7 +49,13 @@ static int should_setup_rebase(const char *origin) return 0; } -void install_branch_config(int flag, const char *local, const char *origin, const char *remote) +static const char tracking_advice[] = +N_("\n" +"After fixing the error cause you may try to fix up\n" +"the remote tracking information by invoking\n" +"\"git branch --set-upstream-to=%s%s%s\"."); + +int install_branch_config(int flag, const char *local, const char *origin, const char *remote) { const char *shortname = NULL; struct strbuf key = STRBUF_INIT; @@ -60,20 +66,23 @@ void install_branch_config(int flag, const char *local, const char *origin, cons && !origin) { warning(_("Not setting branch %s as its own upstream."), local); - return; + return 0; } strbuf_addf(&key, "branch.%s.remote", local); - git_config_set(key.buf, origin ? origin : "."); + if (git_config_set_gently(key.buf, origin ? origin : ".") < 0) + goto out_err; strbuf_reset(&key); strbuf_addf(&key, "branch.%s.merge", local); - git_config_set(key.buf, remote); + if (git_config_set_gently(key.buf, remote) < 0) + goto out_err; if (rebasing) { strbuf_reset(&key); strbuf_addf(&key, "branch.%s.rebase", local); - git_config_set(key.buf, "true"); + if (git_config_set_gently(key.buf, "true") < 0) + goto out_err; } strbuf_release(&key); @@ -102,6 +111,19 @@ void install_branch_config(int flag, const char *local, const char *origin, cons local, remote); } } + + return 0; + +out_err: + strbuf_release(&key); + error(_("Unable to write upstream branch configuration")); + + advise(_(tracking_advice), + origin ? origin : "", + origin ? "/" : "", + shortname ? shortname : remote); + + return -1; } /* @@ -109,8 +131,8 @@ void install_branch_config(int flag, const char *local, const char *origin, cons * to infer the settings for branch.<new_ref>.{remote,merge} from the * config. */ -static int setup_tracking(const char *new_ref, const char *orig_ref, - enum branch_track track, int quiet) +static void setup_tracking(const char *new_ref, const char *orig_ref, + enum branch_track track, int quiet) { struct tracking tracking; int config_flags = quiet ? 0 : BRANCH_CONFIG_VERBOSE; @@ -118,7 +140,7 @@ static int setup_tracking(const char *new_ref, const char *orig_ref, memset(&tracking, 0, sizeof(tracking)); tracking.spec.dst = (char *)orig_ref; if (for_each_remote(find_tracked_branch, &tracking)) - return 1; + return; if (!tracking.matches) switch (track) { @@ -127,18 +149,18 @@ static int setup_tracking(const char *new_ref, const char *orig_ref, case BRANCH_TRACK_OVERRIDE: break; default: - return 1; + return; } if (tracking.matches > 1) - return error(_("Not tracking: ambiguous information for ref %s"), - orig_ref); + die(_("Not tracking: ambiguous information for ref %s"), + orig_ref); - install_branch_config(config_flags, new_ref, tracking.remote, - tracking.src ? tracking.src : orig_ref); + if (install_branch_config(config_flags, new_ref, tracking.remote, + tracking.src ? tracking.src : orig_ref) < 0) + exit(-1); free(tracking.src); - return 0; } int read_branch_desc(struct strbuf *buf, const char *branch_name) @@ -322,3 +344,26 @@ void die_if_checked_out(const char *branch) die(_("'%s' is already checked out at '%s'"), branch, existing); } } + +int replace_each_worktree_head_symref(const char *oldref, const char *newref) +{ + int ret = 0; + struct worktree **worktrees = get_worktrees(); + int i; + + for (i = 0; worktrees[i]; i++) { + if (worktrees[i]->is_detached) + continue; + if (strcmp(oldref, worktrees[i]->head_ref)) + continue; + + if (set_worktree_head_symref(worktrees[i]->git_dir, newref)) { + ret = -1; + error(_("HEAD of working tree %s is not updated"), + worktrees[i]->path); + } + } + + free_worktrees(worktrees); + return ret; +} @@ -43,9 +43,10 @@ void remove_branch_state(void); /* * Configure local branch "local" as downstream to branch "remote" * from remote "origin". Used by git branch --set-upstream. + * Returns 0 on success. */ #define BRANCH_CONFIG_VERBOSE 01 -extern void install_branch_config(int flag, const char *local, const char *origin, const char *remote); +extern int install_branch_config(int flag, const char *local, const char *origin, const char *remote); /* * Read branch description @@ -59,4 +60,11 @@ extern int read_branch_desc(struct strbuf *, const char *branch_name); */ extern void die_if_checked_out(const char *branch); +/* + * Update all per-worktree HEADs pointing at the old ref to point the new ref. + * This will be used when renaming a branch. Returns 0 if successful, non-zero + * otherwise. + */ +extern int replace_each_worktree_head_symref(const char *oldref, const char *newref); + #endif diff --git a/builtin/apply.c b/builtin/apply.c index d61ac65dab..8e4da2e1bd 100644 --- a/builtin/apply.c +++ b/builtin/apply.c @@ -931,22 +931,19 @@ static char *gitdiff_verify_name(const char *line, int isnull, char *orig_name, return find_name(line, NULL, p_value, TERM_TAB); if (orig_name) { - int len; - const char *name; + int len = strlen(orig_name); char *another; - name = orig_name; - len = strlen(name); if (isnull) - die(_("git apply: bad git-diff - expected /dev/null, got %s on line %d"), name, linenr); + die(_("git apply: bad git-diff - expected /dev/null, got %s on line %d"), + orig_name, linenr); another = find_name(line, NULL, p_value, TERM_TAB); - if (!another || memcmp(another, name, len + 1)) + if (!another || memcmp(another, orig_name, len + 1)) die((side == DIFF_NEW_NAME) ? _("git apply: bad git-diff - inconsistent new filename on line %d") : _("git apply: bad git-diff - inconsistent old filename on line %d"), linenr); free(another); return orig_name; - } - else { + } else { /* expect "/dev/null" */ if (memcmp("/dev/null", line, 9) || line[9] != '\n') die(_("git apply: bad git-diff - expected /dev/null on line %d"), linenr); @@ -956,21 +953,15 @@ static char *gitdiff_verify_name(const char *line, int isnull, char *orig_name, static int gitdiff_oldname(const char *line, struct patch *patch) { - char *orig = patch->old_name; patch->old_name = gitdiff_verify_name(line, patch->is_new, patch->old_name, DIFF_OLD_NAME); - if (orig != patch->old_name) - free(orig); return 0; } static int gitdiff_newname(const char *line, struct patch *patch) { - char *orig = patch->new_name; patch->new_name = gitdiff_verify_name(line, patch->is_delete, patch->new_name, DIFF_NEW_NAME); - if (orig != patch->new_name) - free(orig); return 0; } @@ -1872,6 +1863,11 @@ static struct fragment *parse_binary_hunk(char **buf_p, return NULL; } +/* + * Returns: + * -1 in case of error, + * the length of the parsed binary patch otherwise + */ static int parse_binary(char *buffer, unsigned long size, struct patch *patch) { /* @@ -2017,6 +2013,8 @@ static int parse_chunk(char *buffer, unsigned long size, struct patch *patch) linenr++; used = parse_binary(buffer + hd + llen, size - hd - llen, patch); + if (used < 0) + return -1; if (used) patchsize = used + llen; else @@ -2632,7 +2630,7 @@ static void update_image(struct image *img, insert_count = postimage->len; /* Adjust the contents */ - result = xmalloc(img->len + insert_count - remove_count + 1); + result = xmalloc(st_add3(st_sub(img->len, remove_count), insert_count, 1)); memcpy(result, img->buf, applied_at); memcpy(result + applied_at, postimage->buf, postimage->len); memcpy(result + applied_at + postimage->len, @@ -4373,8 +4371,10 @@ static int apply_patch(int fd, const char *filename, int options) patch->inaccurate_eof = !!(options & INACCURATE_EOF); patch->recount = !!(options & RECOUNT); nr = parse_chunk(buf.buf + offset, buf.len - offset, patch); - if (nr < 0) + if (nr < 0) { + free_patch(patch); break; + } if (apply_in_reverse) reverse_patches(patch); if (use_patch(patch)) { @@ -4383,6 +4383,8 @@ static int apply_patch(int fd, const char *filename, int options) listp = &patch->next; } else { + if (apply_verbosely) + say_patch_name(stderr, _("Skipped patch '%s'."), patch); free_patch(patch); skipped_patch++; } diff --git a/builtin/blame.c b/builtin/blame.c index 55bf5fae9d..21f42b0b62 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -466,13 +466,11 @@ static void queue_blames(struct scoreboard *sb, struct origin *porigin, static struct origin *make_origin(struct commit *commit, const char *path) { struct origin *o; - size_t pathlen = strlen(path) + 1; - o = xcalloc(1, sizeof(*o) + pathlen); + FLEX_ALLOC_STR(o, path, path); o->commit = commit; o->refcnt = 1; o->next = commit->util; commit->util = o; - memcpy(o->path, path, pathlen); /* includes NUL */ return o; } @@ -2059,7 +2057,8 @@ static int prepare_lines(struct scoreboard *sb) for (p = buf; p < end; p = get_next_line(p, end)) num++; - sb->lineno = lineno = xmalloc(sizeof(*sb->lineno) * (num + 1)); + ALLOC_ARRAY(sb->lineno, num + 1); + lineno = sb->lineno; for (p = buf; p < end; p = get_next_line(p, end)) *lineno++ = p - buf; @@ -2308,6 +2307,7 @@ static struct commit *fake_working_tree_commit(struct diff_options *opt, unsigned mode; struct strbuf msg = STRBUF_INIT; + read_cache(); time(&now); commit = alloc_commit_node(); commit->object.parsed = 1; diff --git a/builtin/branch.c b/builtin/branch.c index 3f6c825db1..37af77161e 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -20,6 +20,7 @@ #include "utf8.h" #include "wt-status.h" #include "ref-filter.h" +#include "worktree.h" static const char * const builtin_branch_usage[] = { N_("git branch [<options>] [-r | -a] [--merged | --no-merged]"), @@ -215,16 +216,21 @@ static int delete_branches(int argc, const char **argv, int force, int kinds, int flags = 0; strbuf_branchname(&bname, argv[i]); - if (kinds == FILTER_REFS_BRANCHES && !strcmp(head, bname.buf)) { - error(_("Cannot delete the branch '%s' " - "which you are currently on."), bname.buf); - ret = 1; - continue; - } - free(name); - name = mkpathdup(fmt, bname.buf); + + if (kinds == FILTER_REFS_BRANCHES) { + char *worktree = find_shared_symref("HEAD", name); + if (worktree) { + error(_("Cannot delete branch '%s' " + "checked out at '%s'"), + bname.buf, worktree); + free(worktree); + ret = 1; + continue; + } + } + target = resolve_ref_unsafe(name, RESOLVE_REF_READING | RESOLVE_REF_NO_RECURSE @@ -369,12 +375,14 @@ static char *get_head_description(void) strbuf_addf(&desc, _("(no branch, bisect started on %s)"), state.branch); else if (state.detached_from) { - /* TRANSLATORS: make sure these match _("HEAD detached at ") - and _("HEAD detached from ") in wt-status.c */ if (state.detached_at) + /* TRANSLATORS: make sure this matches + "HEAD detached at " in wt-status.c */ strbuf_addf(&desc, _("(HEAD detached at %s)"), state.detached_from); else + /* TRANSLATORS: make sure this matches + "HEAD detached from " in wt-status.c */ strbuf_addf(&desc, _("(HEAD detached from %s)"), state.detached_from); } @@ -393,22 +401,25 @@ static void format_and_print_ref_item(struct ref_array_item *item, int maxwidth, int current = 0; int color; struct strbuf out = STRBUF_INIT, name = STRBUF_INIT; - const char *prefix = ""; + const char *prefix_to_show = ""; + const char *prefix_to_skip = NULL; const char *desc = item->refname; char *to_free = NULL; switch (item->kind) { case FILTER_REFS_BRANCHES: - skip_prefix(desc, "refs/heads/", &desc); + prefix_to_skip = "refs/heads/"; + skip_prefix(desc, prefix_to_skip, &desc); if (!filter->detached && !strcmp(desc, head)) current = 1; else color = BRANCH_COLOR_LOCAL; break; case FILTER_REFS_REMOTES: - skip_prefix(desc, "refs/remotes/", &desc); + prefix_to_skip = "refs/remotes/"; + skip_prefix(desc, prefix_to_skip, &desc); color = BRANCH_COLOR_REMOTE; - prefix = remote_prefix; + prefix_to_show = remote_prefix; break; case FILTER_REFS_DETACHED_HEAD: desc = to_free = get_head_description(); @@ -425,7 +436,7 @@ static void format_and_print_ref_item(struct ref_array_item *item, int maxwidth, color = BRANCH_COLOR_CURRENT; } - strbuf_addf(&name, "%s%s", prefix, desc); + strbuf_addf(&name, "%s%s", prefix_to_show, desc); if (filter->verbose) { int utf8_compensation = strlen(name.buf) - utf8_strwidth(name.buf); strbuf_addf(&out, "%c %s%-*s%s", c, branch_get_color(color), @@ -436,8 +447,10 @@ static void format_and_print_ref_item(struct ref_array_item *item, int maxwidth, name.buf, branch_get_color(BRANCH_COLOR_RESET)); if (item->symref) { - skip_prefix(item->symref, "refs/remotes/", &desc); - strbuf_addf(&out, " -> %s", desc); + const char *symref = item->symref; + if (prefix_to_skip) + skip_prefix(symref, prefix_to_skip, &symref); + strbuf_addf(&out, " -> %s", symref); } else if (filter->verbose) /* " f7c0c00 [ahead 58, behind 197] vcs-svn: drop obj_pool.h" */ @@ -552,8 +565,7 @@ static void rename_branch(const char *oldname, const char *newname, int force) if (recovery) warning(_("Renamed a misnamed branch '%s' away"), oldref.buf + 11); - /* no need to pass logmsg here as HEAD didn't really move */ - if (!strcmp(oldname, head) && create_symref("HEAD", newref.buf, NULL)) + if (replace_each_worktree_head_symref(oldref.buf, newref.buf)) die(_("Branch renamed to %s, but HEAD is not updated!"), newname); strbuf_addf(&oldsection, "branch.%s", oldref.buf + 11); @@ -570,7 +582,6 @@ static const char edit_description[] = "BRANCH_DESCRIPTION"; static int edit_branch_description(const char *branch_name) { - int status; struct strbuf buf = STRBUF_INIT; struct strbuf name = STRBUF_INIT; @@ -595,11 +606,11 @@ static int edit_branch_description(const char *branch_name) strbuf_stripspace(&buf, 1); strbuf_addf(&name, "branch.%s.description", branch_name); - status = git_config_set(name.buf, buf.len ? buf.buf : NULL); + git_config_set(name.buf, buf.len ? buf.buf : NULL); strbuf_release(&name); strbuf_release(&buf); - return status; + return 0; } int cmd_branch(int argc, const char **argv, const char *prefix) @@ -621,7 +632,7 @@ int cmd_branch(int argc, const char **argv, const char *prefix) BRANCH_TRACK_EXPLICIT), OPT_SET_INT( 0, "set-upstream", &track, N_("change upstream info"), BRANCH_TRACK_OVERRIDE), - OPT_STRING('u', "set-upstream-to", &new_upstream, "upstream", "change the upstream info"), + OPT_STRING('u', "set-upstream-to", &new_upstream, N_("upstream"), N_("change the upstream info")), OPT_BOOL(0, "unset-upstream", &unset_upstream, "Unset the upstream info"), OPT__COLOR(&branch_use_color, N_("use colored output")), OPT_SET_INT('r', "remotes", &filter.kind, N_("act on remote-tracking branches"), @@ -829,8 +840,8 @@ int cmd_branch(int argc, const char **argv, const char *prefix) if (argc == 1 && track == BRANCH_TRACK_OVERRIDE && !branch_existed && remote_tracking) { fprintf(stderr, _("\nIf you wanted to make '%s' track '%s', do this:\n\n"), head, branch->name); - fprintf(stderr, _(" git branch -d %s\n"), branch->name); - fprintf(stderr, _(" git branch --set-upstream-to %s\n"), branch->name); + fprintf(stderr, " git branch -d %s\n", branch->name); + fprintf(stderr, " git branch --set-upstream-to %s\n", branch->name); } } else diff --git a/builtin/check-ref-format.c b/builtin/check-ref-format.c index fd915d5984..eac499450f 100644 --- a/builtin/check-ref-format.c +++ b/builtin/check-ref-format.c @@ -20,7 +20,7 @@ static const char builtin_check_ref_format_usage[] = */ static char *collapse_slashes(const char *refname) { - char *ret = xmalloc(strlen(refname) + 1); + char *ret = xmallocz(strlen(refname)); char ch; char prev = '/'; char *cp = ret; diff --git a/builtin/checkout.c b/builtin/checkout.c index cfa66e25eb..ea2fe1cf3f 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -242,7 +242,6 @@ static int checkout_paths(const struct checkout_opts *opts, struct checkout state; static char *ps_matched; unsigned char rev[20]; - int flag; struct commit *head; int errs = 0; struct lock_file *lock_file; @@ -375,7 +374,7 @@ static int checkout_paths(const struct checkout_opts *opts, if (write_locked_index(&the_index, lock_file, COMMIT_LOCK)) die(_("unable to write new index file")); - read_ref_full("HEAD", 0, rev, &flag); + read_ref_full("HEAD", 0, rev, NULL); head = lookup_commit_reference_gently(rev, 1); errs |= post_checkout_hook(head, head, 0); @@ -662,7 +661,7 @@ static void update_refs_for_switch(const struct checkout_opts *opts, } } else if (new->path) { /* Switch branches. */ if (create_symref("HEAD", new->path, msg.buf) < 0) - die("unable to update HEAD"); + die(_("unable to update HEAD")); if (!opts->quiet) { if (old->path && !strcmp(new->path, old->path)) { if (opts->new_branch_force) diff --git a/builtin/clean.c b/builtin/clean.c index 7b08237480..0371010afb 100644 --- a/builtin/clean.c +++ b/builtin/clean.c @@ -543,7 +543,7 @@ static int *list_and_choose(struct menu_opts *opts, struct menu_stuff *stuff) int eof = 0; int i; - chosen = xmalloc(sizeof(int) * stuff->nr); + ALLOC_ARRAY(chosen, stuff->nr); /* set chosen as uninitialized */ for (i = 0; i < stuff->nr; i++) chosen[i] = -1; @@ -615,7 +615,7 @@ static int *list_and_choose(struct menu_opts *opts, struct menu_stuff *stuff) nr += chosen[i]; } - result = xcalloc(nr + 1, sizeof(int)); + result = xcalloc(st_add(nr, 1), sizeof(int)); for (i = 0; i < stuff->nr && j < nr; i++) { if (chosen[i]) result[j++] = i; diff --git a/builtin/clone.c b/builtin/clone.c index b8c39aa701..5f867e67d8 100644 --- a/builtin/clone.c +++ b/builtin/clone.c @@ -40,6 +40,7 @@ static const char * const builtin_clone_usage[] = { static int option_no_checkout, option_bare, option_mirror, option_single_branch = -1; static int option_local = -1, option_no_hardlinks, option_shared, option_recursive; +static int option_shallow_submodules = -1; static char *option_template, *option_depth; static char *option_origin = NULL; static char *option_branch = NULL; @@ -51,6 +52,7 @@ static enum transport_family family; static struct string_list option_config; static struct string_list option_reference; static int option_dissociate; +static int max_jobs = -1; static struct option builtin_clone_options[] = { OPT__VERBOSITY(&option_verbosity), @@ -73,6 +75,8 @@ static struct option builtin_clone_options[] = { N_("initialize submodules in the clone")), OPT_BOOL(0, "recurse-submodules", &option_recursive, N_("initialize submodules in the clone")), + OPT_INTEGER('j', "jobs", &max_jobs, + N_("number of submodules cloned in parallel")), OPT_STRING(0, "template", &option_template, N_("template-directory"), N_("directory from which templates will be used")), OPT_STRING_LIST(0, "reference", &option_reference, N_("repo"), @@ -89,6 +93,8 @@ static struct option builtin_clone_options[] = { N_("create a shallow clone of that depth")), OPT_BOOL(0, "single-branch", &option_single_branch, N_("clone only one branch, HEAD or --branch")), + OPT_BOOL(0, "shallow-submodules", &option_shallow_submodules, + N_("any cloned submodules will be shallow")), OPT_STRING(0, "separate-git-dir", &real_git_dir, N_("gitdir"), N_("separate git dir from working tree")), OPT_STRING_LIST('c', "config", &option_config, N_("key=value"), @@ -100,10 +106,6 @@ static struct option builtin_clone_options[] = { OPT_END() }; -static const char *argv_submodule[] = { - "submodule", "update", "--init", "--recursive", NULL -}; - static const char *get_repo_path_1(struct strbuf *path, int *is_bundle) { static char *suffix[] = { "/.git", "", ".git/.git", ".git" }; @@ -236,8 +238,8 @@ static char *guess_dir_name(const char *repo, int is_bundle, int is_bare) strip_suffix_mem(start, &len, is_bundle ? ".bundle" : ".git"); if (!len || (len == 1 && *start == '/')) - die("No directory name could be guessed.\n" - "Please specify a directory on the command line"); + die(_("No directory name could be guessed.\n" + "Please specify a directory on the command line")); if (is_bare) dir = xstrfmt("%.*s.git", (int)len, start); @@ -644,7 +646,7 @@ static void update_remote_refs(const struct ref *refs, if (create_symref(head_ref.buf, remote_head_points_at->peer_ref->name, msg) < 0) - die("unable to update %s", head_ref.buf); + die(_("unable to update %s"), head_ref.buf); strbuf_release(&head_ref); } } @@ -656,7 +658,7 @@ static void update_head(const struct ref *our, const struct ref *remote, if (our && skip_prefix(our->name, "refs/heads/", &head)) { /* Local default branch link */ if (create_symref("HEAD", our->name, NULL) < 0) - die("unable to update HEAD"); + die(_("unable to update HEAD")); if (!option_bare) { update_ref(msg, "HEAD", our->old_oid.hash, NULL, 0, UPDATE_REFS_DIE_ON_ERR); @@ -732,15 +734,27 @@ static int checkout(void) err |= run_hook_le(NULL, "post-checkout", sha1_to_hex(null_sha1), sha1_to_hex(sha1), "1", NULL); - if (!err && option_recursive) - err = run_command_v_opt(argv_submodule, RUN_GIT_CMD); + if (!err && option_recursive) { + struct argv_array args = ARGV_ARRAY_INIT; + argv_array_pushl(&args, "submodule", "update", "--init", "--recursive", NULL); + + if (option_shallow_submodules == 1 + || (option_shallow_submodules == -1 && option_depth)) + argv_array_push(&args, "--depth=1"); + + if (max_jobs != -1) + argv_array_pushf(&args, "--jobs=%d", max_jobs); + + err = run_command_v_opt(args.argv, RUN_GIT_CMD); + argv_array_clear(&args); + } return err; } static int write_one_config(const char *key, const char *value, void *data) { - return git_config_set_multivar(key, value ? value : "true", "^$", 0); + return git_config_set_multivar_gently(key, value ? value : "true", "^$", 0); } static void write_config(struct string_list *config) @@ -750,7 +764,7 @@ static void write_config(struct string_list *config) for (i = 0; i < config->nr; i++) { if (git_config_parse_parameter(config->items[i].string, write_one_config, NULL) < 0) - die("unable to write parameters to config file"); + die(_("unable to write parameters to config file")); } } diff --git a/builtin/commit-tree.c b/builtin/commit-tree.c index 3feeffeab1..8a674bc9e7 100644 --- a/builtin/commit-tree.c +++ b/builtin/commit-tree.c @@ -33,10 +33,6 @@ static int commit_tree_config(const char *var, const char *value, void *cb) int status = git_gpg_config(var, value, NULL); if (status) return status; - if (!strcmp(var, "commit.gpgsign")) { - sign_commit = git_config_bool(var, value) ? "" : NULL; - return 0; - } return git_default_config(var, value, cb); } diff --git a/builtin/commit.c b/builtin/commit.c index b3bd2d4181..391126e58d 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -186,6 +186,7 @@ static void status_init_config(struct wt_status *s, config_fn_t fn) gitmodules_config(); git_config(fn, s); determine_whence(s); + init_diff_ui_defaults(); s->hints = advice_status_hints; /* must come after git_config() */ } @@ -694,7 +695,7 @@ static int prepare_to_commit(const char *index_file, const char *prefix, } } - if (message.len) { + if (have_option_m) { strbuf_addbuf(&sb, &message); hook_arg1 = "message"; } else if (logfile && !strcmp(logfile, "-")) { @@ -726,9 +727,18 @@ static int prepare_to_commit(const char *index_file, const char *prefix, &sb, &ctx); hook_arg1 = "message"; } else if (!stat(git_path_merge_msg(), &statbuf)) { + /* + * prepend SQUASH_MSG here if it exists and a + * "merge --squash" was originally performed + */ + if (!stat(git_path_squash_msg(), &statbuf)) { + if (strbuf_read_file(&sb, git_path_squash_msg(), 0) < 0) + die_errno(_("could not read SQUASH_MSG")); + hook_arg1 = "squash"; + } else + hook_arg1 = "merge"; if (strbuf_read_file(&sb, git_path_merge_msg(), 0) < 0) die_errno(_("could not read MERGE_MSG")); - hook_arg1 = "merge"; } else if (!stat(git_path_squash_msg(), &statbuf)) { if (strbuf_read_file(&sb, git_path_squash_msg(), 0) < 0) die_errno(_("could not read SQUASH_MSG")); @@ -1162,9 +1172,9 @@ static int parse_and_validate_options(int argc, const char *argv[], f++; if (f > 1) die(_("Only one of -c/-C/-F/--fixup can be used.")); - if (message.len && f > 0) + if (have_option_m && f > 0) die((_("Option -m cannot be combined with -c/-C/-F/--fixup."))); - if (f || message.len) + if (f || have_option_m) template_file = NULL; if (edit_message) use_message = edit_message; diff --git a/builtin/config.c b/builtin/config.c index adc772786a..1d7c6ef558 100644 --- a/builtin/config.c +++ b/builtin/config.c @@ -3,6 +3,7 @@ #include "color.h" #include "parse-options.h" #include "urlmatch.h" +#include "quote.h" static const char *const builtin_config_usage[] = { N_("git config [<options>]"), @@ -27,6 +28,7 @@ static int actions, types; static const char *get_color_slot, *get_colorbool_slot; static int end_null; static int respect_includes = -1; +static int show_origin; #define ACTION_GET (1<<0) #define ACTION_GET_ALL (1<<1) @@ -81,6 +83,7 @@ static struct option builtin_config_options[] = { OPT_BOOL('z', "null", &end_null, N_("terminate values with NUL byte")), OPT_BOOL(0, "name-only", &omit_values, N_("show variable names only")), OPT_BOOL(0, "includes", &respect_includes, N_("respect include directives on lookup")), + OPT_BOOL(0, "show-origin", &show_origin, N_("show origin of config (file, standard input, blob, command line)")), OPT_END(), }; @@ -91,8 +94,28 @@ static void check_argc(int argc, int min, int max) { usage_with_options(builtin_config_usage, builtin_config_options); } +static void show_config_origin(struct strbuf *buf) +{ + const char term = end_null ? '\0' : '\t'; + + strbuf_addstr(buf, current_config_origin_type()); + strbuf_addch(buf, ':'); + if (end_null) + strbuf_addstr(buf, current_config_name()); + else + quote_c_style(current_config_name(), buf, NULL, 0); + strbuf_addch(buf, term); +} + static int show_all_config(const char *key_, const char *value_, void *cb) { + if (show_origin) { + struct strbuf buf = STRBUF_INIT; + show_config_origin(&buf); + /* Use fwrite as "buf" can contain \0's if "end_null" is set. */ + fwrite(buf.buf, 1, buf.len, stdout); + strbuf_release(&buf); + } if (!omit_values && value_) printf("%s%c%s%c", key_, delim, value_, term); else @@ -108,6 +131,8 @@ struct strbuf_list { static int format_config(struct strbuf *buf, const char *key_, const char *value_) { + if (show_origin) + show_config_origin(buf); if (show_keys) strbuf_addstr(buf, key_); if (!omit_values) { @@ -352,6 +377,9 @@ static int get_colorbool(const char *var, int print) static void check_write(void) { + if (!given_config_source.file && !startup_info->have_repository) + die("not in a git directory"); + if (given_config_source.use_stdin) die("writing to stdin is not supported"); @@ -389,6 +417,7 @@ static int urlmatch_collect_fn(const char *var, const char *value, void *cb) static int get_urlmatch(const char *var, const char *url) { + int ret; char *section_tail; struct string_list_item *item; struct urlmatch_config config = { STRING_LIST_INIT_DUP }; @@ -415,6 +444,8 @@ static int get_urlmatch(const char *var, const char *url) git_config_with_options(urlmatch_config_entry, &config, &given_config_source, respect_includes); + ret = !values.nr; + for_each_string_list_item(item, &values) { struct urlmatch_current_candidate_value *matched = item->util; struct strbuf buf = STRBUF_INIT; @@ -431,7 +462,7 @@ static int get_urlmatch(const char *var, const char *url) free(config.url.url); free((void *)config.section); - return 0; + return ret; } static char *default_user_config(void) @@ -538,6 +569,14 @@ int cmd_config(int argc, const char **argv, const char *prefix) error("--name-only is only applicable to --list or --get-regexp"); usage_with_options(builtin_config_usage, builtin_config_options); } + + if (show_origin && !(actions & + (ACTION_GET|ACTION_GET_ALL|ACTION_GET_REGEXP|ACTION_LIST))) { + error("--show-origin is only applicable to --get, --get-all, " + "--get-regexp, and --list."); + usage_with_options(builtin_config_usage, builtin_config_options); + } + if (actions == ACTION_LIST) { check_argc(argc, 0, 0); if (git_config_with_options(show_all_config, NULL, @@ -582,7 +621,7 @@ int cmd_config(int argc, const char **argv, const char *prefix) check_write(); check_argc(argc, 2, 2); value = normalize_value(argv[0], argv[1]); - ret = git_config_set_in_file(given_config_source.file, argv[0], value); + ret = git_config_set_in_file_gently(given_config_source.file, argv[0], value); if (ret == CONFIG_NOTHING_SET) error("cannot overwrite multiple values with a single value\n" " Use a regexp, --add or --replace-all to change %s.", argv[0]); @@ -592,23 +631,23 @@ int cmd_config(int argc, const char **argv, const char *prefix) check_write(); check_argc(argc, 2, 3); value = normalize_value(argv[0], argv[1]); - return git_config_set_multivar_in_file(given_config_source.file, - argv[0], value, argv[2], 0); + return git_config_set_multivar_in_file_gently(given_config_source.file, + argv[0], value, argv[2], 0); } else if (actions == ACTION_ADD) { check_write(); check_argc(argc, 2, 2); value = normalize_value(argv[0], argv[1]); - return git_config_set_multivar_in_file(given_config_source.file, - argv[0], value, - CONFIG_REGEX_NONE, 0); + return git_config_set_multivar_in_file_gently(given_config_source.file, + argv[0], value, + CONFIG_REGEX_NONE, 0); } else if (actions == ACTION_REPLACE_ALL) { check_write(); check_argc(argc, 2, 3); value = normalize_value(argv[0], argv[1]); - return git_config_set_multivar_in_file(given_config_source.file, - argv[0], value, argv[2], 1); + return git_config_set_multivar_in_file_gently(given_config_source.file, + argv[0], value, argv[2], 1); } else if (actions == ACTION_GET) { check_argc(argc, 1, 2); @@ -634,17 +673,17 @@ int cmd_config(int argc, const char **argv, const char *prefix) check_write(); check_argc(argc, 1, 2); if (argc == 2) - return git_config_set_multivar_in_file(given_config_source.file, - argv[0], NULL, argv[1], 0); + return git_config_set_multivar_in_file_gently(given_config_source.file, + argv[0], NULL, argv[1], 0); else - return git_config_set_in_file(given_config_source.file, - argv[0], NULL); + return git_config_set_in_file_gently(given_config_source.file, + argv[0], NULL); } else if (actions == ACTION_UNSET_ALL) { check_write(); check_argc(argc, 1, 2); - return git_config_set_multivar_in_file(given_config_source.file, - argv[0], NULL, argv[1], 1); + return git_config_set_multivar_in_file_gently(given_config_source.file, + argv[0], NULL, argv[1], 1); } else if (actions == ACTION_RENAME_SECTION) { int ret; diff --git a/builtin/diff.c b/builtin/diff.c index 52c98a9217..343c6b8f25 100644 --- a/builtin/diff.c +++ b/builtin/diff.c @@ -318,6 +318,7 @@ int cmd_diff(int argc, const char **argv, const char *prefix) if (!no_index) gitmodules_config(); + init_diff_ui_defaults(); git_config(git_diff_ui_config, NULL); init_revisions(&rev, prefix); diff --git a/builtin/fast-export.c b/builtin/fast-export.c index 2471297f71..8164b581a6 100644 --- a/builtin/fast-export.c +++ b/builtin/fast-export.c @@ -1021,7 +1021,7 @@ int cmd_fast_export(int argc, const char **argv, const char *prefix) const char **refspecs_str; int i; - refspecs_str = xmalloc(sizeof(*refspecs_str) * refspecs_list.nr); + ALLOC_ARRAY(refspecs_str, refspecs_list.nr); for (i = 0; i < refspecs_list.nr; i++) refspecs_str[i] = refspecs_list.items[i].string; diff --git a/builtin/fetch-pack.c b/builtin/fetch-pack.c index 9b2a514e1d..bfd0be44a9 100644 --- a/builtin/fetch-pack.c +++ b/builtin/fetch-pack.c @@ -10,33 +10,34 @@ static const char fetch_pack_usage[] = "[--include-tag] [--upload-pack=<git-upload-pack>] [--depth=<n>] " "[--no-progress] [--diag-url] [-v] [<host>:]<directory> [<refs>...]"; -static void add_sought_entry_mem(struct ref ***sought, int *nr, int *alloc, - const char *name, int namelen) +static void add_sought_entry(struct ref ***sought, int *nr, int *alloc, + const char *name) { - struct ref *ref = xcalloc(1, sizeof(*ref) + namelen + 1); + struct ref *ref; struct object_id oid; - const int chunksz = GIT_SHA1_HEXSZ + 1; - if (namelen > chunksz && name[chunksz - 1] == ' ' && - !get_oid_hex(name, &oid)) { - oidcpy(&ref->old_oid, &oid); - name += chunksz; - namelen -= chunksz; + if (!get_oid_hex(name, &oid)) { + if (name[GIT_SHA1_HEXSZ] == ' ') { + /* <sha1> <ref>, find refname */ + name += GIT_SHA1_HEXSZ + 1; + } else if (name[GIT_SHA1_HEXSZ] == '\0') { + ; /* <sha1>, leave sha1 as name */ + } else { + /* <ref>, clear cruft from oid */ + oidclr(&oid); + } + } else { + /* <ref>, clear cruft from get_oid_hex */ + oidclr(&oid); } - memcpy(ref->name, name, namelen); - ref->name[namelen] = '\0'; + ref = alloc_ref(name); + oidcpy(&ref->old_oid, &oid); (*nr)++; ALLOC_GROW(*sought, *nr, *alloc); (*sought)[*nr - 1] = ref; } -static void add_sought_entry(struct ref ***sought, int *nr, int *alloc, - const char *string) -{ - add_sought_entry_mem(sought, nr, alloc, string, strlen(string)); -} - int cmd_fetch_pack(int argc, const char **argv, const char *prefix) { int i, ret; diff --git a/builtin/fetch.c b/builtin/fetch.c index 55919a9e4f..f8455bde7a 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -37,7 +37,7 @@ static int prune = -1; /* unspecified */ static int all, append, dry_run, force, keep, multiple, update_head_ok, verbosity; static int progress = -1, recurse_submodules = RECURSE_SUBMODULES_DEFAULT; static int tags = TAGS_DEFAULT, unshallow, update_shallow; -static int max_children = 1; +static int max_children = -1; static enum transport_family family; static const char *depth; static const char *upload_pack; @@ -1022,10 +1022,9 @@ static int add_remote_or_group(const char *name, struct string_list *list) git_config(get_remote_group, &g); if (list->nr == prev_nr) { - struct remote *remote; - if (!remote_is_configured(name)) + struct remote *remote = remote_get(name); + if (!remote_is_configured(remote)) return 0; - remote = remote_get(name); string_list_append(list, remote->name); } return 1; @@ -1116,7 +1115,7 @@ static int fetch_one(struct remote *remote, int argc, const char **argv) if (argc > 0) { int j = 0; int i; - refs = xcalloc(argc + 1, sizeof(const char *)); + refs = xcalloc(st_add(argc, 1), sizeof(const char *)); for (i = 0; i < argc; i++) { if (!strcmp(argv[i], "tag")) { i++; diff --git a/builtin/fsck.c b/builtin/fsck.c index 55eac756f7..3f27456883 100644 --- a/builtin/fsck.c +++ b/builtin/fsck.c @@ -493,13 +493,12 @@ static void fsck_object_dir(const char *path) static int fsck_head_link(void) { - int flag; int null_is_error = 0; if (verbose) fprintf(stderr, "Checking HEAD link\n"); - head_points_at = resolve_ref_unsafe("HEAD", 0, head_oid.hash, &flag); + head_points_at = resolve_ref_unsafe("HEAD", 0, head_oid.hash, NULL); if (!head_points_at) { errors_found |= ERROR_REFS; return error("Invalid HEAD"); diff --git a/builtin/grep.c b/builtin/grep.c index 8c516a9543..462e607901 100644 --- a/builtin/grep.c +++ b/builtin/grep.c @@ -365,17 +365,17 @@ static void append_path(struct grep_opt *opt, const void *data, size_t len) static void run_pager(struct grep_opt *opt, const char *prefix) { struct string_list *path_list = opt->output_priv; - const char **argv = xmalloc(sizeof(const char *) * (path_list->nr + 1)); + struct child_process child = CHILD_PROCESS_INIT; int i, status; for (i = 0; i < path_list->nr; i++) - argv[i] = path_list->items[i].string; - argv[path_list->nr] = NULL; + argv_array_push(&child.args, path_list->items[i].string); + child.dir = prefix; + child.use_shell = 1; - status = run_command_v_opt_cd_env(argv, RUN_USING_SHELL, prefix, NULL); + status = run_command(&child); if (status) exit(status); - free(argv); } static int grep_cache(struct grep_opt *opt, const struct pathspec *pathspec, int cached) @@ -438,7 +438,7 @@ static int grep_tree(struct grep_opt *opt, const struct pathspec *pathspec, strbuf_add(base, entry.path, te_len); if (S_ISREG(entry.mode)) { - hit |= grep_sha1(opt, entry.sha1, base->buf, tn_len, + hit |= grep_sha1(opt, entry.oid->hash, base->buf, tn_len, check_attr ? base->buf + tn_len : NULL); } else if (S_ISDIR(entry.mode)) { @@ -447,10 +447,10 @@ static int grep_tree(struct grep_opt *opt, const struct pathspec *pathspec, void *data; unsigned long size; - data = lock_and_read_sha1_file(entry.sha1, &type, &size); + data = lock_and_read_sha1_file(entry.oid->hash, &type, &size); if (!data) die(_("unable to read tree (%s)"), - sha1_to_hex(entry.sha1)); + oid_to_hex(entry.oid)); strbuf_addch(base, '/'); init_tree_desc(&sub, data, size); @@ -522,12 +522,14 @@ static int grep_objects(struct grep_opt *opt, const struct pathspec *pathspec, } static int grep_directory(struct grep_opt *opt, const struct pathspec *pathspec, - int exc_std) + int exc_std, int use_index) { struct dir_struct dir; int i, hit = 0; memset(&dir, 0, sizeof(dir)); + if (!use_index) + dir.flags |= DIR_NO_GITLINKS; if (exc_std) setup_standard_excludes(&dir); @@ -902,7 +904,7 @@ int cmd_grep(int argc, const char **argv, const char *prefix) int use_exclude = (opt_exclude < 0) ? use_index : !!opt_exclude; if (list.nr) die(_("--no-index or --untracked cannot be used with revs.")); - hit = grep_directory(&opt, &pathspec, use_exclude); + hit = grep_directory(&opt, &pathspec, use_exclude, use_index); } else if (0 <= opt_exclude) { die(_("--[no-]exclude-standard cannot be used for tracked contents.")); } else if (!list.nr) { diff --git a/builtin/help.c b/builtin/help.c index 1cd0c1ee44..3c55ce4563 100644 --- a/builtin/help.c +++ b/builtin/help.c @@ -171,12 +171,10 @@ static void exec_man_cmd(const char *cmd, const char *page) static void add_man_viewer(const char *name) { struct man_viewer_list **p = &man_viewer_list; - size_t len = strlen(name); while (*p) p = &((*p)->next); - *p = xcalloc(1, (sizeof(**p) + len + 1)); - memcpy((*p)->name, name, len); /* NUL-terminated by xcalloc */ + FLEX_ALLOC_STR(*p, name, name); } static int supported_man_viewer(const char *name, size_t len) @@ -190,9 +188,8 @@ static void do_add_man_viewer_info(const char *name, size_t len, const char *value) { - struct man_viewer_info_list *new = xcalloc(1, sizeof(*new) + len + 1); - - memcpy(new->name, name, len); /* NUL-terminated by xcalloc */ + struct man_viewer_info_list *new; + FLEX_ALLOC_MEM(new, name, name, len); new->info = xstrdup(value); new->next = man_viewer_info_list; man_viewer_info_list = new; diff --git a/builtin/index-pack.c b/builtin/index-pack.c index 6a01509587..e8c71fc1d2 100644 --- a/builtin/index-pack.c +++ b/builtin/index-pack.c @@ -1250,7 +1250,9 @@ static void conclude_pack(int fix_thin_pack, const char *curr_pack, unsigned cha nr_unresolved * sizeof(*objects)); f = sha1fd(output_fd, curr_pack); fix_unresolved_deltas(f); - strbuf_addf(&msg, _("completed with %d local objects"), + strbuf_addf(&msg, Q_("completed with %d local object", + "completed with %d local objects", + nr_objects - nr_objects_initial), nr_objects - nr_objects_initial); stop_progress_msg(&progress, msg.buf); strbuf_release(&msg); @@ -1346,7 +1348,7 @@ static void fix_unresolved_deltas(struct sha1file *f) * before deltas depending on them, a good heuristic is to start * resolving deltas in the same order as their position in the pack. */ - sorted_by_pos = xmalloc(nr_ref_deltas * sizeof(*sorted_by_pos)); + ALLOC_ARRAY(sorted_by_pos, nr_ref_deltas); for (i = 0; i < nr_ref_deltas; i++) sorted_by_pos[i] = &ref_deltas[i]; qsort(sorted_by_pos, nr_ref_deltas, sizeof(*sorted_by_pos), delta_pos_compare); @@ -1514,6 +1516,7 @@ static void read_v2_anomalous_offsets(struct packed_git *p, if (!(off & 0x80000000)) continue; off = off & 0x7fffffff; + check_pack_index_ptr(p, &idx2[off * 2]); if (idx2[off * 2]) continue; /* @@ -1598,6 +1601,18 @@ static void show_pack_info(int stat_only) } } +static const char *derive_filename(const char *pack_name, const char *suffix, + struct strbuf *buf) +{ + size_t len; + if (!strip_suffix(pack_name, ".pack", &len)) + die(_("packfile name '%s' does not end with '.pack'"), + pack_name); + strbuf_add(buf, pack_name, len); + strbuf_addstr(buf, suffix); + return buf->buf; +} + int cmd_index_pack(int argc, const char **argv, const char *prefix) { int i, fix_thin_pack = 0, verify = 0, stat_only = 0; @@ -1706,24 +1721,11 @@ int cmd_index_pack(int argc, const char **argv, const char *prefix) usage(index_pack_usage); if (fix_thin_pack && !from_stdin) die(_("--fix-thin cannot be used without --stdin")); - if (!index_name && pack_name) { - size_t len; - if (!strip_suffix(pack_name, ".pack", &len)) - die(_("packfile name '%s' does not end with '.pack'"), - pack_name); - strbuf_add(&index_name_buf, pack_name, len); - strbuf_addstr(&index_name_buf, ".idx"); - index_name = index_name_buf.buf; - } - if (keep_msg && !keep_name && pack_name) { - size_t len; - if (!strip_suffix(pack_name, ".pack", &len)) - die(_("packfile name '%s' does not end with '.pack'"), - pack_name); - strbuf_add(&keep_name_buf, pack_name, len); - strbuf_addstr(&keep_name_buf, ".idx"); - keep_name = keep_name_buf.buf; - } + if (!index_name && pack_name) + index_name = derive_filename(pack_name, ".idx", &index_name_buf); + if (keep_msg && !keep_name && pack_name) + keep_name = derive_filename(pack_name, ".keep", &keep_name_buf); + if (verify) { if (!index_name) die(_("--verify with no packfile name given")); @@ -1744,9 +1746,9 @@ int cmd_index_pack(int argc, const char **argv, const char *prefix) curr_pack = open_pack_file(pack_name); parse_pack_header(); - objects = xcalloc(nr_objects + 1, sizeof(struct object_entry)); + objects = xcalloc(st_add(nr_objects, 1), sizeof(struct object_entry)); if (show_stat) - obj_stat = xcalloc(nr_objects + 1, sizeof(struct object_stat)); + obj_stat = xcalloc(st_add(nr_objects, 1), sizeof(struct object_stat)); ofs_deltas = xcalloc(nr_objects, sizeof(struct ofs_delta_entry)); parse_pack_objects(pack_sha1); resolve_deltas(); @@ -1759,7 +1761,7 @@ int cmd_index_pack(int argc, const char **argv, const char *prefix) if (show_stat) show_pack_info(stat_only); - idx_objects = xmalloc((nr_objects) * sizeof(struct pack_idx_entry *)); + ALLOC_ARRAY(idx_objects, nr_objects); for (i = 0; i < nr_objects; i++) idx_objects[i] = &objects[i].idx; curr_index = write_idx_file(index_name, idx_objects, nr_objects, &opts, pack_sha1); diff --git a/builtin/init-db.c b/builtin/init-db.c index 07229d60f1..b2d8d40a67 100644 --- a/builtin/init-db.c +++ b/builtin/init-db.c @@ -95,6 +95,8 @@ static void copy_templates(const char *template_dir) struct strbuf path = STRBUF_INIT; struct strbuf template_path = STRBUF_INIT; size_t template_len; + struct repository_format template_format; + struct strbuf err = STRBUF_INIT; DIR *dir; char *to_free = NULL; @@ -121,17 +123,18 @@ static void copy_templates(const char *template_dir) /* Make sure that template is from the correct vintage */ strbuf_addstr(&template_path, "config"); - repository_format_version = 0; - git_config_from_file(check_repository_format_version, - template_path.buf, NULL); + read_repository_format(&template_format, template_path.buf); strbuf_setlen(&template_path, template_len); - if (repository_format_version && - repository_format_version != GIT_REPO_VERSION) { - warning(_("not copying templates of " - "a wrong format version %d from '%s'"), - repository_format_version, - template_dir); + /* + * No mention of version at all is OK, but anything else should be + * verified. + */ + if (template_format.version >= 0 && + verify_repository_format(&template_format, &err) < 0) { + warning(_("not copying templates from '%s': %s"), + template_dir, err.buf); + strbuf_release(&err); goto close_free_return; } @@ -199,13 +202,13 @@ static int create_default_files(const char *template_path) /* reading existing config may have overwrote it */ if (init_shared_repository != -1) - shared_repository = init_shared_repository; + set_shared_repository(init_shared_repository); /* * We would have created the above under user's umask -- under * shared-repository settings, we would need to fix them up. */ - if (shared_repository) { + if (get_shared_repository()) { adjust_shared_perm(get_git_dir()); adjust_shared_perm(git_path_buf(&buf, "refs")); adjust_shared_perm(git_path_buf(&buf, "refs/heads")); @@ -250,7 +253,7 @@ static int create_default_files(const char *template_path) git_config_set("core.bare", "false"); /* allow template config file to override the default */ if (log_all_ref_updates == -1) - git_config_set("core.logallrefupdates", "true"); + git_config_set("core.logallrefupdates", "true"); if (needs_work_tree_config(get_git_dir(), work_tree)) git_config_set("core.worktree", work_tree); } @@ -322,6 +325,7 @@ int set_git_dir_init(const char *git_dir, const char *real_git_dir, set_git_dir(real_path(git_dir)); git_link = NULL; } + startup_info->have_repository = 1; return 0; } @@ -369,7 +373,7 @@ int init_db(const char *template_dir, unsigned int flags) create_object_directory(); - if (shared_repository) { + if (get_shared_repository()) { char buf[10]; /* We do not spell "group" and such, so that * the configuration can be read by older version @@ -377,12 +381,12 @@ int init_db(const char *template_dir, unsigned int flags) * and compatibility values for PERM_GROUP and * PERM_EVERYBODY. */ - if (shared_repository < 0) + if (get_shared_repository() < 0) /* force to the mode value */ - xsnprintf(buf, sizeof(buf), "0%o", -shared_repository); - else if (shared_repository == PERM_GROUP) + xsnprintf(buf, sizeof(buf), "0%o", -get_shared_repository()); + else if (get_shared_repository() == PERM_GROUP) xsnprintf(buf, sizeof(buf), "%d", OLD_PERM_GROUP); - else if (shared_repository == PERM_EVERYBODY) + else if (get_shared_repository() == PERM_EVERYBODY) xsnprintf(buf, sizeof(buf), "%d", OLD_PERM_EVERYBODY); else die("BUG: invalid value for shared_repository"); @@ -398,7 +402,7 @@ int init_db(const char *template_dir, unsigned int flags) "", and the last '%s%s' is the verbatim directory name. */ printf(_("%s%s Git repository in %s%s\n"), reinit ? _("Reinitialized existing") : _("Initialized empty"), - shared_repository ? _(" shared") : "", + get_shared_repository() ? _(" shared") : "", git_dir, len && git_dir[len-1] != '/' ? "/" : ""); } @@ -493,8 +497,8 @@ int cmd_init_db(int argc, const char **argv, const char *prefix) * and we know shared_repository should always be 0; * but just in case we play safe. */ - saved = shared_repository; - shared_repository = 0; + saved = get_shared_repository(); + set_shared_repository(0); switch (safe_create_leading_directories_const(argv[0])) { case SCLD_OK: case SCLD_PERMS: @@ -506,7 +510,7 @@ int cmd_init_db(int argc, const char **argv, const char *prefix) die_errno(_("cannot mkdir %s"), argv[0]); break; } - shared_repository = saved; + set_shared_repository(saved); if (mkdir(argv[0], 0777) < 0) die_errno(_("cannot mkdir %s"), argv[0]); mkdir_tried = 1; @@ -524,7 +528,7 @@ int cmd_init_db(int argc, const char **argv, const char *prefix) } if (init_shared_repository != -1) - shared_repository = init_shared_repository; + set_shared_repository(init_shared_repository); /* * GIT_WORK_TREE makes sense only in conjunction with GIT_DIR diff --git a/builtin/log.c b/builtin/log.c index 0d738d6ddc..dff3fbbb43 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -100,6 +100,12 @@ static int log_line_range_callback(const struct option *option, const char *arg, return 0; } +static void init_log_defaults(void) +{ + init_grep_defaults(); + init_diff_ui_defaults(); +} + static void cmd_log_init_defaults(struct rev_info *rev) { if (fmt_pretty) @@ -416,7 +422,7 @@ int cmd_whatchanged(int argc, const char **argv, const char *prefix) struct rev_info rev; struct setup_revision_opt opt; - init_grep_defaults(); + init_log_defaults(); git_config(git_log_config, NULL); init_revisions(&rev, prefix); @@ -527,7 +533,7 @@ int cmd_show(int argc, const char **argv, const char *prefix) struct pathspec match_all; int i, count, ret = 0; - init_grep_defaults(); + init_log_defaults(); git_config(git_log_config, NULL); memset(&match_all, 0, sizeof(match_all)); @@ -608,7 +614,7 @@ int cmd_log_reflog(int argc, const char **argv, const char *prefix) struct rev_info rev; struct setup_revision_opt opt; - init_grep_defaults(); + init_log_defaults(); git_config(git_log_config, NULL); init_revisions(&rev, prefix); @@ -647,7 +653,7 @@ int cmd_log(int argc, const char **argv, const char *prefix) struct rev_info rev; struct setup_revision_opt opt; - init_grep_defaults(); + init_log_defaults(); git_config(git_log_config, NULL); init_revisions(&rev, prefix); @@ -1280,10 +1286,11 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix) extra_hdr.strdup_strings = 1; extra_to.strdup_strings = 1; extra_cc.strdup_strings = 1; - init_grep_defaults(); + init_log_defaults(); git_config(git_format_config, NULL); init_revisions(&rev, prefix); rev.commit_format = CMIT_FMT_EMAIL; + rev.expand_tabs_in_log_default = 0; rev.verbose_header = 1; rev.diff = 1; rev.max_parents = 1; diff --git a/builtin/merge-base.c b/builtin/merge-base.c index a8911626c2..c0d1822eb3 100644 --- a/builtin/merge-base.c +++ b/builtin/merge-base.c @@ -252,7 +252,7 @@ int cmd_merge_base(int argc, const char **argv, const char *prefix) if (argc < 2) usage_with_options(merge_base_usage, options); - rev = xmalloc(argc * sizeof(*rev)); + ALLOC_ARRAY(rev, argc); while (argc-- > 0) rev[rev_nr++] = get_commit_reference(*argv++); return show_merge_base(rev, rev_nr, show_all); diff --git a/builtin/merge-tree.c b/builtin/merge-tree.c index d4f0cbd451..5b7ab9b967 100644 --- a/builtin/merge-tree.c +++ b/builtin/merge-tree.c @@ -150,15 +150,15 @@ static void show_result(void) /* An empty entry never compares same, not even to another empty entry */ static int same_entry(struct name_entry *a, struct name_entry *b) { - return a->sha1 && - b->sha1 && - !hashcmp(a->sha1, b->sha1) && + return a->oid && + b->oid && + !oidcmp(a->oid, b->oid) && a->mode == b->mode; } static int both_empty(struct name_entry *a, struct name_entry *b) { - return !(a->sha1 || b->sha1); + return !(a->oid || b->oid); } static struct merge_list *create_entry(unsigned stage, unsigned mode, const unsigned char *sha1, const char *path) @@ -174,7 +174,7 @@ static struct merge_list *create_entry(unsigned stage, unsigned mode, const unsi static char *traverse_path(const struct traverse_info *info, const struct name_entry *n) { - char *path = xmalloc(traverse_path_len(info, n) + 1); + char *path = xmallocz(traverse_path_len(info, n)); return make_traverse_path(path, info, n); } @@ -188,8 +188,8 @@ static void resolve(const struct traverse_info *info, struct name_entry *ours, s return; path = traverse_path(info, result); - orig = create_entry(2, ours->mode, ours->sha1, path); - final = create_entry(0, result->mode, result->sha1, path); + orig = create_entry(2, ours->mode, ours->oid->hash, path); + final = create_entry(0, result->mode, result->oid->hash, path); final->link = orig; @@ -213,7 +213,7 @@ static void unresolved_directory(const struct traverse_info *info, newbase = traverse_path(info, p); -#define ENTRY_SHA1(e) (((e)->mode && S_ISDIR((e)->mode)) ? (e)->sha1 : NULL) +#define ENTRY_SHA1(e) (((e)->mode && S_ISDIR((e)->mode)) ? (e)->oid->hash : NULL) buf0 = fill_tree_descriptor(t+0, ENTRY_SHA1(n + 0)); buf1 = fill_tree_descriptor(t+1, ENTRY_SHA1(n + 1)); buf2 = fill_tree_descriptor(t+2, ENTRY_SHA1(n + 2)); @@ -239,7 +239,7 @@ static struct merge_list *link_entry(unsigned stage, const struct traverse_info path = entry->path; else path = traverse_path(info, n); - link = create_entry(stage, n->mode, n->sha1, path); + link = create_entry(stage, n->mode, n->oid->hash, path); link->link = entry; return link; } @@ -314,7 +314,7 @@ static int threeway_callback(int n, unsigned long mask, unsigned long dirmask, s } if (same_entry(entry+0, entry+1)) { - if (entry[2].sha1 && !S_ISDIR(entry[2].mode)) { + if (entry[2].oid && !S_ISDIR(entry[2].mode)) { /* We did not touch, they modified -- take theirs */ resolve(info, entry+1, entry+2); return mask; diff --git a/builtin/merge.c b/builtin/merge.c index b98a3489bf..b555a1bf9c 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -64,6 +64,7 @@ static int option_renormalize; static int verbosity; static int allow_rerere_auto; static int abort_current_merge; +static int allow_unrelated_histories; static int show_progress = -1; static int default_to_upstream = 1; static const char *sign_commit; @@ -221,6 +222,8 @@ static struct option builtin_merge_options[] = { OPT__VERBOSITY(&verbosity), OPT_BOOL(0, "abort", &abort_current_merge, N_("abort the current in-progress merge")), + OPT_BOOL(0, "allow-unrelated-histories", &allow_unrelated_histories, + N_("allow merging unrelated histories")), OPT_SET_INT(0, "progress", &show_progress, N_("force progress reporting"), 1), { OPTION_STRING, 'S', "gpg-sign", &sign_commit, N_("key-id"), N_("GPG sign commit"), PARSE_OPT_OPTARG, NULL, (intptr_t) "" }, @@ -819,6 +822,14 @@ static int merge_trivial(struct commit *head, struct commit_list *remoteheads) { unsigned char result_tree[20], result_commit[20]; struct commit_list *parents, **pptr = &parents; + static struct lock_file lock; + + hold_locked_index(&lock, 1); + refresh_cache(REFRESH_QUIET); + if (active_cache_changed && + write_locked_index(&the_index, &lock, COMMIT_LOCK)) + return error(_("Unable to write index.")); + rollback_lock_file(&lock); write_tree_trivial(result_tree); printf(_("Wonderful.\n")); @@ -939,7 +950,7 @@ static int setup_with_upstream(const char ***argv) if (!branch->merge_nr) die(_("No default upstream defined for the current branch.")); - args = xcalloc(branch->merge_nr + 1, sizeof(char *)); + args = xcalloc(st_add(branch->merge_nr, 1), sizeof(char *)); for (i = 0; i < branch->merge_nr; i++) { if (!branch->merge[i]->dst) die(_("No remote-tracking branch for %s from %s"), @@ -1165,7 +1176,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix) struct commit *head_commit; struct strbuf buf = STRBUF_INIT; const char *head_arg; - int flag, i, ret = 0, head_subsumed; + int i, ret = 0, head_subsumed; int best_cnt = -1, merge_was_ok = 0, automerge_was_ok = 0; struct commit_list *common = NULL; const char *best_strategy = NULL, *wt_strategy = NULL; @@ -1179,7 +1190,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix) * Check if we are _not_ on a detached HEAD, i.e. if there is a * current branch. */ - branch = branch_to_free = resolve_refdup("HEAD", 0, head_sha1, &flag); + branch = branch_to_free = resolve_refdup("HEAD", 0, head_sha1, NULL); if (branch && starts_with(branch, "refs/heads/")) branch += 11; if (!branch || is_null_sha1(head_sha1)) @@ -1187,6 +1198,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix) else head_commit = lookup_commit_or_die(head_sha1, "HEAD"); + init_diff_ui_defaults(); git_config(git_merge_config, NULL); if (branch_mergeoptions) @@ -1257,12 +1269,12 @@ int cmd_merge(int argc, const char **argv, const char *prefix) builtin_merge_options); if (!head_commit) { - struct commit *remote_head; /* * If the merged head is a valid one there is no reason * to forbid "git merge" into a branch yet to be born. * We do the same for "git pull". */ + unsigned char *remote_head_sha1; if (squash) die(_("Squash commit into empty head not supported yet")); if (fast_forward == FF_NO) @@ -1270,13 +1282,13 @@ int cmd_merge(int argc, const char **argv, const char *prefix) "an empty head")); remoteheads = collect_parents(head_commit, &head_subsumed, argc, argv, NULL); - remote_head = remoteheads->item; - if (!remote_head) + if (!remoteheads) die(_("%s - not something we can merge"), argv[0]); if (remoteheads->next) die(_("Can merge only exactly one commit into empty head")); - read_empty(remote_head->object.oid.hash, 0); - update_ref("initial pull", "HEAD", remote_head->object.oid.hash, + remote_head_sha1 = remoteheads->item->object.oid.hash; + read_empty(remote_head_sha1, 0); + update_ref("initial pull", "HEAD", remote_head_sha1, NULL, 0, UPDATE_REFS_DIE_ON_ERR); goto done; } @@ -1397,9 +1409,12 @@ int cmd_merge(int argc, const char **argv, const char *prefix) update_ref("updating ORIG_HEAD", "ORIG_HEAD", head_commit->object.oid.hash, NULL, 0, UPDATE_REFS_DIE_ON_ERR); - if (remoteheads && !common) - ; /* No common ancestors found. We need a real merge. */ - else if (!remoteheads || + if (remoteheads && !common) { + /* No common ancestors found. */ + if (!allow_unrelated_histories) + die(_("refusing to merge unrelated histories")); + /* otherwise, we need a real merge. */ + } else if (!remoteheads || (!remoteheads->next && !common->next && common->item == remoteheads->item)) { /* diff --git a/builtin/mktree.c b/builtin/mktree.c index a237caacfd..4282b62c59 100644 --- a/builtin/mktree.c +++ b/builtin/mktree.c @@ -19,16 +19,17 @@ static int alloc, used; static void append_to_tree(unsigned mode, unsigned char *sha1, char *path) { struct treeent *ent; - int len = strlen(path); + size_t len = strlen(path); if (strchr(path, '/')) die("path %s contains slash", path); - ALLOC_GROW(entries, used + 1, alloc); - ent = entries[used++] = xmalloc(sizeof(**entries) + len + 1); + FLEX_ALLOC_MEM(ent, name, path, len); ent->mode = mode; ent->len = len; hashcpy(ent->sha1, sha1); - memcpy(ent->name, path, len+1); + + ALLOC_GROW(entries, used + 1, alloc); + entries[used++] = ent; } static int ent_compare(const void *a_, const void *b_) diff --git a/builtin/mv.c b/builtin/mv.c index d1d43168ae..a2014266b6 100644 --- a/builtin/mv.c +++ b/builtin/mv.c @@ -24,7 +24,8 @@ static const char **internal_copy_pathspec(const char *prefix, int count, unsigned flags) { int i; - const char **result = xmalloc((count + 1) * sizeof(const char *)); + const char **result; + ALLOC_ARRAY(result, count + 1); memcpy(result, pathspec, count * sizeof(const char *)); result[count] = NULL; for (i = 0; i < count; i++) { @@ -47,9 +48,9 @@ static const char **internal_copy_pathspec(const char *prefix, static const char *add_slash(const char *path) { - int len = strlen(path); + size_t len = strlen(path); if (path[len - 1] != '/') { - char *with_slash = xmalloc(len + 2); + char *with_slash = xmalloc(st_add(len, 2)); memcpy(with_slash, path, len); with_slash[len++] = '/'; with_slash[len] = 0; @@ -251,15 +252,18 @@ int cmd_mv(int argc, const char **argv, const char *prefix) int pos; if (show_only || verbose) printf(_("Renaming %s to %s\n"), src, dst); - if (!show_only && mode != INDEX) { - if (rename(src, dst) < 0 && !ignore_errors) - die_errno(_("renaming '%s' failed"), src); - if (submodule_gitfile[i]) { - if (submodule_gitfile[i] != SUBMODULE_WITH_GITDIR) - connect_work_tree_and_git_dir(dst, submodule_gitfile[i]); - if (!update_path_in_gitmodules(src, dst)) - gitmodules_modified = 1; - } + if (show_only) + continue; + if (mode != INDEX && rename(src, dst) < 0) { + if (ignore_errors) + continue; + die_errno(_("renaming '%s' failed"), src); + } + if (submodule_gitfile[i]) { + if (submodule_gitfile[i] != SUBMODULE_WITH_GITDIR) + connect_work_tree_and_git_dir(dst, submodule_gitfile[i]); + if (!update_path_in_gitmodules(src, dst)) + gitmodules_modified = 1; } if (mode == WORKING_DIRECTORY) diff --git a/builtin/name-rev.c b/builtin/name-rev.c index 092e03c3cc..57be35faf5 100644 --- a/builtin/name-rev.c +++ b/builtin/name-rev.c @@ -10,6 +10,7 @@ typedef struct rev_name { const char *tip_name; + unsigned long taggerdate; int generation; int distance; } rev_name; @@ -20,7 +21,8 @@ static long cutoff = LONG_MAX; #define MERGE_TRAVERSAL_WEIGHT 65535 static void name_rev(struct commit *commit, - const char *tip_name, int generation, int distance, + const char *tip_name, unsigned long taggerdate, + int generation, int distance, int deref) { struct rev_name *name = (struct rev_name *)commit->util; @@ -43,9 +45,12 @@ static void name_rev(struct commit *commit, name = xmalloc(sizeof(rev_name)); commit->util = name; goto copy_data; - } else if (name->distance > distance) { + } else if (name->taggerdate > taggerdate || + (name->taggerdate == taggerdate && + name->distance > distance)) { copy_data: name->tip_name = tip_name; + name->taggerdate = taggerdate; name->generation = generation; name->distance = distance; } else @@ -66,11 +71,11 @@ copy_data: new_name = xstrfmt("%.*s^%d", (int)len, tip_name, parent_number); - name_rev(parents->item, new_name, 0, + name_rev(parents->item, new_name, taggerdate, 0, distance + MERGE_TRAVERSAL_WEIGHT, 0); } else { - name_rev(parents->item, tip_name, generation + 1, - distance + 1, 0); + name_rev(parents->item, tip_name, taggerdate, + generation + 1, distance + 1, 0); } } } @@ -140,6 +145,7 @@ static int name_ref(const char *path, const struct object_id *oid, int flags, vo struct name_ref_data *data = cb_data; int can_abbreviate_output = data->tags_only && data->name_only; int deref = 0; + unsigned long taggerdate = ULONG_MAX; if (data->tags_only && !starts_with(path, "refs/tags/")) return 0; @@ -164,12 +170,13 @@ static int name_ref(const char *path, const struct object_id *oid, int flags, vo break; /* broken repository */ o = parse_object(t->tagged->oid.hash); deref = 1; + taggerdate = t->date; } if (o && o->type == OBJ_COMMIT) { struct commit *commit = (struct commit *)o; path = name_ref_abbrev(path, can_abbreviate_output); - name_rev(commit, xstrdup(path), 0, 0, deref); + name_rev(commit, xstrdup(path), taggerdate, 0, 0, deref); } return 0; } diff --git a/builtin/notes.c b/builtin/notes.c index ed6f2222f4..6fd058de92 100644 --- a/builtin/notes.c +++ b/builtin/notes.c @@ -744,13 +744,14 @@ static int merge_commit(struct notes_merge_options *o) static int git_config_get_notes_strategy(const char *key, enum notes_merge_strategy *strategy) { - const char *value; + char *value; - if (git_config_get_string_const(key, &value)) + if (git_config_get_string(key, &value)) return 1; if (parse_notes_merge_strategy(value, strategy)) git_die_config(key, "unknown notes merge strategy %s", value); + free(value); return 0; } diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c index a6609f19ff..14dccb5283 100644 --- a/builtin/pack-objects.c +++ b/builtin/pack-objects.c @@ -624,7 +624,7 @@ static struct object_entry **compute_write_order(void) { unsigned int i, wo_end, last_untagged; - struct object_entry **wo = xmalloc(to_pack.nr_objects * sizeof(*wo)); + struct object_entry **wo; struct object_entry *objects = to_pack.objects; for (i = 0; i < to_pack.nr_objects; i++) { @@ -657,6 +657,7 @@ static struct object_entry **compute_write_order(void) * Give the objects in the original recency order until * we see a tagged tip. */ + ALLOC_ARRAY(wo, to_pack.nr_objects); for (i = wo_end = 0; i < to_pack.nr_objects; i++) { if (objects[i].tagged) break; @@ -758,6 +759,10 @@ static off_t write_reused_pack(struct sha1file *f) return reuse_packfile_offset - sizeof(struct pack_header); } +static const char no_split_warning[] = N_( +"disabling bitmap writing, packs are split due to pack.packSizeLimit" +); + static void write_pack_file(void) { uint32_t i = 0, j; @@ -769,7 +774,7 @@ static void write_pack_file(void) if (progress > pack_to_stdout) progress_state = start_progress(_("Writing objects"), nr_result); - written_list = xmalloc(to_pack.nr_objects * sizeof(*written_list)); + ALLOC_ARRAY(written_list, to_pack.nr_objects); write_order = compute_write_order(); do { @@ -812,7 +817,10 @@ static void write_pack_file(void) fixup_pack_header_footer(fd, sha1, pack_tmp_name, nr_written, sha1, offset); close(fd); - write_bitmap_index = 0; + if (write_bitmap_index) { + warning(_(no_split_warning)); + write_bitmap_index = 0; + } } if (!pack_to_stdout) { @@ -1185,7 +1193,7 @@ static void add_pbase_object(struct tree_desc *tree, if (cmp < 0) return; if (name[cmplen] != '/') { - add_object_entry(entry.sha1, + add_object_entry(entry.oid->hash, object_type(entry.mode), fullname, 1); return; @@ -1196,7 +1204,7 @@ static void add_pbase_object(struct tree_desc *tree, const char *down = name+cmplen+1; int downlen = name_cmp_len(down); - tree = pbase_tree_get(entry.sha1); + tree = pbase_tree_get(entry.oid->hash); if (!tree) return; init_tree_desc(&sub, tree->tree_data, tree->tree_size); @@ -2129,7 +2137,7 @@ static void prepare_pack(int window, int depth) if (!to_pack.nr_objects || !window || !depth) return; - delta_list = xmalloc(to_pack.nr_objects * sizeof(*delta_list)); + ALLOC_ARRAY(delta_list, to_pack.nr_objects); nr_deltas = n = 0; for (i = 0; i < to_pack.nr_objects; i++) { diff --git a/builtin/pack-redundant.c b/builtin/pack-redundant.c index d0532f66b1..72c815844d 100644 --- a/builtin/pack-redundant.c +++ b/builtin/pack-redundant.c @@ -53,7 +53,7 @@ static inline struct llist_item *llist_item_get(void) free_nodes = free_nodes->next; } else { int i = 1; - new = xmalloc(sizeof(struct llist_item) * BLKSIZE); + ALLOC_ARRAY(new, BLKSIZE); for (; i < BLKSIZE; i++) llist_item_put(&new[i]); } diff --git a/builtin/pull.c b/builtin/pull.c index 10eff03967..1d7333c8a1 100644 --- a/builtin/pull.c +++ b/builtin/pull.c @@ -86,9 +86,12 @@ static char *opt_commit; static char *opt_edit; static char *opt_ff; static char *opt_verify_signatures; +static int opt_autostash = -1; +static int config_autostash; static struct argv_array opt_strategies = ARGV_ARRAY_INIT; static struct argv_array opt_strategy_opts = ARGV_ARRAY_INIT; static char *opt_gpg_sign; +static int opt_allow_unrelated_histories; /* Options passed to git-fetch */ static char *opt_all; @@ -149,6 +152,8 @@ static struct option pull_options[] = { OPT_PASSTHRU(0, "verify-signatures", &opt_verify_signatures, NULL, N_("verify that the named commit has a valid GPG signature"), PARSE_OPT_NOARG), + OPT_BOOL(0, "autostash", &opt_autostash, + N_("automatically stash/stash pop before and after rebase")), OPT_PASSTHRU_ARGV('s', "strategy", &opt_strategies, N_("strategy"), N_("merge strategy to use"), 0), @@ -159,6 +164,9 @@ static struct option pull_options[] = { OPT_PASSTHRU('S', "gpg-sign", &opt_gpg_sign, N_("key-id"), N_("GPG sign commit"), PARSE_OPT_OPTARG), + OPT_SET_INT(0, "allow-unrelated-histories", + &opt_allow_unrelated_histories, + N_("allow merging unrelated histories"), 1), /* Options passed to git-fetch */ OPT_GROUP(N_("Options related to fetching")), @@ -306,6 +314,18 @@ static enum rebase_type config_get_rebase(void) } /** + * Read config variables. + */ +static int git_pull_config(const char *var, const char *value, void *cb) +{ + if (!strcmp(var, "rebase.autostash")) { + config_autostash = git_config_bool(var, value); + return 0; + } + return git_default_config(var, value, cb); +} + +/** * Returns 1 if there are unstaged changes, 0 otherwise. */ static int has_unstaged_changes(const char *prefix) @@ -458,13 +478,13 @@ static void NORETURN die_no_merge_candidates(const char *repo, const char **refs fprintf_ln(stderr, _("Please specify which branch you want to merge with.")); fprintf_ln(stderr, _("See git-pull(1) for details.")); fprintf(stderr, "\n"); - fprintf_ln(stderr, " git pull <remote> <branch>"); + fprintf_ln(stderr, " git pull %s %s", _("<remote>"), _("<branch>")); fprintf(stderr, "\n"); } else if (!curr_branch->merge_nr) { const char *remote_name = NULL; if (for_each_remote(get_only_remote, &remote_name) || !remote_name) - remote_name = "<remote>"; + remote_name = _("<remote>"); fprintf_ln(stderr, _("There is no tracking information for the current branch.")); if (opt_rebase) @@ -473,12 +493,12 @@ static void NORETURN die_no_merge_candidates(const char *repo, const char **refs fprintf_ln(stderr, _("Please specify which branch you want to merge with.")); fprintf_ln(stderr, _("See git-pull(1) for details.")); fprintf(stderr, "\n"); - fprintf_ln(stderr, " git pull <remote> <branch>"); + fprintf_ln(stderr, " git pull %s %s", _("<remote>"), _("<branch>")); fprintf(stderr, "\n"); - fprintf_ln(stderr, _("If you wish to set tracking information for this branch you can do so with:\n" - "\n" - " git branch --set-upstream-to=%s/<branch> %s\n"), - remote_name, curr_branch->name); + fprintf_ln(stderr, _("If you wish to set tracking information for this branch you can do so with:")); + fprintf(stderr, "\n"); + fprintf_ln(stderr, " git branch --set-upstream-to=%s/%s %s\n", + remote_name, _("<branch>"), curr_branch->name); } else fprintf_ln(stderr, _("Your configuration specifies to merge with the ref '%s'\n" "from the remote, but no such ref was fetched."), @@ -612,6 +632,8 @@ static int run_merge(void) argv_array_pushv(&args, opt_strategy_opts.argv); if (opt_gpg_sign) argv_array_push(&args, opt_gpg_sign); + if (opt_allow_unrelated_histories > 0) + argv_array_push(&args, "--allow-unrelated-histories"); argv_array_push(&args, "FETCH_HEAD"); ret = run_command_v_opt(args.argv, RUN_GIT_CMD); @@ -789,6 +811,10 @@ static int run_rebase(const unsigned char *curr_head, argv_array_pushv(&args, opt_strategy_opts.argv); if (opt_gpg_sign) argv_array_push(&args, opt_gpg_sign); + if (opt_autostash == 0) + argv_array_push(&args, "--no-autostash"); + else if (opt_autostash == 1) + argv_array_push(&args, "--autostash"); argv_array_push(&args, "--onto"); argv_array_push(&args, sha1_to_hex(merge_head)); @@ -823,7 +849,7 @@ int cmd_pull(int argc, const char **argv, const char *prefix) if (opt_rebase < 0) opt_rebase = config_get_rebase(); - git_config(git_default_config, NULL); + git_config(git_pull_config, NULL); if (read_cache_unmerged()) die_resolve_conflict("Pull"); @@ -834,13 +860,17 @@ int cmd_pull(int argc, const char **argv, const char *prefix) if (get_sha1("HEAD", orig_head)) hashclr(orig_head); + if (!opt_rebase && opt_autostash != -1) + die(_("--[no-]autostash option is only valid with --rebase.")); + if (opt_rebase) { - int autostash = 0; + int autostash = config_autostash; + if (opt_autostash != -1) + autostash = opt_autostash; if (is_null_sha1(orig_head) && !is_cache_unborn()) die(_("Updating an unborn branch with changes added to the index.")); - git_config_get_bool("rebase.autostash", &autostash); if (!autostash) die_on_unclean_work_tree(prefix); diff --git a/builtin/push.c b/builtin/push.c index 6e13b3c90a..4e9e4dbab2 100644 --- a/builtin/push.c +++ b/builtin/push.c @@ -205,37 +205,6 @@ static void setup_push_current(struct remote *remote, struct branch *branch) add_refspec(branch->name); } -static char warn_unspecified_push_default_msg[] = -N_("push.default is unset; its implicit value has changed in\n" - "Git 2.0 from 'matching' to 'simple'. To squelch this message\n" - "and maintain the traditional behavior, use:\n" - "\n" - " git config --global push.default matching\n" - "\n" - "To squelch this message and adopt the new behavior now, use:\n" - "\n" - " git config --global push.default simple\n" - "\n" - "When push.default is set to 'matching', git will push local branches\n" - "to the remote branches that already exist with the same name.\n" - "\n" - "Since Git 2.0, Git defaults to the more conservative 'simple'\n" - "behavior, which only pushes the current branch to the corresponding\n" - "remote branch that 'git pull' uses to update the current branch.\n" - "\n" - "See 'git help config' and search for 'push.default' for further information.\n" - "(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n" - "'current' instead of 'simple' if you sometimes use older versions of Git)"); - -static void warn_unspecified_push_default_configuration(void) -{ - static int warn_once; - - if (warn_once++) - return; - warning("%s\n", _(warn_unspecified_push_default_msg)); -} - static int is_workflow_triangular(struct remote *remote) { struct remote *fetch_remote = remote_get(NULL); @@ -254,9 +223,6 @@ static void setup_default_push_refspecs(struct remote *remote) break; case PUSH_DEFAULT_UNSPECIFIED: - warn_unspecified_push_default_configuration(); - /* fallthru */ - case PUSH_DEFAULT_SIMPLE: if (triangular) setup_push_current(remote, branch); diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c index f2d6761af6..a744437b58 100644 --- a/builtin/receive-pack.c +++ b/builtin/receive-pack.c @@ -21,7 +21,10 @@ #include "sigchain.h" #include "fsck.h" -static const char receive_pack_usage[] = "git receive-pack <git-dir>"; +static const char * const receive_pack_usage[] = { + N_("git receive-pack <git-dir>"), + NULL +}; enum deny_action { DENY_UNCONFIGURED, @@ -49,7 +52,7 @@ static int quiet; static int prefer_ofs_delta = 1; static int auto_update_server_info; static int auto_gc = 1; -static int fix_thin = 1; +static int reject_thin; static int stateless_rpc; static const char *service_dir; static const char *head_name; @@ -1031,7 +1034,6 @@ static void run_update_post_hook(struct command *commands) { struct command *cmd; int argc; - const char **argv; struct child_process proc = CHILD_PROCESS_INIT; const char *hook; @@ -1044,21 +1046,16 @@ static void run_update_post_hook(struct command *commands) if (!argc || !hook) return; - argv = xmalloc(sizeof(*argv) * (2 + argc)); - argv[0] = hook; - - for (argc = 1, cmd = commands; cmd; cmd = cmd->next) { + argv_array_push(&proc.args, hook); + for (cmd = commands; cmd; cmd = cmd->next) { if (cmd->error_string || cmd->did_not_exist) continue; - argv[argc] = xstrdup(cmd->ref_name); - argc++; + argv_array_push(&proc.args, cmd->ref_name); } - argv[argc] = NULL; proc.no_stdin = 1; proc.stdout_to_stderr = 1; proc.err = use_sideband ? -1 : 0; - proc.argv = argv; if (!start_command(&proc)) { if (use_sideband) @@ -1087,13 +1084,13 @@ static void check_aliased_update(struct command *cmd, struct string_list *list) if (!(flag & REF_ISSYMREF)) return; - dst_name = strip_namespace(dst_name); if (!dst_name) { rp_error("refusing update to broken symref '%s'", cmd->ref_name); cmd->skip_update = 1; cmd->error_string = "broken symref"; return; } + dst_name = strip_namespace(dst_name); if ((item = string_list_lookup(list, dst_name)) == NULL) return; @@ -1378,7 +1375,7 @@ static struct command **queue_command(struct command **tail, refname = line + 82; reflen = linelen - 82; - cmd = xcalloc(1, sizeof(struct command) + reflen + 1); + cmd = xcalloc(1, st_add3(sizeof(struct command), reflen, 1)); hashcpy(cmd->old_sha1, old_sha1); hashcpy(cmd->new_sha1, new_sha1); memcpy(cmd->ref_name, refname, reflen); @@ -1554,7 +1551,7 @@ static const char *unpack(int err_fd, struct shallow_info *si) if (fsck_objects) argv_array_pushf(&child.args, "--strict%s", fsck_msg_types.buf); - if (fix_thin) + if (!reject_thin) argv_array_push(&child.args, "--fix-thin"); child.out = -1; child.err = err_fd; @@ -1597,8 +1594,7 @@ static void prepare_shallow_update(struct command *commands, { int i, j, k, bitmap_size = (si->ref->nr + 31) / 32; - si->used_shallow = xmalloc(sizeof(*si->used_shallow) * - si->shallow->nr); + ALLOC_ARRAY(si->used_shallow, si->shallow->nr); assign_shallow_commits_to_refs(si, si->used_shallow, NULL); si->need_reachability_test = @@ -1664,7 +1660,7 @@ static void update_shallow_info(struct command *commands, return; } - ref_status = xmalloc(sizeof(*ref_status) * ref->nr); + ALLOC_ARRAY(ref_status, ref->nr); assign_shallow_commits_to_refs(si, NULL, ref_status); for (cmd = commands; cmd; cmd = cmd->next) { if (is_null_sha1(cmd->new_sha1)) @@ -1714,45 +1710,29 @@ static int delete_only(struct command *commands) int cmd_receive_pack(int argc, const char **argv, const char *prefix) { int advertise_refs = 0; - int i; struct command *commands; struct sha1_array shallow = SHA1_ARRAY_INIT; struct sha1_array ref = SHA1_ARRAY_INIT; struct shallow_info si; - packet_trace_identity("receive-pack"); + struct option options[] = { + OPT__QUIET(&quiet, N_("quiet")), + OPT_HIDDEN_BOOL(0, "stateless-rpc", &stateless_rpc, NULL), + OPT_HIDDEN_BOOL(0, "advertise-refs", &advertise_refs, NULL), + OPT_HIDDEN_BOOL(0, "reject-thin-pack-for-testing", &reject_thin, NULL), + OPT_END() + }; - argv++; - for (i = 1; i < argc; i++) { - const char *arg = *argv++; + packet_trace_identity("receive-pack"); - if (*arg == '-') { - if (!strcmp(arg, "--quiet")) { - quiet = 1; - continue; - } + argc = parse_options(argc, argv, prefix, options, receive_pack_usage, 0); - if (!strcmp(arg, "--advertise-refs")) { - advertise_refs = 1; - continue; - } - if (!strcmp(arg, "--stateless-rpc")) { - stateless_rpc = 1; - continue; - } - if (!strcmp(arg, "--reject-thin-pack-for-testing")) { - fix_thin = 0; - continue; - } + if (argc > 1) + usage_msg_opt(_("Too many arguments."), receive_pack_usage, options); + if (argc == 0) + usage_msg_opt(_("You must specify a directory."), receive_pack_usage, options); - usage(receive_pack_usage); - } - if (service_dir) - usage(receive_pack_usage); - service_dir = arg; - } - if (!service_dir) - usage(receive_pack_usage); + service_dir = argv[0]; setup_path(); diff --git a/builtin/reflog.c b/builtin/reflog.c index f39960e5e4..7a7136e53e 100644 --- a/builtin/reflog.c +++ b/builtin/reflog.c @@ -84,8 +84,8 @@ static int tree_is_complete(const unsigned char *sha1) init_tree_desc(&desc, tree->buffer, tree->size); complete = 1; while (tree_entry(&desc, &entry)) { - if (!has_sha1_file(entry.sha1) || - (S_ISDIR(entry.mode) && !tree_is_complete(entry.sha1))) { + if (!has_sha1_file(entry.oid->hash) || + (S_ISDIR(entry.mode) && !tree_is_complete(entry.oid->hash))) { tree->object.flags |= INCOMPLETE; complete = 0; } @@ -382,11 +382,9 @@ static int collect_reflog(const char *ref, const struct object_id *oid, int unus { struct collected_reflog *e; struct collect_reflog_cb *cb = cb_data; - size_t namelen = strlen(ref); - e = xmalloc(sizeof(*e) + namelen + 1); + FLEX_ALLOC_STR(e, reflog, ref); hashcpy(e->sha1, oid->hash); - memcpy(e->reflog, ref, namelen + 1); ALLOC_GROW(cb->e, cb->nr + 1, cb->alloc); cb->e[cb->nr++] = e; return 0; @@ -396,7 +394,6 @@ static struct reflog_expire_cfg { struct reflog_expire_cfg *next; unsigned long expire_total; unsigned long expire_unreachable; - size_t len; char pattern[FLEX_ARRAY]; } *reflog_expire_cfg, **reflog_expire_cfg_tail; @@ -408,13 +405,11 @@ static struct reflog_expire_cfg *find_cfg_ent(const char *pattern, size_t len) reflog_expire_cfg_tail = &reflog_expire_cfg; for (ent = reflog_expire_cfg; ent; ent = ent->next) - if (ent->len == len && - !memcmp(ent->pattern, pattern, len)) + if (!strncmp(ent->pattern, pattern, len) && + ent->pattern[len] == '\0') return ent; - ent = xcalloc(1, (sizeof(*ent) + len)); - memcpy(ent->pattern, pattern, len); - ent->len = len; + FLEX_ALLOC_MEM(ent, pattern, pattern, len); *reflog_expire_cfg_tail = ent; reflog_expire_cfg_tail = &(ent->next); return ent; diff --git a/builtin/remote-ext.c b/builtin/remote-ext.c index e3cd25d580..88eb8f9013 100644 --- a/builtin/remote-ext.c +++ b/builtin/remote-ext.c @@ -114,30 +114,14 @@ static char *strip_escapes(const char *str, const char *service, } } -/* Should be enough... */ -#define MAXARGUMENTS 256 - -static const char **parse_argv(const char *arg, const char *service) +static void parse_argv(struct argv_array *out, const char *arg, const char *service) { - int arguments = 0; - int i; - const char **ret; - char *temparray[MAXARGUMENTS + 1]; - while (*arg) { - char *expanded; - if (arguments == MAXARGUMENTS) - die("remote-ext command has too many arguments"); - expanded = strip_escapes(arg, service, &arg); + char *expanded = strip_escapes(arg, service, &arg); if (expanded) - temparray[arguments++] = expanded; + argv_array_push(out, expanded); + free(expanded); } - - ret = xmalloc((arguments + 1) * sizeof(char *)); - for (i = 0; i < arguments; i++) - ret[i] = temparray[i]; - ret[arguments] = NULL; - return ret; } static void send_git_request(int stdin_fd, const char *serv, const char *repo, @@ -158,7 +142,7 @@ static int run_child(const char *arg, const char *service) child.in = -1; child.out = -1; child.err = 0; - child.argv = parse_argv(arg, service); + parse_argv(&child.args, arg, service); if (start_command(&child) < 0) die("Can't run specified command"); @@ -184,7 +168,7 @@ static int command_loop(const char *child) size_t i; if (!fgets(buffer, MAXCOMMAND - 1, stdin)) { if (ferror(stdin)) - die("Comammand input error"); + die("Command input error"); exit(0); } /* Strip end of line characters. */ diff --git a/builtin/remote.c b/builtin/remote.c index 2b2ff9b7d2..fda5c2e53d 100644 --- a/builtin/remote.c +++ b/builtin/remote.c @@ -108,8 +108,8 @@ enum { #define MIRROR_PUSH 2 #define MIRROR_BOTH (MIRROR_FETCH|MIRROR_PUSH) -static int add_branch(const char *key, const char *branchname, - const char *remotename, int mirror, struct strbuf *tmp) +static void add_branch(const char *key, const char *branchname, + const char *remotename, int mirror, struct strbuf *tmp) { strbuf_reset(tmp); strbuf_addch(tmp, '+'); @@ -119,7 +119,7 @@ static int add_branch(const char *key, const char *branchname, else strbuf_addf(tmp, "refs/heads/%s:refs/remotes/%s/%s", branchname, remotename, branchname); - return git_config_set_multivar(key, tmp->buf, "^$", 0); + git_config_set_multivar(key, tmp->buf, "^$", 0); } static const char mirror_advice[] = @@ -186,10 +186,7 @@ static int add(int argc, const char **argv) url = argv[1]; remote = remote_get(name); - if (remote && (remote->url_nr > 1 || - (strcmp(name, remote->url[0]) && - strcmp(url, remote->url[0])) || - remote->fetch_refspec_nr)) + if (remote_is_configured(remote)) die(_("remote %s already exists."), name); strbuf_addf(&buf2, "refs/heads/test:refs/remotes/%s/test", name); @@ -197,8 +194,7 @@ static int add(int argc, const char **argv) die(_("'%s' is not a valid remote name"), name); strbuf_addf(&buf, "remote.%s.url", name); - if (git_config_set(buf.buf, url)) - return 1; + git_config_set(buf.buf, url); if (!mirror || mirror & MIRROR_FETCH) { strbuf_reset(&buf); @@ -206,25 +202,22 @@ static int add(int argc, const char **argv) if (track.nr == 0) string_list_append(&track, "*"); for (i = 0; i < track.nr; i++) { - if (add_branch(buf.buf, track.items[i].string, - name, mirror, &buf2)) - return 1; + add_branch(buf.buf, track.items[i].string, + name, mirror, &buf2); } } if (mirror & MIRROR_PUSH) { strbuf_reset(&buf); strbuf_addf(&buf, "remote.%s.mirror", name); - if (git_config_set(buf.buf, "true")) - return 1; + git_config_set(buf.buf, "true"); } if (fetch_tags != TAGS_DEFAULT) { strbuf_reset(&buf); strbuf_addf(&buf, "remote.%s.tagopt", name); - if (git_config_set(buf.buf, - fetch_tags == TAGS_SET ? "--tags" : "--no-tags")) - return 1; + git_config_set(buf.buf, + fetch_tags == TAGS_SET ? "--tags" : "--no-tags"); } if (fetch && fetch_remote(name)) @@ -592,25 +585,20 @@ static int migrate_file(struct remote *remote) strbuf_addf(&buf, "remote.%s.url", remote->name); for (i = 0; i < remote->url_nr; i++) - if (git_config_set_multivar(buf.buf, remote->url[i], "^$", 0)) - return error(_("Could not append '%s' to '%s'"), - remote->url[i], buf.buf); + git_config_set_multivar(buf.buf, remote->url[i], "^$", 0); strbuf_reset(&buf); strbuf_addf(&buf, "remote.%s.push", remote->name); for (i = 0; i < remote->push_refspec_nr; i++) - if (git_config_set_multivar(buf.buf, remote->push_refspec[i], "^$", 0)) - return error(_("Could not append '%s' to '%s'"), - remote->push_refspec[i], buf.buf); + git_config_set_multivar(buf.buf, remote->push_refspec[i], "^$", 0); strbuf_reset(&buf); strbuf_addf(&buf, "remote.%s.fetch", remote->name); for (i = 0; i < remote->fetch_refspec_nr; i++) - if (git_config_set_multivar(buf.buf, remote->fetch_refspec[i], "^$", 0)) - return error(_("Could not append '%s' to '%s'"), - remote->fetch_refspec[i], buf.buf); + git_config_set_multivar(buf.buf, remote->fetch_refspec[i], "^$", 0); if (remote->origin == REMOTE_REMOTES) unlink_or_warn(git_path("remotes/%s", remote->name)); else if (remote->origin == REMOTE_BRANCHES) unlink_or_warn(git_path("branches/%s", remote->name)); + return 0; } @@ -634,14 +622,14 @@ static int mv(int argc, const char **argv) rename.remote_branches = &remote_branches; oldremote = remote_get(rename.old); - if (!oldremote) + if (!remote_is_configured(oldremote)) die(_("No such remote: %s"), rename.old); if (!strcmp(rename.old, rename.new) && oldremote->origin != REMOTE_CONFIG) return migrate_file(oldremote); newremote = remote_get(rename.new); - if (newremote && (newremote->url_nr > 1 || newremote->fetch_refspec_nr)) + if (remote_is_configured(newremote)) die(_("remote %s already exists."), rename.new); strbuf_addf(&buf, "refs/heads/test:refs/remotes/%s/test", rename.new); @@ -657,8 +645,7 @@ static int mv(int argc, const char **argv) strbuf_reset(&buf); strbuf_addf(&buf, "remote.%s.fetch", rename.new); - if (git_config_set_multivar(buf.buf, NULL, NULL, 1)) - return error(_("Could not remove config section '%s'"), buf.buf); + git_config_set_multivar(buf.buf, NULL, NULL, 1); strbuf_addf(&old_remote_context, ":refs/remotes/%s/", rename.old); for (i = 0; i < oldremote->fetch_refspec_nr; i++) { char *ptr; @@ -678,8 +665,7 @@ static int mv(int argc, const char **argv) "\tPlease update the configuration manually if necessary."), buf2.buf); - if (git_config_set_multivar(buf.buf, buf2.buf, "^$", 0)) - return error(_("Could not append '%s'"), buf.buf); + git_config_set_multivar(buf.buf, buf2.buf, "^$", 0); } read_branches(); @@ -689,9 +675,7 @@ static int mv(int argc, const char **argv) if (info->remote_name && !strcmp(info->remote_name, rename.old)) { strbuf_reset(&buf); strbuf_addf(&buf, "branch.%s.remote", item->string); - if (git_config_set(buf.buf, rename.new)) { - return error(_("Could not set '%s'"), buf.buf); - } + git_config_set(buf.buf, rename.new); } } @@ -773,7 +757,7 @@ static int rm(int argc, const char **argv) usage_with_options(builtin_remote_rm_usage, options); remote = remote_get(argv[1]); - if (!remote) + if (!remote_is_configured(remote)) die(_("No such remote: %s"), argv[1]); known_remotes.to_delete = remote; @@ -789,10 +773,7 @@ static int rm(int argc, const char **argv) strbuf_reset(&buf); strbuf_addf(&buf, "branch.%s.%s", item->string, *k); - if (git_config_set(buf.buf, NULL)) { - strbuf_release(&buf); - return -1; - } + git_config_set(buf.buf, NULL); } } } @@ -1413,24 +1394,20 @@ static int update(int argc, const char **argv) static int remove_all_fetch_refspecs(const char *remote, const char *key) { - return git_config_set_multivar(key, NULL, NULL, 1); + return git_config_set_multivar_gently(key, NULL, NULL, 1); } -static int add_branches(struct remote *remote, const char **branches, - const char *key) +static void add_branches(struct remote *remote, const char **branches, + const char *key) { const char *remotename = remote->name; int mirror = remote->mirror; struct strbuf refspec = STRBUF_INIT; for (; *branches; branches++) - if (add_branch(key, *branches, remotename, mirror, &refspec)) { - strbuf_release(&refspec); - return 1; - } + add_branch(key, *branches, remotename, mirror, &refspec); strbuf_release(&refspec); - return 0; } static int set_remote_branches(const char *remotename, const char **branches, @@ -1441,18 +1418,15 @@ static int set_remote_branches(const char *remotename, const char **branches, strbuf_addf(&key, "remote.%s.fetch", remotename); - if (!remote_is_configured(remotename)) - die(_("No such remote '%s'"), remotename); remote = remote_get(remotename); + if (!remote_is_configured(remote)) + die(_("No such remote '%s'"), remotename); if (!add_mode && remove_all_fetch_refspecs(remotename, key.buf)) { strbuf_release(&key); return 1; } - if (add_branches(remote, branches, key.buf)) { - strbuf_release(&key); - return 1; - } + add_branches(remote, branches, key.buf); strbuf_release(&key); return 0; @@ -1498,9 +1472,9 @@ static int get_url(int argc, const char **argv) remotename = argv[0]; - if (!remote_is_configured(remotename)) - die(_("No such remote '%s'"), remotename); remote = remote_get(remotename); + if (!remote_is_configured(remote)) + die(_("No such remote '%s'"), remotename); url_nr = 0; if (push_mode) { @@ -1566,9 +1540,9 @@ static int set_url(int argc, const char **argv) if (delete_mode) oldurl = newurl; - if (!remote_is_configured(remotename)) - die(_("No such remote '%s'"), remotename); remote = remote_get(remotename); + if (!remote_is_configured(remote)) + die(_("No such remote '%s'"), remotename); if (push_mode) { strbuf_addf(&name_buf, "remote.%s.pushurl", remotename); @@ -1584,10 +1558,11 @@ static int set_url(int argc, const char **argv) if ((!oldurl && !delete_mode) || add_mode) { if (add_mode) git_config_set_multivar(name_buf.buf, newurl, - "^$", 0); + "^$", 0); else git_config_set(name_buf.buf, newurl); strbuf_release(&name_buf); + return 0; } diff --git a/builtin/replace.c b/builtin/replace.c index 748c6ca954..b58c714cb8 100644 --- a/builtin/replace.c +++ b/builtin/replace.c @@ -440,6 +440,7 @@ int cmd_replace(int argc, const char **argv, const char *prefix) }; check_replace_refs = 0; + git_config(git_default_config, NULL); argc = parse_options(argc, argv, prefix, options, git_replace_usage, 0); diff --git a/builtin/rev-parse.c b/builtin/rev-parse.c index cf8487b3b9..c961b74c5a 100644 --- a/builtin/rev-parse.c +++ b/builtin/rev-parse.c @@ -505,6 +505,7 @@ N_("git rev-parse --parseopt [<options>] -- [<args>...]\n" int cmd_rev_parse(int argc, const char **argv, const char *prefix) { int i, as_is = 0, verify = 0, quiet = 0, revs_count = 0, type = 0; + int did_repo_setup = 0; int has_dashdash = 0; int output_prefix = 0; unsigned char sha1[20]; @@ -528,11 +529,40 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix) } } - prefix = setup_git_directory(); - git_config(git_default_config, NULL); + /* No options; just report on whether we're in a git repo or not. */ + if (argc == 1) { + setup_git_directory(); + git_config(git_default_config, NULL); + return 0; + } + for (i = 1; i < argc; i++) { const char *arg = argv[i]; + if (!strcmp(arg, "--local-env-vars")) { + int i; + for (i = 0; local_repo_env[i]; i++) + printf("%s\n", local_repo_env[i]); + continue; + } + if (!strcmp(arg, "--resolve-git-dir")) { + const char *gitdir = argv[++i]; + if (!gitdir) + die("--resolve-git-dir requires an argument"); + gitdir = resolve_gitdir(gitdir); + if (!gitdir) + die("not a gitdir '%s'", argv[i]); + puts(gitdir); + continue; + } + + /* The rest of the options require a git repository. */ + if (!did_repo_setup) { + prefix = setup_git_directory(); + git_config(git_default_config, NULL); + did_repo_setup = 1; + } + if (!strcmp(arg, "--git-path")) { if (!argv[i + 1]) die("--git-path requires an argument"); @@ -706,12 +736,6 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix) add_ref_exclusion(&ref_excludes, arg + 10); continue; } - if (!strcmp(arg, "--local-env-vars")) { - int i; - for (i = 0; local_repo_env[i]; i++) - printf("%s\n", local_repo_env[i]); - continue; - } if (!strcmp(arg, "--show-toplevel")) { const char *work_tree = get_git_work_tree(); if (work_tree) @@ -767,16 +791,6 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix) puts(prefix_filename(pfx, strlen(pfx), get_git_common_dir())); continue; } - if (!strcmp(arg, "--resolve-git-dir")) { - const char *gitdir = argv[++i]; - if (!gitdir) - die("--resolve-git-dir requires an argument"); - gitdir = resolve_gitdir(gitdir); - if (!gitdir) - die("not a gitdir '%s'", argv[i]); - puts(gitdir); - continue; - } if (!strcmp(arg, "--is-inside-git-dir")) { printf("%s\n", is_inside_git_dir() ? "true" : "false"); diff --git a/builtin/rm.c b/builtin/rm.c index 8829b09d0b..be83c4347a 100644 --- a/builtin/rm.c +++ b/builtin/rm.c @@ -314,7 +314,7 @@ int cmd_rm(int argc, const char **argv, const char *prefix) list.entry[list.nr].is_submodule = S_ISGITLINK(ce->ce_mode); if (list.entry[list.nr++].is_submodule && !is_staging_gitmodules_ok()) - die (_("Please, stage your changes to .gitmodules or stash them to proceed")); + die (_("Please stage your changes to .gitmodules or stash them to proceed")); } if (pathspec.nr) { diff --git a/builtin/send-pack.c b/builtin/send-pack.c index 5b9dd6a9d8..1ff5a67538 100644 --- a/builtin/send-pack.c +++ b/builtin/send-pack.c @@ -225,7 +225,7 @@ int cmd_send_pack(int argc, const char **argv, const char *prefix) * --all and --mirror are incompatible; neither makes sense * with any refspecs. */ - if ((refspecs && (send_all || args.send_mirror)) || + if ((nr_refspecs > 0 && (send_all || args.send_mirror)) || (send_all && args.send_mirror)) usage_with_options(send_pack_usage, options); diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c index 89250f0b78..8da263f0b0 100644 --- a/builtin/submodule--helper.c +++ b/builtin/submodule--helper.c @@ -9,6 +9,211 @@ #include "submodule-config.h" #include "string-list.h" #include "run-command.h" +#include "remote.h" +#include "refs.h" +#include "connect.h" + +static char *get_default_remote(void) +{ + char *dest = NULL, *ret; + unsigned char sha1[20]; + struct strbuf sb = STRBUF_INIT; + const char *refname = resolve_ref_unsafe("HEAD", 0, sha1, NULL); + + if (!refname) + die(_("No such ref: %s"), "HEAD"); + + /* detached HEAD */ + if (!strcmp(refname, "HEAD")) + return xstrdup("origin"); + + if (!skip_prefix(refname, "refs/heads/", &refname)) + die(_("Expecting a full ref name, got %s"), refname); + + strbuf_addf(&sb, "branch.%s.remote", refname); + if (git_config_get_string(sb.buf, &dest)) + ret = xstrdup("origin"); + else + ret = dest; + + strbuf_release(&sb); + return ret; +} + +static int starts_with_dot_slash(const char *str) +{ + return str[0] == '.' && is_dir_sep(str[1]); +} + +static int starts_with_dot_dot_slash(const char *str) +{ + return str[0] == '.' && str[1] == '.' && is_dir_sep(str[2]); +} + +/* + * Returns 1 if it was the last chop before ':'. + */ +static int chop_last_dir(char **remoteurl, int is_relative) +{ + char *rfind = find_last_dir_sep(*remoteurl); + if (rfind) { + *rfind = '\0'; + return 0; + } + + rfind = strrchr(*remoteurl, ':'); + if (rfind) { + *rfind = '\0'; + return 1; + } + + if (is_relative || !strcmp(".", *remoteurl)) + die(_("cannot strip one component off url '%s'"), + *remoteurl); + + free(*remoteurl); + *remoteurl = xstrdup("."); + return 0; +} + +/* + * The `url` argument is the URL that navigates to the submodule origin + * repo. When relative, this URL is relative to the superproject origin + * URL repo. The `up_path` argument, if specified, is the relative + * path that navigates from the submodule working tree to the superproject + * working tree. Returns the origin URL of the submodule. + * + * Return either an absolute URL or filesystem path (if the superproject + * origin URL is an absolute URL or filesystem path, respectively) or a + * relative file system path (if the superproject origin URL is a relative + * file system path). + * + * When the output is a relative file system path, the path is either + * relative to the submodule working tree, if up_path is specified, or to + * the superproject working tree otherwise. + * + * NEEDSWORK: This works incorrectly on the domain and protocol part. + * remote_url url outcome expectation + * http://a.com/b ../c http://a.com/c as is + * http://a.com/b ../../c http://c error out + * http://a.com/b ../../../c http:/c error out + * http://a.com/b ../../../../c http:c error out + * http://a.com/b ../../../../../c .:c error out + * NEEDSWORK: Given how chop_last_dir() works, this function is broken + * when a local part has a colon in its path component, too. + */ +static char *relative_url(const char *remote_url, + const char *url, + const char *up_path) +{ + int is_relative = 0; + int colonsep = 0; + char *out; + char *remoteurl = xstrdup(remote_url); + struct strbuf sb = STRBUF_INIT; + size_t len = strlen(remoteurl); + + if (is_dir_sep(remoteurl[len])) + remoteurl[len] = '\0'; + + if (!url_is_local_not_ssh(remoteurl) || is_absolute_path(remoteurl)) + is_relative = 0; + else { + is_relative = 1; + /* + * Prepend a './' to ensure all relative + * remoteurls start with './' or '../' + */ + if (!starts_with_dot_slash(remoteurl) && + !starts_with_dot_dot_slash(remoteurl)) { + strbuf_reset(&sb); + strbuf_addf(&sb, "./%s", remoteurl); + free(remoteurl); + remoteurl = strbuf_detach(&sb, NULL); + } + } + /* + * When the url starts with '../', remove that and the + * last directory in remoteurl. + */ + while (url) { + if (starts_with_dot_dot_slash(url)) { + url += 3; + colonsep |= chop_last_dir(&remoteurl, is_relative); + } else if (starts_with_dot_slash(url)) + url += 2; + else + break; + } + strbuf_reset(&sb); + strbuf_addf(&sb, "%s%s%s", remoteurl, colonsep ? ":" : "/", url); + free(remoteurl); + + if (starts_with_dot_slash(sb.buf)) + out = xstrdup(sb.buf + 2); + else + out = xstrdup(sb.buf); + strbuf_reset(&sb); + + if (!up_path || !is_relative) + return out; + + strbuf_addf(&sb, "%s%s", up_path, out); + free(out); + return strbuf_detach(&sb, NULL); +} + +static int resolve_relative_url(int argc, const char **argv, const char *prefix) +{ + char *remoteurl = NULL; + char *remote = get_default_remote(); + const char *up_path = NULL; + char *res; + const char *url; + struct strbuf sb = STRBUF_INIT; + + if (argc != 2 && argc != 3) + die("resolve-relative-url only accepts one or two arguments"); + + url = argv[1]; + strbuf_addf(&sb, "remote.%s.url", remote); + free(remote); + + if (git_config_get_string(sb.buf, &remoteurl)) + /* the repository is its own authoritative upstream */ + remoteurl = xgetcwd(); + + if (argc == 3) + up_path = argv[2]; + + res = relative_url(remoteurl, url, up_path); + puts(res); + free(res); + free(remoteurl); + return 0; +} + +static int resolve_relative_url_test(int argc, const char **argv, const char *prefix) +{ + char *remoteurl, *res; + const char *up_path, *url; + + if (argc != 4) + die("resolve-relative-url-test only accepts three arguments: <up_path> <remoteurl> <url>"); + + up_path = argv[1]; + remoteurl = xstrdup(argv[2]); + url = argv[3]; + + if (!strcmp(up_path, "(null)")) + up_path = NULL; + + res = relative_url(remoteurl, url, up_path); + puts(res); + free(res); + free(remoteurl); + return 0; +} struct module_list { const struct cache_entry **entries; @@ -22,17 +227,12 @@ static int module_list_compute(int argc, const char **argv, struct module_list *list) { int i, result = 0; - char *max_prefix, *ps_matched = NULL; - int max_prefix_len; + char *ps_matched = NULL; parse_pathspec(pathspec, 0, PATHSPEC_PREFER_FULL | PATHSPEC_STRIP_SUBMODULE_SLASH_CHEAP, prefix, argv); - /* Find common prefix for all pathspec's */ - max_prefix = common_prefix(pathspec); - max_prefix_len = max_prefix ? strlen(max_prefix) : 0; - if (pathspec->nr) ps_matched = xcalloc(pathspec->nr, 1); @@ -42,9 +242,9 @@ static int module_list_compute(int argc, const char **argv, for (i = 0; i < active_nr; i++) { const struct cache_entry *ce = active_cache[i]; - if (!S_ISGITLINK(ce->ce_mode) || - !match_pathspec(pathspec, ce->name, ce_namelen(ce), - max_prefix_len, ps_matched, 1)) + if (!match_pathspec(pathspec, ce->name, ce_namelen(ce), + 0, ps_matched, 1) || + !S_ISGITLINK(ce->ce_mode)) continue; ALLOC_GROW(list->entries, list->nr + 1, list->alloc); @@ -57,7 +257,6 @@ static int module_list_compute(int argc, const char **argv, */ i++; } - free(max_prefix); if (ps_matched && report_path_error(ps_matched, pathspec, prefix)) result = -1; @@ -106,6 +305,125 @@ static int module_list(int argc, const char **argv, const char *prefix) return 0; } +static void init_submodule(const char *path, const char *prefix, int quiet) +{ + const struct submodule *sub; + struct strbuf sb = STRBUF_INIT; + char *upd = NULL, *url = NULL, *displaypath; + + /* Only loads from .gitmodules, no overlay with .git/config */ + gitmodules_config(); + + if (prefix) { + strbuf_addf(&sb, "%s%s", prefix, path); + displaypath = strbuf_detach(&sb, NULL); + } else + displaypath = xstrdup(path); + + sub = submodule_from_path(null_sha1, path); + + if (!sub) + die(_("No url found for submodule path '%s' in .gitmodules"), + displaypath); + + /* + * Copy url setting when it is not set yet. + * To look up the url in .git/config, we must not fall back to + * .gitmodules, so look it up directly. + */ + strbuf_reset(&sb); + strbuf_addf(&sb, "submodule.%s.url", sub->name); + if (git_config_get_string(sb.buf, &url)) { + url = xstrdup(sub->url); + + if (!url) + die(_("No url found for submodule path '%s' in .gitmodules"), + displaypath); + + /* Possibly a url relative to parent */ + if (starts_with_dot_dot_slash(url) || + starts_with_dot_slash(url)) { + char *remoteurl, *relurl; + char *remote = get_default_remote(); + struct strbuf remotesb = STRBUF_INIT; + strbuf_addf(&remotesb, "remote.%s.url", remote); + free(remote); + + if (git_config_get_string(remotesb.buf, &remoteurl)) + /* + * The repository is its own + * authoritative upstream + */ + remoteurl = xgetcwd(); + relurl = relative_url(remoteurl, url, NULL); + strbuf_release(&remotesb); + free(remoteurl); + free(url); + url = relurl; + } + + if (git_config_set_gently(sb.buf, url)) + die(_("Failed to register url for submodule path '%s'"), + displaypath); + if (!quiet) + fprintf(stderr, + _("Submodule '%s' (%s) registered for path '%s'\n"), + sub->name, url, displaypath); + } + + /* Copy "update" setting when it is not set yet */ + strbuf_reset(&sb); + strbuf_addf(&sb, "submodule.%s.update", sub->name); + if (git_config_get_string(sb.buf, &upd) && + sub->update_strategy.type != SM_UPDATE_UNSPECIFIED) { + if (sub->update_strategy.type == SM_UPDATE_COMMAND) { + fprintf(stderr, _("warning: command update mode suggested for submodule '%s'\n"), + sub->name); + upd = xstrdup("none"); + } else + upd = xstrdup(submodule_strategy_to_string(&sub->update_strategy)); + + if (git_config_set_gently(sb.buf, upd)) + die(_("Failed to register update mode for submodule path '%s'"), displaypath); + } + strbuf_release(&sb); + free(displaypath); + free(url); + free(upd); +} + +static int module_init(int argc, const char **argv, const char *prefix) +{ + struct pathspec pathspec; + struct module_list list = MODULE_LIST_INIT; + int quiet = 0; + int i; + + struct option module_init_options[] = { + OPT_STRING(0, "prefix", &prefix, + N_("path"), + N_("alternative anchor for relative paths")), + OPT__QUIET(&quiet, N_("Suppress output for initializing a submodule")), + OPT_END() + }; + + const char *const git_submodule_helper_usage[] = { + N_("git submodule--helper init [<path>]"), + NULL + }; + + argc = parse_options(argc, argv, prefix, module_init_options, + git_submodule_helper_usage, 0); + + if (module_list_compute(argc, argv, prefix, &pathspec, &list) < 0) + return 1; + + for (i = 0; i < list.nr; i++) + init_submodule(list.entries[i]->name, prefix, quiet); + + return 0; +} + static int module_name(int argc, const char **argv, const char *prefix) { const struct submodule *sub; @@ -154,11 +472,11 @@ static int clone_submodule(const char *path, const char *gitdir, const char *url static int module_clone(int argc, const char **argv, const char *prefix) { - const char *path = NULL, *name = NULL, *url = NULL; + const char *name = NULL, *url = NULL; const char *reference = NULL, *depth = NULL; int quiet = 0; FILE *submodule_dot_git; - char *sm_gitdir, *cwd, *p; + char *p, *path = NULL, *sm_gitdir; struct strbuf rel_path = STRBUF_INIT; struct strbuf sb = STRBUF_INIT; @@ -195,12 +513,19 @@ static int module_clone(int argc, const char **argv, const char *prefix) argc = parse_options(argc, argv, prefix, module_clone_options, git_submodule_helper_usage, 0); - if (argc || !url || !path) + if (argc || !url || !path || !*path) usage_with_options(git_submodule_helper_usage, module_clone_options); strbuf_addf(&sb, "%s/modules/%s", get_git_dir(), name); - sm_gitdir = strbuf_detach(&sb, NULL); + sm_gitdir = xstrdup(absolute_path(sb.buf)); + strbuf_reset(&sb); + + if (!is_absolute_path(path)) { + strbuf_addf(&sb, "%s/%s", get_git_work_tree(), path); + path = strbuf_detach(&sb, NULL); + } else + path = xstrdup(path); if (!file_exists(sm_gitdir)) { if (safe_create_leading_directories_const(sm_gitdir) < 0) @@ -217,49 +542,297 @@ static int module_clone(int argc, const char **argv, const char *prefix) } /* Write a .git file in the submodule to redirect to the superproject. */ - if (safe_create_leading_directories_const(path) < 0) - die(_("could not create directory '%s'"), path); - - if (path && *path) - strbuf_addf(&sb, "%s/.git", path); - else - strbuf_addstr(&sb, ".git"); - + strbuf_addf(&sb, "%s/.git", path); if (safe_create_leading_directories_const(sb.buf) < 0) die(_("could not create leading directories of '%s'"), sb.buf); submodule_dot_git = fopen(sb.buf, "w"); if (!submodule_dot_git) die_errno(_("cannot open file '%s'"), sb.buf); - fprintf(submodule_dot_git, "gitdir: %s\n", - relative_path(sm_gitdir, path, &rel_path)); + fprintf_or_die(submodule_dot_git, "gitdir: %s\n", + relative_path(sm_gitdir, path, &rel_path)); if (fclose(submodule_dot_git)) die(_("could not close file %s"), sb.buf); strbuf_reset(&sb); strbuf_reset(&rel_path); - cwd = xgetcwd(); /* Redirect the worktree of the submodule in the superproject's config */ - if (!is_absolute_path(sm_gitdir)) { - strbuf_addf(&sb, "%s/%s", cwd, sm_gitdir); - free(sm_gitdir); - sm_gitdir = strbuf_detach(&sb, NULL); - } - - strbuf_addf(&sb, "%s/%s", cwd, path); p = git_pathdup_submodule(path, "config"); if (!p) die(_("could not get submodule directory for '%s'"), path); git_config_set_in_file(p, "core.worktree", - relative_path(sb.buf, sm_gitdir, &rel_path)); + relative_path(path, sm_gitdir, &rel_path)); strbuf_release(&sb); strbuf_release(&rel_path); free(sm_gitdir); - free(cwd); + free(path); free(p); return 0; } +struct submodule_update_clone { + /* index into 'list', the list of submodules to look into for cloning */ + int current; + struct module_list list; + unsigned warn_if_uninitialized : 1; + + /* update parameter passed via commandline */ + struct submodule_update_strategy update; + + /* configuration parameters which are passed on to the children */ + int quiet; + const char *reference; + const char *depth; + const char *recursive_prefix; + const char *prefix; + + /* Machine-readable status lines to be consumed by git-submodule.sh */ + struct string_list projectlines; + + /* If we want to stop as fast as possible and return an error */ + unsigned quickstop : 1; +}; +#define SUBMODULE_UPDATE_CLONE_INIT {0, MODULE_LIST_INIT, 0, \ + SUBMODULE_UPDATE_STRATEGY_INIT, 0, NULL, NULL, NULL, NULL, \ + STRING_LIST_INIT_DUP, 0} + + +static void next_submodule_warn_missing(struct submodule_update_clone *suc, + struct strbuf *out, const char *displaypath) +{ + /* + * Only mention uninitialized submodules when their + * paths have been specified. + */ + if (suc->warn_if_uninitialized) { + strbuf_addf(out, + _("Submodule path '%s' not initialized"), + displaypath); + strbuf_addch(out, '\n'); + strbuf_addstr(out, + _("Maybe you want to use 'update --init'?")); + strbuf_addch(out, '\n'); + } +} + +/** + * Determine whether 'ce' needs to be cloned. If so, prepare the 'child' to + * run the clone. Returns 1 if 'ce' needs to be cloned, 0 otherwise. + */ +static int prepare_to_clone_next_submodule(const struct cache_entry *ce, + struct child_process *child, + struct submodule_update_clone *suc, + struct strbuf *out) +{ + const struct submodule *sub = NULL; + struct strbuf displaypath_sb = STRBUF_INIT; + struct strbuf sb = STRBUF_INIT; + const char *displaypath = NULL; + char *url = NULL; + int needs_cloning = 0; + + if (ce_stage(ce)) { + if (suc->recursive_prefix) + strbuf_addf(&sb, "%s/%s", suc->recursive_prefix, ce->name); + else + strbuf_addf(&sb, "%s", ce->name); + strbuf_addf(out, _("Skipping unmerged submodule %s"), sb.buf); + strbuf_addch(out, '\n'); + goto cleanup; + } + + sub = submodule_from_path(null_sha1, ce->name); + + if (suc->recursive_prefix) + displaypath = relative_path(suc->recursive_prefix, + ce->name, &displaypath_sb); + else + displaypath = ce->name; + + if (!sub) { + next_submodule_warn_missing(suc, out, displaypath); + goto cleanup; + } + + if (suc->update.type == SM_UPDATE_NONE + || (suc->update.type == SM_UPDATE_UNSPECIFIED + && sub->update_strategy.type == SM_UPDATE_NONE)) { + strbuf_addf(out, _("Skipping submodule '%s'"), displaypath); + strbuf_addch(out, '\n'); + goto cleanup; + } + + /* + * Looking up the url in .git/config. + * We must not fall back to .gitmodules as we only want + * to process configured submodules. + */ + strbuf_reset(&sb); + strbuf_addf(&sb, "submodule.%s.url", sub->name); + git_config_get_string(sb.buf, &url); + if (!url) { + next_submodule_warn_missing(suc, out, displaypath); + goto cleanup; + } + + strbuf_reset(&sb); + strbuf_addf(&sb, "%s/.git", ce->name); + needs_cloning = !file_exists(sb.buf); + + strbuf_reset(&sb); + strbuf_addf(&sb, "%06o %s %d %d\t%s\n", ce->ce_mode, + sha1_to_hex(ce->sha1), ce_stage(ce), + needs_cloning, ce->name); + string_list_append(&suc->projectlines, sb.buf); + + if (!needs_cloning) + goto cleanup; + + child->git_cmd = 1; + child->no_stdin = 1; + child->stdout_to_stderr = 1; + child->err = -1; + argv_array_push(&child->args, "submodule--helper"); + argv_array_push(&child->args, "clone"); + if (suc->quiet) + argv_array_push(&child->args, "--quiet"); + if (suc->prefix) + argv_array_pushl(&child->args, "--prefix", suc->prefix, NULL); + argv_array_pushl(&child->args, "--path", sub->path, NULL); + argv_array_pushl(&child->args, "--name", sub->name, NULL); + argv_array_pushl(&child->args, "--url", url, NULL); + if (suc->reference) + argv_array_push(&child->args, suc->reference); + if (suc->depth) + argv_array_push(&child->args, suc->depth); + +cleanup: + free(url); + strbuf_reset(&displaypath_sb); + strbuf_reset(&sb); + + return needs_cloning; +} + +static int update_clone_get_next_task(struct child_process *child, + struct strbuf *err, + void *suc_cb, + void **void_task_cb) +{ + struct submodule_update_clone *suc = suc_cb; + + for (; suc->current < suc->list.nr; suc->current++) { + const struct cache_entry *ce = suc->list.entries[suc->current]; + if (prepare_to_clone_next_submodule(ce, child, suc, err)) { + suc->current++; + return 1; + } + } + return 0; +} + +static int update_clone_start_failure(struct strbuf *err, + void *suc_cb, + void *void_task_cb) +{ + struct submodule_update_clone *suc = suc_cb; + suc->quickstop = 1; + return 1; +} + +static int update_clone_task_finished(int result, + struct strbuf *err, + void *suc_cb, + void *void_task_cb) +{ + struct submodule_update_clone *suc = suc_cb; + + if (!result) + return 0; + + suc->quickstop = 1; + return 1; +} + +static int update_clone(int argc, const char **argv, const char *prefix) +{ + const char *update = NULL; + int max_jobs = -1; + struct string_list_item *item; + struct pathspec pathspec; + struct submodule_update_clone suc = SUBMODULE_UPDATE_CLONE_INIT; + + struct option module_update_clone_options[] = { + OPT_STRING(0, "prefix", &prefix, + N_("path"), + N_("path into the working tree")), + OPT_STRING(0, "recursive-prefix", &suc.recursive_prefix, + N_("path"), + N_("path into the working tree, across nested " + "submodule boundaries")), + OPT_STRING(0, "update", &update, + N_("string"), + N_("rebase, merge, checkout or none")), + OPT_STRING(0, "reference", &suc.reference, N_("repo"), + N_("reference repository")), + OPT_STRING(0, "depth", &suc.depth, "<depth>", + N_("Create a shallow clone truncated to the " + "specified number of revisions")), + OPT_INTEGER('j', "jobs", &max_jobs, + N_("parallel jobs")), + OPT__QUIET(&suc.quiet, N_("don't print cloning progress")), + OPT_END() + }; + + const char *const git_submodule_helper_usage[] = { + N_("git submodule--helper update_clone [--prefix=<path>] [<path>...]"), + NULL + }; + suc.prefix = prefix; + + argc = parse_options(argc, argv, prefix, module_update_clone_options, + git_submodule_helper_usage, 0); + + if (update) + if (parse_submodule_update_strategy(update, &suc.update) < 0) + die(_("bad value for update parameter")); + + if (module_list_compute(argc, argv, prefix, &pathspec, &suc.list) < 0) + return 1; + + if (pathspec.nr) + suc.warn_if_uninitialized = 1; + + /* Overlay the parsed .gitmodules file with .git/config */ + gitmodules_config(); + git_config(submodule_config, NULL); + + if (max_jobs < 0) + max_jobs = parallel_submodules(); + + run_processes_parallel(max_jobs, + update_clone_get_next_task, + update_clone_start_failure, + update_clone_task_finished, + &suc); + + /* + * We saved the output and put it out all at once now. + * That means: + * - the listener does not have to interleave their (checkout) + * work with our fetching. The writes involved in a + * checkout involve more straightforward sequential I/O. + * - the listener can avoid doing any work if fetching failed. + */ + if (suc.quickstop) + return 1; + + for_each_string_list_item(item, &suc.projectlines) + utf8_fprintf(stdout, "%s", item->string); + + return 0; +} + struct cmd_struct { const char *cmd; int (*fn)(int, const char **, const char *); @@ -269,19 +842,23 @@ static struct cmd_struct commands[] = { {"list", module_list}, {"name", module_name}, {"clone", module_clone}, + {"update-clone", update_clone}, + {"resolve-relative-url", resolve_relative_url}, + {"resolve-relative-url-test", resolve_relative_url_test}, + {"init", module_init} }; int cmd_submodule__helper(int argc, const char **argv, const char *prefix) { int i; if (argc < 2) - die(_("fatal: submodule--helper subcommand must be " + die(_("submodule--helper subcommand must be " "called with a subcommand")); for (i = 0; i < ARRAY_SIZE(commands); i++) if (!strcmp(argv[1], commands[i].cmd)) return commands[i].fn(argc - 1, argv + 1, prefix); - die(_("fatal: '%s' is not a valid submodule--helper " + die(_("'%s' is not a valid submodule--helper " "subcommand"), argv[1]); } diff --git a/builtin/tag.c b/builtin/tag.c index 1705c94665..50e4ae5678 100644 --- a/builtin/tag.c +++ b/builtin/tag.c @@ -29,6 +29,7 @@ static const char * const git_tag_usage[] = { }; static unsigned int colopts; +static int force_sign_annotate; static int list_tags(struct ref_filter *filter, struct ref_sorting *sorting, const char *format) { @@ -104,13 +105,7 @@ static int delete_tag(const char *name, const char *ref, static int verify_tag(const char *name, const char *ref, const unsigned char *sha1) { - const char *argv_verify_tag[] = {"verify-tag", - "-v", "SHA1_HEX", NULL}; - argv_verify_tag[2] = sha1_to_hex(sha1); - - if (run_command_v_opt(argv_verify_tag, RUN_GIT_CMD)) - return error(_("could not verify the tag '%s'"), name); - return 0; + return gpg_verify_tag(sha1, name, GPG_VERIFY_VERBOSE); } static int do_sign(struct strbuf *buffer) @@ -166,6 +161,11 @@ static int git_tag_config(const char *var, const char *value, void *cb) status = git_gpg_config(var, value, cb); if (status) return status; + if (!strcmp(var, "tag.forcesignannotated")) { + force_sign_annotate = git_config_bool(var, value); + return 0; + } + if (starts_with(var, "column.")) return git_column_config(var, value, "tag", &colopts); return git_default_config(var, value, cb); @@ -327,7 +327,7 @@ int cmd_tag(int argc, const char **argv, const char *prefix) char *cleanup_arg = NULL; int create_reflog = 0; int annotate = 0, force = 0; - int cmdmode = 0; + int cmdmode = 0, create_tag_object = 0; const char *msgfile = NULL, *keyid = NULL; struct msg_arg msg = { 0, STRBUF_INIT }; struct ref_transaction *transaction; @@ -385,12 +385,12 @@ int cmd_tag(int argc, const char **argv, const char *prefix) opt.sign = 1; set_signing_key(keyid); } - if (opt.sign) - annotate = 1; + create_tag_object = (opt.sign || annotate || msg.given || msgfile); + if (argc == 0 && !cmdmode) cmdmode = 'l'; - if ((annotate || msg.given || msgfile || force) && (cmdmode != 0)) + if ((create_tag_object || force) && (cmdmode != 0)) usage_with_options(git_tag_usage, options); finalize_colopts(&colopts, -1); @@ -431,7 +431,6 @@ int cmd_tag(int argc, const char **argv, const char *prefix) if (msg.given || msgfile) { if (msg.given && msgfile) die(_("only one -F or -m option is allowed.")); - annotate = 1; if (msg.given) strbuf_addbuf(&buf, &(msg.buf)); else { @@ -474,8 +473,11 @@ int cmd_tag(int argc, const char **argv, const char *prefix) else die(_("Invalid cleanup mode %s"), cleanup_arg); - if (annotate) + if (create_tag_object) { + if (force_sign_annotate && !annotate) + opt.sign = 1; create_tag(object, tag, &buf, &opt, prev, object); + } transaction = ref_transaction_begin(&err); if (!transaction || diff --git a/builtin/verify-tag.c b/builtin/verify-tag.c index 00663f6a30..99f8148cf7 100644 --- a/builtin/verify-tag.c +++ b/builtin/verify-tag.c @@ -18,55 +18,6 @@ static const char * const verify_tag_usage[] = { NULL }; -static int run_gpg_verify(const char *buf, unsigned long size, unsigned flags) -{ - struct signature_check sigc; - int len; - int ret; - - memset(&sigc, 0, sizeof(sigc)); - - len = parse_signature(buf, size); - - if (size == len) { - if (flags & GPG_VERIFY_VERBOSE) - write_in_full(1, buf, len); - return error("no signature found"); - } - - ret = check_signature(buf, len, buf + len, size - len, &sigc); - print_signature_buffer(&sigc, flags); - - signature_check_clear(&sigc); - return ret; -} - -static int verify_tag(const char *name, unsigned flags) -{ - enum object_type type; - unsigned char sha1[20]; - char *buf; - unsigned long size; - int ret; - - if (get_sha1(name, sha1)) - return error("tag '%s' not found.", name); - - type = sha1_object_info(sha1, NULL); - if (type != OBJ_TAG) - return error("%s: cannot verify a non-tag object of type %s.", - name, typename(type)); - - buf = read_sha1_file(sha1, &type, &size); - if (!buf) - return error("%s: unable to read file.", name); - - ret = run_gpg_verify(buf, size, flags); - - free(buf); - return ret; -} - static int git_verify_tag_config(const char *var, const char *value, void *cb) { int status = git_gpg_config(var, value, cb); @@ -95,11 +46,13 @@ int cmd_verify_tag(int argc, const char **argv, const char *prefix) if (verbose) flags |= GPG_VERIFY_VERBOSE; - /* sometimes the program was terminated because this signal - * was received in the process of writing the gpg input: */ - signal(SIGPIPE, SIG_IGN); - while (i < argc) - if (verify_tag(argv[i++], flags)) + while (i < argc) { + unsigned char sha1[20]; + const char *name = argv[i++]; + if (get_sha1(name, sha1)) + had_error = !!error("tag '%s' not found.", name); + else if (gpg_verify_tag(sha1, name, flags)) had_error = 1; + } return had_error; } diff --git a/builtin/worktree.c b/builtin/worktree.c index 20cf67a549..d8e3795dc4 100644 --- a/builtin/worktree.c +++ b/builtin/worktree.c @@ -21,6 +21,7 @@ static const char * const worktree_usage[] = { struct add_opts { int force; int detach; + int checkout; const char *new_branch; int force_new_branch; }; @@ -52,7 +53,7 @@ static int prune_worktree(const char *id, struct strbuf *reason) return 1; } len = st.st_size; - path = xmalloc(len + 1); + path = xmallocz(len); read_in_full(fd, path, len); close(fd); while (len && (path[len - 1] == '\n' || path[len - 1] == '\r')) @@ -284,18 +285,22 @@ static int add_worktree(const char *path, const char *refname, if (ret) goto done; - cp.argv = NULL; - argv_array_clear(&cp.args); - argv_array_pushl(&cp.args, "reset", "--hard", NULL); - cp.env = child_env.argv; - ret = run_command(&cp); - if (!ret) { - is_junk = 0; - free(junk_work_tree); - free(junk_git_dir); - junk_work_tree = NULL; - junk_git_dir = NULL; + if (opts->checkout) { + cp.argv = NULL; + argv_array_clear(&cp.args); + argv_array_pushl(&cp.args, "reset", "--hard", NULL); + cp.env = child_env.argv; + ret = run_command(&cp); + if (ret) + goto done; } + + is_junk = 0; + free(junk_work_tree); + free(junk_git_dir); + junk_work_tree = NULL; + junk_git_dir = NULL; + done: strbuf_reset(&sb); strbuf_addf(&sb, "%s/locked", sb_repo.buf); @@ -320,10 +325,12 @@ static int add(int ac, const char **av, const char *prefix) OPT_STRING('B', NULL, &new_branch_force, N_("branch"), N_("create or reset a branch")), OPT_BOOL(0, "detach", &opts.detach, N_("detach HEAD at named commit")), + OPT_BOOL(0, "checkout", &opts.checkout, N_("populate the new working tree")), OPT_END() }; memset(&opts, 0, sizeof(opts)); + opts.checkout = 1; ac = parse_options(ac, av, prefix, options, worktree_usage, 0); if (!!opts.detach + !!opts.new_branch + !!new_branch_force > 1) die(_("-b, -B, and --detach are mutually exclusive")); @@ -435,12 +435,14 @@ int create_bundle(struct bundle_header *header, const char *path, /* write prerequisites */ if (compute_and_write_prerequisites(bundle_fd, &revs, argc, argv)) - return -1; + goto err; argc = setup_revisions(argc, argv, &revs, NULL); - if (argc > 1) - return error(_("unrecognized argument: %s"), argv[1]); + if (argc > 1) { + error(_("unrecognized argument: %s"), argv[1]); + goto err; + } object_array_remove_duplicates(&revs.pending); @@ -448,17 +450,26 @@ int create_bundle(struct bundle_header *header, const char *path, if (!ref_count) die(_("Refusing to create empty bundle.")); else if (ref_count < 0) - return -1; + goto err; /* write pack */ - if (write_pack_data(bundle_fd, &revs)) - return -1; + if (write_pack_data(bundle_fd, &revs)) { + bundle_fd = -1; /* already closed by the above call */ + goto err; + } if (!bundle_to_stdout) { if (commit_lock_file(&lock)) die_errno(_("cannot create '%s'"), path); } return 0; +err: + if (!bundle_to_stdout) { + if (0 <= bundle_fd) + close(bundle_fd); + rollback_lock_file(&lock); + } + return -1; } int unbundle(struct bundle_header *header, int bundle_fd, int flags) diff --git a/cache-tree.c b/cache-tree.c index 20ee7b52df..ddf0cc9f9a 100644 --- a/cache-tree.c +++ b/cache-tree.c @@ -79,11 +79,9 @@ static struct cache_tree_sub *find_subtree(struct cache_tree *it, ALLOC_GROW(it->down, it->subtree_nr + 1, it->subtree_alloc); it->subtree_nr++; - down = xmalloc(sizeof(*down) + pathlen + 1); + FLEX_ALLOC_MEM(down, name, path, pathlen); down->cache_tree = NULL; down->namelen = pathlen; - memcpy(down->name, path, pathlen); - down->name[pathlen] = 0; if (pos < it->subtree_nr) memmove(it->down + pos + 1, @@ -665,7 +663,7 @@ static void prime_cache_tree_rec(struct cache_tree *it, struct tree *tree) cnt++; else { struct cache_tree_sub *sub; - struct tree *subtree = lookup_tree(entry.sha1); + struct tree *subtree = lookup_tree(entry.oid->hash); if (!subtree->object.parsed) parse_tree(subtree); sub = cache_tree_sub(it, entry.path); @@ -712,7 +710,7 @@ int cache_tree_matches_traversal(struct cache_tree *root, it = find_cache_tree_from_traversal(root, info); it = cache_tree_find(it, ent->path); - if (it && it->entry_count > 0 && !hashcmp(ent->sha1, it->sha1)) + if (it && it->entry_count > 0 && !hashcmp(ent->oid->hash, it->sha1)) return it->entry_count; return 0; } @@ -651,10 +651,10 @@ extern int prefer_symlink_refs; extern int log_all_ref_updates; extern int warn_ambiguous_refs; extern int warn_on_object_refname_ambiguity; -extern int shared_repository; extern const char *apply_default_whitespace; extern const char *apply_default_ignorewhitespace; extern const char *git_attributes_file; +extern const char *git_hooks_path; extern int zlib_compression_level; extern int core_compression_level; extern int core_compression_seen; @@ -664,6 +664,9 @@ extern size_t delta_base_cache_limit; extern unsigned long big_file_threshold; extern unsigned long pack_size_limit_cfg; +void set_shared_repository(int value); +int get_shared_repository(void); + /* * Do replace refs need to be checked this run? This variable is * initialized to true unless --no-replace-object is used or @@ -745,9 +748,39 @@ extern int grafts_replace_parents; */ #define GIT_REPO_VERSION 0 #define GIT_REPO_VERSION_READ 1 -extern int repository_format_version; extern int repository_format_precious_objects; -extern int check_repository_format(void); + +struct repository_format { + int version; + int precious_objects; + int is_bare; + char *work_tree; + struct string_list unknown_extensions; +}; + +/* + * Read the repository format characteristics from the config file "path" into + * "format" struct. Returns the numeric version. On error, -1 is returned, + * format->version is set to -1, and all other fields in the struct are + * undefined. + */ +int read_repository_format(struct repository_format *format, const char *path); + +/* + * Verify that the repository described by repository_format is something we + * can read. If it is, return 0. Otherwise, return -1, and "err" will describe + * any errors encountered. + */ +int verify_repository_format(const struct repository_format *format, + struct strbuf *err); + +/* + * Check the repository format version in the path found in get_git_dir(), + * and die if it is a version we don't understand. Generally one would + * set_git_dir() before calling this, and use it only for "are we in a valid + * repo?". + */ +extern void check_repository_format(void); #define MTIME_CHANGED 0x0001 #define CTIME_CHANGED 0x0002 @@ -926,8 +959,6 @@ static inline int is_empty_blob_sha1(const unsigned char *sha1) int git_mkstemp(char *path, size_t n, const char *template); -int git_mkstemps(char *path, size_t n, const char *template, int suffix_len); - /* set default permissions by passing mode arguments to open(2) */ int git_mkstemps_mode(char *pattern, int suffix_len, int mode); int git_mkstemp_mode(char *pattern, int mode); @@ -1124,6 +1155,8 @@ extern int get_sha1_blob(const char *str, unsigned char *sha1); extern void maybe_die_on_misspelt_object_name(const char *name, const char *prefix); extern int get_sha1_with_context(const char *str, unsigned flags, unsigned char *sha1, struct object_context *orc); +extern int get_oid(const char *str, struct object_id *oid); + typedef int each_abbrev_fn(const unsigned char *sha1, void *); extern int for_each_abbrev(const char *prefix, each_abbrev_fn, void *); @@ -1370,6 +1403,16 @@ extern void clear_delta_base_cache(void); extern struct packed_git *add_packed_git(const char *path, size_t path_len, int local); /* + * Make sure that a pointer access into an mmap'd index file is within bounds, + * and can provide at least 8 bytes of data. + * + * Note that this is only necessary for variable-length segments of the file + * (like the 64-bit extended offset table), as we compare the size to the + * fixed-length parts when we open the file. + */ +extern void check_pack_index_ptr(const struct packed_git *p, const void *ptr); + +/* * Return the SHA-1 of the nth object within the specified packfile. * Open the index if it is not already open. The return value points * at the SHA-1 within the mmapped index. Return NULL if there is an @@ -1489,7 +1532,7 @@ extern int update_server_info(int); /* git_config_parse_key() returns these negated: */ #define CONFIG_INVALID_KEY 1 #define CONFIG_NO_SECTION_OR_NAME 2 -/* git_config_set(), git_config_set_multivar() return the above or these: */ +/* git_config_set_gently(), git_config_set_multivar_gently() return the above or these: */ #define CONFIG_NO_LOCK -1 #define CONFIG_INVALID_FILE 3 #define CONFIG_NO_WRITE 4 @@ -1508,15 +1551,14 @@ struct git_config_source { typedef int (*config_fn_t)(const char *, const char *, void *); extern int git_default_config(const char *, const char *, void *); extern int git_config_from_file(config_fn_t fn, const char *, void *); -extern int git_config_from_buf(config_fn_t fn, const char *name, - const char *buf, size_t len, void *data); +extern int git_config_from_mem(config_fn_t fn, const char *origin_type, + const char *name, const char *buf, size_t len, void *data); extern void git_config_push_parameter(const char *text); extern int git_config_from_parameters(config_fn_t fn, void *data); extern void git_config(config_fn_t fn, void *); extern int git_config_with_options(config_fn_t fn, void *, struct git_config_source *config_source, int respect_includes); -extern int git_config_early(config_fn_t fn, void *, const char *repo_config); extern int git_parse_ulong(const char *, unsigned long *); extern int git_parse_maybe_bool(const char *); extern int git_config_int(const char *, const char *); @@ -1527,16 +1569,19 @@ extern int git_config_bool(const char *, const char *); extern int git_config_maybe_bool(const char *, const char *); extern int git_config_string(const char **, const char *, const char *); extern int git_config_pathname(const char **, const char *, const char *); -extern int git_config_set_in_file(const char *, const char *, const char *); -extern int git_config_set(const char *, const char *); +extern int git_config_set_in_file_gently(const char *, const char *, const char *); +extern void git_config_set_in_file(const char *, const char *, const char *); +extern int git_config_set_gently(const char *, const char *); +extern void git_config_set(const char *, const char *); extern int git_config_parse_key(const char *, char **, int *); extern int git_config_key_is_valid(const char *key); -extern int git_config_set_multivar(const char *, const char *, const char *, int); -extern int git_config_set_multivar_in_file(const char *, const char *, const char *, const char *, int); +extern int git_config_set_multivar_gently(const char *, const char *, const char *, int); +extern void git_config_set_multivar(const char *, const char *, const char *, int); +extern int git_config_set_multivar_in_file_gently(const char *, const char *, const char *, const char *, int); +extern void git_config_set_multivar_in_file(const char *, const char *, const char *, const char *, int); extern int git_config_rename_section(const char *, const char *); extern int git_config_rename_section_in_file(const char *, const char *, const char *); extern const char *git_etc_gitconfig(void); -extern int check_repository_format_version(const char *var, const char *value, void *cb); extern int git_env_bool(const char *, int); extern unsigned long git_env_ulong(const char *, unsigned long); extern int git_config_system(void); @@ -1548,6 +1593,8 @@ extern const char *get_log_output_encoding(void); extern const char *get_commit_output_encoding(void); extern int git_config_parse_parameter(const char *, config_fn_t fn, void *data); +extern const char *current_config_origin_type(void); +extern const char *current_config_name(void); struct config_include_data { int depth; @@ -1720,8 +1767,8 @@ int add_files_to_cache(const char *prefix, const struct pathspec *pathspec, int extern int diff_auto_refresh_index; /* match-trees.c */ -void shift_tree(const unsigned char *, const unsigned char *, unsigned char *, int); -void shift_tree_by(const unsigned char *, const unsigned char *, unsigned char *, const char *); +void shift_tree(const struct object_id *, const struct object_id *, struct object_id *, int); +void shift_tree_by(const struct object_id *, const struct object_id *, struct object_id *, const char *); /* * whitespace rules. @@ -1755,7 +1802,7 @@ int split_cmdline(char *cmdline, const char ***argv); /* Takes a negative value returned by split_cmdline */ const char *split_cmdline_strerror(int cmdline_errno); -/* git.c */ +/* setup.c */ struct startup_info { int have_repository; const char *prefix; @@ -164,7 +164,7 @@ static void display_table(const struct string_list *list, data.colopts = colopts; data.opts = *opts; - data.len = xmalloc(sizeof(*data.len) * list->nr); + ALLOC_ARRAY(data.len, list->nr); for (i = 0; i < list->nr; i++) data.len[i] = item_length(colopts, list->items[i].string); @@ -173,9 +173,8 @@ static void display_table(const struct string_list *list, if (colopts & COL_DENSE) shrink_columns(&data); - empty_cell = xmalloc(initial_width + 1); + empty_cell = xmallocz(initial_width); memset(empty_cell, ' ', initial_width); - empty_cell[initial_width] = '\0'; for (y = 0; y < data.rows; y++) { for (x = 0; x < data.cols; x++) if (display_cell(&data, initial_width, empty_cell, x, y)) diff --git a/combine-diff.c b/combine-diff.c index 55713049a4..0e1d4b0893 100644 --- a/combine-diff.c +++ b/combine-diff.c @@ -189,11 +189,11 @@ static struct lline *coalesce_lines(struct lline *base, int *lenbase, * - Else if we have NEW, insert newend lline into base and * consume newend */ - lcs = xcalloc(origbaselen + 1, sizeof(int*)); - directions = xcalloc(origbaselen + 1, sizeof(enum coalesce_direction*)); + lcs = xcalloc(st_add(origbaselen, 1), sizeof(int*)); + directions = xcalloc(st_add(origbaselen, 1), sizeof(enum coalesce_direction*)); for (i = 0; i < origbaselen + 1; i++) { - lcs[i] = xcalloc(lennew + 1, sizeof(int)); - directions[i] = xcalloc(lennew + 1, sizeof(enum coalesce_direction)); + lcs[i] = xcalloc(st_add(lennew, 1), sizeof(int)); + directions[i] = xcalloc(st_add(lennew, 1), sizeof(enum coalesce_direction)); directions[i][0] = BASE; } for (j = 1; j < lennew + 1; j++) @@ -319,7 +319,7 @@ static void append_lost(struct sline *sline, int n, const char *line, int len) if (line[len-1] == '\n') len--; - lline = xmalloc(sizeof(*lline) + len + 1); + FLEX_ALLOC_MEM(lline, line, line, len); lline->len = len; lline->next = NULL; lline->prev = sline->plost.lost_tail; @@ -330,8 +330,6 @@ static void append_lost(struct sline *sline, int n, const char *line, int len) sline->plost.lost_tail = lline; sline->plost.len++; lline->parent_map = this_mask; - memcpy(lline->line, line, len); - lline->line[len] = 0; } struct combine_diff_state { @@ -1043,7 +1041,7 @@ static void show_patch_diff(struct combine_diff_path *elem, int num_parent, elem->mode = canon_mode(S_IFLNK); result_size = len; - result = xmalloc(len + 1); + result = xmallocz(len); done = read_in_full(fd, result, len); if (done < 0) @@ -1051,8 +1049,6 @@ static void show_patch_diff(struct combine_diff_path *elem, int num_parent, else if (done < len) die("early EOF '%s'", elem->path); - result[len] = 0; - /* If not a fake symlink, apply filters, e.g. autocrlf */ if (is_file) { struct strbuf buf = STRBUF_INIT; @@ -1115,7 +1111,7 @@ static void show_patch_diff(struct combine_diff_path *elem, int num_parent, if (result_size && result[result_size-1] != '\n') cnt++; /* incomplete line */ - sline = xcalloc(cnt+2, sizeof(*sline)); + sline = xcalloc(st_add(cnt, 2), sizeof(*sline)); sline[0].bol = result; for (lno = 0, cp = result; cp < result + result_size; cp++) { if (*cp == '\n') { @@ -1134,7 +1130,7 @@ static void show_patch_diff(struct combine_diff_path *elem, int num_parent, /* Even p_lno[cnt+1] is valid -- that is for the end line number * for deletion hunk at the end. */ - sline[0].p_lno = xcalloc((cnt+2) * num_parent, sizeof(unsigned long)); + sline[0].p_lno = xcalloc(st_mult(st_add(cnt, 2), num_parent), sizeof(unsigned long)); for (lno = 0; lno <= cnt; lno++) sline[lno+1].p_lno = sline[lno].p_lno + num_parent; @@ -1266,7 +1262,7 @@ static struct diff_filepair *combined_pair(struct combine_diff_path *p, struct diff_filespec *pool; pair = xmalloc(sizeof(*pair)); - pool = xcalloc(num_parent + 1, sizeof(struct diff_filespec)); + pool = xcalloc(st_add(num_parent, 1), sizeof(struct diff_filespec)); pair->one = pool + 1; pair->two = pool; @@ -1372,7 +1368,7 @@ static struct combine_diff_path *find_paths_multitree( struct combine_diff_path paths_head; struct strbuf base; - parents_sha1 = xmalloc(nparent * sizeof(parents_sha1[0])); + ALLOC_ARRAY(parents_sha1, nparent); for (i = 0; i < nparent; i++) parents_sha1[i] = parents->sha1[i]; @@ -1483,7 +1479,7 @@ void diff_tree_combined(const unsigned char *sha1, if (opt->orderfile && num_paths) { struct obj_order *o; - o = xmalloc(sizeof(*o) * num_paths); + ALLOC_ARRAY(o, num_paths); for (i = 0, p = paths; p; p = p->next, i++) o[i].obj = p; order_objects(opt->orderfile, path_path, o, num_paths); @@ -147,7 +147,7 @@ struct commit_graft *read_graft_line(char *buf, int len) if ((len + 1) % entry_size) goto bad_graft_data; i = (len + 1) / entry_size - 1; - graft = xmalloc(sizeof(*graft) + GIT_SHA1_RAWSZ * i); + graft = xmalloc(st_add(sizeof(*graft), st_mult(GIT_SHA1_RAWSZ, i))); graft->nr_parent = i; if (get_oid_hex(buf, &graft->oid)) goto bad_graft_data; @@ -903,7 +903,7 @@ static int remove_redundant(struct commit **array, int cnt) work = xcalloc(cnt, sizeof(*work)); redundant = xcalloc(cnt, 1); - filled_index = xmalloc(sizeof(*filled_index) * (cnt - 1)); + ALLOC_ARRAY(filled_index, cnt - 1); for (i = 0; i < cnt; i++) parse_commit(array[i]); @@ -147,6 +147,7 @@ struct pretty_print_context { int preserve_subject; struct date_mode date_mode; unsigned date_mode_explicit:1; + int expand_tabs_in_log; int need_8bit_cte; char *notes_message; struct reflog_walk_info *reflog_info; diff --git a/compat/apple-common-crypto.h b/compat/apple-common-crypto.h index d3fb264181..11727f3e1e 100644 --- a/compat/apple-common-crypto.h +++ b/compat/apple-common-crypto.h @@ -3,12 +3,18 @@ #define HEADER_HMAC_H #define HEADER_SHA_H #include <CommonCrypto/CommonHMAC.h> -#define HMAC_CTX CCHmacContext -#define HMAC_Init(hmac, key, len, algo) CCHmacInit(hmac, algo, key, len) -#define HMAC_Update CCHmacUpdate -#define HMAC_Final(hmac, hash, ptr) CCHmacFinal(hmac, hash) -#define HMAC_CTX_cleanup(ignore) #define EVP_md5(...) kCCHmacAlgMD5 +/* CCHmac doesn't take md_len and the return type is void */ +#define HMAC git_CC_HMAC +static inline unsigned char *git_CC_HMAC(CCHmacAlgorithm alg, + const void *key, int key_len, + const unsigned char *data, size_t data_len, + unsigned char *md, unsigned int *md_len) +{ + CCHmac(alg, key, key_len, data, data_len, md); + return md; +} + #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070 #define APPLE_LION_OR_NEWER #include <Security/Security.h> diff --git a/compat/mingw.c b/compat/mingw.c index fbe69b874b..0413d5c3cd 100644 --- a/compat/mingw.c +++ b/compat/mingw.c @@ -763,15 +763,12 @@ struct tm *localtime_r(const time_t *timep, struct tm *result) char *mingw_getcwd(char *pointer, int len) { - int i; wchar_t wpointer[MAX_PATH]; if (!_wgetcwd(wpointer, ARRAY_SIZE(wpointer))) return NULL; if (xwcstoutf(pointer, wpointer, len) < 0) return NULL; - for (i = 0; pointer[i]; i++) - if (pointer[i] == '\\') - pointer[i] = '/'; + convert_slashes(pointer); return pointer; } @@ -810,7 +807,7 @@ static const char *quote_arg(const char *arg) return arg; /* insert \ where necessary */ - d = q = xmalloc(len+n+3); + d = q = xmalloc(st_add3(len, n, 3)); *d++ = '"'; while (*arg) { if (*arg == '"') @@ -893,7 +890,7 @@ static char **get_path_split(void) if (!n) return NULL; - path = xmalloc((n+1)*sizeof(char *)); + ALLOC_ARRAY(path, n + 1); p = envpath; i = 0; do { @@ -978,7 +975,7 @@ static wchar_t *make_environment_block(char **deltaenv) i++; /* copy the environment, leaving space for changes */ - tmpenv = xmalloc((size + i) * sizeof(char*)); + ALLOC_ARRAY(tmpenv, size + i); memcpy(tmpenv, environ, size * sizeof(char*)); /* merge supplied environment changes into the temporary environment */ @@ -1069,7 +1066,7 @@ static pid_t mingw_spawnve_fd(const char *cmd, const char **argv, char **deltaen free(quoted); } - wargs = xmalloc((2 * args.len + 1) * sizeof(wchar_t)); + ALLOC_ARRAY(wargs, st_add(st_mult(2, args.len), 1)); xutftowcs(wargs, args.buf, 2 * args.len + 1); strbuf_release(&args); @@ -1168,7 +1165,7 @@ static int try_shell_exec(const char *cmd, char *const *argv) int argc = 0; const char **argv2; while (argv[argc]) argc++; - argv2 = xmalloc(sizeof(*argv) * (argc+1)); + ALLOC_ARRAY(argv2, argc + 1); argv2[0] = (char *)cmd; /* full path to the script file */ memcpy(&argv2[1], &argv[1], sizeof(*argv) * argc); pid = mingw_spawnv(prog, argv2, 1); @@ -2112,9 +2109,7 @@ static void setup_windows_environment() * executable (by not mistaking the dir separators * for escape characters). */ - for (; *tmp; tmp++) - if (*tmp == '\\') - *tmp = '/'; + convert_slashes(tmp); } /* simulate TERM to enable auto-color (see color.c) */ diff --git a/compat/mingw.h b/compat/mingw.h index 8c5bf5076b..1de70ffd62 100644 --- a/compat/mingw.h +++ b/compat/mingw.h @@ -396,11 +396,17 @@ static inline char *mingw_find_last_dir_sep(const char *path) ret = (char *)path; return ret; } +static inline void convert_slashes(char *path) +{ + for (; *path; path++) + if (*path == '\\') + *path = '/'; +} #define find_last_dir_sep mingw_find_last_dir_sep int mingw_offset_1st_component(const char *path); #define offset_1st_component mingw_offset_1st_component #define PATH_SEP ';' -#ifndef __MINGW64_VERSION_MAJOR +#if !defined(__MINGW64_VERSION_MAJOR) && (!defined(_MSC_VER) || _MSC_VER < 1800) #define PRIuMAX "I64u" #define PRId64 "I64d" #else diff --git a/compat/precompose_utf8.c b/compat/precompose_utf8.c index 079070ff1d..4293b53b17 100644 --- a/compat/precompose_utf8.c +++ b/compat/precompose_utf8.c @@ -50,7 +50,8 @@ void probe_utf8_pathname_composition(void) close(output_fd); git_path_buf(&path, "%s", auml_nfd); precomposed_unicode = access(path.buf, R_OK) ? 0 : 1; - git_config_set("core.precomposeunicode", precomposed_unicode ? "true" : "false"); + git_config_set("core.precomposeunicode", + precomposed_unicode ? "true" : "false"); git_path_buf(&path, "%s", auml_nfc); if (unlink(path.buf)) die_errno(_("failed to unlink '%s'"), path.buf); @@ -146,7 +147,7 @@ struct dirent_prec_psx *precompose_utf8_readdir(PREC_DIR *prec_dir) if (errno || inleft) { /* * iconv() failed and errno could be E2BIG, EILSEQ, EINVAL, EBADF - * MacOS X avoids illegal byte sequemces. + * MacOS X avoids illegal byte sequences. * If they occur on a mounted drive (e.g. NFS) it is not worth to * die() for that, but rather let the user see the original name */ diff --git a/compat/qsort.c b/compat/qsort.c index 9574d537bd..7d071afb70 100644 --- a/compat/qsort.c +++ b/compat/qsort.c @@ -47,7 +47,7 @@ static void msort_with_tmp(void *b, size_t n, size_t s, void git_qsort(void *b, size_t n, size_t s, int (*cmp)(const void *, const void *)) { - const size_t size = n * s; + const size_t size = st_mult(n, s); char buf[1024]; if (size < sizeof(buf)) { diff --git a/compat/setenv.c b/compat/setenv.c index fc1439a643..7849f258d2 100644 --- a/compat/setenv.c +++ b/compat/setenv.c @@ -18,7 +18,7 @@ int gitsetenv(const char *name, const char *value, int replace) namelen = strlen(name); valuelen = strlen(value); - envstr = malloc((namelen + valuelen + 2)); + envstr = malloc(st_add3(namelen, valuelen, 2)); if (!envstr) { errno = ENOMEM; return -1; diff --git a/compat/snprintf.c b/compat/snprintf.c index 42ea1ac110..0b11688537 100644 --- a/compat/snprintf.c +++ b/compat/snprintf.c @@ -9,7 +9,7 @@ * always have room for a trailing NUL byte. */ #ifndef SNPRINTF_SIZE_CORR -#if defined(WIN32) && (!defined(__GNUC__) || __GNUC__ < 4) +#if defined(WIN32) && (!defined(__GNUC__) || __GNUC__ < 4) && (!defined(_MSC_VER) || _MSC_VER < 1900) #define SNPRINTF_SIZE_CORR 1 #else #define SNPRINTF_SIZE_CORR 0 diff --git a/compat/vcbuild/include/unistd.h b/compat/vcbuild/include/unistd.h index c65c2cd566..3a959d124c 100644 --- a/compat/vcbuild/include/unistd.h +++ b/compat/vcbuild/include/unistd.h @@ -45,11 +45,15 @@ typedef unsigned long long uintmax_t; typedef int64_t off64_t; +#if !defined(_MSC_VER) || _MSC_VER < 1600 #define INTMAX_MIN _I64_MIN #define INTMAX_MAX _I64_MAX #define UINTMAX_MAX _UI64_MAX #define UINT32_MAX 0xffffffff /* 4294967295U */ +#else +#include <stdint.h> +#endif #define STDIN_FILENO 0 #define STDOUT_FILENO 1 diff --git a/compat/win32/pthread.h b/compat/win32/pthread.h index 20b35a283c..b6ed9e7462 100644 --- a/compat/win32/pthread.h +++ b/compat/win32/pthread.h @@ -78,7 +78,7 @@ extern int win32_pthread_join(pthread_t *thread, void **value_ptr); #define pthread_equal(t1, t2) ((t1).tid == (t2).tid) extern pthread_t pthread_self(void); -static inline int pthread_exit(void *ret) +static inline void NORETURN pthread_exit(void *ret) { ExitThread((DWORD)(intptr_t)ret); } diff --git a/compat/win32/syslog.c b/compat/win32/syslog.c index d015e436d5..b905aea31b 100644 --- a/compat/win32/syslog.c +++ b/compat/win32/syslog.c @@ -32,7 +32,7 @@ void syslog(int priority, const char *fmt, ...) return; } - str = malloc(str_len + 1); + str = malloc(st_add(str_len, 1)); if (!str) { warning("malloc failed: '%s'", strerror(errno)); return; @@ -43,7 +43,7 @@ void syslog(int priority, const char *fmt, ...) va_end(ap); while ((pos = strstr(str, "%1")) != NULL) { - str = realloc(str, ++str_len + 1); + str = realloc(str, st_add(++str_len, 1)); if (!str) { warning("realloc failed: '%s'", strerror(errno)); return; diff --git a/compat/win32mmap.c b/compat/win32mmap.c index 80a8c9af4f..519d51f2b6 100644 --- a/compat/win32mmap.c +++ b/compat/win32mmap.c @@ -2,37 +2,42 @@ void *git_mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset) { - HANDLE hmap; + HANDLE osfhandle, hmap; void *temp; - off_t len; - struct stat st; + LARGE_INTEGER len; uint64_t o = offset; uint32_t l = o & 0xFFFFFFFF; uint32_t h = (o >> 32) & 0xFFFFFFFF; - if (!fstat(fd, &st)) - len = st.st_size; - else + osfhandle = (HANDLE)_get_osfhandle(fd); + if (!GetFileSizeEx(osfhandle, &len)) die("mmap: could not determine filesize"); - if ((length + offset) > len) - length = xsize_t(len - offset); + if ((length + offset) > len.QuadPart) + length = xsize_t(len.QuadPart - offset); if (!(flags & MAP_PRIVATE)) die("Invalid usage of mmap when built with USE_WIN32_MMAP"); - hmap = CreateFileMapping((HANDLE)_get_osfhandle(fd), NULL, - PAGE_WRITECOPY, 0, 0, NULL); + hmap = CreateFileMapping(osfhandle, NULL, + prot == PROT_READ ? PAGE_READONLY : PAGE_WRITECOPY, 0, 0, NULL); - if (!hmap) + if (!hmap) { + errno = EINVAL; return MAP_FAILED; + } - temp = MapViewOfFileEx(hmap, FILE_MAP_COPY, h, l, length, start); + temp = MapViewOfFileEx(hmap, prot == PROT_READ ? + FILE_MAP_READ : FILE_MAP_COPY, h, l, length, start); if (!CloseHandle(hmap)) warning("unable to close file mapping handle"); - return temp ? temp : MAP_FAILED; + if (temp) + return temp; + + errno = GetLastError() == ERROR_COMMITMENT_LIMIT ? EFBIG : EINVAL; + return MAP_FAILED; } int git_munmap(void *start, size_t length) @@ -24,6 +24,7 @@ struct config_source { size_t pos; } buf; } u; + const char *origin_type; const char *name; const char *path; int die_on_error; @@ -107,7 +108,7 @@ static int handle_path_include(const char *path, struct config_include_data *inc expanded = expand_user_path(path); if (!expanded) - return error("Could not expand include path '%s'", path); + return error("could not expand include path '%s'", path); path = expanded; /* @@ -471,9 +472,9 @@ static int git_parse_source(config_fn_t fn, void *data) break; } if (cf->die_on_error) - die(_("bad config file line %d in %s"), cf->linenr, cf->name); + die(_("bad config line %d in %s %s"), cf->linenr, cf->origin_type, cf->name); else - return error(_("bad config file line %d in %s"), cf->linenr, cf->name); + return error(_("bad config line %d in %s %s"), cf->linenr, cf->origin_type, cf->name); } static int parse_unit_factor(const char *end, uintmax_t *val) @@ -588,9 +589,9 @@ static void die_bad_number(const char *name, const char *value) if (!value) value = ""; - if (cf && cf->name) - die(_("bad numeric config value '%s' for '%s' in %s: %s"), - value, name, cf->name, reason); + if (cf && cf->origin_type && cf->name) + die(_("bad numeric config value '%s' for '%s' in %s %s: %s"), + value, name, cf->origin_type, cf->name, reason); die(_("bad numeric config value '%s' for '%s': %s"), value, name, reason); } @@ -716,6 +717,9 @@ static int git_default_core_config(const char *var, const char *value) if (!strcmp(var, "core.attributesfile")) return git_config_pathname(&git_attributes_file, var, value); + if (!strcmp(var, "core.hookspath")) + return git_config_pathname(&git_hooks_path, var, value); + if (!strcmp(var, "core.bare")) { is_bare_repository_cfg = git_config_bool(var, value); return 0; @@ -949,7 +953,7 @@ static int git_default_branch_config(const char *var, const char *value) else if (!strcmp(value, "always")) autorebase = AUTOREBASE_ALWAYS; else - return error("Malformed value for %s", var); + return error("malformed value for %s", var); return 0; } @@ -975,7 +979,7 @@ static int git_default_push_config(const char *var, const char *value) else if (!strcmp(value, "current")) push_default = PUSH_DEFAULT_CURRENT; else { - error("Malformed value for %s: %s", var, value); + error("malformed value for %s: %s", var, value); return error("Must be one of nothing, matching, simple, " "upstream or current."); } @@ -1061,11 +1065,13 @@ static int do_config_from(struct config_source *top, config_fn_t fn, void *data) } static int do_config_from_file(config_fn_t fn, - const char *name, const char *path, FILE *f, void *data) + const char *origin_type, const char *name, const char *path, FILE *f, + void *data) { struct config_source top; top.u.file = f; + top.origin_type = origin_type; top.name = name; top.path = path; top.die_on_error = 1; @@ -1078,7 +1084,7 @@ static int do_config_from_file(config_fn_t fn, static int git_config_from_stdin(config_fn_t fn, void *data) { - return do_config_from_file(fn, "<stdin>", NULL, stdin, data); + return do_config_from_file(fn, "standard input", "", NULL, stdin, data); } int git_config_from_file(config_fn_t fn, const char *filename, void *data) @@ -1089,21 +1095,22 @@ int git_config_from_file(config_fn_t fn, const char *filename, void *data) f = fopen(filename, "r"); if (f) { flockfile(f); - ret = do_config_from_file(fn, filename, filename, f, data); + ret = do_config_from_file(fn, "file", filename, filename, f, data); funlockfile(f); fclose(f); } return ret; } -int git_config_from_buf(config_fn_t fn, const char *name, const char *buf, - size_t len, void *data) +int git_config_from_mem(config_fn_t fn, const char *origin_type, + const char *name, const char *buf, size_t len, void *data) { struct config_source top; top.u.buf.buf = buf; top.u.buf.len = len; top.u.buf.pos = 0; + top.origin_type = origin_type; top.name = name; top.path = NULL; top.die_on_error = 0; @@ -1132,7 +1139,7 @@ static int git_config_from_blob_sha1(config_fn_t fn, return error("reference '%s' does not point to a blob", name); } - ret = git_config_from_buf(fn, name, buf, size, data); + ret = git_config_from_mem(fn, "blob", name, buf, size, data); free(buf); return ret; @@ -1184,11 +1191,12 @@ int git_config_system(void) return !git_env_bool("GIT_CONFIG_NOSYSTEM", 0); } -int git_config_early(config_fn_t fn, void *data, const char *repo_config) +static int do_git_config_sequence(config_fn_t fn, void *data) { int ret = 0, found = 0; char *xdg_config = xdg_config_home("config"); char *user_config = expand_user_path("~/.gitconfig"); + char *repo_config = git_pathdup("config"); if (git_config_system() && !access_or_die(git_etc_gitconfig(), R_OK, 0)) { ret += git_config_from_file(fn, git_etc_gitconfig(), @@ -1224,6 +1232,7 @@ int git_config_early(config_fn_t fn, void *data, const char *repo_config) free(xdg_config); free(user_config); + free(repo_config); return ret == 0 ? found : ret; } @@ -1231,8 +1240,6 @@ int git_config_with_options(config_fn_t fn, void *data, struct git_config_source *config_source, int respect_includes) { - char *repo_config = NULL; - int ret; struct config_include_data inc = CONFIG_INCLUDE_INIT; if (respect_includes) { @@ -1253,11 +1260,7 @@ int git_config_with_options(config_fn_t fn, void *data, else if (config_source && config_source->blob) return git_config_from_blob_ref(fn, config_source->blob, data); - repo_config = git_pathdup("config"); - ret = git_config_early(fn, data, repo_config); - if (repo_config) - free(repo_config); - return ret; + return do_git_config_sequence(fn, data); } static void git_config_raw(config_fn_t fn, void *data) @@ -1309,14 +1312,11 @@ static struct config_set_element *configset_find_element(struct config_set *cs, struct config_set_element k; struct config_set_element *found_entry; char *normalized_key; - int ret; /* * `key` may come from the user, so normalize it before using it * for querying entries from the hashmap. */ - ret = git_config_parse_key(key, &normalized_key, NULL); - - if (ret) + if (git_config_parse_key(key, &normalized_key, NULL)) return NULL; hashmap_entry_init(&k, strhash(normalized_key)); @@ -1849,15 +1849,26 @@ contline: return offset; } -int git_config_set_in_file(const char *config_filename, - const char *key, const char *value) +int git_config_set_in_file_gently(const char *config_filename, + const char *key, const char *value) +{ + return git_config_set_multivar_in_file_gently(config_filename, key, value, NULL, 0); +} + +void git_config_set_in_file(const char *config_filename, + const char *key, const char *value) { - return git_config_set_multivar_in_file(config_filename, key, value, NULL, 0); + git_config_set_multivar_in_file(config_filename, key, value, NULL, 0); } -int git_config_set(const char *key, const char *value) +int git_config_set_gently(const char *key, const char *value) { - return git_config_set_multivar(key, value, NULL, 0); + return git_config_set_multivar_gently(key, value, NULL, 0); +} + +void git_config_set(const char *key, const char *value) +{ + git_config_set_multivar(key, value, NULL, 0); } /* @@ -1902,7 +1913,7 @@ static int git_config_parse_key_1(const char *key, char **store_key, int *basele * Validate the key and while at it, lower case it for matching. */ if (store_key) - *store_key = xmalloc(strlen(key) + 1); + *store_key = xmallocz(strlen(key)); dot = 0; for (i = 0; key[i]; i++) { @@ -1926,8 +1937,6 @@ static int git_config_parse_key_1(const char *key, char **store_key, int *basele if (store_key) (*store_key)[i] = c; } - if (store_key) - (*store_key)[i] = 0; return 0; @@ -1974,9 +1983,10 @@ int git_config_key_is_valid(const char *key) * - the config file is removed and the lock file rename()d to it. * */ -int git_config_set_multivar_in_file(const char *config_filename, - const char *key, const char *value, - const char *value_regex, int multi_replace) +int git_config_set_multivar_in_file_gently(const char *config_filename, + const char *key, const char *value, + const char *value_regex, + int multi_replace) { int fd = -1, in_fd = -1; int ret; @@ -2203,11 +2213,31 @@ write_err_out: } -int git_config_set_multivar(const char *key, const char *value, - const char *value_regex, int multi_replace) +void git_config_set_multivar_in_file(const char *config_filename, + const char *key, const char *value, + const char *value_regex, int multi_replace) { - return git_config_set_multivar_in_file(NULL, key, value, value_regex, - multi_replace); + if (!git_config_set_multivar_in_file_gently(config_filename, key, value, + value_regex, multi_replace)) + return; + if (value) + die(_("could not set '%s' to '%s'"), key, value); + else + die(_("could not unset '%s'"), key); +} + +int git_config_set_multivar_gently(const char *key, const char *value, + const char *value_regex, int multi_replace) +{ + return git_config_set_multivar_in_file_gently(NULL, key, value, value_regex, + multi_replace); +} + +void git_config_set_multivar(const char *key, const char *value, + const char *value_regex, int multi_replace) +{ + git_config_set_multivar_in_file(NULL, key, value, value_regex, + multi_replace); } static int section_name_match (const char *buf, const char *name) @@ -2374,7 +2404,7 @@ int git_config_rename_section(const char *old_name, const char *new_name) #undef config_error_nonbool int config_error_nonbool(const char *var) { - return error("Missing value for '%s'", var); + return error("missing value for '%s'", var); } int parse_config_key(const char *var, @@ -2409,3 +2439,13 @@ int parse_config_key(const char *var, return 0; } + +const char *current_config_origin_type(void) +{ + return cf && cf->origin_type ? cf->origin_type : "command line"; +} + +const char *current_config_name(void) +{ + return cf && cf->name ? cf->name : ""; +} diff --git a/config.mak.uname b/config.mak.uname index d6f7980bb9..40d6b29eee 100644 --- a/config.mak.uname +++ b/config.mak.uname @@ -37,6 +37,7 @@ ifeq ($(uname_S),Linux) HAVE_CLOCK_GETTIME = YesPlease HAVE_CLOCK_MONOTONIC = YesPlease HAVE_GETDELIM = YesPlease + SANE_TEXT_GREP=-a endif ifeq ($(uname_S),GNU/kFreeBSD) HAVE_ALLOCA_H = YesPlease @@ -186,6 +187,7 @@ ifeq ($(uname_O),Cygwin) X = .exe UNRELIABLE_FSTAT = UnfortunatelyYes SPARSE_FLAGS = -isystem /usr/include/w32api -Wno-one-bit-signed-bitfield + OBJECT_CREATION_USES_RENAMES = UnfortunatelyNeedsTo endif ifeq ($(uname_S),FreeBSD) NEEDS_LIBICONV = YesPlease diff --git a/configure.ac b/configure.ac index 89e2590bd6..c279025747 100644 --- a/configure.ac +++ b/configure.ac @@ -471,6 +471,13 @@ if test -n "$ASCIIDOC"; then esac fi +if grep -a ascii configure.ac >/dev/null; then + AC_MSG_RESULT([Using 'grep -a' for sane_grep]) + SANE_TEXT_GREP=-a +else + SANE_TEXT_GREP= +fi +GIT_CONF_SUBST([SANE_TEXT_GREP]) ## Checks for libraries. AC_MSG_NOTICE([CHECKS for libraries]) @@ -963,10 +970,6 @@ AC_CHECK_LIB([iconv], [locale_charset], [CHARSET_LIB=-lcharset])]) GIT_CONF_SUBST([CHARSET_LIB]) # -# Define NO_HMAC_CTX_CLEANUP=YesPlease if HMAC_CTX_cleanup is missing. -AC_CHECK_LIB([crypto], [HMAC_CTX_cleanup], - [], [GIT_CONF_SUBST([NO_HMAC_CTX_CLEANUP], [YesPlease])]) -# # Define HAVE_CLOCK_GETTIME=YesPlease if clock_gettime is available. GIT_CHECK_FUNC(clock_gettime, [HAVE_CLOCK_GETTIME=YesPlease], @@ -267,9 +267,9 @@ static enum protocol get_protocol(const char *name) return PROTO_SSH; if (!strcmp(name, "git")) return PROTO_GIT; - if (!strcmp(name, "git+ssh")) + if (!strcmp(name, "git+ssh")) /* deprecated - do not use */ return PROTO_SSH; - if (!strcmp(name, "ssh+git")) + if (!strcmp(name, "ssh+git")) /* deprecated - do not use */ return PROTO_SSH; if (!strcmp(name, "file")) return PROTO_FILE; diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index e3918c87e3..34024754d9 100644 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -1339,15 +1339,15 @@ _git_help () { case "$cur" in --*) - __gitcomp "--all --info --man --web" + __gitcomp "--all --guides --info --man --web" return ;; esac __git_compute_all_commands __gitcomp "$__git_all_commands $(__git_aliases) attributes cli core-tutorial cvs-migration - diffcore gitk glossary hooks ignore modules - namespaces repository-layout tutorial tutorial-2 + diffcore everyday gitk glossary hooks ignore modules + namespaces repository-layout revisions tutorial tutorial-2 workflows " } @@ -1458,6 +1458,7 @@ _git_log () --relative-date --date= --pretty= --format= --oneline --show-signature + --cherry-mark --cherry-pick --graph --decorate --decorate= diff --git a/contrib/hooks/multimail/CHANGES b/contrib/hooks/multimail/CHANGES index bc77e66b85..100cc7a6d3 100644 --- a/contrib/hooks/multimail/CHANGES +++ b/contrib/hooks/multimail/CHANGES @@ -1,3 +1,46 @@ +Release 1.3.1 (bugfix-only release) +=================================== + +* Generate links to commits in combined emails (it was done only for + commit emails in 1.3.0). + +* Fix broken links on PyPi. + +Release 1.3.0 +============= + +* New options multimailhook.htmlInIntro and multimailhook.htmlInFooter + now allow using HTML in the introduction and footer of emails (e.g. + for a more pleasant formatting or to insert a link to the commit on + a web interface). + +* A new option multimailhook.commitBrowseURL gives a simpler (and less + flexible) way to add a link to a web interface for commit emails + than multimailhook.htmlInIntro and multimailhook.htmlInFooter. + +* A new public function config.add_config_parameters was added to + allow custom hooks to set specific Git configuration variables + without modifying the configuration files. See an example in + post-receive.example. + +* Error handling for SMTP has been improved (we used to print Python + backtraces for legitimate errors). + +* The SMTP mailer can now check TLS certificates when the newly added + configuration variable multimailhook.smtpCACerts. + +* Python 3 portability has been improved. + +* The documentation's formatting has been improved. + +* The testsuite has been improved (we now use pyflakes to check for + errors in the code). + +This version has been tested with Python 2.4 and 2.6 to 3.5, and Git +v1.7.10-406-gdc801e7, 2.1.4 and 2.8.1.339.g3ad15fd. + +No change since 1.3 RC1. + Release 1.2.0 ============= diff --git a/contrib/hooks/multimail/CONTRIBUTING.rst b/contrib/hooks/multimail/CONTRIBUTING.rst index 09efdb059c..530ecbfcf1 100644 --- a/contrib/hooks/multimail/CONTRIBUTING.rst +++ b/contrib/hooks/multimail/CONTRIBUTING.rst @@ -1,3 +1,6 @@ +Contributing +============ + git-multimail is an open-source project, built by volunteers. We would welcome your help! @@ -6,9 +9,7 @@ and Matthieu Moy <matthieu.moy@grenoble-inp.fr>. Please note that although a copy of git-multimail is distributed in the "contrib" section of the main Git project, development takes place -in a separate git-multimail repository on GitHub: - - https://github.com/git-multimail/git-multimail +in a separate `git-multimail repository on GitHub`_. Whenever enough changes to git-multimail have accumulated, a new code-drop of git-multimail will be submitted for inclusion in the Git @@ -21,10 +22,12 @@ to the maintainers). Please sign off your patches as per the `Git project practice <https://github.com/git/git/blob/master/Documentation/SubmittingPatches#L234>`__. -General discussion of git-multimail can take place on the main Git -mailing list, - - git@vger.kernel.org +General discussion of git-multimail can take place on the main `Git +mailing list`_. Please CC emails regarding git-multimail to the maintainers so that we don't overlook them. + + +.. _`git-multimail repository on GitHub`: https://github.com/git-multimail/git-multimail +.. _`Git mailing list`: git@vger.kernel.org diff --git a/contrib/hooks/multimail/README b/contrib/hooks/multimail/README index 55120685f0..0c91d19a57 100644 --- a/contrib/hooks/multimail/README +++ b/contrib/hooks/multimail/README @@ -1,5 +1,5 @@ -git-multimail (version 1.2.0) -============================= +git-multimail 1.3.1 +=================== .. image:: https://travis-ci.org/git-multimail/git-multimail.svg?branch=master :target: https://travis-ci.org/git-multimail/git-multimail @@ -127,6 +127,13 @@ changes of this type, please consider sharing them with the community.) +Troubleshooting/FAQ +------------------- + +Please read `<doc/troubleshooting.rst>`__ for frequently asked +questions and common issues with git-multimail. + + Configuration ------------- @@ -134,19 +141,16 @@ By default, git-multimail mostly takes its configuration from the following ``git config`` settings: multimailhook.environment - This describes the general environment of the repository. In most cases, you do not need to specify a value for this variable: `git-multimail` will autodetect which environment to use. Currently supported values: - * generic - + generic the username of the pusher is read from $USER or $USERNAME and the repository name is derived from the repository's path. - * gitolite - + gitolite the username of the pusher is read from $GL_USER, the repository name is read from $GL_REPO, and the From: header value is optionally read from gitolite.conf (see multimailhook.from). @@ -154,8 +158,7 @@ multimailhook.environment For more information about gitolite and git-multimail, read `<doc/gitolite.rst>`__ - * stash - + stash Environment to use when ``git-multimail`` is ran as an Atlassian BitBucket Server (formerly known as Atlassian Stash) hook. @@ -169,8 +172,7 @@ multimailhook.environment and repo come from these two command line flags, which must be specified. - * gerrit - + gerrit Environment to use when ``git-multimail`` is ran as a ``ref-updated`` Gerrit hook. @@ -205,14 +207,12 @@ multimailhook.environment * If none of the above apply, then ``generic`` is used. multimailhook.repoName - A short name of this Git repository, to be used in various places in the notification email text. The default is to use $GL_REPO for gitolite repositories, or otherwise to derive this value from the repository path name. multimailhook.mailingList - The list of email addresses to which notification emails should be sent, as RFC 2822 email addresses separated by commas. This configuration option can be multivalued. Leave it unset or set it @@ -221,7 +221,6 @@ multimailhook.mailingList specific types of notification email. multimailhook.refchangeList - The list of email addresses to which summary emails about reference changes should be sent, as RFC 2822 email addresses separated by commas. This configuration option can be @@ -231,7 +230,6 @@ multimailhook.refchangeList multimailhook.mailingList is set. multimailhook.announceList - The list of email addresses to which emails about new annotated tags should be sent, as RFC 2822 email addresses separated by commas. This configuration option can be multivalued. The @@ -241,7 +239,6 @@ multimailhook.announceList even if one of the other values is set. multimailhook.commitList - The list of email addresses to which emails about individual new commits should be sent, as RFC 2822 email addresses separated by commas. This configuration option can be multivalued. The @@ -251,7 +248,6 @@ multimailhook.commitList multimailhook.mailingList is set. multimailhook.announceShortlog - If this option is set to true, then emails about changes to annotated tags include a shortlog of changes since the previous tag. This can be useful if the annotated tags represent releases; @@ -261,7 +257,6 @@ multimailhook.announceShortlog rather than useful. Default is false. multimailhook.commitEmailFormat - The format of email messages for the individual commits, can be "text" or "html". In the latter case, the emails will include diffs using colorized HTML instead of plain text used by default. Note that this currently the @@ -274,8 +269,43 @@ multimailhook.commitEmailFormat the message starting with ``+++`` or ``---`` colored in red or green). -multimailhook.refchangeShowGraph + By default, all the message is HTML-escaped. See + ``multimailhook.htmlInIntro`` to change this behavior. + +multimailhook.commitBrowseURL + Used to generate a link to an online repository browser in commit + emails. This variable must be a string. Format directives like + ``%(<variable>)s`` will be expanded the same way as template + strings. In particular, ``%(id)s`` will be replaced by the full + Git commit identifier (40-chars hexadecimal). + + If the string does not contain any format directive, then + ``%(id)s`` will be automatically added to the string. If you don't + want ``%(id)s`` to be automatically added, use the empty format + directive ``%()s`` anywhere in the string. + + For example, a suitable value for the git-multimail project itself + would be + ``https://github.com/git-multimail/git-multimail/commit/%(id)s``. + +multimailhook.htmlInIntro, multimailhook.htmlInFooter + When generating an HTML message, git-multimail escapes any HTML + sequence by default. This means that if a template contains HTML + like ``<a href="foo">link</a>``, the reader will see the HTML + source code and not a proper link. + + Set ``multimailhook.htmlInIntro`` to true to allow writting HTML + formatting in introduction templates. Similarly, set + ``multimailhook.htmlInFooter`` for HTML in the footer. + Variables expanded in the template are still escaped. For example, + if a repository's path contains a ``<``, it will be rendered as + such in the message. + + Read `<doc/customizing-emails.rst>`__ for more details and + examples. + +multimailhook.refchangeShowGraph If this option is set to true, then summary emails about reference changes will additionally include: @@ -287,7 +317,6 @@ multimailhook.refchangeShowGraph specified in graphOpts. The default is false. multimailhook.refchangeShowLog - If this option is set to true, then summary emails about reference changes will include a detailed log of the added commits in addition to the one line summary. The log is generated by running @@ -295,71 +324,80 @@ multimailhook.refchangeShowLog Default is false. multimailhook.mailer - This option changes the way emails are sent. Accepted values are: - - sendmail (the default): use the command ``/usr/sbin/sendmail`` or + * **sendmail (the default)**: use the command ``/usr/sbin/sendmail`` or ``/usr/lib/sendmail`` (or sendmailCommand, if configured). This mode can be further customized via the following options: - * multimailhook.sendmailCommand - - The command used by mailer ``sendmail`` to send emails. Shell - quoting is allowed in the value of this setting, but remember that - Git requires double-quotes to be escaped; e.g.:: + multimailhook.sendmailCommand + The command used by mailer ``sendmail`` to send emails. Shell + quoting is allowed in the value of this setting, but remember that + Git requires double-quotes to be escaped; e.g.:: - git config multimailhook.sendmailcommand '/usr/sbin/sendmail -oi -t -F \"Git Repo\"' + git config multimailhook.sendmailcommand '/usr/sbin/sendmail -oi -t -F \"Git Repo\"' - Default is '/usr/sbin/sendmail -oi -t' or - '/usr/lib/sendmail -oi -t' (depending on which file is - present and executable). + Default is '/usr/sbin/sendmail -oi -t' or + '/usr/lib/sendmail -oi -t' (depending on which file is + present and executable). - * multimailhook.envelopeSender + multimailhook.envelopeSender + If set then pass this value to sendmail via the -f option to set + the envelope sender address. - If set then pass this value to sendmail via the -f option to set - the envelope sender address. - - - smtp: use Python's smtplib. This is useful when the sendmail + * **smtp**: use Python's smtplib. This is useful when the sendmail command is not available on the system. This mode can be further customized via the following options: - * multimailhook.smtpServer - - The name of the SMTP server to connect to. The value can - also include a colon and a port number; e.g., - ``mail.example.com:25``. Default is 'localhost' using port 25. - - * multimailhook.smtpUser - * multimailhook.smtpPass - - Server username and password. Required if smtpEncryption is 'ssl'. - Note that the username and password currently need to be - set cleartext in the configuration file, which is not - recommended. If you need to use this option, be sure your - configuration file is read-only. + multimailhook.smtpServer + The name of the SMTP server to connect to. The value can + also include a colon and a port number; e.g., + ``mail.example.com:25``. Default is 'localhost' using port 25. - * multimailhook.envelopeSender + multimailhook.smtpUser, multimailhook.smtpPass + Server username and password. Required if smtpEncryption is 'ssl'. + Note that the username and password currently need to be + set cleartext in the configuration file, which is not + recommended. If you need to use this option, be sure your + configuration file is read-only. + multimailhook.envelopeSender The sender address to be passed to the SMTP server. If unset, then the value of multimailhook.from is used. - * multimailhook.smtpServerTimeout - + multimailhook.smtpServerTimeout Timeout in seconds. - * multimailhook.smtpEncryption - - Set the security type. Allowed values: none, ssl, tls. - Default=none. - - * multimailhook.smtpServerDebugLevel - + multimailhook.smtpEncryption + Set the security type. Allowed values: ``none``, ``ssl``, ``tls`` (starttls). + Default is ``none``. + + multimailhook.smtpCACerts + Set the path to a list of trusted CA certificate to verify the + server certificate, only supported when ``smtpEncryption`` is + ``tls``. If unset or empty, the server certificate is not + verified. If it targets a file containing a list of trusted CA + certificates (PEM format) these CAs will be used to verify the + server certificate. For debian, you can set + ``/etc/ssl/certs/ca-certificates.crt`` for using the system + trusted CAs. For self-signed server, you can add your server + certificate to the system store:: + + cd /usr/local/share/ca-certificates/ + openssl s_client -starttls smtp \ + -connect mail.example.net:587 -showcerts \ + </dev/null 2>/dev/null \ + | openssl x509 -outform PEM >mail.example.net.crt + update-ca-certificates + + and used the updated ``/etc/ssl/certs/ca-certificates.crt``. Or + directly use your ``/path/to/mail.example.net.crt``. Default is + unset. + + multimailhook.smtpServerDebugLevel Integer number. Set to greater than 0 to activate debugging. -multimailhook.from -multimailhook.fromCommit -multimailhook.fromRefchange - +multimailhook.from, multimailhook.fromCommit, multimailhook.fromRefchange If set, use this value in the From: field of generated emails. ``fromCommit`` is used for commit emails, ``fromRefchange`` is used for refchange emails, and ``from`` is used as fall-back in @@ -372,7 +410,7 @@ multimailhook.fromRefchange - The value ``pusher``, in which case the pusher's address (if available) will be used. - - The value ``author`` (meaningful only for replyToCommit), in which + - The value ``author`` (meaningful only for ``fromCommit``), in which case the commit author's address will be used. If config values are unset, the value of the From: header is @@ -396,14 +434,12 @@ multimailhook.fromRefchange 3. Use the value of multimailhook.envelopeSender. multimailhook.administrator - The name and/or email address of the administrator of the Git repository; used in FOOTER_TEMPLATE. Default is multimailhook.envelopesender if it is set; otherwise a generic string is used. multimailhook.emailPrefix - All emails have this string prepended to their subjects, to aid email filtering (though filtering based on the X-Git-* email headers is probably more robust). Default is the short name of @@ -411,16 +447,14 @@ multimailhook.emailPrefix value to the empty string to suppress the email prefix. multimailhook.emailMaxLines - The maximum number of lines that should be included in the body of a generated email. If not specified, there is no limit. Lines beyond the limit are suppressed and counted, and a final line is added indicating the number of suppressed lines. multimailhook.emailMaxLineLength - The maximum length of a line in the email body. Lines longer than - this limit are truncated to this length with a trailing `` [...]`` + this limit are truncated to this length with a trailing ``[...]`` added to indicate the missing text. The default is 500, because (a) diffs with longer lines are probably from binary files, for which a diff is useless, and (b) even if a text file has such long @@ -428,7 +462,6 @@ multimailhook.emailMaxLineLength truncation, set this option to 0. multimailhook.maxCommitEmails - The maximum number of commit emails to send for a given change. When the number of patches is larger that this value, only the summary refchange email is sent. This can avoid accidental @@ -436,14 +469,12 @@ multimailhook.maxCommitEmails emails limit, set this option to 0. The default is 500. multimailhook.emailStrictUTF8 - If this boolean option is set to `true`, then the main part of the email body is forced to be valid UTF-8. Any characters that are not valid UTF-8 are converted to the Unicode replacement character, U+FFFD. The default is `true`. multimailhook.diffOpts - Options passed to ``git diff-tree`` when generating the summary information for ReferenceChange emails. Default is ``--stat --summary --find-copies-harder``. Add -p to those options to @@ -452,7 +483,6 @@ multimailhook.diffOpts details. multimailhook.graphOpts - Options passed to ``git log --graph`` when generating graphs for the reference change summary emails (used only if refchangeShowGraph is true). The default is '--oneline --decorate'. @@ -460,7 +490,6 @@ multimailhook.graphOpts Shell quoting is allowed; see logOpts for details. multimailhook.logOpts - Options passed to ``git log`` to generate additional info for reference change emails (used only if refchangeShowLog is set). For example, adding -p will show each commit's complete diff. The @@ -479,7 +508,6 @@ multimailhook.logOpts logopts = --pretty=format:\"%h %aN <%aE>%n%s%n%n%b%n\" multimailhook.commitLogOpts - Options passed to ``git log`` to generate additional info for revision change emails. For example, adding --ignore-all-spaces will suppress whitespace changes. The default options are ``-C @@ -487,26 +515,21 @@ multimailhook.commitLogOpts multimailhook.logOpts for details. multimailhook.dateSubstitute - String to use as a substitute for ``Date:`` in the output of ``git log`` while formatting commit messages. This is usefull to avoid emitting a line that can be interpreted by mailers as the start of a cited message (Zimbra webmail in particular). Defaults to - ``CommitDate: ``. Set to an empty string or ``none`` to deactivate + ``CommitDate:``. Set to an empty string or ``none`` to deactivate the behavior. multimailhook.emailDomain - Domain name appended to the username of the person doing the push to convert it into an email address (via ``"%s@%s" % (username, emaildomain)``). More complicated schemes can be implemented by overriding Environment and overriding its get_pusher_email() method. -multimailhook.replyTo -multimailhook.replyToCommit -multimailhook.replyToRefchange - +multimailhook.replyTo, multimailhook.replyToCommit, multimailhook.replyToRefchange Addresses to use in the Reply-To: field for commit emails (replyToCommit) and refchange emails (replyToRefchange). multimailhook.replyTo is used as default when replyToCommit or @@ -519,32 +542,24 @@ multimailhook.replyToRefchange commit emails. multimailhook.quiet - Do not output the list of email recipients from the hook multimailhook.stdout - For debugging, send emails to stdout rather than to the mailer. Equivalent to the --stdout command line option multimailhook.scanCommitForCc - If this option is set to true, than recipients from lines in commit body that starts with ``CC:`` will be added to CC list. Default: false multimailhook.combineWhenSingleCommit - If this option is set to true and a single new commit is pushed to a branch, combine the summary and commit email messages into a single email. Default: true -multimailhook.refFilterInclusionRegex -multimailhook.refFilterExclusionRegex -multimailhook.refFilterDoSendRegex -multimailhook.refFilterDontSendRegex - +multimailhook.refFilterInclusionRegex, multimailhook.refFilterExclusionRegex, multimailhook.refFilterDoSendRegex, multimailhook.refFilterDontSendRegex **Warning:** these options are experimental. They should work, but the user-interface is not stable yet (in particular, the option names may change). If you want to participate in stabilizing the @@ -626,14 +641,16 @@ git-multimail is mostly customized via an "environment" that describes the local environment in which Git is running. Two types of environment are built in: -* GenericEnvironment: a stand-alone Git repository. +GenericEnvironment + a stand-alone Git repository. -* GitoliteEnvironment: a Git repository that is managed by gitolite - [3]_. For such repositories, the identity of the pusher is read from - environment variable $GL_USER, the name of the repository is read - from $GL_REPO (if it is not overridden by multimailhook.reponame), - and the From: header value is optionally read from gitolite.conf - (see multimailhook.from). +GitoliteEnvironment + a Git repository that is managed by gitolite + [3]_. For such repositories, the identity of the pusher is read from + environment variable $GL_USER, the name of the repository is read + from $GL_REPO (if it is not overridden by multimailhook.reponame), + and the From: header value is optionally read from gitolite.conf + (see multimailhook.from). By default, git-multimail assumes GitoliteEnvironment if $GL_USER and $GL_REPO are set, and otherwise assumes GenericEnvironment. diff --git a/contrib/hooks/multimail/README.Git b/contrib/hooks/multimail/README.Git index 300a2a4d2d..1210bde045 100644 --- a/contrib/hooks/multimail/README.Git +++ b/contrib/hooks/multimail/README.Git @@ -6,10 +6,10 @@ website: https://github.com/git-multimail/git-multimail The version in this directory was obtained from the upstream project -on October 11 2015 and consists of the "git-multimail" subdirectory from +on May 13 2016 and consists of the "git-multimail" subdirectory from revision - c0791b9ef5821a746fc3475c25765e640452eaae refs/tags/1.2.0 + 3ce5470d4abf7251604cbf64e73a962e1b617f5e refs/tags/1.3.1 Please see the README file in this directory for information about how to report bugs or contribute to git-multimail. diff --git a/contrib/hooks/multimail/doc/customizing-emails.rst b/contrib/hooks/multimail/doc/customizing-emails.rst new file mode 100644 index 0000000000..3f5b67f768 --- /dev/null +++ b/contrib/hooks/multimail/doc/customizing-emails.rst @@ -0,0 +1,56 @@ +Customizing the content and formatting of emails +================================================ + +Overloading template strings +---------------------------- + +The content of emails is generated based on template strings defined +in ``git_multimail.py``. You can customize these template strings +without changing the script itself, by defining a Python wrapper +around it. The python wrapper should ``import git_multimail`` and then +override the ``git_multimail.*`` strings like this:: + + import sys # needed for sys.argv + + # Import and customize git_multimail: + import git_multimail + git_multimail.REVISION_INTRO_TEMPLATE = """...""" + git_multimail.COMBINED_INTRO_TEMPLATE = git_multimail.REVISION_INTRO_TEMPLATE + + # start git_multimail itself: + git_multimail.main(sys.argv[1:]) + +The template strings can use any value already used in the existing +templates (read the source code). + +Using HTML in template strings +------------------------------ + +If ``multimailhook.commitEmailFormat`` is set to HTML, then +git-multimail will generate HTML emails for commit notifications. The +log and diff will be formatted automatically by git-multimail. By +default, any HTML special character in the templates will be escaped. + +To use HTML formatting in the introduction of the email, set +``multimailhook.htmlInIntro`` to ``true``. Then, the template can +contain any HTML tags, that will be sent as-is in the email. For +example, to add some formatting and a link to the online commit, use +a format like:: + + git_multimail.REVISION_INTRO_TEMPLATE = """\ + <span style="color:#808080">This is an automated email from the git hooks/post-receive script.</span><br /><br /> + + <strong>%(pusher)s</strong> pushed a commit to %(refname_type)s %(short_refname)s + in repository %(repo_shortname)s.<br /> + + <a href="https://github.com/git-multimail/git-multimail/commit/%(newrev)s">View on GitHub</a>. + """ + +Note that the values expanded from ``%(variable)s`` in the format +strings will still be escaped. + +For a less flexible but easier to set up way to add a link to commit +emails, see ``multimailhook.commitBrowseURL``. + +Similarly, one can set ``multimailhook.htmlInFooter`` and override any +of the ``*_FOOTER*`` template strings. diff --git a/contrib/hooks/multimail/doc/troubleshooting.rst b/contrib/hooks/multimail/doc/troubleshooting.rst new file mode 100644 index 0000000000..d3f346f076 --- /dev/null +++ b/contrib/hooks/multimail/doc/troubleshooting.rst @@ -0,0 +1,44 @@ +Troubleshooting issues with git-multimail: a FAQ +================================================ + +Git is not using the right address in the From/To/Reply-To field +---------------------------------------------------------------- + +First, make sure that git-multimail actually uses what you think it is +using. A lot happens to your email (especially when posting to a +mailing-list) between the time `git_multimail.py` sends it and the +time it reaches your inbox. + +A simple test (to do on a test repository, do not use in production as +it would disable email sending): change your post-receive hook to call +`git_multimail.py` with the `--stdout` option, and try to push to the +repository. You should see something like:: + + Counting objects: 3, done. + Writing objects: 100% (3/3), 263 bytes | 0 bytes/s, done. + Total 3 (delta 0), reused 0 (delta 0) + remote: Sending notification emails to: foo.bar@example.com + remote: =========================================================================== + remote: Date: Mon, 25 Apr 2016 18:39:59 +0200 + remote: To: foo.bar@example.com + remote: Subject: [git] branch master updated: foo + remote: MIME-Version: 1.0 + remote: Content-Type: text/plain; charset=utf-8 + remote: Content-Transfer-Encoding: 8bit + remote: Message-ID: <20160425163959.2311.20498@anie> + remote: From: Auth Or <Foo.Bar@example.com> + remote: Reply-To: Auth Or <Foo.Bar@example.com> + remote: X-Git-Host: example + ... + remote: -- + remote: To stop receiving notification emails like this one, please contact + remote: the administrator of this repository. + remote: =========================================================================== + To /path/to/repo + 6278f04..e173f20 master -> master + +Note: this does not include the sender (Return-Path: header), as it is +not part of the message content but passed to the mailer. Some mailer +show the ``Sender:`` field instead of the ``From:`` field (for +example, Zimbra Webmail shows ``From: <sender-field> on behalf of +<from-field>``). diff --git a/contrib/hooks/multimail/git_multimail.py b/contrib/hooks/multimail/git_multimail.py index 0180dba431..54ab4a4942 100755 --- a/contrib/hooks/multimail/git_multimail.py +++ b/contrib/hooks/multimail/git_multimail.py @@ -1,6 +1,6 @@ #! /usr/bin/env python -__version__ = '1.2.0' +__version__ = '1.3.1' # Copyright (c) 2015 Matthieu Moy and others # Copyright (c) 2012-2014 Michael Haggerty and others @@ -57,6 +57,11 @@ import subprocess import shlex import optparse import smtplib +try: + import ssl +except ImportError: + # Python < 2.6 do not have ssl, but that's OK if we don't use it. + pass import time import cgi @@ -75,6 +80,9 @@ def is_ascii(s): if PYTHON3: + def is_string(s): + return isinstance(s, str) + def str_to_bytes(s): return s.encode(ENCODING) @@ -91,6 +99,12 @@ if PYTHON3: except UnicodeEncodeError: f.buffer.write(msg.encode(ENCODING)) else: + def is_string(s): + try: + return isinstance(s, basestring) + except NameError: # Silence Pyflakes warning + raise + def str_to_bytes(s): return s @@ -313,6 +327,16 @@ in repository %(repo_shortname)s. """ +LINK_TEXT_TEMPLATE = """\ +View the commit online: +%(browse_url)s + +""" + +LINK_HTML_TEMPLATE = """\ +<p><a href="%(browse_url)s">View the commit online</a>.</p> +""" + REVISION_FOOTER_TEMPLATE = FOOTER_TEMPLATE @@ -532,6 +556,28 @@ class Config(object): assert words[-1] == '' return words[:-1] + @staticmethod + def add_config_parameters(c): + """Add configuration parameters to Git. + + c is either an str or a list of str, each element being of the + form 'var=val' or 'var', with the same syntax and meaning as + the argument of 'git -c var=val'. + """ + if isinstance(c, str): + c = (c,) + parameters = os.environ.get('GIT_CONFIG_PARAMETERS', '') + if parameters: + parameters += ' ' + # git expects GIT_CONFIG_PARAMETERS to be of the form + # "'name1=value1' 'name2=value2' 'name3=value3'" + # including everything inside the double quotes (but not the double + # quotes themselves). Spacing is critical. Also, if a value contains + # a literal single quote that quote must be represented using the + # four character sequence: '\'' + parameters += ' '.join("'" + x.replace("'", "'\\''") + "'" for x in c) + os.environ['GIT_CONFIG_PARAMETERS'] = parameters + def get(self, name, default=None): try: values = self._split(read_git_output( @@ -745,6 +791,12 @@ class Change(object): values['multimail_version'] = get_version() return values + # Aliases usable in template strings. Tuple of pairs (destination, + # source). + VALUES_ALIAS = ( + ("id", "newrev"), + ) + def get_values(self, **extra_values): """Return a dictionary {keyword: expansion} for this Change. @@ -760,6 +812,9 @@ class Change(object): values = self._values.copy() if extra_values: values.update(extra_values) + + for alias, val in self.VALUES_ALIAS: + values[alias] = values[val] return values def expand(self, template, **extra_values): @@ -772,10 +827,14 @@ class Change(object): return template % self.get_values(**extra_values) - def expand_lines(self, template, **extra_values): + def expand_lines(self, template, html_escape_val=False, **extra_values): """Break template into lines and expand each line.""" values = self.get_values(**extra_values) + if html_escape_val: + for k in values: + if is_string(values[k]): + values[k] = cgi.escape(values[k], True) for line in template.splitlines(True): yield line % values @@ -787,9 +846,10 @@ class Change(object): values = self.get_values(**extra_values) if self._contains_html_diff: - values['contenttype'] = 'html' + self._content_type = 'html' else: - values['contenttype'] = 'plain' + self._content_type = 'plain' + values['contenttype'] = self._content_type for line in template.splitlines(): (name, value) = line.split(': ', 1) @@ -819,7 +879,11 @@ class Change(object): raise NotImplementedError() - def generate_email_intro(self): + def generate_browse_link(self, base_url): + """Generate a link to an online repository browser.""" + return iter(()) + + def generate_email_intro(self, html_escape_val=False): """Generate the email intro for this Change, a line at a time. The output will be used as the standard boilerplate at the top @@ -835,7 +899,7 @@ class Change(object): raise NotImplementedError() - def generate_email_footer(self): + def generate_email_footer(self, html_escape_val): """Generate the footer of the email, a line at a time. The footer is always included, irrespective of @@ -876,9 +940,18 @@ class Change(object): for line in self.generate_email_header(**extra_header_values): yield line yield '\n' - for line in self._wrap_for_html(self.generate_email_intro()): + html_escape_val = (self.environment.html_in_intro and + self._contains_html_diff) + intro = self.generate_email_intro(html_escape_val) + if not self.environment.html_in_intro: + intro = self._wrap_for_html(intro) + for line in intro: yield line + if self.environment.commitBrowseURL: + for line in self.generate_browse_link(self.environment.commitBrowseURL): + yield line + body = self.generate_email_body(push) if body_filter is not None: body = body_filter(body) @@ -939,8 +1012,12 @@ class Change(object): yield line if self._contains_html_diff: yield '</pre>' - - for line in self._wrap_for_html(self.generate_email_footer()): + html_escape_val = (self.environment.html_in_footer and + self._contains_html_diff) + footer = self.generate_email_footer(html_escape_val) + if not self.environment.html_in_footer: + footer = self._wrap_for_html(footer) + for line in footer: yield line def get_alt_fromaddr(self): @@ -992,6 +1069,7 @@ class Revision(Change): values['rev_short'] = self.rev.short values['change_type'] = self.change_type values['refname'] = self.refname + values['newrev'] = self.rev.sha1 values['short_refname'] = self.reference_change.short_refname values['refname_type'] = self.reference_change.refname_type values['reply_to_msgid'] = self.reference_change.msgid @@ -1015,8 +1093,26 @@ class Revision(Change): ): yield line - def generate_email_intro(self): - for line in self.expand_lines(REVISION_INTRO_TEMPLATE): + def generate_browse_link(self, base_url): + if '%(' not in base_url: + base_url += '%(id)s' + url = "".join(self.expand_lines(base_url)) + if self._content_type == 'html': + for line in self.expand_lines(LINK_HTML_TEMPLATE, + html_escape_val=True, + browse_url=url): + yield line + elif self._content_type == 'plain': + for line in self.expand_lines(LINK_TEXT_TEMPLATE, + html_escape_val=False, + browse_url=url): + yield line + else: + raise NotImplementedError("Content-type %s unsupported. Please report it as a bug.") + + def generate_email_intro(self, html_escape_val=False): + for line in self.expand_lines(REVISION_INTRO_TEMPLATE, + html_escape_val=html_escape_val): yield line def generate_email_body(self, push): @@ -1031,8 +1127,9 @@ class Revision(Change): else: yield line - def generate_email_footer(self): - return self.expand_lines(REVISION_FOOTER_TEMPLATE) + def generate_email_footer(self, html_escape_val): + return self.expand_lines(REVISION_FOOTER_TEMPLATE, + html_escape_val=html_escape_val) def generate_email(self, push, body_filter=None, extra_header_values={}): self._contains_diff() @@ -1217,8 +1314,9 @@ class ReferenceChange(Change): ): yield line - def generate_email_intro(self): - for line in self.expand_lines(self.intro_template): + def generate_email_intro(self, html_escape_val=False): + for line in self.expand_lines(self.intro_template, + html_escape_val=html_escape_val): yield line def generate_email_body(self, push): @@ -1238,8 +1336,9 @@ class ReferenceChange(Change): for line in self.generate_revision_change_summary(push): yield line - def generate_email_footer(self): - return self.expand_lines(self.footer_template) + def generate_email_footer(self, html_escape_val): + return self.expand_lines(self.footer_template, + html_escape_val=html_escape_val) def generate_revision_change_graph(self, push): if self.showgraph: @@ -1605,6 +1704,14 @@ class BranchChange(ReferenceChange): self.header_template = COMBINED_HEADER_TEMPLATE self.intro_template = COMBINED_INTRO_TEMPLATE self.footer_template = COMBINED_FOOTER_TEMPLATE + + def revision_gen_link(base_url): + # revision is used only to generate the body, and + # _content_type is set while generating headers. Get it + # from the BranchChange object. + revision._content_type = self._content_type + return revision.generate_browse_link(base_url) + self.generate_browse_link = revision_gen_link for line in self.generate_email(push, body_filter, values): yield line @@ -1896,6 +2003,7 @@ class SMTPMailer(Mailer): smtpservertimeout=10.0, smtpserverdebuglevel=0, smtpencryption='none', smtpuser='', smtppass='', + smtpcacerts='' ): if not envelopesender: sys.stderr.write( @@ -1915,6 +2023,7 @@ class SMTPMailer(Mailer): self.security = smtpencryption self.username = smtpuser self.password = smtppass + self.smtpcacerts = smtpcacerts try: def call(klass, server, timeout): try: @@ -1925,13 +2034,56 @@ class SMTPMailer(Mailer): if self.security == 'none': self.smtp = call(smtplib.SMTP, self.smtpserver, timeout=self.smtpservertimeout) elif self.security == 'ssl': + if self.smtpcacerts: + raise smtplib.SMTPException( + "Checking certificate is not supported for ssl, prefer starttls" + ) self.smtp = call(smtplib.SMTP_SSL, self.smtpserver, timeout=self.smtpservertimeout) elif self.security == 'tls': + if 'ssl' not in sys.modules: + sys.stderr.write( + '*** Your Python version does not have the ssl library installed\n' + '*** smtpEncryption=tls is not available.\n' + '*** Either upgrade Python to 2.6 or later\n' + ' or use git_multimail.py version 1.2.\n') if ':' not in self.smtpserver: self.smtpserver += ':587' # default port for TLS self.smtp = call(smtplib.SMTP, self.smtpserver, timeout=self.smtpservertimeout) + # start: ehlo + starttls + # equivalent to + # self.smtp.ehlo() + # self.smtp.starttls() + # with acces to the ssl layer self.smtp.ehlo() - self.smtp.starttls() + if not self.smtp.has_extn("starttls"): + raise smtplib.SMTPException("STARTTLS extension not supported by server") + resp, reply = self.smtp.docmd("STARTTLS") + if resp != 220: + raise smtplib.SMTPException("Wrong answer to the STARTTLS command") + if self.smtpcacerts: + self.smtp.sock = ssl.wrap_socket( + self.smtp.sock, + ca_certs=self.smtpcacerts, + cert_reqs=ssl.CERT_REQUIRED + ) + else: + self.smtp.sock = ssl.wrap_socket( + self.smtp.sock, + cert_reqs=ssl.CERT_NONE + ) + sys.stderr.write( + '*** Warning, the server certificat is not verified (smtp) ***\n' + '*** set the option smtpCACerts ***\n' + ) + if not hasattr(self.smtp.sock, "read"): + # using httplib.FakeSocket with Python 2.5.x or earlier + self.smtp.sock.read = self.smtp.sock.recv + self.smtp.file = smtplib.SSLFakeFile(self.smtp.sock) + self.smtp.helo_resp = None + self.smtp.ehlo_resp = None + self.smtp.esmtp_features = {} + self.smtp.does_esmtp = 0 + # end: ehlo + starttls self.smtp.ehlo() else: sys.stdout.write('*** Error: Control reached an invalid option. ***') @@ -1951,6 +2103,7 @@ class SMTPMailer(Mailer): def __del__(self): if hasattr(self, 'smtp'): self.smtp.quit() + del self.smtp def send(self, lines, to_addrs): try: @@ -1958,13 +2111,24 @@ class SMTPMailer(Mailer): self.smtp.login(self.username, self.password) msg = ''.join(lines) # turn comma-separated list into Python list if needed. - if isinstance(to_addrs, basestring): + if is_string(to_addrs): to_addrs = [email for (name, email) in getaddresses([to_addrs])] self.smtp.sendmail(self.envelopesender, to_addrs, msg) - except Exception: + except smtplib.SMTPResponseException: sys.stderr.write('*** Error sending email ***\n') - sys.stderr.write('*** %s\n' % sys.exc_info()[1]) - self.smtp.quit() + err = sys.exc_info()[1] + sys.stderr.write('*** Error %d: %s\n' % (err.smtp_code, + bytes_to_str(err.smtp_error))) + try: + smtp = self.smtp + # delete the field before quit() so that in case of + # error, self.smtp is deleted anyway. + del self.smtp + smtp.quit() + except: + sys.stderr.write('*** Error closing the SMTP connection ***\n') + sys.stderr.write('*** Exiting anyway ... ***\n') + sys.stderr.write('*** %s\n' % sys.exc_info()[1]) sys.exit(1) @@ -2097,6 +2261,14 @@ class Environment(object): If "html", generate commit emails in HTML instead of plain text used by default. + html_in_intro (bool) + html_in_footer (bool) + + When generating HTML emails, the introduction (respectively, + the footer) will be HTML-escaped iff html_in_intro (respectively, + the footer) is true. When false, only the values used to expand + the template are escaped. + refchange_showgraph (bool) True iff refchanges emails should include a detailed graph. @@ -2160,6 +2332,9 @@ class Environment(object): self.osenv = osenv or os.environ self.announce_show_shortlog = False self.commit_email_format = "text" + self.html_in_intro = False + self.html_in_footer = False + self.commitBrowseURL = None self.maxcommitemails = 500 self.diffopts = ['--stat', '--summary', '--find-copies-harder'] self.graphopts = ['--oneline', '--decorate'] @@ -2236,7 +2411,7 @@ class Environment(object): The return value is always a new dictionary.""" if self._values is None: - values = {} + values = {'': ''} # %()s expands to the empty string. for key in self.COMPUTED_KEYS: value = getattr(self, 'get_%s' % (key,))() @@ -2375,6 +2550,16 @@ class ConfigOptionsEnvironmentMixin(ConfigEnvironmentMixin): else: self.commit_email_format = commit_email_format + html_in_intro = config.get_bool('htmlInIntro') + if html_in_intro is not None: + self.html_in_intro = html_in_intro + + html_in_footer = config.get_bool('htmlInFooter') + if html_in_footer is not None: + self.html_in_footer = html_in_footer + + self.commitBrowseURL = config.get('commitBrowseURL') + maxcommitemails = config.get('maxcommitemails') if maxcommitemails is not None: try: @@ -2415,7 +2600,6 @@ class ConfigOptionsEnvironmentMixin(ConfigEnvironmentMixin): ['author']) self.__reply_to_commit = config.get('replyToCommit', default=reply_to) - from_addr = self.config.get('from') self.from_refchange = config.get('fromRefchange') self.forbid_field_values('fromRefchange', self.from_refchange, @@ -3390,6 +3574,8 @@ def run_as_post_receive_hook(environment, mailer): if changes: push = Push(environment, changes) push.send_emails(mailer, body_filter=environment.filter_body) + if hasattr(mailer, '__del__'): + mailer.__del__() def run_as_update_hook(environment, mailer, refname, oldrev, newrev, force_send=False): @@ -3406,6 +3592,8 @@ def run_as_update_hook(environment, mailer, refname, oldrev, newrev, force_send= ] push = Push(environment, changes, force_send) push.send_emails(mailer, body_filter=environment.filter_body) + if hasattr(mailer, '__del__'): + mailer.__del__() def choose_mailer(config, environment): @@ -3418,6 +3606,7 @@ def choose_mailer(config, environment): smtpencryption = config.get('smtpencryption', default='none') smtpuser = config.get('smtpuser', default='') smtppass = config.get('smtppass', default='') + smtpcacerts = config.get('smtpcacerts', default='') mailer = SMTPMailer( envelopesender=(environment.get_sender() or environment.get_fromaddr()), smtpserver=smtpserver, smtpservertimeout=smtpservertimeout, @@ -3425,6 +3614,7 @@ def choose_mailer(config, environment): smtpencryption=smtpencryption, smtpuser=smtpuser, smtppass=smtppass, + smtpcacerts=smtpcacerts ) elif mailer == 'sendmail': command = config.get('sendmailcommand') @@ -3691,17 +3881,7 @@ def main(args): return if options.c: - parameters = os.environ.get('GIT_CONFIG_PARAMETERS', '') - if parameters: - parameters += ' ' - # git expects GIT_CONFIG_PARAMETERS to be of the form - # "'name1=value1' 'name2=value2' 'name3=value3'" - # including everything inside the double quotes (but not the double - # quotes themselves). Spacing is critical. Also, if a value contains - # a literal single quote that quote must be represented using the - # four character sequence: '\'' - parameters += ' '.join("'" + x.replace("'", "'\\''") + "'" for x in options.c) - os.environ['GIT_CONFIG_PARAMETERS'] = parameters + Config.add_config_parameters(options.c) config = Config('multimailhook') diff --git a/contrib/hooks/multimail/post-receive.example b/contrib/hooks/multimail/post-receive.example index 9975df7107..1ea113d274 100755 --- a/contrib/hooks/multimail/post-receive.example +++ b/contrib/hooks/multimail/post-receive.example @@ -55,6 +55,12 @@ import git_multimail # git-multimail: config = git_multimail.Config('multimailhook') +# Set some Git configuration variables. Equivalent to passing var=val +# to "git -c var=val" each time git is called, or to adding the +# configuration in .git/config (must come before instanciating the +# environment) : +#git_multimail.Config.add_config_parameters('multimailhook.commitEmailFormat=html') +#git_multimail.Config.add_config_parameters(('user.name=foo', 'user.email=foo@example.com')) # Select the type of environment: try: @@ -19,17 +19,19 @@ #define CONVERT_STAT_BITS_BIN 0x4 enum crlf_action { - CRLF_GUESS = -1, - CRLF_BINARY = 0, + CRLF_UNDEFINED, + CRLF_BINARY, CRLF_TEXT, - CRLF_INPUT, - CRLF_CRLF, - CRLF_AUTO + CRLF_TEXT_INPUT, + CRLF_TEXT_CRLF, + CRLF_AUTO, + CRLF_AUTO_INPUT, + CRLF_AUTO_CRLF }; struct text_stat { /* NUL, CR, LF and CRLF counts */ - unsigned nul, cr, lf, crlf; + unsigned nul, lonecr, lonelf, crlf; /* These are just approximations! */ unsigned printable, nonprintable; @@ -44,13 +46,15 @@ static void gather_stats(const char *buf, unsigned long size, struct text_stat * for (i = 0; i < size; i++) { unsigned char c = buf[i]; if (c == '\r') { - stats->cr++; - if (i+1 < size && buf[i+1] == '\n') + if (i+1 < size && buf[i+1] == '\n') { stats->crlf++; + i++; + } else + stats->lonecr++; continue; } if (c == '\n') { - stats->lf++; + stats->lonelf++; continue; } if (c == 127) @@ -84,7 +88,7 @@ static void gather_stats(const char *buf, unsigned long size, struct text_stat * */ static int convert_is_binary(unsigned long size, const struct text_stat *stats) { - if (stats->cr != stats->crlf) + if (stats->lonecr) return 1; if (stats->nul) return 1; @@ -96,19 +100,18 @@ static int convert_is_binary(unsigned long size, const struct text_stat *stats) static unsigned int gather_convert_stats(const char *data, unsigned long size) { struct text_stat stats; + int ret = 0; if (!data || !size) return 0; gather_stats(data, size, &stats); if (convert_is_binary(size, &stats)) - return CONVERT_STAT_BITS_BIN; - else if (stats.crlf && stats.crlf == stats.lf) - return CONVERT_STAT_BITS_TXT_CRLF; - else if (stats.crlf && stats.lf) - return CONVERT_STAT_BITS_TXT_CRLF | CONVERT_STAT_BITS_TXT_LF; - else if (stats.lf) - return CONVERT_STAT_BITS_TXT_LF; - else - return 0; + ret |= CONVERT_STAT_BITS_BIN; + if (stats.crlf) + ret |= CONVERT_STAT_BITS_TXT_CRLF; + if (stats.lonelf) + ret |= CONVERT_STAT_BITS_TXT_LF; + + return ret; } static const char *gather_convert_stats_ascii(const char *data, unsigned long size) @@ -149,28 +152,37 @@ const char *get_wt_convert_stats_ascii(const char *path) return ret; } +static int text_eol_is_crlf(void) +{ + if (auto_crlf == AUTO_CRLF_TRUE) + return 1; + else if (auto_crlf == AUTO_CRLF_INPUT) + return 0; + if (core_eol == EOL_CRLF) + return 1; + if (core_eol == EOL_UNSET && EOL_NATIVE == EOL_CRLF) + return 1; + return 0; +} + static enum eol output_eol(enum crlf_action crlf_action) { switch (crlf_action) { case CRLF_BINARY: return EOL_UNSET; - case CRLF_CRLF: + case CRLF_TEXT_CRLF: return EOL_CRLF; - case CRLF_INPUT: + case CRLF_TEXT_INPUT: return EOL_LF; - case CRLF_GUESS: - if (!auto_crlf) - return EOL_UNSET; - /* fall through */ + case CRLF_UNDEFINED: + case CRLF_AUTO_CRLF: + case CRLF_AUTO_INPUT: case CRLF_TEXT: case CRLF_AUTO: - if (auto_crlf == AUTO_CRLF_TRUE) - return EOL_CRLF; - else if (auto_crlf == AUTO_CRLF_INPUT) - return EOL_LF; - else if (core_eol == EOL_UNSET) - return EOL_NATIVE; + /* fall through */ + return text_eol_is_crlf() ? EOL_CRLF : EOL_LF; } + warning("Illegal crlf_action %d\n", (int)crlf_action); return core_eol; } @@ -196,7 +208,7 @@ static void check_safe_crlf(const char *path, enum crlf_action crlf_action, * CRLFs would be added by checkout: * check if we have "naked" LFs */ - if (stats->lf != stats->crlf) { + if (stats->lonelf) { if (checksafe == SAFE_CRLF_WARN) warning("LF will be replaced by CRLF in %s.\nThe file will have its original line endings in your working directory.", path); else /* i.e. SAFE_CRLF_FAIL */ @@ -227,7 +239,6 @@ static int crlf_to_git(const char *path, const char *src, size_t len, char *dst; if (crlf_action == CRLF_BINARY || - (crlf_action == CRLF_GUESS && auto_crlf == AUTO_CRLF_FALSE) || (src && !len)) return 0; @@ -240,11 +251,11 @@ static int crlf_to_git(const char *path, const char *src, size_t len, gather_stats(src, len, &stats); - if (crlf_action == CRLF_AUTO || crlf_action == CRLF_GUESS) { + if (crlf_action == CRLF_AUTO || crlf_action == CRLF_AUTO_INPUT || crlf_action == CRLF_AUTO_CRLF) { if (convert_is_binary(len, &stats)) return 0; - if (crlf_action == CRLF_GUESS) { + if (crlf_action == CRLF_AUTO_INPUT || crlf_action == CRLF_AUTO_CRLF) { /* * If the file in the index has any CR in it, do not convert. * This is the new safer autocrlf handling. @@ -256,8 +267,8 @@ static int crlf_to_git(const char *path, const char *src, size_t len, check_safe_crlf(path, crlf_action, &stats, checksafe); - /* Optimization: No CR? Nothing to convert, regardless. */ - if (!stats.cr) + /* Optimization: No CRLF? Nothing to convert, regardless. */ + if (!stats.crlf) return 0; /* @@ -271,7 +282,7 @@ static int crlf_to_git(const char *path, const char *src, size_t len, if (strbuf_avail(buf) + buf->len < len) strbuf_grow(buf, len - buf->len); dst = buf->buf; - if (crlf_action == CRLF_AUTO || crlf_action == CRLF_GUESS) { + if (crlf_action == CRLF_AUTO || crlf_action == CRLF_AUTO_INPUT || crlf_action == CRLF_AUTO_CRLF) { /* * If we guessed, we already know we rejected a file with * lone CR, and we can strip a CR without looking at what @@ -304,19 +315,15 @@ static int crlf_to_worktree(const char *path, const char *src, size_t len, gather_stats(src, len, &stats); - /* No LF? Nothing to convert, regardless. */ - if (!stats.lf) - return 0; - - /* Was it already in CRLF format? */ - if (stats.lf == stats.crlf) + /* No "naked" LF? Nothing to convert, regardless. */ + if (!stats.lonelf) return 0; - if (crlf_action == CRLF_AUTO || crlf_action == CRLF_GUESS) { - if (crlf_action == CRLF_GUESS) { + if (crlf_action == CRLF_AUTO || crlf_action == CRLF_AUTO_INPUT || crlf_action == CRLF_AUTO_CRLF) { + if (crlf_action == CRLF_AUTO_INPUT || crlf_action == CRLF_AUTO_CRLF) { /* If we have any CR or CRLF line endings, we do not touch it */ /* This is the new safer autocrlf-handling */ - if (stats.cr > 0 || stats.crlf > 0) + if (stats.lonecr || stats.crlf ) return 0; } @@ -328,7 +335,7 @@ static int crlf_to_worktree(const char *path, const char *src, size_t len, if (src == buf->buf) to_free = strbuf_detach(buf, NULL); - strbuf_grow(buf, len + stats.lf - stats.crlf); + strbuf_grow(buf, len + stats.lonelf); for (;;) { const char *nl = memchr(src, '\n', len); if (!nl) @@ -696,7 +703,7 @@ static int ident_to_worktree(const char *path, const char *src, size_t len, return 1; } -static enum crlf_action git_path_check_crlf(const char *path, struct git_attr_check *check) +static enum crlf_action git_path_check_crlf(struct git_attr_check *check) { const char *value = check->value; @@ -707,13 +714,13 @@ static enum crlf_action git_path_check_crlf(const char *path, struct git_attr_ch else if (ATTR_UNSET(value)) ; else if (!strcmp(value, "input")) - return CRLF_INPUT; + return CRLF_TEXT_INPUT; else if (!strcmp(value, "auto")) return CRLF_AUTO; - return CRLF_GUESS; + return CRLF_UNDEFINED; } -static enum eol git_path_check_eol(const char *path, struct git_attr_check *check) +static enum eol git_path_check_eol(struct git_attr_check *check) { const char *value = check->value; @@ -726,8 +733,7 @@ static enum eol git_path_check_eol(const char *path, struct git_attr_check *chec return EOL_UNSET; } -static struct convert_driver *git_path_check_convert(const char *path, - struct git_attr_check *check) +static struct convert_driver *git_path_check_convert(struct git_attr_check *check) { const char *value = check->value; struct convert_driver *drv; @@ -740,28 +746,17 @@ static struct convert_driver *git_path_check_convert(const char *path, return NULL; } -static int git_path_check_ident(const char *path, struct git_attr_check *check) +static int git_path_check_ident(struct git_attr_check *check) { const char *value = check->value; return !!ATTR_TRUE(value); } -static enum crlf_action input_crlf_action(enum crlf_action text_attr, enum eol eol_attr) -{ - if (text_attr == CRLF_BINARY) - return CRLF_BINARY; - if (eol_attr == EOL_LF) - return CRLF_INPUT; - if (eol_attr == EOL_CRLF) - return CRLF_CRLF; - return text_attr; -} - struct conv_attrs { struct convert_driver *drv; - enum crlf_action crlf_action; - enum eol eol_attr; + enum crlf_action attr_action; /* What attr says */ + enum crlf_action crlf_action; /* When no attr is set, use core.autocrlf */ int ident; }; @@ -783,18 +778,33 @@ static void convert_attrs(struct conv_attrs *ca, const char *path) } if (!git_check_attr(path, NUM_CONV_ATTRS, ccheck)) { - ca->crlf_action = git_path_check_crlf(path, ccheck + 4); - if (ca->crlf_action == CRLF_GUESS) - ca->crlf_action = git_path_check_crlf(path, ccheck + 0); - ca->ident = git_path_check_ident(path, ccheck + 1); - ca->drv = git_path_check_convert(path, ccheck + 2); - ca->eol_attr = git_path_check_eol(path, ccheck + 3); + ca->crlf_action = git_path_check_crlf(ccheck + 4); + if (ca->crlf_action == CRLF_UNDEFINED) + ca->crlf_action = git_path_check_crlf(ccheck + 0); + ca->attr_action = ca->crlf_action; + ca->ident = git_path_check_ident(ccheck + 1); + ca->drv = git_path_check_convert(ccheck + 2); + if (ca->crlf_action != CRLF_BINARY) { + enum eol eol_attr = git_path_check_eol(ccheck + 3); + if (eol_attr == EOL_LF) + ca->crlf_action = CRLF_TEXT_INPUT; + else if (eol_attr == EOL_CRLF) + ca->crlf_action = CRLF_TEXT_CRLF; + } + ca->attr_action = ca->crlf_action; } else { ca->drv = NULL; - ca->crlf_action = CRLF_GUESS; - ca->eol_attr = EOL_UNSET; + ca->crlf_action = CRLF_UNDEFINED; ca->ident = 0; } + if (ca->crlf_action == CRLF_TEXT) + ca->crlf_action = text_eol_is_crlf() ? CRLF_TEXT_CRLF : CRLF_TEXT_INPUT; + if (ca->crlf_action == CRLF_UNDEFINED && auto_crlf == AUTO_CRLF_FALSE) + ca->crlf_action = CRLF_BINARY; + if (ca->crlf_action == CRLF_UNDEFINED && auto_crlf == AUTO_CRLF_TRUE) + ca->crlf_action = CRLF_AUTO_CRLF; + if (ca->crlf_action == CRLF_UNDEFINED && auto_crlf == AUTO_CRLF_INPUT) + ca->crlf_action = CRLF_AUTO_INPUT; } int would_convert_to_git_filter_fd(const char *path) @@ -819,23 +829,25 @@ int would_convert_to_git_filter_fd(const char *path) const char *get_convert_attr_ascii(const char *path) { struct conv_attrs ca; - enum crlf_action crlf_action; convert_attrs(&ca, path); - crlf_action = input_crlf_action(ca.crlf_action, ca.eol_attr); - switch (crlf_action) { - case CRLF_GUESS: + switch (ca.attr_action) { + case CRLF_UNDEFINED: return ""; case CRLF_BINARY: return "-text"; case CRLF_TEXT: return "text"; - case CRLF_INPUT: + case CRLF_TEXT_INPUT: return "text eol=lf"; - case CRLF_CRLF: - return "text=auto eol=crlf"; + case CRLF_TEXT_CRLF: + return "text eol=crlf"; case CRLF_AUTO: return "text=auto"; + case CRLF_AUTO_CRLF: + return "text=auto eol=crlf"; /* This is not supported yet */ + case CRLF_AUTO_INPUT: + return "text=auto eol=lf"; /* This is not supported yet */ } return ""; } @@ -862,7 +874,6 @@ int convert_to_git(const char *path, const char *src, size_t len, src = dst->buf; len = dst->len; } - ca.crlf_action = input_crlf_action(ca.crlf_action, ca.eol_attr); ret |= crlf_to_git(path, src, len, dst, ca.crlf_action, checksafe); if (ret && dst) { src = dst->buf; @@ -883,7 +894,6 @@ void convert_to_git_filter_fd(const char *path, int fd, struct strbuf *dst, if (!apply_filter(path, NULL, 0, fd, dst, ca.drv->clean)) die("%s: clean filter '%s' failed", path, ca.drv->name); - ca.crlf_action = input_crlf_action(ca.crlf_action, ca.eol_attr); crlf_to_git(path, dst->buf, dst->len, dst, ca.crlf_action, checksafe); ident_to_git(path, dst->buf, dst->len, dst, ca.ident); } @@ -913,7 +923,6 @@ static int convert_to_working_tree_internal(const char *path, const char *src, * is a smudge filter. The filter might expect CRLFs. */ if (filter || !normalizing) { - ca.crlf_action = input_crlf_action(ca.crlf_action, ca.eol_attr); ret |= crlf_to_worktree(path, src, len, dst, ca.crlf_action); if (ret) { src = dst->buf; @@ -1382,14 +1391,15 @@ struct stream_filter *get_stream_filter(const char *path, const unsigned char *s if (ca.ident) filter = ident_filter(sha1); - crlf_action = input_crlf_action(ca.crlf_action, ca.eol_attr); + crlf_action = ca.crlf_action; - if ((crlf_action == CRLF_BINARY) || (crlf_action == CRLF_INPUT) || - (crlf_action == CRLF_GUESS && auto_crlf == AUTO_CRLF_FALSE)) + if ((crlf_action == CRLF_BINARY) || + crlf_action == CRLF_AUTO_INPUT || + (crlf_action == CRLF_TEXT_INPUT)) filter = cascade_filter(filter, &null_filter_singleton); else if (output_eol(crlf_action) == EOL_CRLF && - !(crlf_action == CRLF_AUTO || crlf_action == CRLF_GUESS)) + !(crlf_action == CRLF_AUTO || crlf_action == CRLF_AUTO_CRLF)) filter = cascade_filter(filter, lf_to_crlf_filter()); return filter; diff --git a/credential-cache--daemon.c b/credential-cache--daemon.c index cc65a9c0d3..291c0fd5e9 100644 --- a/credential-cache--daemon.c +++ b/credential-cache--daemon.c @@ -126,8 +126,17 @@ static void serve_one_client(FILE *in, FILE *out) fprintf(out, "password=%s\n", e->item.password); } } - else if (!strcmp(action.buf, "exit")) + else if (!strcmp(action.buf, "exit")) { + /* + * It's important that we clean up our socket first, and then + * signal the client only once we have finished the cleanup. + * Calling exit() directly does this, because we clean up in + * our atexit() handler, and then signal the client when our + * process actually ends, which closes the socket and gives + * them EOF. + */ exit(0); + } else if (!strcmp(action.buf, "erase")) remove_credential(&c); else if (!strcmp(action.buf, "store")) { @@ -215,7 +224,7 @@ static const char permissions_advice[] = "users may be able to read your cached credentials. Consider running:\n" "\n" " chmod 0700 %s"; -static void check_socket_directory(const char *path) +static void init_socket_directory(const char *path) { struct stat st; char *path_copy = xstrdup(path); @@ -224,20 +233,27 @@ static void check_socket_directory(const char *path) if (!stat(dir, &st)) { if (st.st_mode & 077) die(permissions_advice, dir); - free(path_copy); - return; + } else { + /* + * We must be sure to create the directory with the correct mode, + * not just chmod it after the fact; otherwise, there is a race + * condition in which somebody can chdir to it, sleep, then try to open + * our protected socket. + */ + if (safe_create_leading_directories_const(dir) < 0) + die_errno("unable to create directories for '%s'", dir); + if (mkdir(dir, 0700) < 0) + die_errno("unable to mkdir '%s'", dir); } - /* - * We must be sure to create the directory with the correct mode, - * not just chmod it after the fact; otherwise, there is a race - * condition in which somebody can chdir to it, sleep, then try to open - * our protected socket. - */ - if (safe_create_leading_directories_const(dir) < 0) - die_errno("unable to create directories for '%s'", dir); - if (mkdir(dir, 0700) < 0) - die_errno("unable to mkdir '%s'", dir); + if (chdir(dir)) + /* + * We don't actually care what our cwd is; we chdir here just to + * be a friendly daemon and avoid tying up our original cwd. + * If this fails, it's OK to just continue without that benefit. + */ + ; + free(path_copy); } @@ -264,7 +280,10 @@ int main(int argc, const char **argv) if (!socket_path) usage_with_options(usage, options); - check_socket_directory(socket_path); + if (!is_absolute_path(socket_path)) + die("socket directory must be an absolute path"); + + init_socket_directory(socket_path); register_tempfile(&socket_file, socket_path); if (ignore_sighup) diff --git a/credential-cache.c b/credential-cache.c index f4afdc6988..86e21de49b 100644 --- a/credential-cache.c +++ b/credential-cache.c @@ -32,6 +32,7 @@ static int send_request(const char *socket, const struct strbuf *out) write_or_die(1, in, r); got_data = 1; } + close(fd); return got_data; } diff --git a/credential.c b/credential.c index 7d6501d190..aa996669fc 100644 --- a/credential.c +++ b/credential.c @@ -63,9 +63,12 @@ static int credential_config_callback(const char *var, const char *value, key = dot + 1; } - if (!strcmp(key, "helper")) - string_list_append(&c->helpers, value); - else if (!strcmp(key, "username")) { + if (!strcmp(key, "helper")) { + if (*value) + string_list_append(&c->helpers, value); + else + string_list_clear(&c->helpers, 0); + } else if (!strcmp(key, "username")) { if (!c->username) c->username = xstrdup(value); } @@ -808,7 +808,7 @@ static void check_dead_children(void) cradle = &blanket->next; } -static char **cld_argv; +static struct argv_array cld_argv = ARGV_ARRAY_INIT; static void handle(int incoming, struct sockaddr *addr, socklen_t addrlen) { struct child_process cld = CHILD_PROCESS_INIT; @@ -842,7 +842,7 @@ static void handle(int incoming, struct sockaddr *addr, socklen_t addrlen) #endif } - cld.argv = (const char **)cld_argv; + cld.argv = cld_argv.argv; cld.in = incoming; cld.out = dup(incoming); @@ -1374,12 +1374,10 @@ int main(int argc, char **argv) write_file(pid_file, "%"PRIuMAX, (uintmax_t) getpid()); /* prepare argv for serving-processes */ - cld_argv = xmalloc(sizeof (char *) * (argc + 2)); - cld_argv[0] = argv[0]; /* git-daemon */ - cld_argv[1] = "--serve"; + argv_array_push(&cld_argv, argv[0]); /* git-daemon */ + argv_array_push(&cld_argv, "--serve"); for (i = 1; i < argc; ++i) - cld_argv[i+1] = argv[i]; - cld_argv[argc+1] = NULL; + argv_array_push(&cld_argv, argv[i]); return serve(&listen_addr, listen_port, cred); } @@ -26,6 +26,7 @@ #endif static int diff_detect_rename_default; +static int diff_compaction_heuristic = 1; static int diff_rename_limit_default = 400; static int diff_suppress_blank_empty; static int diff_use_color_default = -1; @@ -168,6 +169,11 @@ long parse_algorithm_value(const char *value) * never be affected by the setting of diff.renames * the user happens to have in the configuration file. */ +void init_diff_ui_defaults(void) +{ + diff_detect_rename_default = 1; +} + int git_diff_ui_config(const char *var, const char *value, void *cb) { if (!strcmp(var, "diff.color") || !strcmp(var, "color.diff")) { @@ -184,6 +190,10 @@ int git_diff_ui_config(const char *var, const char *value, void *cb) diff_detect_rename_default = git_config_rename(var, value); return 0; } + if (!strcmp(var, "diff.compactionheuristic")) { + diff_compaction_heuristic = git_config_bool(var, value); + return 0; + } if (!strcmp(var, "diff.autorefreshindex")) { diff_auto_refresh_index = git_config_bool(var, value); return 0; @@ -2607,12 +2617,9 @@ static void builtin_checkdiff(const char *name_a, const char *name_b, struct diff_filespec *alloc_filespec(const char *path) { - int namelen = strlen(path); - struct diff_filespec *spec = xmalloc(sizeof(*spec) + namelen + 1); + struct diff_filespec *spec; - memset(spec, 0, sizeof(*spec)); - spec->path = (char *)(spec + 1); - memcpy(spec->path, path, namelen+1); + FLEXPTR_ALLOC_STR(spec, path, path); spec->count = 1; spec->is_binary = -1; return spec; @@ -2707,21 +2714,21 @@ static int reuse_worktree_file(const char *name, const unsigned char *sha1, int static int diff_populate_gitlink(struct diff_filespec *s, int size_only) { - int len; - char *data = xmalloc(100), *dirty = ""; + struct strbuf buf = STRBUF_INIT; + char *dirty = ""; /* Are we looking at the work tree? */ if (s->dirty_submodule) dirty = "-dirty"; - len = snprintf(data, 100, - "Subproject commit %s%s\n", sha1_to_hex(s->sha1), dirty); - s->data = data; - s->size = len; - s->should_free = 1; + strbuf_addf(&buf, "Subproject commit %s%s\n", sha1_to_hex(s->sha1), dirty); + s->size = buf.len; if (size_only) { s->data = NULL; - free(data); + strbuf_release(&buf); + } else { + s->data = strbuf_detach(&buf, NULL); + s->should_free = 1; } return 0; } @@ -3276,6 +3283,8 @@ void diff_setup(struct diff_options *options) options->use_color = diff_use_color_default; options->detect_rename = diff_detect_rename_default; options->xdl_opts |= diff_algorithm; + if (diff_compaction_heuristic) + DIFF_XDL_SET(options, COMPACTION_HEURISTIC); options->orderfile = diff_order_file_cfg; @@ -3796,6 +3805,10 @@ int diff_opt_parse(struct diff_options *options, DIFF_XDL_SET(options, IGNORE_WHITESPACE_AT_EOL); else if (!strcmp(arg, "--ignore-blank-lines")) DIFF_XDL_SET(options, IGNORE_BLANK_LINES); + else if (!strcmp(arg, "--compaction-heuristic")) + DIFF_XDL_SET(options, COMPACTION_HEURISTIC); + else if (!strcmp(arg, "--no-compaction-heuristic")) + DIFF_XDL_CLR(options, COMPACTION_HEURISTIC); else if (!strcmp(arg, "--patience")) options->xdl_opts = DIFF_WITH_ALG(options, PATIENCE_DIFF); else if (!strcmp(arg, "--histogram")) @@ -5085,7 +5098,7 @@ size_t fill_textconv(struct userdiff_driver *driver, { size_t size; - if (!driver || !driver->textconv) { + if (!driver) { if (!DIFF_FILE_VALID(df)) { *outbuf = ""; return 0; @@ -5096,6 +5109,9 @@ size_t fill_textconv(struct userdiff_driver *driver, return df->size; } + if (!driver->textconv) + die("BUG: fill_textconv called with non-textconv driver"); + if (driver->textconv_cache && df->sha1_valid) { *outbuf = notes_cache_get(driver->textconv_cache, df->sha1, &size); @@ -222,8 +222,8 @@ struct combine_diff_path { } parent[FLEX_ARRAY]; }; #define combine_diff_path_size(n, l) \ - (sizeof(struct combine_diff_path) + \ - sizeof(struct combine_diff_parent) * (n) + (l) + 1) + st_add4(sizeof(struct combine_diff_path), (l), 1, \ + st_mult(sizeof(struct combine_diff_parent), (n))) extern void show_combined_diff(struct combine_diff_path *elem, int num_parent, int dense, struct rev_info *); @@ -266,6 +266,7 @@ extern int parse_long_opt(const char *opt, const char **argv, const char **optarg); extern int git_diff_basic_config(const char *var, const char *value, void *cb); +extern void init_diff_ui_defaults(void); extern int git_diff_ui_config(const char *var, const char *value, void *cb); extern void diff_setup(struct diff_options *); extern int diff_opt_parse(struct diff_options *, const char **, int, const char *); @@ -349,10 +350,26 @@ extern void diff_no_index(struct rev_info *, int, const char **); extern int index_differs_from(const char *def, int diff_flags); +/* + * Fill the contents of the filespec "df", respecting any textconv defined by + * its userdiff driver. The "driver" parameter must come from a + * previous call to get_textconv(), and therefore should either be NULL or have + * textconv enabled. + * + * Note that the memory ownership of the resulting buffer depends on whether + * the driver field is NULL. If it is, then the memory belongs to the filespec + * struct. If it is non-NULL, then "outbuf" points to a newly allocated buffer + * that should be freed by the caller. + */ extern size_t fill_textconv(struct userdiff_driver *driver, struct diff_filespec *df, char **outbuf); +/* + * Look up the userdiff driver for the given filespec, and return it if + * and only if it has textconv enabled (otherwise return NULL). The result + * can be passed to fill_textconv(). + */ extern struct userdiff_driver *get_textconv(struct diff_filespec *one); extern int parse_rename_score(const char **cp_p); diff --git a/diffcore-delta.c b/diffcore-delta.c index 7cf431d261..4159748a70 100644 --- a/diffcore-delta.c +++ b/diffcore-delta.c @@ -53,7 +53,8 @@ static struct spanhash_top *spanhash_rehash(struct spanhash_top *orig) int osz = 1 << orig->alloc_log2; int sz = osz << 1; - new = xmalloc(sizeof(*orig) + sizeof(struct spanhash) * sz); + new = xmalloc(st_add(sizeof(*orig), + st_mult(sizeof(struct spanhash), sz))); new->alloc_log2 = orig->alloc_log2 + 1; new->free = INITIAL_FREE(new->alloc_log2); memset(new->data, 0, sizeof(struct spanhash) * sz); @@ -130,7 +131,8 @@ static struct spanhash_top *hash_chars(struct diff_filespec *one) int is_text = !diff_filespec_is_binary(one); i = INITIAL_HASH_SIZE; - hash = xmalloc(sizeof(*hash) + sizeof(struct spanhash) * (1<<i)); + hash = xmalloc(st_add(sizeof(*hash), + st_mult(sizeof(struct spanhash), 1<<i))); hash->alloc_log2 = i; hash->free = INITIAL_FREE(i); memset(hash->data, 0, sizeof(struct spanhash) * (1<<i)); diff --git a/diffcore-order.c b/diffcore-order.c index 97dd3d0095..69d41f7a57 100644 --- a/diffcore-order.c +++ b/diffcore-order.c @@ -52,7 +52,7 @@ static void prepare_order(const char *orderfile) } if (pass == 0) { order_cnt = cnt; - order = xmalloc(sizeof(*order) * cnt); + ALLOC_ARRAY(order, cnt); } } } @@ -120,7 +120,7 @@ void diffcore_order(const char *orderfile) if (!q->nr) return; - o = xmalloc(sizeof(*o) * q->nr); + ALLOC_ARRAY(o, q->nr); for (i = 0; i < q->nr; i++) o[i].obj = q->queue[i]; order_objects(orderfile, pair_pathtwo, o, q->nr); diff --git a/diffcore-rename.c b/diffcore-rename.c index af1fe08861..7f03eb5a04 100644 --- a/diffcore-rename.c +++ b/diffcore-rename.c @@ -340,9 +340,11 @@ static int find_exact_renames(struct diff_options *options) int i, renames = 0; struct hashmap file_table; - /* Add all sources to the hash table */ + /* Add all sources to the hash table in reverse order, because + * later on they will be retrieved in LIFO order. + */ hashmap_init(&file_table, NULL, rename_src_nr); - for (i = 0; i < rename_src_nr; i++) + for (i = rename_src_nr-1; i >= 0; i--) insert_file_table(&file_table, i, rename_src[i].p->one); /* Walk the destinations and find best source match */ @@ -537,7 +539,7 @@ void diffcore_rename(struct diff_options *options) rename_dst_nr * rename_src_nr, 50, 1); } - mx = xcalloc(num_create * NUM_CANDIDATE_PER_DST, sizeof(*mx)); + mx = xcalloc(st_mult(num_create, NUM_CANDIDATE_PER_DST), sizeof(*mx)); for (dst_cnt = i = 0; i < rename_dst_nr; i++) { struct diff_filespec *two = rename_dst[i].two; struct diff_score *m; @@ -53,8 +53,6 @@ static enum path_treatment read_directory_recursive(struct dir_struct *dir, int check_only, const struct path_simplify *simplify); static int get_dtype(struct dirent *de, const char *path, int len); -static struct trace_key trace_exclude = TRACE_KEY_INIT(EXCLUDE); - /* helper string functions with support for the ignore_case flag */ int strcmp_icase(const char *a, const char *b) { @@ -66,13 +64,6 @@ int strncmp_icase(const char *a, const char *b, size_t count) return ignore_case ? strncasecmp(a, b, count) : strncmp(a, b, count); } -int fnmatch_icase(const char *pattern, const char *string, int flags) -{ - return wildmatch(pattern, string, - flags | (ignore_case ? WM_CASEFOLD : 0), - NULL); -} - int git_fnmatch(const struct pathspec_item *item, const char *pattern, const char *string, int prefix) @@ -459,7 +450,7 @@ int no_wildcard(const char *string) void parse_exclude_pattern(const char **pattern, int *patternlen, - int *flags, + unsigned *flags, int *nowildcardlen) { const char *p = *pattern; @@ -500,17 +491,12 @@ void add_exclude(const char *string, const char *base, { struct exclude *x; int patternlen; - int flags; + unsigned flags; int nowildcardlen; parse_exclude_pattern(&string, &patternlen, &flags, &nowildcardlen); if (flags & EXC_FLAG_MUSTBEDIR) { - char *s; - x = xmalloc(sizeof(*x) + patternlen + 1); - s = (char *)(x+1); - memcpy(s, string, patternlen); - s[patternlen] = '\0'; - x->pattern = s; + FLEXPTR_ALLOC_MEM(x, pattern, string, patternlen); } else { x = xmalloc(sizeof(*x)); x->pattern = string; @@ -521,7 +507,6 @@ void add_exclude(const char *string, const char *base, x->baselen = baselen; x->flags = flags; x->srcpos = srcpos; - string_list_init(&x->sticky_paths, 1); ALLOC_GROW(el->excludes, el->nr + 1, el->alloc); el->excludes[el->nr++] = x; x->el = el; @@ -562,10 +547,8 @@ void clear_exclude_list(struct exclude_list *el) { int i; - for (i = 0; i < el->nr; i++) { - string_list_clear(&el->excludes[i]->sticky_paths, 0); + for (i = 0; i < el->nr; i++) free(el->excludes[i]); - } free(el->excludes); free(el->filebuf); @@ -630,10 +613,7 @@ static struct untracked_cache_dir *lookup_untracked(struct untracked_cache *uc, } uc->dir_created++; - d = xmalloc(sizeof(*d) + len + 1); - memset(d, 0, sizeof(*d)); - memcpy(d->name, name, len); - d->name[len] = '\0'; + FLEX_ALLOC_MEM(d, name, name, len); ALLOC_GROW(dir->dirs, dir->dirs_nr + 1, dir->dirs_alloc); memmove(dir->dirs + first + 1, dir->dirs + first, @@ -702,7 +682,7 @@ static int add_excludes(const char *fname, const char *base, int baselen, return 0; } if (buf[size-1] != '\n') { - buf = xrealloc(buf, size+1); + buf = xrealloc(buf, st_add(size, 1)); buf[size++] = '\n'; } } else { @@ -716,7 +696,7 @@ static int add_excludes(const char *fname, const char *base, int baselen, close(fd); return 0; } - buf = xmalloc(size+1); + buf = xmallocz(size); if (read_in_full(fd, buf, size) != size) { free(buf); close(fd); @@ -811,7 +791,7 @@ void add_excludes_from_file(struct dir_struct *dir, const char *fname) int match_basename(const char *basename, int basenamelen, const char *pattern, int prefix, int patternlen, - int flags) + unsigned flags) { if (prefix == patternlen) { if (patternlen == basenamelen && @@ -836,7 +816,7 @@ int match_basename(const char *basename, int basenamelen, int match_pathname(const char *pathname, int pathlen, const char *base, int baselen, const char *pattern, int prefix, int patternlen, - int flags) + unsigned flags) { const char *name; int namelen; @@ -883,7 +863,7 @@ int match_pathname(const char *pathname, int pathlen, * then our prefix match is all we need; we * do not need to call fnmatch at all. */ - if (!patternlen && (!namelen || *name == '/')) + if (!patternlen && !namelen) return 1; } @@ -892,113 +872,6 @@ int match_pathname(const char *pathname, int pathlen, WM_PATHNAME) == 0; } -static void add_sticky(struct exclude *exc, const char *pathname, int pathlen) -{ - struct strbuf sb = STRBUF_INIT; - int i; - - for (i = exc->sticky_paths.nr - 1; i >= 0; i--) { - const char *sticky = exc->sticky_paths.items[i].string; - int len = strlen(sticky); - - if (pathlen < len && sticky[pathlen] == '/' && - !strncmp(pathname, sticky, pathlen)) - return; - } - - strbuf_add(&sb, pathname, pathlen); - string_list_append_nodup(&exc->sticky_paths, strbuf_detach(&sb, NULL)); -} - -static int match_sticky(struct exclude *exc, const char *pathname, int pathlen, int dtype) -{ - int i; - - for (i = exc->sticky_paths.nr - 1; i >= 0; i--) { - const char *sticky = exc->sticky_paths.items[i].string; - int len = strlen(sticky); - - if (pathlen == len && dtype == DT_DIR && - !strncmp(pathname, sticky, len)) - return 1; - - if (pathlen > len && pathname[len] == '/' && - !strncmp(pathname, sticky, len)) - return 1; - } - - return 0; -} - -static inline int different_decisions(const struct exclude *a, - const struct exclude *b) -{ - return (a->flags & EXC_FLAG_NEGATIVE) != (b->flags & EXC_FLAG_NEGATIVE); -} - -/* - * Return non-zero if pathname is a directory and an ancestor of the - * literal path in a pattern. - */ -static int match_directory_part(const char *pathname, int pathlen, - int *dtype, struct exclude *x) -{ - const char *base = x->base; - int baselen = x->baselen ? x->baselen - 1 : 0; - const char *pattern = x->pattern; - int prefix = x->nowildcardlen; - int patternlen = x->patternlen; - - if (*dtype == DT_UNKNOWN) - *dtype = get_dtype(NULL, pathname, pathlen); - if (*dtype != DT_DIR) - return 0; - - if (*pattern == '/') { - pattern++; - patternlen--; - prefix--; - } - - if (baselen) { - if (((pathlen < baselen && base[pathlen] == '/') || - pathlen == baselen) && - !strncmp_icase(pathname, base, pathlen)) - return 1; - pathname += baselen + 1; - pathlen -= baselen + 1; - } - - - if (prefix && - (((pathlen < prefix && pattern[pathlen] == '/') || - pathlen == prefix) && - !strncmp_icase(pathname, pattern, pathlen))) - return 1; - - return 0; -} - -static struct exclude *should_descend(const char *pathname, int pathlen, - int *dtype, struct exclude_list *el, - struct exclude *exc) -{ - int i; - - for (i = el->nr - 1; 0 <= i; i--) { - struct exclude *x = el->excludes[i]; - - if (x == exc) - break; - - if (!(x->flags & EXC_FLAG_NODIR) && - different_decisions(x, exc) && - match_directory_part(pathname, pathlen, dtype, x)) - return x; - } - return NULL; -} - /* * Scan the given exclude list in reverse to see whether pathname * should be ignored. The first match (i.e. the last on the list), if @@ -1012,32 +885,16 @@ static struct exclude *last_exclude_matching_from_list(const char *pathname, struct exclude_list *el) { struct exclude *exc = NULL; /* undecided */ - int i, maybe_descend = 0; + int i; if (!el->nr) return NULL; /* undefined */ - trace_printf_key(&trace_exclude, "exclude: from %s\n", el->src); - for (i = el->nr - 1; 0 <= i; i--) { struct exclude *x = el->excludes[i]; const char *exclude = x->pattern; int prefix = x->nowildcardlen; - if (!maybe_descend && i < el->nr - 1 && - different_decisions(x, el->excludes[i+1])) - maybe_descend = 1; - - if (x->sticky_paths.nr) { - if (*dtype == DT_UNKNOWN) - *dtype = get_dtype(NULL, pathname, pathlen); - if (match_sticky(x, pathname, pathlen, *dtype)) { - exc = x; - break; - } - continue; - } - if (x->flags & EXC_FLAG_MUSTBEDIR) { if (*dtype == DT_UNKNOWN) *dtype = get_dtype(NULL, pathname, pathlen); @@ -1064,45 +921,6 @@ static struct exclude *last_exclude_matching_from_list(const char *pathname, break; } } - - if (!exc) { - trace_printf_key(&trace_exclude, "exclude: %.*s => n/a\n", - pathlen, pathname); - return NULL; - } - - /* - * We have found a matching pattern "exc" that may exclude whole - * directory. We also found that there may be a pattern that matches - * something inside the directory and reincludes stuff. - * - * Go through the patterns again, find that pattern and double check. - * If it's true, return "undecided" and keep descending in. "exc" is - * marked sticky so that it continues to match inside the directory. - */ - if (!(exc->flags & EXC_FLAG_NEGATIVE) && maybe_descend) { - struct exclude *x; - - if (*dtype == DT_UNKNOWN) - *dtype = get_dtype(NULL, pathname, pathlen); - - if (*dtype == DT_DIR && - (x = should_descend(pathname, pathlen, dtype, el, exc))) { - add_sticky(exc, pathname, pathlen); - trace_printf_key(&trace_exclude, - "exclude: %.*s vs %s at line %d => %s," - " forced open by %s at line %d => n/a\n", - pathlen, pathname, exc->pattern, exc->srcpos, - exc->flags & EXC_FLAG_NEGATIVE ? "no" : "yes", - x->pattern, x->srcpos); - return NULL; - } - } - - trace_printf_key(&trace_exclude, "exclude: %.*s vs %s at line %d => %s%s\n", - pathlen, pathname, exc->pattern, exc->srcpos, - exc->flags & EXC_FLAG_NEGATIVE ? "no" : "yes", - exc->sticky_paths.nr ? " (stuck)" : ""); return exc; } @@ -1334,10 +1152,8 @@ static struct dir_entry *dir_entry_new(const char *pathname, int len) { struct dir_entry *ent; - ent = xmalloc(sizeof(*ent) + len + 1); + FLEX_ALLOC_MEM(ent, name, pathname, len); ent->len = len; - memcpy(ent->name, pathname, len); - ent->name[len] = 0; return ent; } @@ -1850,13 +1666,9 @@ static enum path_treatment read_directory_recursive(struct dir_struct *dir, struct cached_dir cdir; enum path_treatment state, subdir_state, dir_state = path_none; struct strbuf path = STRBUF_INIT; - static int level = 0; strbuf_add(&path, base, baselen); - trace_printf_key(&trace_exclude, "exclude: [%d] enter '%.*s'\n", - level++, baselen, base); - if (open_cached_dir(&cdir, dir, untracked, &path, check_only)) goto out; @@ -1920,8 +1732,6 @@ static enum path_treatment read_directory_recursive(struct dir_struct *dir, } close_cached_dir(&cdir); out: - trace_printf_key(&trace_exclude, "exclude: [%d] leave '%.*s'\n", - --level, baselen, base); strbuf_release(&path); return dir_state; @@ -2158,25 +1968,6 @@ static struct untracked_cache_dir *validate_untracked_cache(struct dir_struct *d return root; } -static void clear_sticky(struct dir_struct *dir) -{ - struct exclude_list_group *g; - struct exclude_list *el; - struct exclude *x; - int i, j, k; - - for (i = EXC_CMDL; i <= EXC_FILE; i++) { - g = &dir->exclude_list_group[i]; - for (j = g->nr - 1; j >= 0; j--) { - el = &g->el[j]; - for (k = el->nr - 1; 0 <= k; k--) { - x = el->excludes[k]; - string_list_clear(&x->sticky_paths, 0); - } - } - } -} - int read_directory(struct dir_struct *dir, const char *path, int len, const struct pathspec *pathspec) { struct path_simplify *simplify; @@ -2198,12 +1989,6 @@ int read_directory(struct dir_struct *dir, const char *path, int len, const stru return dir->nr; /* - * Stay on the safe side. if read_directory() has run once on - * "dir", some sticky flag may have been left. Clear them all. - */ - clear_sticky(dir); - - /* * exclude patterns are treated like positive ones in * create_simplify. Usually exclude patterns should be a * subset of positive ones, which has no impacts on @@ -2568,16 +2353,15 @@ void write_untracked_extension(struct strbuf *out, struct untracked_cache *untra struct ondisk_untracked_cache *ouc; struct write_data wd; unsigned char varbuf[16]; - int len = 0, varint_len; - if (untracked->exclude_per_dir) - len = strlen(untracked->exclude_per_dir); - ouc = xmalloc(sizeof(*ouc) + len + 1); + int varint_len; + size_t len = strlen(untracked->exclude_per_dir); + + FLEX_ALLOC_MEM(ouc, exclude_per_dir, untracked->exclude_per_dir, len); stat_data_to_disk(&ouc->info_exclude_stat, &untracked->ss_info_exclude.stat); stat_data_to_disk(&ouc->excludes_file_stat, &untracked->ss_excludes_file.stat); hashcpy(ouc->info_exclude_sha1, untracked->ss_info_exclude.sha1); hashcpy(ouc->excludes_file_sha1, untracked->ss_excludes_file.sha1); ouc->dir_flags = htonl(untracked->dir_flags); - memcpy(ouc->exclude_per_dir, untracked->exclude_per_dir, len + 1); varint_len = encode_varint(untracked->ident.len, varbuf); strbuf_add(out, varbuf, varint_len); @@ -2682,21 +2466,21 @@ static int read_one_dir(struct untracked_cache_dir **untracked_, ud.untracked_alloc = value; ud.untracked_nr = value; if (ud.untracked_nr) - ud.untracked = xmalloc(sizeof(*ud.untracked) * ud.untracked_nr); + ALLOC_ARRAY(ud.untracked, ud.untracked_nr); data = next; next = data; ud.dirs_alloc = ud.dirs_nr = decode_varint(&next); if (next > end) return -1; - ud.dirs = xmalloc(sizeof(*ud.dirs) * ud.dirs_nr); + ALLOC_ARRAY(ud.dirs, ud.dirs_nr); data = next; len = strlen((const char *)data); next = data + len + 1; if (next > rd->end) return -1; - *untracked_ = untracked = xmalloc(sizeof(*untracked) + len); + *untracked_ = untracked = xmalloc(st_add(sizeof(*untracked), len)); memcpy(untracked, &ud, sizeof(ud)); memcpy(untracked->name, data, len + 1); data = next; @@ -2809,7 +2593,7 @@ struct untracked_cache *read_untracked_extension(const void *data, unsigned long rd.data = next; rd.end = end; rd.index = 0; - rd.ucd = xmalloc(sizeof(*rd.ucd) * len); + ALLOC_ARRAY(rd.ucd, len); if (read_one_dir(&uc->root, &rd) || rd.index != len) goto done; @@ -4,7 +4,6 @@ /* See Documentation/technical/api-directory-listing.txt */ #include "strbuf.h" -#include "string-list.h" struct dir_entry { unsigned int len; @@ -28,15 +27,13 @@ struct exclude { int nowildcardlen; const char *base; int baselen; - int flags; + unsigned flags; /* EXC_FLAG_* */ /* * Counting starts from 1 for line numbers in ignore files, * and from -1 decrementing for patterns from CLI args. */ int srcpos; - - struct string_list sticky_paths; }; /* @@ -229,10 +226,10 @@ struct dir_entry *dir_add_ignored(struct dir_struct *dir, const char *pathname, * attr.c:path_matches() */ extern int match_basename(const char *, int, - const char *, int, int, int); + const char *, int, int, unsigned); extern int match_pathname(const char *, int, const char *, int, - const char *, int, int, int); + const char *, int, int, unsigned); extern struct exclude *last_exclude_matching(struct dir_struct *dir, const char *name, int *dtype); @@ -244,7 +241,7 @@ extern struct exclude_list *add_exclude_list(struct dir_struct *dir, extern int add_excludes_from_file_to_list(const char *fname, const char *base, int baselen, struct exclude_list *el, int check_index); extern void add_excludes_from_file(struct dir_struct *, const char *fname); -extern void parse_exclude_pattern(const char **string, int *patternlen, int *flags, int *nowildcardlen); +extern void parse_exclude_pattern(const char **string, int *patternlen, unsigned *flags, int *nowildcardlen); extern void add_exclude(const char *string, const char *base, int baselen, struct exclude_list *el, int srcpos); extern void clear_exclude_list(struct exclude_list *el); @@ -275,7 +272,6 @@ extern int remove_path(const char *path); extern int strcmp_icase(const char *a, const char *b); extern int strncmp_icase(const char *a, const char *b, size_t count); -extern int fnmatch_icase(const char *pattern, const char *string, int flags); /* * The prefix part of pattern must not contains wildcards. @@ -6,7 +6,7 @@ static void create_directories(const char *path, int path_len, const struct checkout *state) { - char *buf = xmalloc(path_len + 1); + char *buf = xmallocz(path_len); int len = 0; while (len < path_len) { diff --git a/environment.c b/environment.c index 6dec9d0403..2857e3f366 100644 --- a/environment.c +++ b/environment.c @@ -25,14 +25,13 @@ int log_all_ref_updates = -1; /* unspecified */ int warn_ambiguous_refs = 1; int warn_on_object_refname_ambiguity = 1; int ref_paranoia = -1; -int repository_format_version; int repository_format_precious_objects; const char *git_commit_encoding; const char *git_log_output_encoding; -int shared_repository = PERM_UMASK; const char *apply_default_whitespace; const char *apply_default_ignorewhitespace; const char *git_attributes_file; +const char *git_hooks_path; int zlib_compression_level = Z_BEST_SPEED; int core_compression_level; int core_compression_seen; @@ -64,7 +63,6 @@ int grafts_replace_parents = 1; int core_apply_sparse_checkout; int merge_log_config = -1; int precomposed_unicode = -1; /* see probe_utf8_pathname_composition() */ -struct startup_info *startup_info; unsigned long pack_size_limit_cfg; #ifndef PROTECT_HFS_DEFAULT @@ -325,3 +323,24 @@ const char *get_commit_output_encoding(void) { return git_commit_encoding ? git_commit_encoding : "UTF-8"; } + +static int the_shared_repository = PERM_UMASK; +static int need_shared_repository_from_config = 1; + +void set_shared_repository(int value) +{ + the_shared_repository = value; + need_shared_repository_from_config = 0; +} + +int get_shared_repository(void) +{ + if (need_shared_repository_from_config) { + const char *var = "core.sharedrepository"; + const char *value; + if (!git_config_get_value(var, &value)) + the_shared_repository = git_config_perm(var, value); + need_shared_repository_from_config = 0; + } + return the_shared_repository; +} diff --git a/ewah/bitmap.c b/ewah/bitmap.c index 47ad6747c4..7103ceefbf 100644 --- a/ewah/bitmap.c +++ b/ewah/bitmap.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -#include "git-compat-util.h" +#include "cache.h" #include "ewok.h" #define EWAH_MASK(x) ((eword_t)1 << (x % BITS_IN_EWORD)) @@ -25,8 +25,8 @@ struct bitmap *bitmap_new(void) { - struct bitmap *bitmap = ewah_malloc(sizeof(struct bitmap)); - bitmap->words = ewah_calloc(32, sizeof(eword_t)); + struct bitmap *bitmap = xmalloc(sizeof(struct bitmap)); + bitmap->words = xcalloc(32, sizeof(eword_t)); bitmap->word_alloc = 32; return bitmap; } @@ -38,9 +38,7 @@ void bitmap_set(struct bitmap *self, size_t pos) if (block >= self->word_alloc) { size_t old_size = self->word_alloc; self->word_alloc = block * 2; - self->words = ewah_realloc(self->words, - self->word_alloc * sizeof(eword_t)); - + REALLOC_ARRAY(self->words, self->word_alloc); memset(self->words + old_size, 0x0, (self->word_alloc - old_size) * sizeof(eword_t)); } @@ -100,12 +98,7 @@ struct bitmap *ewah_to_bitmap(struct ewah_bitmap *ewah) ewah_iterator_init(&it, ewah); while (ewah_iterator_next(&blowup, &it)) { - if (i >= bitmap->word_alloc) { - bitmap->word_alloc *= 1.5; - bitmap->words = ewah_realloc( - bitmap->words, bitmap->word_alloc * sizeof(eword_t)); - } - + ALLOC_GROW(bitmap->words, i + 1, bitmap->word_alloc); bitmap->words[i++] = blowup; } @@ -134,8 +127,7 @@ void bitmap_or_ewah(struct bitmap *self, struct ewah_bitmap *other) if (self->word_alloc < other_final) { self->word_alloc = other_final; - self->words = ewah_realloc(self->words, - self->word_alloc * sizeof(eword_t)); + REALLOC_ARRAY(self->words, self->word_alloc); memset(self->words + original_size, 0x0, (self->word_alloc - original_size) * sizeof(eword_t)); } diff --git a/ewah/ewah_bitmap.c b/ewah/ewah_bitmap.c index b522437c0a..2dc9c82ecf 100644 --- a/ewah/ewah_bitmap.c +++ b/ewah/ewah_bitmap.c @@ -39,8 +39,7 @@ static inline void buffer_grow(struct ewah_bitmap *self, size_t new_size) return; self->alloc_size = new_size; - self->buffer = ewah_realloc(self->buffer, - self->alloc_size * sizeof(eword_t)); + REALLOC_ARRAY(self->buffer, self->alloc_size); self->rlw = self->buffer + (rlw_offset / sizeof(eword_t)); } @@ -282,12 +281,9 @@ struct ewah_bitmap *ewah_new(void) { struct ewah_bitmap *self; - self = ewah_malloc(sizeof(struct ewah_bitmap)); - if (self == NULL) - return NULL; - - self->buffer = ewah_malloc(32 * sizeof(eword_t)); + self = xmalloc(sizeof(struct ewah_bitmap)); self->alloc_size = 32; + ALLOC_ARRAY(self->buffer, self->alloc_size); ewah_clear(self); return self; diff --git a/ewah/ewah_io.c b/ewah/ewah_io.c index 43481b9c60..61f6a43579 100644 --- a/ewah/ewah_io.c +++ b/ewah/ewah_io.c @@ -134,11 +134,7 @@ int ewah_read_mmap(struct ewah_bitmap *self, const void *map, size_t len) self->buffer_size = self->alloc_size = get_be32(ptr); ptr += sizeof(uint32_t); - self->buffer = ewah_realloc(self->buffer, - self->alloc_size * sizeof(eword_t)); - - if (!self->buffer) - return -1; + REALLOC_ARRAY(self->buffer, self->alloc_size); /* * Copy the raw data for the bitmap as a whole chunk; @@ -180,11 +176,7 @@ int ewah_deserialize(struct ewah_bitmap *self, int fd) return -1; self->buffer_size = self->alloc_size = (size_t)ntohl(word_count); - self->buffer = ewah_realloc(self->buffer, - self->alloc_size * sizeof(eword_t)); - - if (!self->buffer) - return -1; + REALLOC_ARRAY(self->buffer, self->alloc_size); /** 64 bit x N -- compressed words */ buffer = self->buffer; diff --git a/ewah/ewok.h b/ewah/ewok.h index 6e2c5e1e3d..269a1a8706 100644 --- a/ewah/ewok.h +++ b/ewah/ewok.h @@ -20,16 +20,6 @@ #ifndef __EWOK_BITMAP_H__ #define __EWOK_BITMAP_H__ -#ifndef ewah_malloc -# define ewah_malloc xmalloc -#endif -#ifndef ewah_realloc -# define ewah_realloc xrealloc -#endif -#ifndef ewah_calloc -# define ewah_calloc xcalloc -#endif - struct strbuf; typedef uint64_t eword_t; #define BITS_IN_EWORD (sizeof(eword_t) * 8) diff --git a/exec_cmd.c b/exec_cmd.c index e85f0fd8d8..9d5703a157 100644 --- a/exec_cmd.c +++ b/exec_cmd.c @@ -1,6 +1,7 @@ #include "cache.h" #include "exec_cmd.h" #include "quote.h" +#include "argv-array.h" #define MAX_ARGS 32 static const char *argv_exec_path; @@ -43,12 +44,10 @@ const char *git_extract_argv0_path(const char *argv0) if (!argv0 || !*argv0) return NULL; - slash = argv0 + strlen(argv0); - while (argv0 <= slash && !is_dir_sep(*slash)) - slash--; + slash = find_last_dir_sep(argv0); - if (slash >= argv0) { + if (slash) { argv0_path = xstrndup(argv0, slash - argv0); return slash + 1; } @@ -107,32 +106,25 @@ void setup_path(void) strbuf_release(&new_path); } -const char **prepare_git_cmd(const char **argv) +const char **prepare_git_cmd(struct argv_array *out, const char **argv) { - int argc; - const char **nargv; - - for (argc = 0; argv[argc]; argc++) - ; /* just counting */ - nargv = xmalloc(sizeof(*nargv) * (argc + 2)); - - nargv[0] = "git"; - for (argc = 0; argv[argc]; argc++) - nargv[argc + 1] = argv[argc]; - nargv[argc + 1] = NULL; - return nargv; + argv_array_push(out, "git"); + argv_array_pushv(out, argv); + return out->argv; } int execv_git_cmd(const char **argv) { - const char **nargv = prepare_git_cmd(argv); - trace_argv_printf(nargv, "trace: exec:"); + struct argv_array nargv = ARGV_ARRAY_INIT; + + prepare_git_cmd(&nargv, argv); + trace_argv_printf(nargv.argv, "trace: exec:"); /* execvp() can only ever return if it fails */ - sane_execvp("git", (char **)nargv); + sane_execvp("git", (char **)nargv.argv); trace_printf("trace: exec failed: %s\n", strerror(errno)); - free(nargv); + argv_array_clear(&nargv); return -1; } diff --git a/exec_cmd.h b/exec_cmd.h index 93b0c02529..1f6b43378b 100644 --- a/exec_cmd.h +++ b/exec_cmd.h @@ -1,11 +1,13 @@ #ifndef GIT_EXEC_CMD_H #define GIT_EXEC_CMD_H +struct argv_array; + extern void git_set_argv_exec_path(const char *exec_path); extern const char *git_extract_argv0_path(const char *path); extern const char *git_exec_path(void); extern void setup_path(void); -extern const char **prepare_git_cmd(const char **argv); +extern const char **prepare_git_cmd(struct argv_array *out, const char **argv); extern int execv_git_cmd(const char **argv); /* NULL terminated */ LAST_ARG_MUST_BE_NULL extern int execl_git_cmd(const char *cmd, ...); diff --git a/fast-import.c b/fast-import.c index bf01b34221..9fc7093406 100644 --- a/fast-import.c +++ b/fast-import.c @@ -622,7 +622,7 @@ static void *pool_alloc(size_t len) return xmalloc(len); } total_allocd += sizeof(struct mem_pool) + mem_pool_alloc; - p = xmalloc(sizeof(struct mem_pool) + mem_pool_alloc); + p = xmalloc(st_add(sizeof(struct mem_pool), mem_pool_alloc)); p->next_pool = mem_pool; p->next_free = (char *) p->space; p->end = p->next_free + mem_pool_alloc; @@ -814,7 +814,8 @@ static struct tree_entry *new_tree_entry(void) if (!avail_tree_entry) { unsigned int n = tree_entry_alloc; total_allocd += n * sizeof(struct tree_entry); - avail_tree_entry = e = xmalloc(n * sizeof(struct tree_entry)); + ALLOC_ARRAY(e, n); + avail_tree_entry = e; while (n-- > 1) { *((void**)e) = e + 1; e++; @@ -864,15 +865,12 @@ static void start_packfile(void) { static char tmp_file[PATH_MAX]; struct packed_git *p; - int namelen; struct pack_header hdr; int pack_fd; pack_fd = odb_mkstemp(tmp_file, sizeof(tmp_file), "pack/tmp_pack_XXXXXX"); - namelen = strlen(tmp_file) + 2; - p = xcalloc(1, sizeof(*p) + namelen); - xsnprintf(p->pack_name, namelen, "%s", tmp_file); + FLEX_ALLOC_STR(p, pack_name, tmp_file); p->pack_fd = pack_fd; p->do_not_close = 1; pack_file = sha1fd(pack_fd, p->pack_name); @@ -898,7 +896,7 @@ static const char *create_index(void) struct object_entry_pool *o; /* Build the table of object IDs. */ - idx = xmalloc(object_count * sizeof(*idx)); + ALLOC_ARRAY(idx, object_count); c = idx; for (o = blocks; o; o = o->next_pool) for (e = o->next_free; e-- != o->entries;) diff --git a/fetch-pack.c b/fetch-pack.c index 01e34b689b..b501d5c320 100644 --- a/fetch-pack.c +++ b/fetch-pack.c @@ -671,8 +671,9 @@ static int everything_local(struct fetch_pack_args *args, static int sideband_demux(int in, int out, void *data) { int *xd = data; + int ret; - int ret = recv_sideband("fetch-pack", xd[0], out); + ret = recv_sideband("fetch-pack", xd[0], out); close(out); return ret; } @@ -697,6 +698,7 @@ static int get_pack(struct fetch_pack_args *args, demux.proc = sideband_demux; demux.data = xd; demux.out = -1; + demux.isolate_sigpipe = 1; if (start_async(&demux)) die("fetch-pack: unable to fork off sideband" " demultiplexer"); @@ -199,7 +199,8 @@ void fsck_set_msg_type(struct fsck_options *options, if (!options->msg_type) { int i; - int *msg_type = xmalloc(sizeof(int) * FSCK_MSG_MAX); + int *msg_type; + ALLOC_ARRAY(msg_type, FSCK_MSG_MAX); for (i = 0; i < FSCK_MSG_MAX; i++) msg_type[i] = fsck_msg_type(i, options); options->msg_type = msg_type; @@ -311,9 +312,9 @@ static int fsck_walk_tree(struct tree *tree, void *data, struct fsck_options *op if (S_ISGITLINK(entry.mode)) continue; if (S_ISDIR(entry.mode)) - result = options->walk(&lookup_tree(entry.sha1)->object, OBJ_TREE, data, options); + result = options->walk(&lookup_tree(entry.oid->hash)->object, OBJ_TREE, data, options); else if (S_ISREG(entry.mode) || S_ISLNK(entry.mode)) - result = options->walk(&lookup_blob(entry.sha1)->object, OBJ_BLOB, data, options); + result = options->walk(&lookup_blob(entry.oid->hash)->object, OBJ_BLOB, data, options); else { result = error("in tree %s: entry %s has bad mode %.6o", oid_to_hex(&tree->object.oid), entry.path, entry.mode); @@ -449,11 +450,11 @@ static int fsck_tree(struct tree *item, struct fsck_options *options) while (desc.size) { unsigned mode; const char *name; - const unsigned char *sha1; + const struct object_id *oid; - sha1 = tree_entry_extract(&desc, &name, &mode); + oid = tree_entry_extract(&desc, &name, &mode); - has_null_sha1 |= is_null_sha1(sha1); + has_null_sha1 |= is_null_oid(oid); has_full_path |= !!strchr(name, '/'); has_empty_name |= !*name; has_dot |= !strcmp(name, "."); diff --git a/git-add--interactive.perl b/git-add--interactive.perl index 77876d433a..822f857038 100755 --- a/git-add--interactive.perl +++ b/git-add--interactive.perl @@ -45,6 +45,7 @@ my ($diff_new_color) = my $normal_color = $repo->get_color("", "reset"); my $diff_algorithm = $repo->config('diff.algorithm'); +my $diff_filter = $repo->config('interactive.difffilter'); my $use_readkey = 0; my $use_termcap = 0; @@ -754,7 +755,14 @@ sub parse_diff { my @diff = run_cmd_pipe("git", @diff_cmd, "--", $path); my @colored = (); if ($diff_use_color) { - @colored = run_cmd_pipe("git", @diff_cmd, qw(--color --), $path); + my @display_cmd = ("git", @diff_cmd, qw(--color --), $path); + if (defined $diff_filter) { + # quotemeta is overkill, but sufficient for shell-quoting + my $diff = join(' ', map { quotemeta } @display_cmd); + @display_cmd = ("$diff | $diff_filter"); + } + + @colored = run_cmd_pipe(@display_cmd); } my (@hunk) = { TEXT => [], DISPLAY => [], TYPE => 'header' }; @@ -765,7 +773,7 @@ sub parse_diff { } push @{$hunk[-1]{TEXT}}, $diff[$i]; push @{$hunk[-1]{DISPLAY}}, - ($diff_use_color ? $colored[$i] : $diff[$i]); + (@colored ? $colored[$i] : $diff[$i]); } return @hunk; } diff --git a/git-compat-util.h b/git-compat-util.h index 693a336ff5..1f8b5f3b1f 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -96,6 +96,14 @@ #define unsigned_add_overflows(a, b) \ ((b) > maximum_unsigned_value_of_type(a) - (a)) +/* + * Returns true if the multiplication of "a" and "b" will + * overflow. The types of "a" and "b" must match and must be unsigned. + * Note that this macro evaluates "a" twice! + */ +#define unsigned_mult_overflows(a, b) \ + ((a) && (b) > maximum_unsigned_value_of_type(a) / (a)) + #ifdef __GNUC__ #define TYPEOF(x) (__typeof__(x)) #else @@ -271,9 +279,6 @@ extern char *gitdirname(char *); #endif #include <openssl/ssl.h> #include <openssl/err.h> -#ifdef NO_HMAC_CTX_CLEANUP -#define HMAC_CTX_cleanup HMAC_cleanup -#endif #endif /* On most systems <netdb.h> would have given us this, but @@ -325,10 +330,6 @@ extern char *gitdirname(char *); #define _PATH_DEFPATH "/usr/local/bin:/usr/bin:/bin" #endif -#ifndef STRIP_EXTENSION -#define STRIP_EXTENSION "" -#endif - #ifndef has_dos_drive_prefix static inline int git_has_dos_drive_prefix(const char *path) { @@ -673,7 +674,6 @@ extern int git_vsnprintf(char *str, size_t maxsize, #ifdef __GLIBC_PREREQ #if __GLIBC_PREREQ(2, 1) #define HAVE_STRCHRNUL -#define HAVE_MEMPCPY #endif #endif @@ -687,14 +687,6 @@ static inline char *gitstrchrnul(const char *s, int c) } #endif -#ifndef HAVE_MEMPCPY -#define mempcpy gitmempcpy -static inline void *gitmempcpy(void *dest, const void *src, size_t n) -{ - return (char *)memcpy(dest, src, n) + n; -} -#endif - #ifdef NO_INET_PTON int inet_pton(int af, const char *src, void *dst); #endif @@ -713,6 +705,32 @@ extern void release_pack_memory(size_t); typedef void (*try_to_free_t)(size_t); extern try_to_free_t set_try_to_free_routine(try_to_free_t); +static inline size_t st_add(size_t a, size_t b) +{ + if (unsigned_add_overflows(a, b)) + die("size_t overflow: %"PRIuMAX" + %"PRIuMAX, + (uintmax_t)a, (uintmax_t)b); + return a + b; +} +#define st_add3(a,b,c) st_add(st_add((a),(b)),(c)) +#define st_add4(a,b,c,d) st_add(st_add3((a),(b),(c)),(d)) + +static inline size_t st_mult(size_t a, size_t b) +{ + if (unsigned_mult_overflows(a, b)) + die("size_t overflow: %"PRIuMAX" * %"PRIuMAX, + (uintmax_t)a, (uintmax_t)b); + return a * b; +} + +static inline size_t st_sub(size_t a, size_t b) +{ + if (a < b) + die("size_t underflow: %"PRIuMAX" - %"PRIuMAX, + (uintmax_t)a, (uintmax_t)b); + return a - b; +} + #ifdef HAVE_ALLOCA_H # include <alloca.h> # define xalloca(size) (alloca(size)) @@ -745,7 +763,70 @@ extern int odb_pack_keep(char *name, size_t namesz, const unsigned char *sha1); extern char *xgetcwd(void); extern FILE *fopen_for_writing(const char *path); -#define REALLOC_ARRAY(x, alloc) (x) = xrealloc((x), (alloc) * sizeof(*(x))) +#define ALLOC_ARRAY(x, alloc) (x) = xmalloc(st_mult(sizeof(*(x)), (alloc))) +#define REALLOC_ARRAY(x, alloc) (x) = xrealloc((x), st_mult(sizeof(*(x)), (alloc))) + +/* + * These functions help you allocate structs with flex arrays, and copy + * the data directly into the array. For example, if you had: + * + * struct foo { + * int bar; + * char name[FLEX_ARRAY]; + * }; + * + * you can do: + * + * struct foo *f; + * FLEX_ALLOC_MEM(f, name, src, len); + * + * to allocate a "foo" with the contents of "src" in the "name" field. + * The resulting struct is automatically zero'd, and the flex-array field + * is NUL-terminated (whether the incoming src buffer was or not). + * + * The FLEXPTR_* variants operate on structs that don't use flex-arrays, + * but do want to store a pointer to some extra data in the same allocated + * block. For example, if you have: + * + * struct foo { + * char *name; + * int bar; + * }; + * + * you can do: + * + * struct foo *f; + * FLEX_ALLOC_STR(f, name, src); + * + * and "name" will point to a block of memory after the struct, which will be + * freed along with the struct (but the pointer can be repointed anywhere). + * + * The *_STR variants accept a string parameter rather than a ptr/len + * combination. + * + * Note that these macros will evaluate the first parameter multiple + * times, and it must be assignable as an lvalue. + */ +#define FLEX_ALLOC_MEM(x, flexname, buf, len) do { \ + (x) = NULL; /* silence -Wuninitialized for offset calculation */ \ + (x) = xalloc_flex(sizeof(*(x)), (char *)(&((x)->flexname)) - (char *)(x), (buf), (len)); \ +} while (0) +#define FLEXPTR_ALLOC_MEM(x, ptrname, buf, len) do { \ + (x) = xalloc_flex(sizeof(*(x)), sizeof(*(x)), (buf), (len)); \ + (x)->ptrname = (void *)((x)+1); \ +} while(0) +#define FLEX_ALLOC_STR(x, flexname, str) \ + FLEX_ALLOC_MEM((x), flexname, (str), strlen(str)) +#define FLEXPTR_ALLOC_STR(x, ptrname, str) \ + FLEXPTR_ALLOC_MEM((x), ptrname, (str), strlen(str)) + +static inline void *xalloc_flex(size_t base_len, size_t offset, + const void *src, size_t src_len) +{ + unsigned char *ret = xcalloc(1, st_add3(base_len, src_len, 1)); + memcpy(ret + offset, src, src_len); + return ret; +} static inline char *xstrdup_or_null(const char *str) { diff --git a/git-cvsserver.perl b/git-cvsserver.perl index 02c0445be1..d50c85ed7b 100755 --- a/git-cvsserver.perl +++ b/git-cvsserver.perl @@ -1156,7 +1156,7 @@ sub prepDirForOutput # FUTURE: This would more accurately emulate CVS by sending # another copy of sticky after processing the files in that # directory. Or intermediate: perhaps send all sticky's for - # $seendirs after after processing all files. + # $seendirs after processing all files. } # update \n @@ -2824,7 +2824,7 @@ sub statecleanup } # Return working directory CVS revision "1.X" out -# of the the working directory "entries" state, for the given filename. +# of the working directory "entries" state, for the given filename. # This is prefixed with a dash if the file is scheduled for removal # when it is committed. sub revparse @@ -2935,7 +2935,7 @@ sub filecleanup return $filename; } -# Remove prependdir from the path, so that is is relative to the directory +# Remove prependdir from the path, so that it is relative to the directory # the CVS client was started from, rather than the top of the project. # Essentially the inverse of filecleanup(). sub remove_prependdir diff --git a/git-difftool--helper.sh b/git-difftool--helper.sh index 2b11b1d6fe..84d6cc021c 100755 --- a/git-difftool--helper.sh +++ b/git-difftool--helper.sh @@ -44,10 +44,10 @@ launch_merge_tool () { "$GIT_DIFF_PATH_TOTAL" "$MERGED" if use_ext_cmd then - printf "Launch '%s' [Y/n]: " \ + printf "Launch '%s' [Y/n]? " \ "$GIT_DIFFTOOL_EXTCMD" else - printf "Launch '%s' [Y/n]: " "$merge_tool" + printf "Launch '%s' [Y/n]? " "$merge_tool" fi read ans || return if test "$ans" = n diff --git a/git-merge-octopus.sh b/git-merge-octopus.sh index 8643f74cb0..dc2fd1b5a4 100755 --- a/git-merge-octopus.sh +++ b/git-merge-octopus.sh @@ -44,6 +44,12 @@ esac # MRC is the current "merge reference commit" # MRT is the current "merge result tree" +if ! git diff-index --quiet --cached HEAD -- +then + echo "Error: Your local changes to the following files would be overwritten by merge" + git diff-index --cached --name-only HEAD -- | sed -e 's/^/ /' + exit 2 +fi MRC=$(git rev-parse --verify -q $head) MRT=$(git write-tree) NON_FF_MERGE=0 diff --git a/git-merge-one-file.sh b/git-merge-one-file.sh index cdc02af517..424b034e34 100755 --- a/git-merge-one-file.sh +++ b/git-merge-one-file.sh @@ -120,8 +120,7 @@ case "${1:-.}${2:-.}${3:-.}" in case "$1" in '') echo "Added $4 in both, but differently." - orig=$(git-unpack-file $2) - create_virtual_base "$orig" "$src2" + orig=$(git-unpack-file e69de29bb2d1d6434b8b29ae775ad8c2e48c5391) ;; *) echo "Auto-merging $4" diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh index 54ac8e4846..9abd00be21 100644 --- a/git-mergetool--lib.sh +++ b/git-mergetool--lib.sh @@ -100,7 +100,7 @@ check_unchanged () { while true do echo "$MERGED seems unchanged." - printf "Was the merge successful? [y/n] " + printf "Was the merge successful [y/n]? " read answer || return 1 case "$answer" in y*|Y*) return 0 ;; @@ -372,3 +372,28 @@ get_merge_tool () { fi echo "$merge_tool" } + +mergetool_find_win32_cmd () { + executable=$1 + sub_directory=$2 + + # Use $executable if it exists in $PATH + if type -p "$executable" >/dev/null 2>&1 + then + printf '%s' "$executable" + return + fi + + # Look for executable in the typical locations + for directory in $(env | grep -Ei '^PROGRAM(FILES(\(X86\))?|W6432)=' | + cut -d '=' -f 2- | sort -u) + do + if test -n "$directory" && test -x "$directory/$sub_directory/$executable" + then + printf '%s' "$directory/$sub_directory/$executable" + return + fi + done + + printf '%s' "$executable" +} diff --git a/git-mergetool.sh b/git-mergetool.sh index 9f77e3a8bb..bf862705d8 100755 --- a/git-mergetool.sh +++ b/git-mergetool.sh @@ -126,7 +126,12 @@ resolve_deleted_merge () { case "$ans" in [mMcC]*) git add -- "$MERGED" - cleanup_temp_files --save-backup + if test "$merge_keep_backup" = "true" + then + cleanup_temp_files --save-backup + else + cleanup_temp_files + fi return 0 ;; [dD]*) @@ -135,6 +140,10 @@ resolve_deleted_merge () { return 0 ;; [aA]*) + if test "$merge_keep_temporaries" = "false" + then + cleanup_temp_files + fi return 1 ;; esac @@ -282,8 +291,14 @@ merge_file () { return fi - mv -- "$MERGED" "$BACKUP" - cp -- "$BACKUP" "$MERGED" + if test -f "$MERGED" + then + mv -- "$MERGED" "$BACKUP" + cp -- "$BACKUP" "$MERGED" + fi + # Create a parent directory to handle delete/delete conflicts + # where the base's directory no longer exists. + mkdir -p "$(dirname "$MERGED")" checkout_staged_file 1 "$MERGED" "$BASE" checkout_staged_file 2 "$MERGED" "$LOCAL" @@ -295,7 +310,9 @@ merge_file () { describe_file "$local_mode" "local" "$LOCAL" describe_file "$remote_mode" "remote" "$REMOTE" resolve_deleted_merge - return + status=$? + rmdir -p "$(dirname "$MERGED")" 2>/dev/null + return $status fi if is_symlink "$local_mode" || is_symlink "$remote_mode" @@ -396,7 +413,7 @@ done prompt_after_failed_merge () { while true do - printf "Continue merging other unresolved paths (y/n) ? " + printf "Continue merging other unresolved paths [y/n]? " read ans || return 1 case "$ans" in [yY]*) @@ -1064,8 +1064,15 @@ class GitLFS(LargeFileSystem): if pointerProcess.wait(): os.remove(contentFile) die('git-lfs pointer command failed. Did you install the extension?') - pointerContents = [i+'\n' for i in pointerFile.split('\n')[2:][:-1]] - oid = pointerContents[1].split(' ')[1].split(':')[1][:-1] + + # Git LFS removed the preamble in the output of the 'pointer' command + # starting from version 1.2.0. Check for the preamble here to support + # earlier versions. + # c.f. https://github.com/github/git-lfs/commit/da2935d9a739592bc775c98d8ef4df9c72ea3b43 + if pointerFile.startswith('Git LFS pointer for'): + pointerFile = re.sub(r'Git LFS pointer for.*\n\n', '', pointerFile) + + oid = re.search(r'^oid \w+:(\w+)', pointerFile, re.MULTILINE).group(1) localLargeFile = os.path.join( os.getcwd(), '.git', 'lfs', 'objects', oid[:2], oid[2:4], @@ -1073,7 +1080,7 @@ class GitLFS(LargeFileSystem): ) # LFS Spec states that pointer files should not have the executable bit set. gitMode = '100644' - return (gitMode, pointerContents, localLargeFile) + return (gitMode, pointerFile, localLargeFile) def pushFile(self, localLargeFile): uploadProcess = subprocess.Popen( @@ -1160,6 +1167,15 @@ class P4UserMap: self.users[output["User"]] = output["FullName"] + " <" + output["Email"] + ">" self.emails[output["Email"]] = output["User"] + mapUserConfigRegex = re.compile(r"^\s*(\S+)\s*=\s*(.+)\s*<(\S+)>\s*$", re.VERBOSE) + for mapUserConfig in gitConfigList("git-p4.mapUser"): + mapUser = mapUserConfigRegex.findall(mapUserConfig) + if mapUser and len(mapUser[0]) == 3: + user = mapUser[0][0] + fullname = mapUser[0][1] + email = mapUser[0][2] + self.users[user] = fullname + " <" + email + ">" + self.emails[email] = user s = '' for (key, val) in self.users.items(): @@ -2311,6 +2327,15 @@ class P4Sync(Command, P4UserMap): fnum = fnum + 1 return files + def extractJobsFromCommit(self, commit): + jobs = [] + jnum = 0 + while commit.has_key("job%s" % jnum): + job = commit["job%s" % jnum] + jobs.append(job) + jnum = jnum + 1 + return jobs + def stripRepoPath(self, path, prefixes): """When streaming files, this is called to map a p4 depot path to where it should go in git. The prefixes are either @@ -2656,6 +2681,7 @@ class P4Sync(Command, P4UserMap): def commit(self, details, files, branch, parent = ""): epoch = details["time"] author = details["user"] + jobs = self.extractJobsFromCommit(details) if self.verbose: print('commit into {0}'.format(branch)) @@ -2683,6 +2709,8 @@ class P4Sync(Command, P4UserMap): self.gitStream.write("data <<EOT\n") self.gitStream.write(details["desc"]) + if len(jobs) > 0: + self.gitStream.write("\nJobs: %s" % (' '.join(jobs))) self.gitStream.write("\n[git-p4: depot-paths = \"%s\": change = %s" % (','.join(self.branchPrefixes), details["change"])) if len(details['options']) > 0: diff --git a/git-parse-remote.sh b/git-parse-remote.sh index 55fe8d56c9..d3c39980f3 100644 --- a/git-parse-remote.sh +++ b/git-parse-remote.sh @@ -56,11 +56,13 @@ get_remote_merge_branch () { error_on_missing_default_upstream () { cmd="$1" op_type="$2" - op_prep="$3" + op_prep="$3" # FIXME: op_prep is no longer used example="$4" branch_name=$(git symbolic-ref -q HEAD) + display_branch_name="${branch_name#refs/heads/}" # If there's only one remote, use that in the suggestion - remote="<remote>" + remote="$(gettext "<remote>")" + branch="$(gettext "<branch>")" if test $(git remote | wc -l) = 1 then remote=$(git remote) @@ -68,22 +70,32 @@ error_on_missing_default_upstream () { if test -z "$branch_name" then - echo "You are not currently on a branch. Please specify which -branch you want to $op_type $op_prep. See git-${cmd}(1) for details. - - $example -" + gettextln "You are not currently on a branch." else - echo "There is no tracking information for the current branch. -Please specify which branch you want to $op_type $op_prep. -See git-${cmd}(1) for details - - $example - -If you wish to set tracking information for this branch you can do so with: - - git branch --set-upstream-to=$remote/<branch> ${branch_name#refs/heads/} -" + gettextln "There is no tracking information for the current branch." + fi + case "$op_type" in + rebase) + gettextln "Please specify which branch you want to rebase against." + ;; + merge) + gettextln "Please specify which branch you want to merge with." + ;; + *) + echo >&2 "BUG: unknown operation type: $op_type" + exit 1 + ;; + esac + eval_gettextln "See git-\${cmd}(1) for details." + echo + echo " $example" + echo + if test -n "$branch_name" + then + gettextln "If you wish to set tracking information for this branch you can do so with:" + echo + echo " git branch --set-upstream-to=$remote/$branch $display_branch_name" + echo fi exit 1 } diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index c0cfe88a3d..9ea30756f1 100644 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -548,7 +548,8 @@ do_next () { mark_action_done do_pick $sha1 "$rest" - warn "Stopped at $sha1... $rest" + sha1_abbrev=$(git rev-parse --short $sha1) + warn "Stopped at $sha1_abbrev... $rest" exit_with_patch $sha1 0 ;; squash|s|fixup|f) @@ -1233,7 +1234,8 @@ then git rev-list $revisions | while read rev do - if test -f "$rewritten"/$rev && test "$(sane_grep "$rev" "$state_dir"/not-cherry-picks)" = "" + if test -f "$rewritten"/$rev && + ! sane_grep "$rev" "$state_dir"/not-cherry-picks >/dev/null then # Use -f2 because if rev-list is telling us this commit is # not worthwhile, we don't want to track its multiple heads, diff --git a/git-rebase--merge.sh b/git-rebase--merge.sh index 2cc2a6d273..8d43db9069 100644 --- a/git-rebase--merge.sh +++ b/git-rebase--merge.sh @@ -67,7 +67,9 @@ call_merge () { GIT_MERGE_VERBOSITY=1 && export GIT_MERGE_VERBOSITY fi test -z "$strategy" && strategy=recursive - eval 'git-merge-$strategy' $strategy_opts '"$cmt^" -- "$hd" "$cmt"' + # If cmt doesn't have a parent, don't include it as a base + base=$(git rev-parse --verify --quiet $cmt^) + eval 'git-merge-$strategy' $strategy_opts $base ' -- "$hd" "$cmt"' rv=$? case "$rv" in 0) diff --git a/git-rebase.sh b/git-rebase.sh index cf60c43908..44ede367ae 100755 --- a/git-rebase.sh +++ b/git-rebase.sh @@ -87,7 +87,10 @@ preserve_merges= autosquash= keep_empty= test "$(git config --bool rebase.autosquash)" = "true" && autosquash=t -gpg_sign_opt= +case "$(git config --bool commit.gpgsign)" in +true) gpg_sign_opt=-S ;; +*) gpg_sign_opt= ;; +esac read_basic_state () { test -f "$state_dir/head-name" && @@ -248,6 +251,7 @@ do ;; --exec=*) cmd="${cmd}exec ${1#--exec=}${LF}" + test -z "$interactive_rebase" && interactive_rebase=implied ;; --interactive) interactive_rebase=explicit @@ -348,12 +352,6 @@ do done test $# -gt 2 && usage -if test -n "$cmd" && - test "$interactive_rebase" != explicit -then - die "$(gettext "The --exec option must be used with the --interactive option")" -fi - if test -n "$action" then test -z "$in_progress" && die "$(gettext "No rebase in progress?")" diff --git a/git-send-email.perl b/git-send-email.perl index d356901348..69587856df 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -19,10 +19,10 @@ use 5.008; use strict; use warnings; +use POSIX qw/strftime/; use Term::ReadLine; use Getopt::Long; use Text::ParseWords; -use Data::Dumper; use Term::ANSIColor; use File::Temp qw/ tempdir tempfile /; use File::Spec::Functions qw(catfile); @@ -533,7 +533,7 @@ my %parse_alias = ( $aliases{$alias} = \@addr }}}, mailrc => sub { my $fh = shift; while (<$fh>) { - if (/^alias\s+(\S+)\s+(.*)$/) { + if (/^alias\s+(\S+)\s+(.*?)\s*$/) { # spaces delimit multiple addresses $aliases{$1} = [ quotewords('\s+', 0, $2) ]; }}}, @@ -827,9 +827,10 @@ if (defined $sender) { # But it's a no-op to run sanitize_address on an already sanitized address. $sender = sanitize_address($sender); +my $to_whom = "To whom should the emails be sent (if anyone)?"; my $prompting = 0; if (!@initial_to && !defined $to_cmd) { - my $to = ask("Who should the emails be sent to (if any)? ", + my $to = ask("$to_whom ", default => "", valid_re => qr/\@.*\./, confirm_only => 1); push @initial_to, parse_address_line($to) if defined $to; # sanitized/validated later @@ -924,7 +925,7 @@ sub validate_address { cleanup_compose_files(); exit(0); } - $address = ask("Who should the email be sent to (if any)? ", + $address = ask("$to_whom ", default => "", valid_re => qr/\@.*\./, confirm_only => 1); } @@ -949,7 +950,7 @@ my ($message_id_stamp, $message_id_serial); sub make_message_id { my $uniq; if (!defined $message_id_stamp) { - $message_id_stamp = sprintf("%s-%s", time, $$); + $message_id_stamp = strftime("%Y%m%d%H%M%S.$$", gmtime(time)); $message_id_serial = 0; } $message_id_serial++; @@ -964,7 +965,7 @@ sub make_message_id { require Sys::Hostname; $du_part = 'user@' . Sys::Hostname::hostname(); } - my $message_id_template = "<%s-git-send-email-%s>"; + my $message_id_template = "<%s-%s>"; $message_id = sprintf($message_id_template, $uniq, $du_part); #print "new message id = $message_id\n"; # Was useful for debugging } diff --git a/git-sh-setup.sh b/git-sh-setup.sh index 4691fbcb64..c48139a494 100644 --- a/git-sh-setup.sh +++ b/git-sh-setup.sh @@ -168,11 +168,11 @@ git_pager() { } sane_grep () { - GREP_OPTIONS= LC_ALL=C grep "$@" + GREP_OPTIONS= LC_ALL=C grep @@SANE_TEXT_GREP@@ "$@" } sane_egrep () { - GREP_OPTIONS= LC_ALL=C egrep "$@" + GREP_OPTIONS= LC_ALL=C egrep @@SANE_TEXT_GREP@@ "$@" } is_bare_repository () { diff --git a/git-submodule.sh b/git-submodule.sh index b1c056c715..5a4dec050b 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -8,7 +8,7 @@ dashless=$(basename "$0" | sed -e 's/-/ /') USAGE="[--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [--] <repository> [<path>] or: $dashless [--quiet] status [--cached] [--recursive] [--] [<path>...] or: $dashless [--quiet] init [--] [<path>...] - or: $dashless [--quiet] deinit [-f|--force] [--] <path>... + or: $dashless [--quiet] deinit [-f|--force] (--all| [--] <path>...) or: $dashless [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--checkout|--merge|--rebase] [--reference <repository>] [--recursive] [--] [<path>...] or: $dashless [--quiet] summary [--cached|--files] [--summary-limit <n>] [commit] [--] [<path>...] or: $dashless [--quiet] foreach [--recursive] <command> @@ -46,79 +46,6 @@ prefix= custom_name= depth= -# The function takes at most 2 arguments. The first argument is the -# URL that navigates to the submodule origin repo. When relative, this URL -# is relative to the superproject origin URL repo. The second up_path -# argument, if specified, is the relative path that navigates -# from the submodule working tree to the superproject working tree. -# -# The output of the function is the origin URL of the submodule. -# -# The output will either be an absolute URL or filesystem path (if the -# superproject origin URL is an absolute URL or filesystem path, -# respectively) or a relative file system path (if the superproject -# origin URL is a relative file system path). -# -# When the output is a relative file system path, the path is either -# relative to the submodule working tree, if up_path is specified, or to -# the superproject working tree otherwise. -resolve_relative_url () -{ - remote=$(get_default_remote) - remoteurl=$(git config "remote.$remote.url") || - remoteurl=$(pwd) # the repository is its own authoritative upstream - url="$1" - remoteurl=${remoteurl%/} - sep=/ - up_path="$2" - - case "$remoteurl" in - *:*|/*) - is_relative= - ;; - ./*|../*) - is_relative=t - ;; - *) - is_relative=t - remoteurl="./$remoteurl" - ;; - esac - - while test -n "$url" - do - case "$url" in - ../*) - url="${url#../}" - case "$remoteurl" in - */*) - remoteurl="${remoteurl%/*}" - ;; - *:*) - remoteurl="${remoteurl%:*}" - sep=: - ;; - *) - if test -z "$is_relative" || test "." = "$remoteurl" - then - die "$(eval_gettext "cannot strip one component off url '\$remoteurl'")" - else - remoteurl=. - fi - ;; - esac - ;; - ./*) - url="${url#./}" - ;; - *) - break;; - esac - done - remoteurl="$remoteurl$sep${url%/}" - echo "${is_relative:+${up_path}}${remoteurl#./}" -} - # Resolve a path to be relative to another path. This is intended for # converting submodule paths when git-submodule is run in a subdirectory # and only handles paths where the directory separator is '/'. @@ -292,7 +219,7 @@ cmd_add() die "$(gettext "Relative path can only be used from the toplevel of the working tree")" # dereference source url relative to parent's url - realrepo=$(resolve_relative_url "$repo") || exit + realrepo=$(git submodule--helper resolve-relative-url "$repo") || exit ;; *:*|/*) # absolute url @@ -424,8 +351,8 @@ cmd_foreach() die_if_unmatched "$mode" if test -e "$sm_path"/.git then - displaypath=$(relative_path "$sm_path") - say "$(eval_gettext "Entering '\$prefix\$displaypath'")" + displaypath=$(relative_path "$prefix$sm_path") + say "$(eval_gettext "Entering '\$displaypath'")" name=$(git submodule--helper name "$sm_path") ( prefix="$prefix$sm_path/" @@ -445,7 +372,7 @@ cmd_foreach() cmd_foreach "--recursive" "$@" fi ) <&3 3<&- || - die "$(eval_gettext "Stopping at '\$prefix\$displaypath'; script returned non-zero status.")" + die "$(eval_gettext "Stopping at '\$displaypath'; script returned non-zero status.")" fi done } @@ -478,50 +405,7 @@ cmd_init() shift done - git submodule--helper list --prefix "$wt_prefix" "$@" | - while read mode sha1 stage sm_path - do - die_if_unmatched "$mode" - name=$(git submodule--helper name "$sm_path") || exit - - displaypath=$(relative_path "$sm_path") - - # Copy url setting when it is not set yet - if test -z "$(git config "submodule.$name.url")" - then - url=$(git config -f .gitmodules submodule."$name".url) - test -z "$url" && - die "$(eval_gettext "No url found for submodule path '\$displaypath' in .gitmodules")" - - # Possibly a url relative to parent - case "$url" in - ./*|../*) - url=$(resolve_relative_url "$url") || exit - ;; - esac - git config submodule."$name".url "$url" || - die "$(eval_gettext "Failed to register url for submodule path '\$displaypath'")" - - say "$(eval_gettext "Submodule '\$name' (\$url) registered for path '\$displaypath'")" - fi - - # Copy "update" setting when it is not set yet - if upd="$(git config -f .gitmodules submodule."$name".update)" && - test -n "$upd" && - test -z "$(git config submodule."$name".update)" - then - case "$upd" in - checkout | rebase | merge | none) - ;; # known modes of updating - *) - echo >&2 "warning: unknown update mode '$upd' suggested for submodule '$name'" - upd=none - ;; - esac - git config submodule."$name".update "$upd" || - die "$(eval_gettext "Failed to register update mode for submodule path '\$displaypath'")" - fi - done + git ${wt_prefix:+-C "$wt_prefix"} submodule--helper init ${GIT_QUIET:+--quiet} ${prefix:+--prefix "$prefix"} "$@" } # @@ -532,6 +416,7 @@ cmd_init() cmd_deinit() { # parse $args after "submodule ... deinit". + deinit_all= while test $# -ne 0 do case "$1" in @@ -541,6 +426,9 @@ cmd_deinit() -q|--quiet) GIT_QUIET=1 ;; + --all) + deinit_all=t + ;; --) shift break @@ -555,9 +443,14 @@ cmd_deinit() shift done - if test $# = 0 + if test -n "$deinit_all" && test "$#" -ne 0 then - die "$(eval_gettext "Use '.' if you really want to deinitialize all submodules")" + echo >&2 "$(eval_gettext "pathspec and --all are incompatible")" + usage + fi + if test $# = 0 && test -z "$deinit_all" + then + die "$(eval_gettext "Use '--all' if you really want to deinitialize all submodules")" fi git submodule--helper list --prefix "$wt_prefix" "$@" | @@ -602,6 +495,24 @@ cmd_deinit() done } +is_tip_reachable () ( + sanitize_submodule_env && + cd "$1" && + rev=$(git rev-list -n 1 "$2" --not --all 2>/dev/null) && + test -z "$rev" +) + +fetch_in_submodule () ( + sanitize_submodule_env && + cd "$1" && + case "$2" in + '') + git fetch ;; + *) + git fetch $(get_default_remote) "$2" ;; + esac +) + # # Update each submodule path to correct revision, using clone and checkout as needed # @@ -656,6 +567,14 @@ cmd_update() --depth=*) depth=$1 ;; + -j|--jobs) + case "$2" in '') usage ;; esac + jobs="--jobs=$2" + shift + ;; + --jobs=*) + jobs=$1 + ;; --) shift break @@ -675,17 +594,21 @@ cmd_update() cmd_init "--" "$@" || return fi - cloned_modules= - git submodule--helper list --prefix "$wt_prefix" "$@" | { + { + git submodule--helper update-clone ${GIT_QUIET:+--quiet} \ + ${wt_prefix:+--prefix "$wt_prefix"} \ + ${prefix:+--recursive-prefix "$prefix"} \ + ${update:+--update "$update"} \ + ${reference:+--reference "$reference"} \ + ${depth:+--depth "$depth"} \ + ${jobs:+$jobs} \ + "$@" || echo "#unmatched" + } | { err= - while read mode sha1 stage sm_path + while read mode sha1 stage just_cloned sm_path do die_if_unmatched "$mode" - if test "$stage" = U - then - echo >&2 "Skipping unmerged submodule $prefix$sm_path" - continue - fi + name=$(git submodule--helper name "$sm_path") || exit url=$(git config submodule."$name".url) branch=$(get_submodule_config "$name" branch master) @@ -702,27 +625,10 @@ cmd_update() displaypath=$(relative_path "$prefix$sm_path") - if test "$update_module" = "none" + if test $just_cloned -eq 1 then - echo "Skipping submodule '$displaypath'" - continue - fi - - if test -z "$url" - then - # Only mention uninitialized submodules when its - # path have been specified - test "$#" != "0" && - say "$(eval_gettext "Submodule path '\$displaypath' not initialized -Maybe you want to use 'update --init'?")" - continue - fi - - if ! test -d "$sm_path"/.git && ! test -f "$sm_path"/.git - then - git submodule--helper clone ${GIT_QUIET:+--quiet} --prefix "$prefix" --path "$sm_path" --name "$name" --url "$url" ${reference:+"$reference"} ${depth:+"$depth"} || exit - cloned_modules="$cloned_modules;$name" subsha1= + update_module=checkout else subsha1=$(sanitize_submodule_env; cd "$sm_path" && git rev-parse --verify HEAD) || @@ -756,18 +662,16 @@ Maybe you want to use 'update --init'?")" then # Run fetch only if $sha1 isn't present or it # is not reachable from a ref. - (sanitize_submodule_env; cd "$sm_path" && - ( (rev=$(git rev-list -n 1 $sha1 --not --all 2>/dev/null) && - test -z "$rev") || git-fetch)) || + is_tip_reachable "$sm_path" "$sha1" || + fetch_in_submodule "$sm_path" || die "$(eval_gettext "Unable to fetch in submodule path '\$displaypath'")" - fi - # Is this something we just cloned? - case ";$cloned_modules;" in - *";$name;"*) - # then there is no local change to integrate - update_module=checkout ;; - esac + # Now we tried the usual fetch, but $sha1 may + # not be reachable from any of the refs + is_tip_reachable "$sm_path" "$sha1" || + fetch_in_submodule "$sm_path" "$sha1" || + die "$(eval_gettext "Fetched in submodule path '\$displaypath', but it did not contain $sha1. Direct fetching of that commit failed.")" + fi must_die_on_failure= case "$update_module" in @@ -790,8 +694,8 @@ Maybe you want to use 'update --init'?")" ;; !*) command="${update_module#!}" - die_msg="$(eval_gettext "Execution of '\$command \$sha1' failed in submodule path '\$prefix\$sm_path'")" - say_msg="$(eval_gettext "Submodule path '\$prefix\$sm_path': '\$command \$sha1'")" + die_msg="$(eval_gettext "Execution of '\$command \$sha1' failed in submodule path '\$displaypath'")" + say_msg="$(eval_gettext "Submodule path '\$displaypath': '\$command \$sha1'")" must_die_on_failure=yes ;; *) @@ -813,7 +717,8 @@ Maybe you want to use 'update --init'?")" if test -n "$recursive" then ( - prefix="$prefix$sm_path/" + prefix=$(relative_path "$prefix$sm_path/") + wt_prefix= sanitize_submodule_env cd "$sm_path" && eval cmd_update @@ -1147,6 +1052,7 @@ cmd_status() ( prefix="$displaypath/" sanitize_submodule_env + wt_prefix= cd "$sm_path" && eval cmd_status ) || @@ -1201,9 +1107,9 @@ cmd_sync() # guarantee a trailing / up_path=${up_path%/}/ && # path from submodule work tree to submodule origin repo - sub_origin_url=$(resolve_relative_url "$url" "$up_path") && + sub_origin_url=$(git submodule--helper resolve-relative-url "$url" "$up_path") && # path from superproject work tree to submodule origin repo - super_config_url=$(resolve_relative_url "$url") || exit + super_config_url=$(git submodule--helper resolve-relative-url "$url") || exit ;; *) sub_origin_url="$url" diff --git a/git-svn.perl b/git-svn.perl index fa5f253065..05eced06cd 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -1745,11 +1745,12 @@ sub post_fetch_checkout { sub complete_svn_url { my ($url, $path) = @_; - $path = canonicalize_path($path); - # If the path is not a URL... - if ($path !~ m#^[a-z\+]+://#) { - if (!defined $url || $url !~ m#^[a-z\+]+://#) { + if ($path =~ m#^[a-z\+]+://#i) { # path is a URL + $path = canonicalize_url($path); + } else { + $path = canonicalize_path($path); + if (!defined $url || $url !~ m#^[a-z\+]+://#i) { fatal("E: '$path' is not a complete URL ", "and a separate URL is not specified"); } @@ -1764,11 +1765,12 @@ sub complete_url_ls_init { print STDERR "W: $switch not specified\n"; return; } - $repo_path = canonicalize_path($repo_path); - if ($repo_path =~ m#^[a-z\+]+://#) { + if ($repo_path =~ m#^[a-z\+]+://#i) { + $repo_path = canonicalize_url($repo_path); $ra = Git::SVN::Ra->new($repo_path); $repo_path = ''; } else { + $repo_path = canonicalize_path($repo_path); $repo_path =~ s#^/+##; unless ($ra) { fatal("E: '$repo_path' is not a complete URL ", @@ -15,7 +15,6 @@ const char git_more_info_string[] = "concept guides. See 'git help <command>' or 'git help <concept>'\n" "to read about a specific subcommand or concept."); -static struct startup_info git_startup_info; static int use_pager = -1; static char *orig_cwd; static const char *env_names[] = { @@ -247,20 +246,16 @@ static int handle_alias(int *argcp, const char ***argv) alias_string = alias_lookup(alias_command); if (alias_string) { if (alias_string[0] == '!') { - const char **alias_argv; - int argc = *argcp, i; + struct child_process child = CHILD_PROCESS_INIT; commit_pager_choice(); restore_env(1); - /* build alias_argv */ - alias_argv = xmalloc(sizeof(*alias_argv) * (argc + 1)); - alias_argv[0] = alias_string + 1; - for (i = 1; i < argc; ++i) - alias_argv[i] = (*argv)[i]; - alias_argv[argc] = NULL; + child.use_shell = 1; + argv_array_push(&child.args, alias_string + 1); + argv_array_pushv(&child.args, (*argv) + 1); - ret = run_command_v_opt(alias_argv, RUN_USING_SHELL); + ret = run_command(&child); if (ret >= 0) /* normal exit */ exit(ret); @@ -513,21 +508,25 @@ int is_builtin(const char *s) return !!get_builtin(s); } +#ifdef STRIP_EXTENSION +static void strip_extension(const char **argv) +{ + size_t len; + + if (strip_suffix(argv[0], STRIP_EXTENSION, &len)) + argv[0] = xmemdupz(argv[0], len); +} +#else +#define strip_extension(cmd) +#endif + static void handle_builtin(int argc, const char **argv) { - const char *cmd = argv[0]; - int i; - static const char ext[] = STRIP_EXTENSION; + const char *cmd; struct cmd_struct *builtin; - if (sizeof(ext) > 1) { - i = strlen(argv[0]) - strlen(ext); - if (i > 0 && !strcmp(argv[0] + i, ext)) { - char *argv0 = xstrdup(argv[0]); - argv[0] = cmd = argv0; - argv0[i] = '\0'; - } - } + strip_extension(argv); + cmd = argv[0]; /* Turn "git cmd --help" into "git help cmd" */ if (argc > 1 && !strcmp(argv[1], "--help")) { @@ -637,8 +636,6 @@ int main(int argc, char **av) const char *cmd; int done_help = 0; - startup_info = &git_startup_info; - cmd = git_extract_argv0_path(argv[0]); if (!cmd) cmd = "git-help"; diff --git a/git.spec.in b/git.spec.in deleted file mode 100644 index d61d537ef0..0000000000 --- a/git.spec.in +++ /dev/null @@ -1,330 +0,0 @@ -# Pass --without docs to rpmbuild if you don't want the documentation - -Name: git -Version: @@VERSION@@ -Release: 1%{?dist} -Summary: Core git tools -License: GPL -Group: Development/Tools -URL: http://kernel.org/pub/software/scm/git/ -Source: http://kernel.org/pub/software/scm/git/%{name}-%{version}.tar.gz -BuildRequires: zlib-devel >= 1.2, openssl-devel, curl-devel, expat-devel, gettext %{!?_without_docs:, xmlto, asciidoc > 6.0.3} -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) - -Requires: perl-Git = %{version}-%{release} -Requires: zlib >= 1.2, rsync, less, openssh-clients, expat -Provides: git-core = %{version}-%{release} -Obsoletes: git-core <= 1.5.4.2 -Obsoletes: git-p4 - -%description -Git is a fast, scalable, distributed revision control system with an -unusually rich command set that provides both high-level operations -and full access to internals. - -The git rpm installs the core tools with minimal dependencies. To -install all git packages, including tools for integrating with other -SCMs, install the git-all meta-package. - -%package all -Summary: Meta-package to pull in all git tools -Group: Development/Tools -Requires: git = %{version}-%{release} -Requires: git-svn = %{version}-%{release} -Requires: git-cvs = %{version}-%{release} -Requires: git-arch = %{version}-%{release} -Requires: git-email = %{version}-%{release} -Requires: gitk = %{version}-%{release} -Requires: gitweb = %{version}-%{release} -Requires: git-gui = %{version}-%{release} -Obsoletes: git <= 1.5.4.2 - -%description all -Git is a fast, scalable, distributed revision control system with an -unusually rich command set that provides both high-level operations -and full access to internals. - -This is a dummy package which brings in all subpackages. - -%package svn -Summary: Git tools for importing Subversion repositories -Group: Development/Tools -Requires: git = %{version}-%{release}, subversion -%description svn -Git tools for importing Subversion repositories. - -%package cvs -Summary: Git tools for importing CVS repositories -Group: Development/Tools -Requires: git = %{version}-%{release}, cvs, cvsps -%description cvs -Git tools for importing CVS repositories. - -%package arch -Summary: Git tools for importing Arch repositories -Group: Development/Tools -Requires: git = %{version}-%{release}, tla -%description arch -Git tools for importing Arch repositories. - -%package email -Summary: Git tools for sending email -Group: Development/Tools -Requires: git = %{version}-%{release} -%description email -Git tools for sending email. - -%package gui -Summary: Git GUI tool -Group: Development/Tools -Requires: git = %{version}-%{release}, tk >= 8.4 -%description gui -Git GUI tool - -%package -n gitk -Summary: Git revision tree visualiser ('gitk') -Group: Development/Tools -Requires: git = %{version}-%{release}, tk >= 8.4 -%description -n gitk -Git revision tree visualiser ('gitk') - -%package -n gitweb -Summary: Git web interface -Group: Development/Tools -Requires: git = %{version}-%{release} -%description -n gitweb -Browsing git repository on the web - -%package -n perl-Git -Summary: Perl interface to Git -Group: Development/Libraries -Requires: git = %{version}-%{release} -Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) -BuildRequires: perl(Error) -BuildRequires: perl(ExtUtils::MakeMaker) - -%description -n perl-Git -Perl interface to Git - -%define path_settings ETC_GITCONFIG=/etc/gitconfig prefix=%{_prefix} mandir=%{_mandir} htmldir=%{_docdir}/%{name}-%{version} -%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} - -%prep -%setup -q - -%build -make %{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" \ - %{path_settings} \ - all %{!?_without_docs: doc} - -%install -rm -rf $RPM_BUILD_ROOT -make %{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" DESTDIR=$RPM_BUILD_ROOT \ - %{path_settings} \ - INSTALLDIRS=vendor install %{!?_without_docs: install-doc} -test ! -d $RPM_BUILD_ROOT%{python_sitelib} || rm -fr $RPM_BUILD_ROOT%{python_sitelib} -find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} ';' -find $RPM_BUILD_ROOT -type f -name '*.bs' -empty -exec rm -f {} ';' -find $RPM_BUILD_ROOT -type f -name perllocal.pod -exec rm -f {} ';' - -(find $RPM_BUILD_ROOT%{_bindir} -type f | grep -vE "archimport|svn|cvs|email|gitk|git-gui|git-citool" | sed -e s@^$RPM_BUILD_ROOT@@) > bin-man-doc-files -(find $RPM_BUILD_ROOT%{_libexecdir}/git-core -type f | grep -vE "archimport|svn|cvs|email|gitk|git-gui|git-citool" | sed -e s@^$RPM_BUILD_ROOT@@) >> bin-man-doc-files -(find $RPM_BUILD_ROOT%{perl_vendorlib} -type f | sed -e s@^$RPM_BUILD_ROOT@@) >> perl-files -%if %{!?_without_docs:1}0 -(find $RPM_BUILD_ROOT%{_mandir} $RPM_BUILD_ROOT/Documentation -type f | grep -vE "archimport|svn|git-cvs|email|gitk|git-gui|git-citool" | sed -e s@^$RPM_BUILD_ROOT@@ -e 's/$/*/' ) >> bin-man-doc-files -%else -rm -rf $RPM_BUILD_ROOT%{_mandir} -%endif -rm -rf $RPM_BUILD_ROOT%{_datadir}/locale - -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d -install -m 644 -T contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d/git - -%clean -rm -rf $RPM_BUILD_ROOT - -%files -f bin-man-doc-files -%defattr(-,root,root) -%{_datadir}/git-core/ -%doc README COPYING Documentation/*.txt -%{!?_without_docs: %doc Documentation/*.html Documentation/howto} -%{!?_without_docs: %doc Documentation/technical} -%{_sysconfdir}/bash_completion.d - -%files svn -%defattr(-,root,root) -%{_libexecdir}/git-core/*svn* -%doc Documentation/*svn*.txt -%{!?_without_docs: %{_mandir}/man1/*svn*.1*} -%{!?_without_docs: %doc Documentation/*svn*.html } - -%files cvs -%defattr(-,root,root) -%doc Documentation/*git-cvs*.txt -%{_bindir}/git-cvsserver -%{_libexecdir}/git-core/*cvs* -%{!?_without_docs: %{_mandir}/man1/*cvs*.1*} -%{!?_without_docs: %doc Documentation/*git-cvs*.html } - -%files arch -%defattr(-,root,root) -%doc Documentation/git-archimport.txt -%{_libexecdir}/git-core/git-archimport -%{!?_without_docs: %{_mandir}/man1/git-archimport.1*} -%{!?_without_docs: %doc Documentation/git-archimport.html } - -%files email -%defattr(-,root,root) -%doc Documentation/*email*.txt -%{_libexecdir}/git-core/*email* -%{!?_without_docs: %{_mandir}/man1/*email*.1*} -%{!?_without_docs: %doc Documentation/*email*.html } - -%files gui -%defattr(-,root,root) -%{_libexecdir}/git-core/git-gui -%{_libexecdir}/git-core/git-citool -%{_libexecdir}/git-core/git-gui--askpass -%{_datadir}/git-gui/ -%{!?_without_docs: %{_mandir}/man1/git-gui.1*} -%{!?_without_docs: %doc Documentation/git-gui.html} -%{!?_without_docs: %{_mandir}/man1/git-citool.1*} -%{!?_without_docs: %doc Documentation/git-citool.html} - -%files -n gitk -%defattr(-,root,root) -%doc Documentation/*gitk*.txt -%{_bindir}/*gitk* -%{_datadir}/gitk/ -%{!?_without_docs: %{_mandir}/man1/*gitk*.1*} -%{!?_without_docs: %doc Documentation/*gitk*.html } - -%files -n gitweb -%defattr(-,root,root) -%doc gitweb/README gitweb/INSTALL Documentation/*gitweb*.txt -%{_datadir}/gitweb -%{!?_without_docs: %{_mandir}/man1/*gitweb*.1*} -%{!?_without_docs: %{_mandir}/man5/*gitweb*.5*} -%{!?_without_docs: %doc Documentation/*gitweb*.html } - -%files -n perl-Git -f perl-files -%defattr(-,root,root) - -%files all -# No files for you! - -%changelog -* Sun Sep 18 2011 Jakub Narebski <jnareb@gmail.com> -- Add gitweb manpages to 'gitweb' subpackage - -* Wed Jun 30 2010 Junio C Hamano <gitster@pobox.com> -- Add 'gitweb' subpackage. - -* Fri Mar 26 2010 Ian Ward Comfort <icomfort@stanford.edu> -- Ship bash completion support from contrib/ in the core package. - -* Sun Jan 31 2010 Junio C Hamano <gitster@pobox.com> -- Do not use %define inside %{!?...} construct. - -* Sat Jan 30 2010 Junio C Hamano <gitster@pobox.com> -- We don't ship Python bits until a real foreign scm interface comes. - -* Mon Feb 04 2009 David J. Mellor <dmellor@whistlingcat.com> -- fixed broken git help -w after renaming the git-core package to git. - -* Fri Sep 12 2008 Quy Tonthat <qtonthat@gmail.com> -- move git-cvsserver to bindir. - -* Sun Jun 15 2008 Junio C Hamano <gitster@pobox.com> -- Remove curl from Requires list. - -* Fri Feb 15 2008 Kristian HΓΈgsberg <krh@redhat.com> -- Rename git-core to just git and rename meta package from git to git-all. - -* Sun Feb 03 2008 James Bowes <jbowes@dangerouslyinc.com> -- Add a BuildRequires for gettext - -* Fri Jan 11 2008 Junio C Hamano <gitster@pobox.com> -- Include gitk message files - -* Sun Jan 06 2008 James Bowes <jbowes@dangerouslyinc.com> -- Make the metapackage require the same version of the subpackages. - -* Wed Dec 12 2007 Junio C Hamano <gitster@pobox.com> -- Adjust htmldir to point at /usr/share/doc/git-core-$version/ - -* Sun Jul 15 2007 Sean Estabrooks <seanlkml@sympatico.ca> -- Removed p4import. - -* Tue Jun 26 2007 Quy Tonthat <qtonthat@gmail.com> -- Fixed problems looking for wrong manpages. - -* Thu Jun 21 2007 Shawn O. Pearce <spearce@spearce.org> -- Added documentation files for git-gui - -* Tue May 13 2007 Quy Tonthat <qtonthat@gmail.com> -- Added lib files for git-gui -- Added Documentation/technical (As needed by Git Users Manual) - -* Tue May 8 2007 Quy Tonthat <qtonthat@gmail.com> -- Added howto files - -* Tue Mar 27 2007 Eygene Ryabinkin <rea-git@codelabs.ru> -- Added the git-p4 package: Perforce import stuff. - -* Mon Feb 13 2007 Nicolas Pitre <nico@fluxnic.net> -- Update core package description (Git isn't as stupid as it used to be) - -* Mon Feb 12 2007 Junio C Hamano <junkio@cox.net> -- Add git-gui and git-citool. - -* Mon Nov 14 2005 H. Peter Anvin <hpa@zytor.com> 0.99.9j-1 -- Change subpackage names to git-<name> instead of git-core-<name> -- Create empty root package which brings in all subpackages -- Rename git-tk -> gitk - -* Thu Nov 10 2005 Chris Wright <chrisw@osdl.org> 0.99.9g-1 -- zlib dependency fix -- Minor cleanups from split -- Move arch import to separate package as well - -* Tue Sep 27 2005 Jim Radford <radford@blackbean.org> -- Move programs with non-standard dependencies (svn, cvs, email) - into separate packages - -* Tue Sep 27 2005 H. Peter Anvin <hpa@zytor.com> -- parallelize build -- COPTS -> CFLAGS - -* Fri Sep 16 2005 Chris Wright <chrisw@osdl.org> 0.99.6-1 -- update to 0.99.6 - -* Fri Sep 16 2005 Horst H. von Brand <vonbrand@inf.utfsm.cl> -- Linus noticed that less is required, added to the dependencies - -* Sun Sep 11 2005 Horst H. von Brand <vonbrand@inf.utfsm.cl> -- Updated dependencies -- Don't assume manpages are gzipped - -* Thu Aug 18 2005 Chris Wright <chrisw@osdl.org> 0.99.4-4 -- drop sh_utils, sh-utils, diffutils, mktemp, and openssl Requires -- use RPM_OPT_FLAGS in spec file, drop patch0 - -* Wed Aug 17 2005 Tom "spot" Callaway <tcallawa@redhat.com> 0.99.4-3 -- use dist tag to differentiate between branches -- use rpm optflags by default (patch0) -- own %{_datadir}/git-core/ - -* Mon Aug 15 2005 Chris Wright <chrisw@osdl.org> -- update spec file to fix Buildroot, Requires, and drop Vendor - -* Sun Aug 07 2005 Horst H. von Brand <vonbrand@inf.utfsm.cl> -- Redid the description -- Cut overlong make line, loosened changelog a bit -- I think Junio (or perhaps OSDL?) should be vendor... - -* Thu Jul 14 2005 Eric Biederman <ebiederm@xmission.com> -- Add the man pages, and the --without docs build option - -* Wed Jul 7 2005 Chris Wright <chris@osdl.org> -- initial git spec file diff --git a/gitk-git/gitk b/gitk-git/gitk index 5f1255c860..805a1c7030 100755 --- a/gitk-git/gitk +++ b/gitk-git/gitk @@ -3021,7 +3021,7 @@ proc bindall {event action} { } proc about {} { - global uifont NS + global bgcolor NS set w .about if {[winfo exists $w]} { raise $w @@ -3036,7 +3036,7 @@ Gitk - a commit viewer for git Copyright \u00a9 2005-2014 Paul Mackerras Use and redistribute under the terms of the GNU General Public License"] \ - -justify center -aspect 400 -border 2 -bg white -relief groove + -justify center -aspect 400 -border 2 -bg $bgcolor -relief groove pack $w.m -side top -fill x -padx 2 -pady 2 ${NS}::button $w.ok -text [mc "Close"] -command "destroy $w" -default active pack $w.ok -side bottom @@ -3047,7 +3047,7 @@ Use and redistribute under the terms of the GNU General Public License"] \ } proc keys {} { - global NS + global bgcolor NS set w .keys if {[winfo exists $w]} { raise $w @@ -3103,7 +3103,7 @@ proc keys {} { [mc "<%s-minus> Decrease font size" $M1T] [mc "<F5> Update"] " \ - -justify left -bg white -border 2 -relief groove + -justify left -bg $bgcolor -border 2 -relief groove pack $w.m -side top -fill both -padx 2 -pady 2 ${NS}::button $w.ok -text [mc "Close"] -command "destroy $w" -default active bind $w <Key-Escape> [list destroy $w] diff --git a/gitk-git/po/bg.po b/gitk-git/po/bg.po index 909a56463f..99aa77aa63 100644 --- a/gitk-git/po/bg.po +++ b/gitk-git/po/bg.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: gitk master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-06-27 20:44+0300\n" -"PO-Revision-Date: 2015-06-27 20:46+0300\n" +"POT-Creation-Date: 2015-12-19 11:48+0200\n" +"PO-Revision-Date: 2015-12-19 11:49+0200\n" "Last-Translator: Alexander Shopov <ash@kambanaria.org>\n" "Language-Team: Bulgarian <dict@fsa-bg.org>\n" "Language: bg\n" @@ -22,11 +22,11 @@ msgstr "" msgid "Couldn't get list of unmerged files:" msgstr "Π‘ΠΏΠΈΡΡΠΊΡΡ Ρ Π½Π΅ΡΠ»Π΅ΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½:" -#: gitk:212 gitk:2381 +#: gitk:212 gitk:2399 msgid "Color words" msgstr "ΠΡΠ²Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° Π΄ΡΠΌΠΈΡΠ΅" -#: gitk:217 gitk:2381 gitk:8220 gitk:8253 +#: gitk:217 gitk:2399 gitk:8239 gitk:8272 msgid "Markup words" msgstr "ΠΡΠ±Π΅Π»ΡΠ·Π²Π°Π½Π΅ Π½Π° Π΄ΡΠΌΠΈΡΠ΅" @@ -59,15 +59,15 @@ msgstr "ΠΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° βgit logβ:" msgid "Reading" msgstr "ΠΡΠΎΡΠΈΡΠ°Π½Π΅" -#: gitk:496 gitk:4525 +#: gitk:496 gitk:4544 msgid "Reading commits..." msgstr "ΠΡΠΎΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΡΡΠ°β¦" -#: gitk:499 gitk:1637 gitk:4528 +#: gitk:499 gitk:1637 gitk:4547 msgid "No commits selected" msgstr "ΠΠ΅ ΡΠ° ΠΈΠ·Π±ΡΠ°Π½ΠΈ ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΡ" -#: gitk:1445 gitk:4045 gitk:12432 +#: gitk:1445 gitk:4064 gitk:12469 msgid "Command line" msgstr "ΠΠΎΠΌΠ°Π½Π΄Π΅Π½ ΡΠ΅Π΄" @@ -79,286 +79,294 @@ msgstr "ΠΠ·Ρ
ΠΎΠ΄ΡΡ ΠΎΡ βgit logβ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈ msgid "No commit information available" msgstr "ΠΠΈΠΏΡΠ²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΡ" -#: gitk:1903 gitk:1932 gitk:4315 gitk:9669 gitk:11241 gitk:11521 +#: gitk:1903 gitk:1932 gitk:4334 gitk:9702 gitk:11274 gitk:11554 msgid "OK" msgstr "ΠΠΎΠ±ΡΠ΅" -#: gitk:1934 gitk:4317 gitk:9196 gitk:9275 gitk:9391 gitk:9440 gitk:9671 -#: gitk:11242 gitk:11522 +#: gitk:1934 gitk:4336 gitk:9215 gitk:9294 gitk:9424 gitk:9473 gitk:9704 +#: gitk:11275 gitk:11555 msgid "Cancel" msgstr "ΠΡΠΊΠ°Π·" -#: gitk:2069 +#: gitk:2083 msgid "&Update" -msgstr "ΠΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅" +msgstr "&ΠΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅" -#: gitk:2070 +#: gitk:2084 msgid "&Reload" -msgstr "ΠΡΠ΅Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅" +msgstr "&ΠΡΠ΅Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅" -#: gitk:2071 +#: gitk:2085 msgid "Reread re&ferences" -msgstr "ΠΠ°Π½ΠΎΠ²ΠΎ ΠΏΡΠΎΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅" +msgstr "&ΠΠ°Π½ΠΎΠ²ΠΎ ΠΏΡΠΎΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅" -#: gitk:2072 +#: gitk:2086 msgid "&List references" -msgstr "ΠΠ·Π±ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈΡΠ΅" +msgstr "&ΠΠ·Π±ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈΡΠ΅" -#: gitk:2074 +#: gitk:2088 msgid "Start git &gui" -msgstr "Π‘ΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° βgit guiβ" +msgstr "&Π‘ΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° βgit guiβ" -#: gitk:2076 +#: gitk:2090 msgid "&Quit" -msgstr "Π‘ΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°" +msgstr "&Π‘ΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°" -#: gitk:2068 +#: gitk:2082 msgid "&File" -msgstr "Π€Π°ΠΉΠ»" +msgstr "&Π€Π°ΠΉΠ»" -#: gitk:2080 +#: gitk:2094 msgid "&Preferences" -msgstr "ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ" +msgstr "&ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ" -#: gitk:2079 +#: gitk:2093 msgid "&Edit" -msgstr "Π Π΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅" +msgstr "&Π Π΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅" -#: gitk:2084 +#: gitk:2098 msgid "&New view..." -msgstr "ΠΠΎΠ² ΠΈΠ·Π³Π»Π΅Π΄β¦" +msgstr "&ΠΠΎΠ² ΠΈΠ·Π³Π»Π΅Π΄β¦" -#: gitk:2085 +#: gitk:2099 msgid "&Edit view..." -msgstr "Π Π΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·Π³Π»Π΅Π΄Π°β¦" +msgstr "&Π Π΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·Π³Π»Π΅Π΄Π°β¦" -#: gitk:2086 +#: gitk:2100 msgid "&Delete view" -msgstr "ΠΠ·ΡΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·Π³Π»Π΅Π΄Π°" +msgstr "&ΠΠ·ΡΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·Π³Π»Π΅Π΄Π°" -#: gitk:2088 gitk:4043 +#: gitk:2102 msgid "&All files" -msgstr "ΠΡΠΈΡΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅" +msgstr "&ΠΡΠΈΡΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅" -#: gitk:2083 gitk:4067 +#: gitk:2097 msgid "&View" -msgstr "ΠΠ·Π³Π»Π΅Π΄" +msgstr "&ΠΠ·Π³Π»Π΅Π΄" -#: gitk:2093 gitk:2103 gitk:3012 +#: gitk:2107 gitk:2117 msgid "&About gitk" -msgstr "ΠΡΠ½ΠΎΡΠ½ΠΎ gitk" +msgstr "&ΠΡΠ½ΠΎΡΠ½ΠΎ gitk" -#: gitk:2094 gitk:2108 +#: gitk:2108 gitk:2122 msgid "&Key bindings" -msgstr "ΠΠ»Π°Π²ΠΈΡΠ½ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ" +msgstr "&ΠΠ»Π°Π²ΠΈΡΠ½ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ" -#: gitk:2092 gitk:2107 +#: gitk:2106 gitk:2121 msgid "&Help" -msgstr "ΠΠΎΠΌΠΎΡ" +msgstr "ΠΠΎΠΌΠΎ&Ρ" -#: gitk:2185 gitk:8652 +#: gitk:2199 gitk:8671 msgid "SHA1 ID:" msgstr "SHA1:" -#: gitk:2229 +#: gitk:2243 msgid "Row" msgstr "Π Π΅Π΄" -#: gitk:2267 +#: gitk:2281 msgid "Find" msgstr "Π’ΡΡΡΠ΅Π½Π΅" -#: gitk:2295 +#: gitk:2309 msgid "commit" msgstr "ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅" -#: gitk:2299 gitk:2301 gitk:4687 gitk:4710 gitk:4734 gitk:6755 gitk:6827 -#: gitk:6912 +#: gitk:2313 gitk:2315 gitk:4706 gitk:4729 gitk:4753 gitk:6774 gitk:6846 +#: gitk:6931 msgid "containing:" msgstr "ΡΡΠ΄ΡΡΠΆΠ°ΡΠΎ:" -#: gitk:2302 gitk:3526 gitk:3531 gitk:4763 +#: gitk:2316 gitk:3545 gitk:3550 gitk:4782 msgid "touching paths:" msgstr "Π·Π°ΡΡΠ³Π°ΡΠΎ ΠΏΡΡΠΈΡΠ°ΡΠ°:" -#: gitk:2303 gitk:4777 +#: gitk:2317 gitk:4796 msgid "adding/removing string:" msgstr "Π΄ΠΎΠ±Π°Π²ΡΡΠΎ/ΠΏΡΠ΅ΠΌΠ°Ρ
Π²Π°ΡΠΎ Π½ΠΈΠ·" -#: gitk:2304 gitk:4779 +#: gitk:2318 gitk:4798 msgid "changing lines matching:" msgstr "ΠΏΡΠΎΠΌΠ΅Π½ΡΡΠΎ ΡΠ΅Π΄ΠΎΠ²Π΅ Π½Π°ΠΏΠ°ΡΠ²Π°ΡΠΈ:" -#: gitk:2313 gitk:2315 gitk:4766 +#: gitk:2327 gitk:2329 gitk:4785 msgid "Exact" msgstr "Π’ΠΎΡΠ½ΠΎ" -#: gitk:2315 gitk:4854 gitk:6723 +#: gitk:2329 gitk:4873 gitk:6742 msgid "IgnCase" msgstr "ΠΠ΅Π· ΡΠ΅Π³ΠΈΡΡΡΡ" -#: gitk:2315 gitk:4736 gitk:4852 gitk:6719 +#: gitk:2329 gitk:4755 gitk:4871 gitk:6738 msgid "Regexp" msgstr "Π Π΅Π³. ΠΈΠ·ΡΠ°Π·" -#: gitk:2317 gitk:2318 gitk:4874 gitk:4904 gitk:4911 gitk:6848 gitk:6916 +#: gitk:2331 gitk:2332 gitk:4893 gitk:4923 gitk:4930 gitk:6867 gitk:6935 msgid "All fields" msgstr "ΠΡΠΈΡΠΊΠΈ ΠΏΠΎΠ»Π΅ΡΠ°" -#: gitk:2318 gitk:4871 gitk:4904 gitk:6786 +#: gitk:2332 gitk:4890 gitk:4923 gitk:6805 msgid "Headline" msgstr "ΠΡΡΠ²ΠΈ ΡΠ΅Π΄" -#: gitk:2319 gitk:4871 gitk:6786 gitk:6916 gitk:7389 +#: gitk:2333 gitk:4890 gitk:6805 gitk:6935 gitk:7408 msgid "Comments" msgstr "ΠΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈ" -#: gitk:2319 gitk:4871 gitk:4876 gitk:4911 gitk:6786 gitk:7324 gitk:8830 -#: gitk:8845 +#: gitk:2333 gitk:4890 gitk:4895 gitk:4930 gitk:6805 gitk:7343 gitk:8849 +#: gitk:8864 msgid "Author" msgstr "ΠΠ²ΡΠΎΡ" -#: gitk:2319 gitk:4871 gitk:6786 gitk:7326 +#: gitk:2333 gitk:4890 gitk:6805 gitk:7345 msgid "Committer" msgstr "ΠΠΎΠ΄Π°Π²Π°Ρ" -#: gitk:2350 +#: gitk:2367 msgid "Search" msgstr "Π’ΡΡΡΠ΅Π½Π΅" -#: gitk:2358 +#: gitk:2375 msgid "Diff" msgstr "Π Π°Π·Π»ΠΈΠΊΠΈ" -#: gitk:2360 +#: gitk:2377 msgid "Old version" msgstr "Π‘ΡΠ°ΡΠ° Π²Π΅ΡΡΠΈΡ" -#: gitk:2362 +#: gitk:2379 msgid "New version" msgstr "ΠΠΎΠ²Π° Π²Π΅ΡΡΠΈΡ" -#: gitk:2364 +#: gitk:2382 msgid "Lines of context" msgstr "ΠΠΎΠ½ΡΠ΅ΠΊΡΡ Π² ΡΠ΅Π΄ΠΎΠ²Π΅" -#: gitk:2374 +#: gitk:2392 msgid "Ignore space change" msgstr "ΠΡΠ°Π·Π½ΠΈΡΠ΅ Π·Π½Π°ΡΠΈ Π±Π΅Π· Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅" -#: gitk:2378 gitk:2380 gitk:7959 gitk:8206 +#: gitk:2396 gitk:2398 gitk:7978 gitk:8225 msgid "Line diff" msgstr "ΠΠΎΡΠ΅Π΄ΠΎΠ²ΠΈ ΡΠ°Π·Π»ΠΈΠΊΠΈ" -#: gitk:2445 +#: gitk:2463 msgid "Patch" msgstr "ΠΡΡΠΏΠΊΠ°" -#: gitk:2447 +#: gitk:2465 msgid "Tree" msgstr "ΠΡΡΠ²ΠΎ" -#: gitk:2617 gitk:2637 +#: gitk:2635 gitk:2656 msgid "Diff this -> selected" msgstr "Π Π°Π·Π»ΠΈΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ²Π° ΠΈ ΠΈΠ·Π±ΡΠ°Π½ΠΎΡΠΎ" -#: gitk:2618 gitk:2638 +#: gitk:2636 gitk:2657 msgid "Diff selected -> this" msgstr "Π Π°Π·Π»ΠΈΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΠ·Π±ΡΠ°Π½ΠΎΡΠΎ ΠΈ ΡΠΎΠ²Π°" -#: gitk:2619 gitk:2639 +#: gitk:2637 gitk:2658 msgid "Make patch" msgstr "Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΡΡΠΏΠΊΠ°" -#: gitk:2620 gitk:9254 +#: gitk:2638 gitk:9273 msgid "Create tag" msgstr "Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΅ΡΠΈΠΊΠ΅Ρ" -#: gitk:2621 gitk:9371 +#: gitk:2639 +msgid "Copy commit summary" +msgstr "ΠΠΎΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π·Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅" + +#: gitk:2640 gitk:9404 msgid "Write commit to file" msgstr "ΠΠ°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ΡΠΎ Π²ΡΠ² ΡΠ°ΠΉΠ»" -#: gitk:2622 gitk:9428 +#: gitk:2641 gitk:9461 msgid "Create new branch" msgstr "Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠ² ΠΊΠ»ΠΎΠ½" -#: gitk:2623 +#: gitk:2642 msgid "Cherry-pick this commit" msgstr "ΠΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΎΠ²Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅" -#: gitk:2624 +#: gitk:2643 msgid "Reset HEAD branch to here" msgstr "ΠΡΠΈΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π²ΡΡΡ
Π° Π½Π° ΠΊΠ»ΠΎΠ½Π° ΠΊΡΠΌ ΡΠ΅ΠΊΡΡΠΎΡΠΎ ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅" -#: gitk:2625 +#: gitk:2644 msgid "Mark this commit" msgstr "ΠΡΠ±Π΅Π»ΡΠ·Π²Π°Π½Π΅ Π½Π° ΡΠΎΠ²Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅" -#: gitk:2626 +#: gitk:2645 msgid "Return to mark" msgstr "ΠΡΡΡΠ°Π½Π΅ ΠΊΡΠΌ ΠΎΡΠ±Π΅Π»ΡΠ·Π°Π½ΠΎΡΠΎ ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅" -#: gitk:2627 +#: gitk:2646 msgid "Find descendant of this and mark" msgstr "ΠΡΠΊΡΠΈΠ²Π°Π½Π΅ ΠΈ ΠΎΡΠ±Π΅Π»ΡΠ·Π²Π°Π½Π΅ Π½Π° Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΡΠΈΡΠ΅" -#: gitk:2628 +#: gitk:2647 msgid "Compare with marked commit" msgstr "Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΎΡΠ±Π΅Π»ΡΠ·Π°Π½ΠΎΡΠΎ ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅" -#: gitk:2629 gitk:2640 +#: gitk:2648 gitk:2659 msgid "Diff this -> marked commit" msgstr "Π Π°Π·Π»ΠΈΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ²Π° ΠΈ ΠΎΡΠ±Π΅Π»ΡΠ·Π°Π½ΠΎΡΠΎ" -#: gitk:2630 gitk:2641 +#: gitk:2649 gitk:2660 msgid "Diff marked commit -> this" msgstr "Π Π°Π·Π»ΠΈΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΡΠ±Π΅Π»ΡΠ·Π°Π½ΠΎΡΠΎ ΠΈ ΡΠΎΠ²Π°" -#: gitk:2631 +#: gitk:2650 msgid "Revert this commit" msgstr "ΠΡΠΌΡΠ½Π° Π½Π° ΡΠΎΠ²Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅" -#: gitk:2647 +#: gitk:2666 msgid "Check out this branch" msgstr "ΠΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ Π½Π° ΡΠΎΠ·ΠΈ ΠΊΠ»ΠΎΠ½" -#: gitk:2648 +#: gitk:2667 msgid "Remove this branch" msgstr "ΠΠ·ΡΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΠΎΠ·ΠΈ ΠΊΠ»ΠΎΠ½" -#: gitk:2649 +#: gitk:2668 msgid "Copy branch name" msgstr "ΠΠΎΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΊΠ»ΠΎΠ½Π°" -#: gitk:2656 +#: gitk:2675 msgid "Highlight this too" msgstr "ΠΡΠ±Π΅Π»ΡΠ·Π²Π°Π½Π΅ ΠΈ Π½Π° ΡΠΎΠ²Π°" -#: gitk:2657 +#: gitk:2676 msgid "Highlight this only" msgstr "ΠΡΠ±Π΅Π»ΡΠ·Π²Π°Π½Π΅ ΡΠ°ΠΌΠΎ Π½Π° ΡΠΎΠ²Π°" -#: gitk:2658 +#: gitk:2677 msgid "External diff" msgstr "ΠΡΠ½ΡΠ½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠΈ" -#: gitk:2659 +#: gitk:2678 msgid "Blame parent commit" msgstr "ΠΠ½ΠΎΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅" -#: gitk:2660 +#: gitk:2679 msgid "Copy path" msgstr "ΠΠΎΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΡΡ" -#: gitk:2667 +#: gitk:2686 msgid "Show origin of this line" msgstr "ΠΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Ρ
ΠΎΠ΄Π° Π½Π° ΡΠΎΠ·ΠΈ ΡΠ΅Π΄" -#: gitk:2668 +#: gitk:2687 msgid "Run git gui blame on this line" msgstr "ΠΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° βgit gui blameβ Π²ΡΡΡ
Ρ ΡΠΎΠ·ΠΈ ΡΠ΅Π΄" -#: gitk:3014 +#: gitk:3031 +msgid "About gitk" +msgstr "ΠΡΠ½ΠΎΡΠ½ΠΎ gitk" + +#: gitk:3033 msgid "" "\n" "Gitk - a commit viewer for git\n" @@ -374,316 +382,324 @@ msgstr "" "\n" "ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΠΈ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°ΠΉΡΠ΅ ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡΡΠ° Π½Π° ΠΠΠ Π½Π° ΠΠΠ£" -#: gitk:3022 gitk:3089 gitk:9857 +#: gitk:3041 gitk:3108 gitk:9890 msgid "Close" msgstr "ΠΠ°ΡΠ²Π°ΡΡΠ½Π΅" -#: gitk:3043 +#: gitk:3062 msgid "Gitk key bindings" msgstr "ΠΠ»Π°Π²ΠΈΡΠ½ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ" -#: gitk:3046 +#: gitk:3065 msgid "Gitk key bindings:" msgstr "ΠΠ»Π°Π²ΠΈΡΠ½ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ:" -#: gitk:3048 +#: gitk:3067 #, tcl-format msgid "<%s-Q>\t\tQuit" msgstr "<%s-Q>\t\tΠ‘ΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°" -#: gitk:3049 +#: gitk:3068 #, tcl-format msgid "<%s-W>\t\tClose window" msgstr "<%s-W>\t\tΠΠ°ΡΠ²Π°ΡΡΠ½Π΅ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΠ΅ΡΠ°" -#: gitk:3050 +#: gitk:3069 msgid "<Home>\t\tMove to first commit" msgstr "<Home>\t\tΠΡΠΌ ΠΏΡΡΠ²ΠΎΡΠΎ ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅" -#: gitk:3051 +#: gitk:3070 msgid "<End>\t\tMove to last commit" msgstr "<End>\t\tΠΡΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΎΡΠΎ ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅" -#: gitk:3052 +#: gitk:3071 msgid "<Up>, p, k\tMove up one commit" msgstr "<Up>, p, k\tΠΠ΄Π½ΠΎ ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ Π½Π°Π³ΠΎΡΠ΅" -#: gitk:3053 +#: gitk:3072 msgid "<Down>, n, j\tMove down one commit" msgstr "<Down>, n, j\tΠΠ΄Π½ΠΎ ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ Π½Π°Π΄ΠΎΠ»Ρ" -#: gitk:3054 +#: gitk:3073 msgid "<Left>, z, h\tGo back in history list" msgstr "<Left>, z, h\tΠΠ°Π·Π°Π΄ Π² ΠΈΡΡΠΎΡΠΈΡΡΠ°" -#: gitk:3055 +#: gitk:3074 msgid "<Right>, x, l\tGo forward in history list" msgstr "<Right>, x, l\tΠΠ°ΠΏΡΠ΅Π΄ Π² ΠΈΡΡΠΎΡΠΈΡΡΠ°" -#: gitk:3056 +#: gitk:3075 #, tcl-format msgid "<%s-n>\tGo to n-th parent of current commit in history list" msgstr "<%s-n>\tΠΡΠΌ n-ΡΠΈΡ ΡΠΎΠ΄ΠΈΡΠ΅Π» Π½Π° ΡΠ΅ΠΊΡΡΠΎΡΠΎ ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ Π² ΠΈΡΡΠΎΡΠΈΡΡΠ°" -#: gitk:3057 +#: gitk:3076 msgid "<PageUp>\tMove up one page in commit list" msgstr "<PageUp>\tΠ‘ΡΡΠ°Π½ΠΈΡΠ° Π½Π°Π³ΠΎΡΠ΅ Π² ΡΠΏΠΈΡΡΠΊΠ° Ρ ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΡΡΠ°" -#: gitk:3058 +#: gitk:3077 msgid "<PageDown>\tMove down one page in commit list" msgstr "<PageDown>\tΠ‘ΡΡΠ°Π½ΠΈΡΠ° Π½Π°Π΄ΠΎΠ»Ρ Π² ΡΠΏΠΈΡΡΠΊΠ° Ρ ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΡΡΠ°" -#: gitk:3059 +#: gitk:3078 #, tcl-format msgid "<%s-Home>\tScroll to top of commit list" msgstr "<%s-Home>\tΠΡΠΌ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΡΠΏΠΈΡΡΠΊΠ° Ρ ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΡΡΠ°" -#: gitk:3060 +#: gitk:3079 #, tcl-format msgid "<%s-End>\tScroll to bottom of commit list" msgstr "<%s-End>\tΠΡΠΌ ΠΊΡΠ°Ρ Π½Π° ΡΠΏΠΈΡΡΠΊΠ° Ρ ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΡΡΠ°" -#: gitk:3061 +#: gitk:3080 #, tcl-format msgid "<%s-Up>\tScroll commit list up one line" msgstr "<%s-Up>\tΠ Π΅Π΄ Π½Π°Π³ΠΎΡΠ΅ Π² ΡΠΏΠΈΡΡΠΊΠ° Ρ ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΡ" -#: gitk:3062 +#: gitk:3081 #, tcl-format msgid "<%s-Down>\tScroll commit list down one line" msgstr "<%s-Down>\tΠ Π΅Π΄ Π½Π°Π΄ΠΎΠ»Ρ Π² ΡΠΏΠΈΡΡΠΊΠ° Ρ ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΡ" -#: gitk:3063 +#: gitk:3082 #, tcl-format msgid "<%s-PageUp>\tScroll commit list up one page" msgstr "<%s-PageUp>\tΠ‘ΡΡΠ°Π½ΠΈΡΠ° Π½Π°Π³ΠΎΡΠ΅ Π² ΡΠΏΠΈΡΡΠΊΠ° Ρ ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΡ" -#: gitk:3064 +#: gitk:3083 #, tcl-format msgid "<%s-PageDown>\tScroll commit list down one page" msgstr "<%s-PageDown>\tΠ‘ΡΡΠ°Π½ΠΈΡΠ° Π½Π°Π΄ΠΎΠ»Ρ Π² ΡΠΏΠΈΡΡΠΊΠ° Ρ ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΡ" -#: gitk:3065 +#: gitk:3084 msgid "<Shift-Up>\tFind backwards (upwards, later commits)" msgstr "<Shift-Up>\tΠ’ΡΡΡΠ΅Π½Π΅ Π½Π°Π·Π°Π΄ (Π²ΠΈΠ·ΡΠ°Π»Π½ΠΎ Π½Π°Π³ΠΎΡΠ΅, ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ β ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠΈ)" -#: gitk:3066 +#: gitk:3085 msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)" msgstr "" "<Shift-Down>\tΠ’ΡΡΡΠ΅Π½Π΅ Π½Π°ΠΏΡΠ΅Π΄ (Π²ΠΈΠ·ΡΠ°Π»Π½ΠΎ Π½Π°Π΄ΠΎΠ»Ρ, ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ β ΠΏΡΠ΅Π΄Ρ
ΠΎΠΆΠ΄Π°ΡΠΈ)" -#: gitk:3067 +#: gitk:3086 msgid "<Delete>, b\tScroll diff view up one page" msgstr "<Delete>, b\tΠ‘ΡΡΠ°Π½ΠΈΡΠ° Π½Π°Π³ΠΎΡΠ΅ Π² ΠΈΠ·Π³Π»Π΅Π΄Π° Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠΈ" -#: gitk:3068 +#: gitk:3087 msgid "<Backspace>\tScroll diff view up one page" msgstr "<Backspace>\tΠ‘ΡΡΠ°Π½ΠΈΡΠ° Π½Π°Π΄ΠΎΠ»Ρ Π² ΠΈΠ·Π³Π»Π΅Π΄Π° Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠΈ" -#: gitk:3069 +#: gitk:3088 msgid "<Space>\t\tScroll diff view down one page" msgstr "<Space>\t\tΠ‘ΡΡΠ°Π½ΠΈΡΠ° Π½Π°Π΄ΠΎΠ»Ρ Π² ΠΈΠ·Π³Π»Π΅Π΄Π° Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠΈ" -#: gitk:3070 +#: gitk:3089 msgid "u\t\tScroll diff view up 18 lines" msgstr "u\t\t18 ΡΠ΅Π΄Π° Π½Π°Π³ΠΎΡΠ΅ Π² ΠΈΠ·Π³Π»Π΅Π΄Π° Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠΈ" -#: gitk:3071 +#: gitk:3090 msgid "d\t\tScroll diff view down 18 lines" msgstr "d\t\t18 ΡΠ΅Π΄Π° Π½Π°Π΄ΠΎΠ»Ρ Π² ΠΈΠ·Π³Π»Π΅Π΄Π° Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠΈ" -#: gitk:3072 +#: gitk:3091 #, tcl-format msgid "<%s-F>\t\tFind" msgstr "<%s-F>\t\tΠ’ΡΡΡΠ΅Π½Π΅" -#: gitk:3073 +#: gitk:3092 #, tcl-format msgid "<%s-G>\t\tMove to next find hit" msgstr "<%s-G>\t\tΠΡΠΌ ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΠΏΠΎΡΠ²Π°" -#: gitk:3074 +#: gitk:3093 msgid "<Return>\tMove to next find hit" msgstr "<Return>\tΠΡΠΌ ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΠΏΠΎΡΠ²Π°" -#: gitk:3075 +#: gitk:3094 msgid "g\t\tGo to commit" msgstr "g\t\tΠΡΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΎΡΠΎ ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅" -#: gitk:3076 +#: gitk:3095 msgid "/\t\tFocus the search box" msgstr "/\t\tΠ€ΠΎΠΊΡΡ Π²ΡΡΡ
Ρ ΠΏΠΎΠ»Π΅ΡΠΎ Π·Π° ΡΡΡΡΠ΅Π½Π΅" -#: gitk:3077 +#: gitk:3096 msgid "?\t\tMove to previous find hit" msgstr "?\t\tΠΡΠΌ ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° ΠΏΠΎΡΠ²Π°" -#: gitk:3078 +#: gitk:3097 msgid "f\t\tScroll diff view to next file" msgstr "f\t\tΠ‘Π»Π΅Π΄Π²Π°Ρ ΡΠ°ΠΉΠ» Π² ΠΈΠ·Π³Π»Π΅Π΄Π° Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠΈ" -#: gitk:3079 +#: gitk:3098 #, tcl-format msgid "<%s-S>\t\tSearch for next hit in diff view" msgstr "<%s-S>\t\tΠ’ΡΡΡΠ΅Π½Π΅ Π½Π° ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΠΏΠΎΡΠ²Π° Π² ΠΈΠ·Π³Π»Π΅Π΄Π° Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠΈ" -#: gitk:3080 +#: gitk:3099 #, tcl-format msgid "<%s-R>\t\tSearch for previous hit in diff view" msgstr "<%s-R>\t\tΠ’ΡΡΡΠ΅Π½Π΅ Π½Π° ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° ΠΏΠΎΡΠ²Π° Π² ΠΈΠ·Π³Π»Π΅Π΄Π° Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠΈ" -#: gitk:3081 +#: gitk:3100 #, tcl-format msgid "<%s-KP+>\tIncrease font size" msgstr "<%s-KP+>\tΠΠΎ-Π³ΠΎΠ»ΡΠΌ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° ΡΡΠΈΡΡΠ°" -#: gitk:3082 +#: gitk:3101 #, tcl-format msgid "<%s-plus>\tIncrease font size" msgstr "<%s-plus>\tΠΠΎ-Π³ΠΎΠ»ΡΠΌ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° ΡΡΠΈΡΡΠ°" -#: gitk:3083 +#: gitk:3102 #, tcl-format msgid "<%s-KP->\tDecrease font size" msgstr "<%s-KP->\tΠΠΎ-ΠΌΠ°Π»ΡΠΊ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° ΡΡΠΈΡΡΠ°" -#: gitk:3084 +#: gitk:3103 #, tcl-format msgid "<%s-minus>\tDecrease font size" msgstr "<%s-minus>\tΠΠΎ-ΠΌΠ°Π»ΡΠΊ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° ΡΡΠΈΡΡΠ°" -#: gitk:3085 +#: gitk:3104 msgid "<F5>\t\tUpdate" msgstr "<F5>\t\tΠΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅" -#: gitk:3550 gitk:3559 +#: gitk:3569 gitk:3578 #, tcl-format msgid "Error creating temporary directory %s:" msgstr "ΠΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½Π½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ β%sβ:" -#: gitk:3572 +#: gitk:3591 #, tcl-format msgid "Error getting \"%s\" from %s:" msgstr "ΠΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° β%sβ ΠΎΡ %s:" -#: gitk:3635 +#: gitk:3654 msgid "command failed:" msgstr "Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°:" -#: gitk:3784 +#: gitk:3803 msgid "No such commit" msgstr "Π’Π°ΠΊΠΎΠ²Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ Π½ΡΠΌΠ°" -#: gitk:3798 +#: gitk:3817 msgid "git gui blame: command failed:" msgstr "βgit gui blameβ: Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°:" -#: gitk:3829 +#: gitk:3848 #, tcl-format msgid "Couldn't read merge head: %s" msgstr "ΠΡΡΡ
ΡΡ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠΎΡΠ΅ΡΠ΅Π½: %s" -#: gitk:3837 +#: gitk:3856 #, tcl-format msgid "Error reading index: %s" msgstr "ΠΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ ΠΏΡΠΎΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠ°: %s" -#: gitk:3862 +#: gitk:3881 #, tcl-format msgid "Couldn't start git blame: %s" msgstr "ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° βgit blameβ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π°: %s" -#: gitk:3865 gitk:6754 +#: gitk:3884 gitk:6773 msgid "Searching" msgstr "Π’ΡΡΡΠ΅Π½Π΅" -#: gitk:3897 +#: gitk:3916 #, tcl-format msgid "Error running git blame: %s" msgstr "ΠΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° βgit blameβ: %s" -#: gitk:3925 +#: gitk:3944 #, tcl-format msgid "That line comes from commit %s, which is not in this view" msgstr "Π’ΠΎΠ·ΠΈ ΡΠ΅Π΄ ΠΈΠ΄Π²Π° ΠΎΡ ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ΡΠΎ %s, ΠΊΠΎΠ΅ΡΠΎ Π½Π΅ Π΅ Π² ΠΈΠ·Π³Π»Π΅Π΄Π°" -#: gitk:3939 +#: gitk:3958 msgid "External diff viewer failed:" msgstr "ΠΠ΅ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠ½ΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠΈ:" -#: gitk:4070 +#: gitk:4062 +msgid "All files" +msgstr "ΠΡΠΈΡΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅" + +#: gitk:4086 +msgid "View" +msgstr "ΠΠ·Π³Π»Π΅Π΄" + +#: gitk:4089 msgid "Gitk view definition" msgstr "ΠΠ΅ΡΠΈΠ½ΠΈΡΠΈΡ Π½Π° ΠΈΠ·Π³Π»Π΅Π΄ Π² Gitk" -#: gitk:4074 +#: gitk:4093 msgid "Remember this view" msgstr "ΠΠ°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΠΎΠ·ΠΈ ΠΈΠ·Π³Π»Π΅Π΄" -#: gitk:4075 +#: gitk:4094 msgid "References (space separated list):" msgstr "Π£ΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ (ΡΠΏΠΈΡΡΠΊ Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π» ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»):" -#: gitk:4076 +#: gitk:4095 msgid "Branches & tags:" msgstr "ΠΠ»ΠΎΠ½ΠΈ ΠΈ Π΅ΡΠΈΠΊΠ΅ΡΠΈ:" -#: gitk:4077 +#: gitk:4096 msgid "All refs" msgstr "ΠΡΠΈΡΠΊΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ" -#: gitk:4078 +#: gitk:4097 msgid "All (local) branches" msgstr "ΠΡΠΈΡΠΊΠΈ (Π»ΠΎΠΊΠ°Π»Π½ΠΈ) ΠΊΠ»ΠΎΠ½ΠΈ" -#: gitk:4079 +#: gitk:4098 msgid "All tags" msgstr "ΠΡΠΈΡΠΊΠΈ Π΅ΡΠΈΠΊΠ΅ΡΠΈ" -#: gitk:4080 +#: gitk:4099 msgid "All remote-tracking branches" msgstr "ΠΡΠΈΡΠΊΠΈ ΡΠ»Π΅Π΄ΡΡΠΈ ΠΊΠ»ΠΎΠ½ΠΈ" -#: gitk:4081 +#: gitk:4100 msgid "Commit Info (regular expressions):" msgstr "ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ (ΡΠ΅Π³. ΠΈΠ·Ρ.):" -#: gitk:4082 +#: gitk:4101 msgid "Author:" msgstr "ΠΠ²ΡΠΎΡ:" -#: gitk:4083 +#: gitk:4102 msgid "Committer:" msgstr "ΠΠΎΠ΄Π°Π»:" -#: gitk:4084 +#: gitk:4103 msgid "Commit Message:" msgstr "Π‘ΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅:" -#: gitk:4085 +#: gitk:4104 msgid "Matches all Commit Info criteria" msgstr "Π‘ΡΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π²ΡΠΈΡΠΊΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ΡΠΎ" -#: gitk:4086 +#: gitk:4105 msgid "Matches no Commit Info criteria" msgstr "ΠΠ΅ ΡΡΠ²ΠΏΠ°Π΄Π° ΠΏΠΎ Π½ΠΈΠΊΠΎΡ ΠΎΡ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ΡΠΎ" -#: gitk:4087 +#: gitk:4106 msgid "Changes to Files:" msgstr "ΠΡΠΎΠΌΠ΅Π½ΠΈ ΠΏΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅:" -#: gitk:4088 +#: gitk:4107 msgid "Fixed String" msgstr "ΠΠΎΡΠ»ΠΎΠ²Π΅Π½ Π½ΠΈΠ·" -#: gitk:4089 +#: gitk:4108 msgid "Regular Expression" msgstr "Π Π΅Π³ΡΠ»ΡΡΠ΅Π½ ΠΈΠ·ΡΠ°Π·" -#: gitk:4090 +#: gitk:4109 msgid "Search string:" msgstr "ΠΠΈΠ· Π·Π° ΡΡΡΡΠ΅Π½Π΅:" -#: gitk:4091 +#: gitk:4110 msgid "" "Commit Dates (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 " "15:27:38\"):" @@ -691,204 +707,204 @@ msgstr "" "ΠΠ°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ (β2 weeks agoβ (ΠΏΡΠ΅Π΄ΠΈ 2 ΡΠ΅Π΄ΠΌΠΈΡΠΈ), β2009-03-17 15:27:38β, " "βMarch 17, 2009 15:27:38β):" -#: gitk:4092 +#: gitk:4111 msgid "Since:" msgstr "ΠΡ:" -#: gitk:4093 +#: gitk:4112 msgid "Until:" msgstr "ΠΠΎ:" -#: gitk:4094 +#: gitk:4113 msgid "Limit and/or skip a number of revisions (positive integer):" msgstr "" "ΠΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ ΠΈ/ΠΈΠ»ΠΈ ΠΏΡΠ΅ΡΠΊΠ°ΡΠ°Π½Π΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π±ΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ (Π½Π΅ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»Π½ΠΎ ΡΡΠ»ΠΎ " "ΡΠΈΡΠ»ΠΎ):" -#: gitk:4095 +#: gitk:4114 msgid "Number to show:" msgstr "ΠΡΠΎΠΉ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈ:" -#: gitk:4096 +#: gitk:4115 msgid "Number to skip:" msgstr "ΠΡΠΎΠΉ ΠΏΡΠ΅ΡΠΊΠΎΡΠ΅Π½ΠΈ:" -#: gitk:4097 +#: gitk:4116 msgid "Miscellaneous options:" msgstr "Π Π°Π·Π½ΠΈ:" -#: gitk:4098 +#: gitk:4117 msgid "Strictly sort by date" msgstr "ΠΠΎΠ΄ΡΠ΅ΠΆΠ΄Π°Π½Π΅ ΠΏΠΎ Π΄Π°ΡΠ°" -#: gitk:4099 +#: gitk:4118 msgid "Mark branch sides" msgstr "ΠΡΠ±Π΅Π»ΡΠ·Π²Π°Π½Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΠΎ ΠΊΠ»ΠΎΠ½Π°" -#: gitk:4100 +#: gitk:4119 msgid "Limit to first parent" msgstr "Π‘Π°ΠΌΠΎ ΠΏΡΡΠ²ΠΈΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»" -#: gitk:4101 +#: gitk:4120 msgid "Simple history" msgstr "ΠΠΏΡΠΎΡΡΠ΅Π½Π° ΠΈΡΡΠΎΡΠΈΡ" -#: gitk:4102 +#: gitk:4121 msgid "Additional arguments to git log:" msgstr "ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ ΠΊΡΠΌ βgit logβ:" -#: gitk:4103 +#: gitk:4122 msgid "Enter files and directories to include, one per line:" msgstr "ΠΡΠ²Π΅Π΄Π΅ΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈΡΠ΅ Π·Π° Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅, ΠΏΠΎ Π΅Π»Π΅ΠΌΠ΅Π½Ρ Π½Π° ΡΠ΅Π΄" -#: gitk:4104 +#: gitk:4123 msgid "Command to generate more commits to include:" msgstr "" "ΠΠΎΠΌΠ°Π½Π΄Π° Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ Π΄Π° Π±ΡΠ΄Π°Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ:" -#: gitk:4228 +#: gitk:4247 msgid "Gitk: edit view" msgstr "Gitk: ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·Π³Π»Π΅Π΄" -#: gitk:4236 +#: gitk:4255 msgid "-- criteria for selecting revisions" msgstr "β ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ Π·Π° ΠΈΠ·Π±ΠΎΡ Π½Π° Π²Π΅ΡΡΠΈΠΈ" -#: gitk:4241 +#: gitk:4260 msgid "View Name" msgstr "ΠΠΌΠ΅ Π½Π° ΠΈΠ·Π³Π»Π΅Π΄" -#: gitk:4316 +#: gitk:4335 msgid "Apply (F5)" msgstr "ΠΡΠΈΠ»Π°Π³Π°Π½Π΅ (F5)" -#: gitk:4354 +#: gitk:4373 msgid "Error in commit selection arguments:" msgstr "ΠΡΠ΅ΡΠΊΠ° Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π·Π° ΠΈΠ·Π±ΠΎΡ Π½Π° ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΡ:" -#: gitk:4409 gitk:4462 gitk:4924 gitk:4938 gitk:6208 gitk:12373 gitk:12374 +#: gitk:4428 gitk:4481 gitk:4943 gitk:4957 gitk:6227 gitk:12410 gitk:12411 msgid "None" msgstr "ΠΡΠΌΠ°" -#: gitk:5021 gitk:5026 +#: gitk:5040 gitk:5045 msgid "Descendant" msgstr "ΠΠ°ΡΠ»Π΅Π΄Π½ΠΈΠΊ" -#: gitk:5022 +#: gitk:5041 msgid "Not descendant" msgstr "ΠΠ΅ Π΅ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊ" -#: gitk:5029 gitk:5034 +#: gitk:5048 gitk:5053 msgid "Ancestor" msgstr "ΠΡΠ΅Π΄ΡΠ΅ΡΡΠ²Π΅Π½ΠΈΠΊ" -#: gitk:5030 +#: gitk:5049 msgid "Not ancestor" msgstr "ΠΠ΅ Π΅ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²Π΅Π½ΠΈΠΊ" -#: gitk:5324 +#: gitk:5343 msgid "Local changes checked in to index but not committed" msgstr "ΠΠΎΠΊΠ°Π»Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΊΡΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠ°, Π½ΠΎ Π½Π΅ΠΏΠΎΠ΄Π°Π΄Π΅Π½ΠΈ" -#: gitk:5360 +#: gitk:5379 msgid "Local uncommitted changes, not checked in to index" msgstr "ΠΠΎΠΊΠ°Π»Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΈΠ·Π²ΡΠ½ ΠΈΠ½Π΄Π΅ΠΊΡΠ°" -#: gitk:7134 +#: gitk:7153 msgid "and many more" msgstr "ΠΈ ΠΎΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ" -#: gitk:7137 +#: gitk:7156 msgid "many" msgstr "ΠΌΠ½ΠΎΠ³ΠΎ" -#: gitk:7328 +#: gitk:7347 msgid "Tags:" msgstr "ΠΡΠΈΠΊΠ΅ΡΠΈ:" -#: gitk:7345 gitk:7351 gitk:8825 +#: gitk:7364 gitk:7370 gitk:8844 msgid "Parent" msgstr "Π ΠΎΠ΄ΠΈΡΠ΅Π»" -#: gitk:7356 +#: gitk:7375 msgid "Child" msgstr "ΠΠ΅ΡΠ΅" -#: gitk:7365 +#: gitk:7384 msgid "Branch" msgstr "ΠΠ»ΠΎΠ½" -#: gitk:7368 +#: gitk:7387 msgid "Follows" msgstr "Π‘Π»Π΅Π΄Π²Π°" -#: gitk:7371 +#: gitk:7390 msgid "Precedes" msgstr "ΠΡΠ΅Π΄ΡΠ΅ΡΡΠ²Π°" -#: gitk:7966 +#: gitk:7985 #, tcl-format msgid "Error getting diffs: %s" msgstr "ΠΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·Π»ΠΈΠΊΠΈΡΠ΅: %s" -#: gitk:8650 +#: gitk:8669 msgid "Goto:" msgstr "ΠΡΠΌ ΡΠ΅Π΄:" -#: gitk:8671 +#: gitk:8690 #, tcl-format msgid "Short SHA1 id %s is ambiguous" msgstr "Π‘ΡΠΊΡΠ°ΡΠ΅Π½Π°ΡΠ° ΡΡΠΌΠ° ΠΏΠΎ SHA1 %s Π½Π΅ Π΅ Π΅Π΄Π½ΠΎΠ·Π½Π°ΡΠ½Π°" -#: gitk:8678 +#: gitk:8697 #, tcl-format msgid "Revision %s is not known" msgstr "ΠΠ΅ΠΏΠΎΠ·Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ %s" -#: gitk:8688 +#: gitk:8707 #, tcl-format msgid "SHA1 id %s is not known" msgstr "ΠΠ΅ΠΏΠΎΠ·Π½Π°ΡΠ° ΡΡΠΌΠ° ΠΏΠΎ SHA1 %s" -#: gitk:8690 +#: gitk:8709 #, tcl-format msgid "Revision %s is not in the current view" msgstr "ΠΠ΅ΡΡΠΈΡ %s Π½Π΅ Π΅ Π² ΡΠ΅ΠΊΡΡΠΈΡ ΠΈΠ·Π³Π»Π΅Π΄" -#: gitk:8832 gitk:8847 +#: gitk:8851 gitk:8866 msgid "Date" msgstr "ΠΠ°ΡΠ°" -#: gitk:8835 +#: gitk:8854 msgid "Children" msgstr "ΠΠ΅ΡΠ°" -#: gitk:8898 +#: gitk:8917 #, tcl-format msgid "Reset %s branch to here" msgstr "ΠΠ°Π½ΡΠ»ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠ»ΠΎΠ½Π° β%sβ ΠΊΡΠΌ ΡΠ΅ΠΊΡΡΠΎΡΠΎ ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅" -#: gitk:8900 +#: gitk:8919 msgid "Detached head: can't reset" msgstr "ΠΠ΅ΡΠ²ΡΡΠ·Π°Π½ Π²ΡΡΡ
: Π½Π΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π½ΡΠ»ΡΠ²Π°Π½Π΅" -#: gitk:9005 gitk:9011 +#: gitk:9024 gitk:9030 msgid "Skipping merge commit " msgstr "ΠΡΠΎΠΏΡΡΠΊΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ΡΠΎ" -#: gitk:9020 gitk:9025 +#: gitk:9039 gitk:9044 msgid "Error getting patch ID for " msgstr "ΠΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° Π½Π° " -#: gitk:9021 gitk:9026 +#: gitk:9040 gitk:9045 msgid " - stopping\n" msgstr " β ΡΠΏΠΈΡΠ°Π½Π΅\n" -#: gitk:9031 gitk:9034 gitk:9042 gitk:9056 gitk:9065 +#: gitk:9050 gitk:9053 gitk:9061 gitk:9075 gitk:9084 msgid "Commit " msgstr "ΠΠΎΠ΄Π°Π²Π°Π½Π΅" -#: gitk:9035 +#: gitk:9054 msgid "" " is the same patch as\n" " " @@ -896,7 +912,7 @@ msgstr "" " Π΅ ΡΡΡΠ°ΡΠ° ΠΊΡΡΠΏΠΊΠ° ΠΊΠ°ΡΠΎ\n" " " -#: gitk:9043 +#: gitk:9062 msgid "" " differs from\n" " " @@ -904,7 +920,7 @@ msgstr "" " ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°Π²Π° ΠΎΡ\n" " " -#: gitk:9045 +#: gitk:9064 msgid "" "Diff of commits:\n" "\n" @@ -912,130 +928,130 @@ msgstr "" "Π Π°Π·Π»ΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΡΡΠ°:\n" "\n" -#: gitk:9057 gitk:9066 +#: gitk:9076 gitk:9085 #, tcl-format msgid " has %s children - stopping\n" msgstr " ΠΈΠΌΠ° %s Π΄Π΅ΡΠ° β ΡΠΏΠΈΡΠ°Π½Π΅\n" -#: gitk:9085 +#: gitk:9104 #, tcl-format msgid "Error writing commit to file: %s" msgstr "ΠΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ΡΠΎ Π²ΡΠ² ΡΠ°ΠΉΠ»: %s" -#: gitk:9091 +#: gitk:9110 #, tcl-format msgid "Error diffing commits: %s" msgstr "ΠΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·Π»ΠΈΠΊΠΈΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΡΡΠ°: %s" -#: gitk:9137 +#: gitk:9156 msgid "Top" msgstr "ΠΠ°ΠΉ-Π³ΠΎΡΠ΅" -#: gitk:9138 +#: gitk:9157 msgid "From" msgstr "ΠΡ" -#: gitk:9143 +#: gitk:9162 msgid "To" msgstr "ΠΠΎ" -#: gitk:9167 +#: gitk:9186 msgid "Generate patch" msgstr "ΠΠ΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΡΡΠΏΠΊΠ°" -#: gitk:9169 +#: gitk:9188 msgid "From:" msgstr "ΠΡ:" -#: gitk:9178 +#: gitk:9197 msgid "To:" msgstr "ΠΠΎ:" -#: gitk:9187 +#: gitk:9206 msgid "Reverse" msgstr "ΠΠ±ΡΡΡΠ°Π½Π΅" -#: gitk:9189 gitk:9385 +#: gitk:9208 gitk:9418 msgid "Output file:" msgstr "ΠΠ°ΠΏΠ°Π·Π²Π°Π½Π΅ Π²ΡΠ² ΡΠ°ΠΉΠ»Π°:" -#: gitk:9195 +#: gitk:9214 msgid "Generate" msgstr "ΠΠ΅Π½Π΅ΡΠΈΡΠ°Π½Π΅" -#: gitk:9233 +#: gitk:9252 msgid "Error creating patch:" msgstr "ΠΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΡΡΠΏΠΊΠ°:" -#: gitk:9256 gitk:9373 gitk:9430 +#: gitk:9275 gitk:9406 gitk:9463 msgid "ID:" msgstr "ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ:" -#: gitk:9265 +#: gitk:9284 msgid "Tag name:" msgstr "ΠΠΌΠ΅ Π½Π° Π΅ΡΠΈΠΊΠ΅Ρ:" -#: gitk:9268 +#: gitk:9287 msgid "Tag message is optional" msgstr "Π‘ΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π·Π° Π΅ΡΠΈΠΊΠ΅Ρ Π΅ Π½Π΅Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ" -#: gitk:9270 +#: gitk:9289 msgid "Tag message:" msgstr "Π‘ΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π·Π° Π΅ΡΠΈΠΊΠ΅Ρ:" -#: gitk:9274 gitk:9439 +#: gitk:9293 gitk:9472 msgid "Create" msgstr "Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅" -#: gitk:9292 +#: gitk:9311 msgid "No tag name specified" msgstr "ΠΠΈΠΏΡΠ²Π° ΠΈΠΌΠ΅ Π½Π° Π΅ΡΠΈΠΊΠ΅Ρ" -#: gitk:9296 +#: gitk:9315 #, tcl-format msgid "Tag \"%s\" already exists" msgstr "ΠΡΠΈΠΊΠ΅ΡΡΡ β%sβ Π²Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°" -#: gitk:9306 +#: gitk:9325 msgid "Error creating tag:" msgstr "ΠΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΅ΡΠΈΠΊΠ΅Ρ:" -#: gitk:9382 +#: gitk:9415 msgid "Command:" msgstr "ΠΠΎΠΌΠ°Π½Π΄Π°:" -#: gitk:9390 +#: gitk:9423 msgid "Write" msgstr "ΠΠ°ΠΏΠ°Π·Π²Π°Π½Π΅" -#: gitk:9408 +#: gitk:9441 msgid "Error writing commit:" msgstr "ΠΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ΡΠΎ:" -#: gitk:9435 +#: gitk:9468 msgid "Name:" msgstr "ΠΠΌΠ΅:" -#: gitk:9458 +#: gitk:9491 msgid "Please specify a name for the new branch" msgstr "Π£ΠΊΠ°ΠΆΠ΅ΡΠ΅ ΠΈΠΌΠ΅ Π·Π° Π½ΠΎΠ²ΠΈΡ ΠΊΠ»ΠΎΠ½" -#: gitk:9463 +#: gitk:9496 #, tcl-format msgid "Branch '%s' already exists. Overwrite?" msgstr "ΠΠ»ΠΎΠ½ΡΡ β%sβ Π²Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°. ΠΠ° Π±ΡΠ΄Π΅ Π»ΠΈ ΠΏΡΠ΅Π·Π°ΠΏΠΈΡΠ°Π½?" -#: gitk:9530 +#: gitk:9563 #, tcl-format msgid "Commit %s is already included in branch %s -- really re-apply it?" msgstr "" "ΠΠΎΠ΄Π°Π²Π°Π½Π΅ΡΠΎ β%sβ Π²Π΅ΡΠ΅ Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π² ΠΊΠ»ΠΎΠ½Π° β%sβ β Π΄Π° Π±ΡΠ΄Π΅ Π»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΎ ΠΎΡΠ½ΠΎΠ²ΠΎ?" -#: gitk:9535 +#: gitk:9568 msgid "Cherry-picking" msgstr "ΠΡΠ±ΠΈΡΠ°Π½Π΅" -#: gitk:9544 +#: gitk:9577 #, tcl-format msgid "" "Cherry-pick failed because of local changes to file '%s'.\n" @@ -1044,7 +1060,7 @@ msgstr "" "ΠΠ΅ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΎΡΠ±ΠΈΡΠ°Π½Π΅, Π·Π°ΡΠΎΡΠΎ Π²ΡΠ² ΡΠ°ΠΉΠ»Π° β%sβ ΠΈΠΌΠ° Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ.\n" "ΠΠΎΠ΄Π°ΠΉΡΠ΅, Π·Π°Π½ΡΠ»Π΅ΡΠ΅ ΠΈΠ»ΠΈ Π³ΠΈ ΡΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΈ ΠΏΡΠΎΠ±Π²Π°ΠΉΡΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ." -#: gitk:9550 +#: gitk:9583 msgid "" "Cherry-pick failed because of merge conflict.\n" "Do you wish to run git citool to resolve it?" @@ -1052,20 +1068,20 @@ msgstr "" "ΠΠ΅ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΎΡΠ±ΠΈΡΠ°Π½Π΅ ΠΏΠΎΡΠ°Π΄ΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈ ΠΏΡΠΈ ΡΠ»ΠΈΠ²Π°Π½Π΅.\n" "ΠΡΠΊΠ°ΡΠ΅ Π»ΠΈ Π΄Π° Π³ΠΈ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°ΡΠ΅ ΡΡΠ΅Π· βgit citoolβ?" -#: gitk:9566 gitk:9624 +#: gitk:9599 gitk:9657 msgid "No changes committed" msgstr "ΠΠ΅ ΡΠ° ΠΏΠΎΠ΄Π°Π΄Π΅Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ" -#: gitk:9593 +#: gitk:9626 #, tcl-format msgid "Commit %s is not included in branch %s -- really revert it?" msgstr "ΠΠΎΠ΄Π°Π²Π°Π½Π΅ΡΠΎ β%sβ Π½Π΅ Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π² ΠΊΠ»ΠΎΠ½Π° β%sβ. ΠΠ° Π±ΡΠ΄Π΅ Π»ΠΈ ΠΎΡΠΌΠ΅Π½Π΅Π½ΠΎ?" -#: gitk:9598 +#: gitk:9631 msgid "Reverting" msgstr "ΠΡΠΌΡΠ½Π°" -#: gitk:9606 +#: gitk:9639 #, tcl-format msgid "" "Revert failed because of local changes to the following files:%s Please " @@ -1074,7 +1090,7 @@ msgstr "" "ΠΠ΅ΡΡΠΏΠ΅ΡΠ½Π° ΠΎΡΠΌΡΠ½Π°, Π·Π°ΡΠΎΡΠΎ Π²ΡΠ² ΡΠ°ΠΉΠ»Π° β%sβ ΠΈΠΌΠ° Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ.\n" "ΠΠΎΠ΄Π°ΠΉΡΠ΅, Π·Π°Π½ΡΠ»Π΅ΡΠ΅ ΠΈΠ»ΠΈ Π³ΠΈ ΡΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΈ ΠΏΡΠΎΠ±Π²Π°ΠΉΡΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ.<" -#: gitk:9610 +#: gitk:9643 msgid "" "Revert failed because of merge conflict.\n" " Do you wish to run git citool to resolve it?" @@ -1082,28 +1098,28 @@ msgstr "" "ΠΠ΅ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΎΡΠΌΡΠ½Π° ΠΏΠΎΡΠ°Π΄ΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈ ΠΏΡΠΈ ΡΠ»ΠΈΠ²Π°Π½Π΅.\n" "ΠΡΠΊΠ°ΡΠ΅ Π»ΠΈ Π΄Π° Π³ΠΈ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°ΡΠ΅ ΡΡΠ΅Π· βgit citoolβ?" -#: gitk:9653 +#: gitk:9686 msgid "Confirm reset" msgstr "ΠΠΎΡΠ²ΡΡΠΆΠ΄Π°Π²Π°Π½Π΅ Π½Π° Π·Π°Π½ΡΠ»ΡΠ²Π°Π½Π΅ΡΠΎ" -#: gitk:9655 +#: gitk:9688 #, tcl-format msgid "Reset branch %s to %s?" msgstr "ΠΠ° ΡΠ΅ Π·Π°Π½ΡΠ»ΠΈ Π»ΠΈ ΠΊΠ»ΠΎΠ½ΡΡ β%sβ ΠΊΡΠΌ β%sβ?" -#: gitk:9657 +#: gitk:9690 msgid "Reset type:" msgstr "ΠΠΈΠ΄ Π·Π°Π½ΡΠ»ΡΠ²Π°Π½Π΅:" -#: gitk:9660 +#: gitk:9693 msgid "Soft: Leave working tree and index untouched" msgstr "Π‘Π»Π°Π±ΠΎ: ΡΠ°Π±ΠΎΡΠ½ΠΎΡΠΎ Π΄ΡΡΠ²ΠΎ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΎΡΡΠ°Π²Π°Ρ ΡΡΡΠΈΡΠ΅" -#: gitk:9663 +#: gitk:9696 msgid "Mixed: Leave working tree untouched, reset index" msgstr "Π‘ΠΌΠ΅ΡΠ΅Π½ΠΎ: ΡΠ°Π±ΠΎΡΠ½ΠΎΡΠΎ Π΄ΡΡΠ²ΠΎ ΠΎΡΡΠ°Π²Π° ΡΡΡΠΎΡΠΎ, ΠΈΠ½Π΄Π΅ΠΊΡΡΡ ΡΠ΅ Π·Π°Π½ΡΠ»ΡΠ²Π°" -#: gitk:9666 +#: gitk:9699 msgid "" "Hard: Reset working tree and index\n" "(discard ALL local changes)" @@ -1111,19 +1127,19 @@ msgstr "" "Π‘ΠΈΠ»Π½ΠΎ: Π·Π°Π½ΡΠ»ΡΠ²Π°Π½Π΅ ΠΈ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΎΡΠΎ Π΄ΡΡΠ²ΠΎ, ΠΈ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠ°\n" "(*ΠΠ‘ΠΠ§ΠΠ* Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ Π±Π΅Π·Π²ΡΠ·Π²ΡΠ°ΡΠ½ΠΎ Π·Π°Π³ΡΠ±Π΅Π½ΠΈ)" -#: gitk:9683 +#: gitk:9716 msgid "Resetting" msgstr "ΠΠ°Π½ΡΠ»ΡΠ²Π°Π½Π΅" -#: gitk:9743 +#: gitk:9776 msgid "Checking out" msgstr "ΠΠ·ΡΠ΅Π³Π»ΡΠ½Π΅" -#: gitk:9796 +#: gitk:9829 msgid "Cannot delete the currently checked-out branch" msgstr "Π’Π΅ΠΊΡΡΠΎ ΠΈΠ·ΡΠ΅Π³Π»Π΅Π½ΠΈΡΡ ΠΊΠ»ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·ΡΡΠΈΡ" -#: gitk:9802 +#: gitk:9835 #, tcl-format msgid "" "The commits on branch %s aren't on any other branch.\n" @@ -1132,16 +1148,16 @@ msgstr "" "ΠΠΎΠ΄Π°Π²Π°Π½ΠΈΡΡΠ° Π½Π° ΠΊΠ»ΠΎΠ½Π° β%sβ Π½Π΅ ΡΠ° Π½Π° Π½ΠΈΠΊΠΎΠΉ Π΄ΡΡΠ³ ΠΊΠ»ΠΎΠ½.\n" "ΠΠ°ΠΈΡΡΠΈΠ½Π° Π»ΠΈ Π΄Π° ΡΠ΅ ΠΈΠ·ΡΡΠΈΠ΅ ΠΊΠ»ΠΎΠ½ΡΡ β%sβ?" -#: gitk:9833 +#: gitk:9866 #, tcl-format msgid "Tags and heads: %s" msgstr "ΠΡΠΈΠΊΠ΅ΡΠΈ ΠΈ Π²ΡΡΡ
ΠΎΠ²Π΅: %s" -#: gitk:9850 +#: gitk:9883 msgid "Filter" msgstr "Π€ΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅" -#: gitk:10146 +#: gitk:10179 msgid "" "Error reading commit topology information; branch and preceding/following " "tag information will be incomplete." @@ -1149,201 +1165,201 @@ msgstr "" "ΠΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ ΠΏΡΠΎΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° Π½Π° ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΡΡΠ°. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π·Π° ΠΊΠ»ΠΎΠ½Π° " "ΠΈ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²Π°ΡΠΈΡΠ΅/ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΠ΅ Π΅ΡΠΈΠΊΠ΅ΡΠΈ ΡΠ΅ Π΅ Π½Π΅ΠΏΡΠ»Π½Π°." -#: gitk:11123 +#: gitk:11156 msgid "Tag" msgstr "ΠΡΠΈΠΊΠ΅Ρ" -#: gitk:11127 +#: gitk:11160 msgid "Id" msgstr "ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ" -#: gitk:11210 +#: gitk:11243 msgid "Gitk font chooser" msgstr "ΠΠ·Π±ΠΎΡ Π½Π° ΡΡΠΈΡΡ Π·Π° Gitk" -#: gitk:11227 +#: gitk:11260 msgid "B" msgstr "Π§" -#: gitk:11230 +#: gitk:11263 msgid "I" msgstr "Π" -#: gitk:11348 +#: gitk:11381 msgid "Commit list display options" msgstr "ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° ΡΠΏΠΈΡΡΠΊΠ° Ρ ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΡ" -#: gitk:11351 +#: gitk:11384 msgid "Maximum graph width (lines)" msgstr "ΠΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π° ΡΠΈΡΠΎΡΠΈΠ½Π° Π½Π° Π³ΡΠ°ΡΠ° (Π² ΡΠ΅Π΄ΠΎΠ²Π΅)" -#: gitk:11355 +#: gitk:11388 #, no-tcl-format msgid "Maximum graph width (% of pane)" msgstr "ΠΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π° ΡΠΈΡΠΎΡΠΈΠ½Π° Π½Π° Π³ΡΠ°ΡΠ° (% ΠΎΡ ΠΏΠ°Π½Π΅Π»Π°)" -#: gitk:11358 +#: gitk:11391 msgid "Show local changes" msgstr "ΠΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π»ΠΎΠΊΠ°Π»Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ" -#: gitk:11361 +#: gitk:11394 msgid "Auto-select SHA1 (length)" msgstr "ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΈΠ·Π±ΠΈΡΠ°Π½Π΅ Π½Π° SHA1 (Π΄ΡΠ»ΠΆΠΈΠ½Π°)" -#: gitk:11365 +#: gitk:11398 msgid "Hide remote refs" msgstr "Π‘ΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΈΡΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ" -#: gitk:11369 +#: gitk:11402 msgid "Diff display options" msgstr "ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·Π»ΠΈΠΊΠΈΡΠ΅" -#: gitk:11371 +#: gitk:11404 msgid "Tab spacing" msgstr "Π¨ΠΈΡΠΎΡΠΈΠ½Π° Π½Π° ΡΠ°Π±ΡΠ»Π°ΡΠΎΡΠ°" -#: gitk:11374 +#: gitk:11407 msgid "Display nearby tags/heads" msgstr "ΠΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π±Π»ΠΈΠ·ΠΊΠΈΡΠ΅ Π΅ΡΠΈΠΊΠ΅ΡΠΈ ΠΈ Π²ΡΡΡ
ΠΎΠ²Π΅" -#: gitk:11377 +#: gitk:11410 msgid "Maximum # tags/heads to show" msgstr "ΠΠ°ΠΊΡΠΈΠΌΠ°Π»Π΅Π½ Π±ΡΠΎΠΉ Π΅ΡΠΈΠΊΠ΅ΡΠΈ/Π²ΡΡΡ
ΠΎΠ²Π΅ Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅" -#: gitk:11380 +#: gitk:11413 msgid "Limit diffs to listed paths" msgstr "Π Π°Π·Π»ΠΈΠΊΠ° ΡΠ°ΠΌΠΎ Π² ΠΈΠ·Π±ΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΡΠΈΡΠ°" -#: gitk:11383 +#: gitk:11416 msgid "Support per-file encodings" msgstr "ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠ΄ΠΈΡΠ°Π½ΠΈΡ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΡΠ°ΠΉΠ»" -#: gitk:11389 gitk:11536 +#: gitk:11422 gitk:11569 msgid "External diff tool" msgstr "ΠΡΠ½ΡΠ΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠΈ" -#: gitk:11390 +#: gitk:11423 msgid "Choose..." msgstr "ΠΠ·Π±ΠΎΡβ¦" -#: gitk:11395 +#: gitk:11428 msgid "General options" msgstr "ΠΠ±ΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ" -#: gitk:11398 +#: gitk:11431 msgid "Use themed widgets" msgstr "ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΠΌΠ° Π·Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈΡΠ΅ ΠΎΠ±Π΅ΠΊΡΠΈ" -#: gitk:11400 +#: gitk:11433 msgid "(change requires restart)" msgstr "(ΠΏΡΠΎΠΌΡΠ½Π°ΡΠ° ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Gitk)" -#: gitk:11402 +#: gitk:11435 msgid "(currently unavailable)" msgstr "(Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎ)" -#: gitk:11413 +#: gitk:11446 msgid "Colors: press to choose" msgstr "Π¦Π²Π΅ΡΠΎΠ²Π΅: ΠΈΠ·Π±ΠΈΡΠ° ΡΠ΅ Ρ Π½Π°ΡΠΈΡΠΊΠ°Π½Π΅" -#: gitk:11416 +#: gitk:11449 msgid "Interface" msgstr "ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ" -#: gitk:11417 +#: gitk:11450 msgid "interface" msgstr "ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ" -#: gitk:11420 +#: gitk:11453 msgid "Background" msgstr "Π€ΠΎΠ½" -#: gitk:11421 gitk:11451 +#: gitk:11454 gitk:11484 msgid "background" msgstr "ΡΠΎΠ½" -#: gitk:11424 +#: gitk:11457 msgid "Foreground" msgstr "ΠΠ½Π°ΡΠΈ" -#: gitk:11425 +#: gitk:11458 msgid "foreground" msgstr "Π·Π½Π°ΡΠΈ" -#: gitk:11428 +#: gitk:11461 msgid "Diff: old lines" msgstr "Π Π°Π·Π»ΠΈΠΊΠ°: ΡΡΠ°ΡΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅" -#: gitk:11429 +#: gitk:11462 msgid "diff old lines" msgstr "ΡΠ°Π·Π»ΠΈΠΊΠ°, ΡΡΠ°ΡΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅" -#: gitk:11433 +#: gitk:11466 msgid "Diff: new lines" msgstr "Π Π°Π·Π»ΠΈΠΊΠ°: Π½ΠΎΠ²ΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅" -#: gitk:11434 +#: gitk:11467 msgid "diff new lines" msgstr "ΡΠ°Π·Π»ΠΈΠΊΠ°, Π½ΠΎΠ²ΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅" -#: gitk:11438 +#: gitk:11471 msgid "Diff: hunk header" msgstr "Π Π°Π·Π»ΠΈΠΊΠ°: Π½Π°ΡΠ°Π»ΠΎ Π½Π° ΠΏΠ°ΡΡΠ΅" -#: gitk:11440 +#: gitk:11473 msgid "diff hunk header" msgstr "ΡΠ°Π·Π»ΠΈΠΊΠ°, Π½Π°ΡΠ°Π»ΠΎ Π½Π° ΠΏΠ°ΡΡΠ΅" -#: gitk:11444 +#: gitk:11477 msgid "Marked line bg" msgstr "Π€ΠΎΠ½ Π½Π° ΠΎΡΠ±Π΅Π»ΡΠ·Π°Π½ ΡΠ΅Π΄" -#: gitk:11446 +#: gitk:11479 msgid "marked line background" msgstr "ΡΠΎΠ½ Π½Π° ΠΎΡΠ±Π΅Π»ΡΠ·Π°Π½ ΡΠ΅Π΄" -#: gitk:11450 +#: gitk:11483 msgid "Select bg" msgstr "ΠΠ·Π±ΠΎΡ Π½Π° ΡΠΎΠ½" -#: gitk:11459 +#: gitk:11492 msgid "Fonts: press to choose" msgstr "Π¨ΡΠΈΡΡΠΎΠ²Π΅: ΠΈΠ·Π±ΠΈΡΠ° ΡΠ΅ Ρ Π½Π°ΡΠΈΡΠΊΠ°Π½Π΅" -#: gitk:11461 +#: gitk:11494 msgid "Main font" msgstr "ΠΡΠ½ΠΎΠ²Π΅Π½ ΡΡΠΈΡΡ" -#: gitk:11462 +#: gitk:11495 msgid "Diff display font" msgstr "Π¨ΡΠΈΡΡ Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠΈΡΠ΅" -#: gitk:11463 +#: gitk:11496 msgid "User interface font" msgstr "Π¨ΡΠΈΡΡ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°" -#: gitk:11485 +#: gitk:11518 msgid "Gitk preferences" msgstr "ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° Gitk" -#: gitk:11494 +#: gitk:11527 msgid "General" msgstr "ΠΠ±ΡΠΈ" -#: gitk:11495 +#: gitk:11528 msgid "Colors" msgstr "Π¦Π²Π΅ΡΠΎΠ²Π΅" -#: gitk:11496 +#: gitk:11529 msgid "Fonts" msgstr "Π¨ΡΠΈΡΡΠΎΠ²Π΅" -#: gitk:11546 +#: gitk:11579 #, tcl-format msgid "Gitk: choose color for %s" msgstr "Gitk: ΠΈΠ·Π±ΠΎΡ Π½Π° ΡΠ²ΡΡ Π½Π° β%sβ" -#: gitk:12059 +#: gitk:12092 msgid "" "Sorry, gitk cannot run with this version of Tcl/Tk.\n" " Gitk requires at least Tcl/Tk 8.4." @@ -1351,15 +1367,15 @@ msgstr "" "Π’Π°Π·ΠΈ Π²Π΅ΡΡΠΈΡ Π½Π° Tcl/Tk Π½Π΅ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΎΡ Gitk.\n" " ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠ° Π²ΠΈ Π΅ ΠΏΠΎΠ½Π΅ Tcl/Tk 8.4." -#: gitk:12269 +#: gitk:12302 msgid "Cannot find a git repository here." msgstr "Π’ΡΠΊ Π»ΠΈΠΏΡΠ²Π° Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π½Π° Git." -#: gitk:12316 +#: gitk:12349 #, tcl-format msgid "Ambiguous argument '%s': both revision and filename" msgstr "ΠΠ΅Π΅Π΄Π½ΠΎΠ·Π½Π°ΡΠ΅Π½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ β%sβ: ΠΈΠΌΠ° ΠΈ ΡΠ°ΠΊΠ°Π²Π° Π²Π΅ΡΡΠΈΡ, ΠΈ ΡΠ°ΠΊΡΠ² ΡΠ°ΠΉΠ»" -#: gitk:12328 +#: gitk:12361 msgid "Bad arguments to gitk:" msgstr "ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ Π½Π° gitk:" diff --git a/gitk-git/po/de.po b/gitk-git/po/de.po index d9ba4052e2..bde749ed8a 100644 --- a/gitk-git/po/de.po +++ b/gitk-git/po/de.po @@ -23,11 +23,11 @@ msgstr "Liste der nicht zusammengefΓΌhrten Dateien nicht gefunden:" #: gitk:212 gitk:2381 msgid "Color words" -msgstr "" +msgstr "WΓΆrter einfΓ€rben" #: gitk:217 gitk:2381 gitk:8220 gitk:8253 msgid "Markup words" -msgstr "" +msgstr "WΓΆrter kennzeichnen" #: gitk:324 msgid "Error parsing revisions:" @@ -187,7 +187,7 @@ msgstr "Γnderungen:" #: gitk:2304 gitk:4779 msgid "changing lines matching:" -msgstr "" +msgstr "GeΓ€nderte Zeilen entsprechen:" #: gitk:2313 gitk:2315 gitk:4766 msgid "Exact" @@ -248,7 +248,7 @@ msgstr "LeerzeichenΓ€nderungen ignorieren" #: gitk:2378 gitk:2380 gitk:7959 gitk:8206 msgid "Line diff" -msgstr "" +msgstr "Zeilenunterschied" #: gitk:2445 msgid "Patch" @@ -307,19 +307,16 @@ msgid "Compare with marked commit" msgstr "Mit Lesezeichen vergleichen" #: gitk:2629 gitk:2640 -#, fuzzy msgid "Diff this -> marked commit" -msgstr "Vergleich: diese -> gewΓ€hlte" +msgstr "Vergleich: diese -> gewΓ€hlte Version" #: gitk:2630 gitk:2641 -#, fuzzy msgid "Diff marked commit -> this" -msgstr "Vergleich: gewΓ€hlte -> diese" +msgstr "Vergleich: gewΓ€hlte -> diese Version" #: gitk:2631 -#, fuzzy msgid "Revert this commit" -msgstr "Lesezeichen setzen" +msgstr "Version umkehren" #: gitk:2647 msgid "Check out this branch" @@ -331,7 +328,7 @@ msgstr "Zweig lΓΆschen" #: gitk:2649 msgid "Copy branch name" -msgstr "" +msgstr "Zweigname kopieren" #: gitk:2656 msgid "Highlight this too" @@ -351,7 +348,7 @@ msgstr "Annotieren der Elternversion" #: gitk:2660 msgid "Copy path" -msgstr "" +msgstr "Pfad kopieren" #: gitk:2667 msgid "Show origin of this line" @@ -362,7 +359,6 @@ msgid "Run git gui blame on this line" msgstr "Diese Zeile annotieren (Β»git gui blameΒ«)" #: gitk:3014 -#, fuzzy msgid "" "\n" "Gitk - a commit viewer for git\n" @@ -374,7 +370,7 @@ msgstr "" "\n" "Gitk - eine Visualisierung der Git-Historie\n" "\n" -"Copyright \\u00a9 2005-2010 Paul Mackerras\n" +"Copyright \\u00a9 2005-2014 Paul Mackerras\n" "\n" "Benutzung und Weiterverbreitung gemÀà den Bedingungen der GNU General Public " "License" @@ -397,9 +393,9 @@ msgid "<%s-Q>\t\tQuit" msgstr "<%s-Q>\t\tBeenden" #: gitk:3049 -#, fuzzy, tcl-format +#, tcl-format msgid "<%s-W>\t\tClose window" -msgstr "<%s-F>\t\tSuchen" +msgstr "<%s-F>\t\tFenster schlieΓen" #: gitk:3050 msgid "<Home>\t\tMove to first commit" @@ -410,19 +406,16 @@ msgid "<End>\t\tMove to last commit" msgstr "<Ende>\t\tZur Γ€ltesten Version springen" #: gitk:3052 -#, fuzzy msgid "<Up>, p, k\tMove up one commit" -msgstr "<Hoch>, p, i\tNΓ€chste neuere Version" +msgstr "<Hoch>, p, k\tNΓ€chste neuere Version" #: gitk:3053 -#, fuzzy msgid "<Down>, n, j\tMove down one commit" -msgstr "<Runter>, n, k\tNΓ€chste Γ€ltere Version" +msgstr "<Runter>, n, j\tNΓ€chste Γ€ltere Version" #: gitk:3054 -#, fuzzy msgid "<Left>, z, h\tGo back in history list" -msgstr "<Links>, z, j\tEine Version zurΓΌckgehen" +msgstr "<Links>, z, h\tEine Version zurΓΌckgehen" #: gitk:3055 msgid "<Right>, x, l\tGo forward in history list" @@ -431,7 +424,7 @@ msgstr "<Rechts>, x, l\tEine Version weitergehen" #: gitk:3056 #, tcl-format msgid "<%s-n>\tGo to n-th parent of current commit in history list" -msgstr "" +msgstr "<%s-n>\tZu n-ter Elternversion in Versionshistorie springen" #: gitk:3057 msgid "<PageUp>\tMove up one page in commit list" @@ -514,9 +507,8 @@ msgid "<Return>\tMove to next find hit" msgstr "<Eingabetaste>\tWeitersuchen" #: gitk:3075 -#, fuzzy msgid "g\t\tGo to commit" -msgstr "<Ende>\t\tZur Γ€ltesten Version springen" +msgstr "g\t\tZu Version springen" #: gitk:3076 msgid "/\t\tFocus the search box" @@ -673,9 +665,8 @@ msgid "Matches all Commit Info criteria" msgstr "Alle Versionsinformationen-Kriterien erfΓΌllen" #: gitk:4086 -#, fuzzy msgid "Matches no Commit Info criteria" -msgstr "Alle Versionsinformationen-Kriterien erfΓΌllen" +msgstr "keine Versionsinformationen-Kriterien erfΓΌllen" #: gitk:4087 msgid "Changes to Files:" @@ -802,7 +793,7 @@ msgstr "Lokale Γnderungen, nicht bereitgestellt" #: gitk:7134 msgid "and many more" -msgstr "" +msgstr "und weitere" #: gitk:7137 msgid "many" @@ -1066,34 +1057,31 @@ msgid "No changes committed" msgstr "Keine Γnderungen eingetragen" #: gitk:9593 -#, fuzzy, tcl-format +#, tcl-format msgid "Commit %s is not included in branch %s -- really revert it?" msgstr "" -"Version Β»%sΒ« ist bereits im Zweig Β»%sΒ« enthalten -- trotzdem erneut " -"eintragen?" +"Version Β»%sΒ« ist nicht im Zweig Β»%sΒ« enthalten -- trotzdem umkehren?" #: gitk:9598 -#, fuzzy msgid "Reverting" -msgstr "ZurΓΌcksetzen" +msgstr "Umkehren" #: gitk:9606 -#, fuzzy, tcl-format +#, tcl-format msgid "" "Revert failed because of local changes to the following files:%s Please " "commit, reset or stash your changes and try again." msgstr "" -"PflΓΌcken fehlgeschlagen, da noch lokale Γnderungen in Datei Β»%sΒ«\n" +"Umkehren fehlgeschlagen, da noch lokale Γnderungen in Datei Β»%sΒ«\n" "vorliegen. Bitte diese Γnderungen eintragen, zurΓΌcksetzen oder\n" "zwischenspeichern (Β»git stashΒ«) und dann erneut versuchen." #: gitk:9610 -#, fuzzy msgid "" "Revert failed because of merge conflict.\n" " Do you wish to run git citool to resolve it?" msgstr "" -"PflΓΌcken fehlgeschlagen, da ein ZusammenfΓΌhrungs-Konflikt aufgetreten\n" +"Umkehren fehlgeschlagen, da ein ZusammenfΓΌhrungs-Konflikt aufgetreten\n" "ist. Soll das ZusammenfΓΌhrungs-Werkzeug (Β»git citoolΒ«) aufgerufen\n" "werden, um diesen Konflikt aufzulΓΆsen?" @@ -1206,9 +1194,8 @@ msgid "Show local changes" msgstr "Lokale Γnderungen anzeigen" #: gitk:11361 -#, fuzzy msgid "Auto-select SHA1 (length)" -msgstr "SHA1-Hashwert automatisch auswΓ€hlen" +msgstr "SHA1-Hashwert (LΓ€nge) automatisch auswΓ€hlen" #: gitk:11365 msgid "Hide remote refs" @@ -1223,13 +1210,12 @@ msgid "Tab spacing" msgstr "Tabulatorbreite" #: gitk:11374 -#, fuzzy msgid "Display nearby tags/heads" -msgstr "Naheliegende Markierungen anzeigen" +msgstr "Naheliegende Markierungen/Zweigspitzen anzeigen" #: gitk:11377 msgid "Maximum # tags/heads to show" -msgstr "" +msgstr "Maximale Anzahl anzuzeigender Markierungen/Zweigspitzen" #: gitk:11380 msgid "Limit diffs to listed paths" @@ -1348,17 +1334,16 @@ msgid "Gitk preferences" msgstr "Gitk-Einstellungen" #: gitk:11494 -#, fuzzy msgid "General" -msgstr "Erzeugen" +msgstr "Allgemein" #: gitk:11495 msgid "Colors" -msgstr "" +msgstr "Farben" #: gitk:11496 msgid "Fonts" -msgstr "" +msgstr "Schriftarten" #: gitk:11546 #, tcl-format @@ -1370,6 +1355,8 @@ msgid "" "Sorry, gitk cannot run with this version of Tcl/Tk.\n" " Gitk requires at least Tcl/Tk 8.4." msgstr "" +"Entschuldigung, gitk kann nicht mit dieser Tcl/Tk Version ausgefΓΌhrt werden.\n" +" Gitk erfordert mindestens Tcl/Tk 8.4." #: gitk:12269 msgid "Cannot find a git repository here." diff --git a/gitk-git/po/fr.po b/gitk-git/po/fr.po index 80f72fb453..c44f994fa5 100644 --- a/gitk-git/po/fr.po +++ b/gitk-git/po/fr.po @@ -3,14 +3,14 @@ # This file is distributed under the same license as the gitk package. # Translators: # Emmanuel Trillaud <etrillaud@gmail.com> -# +# Jean-NoΓ«l Avila <jn.avila@free.fr> msgid "" msgstr "" "Project-Id-Version: gitk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-05-17 14:32+1000\n" -"PO-Revision-Date: 2009-11-19 22:13+0100\n" -"Last-Translator: Emmanuel Trillaud <etrillaud@gmail.com>\n" +"POT-Creation-Date: 2016-01-22 22:04+0100\n" +"PO-Revision-Date: 2016-01-22 23:28+0100\n" +"Last-Translator: Jean-NoΓ«l Avila <jn.avila@free.fr>\n" "Language-Team: git@vger.kernel.org\n" "Language: \n" "MIME-Version: 1.0\n" @@ -23,13 +23,13 @@ msgstr "" msgid "Couldn't get list of unmerged files:" msgstr "Impossible de rΓ©cupΓ©rer la liste des fichiers non fusionnΓ©s :" -#: gitk:212 gitk:2381 +#: gitk:212 gitk:2399 msgid "Color words" -msgstr "" +msgstr "Colorier les mots diffΓ©rents" -#: gitk:217 gitk:2381 gitk:8220 gitk:8253 +#: gitk:217 gitk:2399 gitk:8239 gitk:8272 msgid "Markup words" -msgstr "" +msgstr "Marquer les mots diffΓ©rents" #: gitk:324 msgid "Error parsing revisions:" @@ -47,13 +47,10 @@ msgstr "" # FIXME : amΓ©liorer la traduction de 'file limite' #: gitk:396 -#, fuzzy msgid "" "No files selected: --merge specified but no unmerged files are within file " "limit." -msgstr "" -"Aucun fichier sΓ©lectionnΓ© : --merge prΓ©cisΓ© mais aucun fichier non fusionnΓ© " -"n'est dans la limite des fichiers." +msgstr "Aucun fichier sΓ©lectionnΓ© : --merge prΓ©cisΓ© mais aucun fichier non fusionnΓ© n'est dans la limite des fichiers." #: gitk:418 gitk:566 msgid "Error executing git log:" @@ -63,15 +60,15 @@ msgstr "Erreur Γ l'exΓ©cution de git log :" msgid "Reading" msgstr "Lecture en cours" -#: gitk:496 gitk:4525 +#: gitk:496 gitk:4544 msgid "Reading commits..." msgstr "Lecture des commits..." -#: gitk:499 gitk:1637 gitk:4528 +#: gitk:499 gitk:1637 gitk:4547 msgid "No commits selected" msgstr "Aucun commit sΓ©lectionnΓ©" -#: gitk:1445 gitk:4045 gitk:12432 +#: gitk:1445 gitk:4064 gitk:12469 msgid "Command line" msgstr "Ligne de commande" @@ -83,290 +80,294 @@ msgstr "Impossible de lire la sortie de git log :" msgid "No commit information available" msgstr "Aucune information disponible sur le commit" -#: gitk:1903 gitk:1932 gitk:4315 gitk:9669 gitk:11241 gitk:11521 +#: gitk:1903 gitk:1932 gitk:4334 gitk:9702 gitk:11274 gitk:11554 msgid "OK" msgstr "OK" -#: gitk:1934 gitk:4317 gitk:9196 gitk:9275 gitk:9391 gitk:9440 gitk:9671 -#: gitk:11242 gitk:11522 +#: gitk:1934 gitk:4336 gitk:9215 gitk:9294 gitk:9424 gitk:9473 gitk:9704 +#: gitk:11275 gitk:11555 msgid "Cancel" msgstr "Annuler" -#: gitk:2069 +#: gitk:2083 msgid "&Update" msgstr "Mise Γ jour" -#: gitk:2070 +#: gitk:2084 msgid "&Reload" -msgstr "Recharger" +msgstr "&Recharger" -#: gitk:2071 +#: gitk:2085 msgid "Reread re&ferences" -msgstr "Relire les rΓ©fΓ©rences" +msgstr "Relire les rΓ©&fΓ©rences" -#: gitk:2072 +#: gitk:2086 msgid "&List references" -msgstr "Lister les rΓ©fΓ©rences" +msgstr "&Lister les rΓ©fΓ©rences" -#: gitk:2074 +#: gitk:2088 msgid "Start git &gui" -msgstr "DΓ©marrer git gui" +msgstr "DΓ©marrer git &gui" -#: gitk:2076 +#: gitk:2090 msgid "&Quit" -msgstr "Quitter" +msgstr "&Quitter" -#: gitk:2068 +#: gitk:2082 msgid "&File" -msgstr "Fichier" +msgstr "&Fichier" -#: gitk:2080 +#: gitk:2094 msgid "&Preferences" msgstr "PrΓ©fΓ©rences" -#: gitk:2079 +#: gitk:2093 msgid "&Edit" -msgstr "Γditer" +msgstr "&Γditer" -#: gitk:2084 +#: gitk:2098 msgid "&New view..." -msgstr "Nouvelle vue..." +msgstr "&Nouvelle vue..." -#: gitk:2085 +#: gitk:2099 msgid "&Edit view..." -msgstr "Γditer la vue..." +msgstr "&Γditer la vue..." -#: gitk:2086 +#: gitk:2100 msgid "&Delete view" msgstr "Supprimer la vue" -#: gitk:2088 gitk:4043 +#: gitk:2102 msgid "&All files" msgstr "Tous les fichiers" -#: gitk:2083 gitk:4067 +#: gitk:2097 msgid "&View" -msgstr "Vue" +msgstr "&Vue" -#: gitk:2093 gitk:2103 gitk:3012 +#: gitk:2107 gitk:2117 msgid "&About gitk" msgstr "Γ propos de gitk" -#: gitk:2094 gitk:2108 +#: gitk:2108 gitk:2122 msgid "&Key bindings" msgstr "Raccourcis clavier" -#: gitk:2092 gitk:2107 +#: gitk:2106 gitk:2121 msgid "&Help" msgstr "Aide" -#: gitk:2185 gitk:8652 +#: gitk:2199 gitk:8671 msgid "SHA1 ID:" msgstr "Id SHA1 :" -#: gitk:2229 +#: gitk:2243 msgid "Row" msgstr "Colonne" -#: gitk:2267 +#: gitk:2281 msgid "Find" msgstr "Recherche" -#: gitk:2295 +#: gitk:2309 msgid "commit" msgstr "commit" -#: gitk:2299 gitk:2301 gitk:4687 gitk:4710 gitk:4734 gitk:6755 gitk:6827 -#: gitk:6912 +#: gitk:2313 gitk:2315 gitk:4706 gitk:4729 gitk:4753 gitk:6774 gitk:6846 +#: gitk:6931 msgid "containing:" msgstr "contient :" -#: gitk:2302 gitk:3526 gitk:3531 gitk:4763 +#: gitk:2316 gitk:3545 gitk:3550 gitk:4782 msgid "touching paths:" msgstr "chemins modifiΓ©s :" -#: gitk:2303 gitk:4777 +#: gitk:2317 gitk:4796 msgid "adding/removing string:" msgstr "ajoute/supprime la chaΓne :" -#: gitk:2304 gitk:4779 +#: gitk:2318 gitk:4798 msgid "changing lines matching:" -msgstr "" +msgstr "modifie les lignes vΓ©rifiantΒ :" -#: gitk:2313 gitk:2315 gitk:4766 +#: gitk:2327 gitk:2329 gitk:4785 msgid "Exact" msgstr "Exact" -#: gitk:2315 gitk:4854 gitk:6723 +#: gitk:2329 gitk:4873 gitk:6742 msgid "IgnCase" msgstr "Ignorer la casse" -#: gitk:2315 gitk:4736 gitk:4852 gitk:6719 +#: gitk:2329 gitk:4755 gitk:4871 gitk:6738 msgid "Regexp" msgstr "Expression rΓ©guliΓ¨re" -#: gitk:2317 gitk:2318 gitk:4874 gitk:4904 gitk:4911 gitk:6848 gitk:6916 +#: gitk:2331 gitk:2332 gitk:4893 gitk:4923 gitk:4930 gitk:6867 gitk:6935 msgid "All fields" msgstr "Tous les champs" -#: gitk:2318 gitk:4871 gitk:4904 gitk:6786 +#: gitk:2332 gitk:4890 gitk:4923 gitk:6805 msgid "Headline" -msgstr "Surligner" +msgstr "Titre" -#: gitk:2319 gitk:4871 gitk:6786 gitk:6916 gitk:7389 +#: gitk:2333 gitk:4890 gitk:6805 gitk:6935 gitk:7408 msgid "Comments" msgstr "Commentaires" -#: gitk:2319 gitk:4871 gitk:4876 gitk:4911 gitk:6786 gitk:7324 gitk:8830 -#: gitk:8845 +#: gitk:2333 gitk:4890 gitk:4895 gitk:4930 gitk:6805 gitk:7343 gitk:8849 +#: gitk:8864 msgid "Author" msgstr "Auteur" -#: gitk:2319 gitk:4871 gitk:6786 gitk:7326 +#: gitk:2333 gitk:4890 gitk:6805 gitk:7345 msgid "Committer" -msgstr "Auteur du commit" +msgstr "Validateur" -#: gitk:2350 +#: gitk:2367 msgid "Search" msgstr "Rechercher" -#: gitk:2358 +#: gitk:2375 msgid "Diff" msgstr "Diff" -#: gitk:2360 +#: gitk:2377 msgid "Old version" msgstr "Ancienne version" -#: gitk:2362 +#: gitk:2379 msgid "New version" msgstr "Nouvelle version" -#: gitk:2364 +#: gitk:2382 msgid "Lines of context" msgstr "Lignes de contexte" -#: gitk:2374 +#: gitk:2392 msgid "Ignore space change" msgstr "Ignorer les modifications d'espace" -#: gitk:2378 gitk:2380 gitk:7959 gitk:8206 +#: gitk:2396 gitk:2398 gitk:7978 gitk:8225 msgid "Line diff" -msgstr "" +msgstr "diffΓ©rence par ligne" -#: gitk:2445 +#: gitk:2463 msgid "Patch" msgstr "Patch" -#: gitk:2447 +#: gitk:2465 msgid "Tree" msgstr "Arbre" -#: gitk:2617 gitk:2637 +#: gitk:2635 gitk:2656 msgid "Diff this -> selected" -msgstr "Diff entre ceci et la sΓ©lection" +msgstr "Diff ceci -> la sΓ©lection" -#: gitk:2618 gitk:2638 +#: gitk:2636 gitk:2657 msgid "Diff selected -> this" -msgstr "Diff entre sΓ©lection et ceci" +msgstr "Diff sΓ©lection -> ceci" -#: gitk:2619 gitk:2639 +#: gitk:2637 gitk:2658 msgid "Make patch" msgstr "CrΓ©er patch" -#: gitk:2620 gitk:9254 +#: gitk:2638 gitk:9273 msgid "Create tag" -msgstr "CrΓ©er tag" +msgstr "CrΓ©er Γ©tiquette" + +#: gitk:2639 +msgid "Copy commit summary" +msgstr "CopiΓ© le rΓ©sumΓ© du commit" -#: gitk:2621 gitk:9371 +#: gitk:2640 gitk:9404 msgid "Write commit to file" msgstr "Γcrire le commit dans un fichier" -#: gitk:2622 gitk:9428 +#: gitk:2641 gitk:9461 msgid "Create new branch" msgstr "CrΓ©er une nouvelle branche" -#: gitk:2623 +#: gitk:2642 msgid "Cherry-pick this commit" msgstr "Cueillir (cherry-pick) ce commit" -#: gitk:2624 +#: gitk:2643 msgid "Reset HEAD branch to here" msgstr "RΓ©initialiser la branche HEAD vers cet Γ©tat" -#: gitk:2625 +#: gitk:2644 msgid "Mark this commit" msgstr "Marquer ce commit" -#: gitk:2626 +#: gitk:2645 msgid "Return to mark" msgstr "Retourner Γ la marque" -#: gitk:2627 +#: gitk:2646 msgid "Find descendant of this and mark" msgstr "Chercher le descendant de ceci et le marquer" -#: gitk:2628 +#: gitk:2647 msgid "Compare with marked commit" msgstr "Comparer avec le commit marquΓ©" -#: gitk:2629 gitk:2640 -#, fuzzy +#: gitk:2648 gitk:2659 msgid "Diff this -> marked commit" -msgstr "Diff entre ceci et la sΓ©lection" +msgstr "Diff ceci -> sΓ©lection" -#: gitk:2630 gitk:2641 -#, fuzzy +#: gitk:2649 gitk:2660 msgid "Diff marked commit -> this" -msgstr "Diff entre sΓ©lection et ceci" +msgstr "Diff entre sΓ©lection -> ceci" -#: gitk:2631 -#, fuzzy +#: gitk:2650 msgid "Revert this commit" -msgstr "Marquer ce commit" +msgstr "DΓ©faire ce commit" -#: gitk:2647 +#: gitk:2666 msgid "Check out this branch" msgstr "RΓ©cupΓ©rer cette branche" -#: gitk:2648 +#: gitk:2667 msgid "Remove this branch" msgstr "Supprimer cette branche" -#: gitk:2649 +#: gitk:2668 msgid "Copy branch name" -msgstr "" +msgstr "Copier la nom de la branche" -#: gitk:2656 +#: gitk:2675 msgid "Highlight this too" msgstr "Surligner Γ©galement ceci" -#: gitk:2657 +#: gitk:2676 msgid "Highlight this only" msgstr "Surligner seulement ceci" -#: gitk:2658 +#: gitk:2677 msgid "External diff" msgstr "Diff externe" -#: gitk:2659 +#: gitk:2678 msgid "Blame parent commit" msgstr "BlΓ’mer le commit parent" -#: gitk:2660 +#: gitk:2679 msgid "Copy path" -msgstr "" +msgstr "Copier le chemin" -#: gitk:2667 +#: gitk:2686 msgid "Show origin of this line" msgstr "Montrer l'origine de cette ligne" -#: gitk:2668 +#: gitk:2687 msgid "Run git gui blame on this line" msgstr "ExΓ©cuter git gui blame sur cette ligne" -#: gitk:3014 -#, fuzzy +#: gitk:3031 +msgid "About gitk" +msgstr "Γ propos de gitk" + +#: gitk:3033 msgid "" "\n" "Gitk - a commit viewer for git\n" @@ -378,327 +379,329 @@ msgstr "" "\n" "Gitk - visualisateur de commit pour git\n" "\n" -"Copyright \\u00a9 2005-2010 Paul Mackerras\n" +"Copyright \\u00a9 2005-2014 Paul Mackerras\n" "\n" -"Utilisation et redistribution soumises aux termes de la GNU General Public " -"License" +"Utilisation et redistribution soumises aux termes de la GNU General Public License" -#: gitk:3022 gitk:3089 gitk:9857 +#: gitk:3041 gitk:3108 gitk:9890 msgid "Close" msgstr "Fermer" -#: gitk:3043 +#: gitk:3062 msgid "Gitk key bindings" msgstr "Raccourcis clavier de Gitk" -#: gitk:3046 +#: gitk:3065 msgid "Gitk key bindings:" msgstr "Raccourcis clavier de Gitk :" -#: gitk:3048 +#: gitk:3067 #, tcl-format msgid "<%s-Q>\t\tQuit" msgstr "<%s-Q>\t\tQuitter" -#: gitk:3049 -#, fuzzy, tcl-format +#: gitk:3068 +#, tcl-format msgid "<%s-W>\t\tClose window" -msgstr "<%s-F>\t\tRechercher" +msgstr "<%s-W>\t\tFermer la fenΓͺtre" -#: gitk:3050 +#: gitk:3069 msgid "<Home>\t\tMove to first commit" msgstr "<DΓ©but>\t\tAller au premier commit" -#: gitk:3051 +#: gitk:3070 msgid "<End>\t\tMove to last commit" msgstr "<Fin>\t\tAller au dernier commit" -#: gitk:3052 -#, fuzzy +#: gitk:3071 msgid "<Up>, p, k\tMove up one commit" -msgstr "<Haut>, p, i\t Aller au commit suivant" +msgstr "<Haut>, p, k\t Aller au commit prΓ©cΓ©dent" -#: gitk:3053 -#, fuzzy +#: gitk:3072 msgid "<Down>, n, j\tMove down one commit" -msgstr "<Bas>, n, k\t Aller au commit prΓ©cΓ©dent" +msgstr "<Bas>, n, j\t Aller au commit suivant" -#: gitk:3054 -#, fuzzy +#: gitk:3073 msgid "<Left>, z, h\tGo back in history list" -msgstr "<Gauche>, z, j\tReculer dans l'historique" +msgstr "<Gauche>, z, h\tReculer dans l'historique" -#: gitk:3055 +#: gitk:3074 msgid "<Right>, x, l\tGo forward in history list" msgstr "<Droite>, x, l\tAvancer dans l'historique" -#: gitk:3056 +#: gitk:3075 #, tcl-format msgid "<%s-n>\tGo to n-th parent of current commit in history list" -msgstr "" +msgstr "<%s-n>\tAller sur le n-iΓ¨me parent du commit dans l'historique" -#: gitk:3057 +#: gitk:3076 msgid "<PageUp>\tMove up one page in commit list" msgstr "<PageUp>\tMonter d'une page dans la liste des commits" -#: gitk:3058 +#: gitk:3077 msgid "<PageDown>\tMove down one page in commit list" msgstr "<PageDown>\tDescendre d'une page dans la liste des commits" -#: gitk:3059 +#: gitk:3078 #, tcl-format msgid "<%s-Home>\tScroll to top of commit list" msgstr "<%s-DΓ©but>\tAller en haut de la liste des commits" -#: gitk:3060 +#: gitk:3079 #, tcl-format msgid "<%s-End>\tScroll to bottom of commit list" msgstr "<%s-End>\tAller en bas de la liste des commits" -#: gitk:3061 +#: gitk:3080 #, tcl-format msgid "<%s-Up>\tScroll commit list up one line" msgstr "<%s-Up>\tMonter d'une ligne dans la liste des commits" -#: gitk:3062 +#: gitk:3081 #, tcl-format msgid "<%s-Down>\tScroll commit list down one line" msgstr "<%s-Down>\tDescendre d'une ligne dans la liste des commits" -#: gitk:3063 +#: gitk:3082 #, tcl-format msgid "<%s-PageUp>\tScroll commit list up one page" msgstr "<%s-PageUp>\tMonter d'une page dans la liste des commits" -#: gitk:3064 +#: gitk:3083 #, tcl-format msgid "<%s-PageDown>\tScroll commit list down one page" msgstr "<%s-PageDown>\tDescendre d'une page dans la liste des commits" -#: gitk:3065 +#: gitk:3084 msgid "<Shift-Up>\tFind backwards (upwards, later commits)" msgstr "" "<Shift-Up>\tRecherche en arriΓ¨re (vers l'avant, commits les plus anciens)" -#: gitk:3066 +#: gitk:3085 msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)" msgstr "" "<Shift-Down>\tRecherche en avant (vers l'arriΓ¨re, commit les plus rΓ©cents)" -#: gitk:3067 +#: gitk:3086 msgid "<Delete>, b\tScroll diff view up one page" msgstr "<Supprimer>, b\tMonter d'une page dans la vue des diff" -#: gitk:3068 +#: gitk:3087 msgid "<Backspace>\tScroll diff view up one page" msgstr "<Backspace>\tMonter d'une page dans la vue des diff" -#: gitk:3069 +#: gitk:3088 msgid "<Space>\t\tScroll diff view down one page" msgstr "<Espace>\t\tDescendre d'une page dans la vue des diff" -#: gitk:3070 +#: gitk:3089 msgid "u\t\tScroll diff view up 18 lines" msgstr "u\t\tMonter de 18 lignes dans la vue des diff" -#: gitk:3071 +#: gitk:3090 msgid "d\t\tScroll diff view down 18 lines" msgstr "d\t\tDescendre de 18 lignes dans la vue des diff" -#: gitk:3072 +#: gitk:3091 #, tcl-format msgid "<%s-F>\t\tFind" msgstr "<%s-F>\t\tRechercher" -#: gitk:3073 +#: gitk:3092 #, tcl-format msgid "<%s-G>\t\tMove to next find hit" msgstr "<%s-G>\t\tAller au rΓ©sultat de recherche suivant" -#: gitk:3074 +#: gitk:3093 msgid "<Return>\tMove to next find hit" msgstr "<Return>\t\tAller au rΓ©sultat de recherche suivant" -#: gitk:3075 -#, fuzzy +#: gitk:3094 msgid "g\t\tGo to commit" -msgstr "<Fin>\t\tAller au dernier commit" +msgstr "g\t\tAller au commit" -#: gitk:3076 +#: gitk:3095 msgid "/\t\tFocus the search box" msgstr "/\t\tFocus sur la zone de recherche" -#: gitk:3077 +#: gitk:3096 msgid "?\t\tMove to previous find hit" msgstr "?\t\tAller au rΓ©sultat de recherche prΓ©cΓ©dent" -#: gitk:3078 +#: gitk:3097 msgid "f\t\tScroll diff view to next file" msgstr "f\t\tAller au prochain fichier dans la vue des diff" -#: gitk:3079 +#: gitk:3098 #, tcl-format msgid "<%s-S>\t\tSearch for next hit in diff view" msgstr "<%s-S>\t\tAller au rΓ©sultat suivant dans la vue des diff" -#: gitk:3080 +#: gitk:3099 #, tcl-format msgid "<%s-R>\t\tSearch for previous hit in diff view" msgstr "<%s-R>\t\tAller au rΓ©sultat prΓ©cΓ©dent dans la vue des diff" -#: gitk:3081 +#: gitk:3100 #, tcl-format msgid "<%s-KP+>\tIncrease font size" msgstr "<%s-KP+>\tAugmenter la taille de la police" -#: gitk:3082 +#: gitk:3101 #, tcl-format msgid "<%s-plus>\tIncrease font size" msgstr "<%s-plus>\tAugmenter la taille de la police" -#: gitk:3083 +#: gitk:3102 #, tcl-format msgid "<%s-KP->\tDecrease font size" msgstr "<%s-KP->\tDiminuer la taille de la police" -#: gitk:3084 +#: gitk:3103 #, tcl-format msgid "<%s-minus>\tDecrease font size" msgstr "<%s-minus>\tDiminuer la taille de la police" -#: gitk:3085 +#: gitk:3104 msgid "<F5>\t\tUpdate" msgstr "<F5>\t\tMise Γ jour" -#: gitk:3550 gitk:3559 +#: gitk:3569 gitk:3578 #, tcl-format msgid "Error creating temporary directory %s:" msgstr "Erreur lors de la crΓ©ation du rΓ©pertoire temporaire %s :" -#: gitk:3572 +#: gitk:3591 #, tcl-format msgid "Error getting \"%s\" from %s:" msgstr "Erreur en obtenant \"%s\" de %s:" -#: gitk:3635 +#: gitk:3654 msgid "command failed:" msgstr "Γ©chec de la commande :" -#: gitk:3784 +#: gitk:3803 msgid "No such commit" msgstr "Commit inexistant" -#: gitk:3798 +#: gitk:3817 msgid "git gui blame: command failed:" msgstr "git gui blame : Γ©chec de la commande :" -#: gitk:3829 +#: gitk:3848 #, tcl-format msgid "Couldn't read merge head: %s" msgstr "Impossible de lire le head de la fusion : %s" -#: gitk:3837 +#: gitk:3856 #, tcl-format msgid "Error reading index: %s" msgstr "Erreur Γ la lecture de l'index : %s" -#: gitk:3862 +#: gitk:3881 #, tcl-format msgid "Couldn't start git blame: %s" msgstr "Impossible de dΓ©marrer git blame : %s" -#: gitk:3865 gitk:6754 +#: gitk:3884 gitk:6773 msgid "Searching" msgstr "Recherche en cours" -#: gitk:3897 +#: gitk:3916 #, tcl-format msgid "Error running git blame: %s" msgstr "Erreur Γ l'exΓ©cution de git blame : %s" -#: gitk:3925 +#: gitk:3944 #, tcl-format msgid "That line comes from commit %s, which is not in this view" msgstr "Cette ligne est issue du commit %s, qui n'est pas dans cette vue" -#: gitk:3939 +#: gitk:3958 msgid "External diff viewer failed:" -msgstr "Γchec de l'outil externe de visualisation des diff" +msgstr "Γchec de l'outil externe de visualisation des diffΒ :" + +#: gitk:4062 +msgid "All files" +msgstr "Tous les fichiers" -#: gitk:4070 +#: gitk:4086 +msgid "View" +msgstr "Vue" + +#: gitk:4089 msgid "Gitk view definition" msgstr "DΓ©finition des vues de Gitk" -#: gitk:4074 +#: gitk:4093 msgid "Remember this view" msgstr "Se souvenir de cette vue" -#: gitk:4075 +#: gitk:4094 msgid "References (space separated list):" msgstr "RΓ©fΓ©rences (liste d'Γ©lΓ©ments sΓ©parΓ©s par des espaces) :" -#: gitk:4076 +#: gitk:4095 msgid "Branches & tags:" -msgstr "Branches & tags :" +msgstr "Branches & Γ©tiquettes :" -#: gitk:4077 +#: gitk:4096 msgid "All refs" msgstr "Toutes les rΓ©fΓ©rences" -#: gitk:4078 +#: gitk:4097 msgid "All (local) branches" msgstr "Toutes les branches (locales)" -#: gitk:4079 +#: gitk:4098 msgid "All tags" -msgstr "Tous les tags" +msgstr "Toutes les Γ©tiquettes" -#: gitk:4080 +#: gitk:4099 msgid "All remote-tracking branches" msgstr "Toutes les branches de suivi Γ distance" -#: gitk:4081 +#: gitk:4100 msgid "Commit Info (regular expressions):" msgstr "Info sur les commits (expressions rΓ©guliΓ¨res) :" -#: gitk:4082 +#: gitk:4101 msgid "Author:" msgstr "Auteur :" -#: gitk:4083 +#: gitk:4102 msgid "Committer:" -msgstr "Commiteur :" +msgstr "Validateur :" -#: gitk:4084 +#: gitk:4103 msgid "Commit Message:" msgstr "Message de commit :" -#: gitk:4085 +#: gitk:4104 msgid "Matches all Commit Info criteria" msgstr "Correspond Γ tous les critΓ¨res d'Info sur les commits" -#: gitk:4086 -#, fuzzy +#: gitk:4105 msgid "Matches no Commit Info criteria" -msgstr "Correspond Γ tous les critΓ¨res d'Info sur les commits" +msgstr "Ne correspond Γ aucun des critΓ¨res d'Info sur les commits" -#: gitk:4087 +#: gitk:4106 msgid "Changes to Files:" msgstr "Changements des fichiers :" -#: gitk:4088 +#: gitk:4107 msgid "Fixed String" msgstr "ChaΓne FigΓ©e" -#: gitk:4089 +#: gitk:4108 msgid "Regular Expression" msgstr "Expression RΓ©guliΓ¨re" -#: gitk:4090 +#: gitk:4109 msgid "Search string:" msgstr "Recherche de la chaΓne :" -#: gitk:4091 +#: gitk:4110 msgid "" "Commit Dates (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 " "15:27:38\"):" @@ -706,204 +709,201 @@ msgstr "" "Dates des commits (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, " "2009 15:27:38\") :" -#: gitk:4092 +#: gitk:4111 msgid "Since:" -msgstr "De :" +msgstr "Depuis :" -#: gitk:4093 +#: gitk:4112 msgid "Until:" msgstr "Jusqu'au :" -#: gitk:4094 +#: gitk:4113 msgid "Limit and/or skip a number of revisions (positive integer):" msgstr "Limiter et/ou sauter un certain nombre (entier positif) de rΓ©visions :" -#: gitk:4095 +#: gitk:4114 msgid "Number to show:" msgstr "Nombre Γ afficher :" -#: gitk:4096 +#: gitk:4115 msgid "Number to skip:" msgstr "Nombre Γ sauter :" -#: gitk:4097 +#: gitk:4116 msgid "Miscellaneous options:" msgstr "Options diverses :" -#: gitk:4098 +#: gitk:4117 msgid "Strictly sort by date" msgstr "Trier par date" -# FIXME : traduction de "branch sides" -#: gitk:4099 -#, fuzzy +#: gitk:4118 msgid "Mark branch sides" -msgstr "Marquer les extrΓ©mitΓ©s des branches" +msgstr "Indiquer les cΓ΄tΓ©s des branches" -#: gitk:4100 +#: gitk:4119 msgid "Limit to first parent" msgstr "Limiter au premier ancΓͺtre" -#: gitk:4101 +#: gitk:4120 msgid "Simple history" msgstr "Historique simple" -#: gitk:4102 +#: gitk:4121 msgid "Additional arguments to git log:" msgstr "Arguments supplΓ©mentaires de git log :" -#: gitk:4103 +#: gitk:4122 msgid "Enter files and directories to include, one per line:" msgstr "Saisir les fichiers et rΓ©pertoires Γ inclure, un par ligne :" -#: gitk:4104 +#: gitk:4123 msgid "Command to generate more commits to include:" msgstr "Commande pour gΓ©nΓ©rer plus de commits Γ inclure :" -#: gitk:4228 +#: gitk:4247 msgid "Gitk: edit view" msgstr "Gitk : Γ©diter la vue" -#: gitk:4236 +#: gitk:4255 msgid "-- criteria for selecting revisions" msgstr "-- critΓ¨re pour la sΓ©lection des rΓ©visions" -#: gitk:4241 -#, fuzzy +#: gitk:4260 msgid "View Name" -msgstr "Nom de la vue :" +msgstr "Nom de la vue" -#: gitk:4316 +#: gitk:4335 msgid "Apply (F5)" msgstr "Appliquer (F5)" -#: gitk:4354 +#: gitk:4373 msgid "Error in commit selection arguments:" msgstr "Erreur dans les arguments de sΓ©lection des commits :" -#: gitk:4409 gitk:4462 gitk:4924 gitk:4938 gitk:6208 gitk:12373 gitk:12374 +#: gitk:4428 gitk:4481 gitk:4943 gitk:4957 gitk:6227 gitk:12410 gitk:12411 msgid "None" msgstr "Aucun" -#: gitk:5021 gitk:5026 +#: gitk:5040 gitk:5045 msgid "Descendant" msgstr "Descendant" -#: gitk:5022 +#: gitk:5041 msgid "Not descendant" msgstr "Pas un descendant" -#: gitk:5029 gitk:5034 +#: gitk:5048 gitk:5053 msgid "Ancestor" msgstr "AncΓͺtre" -#: gitk:5030 +#: gitk:5049 msgid "Not ancestor" msgstr "Pas un ancΓͺtre" -#: gitk:5324 +#: gitk:5343 msgid "Local changes checked in to index but not committed" -msgstr "Modifications locales enregistrΓ©es dans l'index mais non commitΓ©es" +msgstr "Modifications locales enregistrΓ©es dans l'index mais non validΓ©es" -#: gitk:5360 +#: gitk:5379 msgid "Local uncommitted changes, not checked in to index" -msgstr "Modifications locales non enregistrΓ©es dans l'index et non commitΓ©es" +msgstr "Modifications locales non enregistrΓ©es dans l'index et non validΓ©es" -#: gitk:7134 +#: gitk:7153 msgid "and many more" -msgstr "" +msgstr "et beaucoup plus" -#: gitk:7137 +#: gitk:7156 msgid "many" msgstr "nombreux" -#: gitk:7328 +#: gitk:7347 msgid "Tags:" -msgstr "Tags :" +msgstr "Γtiquettes :" -#: gitk:7345 gitk:7351 gitk:8825 +#: gitk:7364 gitk:7370 gitk:8844 msgid "Parent" msgstr "Parent" -#: gitk:7356 +#: gitk:7375 msgid "Child" msgstr "Enfant" -#: gitk:7365 +#: gitk:7384 msgid "Branch" msgstr "Branche" -#: gitk:7368 +#: gitk:7387 msgid "Follows" msgstr "Suit" -#: gitk:7371 +#: gitk:7390 msgid "Precedes" msgstr "PrΓ©cΓ¨de" -#: gitk:7966 +#: gitk:7985 #, tcl-format msgid "Error getting diffs: %s" msgstr "Erreur lors de la rΓ©cupΓ©ration des diff : %s" -#: gitk:8650 +#: gitk:8669 msgid "Goto:" msgstr "Aller Γ :" -#: gitk:8671 +#: gitk:8690 #, tcl-format msgid "Short SHA1 id %s is ambiguous" -msgstr "Id SHA1 court %s est ambigu" +msgstr "L'id SHA1 court %s est ambigu" -#: gitk:8678 +#: gitk:8697 #, tcl-format msgid "Revision %s is not known" -msgstr "Id SHA1 %s est inconnu" +msgstr "La rΓ©vision %s est inconnu" -#: gitk:8688 +#: gitk:8707 #, tcl-format msgid "SHA1 id %s is not known" -msgstr "Id SHA1 %s est inconnu" +msgstr "L'id SHA1 %s est inconnu" -#: gitk:8690 +#: gitk:8709 #, tcl-format msgid "Revision %s is not in the current view" msgstr "La rΓ©vision %s n'est pas dans la vue courante" -#: gitk:8832 gitk:8847 +#: gitk:8851 gitk:8866 msgid "Date" msgstr "Date" -#: gitk:8835 +#: gitk:8854 msgid "Children" msgstr "Enfants" -#: gitk:8898 +#: gitk:8917 #, tcl-format msgid "Reset %s branch to here" msgstr "RΓ©initialiser la branche %s vers cet Γ©tat" -#: gitk:8900 +#: gitk:8919 msgid "Detached head: can't reset" msgstr "Head dΓ©tachΓ© : impossible de rΓ©initialiser" -#: gitk:9005 gitk:9011 +#: gitk:9024 gitk:9030 msgid "Skipping merge commit " msgstr "Γviter le commit de la fusion " -#: gitk:9020 gitk:9025 +#: gitk:9039 gitk:9044 msgid "Error getting patch ID for " msgstr "Erreur Γ l'obtention de l'ID du patch pour " -#: gitk:9021 gitk:9026 +#: gitk:9040 gitk:9045 msgid " - stopping\n" msgstr " - arrΓͺt en cours\n" -#: gitk:9031 gitk:9034 gitk:9042 gitk:9056 gitk:9065 +#: gitk:9050 gitk:9053 gitk:9061 gitk:9075 gitk:9084 msgid "Commit " msgstr "Commit " -#: gitk:9035 +#: gitk:9054 msgid "" " is the same patch as\n" " " @@ -911,7 +911,7 @@ msgstr "" "est le mΓͺme patch que \n" " " -#: gitk:9043 +#: gitk:9062 msgid "" " differs from\n" " " @@ -919,240 +919,226 @@ msgstr "" " diffΓ¨re de\n" " " -#: gitk:9045 +#: gitk:9064 msgid "" "Diff of commits:\n" "\n" -msgstr "" +msgstr "Diff des commitsΒ :\n\n" -#: gitk:9057 gitk:9066 +#: gitk:9076 gitk:9085 #, tcl-format msgid " has %s children - stopping\n" -msgstr "a %s enfants - arrΓͺt en cours\n" +msgstr " a %s enfants - arrΓͺt en cours\n" -#: gitk:9085 -#, fuzzy, tcl-format +#: gitk:9104 +#, tcl-format msgid "Error writing commit to file: %s" -msgstr "Erreur Γ l'ecriture du commit :" +msgstr "Erreur Γ l'Γ©criture du commit dans le fichier : %s" -#: gitk:9091 -#, fuzzy, tcl-format +#: gitk:9110 +#, tcl-format msgid "Error diffing commits: %s" -msgstr "Erreur Γ l'ecriture du commit :" +msgstr "Erreur Γ la diffΓ©rence des commits : %s" -#: gitk:9137 +#: gitk:9156 msgid "Top" msgstr "Haut" -#: gitk:9138 +#: gitk:9157 msgid "From" msgstr "De" -#: gitk:9143 +#: gitk:9162 msgid "To" msgstr "Γ" -#: gitk:9167 +#: gitk:9186 msgid "Generate patch" msgstr "GΓ©nΓ©rer le patch" -#: gitk:9169 +#: gitk:9188 msgid "From:" msgstr "De :" -#: gitk:9178 +#: gitk:9197 msgid "To:" msgstr "Γ :" -#: gitk:9187 +#: gitk:9206 msgid "Reverse" msgstr "Inverser" -#: gitk:9189 gitk:9385 +#: gitk:9208 gitk:9418 msgid "Output file:" msgstr "Fichier de sortie :" -#: gitk:9195 +#: gitk:9214 msgid "Generate" msgstr "GΓ©nΓ©rer" -#: gitk:9233 +#: gitk:9252 msgid "Error creating patch:" msgstr "Erreur Γ la crΓ©ation du patch :" -#: gitk:9256 gitk:9373 gitk:9430 +#: gitk:9275 gitk:9406 gitk:9463 msgid "ID:" msgstr "ID :" -#: gitk:9265 +#: gitk:9284 msgid "Tag name:" -msgstr "Nom du Tag :" +msgstr "Nom de l'Γ©tiquette :" -#: gitk:9268 +#: gitk:9287 msgid "Tag message is optional" -msgstr "" +msgstr "Le message d'Γ©tiquette est optionnel" -#: gitk:9270 -#, fuzzy +#: gitk:9289 msgid "Tag message:" -msgstr "Nom du Tag :" +msgstr "Message d'Γ©tiquette :" -#: gitk:9274 gitk:9439 +#: gitk:9293 gitk:9472 msgid "Create" msgstr "CrΓ©er" -#: gitk:9292 +#: gitk:9311 msgid "No tag name specified" -msgstr "Aucun nom de tag spΓ©cifiΓ©" +msgstr "Aucun nom d'Γ©tiquette spΓ©cifiΓ©" -#: gitk:9296 +#: gitk:9315 #, tcl-format msgid "Tag \"%s\" already exists" -msgstr "Le tag \"%s\" existe dΓ©jΓ " +msgstr "L'Γ©tiquette \"%s\" existe dΓ©jΓ " -#: gitk:9306 +#: gitk:9325 msgid "Error creating tag:" -msgstr "Erreur Γ la crΓ©ation du tag :" +msgstr "Erreur Γ la crΓ©ation de l'Γ©tiquette :" -#: gitk:9382 +#: gitk:9415 msgid "Command:" msgstr "Commande :" -#: gitk:9390 +#: gitk:9423 msgid "Write" msgstr "Γcrire" -#: gitk:9408 +#: gitk:9441 msgid "Error writing commit:" msgstr "Erreur Γ l'ecriture du commit :" -#: gitk:9435 +#: gitk:9468 msgid "Name:" msgstr "Nom :" -#: gitk:9458 +#: gitk:9491 msgid "Please specify a name for the new branch" msgstr "Veuillez spΓ©cifier un nom pour la nouvelle branche" -#: gitk:9463 +#: gitk:9496 #, tcl-format msgid "Branch '%s' already exists. Overwrite?" msgstr "La branche '%s' existe dΓ©jΓ . Γcraser?" -#: gitk:9530 +#: gitk:9563 #, tcl-format msgid "Commit %s is already included in branch %s -- really re-apply it?" msgstr "" "Le Commit %s est dΓ©jΓ inclus dans la branche %s -- le rΓ©-appliquer malgrΓ© " "tout?" -#: gitk:9535 +#: gitk:9568 msgid "Cherry-picking" -msgstr "Cueillir (Cherry-picking)" +msgstr "Picorer (Cherry-picking)" -#: gitk:9544 +#: gitk:9577 #, tcl-format msgid "" "Cherry-pick failed because of local changes to file '%s'.\n" "Please commit, reset or stash your changes and try again." msgstr "" -"La cueillette (cherry-pick) a Γ©chouΓ©e Γ cause de modifications locales du " -"fichier '%s'.\n" -"Veuillez commiter, rΓ©initialiser ou stasher vos changements et essayer de " -"nouveau." +"Le picorage (cherry-pick) a Γ©chouΓ©e Γ cause de modifications locales du fichier '%s'.\n" +"Veuillez commiter, rΓ©initialiser ou stasher vos changements et essayer de nouveau." -#: gitk:9550 +#: gitk:9583 msgid "" "Cherry-pick failed because of merge conflict.\n" "Do you wish to run git citool to resolve it?" msgstr "" -"La cueillette (cherry-pick) a Γ©chouΓ©e Γ cause d'un conflit lors d'une " -"fusion.\n" +"Le picorage (cherry-pick) a Γ©chouΓ©e Γ cause d'un conflit lors d'une fusion.\n" "Souhaitez-vous exΓ©cuter git citool pour le rΓ©soudre ?" -#: gitk:9566 gitk:9624 +#: gitk:9599 gitk:9657 msgid "No changes committed" -msgstr "Aucun changement commitΓ©" +msgstr "Aucune modification validΓ©e" -#: gitk:9593 -#, fuzzy, tcl-format +#: gitk:9626 +#, tcl-format msgid "Commit %s is not included in branch %s -- really revert it?" -msgstr "" -"Le Commit %s est dΓ©jΓ inclus dans la branche %s -- le rΓ©-appliquer malgrΓ© " -"tout?" +msgstr "Le Commit %s n'est pas inclus dans la branche %s -- le dΓ©faire malgrΓ© tout?" -#: gitk:9598 -#, fuzzy +#: gitk:9631 msgid "Reverting" -msgstr "RΓ©initialisation" +msgstr "Commit dΓ©fait" -#: gitk:9606 -#, fuzzy, tcl-format +#: gitk:9639 +#, tcl-format msgid "" "Revert failed because of local changes to the following files:%s Please " "commit, reset or stash your changes and try again." -msgstr "" -"La cueillette (cherry-pick) a Γ©chouΓ©e Γ cause de modifications locales du " -"fichier '%s'.\n" -"Veuillez commiter, rΓ©initialiser ou stasher vos changements et essayer de " -"nouveau." +msgstr "Γchec en tentant de dΓ©faire le commit Γ cause de modifications locales des fichiersΒ : %s. Veuillez valider, rΓ©initialiser ou remiser vos modifications et essayer de nouveau." -#: gitk:9610 -#, fuzzy +#: gitk:9643 msgid "" "Revert failed because of merge conflict.\n" " Do you wish to run git citool to resolve it?" msgstr "" -"La cueillette (cherry-pick) a Γ©chouΓ©e Γ cause d'un conflit lors d'une " -"fusion.\n" +"Γchec en tentant de dΓ©faire Γ cause d'un conflit de fusion.\n" "Souhaitez-vous exΓ©cuter git citool pour le rΓ©soudre ?" -#: gitk:9653 +#: gitk:9686 msgid "Confirm reset" msgstr "Confirmer la rΓ©initialisation" -#: gitk:9655 +#: gitk:9688 #, tcl-format msgid "Reset branch %s to %s?" msgstr "RΓ©initialiser la branche %s Γ %s?" -#: gitk:9657 +#: gitk:9690 msgid "Reset type:" msgstr "Type de rΓ©initialisation :" -#: gitk:9660 +#: gitk:9693 msgid "Soft: Leave working tree and index untouched" msgstr "Douce : Laisse le rΓ©pertoire de travail et l'index intacts" -#: gitk:9663 +#: gitk:9696 msgid "Mixed: Leave working tree untouched, reset index" msgstr "" "Hybride : Laisse le rΓ©pertoire de travail dans son Γ©tat courant, " "rΓ©initialise l'index" -#: gitk:9666 +#: gitk:9699 msgid "" "Hard: Reset working tree and index\n" "(discard ALL local changes)" msgstr "" "Dure : RΓ©initialise le rΓ©pertoire de travail et l'index\n" -"(abandonne TOUS les changements locaux)" +"(abandonne TOUTES les modifications locale)" -#: gitk:9683 +#: gitk:9716 msgid "Resetting" msgstr "RΓ©initialisation" # Fixme: RΓ©cupΓ©ration est-il vraiment une mauvaise traduction? -#: gitk:9743 -#, fuzzy +#: gitk:9776 msgid "Checking out" -msgstr "RΓ©cupΓ©ration" +msgstr "Extraction" -#: gitk:9796 +#: gitk:9829 msgid "Cannot delete the currently checked-out branch" -msgstr "Impossible de supprimer la branche en cours" +msgstr "Impossible de supprimer la branche extraite" -#: gitk:9802 +#: gitk:9835 #, tcl-format msgid "" "The commits on branch %s aren't on any other branch.\n" @@ -1161,16 +1147,16 @@ msgstr "" "Les commits de la branche %s ne sont dans aucune autre branche.\n" "Voulez-vous vraiment supprimer cette branche %s ?" -#: gitk:9833 +#: gitk:9866 #, tcl-format msgid "Tags and heads: %s" -msgstr "Tags et heads : %s" +msgstr "Γtiquettes et heads : %s" -#: gitk:9850 +#: gitk:9883 msgid "Filter" msgstr "Filtrer" -#: gitk:10146 +#: gitk:10179 msgid "" "Error reading commit topology information; branch and preceding/following " "tag information will be incomplete." @@ -1179,207 +1165,202 @@ msgstr "" "informations sur les branches et les tags prΓ©cΓ©dents/suivants seront " "incomplΓ¨tes." -#: gitk:11123 +#: gitk:11156 msgid "Tag" -msgstr "Tag" +msgstr "Γtiquette" -#: gitk:11127 +#: gitk:11160 msgid "Id" msgstr "Id" -#: gitk:11210 +#: gitk:11243 msgid "Gitk font chooser" msgstr "SΓ©lecteur de police de Gitk" -#: gitk:11227 +#: gitk:11260 msgid "B" msgstr "B" -#: gitk:11230 +#: gitk:11263 msgid "I" msgstr "I" -#: gitk:11348 +#: gitk:11381 msgid "Commit list display options" msgstr "Options d'affichage de la liste des commits" -#: gitk:11351 +#: gitk:11384 msgid "Maximum graph width (lines)" msgstr "Longueur maximum du graphe (lignes)" # FIXME : Traduction standard de "pane"? -#: gitk:11355 -#, fuzzy, no-tcl-format +#: gitk:11388 +#, no-tcl-format msgid "Maximum graph width (% of pane)" -msgstr "Longueur maximum du graphe (% du panneau)" +msgstr "Largeur maximum du graphe (% du panneau)" -#: gitk:11358 +#: gitk:11391 msgid "Show local changes" -msgstr "Montrer les changements locaux" +msgstr "Montrer les modifications locales" -#: gitk:11361 -#, fuzzy +#: gitk:11394 msgid "Auto-select SHA1 (length)" -msgstr "SΓ©lection auto. du SHA1" +msgstr "SΓ©lection auto. du SHA1 (longueur)" -#: gitk:11365 +#: gitk:11398 msgid "Hide remote refs" msgstr "Cacher les refs distantes" -#: gitk:11369 +#: gitk:11402 msgid "Diff display options" msgstr "Options d'affichage des diff" -#: gitk:11371 +#: gitk:11404 msgid "Tab spacing" msgstr "Taille des tabulations" -#: gitk:11374 -#, fuzzy +#: gitk:11407 msgid "Display nearby tags/heads" msgstr "Afficher les tags les plus proches" -#: gitk:11377 +#: gitk:11410 msgid "Maximum # tags/heads to show" -msgstr "" +msgstr "Nombre maximum d'Γ©tiquettes/heads Γ afficher" -#: gitk:11380 +#: gitk:11413 msgid "Limit diffs to listed paths" msgstr "Limiter les diffΓ©rences aux chemins listΓ©s" -#: gitk:11383 +#: gitk:11416 msgid "Support per-file encodings" msgstr "Support pour un encodage des caractΓ¨res par fichier" -#: gitk:11389 gitk:11536 +#: gitk:11422 gitk:11569 msgid "External diff tool" msgstr "Outil diff externe" -#: gitk:11390 +#: gitk:11423 msgid "Choose..." msgstr "Choisir..." -#: gitk:11395 -#, fuzzy +#: gitk:11428 msgid "General options" -msgstr "GΓ©nΓ©rer le patch" +msgstr "Options gΓ©nΓ©rales" -#: gitk:11398 +#: gitk:11431 msgid "Use themed widgets" -msgstr "" +msgstr "Utiliser des widgets en thΓ¨me" -#: gitk:11400 +#: gitk:11433 msgid "(change requires restart)" -msgstr "" +msgstr "(la modification nΓ©cessite un redΓ©marrage)" -#: gitk:11402 +#: gitk:11435 msgid "(currently unavailable)" -msgstr "" +msgstr "(non disponible actuellement)" -#: gitk:11413 +#: gitk:11446 msgid "Colors: press to choose" msgstr "Couleurs : cliquer pour choisir" -#: gitk:11416 +#: gitk:11449 msgid "Interface" -msgstr "" +msgstr "Interface" -#: gitk:11417 -#, fuzzy +#: gitk:11450 msgid "interface" -msgstr "Police de l'interface utilisateur" +msgstr "interface" -#: gitk:11420 +#: gitk:11453 msgid "Background" msgstr "ArriΓ¨re-plan" -#: gitk:11421 gitk:11451 +#: gitk:11454 gitk:11484 msgid "background" msgstr "arriΓ¨re-plan" -#: gitk:11424 +#: gitk:11457 msgid "Foreground" msgstr "Premier plan" -#: gitk:11425 +#: gitk:11458 msgid "foreground" msgstr "premier plan" -#: gitk:11428 +#: gitk:11461 msgid "Diff: old lines" msgstr "Diff : anciennes lignes" -#: gitk:11429 +#: gitk:11462 msgid "diff old lines" msgstr "diff anciennes lignes" -#: gitk:11433 +#: gitk:11466 msgid "Diff: new lines" msgstr "Diff : nouvelles lignes" -#: gitk:11434 +#: gitk:11467 msgid "diff new lines" msgstr "diff nouvelles lignes" -#: gitk:11438 +#: gitk:11471 msgid "Diff: hunk header" msgstr "Diff : entΓͺte du hunk" -#: gitk:11440 +#: gitk:11473 msgid "diff hunk header" msgstr "diff : entΓͺte du hunk" -#: gitk:11444 +#: gitk:11477 msgid "Marked line bg" -msgstr "ArriΓ¨re-plan de la ligne marquΓ©e" +msgstr "Fond de la ligne marquΓ©e" -#: gitk:11446 +#: gitk:11479 msgid "marked line background" -msgstr "ArriΓ¨re-plan de la ligne marquΓ©e" +msgstr "Fond de la ligne marquΓ©e" -#: gitk:11450 +#: gitk:11483 msgid "Select bg" -msgstr "SΓ©lectionner l'arriΓ¨re-plan" +msgstr "SΓ©lectionner le fond" -#: gitk:11459 +#: gitk:11492 msgid "Fonts: press to choose" msgstr "Polices : cliquer pour choisir" -#: gitk:11461 +#: gitk:11494 msgid "Main font" msgstr "Police principale" -#: gitk:11462 +#: gitk:11495 msgid "Diff display font" msgstr "Police d'affichage des diff" -#: gitk:11463 +#: gitk:11496 msgid "User interface font" msgstr "Police de l'interface utilisateur" -#: gitk:11485 +#: gitk:11518 msgid "Gitk preferences" msgstr "PrΓ©fΓ©rences de Gitk" -#: gitk:11494 -#, fuzzy +#: gitk:11527 msgid "General" -msgstr "GΓ©nΓ©rer" +msgstr "GΓ©nΓ©ral" -#: gitk:11495 +#: gitk:11528 msgid "Colors" -msgstr "" +msgstr "Couleurs" -#: gitk:11496 +#: gitk:11529 msgid "Fonts" -msgstr "" +msgstr "Polices" -#: gitk:11546 +#: gitk:11579 #, tcl-format msgid "Gitk: choose color for %s" msgstr "Gitk : choisir la couleur de %s" -#: gitk:12059 +#: gitk:12092 msgid "" "Sorry, gitk cannot run with this version of Tcl/Tk.\n" " Gitk requires at least Tcl/Tk 8.4." @@ -1387,16 +1368,16 @@ msgstr "" "DΓ©solΓ©, gitk ne peut Γͺtre exΓ©cutΓ© avec cette version de Tcl/Tk.\n" " Gitk requiert Tcl/Tk version 8.4 ou supΓ©rieur." -#: gitk:12269 +#: gitk:12302 msgid "Cannot find a git repository here." msgstr "Impossible de trouver un dΓ©pΓ΄t git ici." -#: gitk:12316 +#: gitk:12349 #, tcl-format msgid "Ambiguous argument '%s': both revision and filename" msgstr "Argument '%s' ambigu : Γ la fois une rΓ©vision et un nom de fichier" -#: gitk:12328 +#: gitk:12361 msgid "Bad arguments to gitk:" msgstr "Arguments invalides pour gitk :" diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 05d7910b7c..2fddf750fa 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -3935,6 +3935,9 @@ sub run_highlighter { close $fd; open $fd, quote_command(git_cmd(), "cat-file", "blob", $hash)." | ". + quote_command($^X, '-CO', '-MEncode=decode,FB_DEFAULT', '-pse', + '$_ = decode($fe, $_, FB_DEFAULT) if !utf8::decode($_);', + '--', "-fe=$fallback_encoding")." | ". quote_command($highlight_bin). " --replace-tabs=8 --fragment --syntax $syntax |" or die_error(500, "Couldn't open file or run syntax highlighter"); diff --git a/gpg-interface.c b/gpg-interface.c index 3dc2fe397e..2259938236 100644 --- a/gpg-interface.c +++ b/gpg-interface.c @@ -237,6 +237,7 @@ int verify_signed_buffer(const char *payload, size_t payload_size, return error(_("could not run gpg.")); } + sigchain_push(SIGPIPE, SIG_IGN); write_in_full(gpg.in, payload, payload_size); close(gpg.in); @@ -250,6 +251,7 @@ int verify_signed_buffer(const char *payload, size_t payload_size, close(gpg.out); ret = finish_command(&gpg); + sigchain_pop(SIGPIPE); unlink_or_warn(path); @@ -234,12 +234,10 @@ struct git_graph *graph_init(struct rev_info *opt) * We'll automatically grow columns later if we need more room. */ graph->column_capacity = 30; - graph->columns = xmalloc(sizeof(struct column) * - graph->column_capacity); - graph->new_columns = xmalloc(sizeof(struct column) * - graph->column_capacity); - graph->mapping = xmalloc(sizeof(int) * 2 * graph->column_capacity); - graph->new_mapping = xmalloc(sizeof(int) * 2 * graph->column_capacity); + ALLOC_ARRAY(graph->columns, graph->column_capacity); + ALLOC_ARRAY(graph->new_columns, graph->column_capacity); + ALLOC_ARRAY(graph->mapping, 2 * graph->column_capacity); + ALLOC_ARRAY(graph->new_mapping, 2 * graph->column_capacity); /* * The diff output prefix callback, with this we can make @@ -1741,7 +1741,7 @@ static int grep_source_load_file(struct grep_source *gs) i = open(filename, O_RDONLY); if (i < 0) goto err_ret; - data = xmalloc(size + 1); + data = xmallocz(size); if (st.st_size != read_in_full(i, data, size)) { error(_("'%s': short read %s"), filename, strerror(errno)); close(i); @@ -1749,7 +1749,6 @@ static int grep_source_load_file(struct grep_source *gs) return -1; } close(i); - data[size] = 0; gs->buf = data; gs->size = size; @@ -256,10 +256,9 @@ const void *memintern(const void *data, size_t len) e = hashmap_get(&map, &key, data); if (!e) { /* not found: create it */ - e = xmallocz(sizeof(struct pool_entry) + len); + FLEX_ALLOC_MEM(e, data, data, len); hashmap_entry_init(e, key.ent.hash); e->len = len; - memcpy(e->data, data, len); hashmap_add(&map, e); } return e->data; @@ -11,11 +11,9 @@ void add_cmdname(struct cmdnames *cmds, const char *name, int len) { - struct cmdname *ent = xmalloc(sizeof(*ent) + len + 1); - + struct cmdname *ent; + FLEX_ALLOC_MEM(ent, name, name, len); ent->len = len; - memcpy(ent->name, name, len); - ent->name[len] = 0; ALLOC_GROW(cmds->names, cmds->cnt + 1, cmds->alloc); cmds->names[cmds->cnt++] = ent; diff --git a/http-backend.c b/http-backend.c index 8870a2681e..214881459d 100644 --- a/http-backend.c +++ b/http-backend.c @@ -484,9 +484,9 @@ static int show_head_ref(const char *refname, const struct object_id *oid, const char *target = resolve_ref_unsafe(refname, RESOLVE_REF_READING, unused.hash, NULL); - const char *target_nons = strip_namespace(target); - strbuf_addf(buf, "ref: %s\n", target_nons); + if (target) + strbuf_addf(buf, "ref: %s\n", strip_namespace(target)); } else { strbuf_addf(buf, "%s\n", oid_to_hex(oid)); } diff --git a/http-push.c b/http-push.c index bd60668707..a092f0288b 100644 --- a/http-push.c +++ b/http-push.c @@ -211,7 +211,7 @@ static void curl_setup_http(CURL *curl, const char *url, static struct curl_slist *get_dav_token_headers(struct remote_lock *lock, enum dav_header_flag options) { struct strbuf buf = STRBUF_INIT; - struct curl_slist *dav_headers = NULL; + struct curl_slist *dav_headers = http_copy_default_headers(); if (options & DAV_HEADER_IF) { strbuf_addf(&buf, "If: (<%s>)", lock->token); @@ -417,7 +417,7 @@ static void start_put(struct transfer_request *request) static void start_move(struct transfer_request *request) { struct active_request_slot *slot; - struct curl_slist *dav_headers = NULL; + struct curl_slist *dav_headers = http_copy_default_headers(); slot = get_active_slot(); slot->callback_func = process_response; @@ -845,7 +845,7 @@ static struct remote_lock *lock_remote(const char *path, long timeout) char *ep; char timeout_header[25]; struct remote_lock *lock = NULL; - struct curl_slist *dav_headers = NULL; + struct curl_slist *dav_headers = http_copy_default_headers(); struct xml_ctx ctx; char *escaped; @@ -1126,7 +1126,7 @@ static void remote_ls(const char *path, int flags, struct slot_results results; struct strbuf in_buffer = STRBUF_INIT; struct buffer out_buffer = { STRBUF_INIT, 0 }; - struct curl_slist *dav_headers = NULL; + struct curl_slist *dav_headers = http_copy_default_headers(); struct xml_ctx ctx; struct remote_ls_ctx ls; @@ -1204,7 +1204,7 @@ static int locking_available(void) struct slot_results results; struct strbuf in_buffer = STRBUF_INIT; struct buffer out_buffer = { STRBUF_INIT, 0 }; - struct curl_slist *dav_headers = NULL; + struct curl_slist *dav_headers = http_copy_default_headers(); struct xml_ctx ctx; int lock_flags = 0; char *escaped; @@ -1312,10 +1312,10 @@ static struct object_list **process_tree(struct tree *tree, while (tree_entry(&desc, &entry)) switch (object_type(entry.mode)) { case OBJ_TREE: - p = process_tree(lookup_tree(entry.sha1), p); + p = process_tree(lookup_tree(entry.oid->hash), p); break; case OBJ_BLOB: - p = process_blob(lookup_blob(entry.sha1), p); + p = process_blob(lookup_blob(entry.oid->hash), p); break; default: /* Subproject commit - not in this repository */ @@ -70,6 +70,7 @@ static long curl_low_speed_limit = -1; static long curl_low_speed_time = -1; static int curl_ftp_no_epsv; static const char *curl_http_proxy; +static const char *curl_no_proxy; static const char *http_proxy_authmethod; static struct { const char *name; @@ -113,6 +114,7 @@ static unsigned long http_auth_methods = CURLAUTH_ANY; static struct curl_slist *pragma_header; static struct curl_slist *no_pragma_header; +static struct curl_slist *extra_http_headers; static struct active_request_slot *active_queue_head; @@ -292,7 +294,7 @@ static int http_options(const char *var, const char *value, void *cb) return git_config_string(&http_proxy_authmethod, var, value); if (!strcmp("http.cookiefile", var)) - return git_config_string(&curl_cookie_file, var, value); + return git_config_pathname(&curl_cookie_file, var, value); if (!strcmp("http.savecookies", var)) { curl_save_cookies = git_config_bool(var, value); return 0; @@ -322,6 +324,19 @@ static int http_options(const char *var, const char *value, void *cb) #endif } + if (!strcmp("http.extraheader", var)) { + if (!value) { + return config_error_nonbool(var); + } else if (!*value) { + curl_slist_free_all(extra_http_headers); + extra_http_headers = NULL; + } else { + extra_http_headers = + curl_slist_append(extra_http_headers, value); + } + return 0; + } + /* Fall back on the default ones */ return git_default_config(var, value, cb); } @@ -604,7 +619,10 @@ static CURL *get_curl_handle(void) if (curl_http_proxy) { curl_easy_setopt(result, CURLOPT_PROXY, curl_http_proxy); #if LIBCURL_VERSION_NUM >= 0x071800 - if (starts_with(curl_http_proxy, "socks5")) + if (starts_with(curl_http_proxy, "socks5h")) + curl_easy_setopt(result, + CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5_HOSTNAME); + else if (starts_with(curl_http_proxy, "socks5")) curl_easy_setopt(result, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5); else if (starts_with(curl_http_proxy, "socks4a")) @@ -624,6 +642,11 @@ static CURL *get_curl_handle(void) } curl_easy_setopt(result, CURLOPT_PROXY, proxy_auth.host); +#if LIBCURL_VERSION_NUM >= 0x071304 + var_override(&curl_no_proxy, getenv("NO_PROXY")); + var_override(&curl_no_proxy, getenv("no_proxy")); + curl_easy_setopt(result, CURLOPT_NOPROXY, curl_no_proxy); +#endif } init_curl_proxy_auth(result); @@ -669,8 +692,10 @@ void http_init(struct remote *remote, const char *url, int proactive_auth) if (remote) var_override(&http_proxy_authmethod, remote->http_proxy_authmethod); - pragma_header = curl_slist_append(pragma_header, "Pragma: no-cache"); - no_pragma_header = curl_slist_append(no_pragma_header, "Pragma:"); + pragma_header = curl_slist_append(http_copy_default_headers(), + "Pragma: no-cache"); + no_pragma_header = curl_slist_append(http_copy_default_headers(), + "Pragma:"); #ifdef USE_CURL_MULTI { @@ -756,6 +781,9 @@ void http_cleanup(void) #endif curl_global_cleanup(); + curl_slist_free_all(extra_http_headers); + extra_http_headers = NULL; + curl_slist_free_all(pragma_header); pragma_header = NULL; @@ -1154,6 +1182,16 @@ int run_one_slot(struct active_request_slot *slot, return handle_curl_result(results); } +struct curl_slist *http_copy_default_headers(void) +{ + struct curl_slist *headers = NULL, *h; + + for (h = extra_http_headers; h; h = h->next) + headers = curl_slist_append(headers, h->data); + + return headers; +} + static CURLcode curlinfo_strbuf(CURL *curl, CURLINFO info, struct strbuf *buf) { char *ptr; @@ -1371,7 +1409,7 @@ static int http_request(const char *url, { struct active_request_slot *slot; struct slot_results results; - struct curl_slist *headers = NULL; + struct curl_slist *headers = http_copy_default_headers(); struct strbuf buf = STRBUF_INIT; const char *accept_language; int ret; @@ -106,6 +106,7 @@ extern void step_active_slots(void); extern void http_init(struct remote *remote, const char *url, int proactive_auth); extern void http_cleanup(void); +extern struct curl_slist *http_copy_default_headers(void); extern long int git_curl_ipresolve; extern int active_requests; @@ -351,15 +351,17 @@ const char *fmt_ident(const char *name, const char *email, if (want_name) { int using_default = 0; if (!name) { + if (strict && ident_use_config_only + && !(ident_config_given & IDENT_NAME_GIVEN)) { + fputs(env_hint, stderr); + die("no name was given and auto-detection is disabled"); + } name = ident_default_name(); using_default = 1; if (strict && default_name_is_bogus) { fputs(env_hint, stderr); die("unable to auto-detect name (got '%s')", name); } - if (strict && ident_use_config_only - && !(ident_config_given & IDENT_NAME_GIVEN)) - die("user.useConfigOnly set but no name given"); } if (!*name) { struct passwd *pw; @@ -374,14 +376,16 @@ const char *fmt_ident(const char *name, const char *email, } if (!email) { + if (strict && ident_use_config_only + && !(ident_config_given & IDENT_MAIL_GIVEN)) { + fputs(env_hint, stderr); + die("no email was given and auto-detection is disabled"); + } email = ident_default_email(); if (strict && default_email_is_bogus) { fputs(env_hint, stderr); die("unable to auto-detect email address (got '%s')", email); } - if (strict && ident_use_config_only - && !(ident_config_given & IDENT_MAIL_GIVEN)) - die("user.useConfigOnly set but no mail given"); } strbuf_reset(&ident); diff --git a/imap-send.c b/imap-send.c index 4d3b7737a9..938c691585 100644 --- a/imap-send.c +++ b/imap-send.c @@ -287,17 +287,20 @@ static int ssl_socket_connect(struct imap_socket *sock, int use_tls_only, int ve SSL_library_init(); SSL_load_error_strings(); - if (use_tls_only) - meth = TLSv1_method(); - else - meth = SSLv23_method(); - + meth = SSLv23_method(); if (!meth) { ssl_socket_perror("SSLv23_method"); return -1; } ctx = SSL_CTX_new(meth); + if (!ctx) { + ssl_socket_perror("SSL_CTX_new"); + return -1; + } + + if (use_tls_only) + SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3); if (verify) SSL_CTX_set_verify(ctx, SSL_VERIFY_PEER, NULL); @@ -862,7 +865,6 @@ static char hexchar(unsigned int b) static char *cram(const char *challenge_64, const char *user, const char *pass) { int i, resp_len, encoded_len, decoded_len; - HMAC_CTX hmac; unsigned char hash[16]; char hex[33]; char *response, *response_64, *challenge; @@ -877,10 +879,8 @@ static char *cram(const char *challenge_64, const char *user, const char *pass) (unsigned char *)challenge_64, encoded_len); if (decoded_len < 0) die("invalid challenge %s", challenge_64); - HMAC_Init(&hmac, (unsigned char *)pass, strlen(pass), EVP_md5()); - HMAC_Update(&hmac, (unsigned char *)challenge, decoded_len); - HMAC_Final(&hmac, hash, NULL); - HMAC_CTX_cleanup(&hmac); + if (!HMAC(EVP_md5(), pass, strlen(pass), (unsigned char *)challenge, decoded_len, hash, NULL)) + die("HMAC error"); hex[32] = 0; for (i = 0; i < 16; i++) { @@ -890,14 +890,13 @@ static char *cram(const char *challenge_64, const char *user, const char *pass) /* response: "<user> <digest in hex>" */ response = xstrfmt("%s %s", user, hex); - resp_len = strlen(response) + 1; + resp_len = strlen(response); - response_64 = xmalloc(ENCODED_SIZE(resp_len) + 1); + response_64 = xmallocz(ENCODED_SIZE(resp_len)); encoded_len = EVP_EncodeBlock((unsigned char *)response_64, (unsigned char *)response, resp_len); if (encoded_len < 0) die("EVP_EncodeBlock error"); - response_64[encoded_len] = '\0'; return (char *)response_64; } @@ -1096,11 +1095,6 @@ static struct imap_store *imap_open_store(struct imap_server_conf *srvc, char *f srvc->pass = xstrdup(cred.password); } - if (CAP(NOLOGIN)) { - fprintf(stderr, "Skipping account %s@%s, server forbids LOGIN\n", srvc->user, srvc->host); - goto bail; - } - if (srvc->auth_method) { struct imap_cmd_cb cb; @@ -1124,6 +1118,11 @@ static struct imap_store *imap_open_store(struct imap_server_conf *srvc, char *f goto bail; } } else { + if (CAP(NOLOGIN)) { + fprintf(stderr, "Skipping account %s@%s, server forbids LOGIN\n", + srvc->user, srvc->host); + goto bail; + } if (!imap->buf.sock.ssl) imap_warn("*** IMAP Warning *** Password is being " "sent in the clear\n"); @@ -1188,7 +1187,7 @@ static void lf_to_crlf(struct strbuf *msg) j++; } - new = xmalloc(j + 1); + new = xmallocz(j); /* * Second pass: write the new string. Note that this loop is @@ -117,7 +117,7 @@ static const double __ac_HASH_UPPER = 0.77; if (new_n_buckets < 4) new_n_buckets = 4; \ if (h->size >= (khint_t)(new_n_buckets * __ac_HASH_UPPER + 0.5)) j = 0; /* requested size is too small */ \ else { /* hash table size to be changed (shrink or expand); rehash */ \ - new_flags = (khint32_t*)xmalloc(__ac_fsize(new_n_buckets) * sizeof(khint32_t)); \ + ALLOC_ARRAY(new_flags, __ac_fsize(new_n_buckets)); \ if (!new_flags) return -1; \ memset(new_flags, 0xaa, __ac_fsize(new_n_buckets) * sizeof(khint32_t)); \ if (h->n_buckets < new_n_buckets) { /* expand */ \ diff --git a/levenshtein.c b/levenshtein.c index fc281597fd..d2632690d5 100644 --- a/levenshtein.c +++ b/levenshtein.c @@ -42,11 +42,13 @@ int levenshtein(const char *string1, const char *string2, int w, int s, int a, int d) { int len1 = strlen(string1), len2 = strlen(string2); - int *row0 = xmalloc(sizeof(int) * (len2 + 1)); - int *row1 = xmalloc(sizeof(int) * (len2 + 1)); - int *row2 = xmalloc(sizeof(int) * (len2 + 1)); + int *row0, *row1, *row2; int i, j; + ALLOC_ARRAY(row0, len2 + 1); + ALLOC_ARRAY(row1, len2 + 1); + ALLOC_ARRAY(row2, len2 + 1); + for (j = 0; j <= len2; j++) row1[j] = j * a; for (i = 0; i < len1; i++) { diff --git a/line-log.c b/line-log.c index af6e2f799e..bbe31ed6fb 100644 --- a/line-log.c +++ b/line-log.c @@ -14,6 +14,7 @@ #include "graph.h" #include "userdiff.h" #include "line-log.h" +#include "argv-array.h" static void range_set_grow(struct range_set *rs, size_t extra) { @@ -521,7 +522,7 @@ static void fill_line_ends(struct diff_filespec *spec, long *lines, if (diff_populate_filespec(spec, 0)) die("Cannot read blob %s", sha1_to_hex(spec->sha1)); - ends = xmalloc(size * sizeof(*ends)); + ALLOC_ARRAY(ends, size); ends[cur++] = 0; data = spec->data; while (num < spec->size) { @@ -746,22 +747,17 @@ void line_log_init(struct rev_info *rev, const char *prefix, struct string_list add_line_range(rev, commit, range); if (!rev->diffopt.detect_rename) { - int i, count = 0; - struct line_log_data *r = range; + struct line_log_data *r; + struct argv_array array = ARGV_ARRAY_INIT; const char **paths; - while (r) { - count++; - r = r->next; - } - paths = xmalloc((count+1)*sizeof(char *)); - r = range; - for (i = 0; i < count; i++) { - paths[i] = xstrdup(r->path); - r = r->next; - } - paths[count] = NULL; + + for (r = range; r; r = r->next) + argv_array_push(&array, r->path); + paths = argv_array_detach(&array); + parse_pathspec(&rev->diffopt.pathspec, 0, PATHSPEC_PREFER_FULL, "", paths); + /* strings are now owned by pathspec */ free(paths); } } @@ -1146,9 +1142,9 @@ static int process_ranges_merge_commit(struct rev_info *rev, struct commit *comm if (nparents > 1 && rev->first_parent_only) nparents = 1; - diffqueues = xmalloc(nparents * sizeof(*diffqueues)); - cand = xmalloc(nparents * sizeof(*cand)); - parents = xmalloc(nparents * sizeof(*parents)); + ALLOC_ARRAY(diffqueues, nparents); + ALLOC_ARRAY(cand, nparents); + ALLOC_ARRAY(parents, nparents); p = commit->parents; for (i = 0; i < nparents; i++) { diff --git a/list-objects.c b/list-objects.c index 917cc5d7c9..f3ca6aafb7 100644 --- a/list-objects.c +++ b/list-objects.c @@ -110,16 +110,16 @@ static void process_tree(struct rev_info *revs, if (S_ISDIR(entry.mode)) process_tree(revs, - lookup_tree(entry.sha1), + lookup_tree(entry.oid->hash), show, base, entry.path, cb_data); else if (S_ISGITLINK(entry.mode)) - process_gitlink(revs, entry.sha1, + process_gitlink(revs, entry.oid->hash, show, base, entry.path, cb_data); else process_blob(revs, - lookup_blob(entry.sha1), + lookup_blob(entry.oid->hash), show, base, entry.path, cb_data); } diff --git a/ll-merge.c b/ll-merge.c index 0338630fc2..ff4a43a982 100644 --- a/ll-merge.c +++ b/ll-merge.c @@ -205,7 +205,7 @@ static int ll_ext_merge(const struct ll_merge_driver *fn, if (fstat(fd, &st)) goto close_bad; result->size = st.st_size; - result->ptr = xmalloc(result->size + 1); + result->ptr = xmallocz(result->size); if (read_in_full(fd, result->ptr, result->size) != result->size) { free(result->ptr); result->ptr = NULL; diff --git a/lockfile.c b/lockfile.c index 80d056d2ed..9268cdf325 100644 --- a/lockfile.c +++ b/lockfile.c @@ -149,13 +149,15 @@ static int lock_file_timeout(struct lock_file *lk, const char *path, void unable_to_lock_message(const char *path, int err, struct strbuf *buf) { if (err == EEXIST) { - strbuf_addf(buf, "Unable to create '%s.lock': %s.\n\n" - "If no other git process is currently running, this probably means a\n" - "git process crashed in this repository earlier. Make sure no other git\n" - "process is running and remove the file manually to continue.", + strbuf_addf(buf, _("Unable to create '%s.lock': %s.\n\n" + "Another git process seems to be running in this repository, e.g.\n" + "an editor opened by 'git commit'. Please make sure all processes\n" + "are terminated then try again. If it still fails, a git process\n" + "may have crashed in this repository earlier:\n" + "remove the file manually to continue."), absolute_path(path), strerror(err)); } else - strbuf_addf(buf, "Unable to create '%s.lock': %s", + strbuf_addf(buf, _("Unable to create '%s.lock': %s"), absolute_path(path), strerror(err)); } diff --git a/log-tree.c b/log-tree.c index f70a30e127..78a5381d0e 100644 --- a/log-tree.c +++ b/log-tree.c @@ -77,9 +77,8 @@ int parse_decorate_color_config(const char *var, const char *slot_name, const ch void add_name_decoration(enum decoration_type type, const char *name, struct object *obj) { - int nlen = strlen(name); - struct name_decoration *res = xmalloc(sizeof(*res) + nlen + 1); - memcpy(res->name, name, nlen + 1); + struct name_decoration *res; + FLEX_ALLOC_STR(res, name, name); res->type = type; res->next = add_decoration(&name_decoration, obj, res); } @@ -684,6 +683,7 @@ void show_log(struct rev_info *opt) ctx.fmt = opt->commit_format; ctx.mailmap = opt->mailmap; ctx.color = opt->diffopt.use_color; + ctx.expand_tabs_in_log = opt->expand_tabs_in_log; ctx.output_encoding = get_log_output_encoding(); if (opt->from_ident.mail_begin && opt->from_ident.name_begin) ctx.from_ident = &opt->from_ident; @@ -250,7 +250,8 @@ int read_mailmap(struct string_list *map, char **repo_abbrev) git_mailmap_blob = "HEAD:.mailmap"; err |= read_mailmap_file(map, ".mailmap", repo_abbrev); - err |= read_mailmap_blob(map, git_mailmap_blob, repo_abbrev); + if (startup_info->have_repository) + err |= read_mailmap_blob(map, git_mailmap_blob, repo_abbrev); err |= read_mailmap_file(map, git_mailmap_file, repo_abbrev); return err; } diff --git a/match-trees.c b/match-trees.c index 1ce0954a3e..396b7338df 100644 --- a/match-trees.c +++ b/match-trees.c @@ -48,17 +48,17 @@ static int score_matches(unsigned mode1, unsigned mode2, const char *path) } static void *fill_tree_desc_strict(struct tree_desc *desc, - const unsigned char *hash) + const struct object_id *hash) { void *buffer; enum object_type type; unsigned long size; - buffer = read_sha1_file(hash, &type, &size); + buffer = read_sha1_file(hash->hash, &type, &size); if (!buffer) - die("unable to read tree (%s)", sha1_to_hex(hash)); + die("unable to read tree (%s)", oid_to_hex(hash)); if (type != OBJ_TREE) - die("%s is not a tree", sha1_to_hex(hash)); + die("%s is not a tree", oid_to_hex(hash)); init_tree_desc(desc, buffer, size); return buffer; } @@ -73,7 +73,7 @@ static int base_name_entries_compare(const struct name_entry *a, /* * Inspect two trees, and give a score that tells how similar they are. */ -static int score_trees(const unsigned char *hash1, const unsigned char *hash2) +static int score_trees(const struct object_id *hash1, const struct object_id *hash2) { struct tree_desc one; struct tree_desc two; @@ -104,7 +104,7 @@ static int score_trees(const unsigned char *hash1, const unsigned char *hash2) else if (cmp > 0) /* path2 does not appear in one */ score += score_missing(e2.mode, e2.path); - else if (hashcmp(e1.sha1, e2.sha1)) + else if (oidcmp(e1.oid, e2.oid)) /* they are different */ score += score_differs(e1.mode, e2.mode, e1.path); else @@ -119,8 +119,8 @@ static int score_trees(const unsigned char *hash1, const unsigned char *hash2) /* * Match one itself and its subtrees with two and pick the best match. */ -static void match_trees(const unsigned char *hash1, - const unsigned char *hash2, +static void match_trees(const struct object_id *hash1, + const struct object_id *hash2, int *best_score, char **best_match, const char *base, @@ -131,7 +131,7 @@ static void match_trees(const unsigned char *hash1, while (one.size) { const char *path; - const unsigned char *elem; + const struct object_id *elem; unsigned mode; int score; @@ -191,15 +191,15 @@ static int splice_tree(const unsigned char *hash1, while (desc.size) { const char *name; unsigned mode; - const unsigned char *sha1; + const struct object_id *oid; - sha1 = tree_entry_extract(&desc, &name, &mode); + oid = tree_entry_extract(&desc, &name, &mode); if (strlen(name) == toplen && !memcmp(name, prefix, toplen)) { if (!S_ISDIR(mode)) die("entry %s in tree %s is not a tree", name, sha1_to_hex(hash1)); - rewrite_here = (unsigned char *) sha1; + rewrite_here = (unsigned char *) oid->hash; break; } update_tree_entry(&desc); @@ -229,9 +229,9 @@ static int splice_tree(const unsigned char *hash1, * other hand, it could cover tree one and we might need to pick a * subtree of it. */ -void shift_tree(const unsigned char *hash1, - const unsigned char *hash2, - unsigned char *shifted, +void shift_tree(const struct object_id *hash1, + const struct object_id *hash2, + struct object_id *shifted, int depth_limit) { char *add_prefix; @@ -262,7 +262,7 @@ void shift_tree(const unsigned char *hash1, match_trees(hash2, hash1, &del_score, &del_prefix, "", depth_limit); /* Assume we do not have to do any shifting */ - hashcpy(shifted, hash2); + oidcpy(shifted, hash2); if (add_score < del_score) { /* We need to pick a subtree of two */ @@ -271,16 +271,16 @@ void shift_tree(const unsigned char *hash1, if (!*del_prefix) return; - if (get_tree_entry(hash2, del_prefix, shifted, &mode)) + if (get_tree_entry(hash2->hash, del_prefix, shifted->hash, &mode)) die("cannot find path %s in tree %s", - del_prefix, sha1_to_hex(hash2)); + del_prefix, oid_to_hex(hash2)); return; } if (!*add_prefix) return; - splice_tree(hash1, add_prefix, hash2, shifted); + splice_tree(hash1->hash, add_prefix, hash2->hash, shifted->hash); } /* @@ -288,22 +288,22 @@ void shift_tree(const unsigned char *hash1, * Unfortunately we cannot fundamentally tell which one to * be prefixed, as recursive merge can work in either direction. */ -void shift_tree_by(const unsigned char *hash1, - const unsigned char *hash2, - unsigned char *shifted, +void shift_tree_by(const struct object_id *hash1, + const struct object_id *hash2, + struct object_id *shifted, const char *shift_prefix) { - unsigned char sub1[20], sub2[20]; + struct object_id sub1, sub2; unsigned mode1, mode2; unsigned candidate = 0; /* Can hash2 be a tree at shift_prefix in tree hash1? */ - if (!get_tree_entry(hash1, shift_prefix, sub1, &mode1) && + if (!get_tree_entry(hash1->hash, shift_prefix, sub1.hash, &mode1) && S_ISDIR(mode1)) candidate |= 1; /* Can hash1 be a tree at shift_prefix in tree hash2? */ - if (!get_tree_entry(hash2, shift_prefix, sub2, &mode2) && + if (!get_tree_entry(hash2->hash, shift_prefix, sub2.hash, &mode2) && S_ISDIR(mode2)) candidate |= 2; @@ -313,19 +313,19 @@ void shift_tree_by(const unsigned char *hash1, int score; candidate = 0; - score = score_trees(sub1, hash2); + score = score_trees(&sub1, hash2); if (score > best_score) { candidate = 1; best_score = score; } - score = score_trees(sub2, hash1); + score = score_trees(&sub2, hash1); if (score > best_score) candidate = 2; } if (!candidate) { /* Neither is plausible -- do not shift */ - hashcpy(shifted, hash2); + oidcpy(shifted, hash2); return; } @@ -334,11 +334,11 @@ void shift_tree_by(const unsigned char *hash1, * shift tree2 down by adding shift_prefix above it * to match tree1. */ - splice_tree(hash1, shift_prefix, hash2, shifted); + splice_tree(hash1->hash, shift_prefix, hash2->hash, shifted->hash); else /* * shift tree2 up by removing shift_prefix from it * to match tree1. */ - hashcpy(shifted, sub2); + oidcpy(shifted, &sub2); } diff --git a/merge-blobs.c b/merge-blobs.c index ddca601c77..9b6eac22e4 100644 --- a/merge-blobs.c +++ b/merge-blobs.c @@ -48,40 +48,6 @@ static void *three_way_filemerge(const char *path, mmfile_t *base, mmfile_t *our return res.ptr; } -static int common_outf(void *priv_, mmbuffer_t *mb, int nbuf) -{ - int i; - mmfile_t *dst = priv_; - - for (i = 0; i < nbuf; i++) { - memcpy(dst->ptr + dst->size, mb[i].ptr, mb[i].size); - dst->size += mb[i].size; - } - return 0; -} - -static int generate_common_file(mmfile_t *res, mmfile_t *f1, mmfile_t *f2) -{ - unsigned long size = f1->size < f2->size ? f1->size : f2->size; - void *ptr = xmalloc(size); - xpparam_t xpp; - xdemitconf_t xecfg; - xdemitcb_t ecb; - - memset(&xpp, 0, sizeof(xpp)); - xpp.flags = 0; - memset(&xecfg, 0, sizeof(xecfg)); - xecfg.ctxlen = 3; - xecfg.flags = XDL_EMIT_COMMON; - ecb.outf = common_outf; - - res->ptr = ptr; - res->size = 0; - - ecb.priv = res; - return xdi_diff(f1, f2, &xpp, &xecfg, &ecb); -} - void *merge_blobs(const char *path, struct blob *base, struct blob *our, struct blob *their, unsigned long *size) { void *res = NULL; @@ -112,8 +78,8 @@ void *merge_blobs(const char *path, struct blob *base, struct blob *our, struct if (fill_mmfile_blob(&common, base) < 0) goto out_free_f2_f1; } else { - if (generate_common_file(&common, &f1, &f2) < 0) - goto out_free_f2_f1; + common.ptr = xstrdup(""); + common.size = 0; } res = three_way_filemerge(path, &common, &f1, &f2, size); free_mmfile(&common); diff --git a/merge-recursive.c b/merge-recursive.c index 8eabde20fb..65cb5d6c1f 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -29,9 +29,9 @@ static struct tree *shift_tree_object(struct tree *one, struct tree *two, struct object_id shifted; if (!*subtree_shift) { - shift_tree(one->object.oid.hash, two->object.oid.hash, shifted.hash, 0); + shift_tree(&one->object.oid, &two->object.oid, &shifted, 0); } else { - shift_tree_by(one->object.oid.hash, two->object.oid.hash, shifted.hash, + shift_tree_by(&one->object.oid, &two->object.oid, &shifted, subtree_shift); } if (!oidcmp(&two->object.oid, &shifted)) @@ -482,6 +482,9 @@ static struct string_list *get_renames(struct merge_options *o, struct diff_options opts; renames = xcalloc(1, sizeof(struct string_list)); + if (!o->detect_rename) + return renames; + diff_setup(&opts); DIFF_OPT_SET(&opts, RECURSIVE); DIFF_OPT_CLR(&opts, RENAME_EMPTY); @@ -619,7 +622,7 @@ static char *unique_path(struct merge_options *o, const char *path, const char * base_len = newpath.len; while (string_list_has_string(&o->current_file_set, newpath.buf) || string_list_has_string(&o->current_directory_set, newpath.buf) || - file_exists(newpath.buf)) { + (!o->call_depth && file_exists(newpath.buf))) { strbuf_setlen(&newpath, base_len); strbuf_addf(&newpath, "_%d", suffix++); } @@ -1231,8 +1234,8 @@ static void conflict_rename_rename_2to1(struct merge_options *o, a->path, c1->path, ci->branch1, b->path, c2->path, ci->branch2); - remove_file(o, 1, a->path, would_lose_untracked(a->path)); - remove_file(o, 1, b->path, would_lose_untracked(b->path)); + remove_file(o, 1, a->path, o->call_depth || would_lose_untracked(a->path)); + remove_file(o, 1, b->path, o->call_depth || would_lose_untracked(b->path)); mfi_c1 = merge_file_special_markers(o, a, c1, &ci->ren1_other, o->branch1, c1->path, @@ -1770,8 +1773,6 @@ static int process_entry(struct merge_options *o, output(o, 1, _("CONFLICT (%s): There is a directory with name %s in %s. " "Adding %s as %s"), conf, path, other_branch, path, new_path); - if (o->call_depth) - remove_file_from_cache(path); update_file(o, 0, sha, mode, new_path); if (o->call_depth) remove_file_from_cache(path); @@ -2039,6 +2040,7 @@ void init_merge_options(struct merge_options *o) o->diff_rename_limit = -1; o->merge_rename_limit = -1; o->renormalize = 0; + o->detect_rename = 1; merge_recursive_config(o); if (getenv("GIT_MERGE_VERBOSITY")) o->verbosity = @@ -2088,9 +2090,17 @@ int parse_merge_opt(struct merge_options *o, const char *s) o->renormalize = 1; else if (!strcmp(s, "no-renormalize")) o->renormalize = 0; - else if (skip_prefix(s, "rename-threshold=", &arg)) { + else if (!strcmp(s, "no-renames")) + o->detect_rename = 0; + else if (!strcmp(s, "find-renames")) { + o->detect_rename = 1; + o->rename_score = 0; + } + else if (skip_prefix(s, "find-renames=", &arg) || + skip_prefix(s, "rename-threshold=", &arg)) { if ((o->rename_score = parse_rename_score(&arg)) == -1 || *arg != 0) return -1; + o->detect_rename = 1; } else return -1; diff --git a/merge-recursive.h b/merge-recursive.h index 9e090a3470..52f0201f68 100644 --- a/merge-recursive.h +++ b/merge-recursive.h @@ -17,6 +17,7 @@ struct merge_options { unsigned renormalize : 1; long xdl_opts; int verbosity; + int detect_rename; int diff_rename_limit; int merge_rename_limit; int rename_score; diff --git a/mergetools/examdiff b/mergetools/examdiff new file mode 100644 index 0000000000..7b524d4088 --- /dev/null +++ b/mergetools/examdiff @@ -0,0 +1,18 @@ +diff_cmd () { + "$merge_tool_path" "$LOCAL" "$REMOTE" -nh +} + +merge_cmd () { + touch "$BACKUP" + if $base_present + then + "$merge_tool_path" -merge "$LOCAL" "$BASE" "$REMOTE" -o:"$MERGED" -nh + else + "$merge_tool_path" -merge "$LOCAL" "$REMOTE" -o:"$MERGED" -nh + fi + check_unchanged +} + +translate_merge_tool_path() { + mergetool_find_win32_cmd "ExamDiff.com" "ExamDiff Pro" +} diff --git a/mergetools/winmerge b/mergetools/winmerge index 74a66d4e8d..f3819d316a 100644 --- a/mergetools/winmerge +++ b/mergetools/winmerge @@ -13,24 +13,5 @@ merge_cmd () { } translate_merge_tool_path() { - # Use WinMergeU.exe if it exists in $PATH - if type -p WinMergeU.exe >/dev/null 2>&1 - then - printf WinMergeU.exe - return - fi - - # Look for WinMergeU.exe in the typical locations - winmerge_exe="WinMerge/WinMergeU.exe" - for directory in $(env | grep -Ei '^PROGRAM(FILES(\(X86\))?|W6432)=' | - cut -d '=' -f 2- | sort -u) - do - if test -n "$directory" && test -x "$directory/$winmerge_exe" - then - printf '%s' "$directory/$winmerge_exe" - return - fi - done - - printf WinMergeU.exe + mergetool_find_win32_cmd "WinMergeU.exe" "WinMerge" } diff --git a/name-hash.c b/name-hash.c index 332ba956e7..6d9f23e932 100644 --- a/name-hash.c +++ b/name-hash.c @@ -55,10 +55,9 @@ static struct dir_entry *hash_dir_entry(struct index_state *istate, dir = find_dir_entry(istate, ce->name, namelen); if (!dir) { /* not found, create it and add to hash table */ - dir = xcalloc(1, sizeof(struct dir_entry) + namelen + 1); + FLEX_ALLOC_MEM(dir, name, ce->name, namelen); hashmap_entry_init(dir, memihash(ce->name, namelen)); dir->namelen = namelen; - strncpy(dir->name, ce->name, namelen); hashmap_add(&istate->dir_hash, dir); /* recursively add missing parent directories */ @@ -446,7 +446,7 @@ static void load_subtree(struct notes_tree *t, struct leaf_node *subtree, l = (struct leaf_node *) xcalloc(1, sizeof(struct leaf_node)); hashcpy(l->key_sha1, object_sha1); - hashcpy(l->val_sha1, entry.sha1); + hashcpy(l->val_sha1, entry.oid->hash); if (len < 20) { if (!S_ISDIR(entry.mode) || path_len != 2) goto handle_non_note; /* not subtree */ @@ -493,7 +493,7 @@ handle_non_note: } strbuf_addstr(&non_note_path, entry.path); add_non_note(t, strbuf_detach(&non_note_path, NULL), - entry.mode, entry.sha1); + entry.mode, entry.oid->hash); } } free(buf); @@ -1035,7 +1035,7 @@ struct notes_tree **load_notes_trees(struct string_list *refs, int flags) struct string_list_item *item; int counter = 0; struct notes_tree **trees; - trees = xmalloc((refs->nr+1) * sizeof(struct notes_tree *)); + ALLOC_ARRAY(trees, refs->nr + 1); for_each_string_list_item(item, refs) { struct notes_tree *t = xcalloc(1, sizeof(struct notes_tree)); init_notes(t, item->string, combine_notes_ignore, flags); diff --git a/pack-check.c b/pack-check.c index 433bd86ccd..1da89a41ce 100644 --- a/pack-check.c +++ b/pack-check.c @@ -89,7 +89,7 @@ static int verify_packfile(struct packed_git *p, * we do not do scan-streaming check on the pack file. */ nr_objects = p->num_objects; - entries = xmalloc((nr_objects + 1) * sizeof(*entries)); + ALLOC_ARRAY(entries, nr_objects + 1); entries[nr_objects].offset = pack_sig_ofs; /* first sort entries by pack offset, since unpacking them is more efficient that way */ for (i = 0; i < nr_objects; i++) { diff --git a/pack-revindex.c b/pack-revindex.c index 155a8a3d69..96d51c3467 100644 --- a/pack-revindex.c +++ b/pack-revindex.c @@ -44,10 +44,14 @@ static void sort_revindex(struct revindex_entry *entries, unsigned n, off_t max) * keep track of them with alias pointers, always sorting from "from" * to "to". */ - struct revindex_entry *tmp = xmalloc(n * sizeof(*tmp)); - struct revindex_entry *from = entries, *to = tmp; + struct revindex_entry *tmp, *from, *to; int bits; - unsigned *pos = xmalloc(BUCKETS * sizeof(*pos)); + unsigned *pos; + + ALLOC_ARRAY(pos, BUCKETS); + ALLOC_ARRAY(tmp, n); + from = entries; + to = tmp; /* * If (max >> bits) is zero, then we know that the radix digit we are @@ -121,7 +125,7 @@ static void create_pack_revindex(struct packed_git *p) unsigned i; const char *index = p->index_data; - p->revindex = xmalloc(sizeof(*p->revindex) * (num_ent + 1)); + ALLOC_ARRAY(p->revindex, num_ent + 1); index += 4 * 256; if (p->index_version > 1) { @@ -134,7 +134,7 @@ static struct common_dir common_list[] = { * definite * definition * - * The trie would look look like: + * The trie would look like: * root: len = 0, children a and d non-NULL, value = NULL. * a: len = 2, contents = bc, value = (data for "abc") * d: len = 2, contents = ef, children i non-NULL, value = (data for "def") @@ -584,6 +584,9 @@ char *expand_user_path(const char *path) if (!home) goto return_null; strbuf_addstr(&user_path, home); +#ifdef GIT_WINDOWS_NATIVE + convert_slashes(user_path.buf); +#endif } else { struct passwd *pw = getpw_str(username, username_len); if (!pw) @@ -699,17 +702,17 @@ static int calc_shared_perm(int mode) { int tweak; - if (shared_repository < 0) - tweak = -shared_repository; + if (get_shared_repository() < 0) + tweak = -get_shared_repository(); else - tweak = shared_repository; + tweak = get_shared_repository(); if (!(mode & S_IWUSR)) tweak &= ~0222; if (mode & S_IXUSR) /* Copy read bits to execute bits */ tweak |= (tweak & 0444) >> 2; - if (shared_repository < 0) + if (get_shared_repository() < 0) mode = (mode & ~0777) | tweak; else mode |= tweak; @@ -722,7 +725,7 @@ int adjust_shared_perm(const char *path) { int old_mode, new_mode; - if (!shared_repository) + if (!get_shared_repository()) return 0; if (get_st_mode_bits(path, &old_mode) < 0) return -1; diff --git a/pathspec.c b/pathspec.c index 9304ee33d7..c9e9b6c077 100644 --- a/pathspec.c +++ b/pathspec.c @@ -406,7 +406,8 @@ void parse_pathspec(struct pathspec *pathspec, n++; pathspec->nr = n; - pathspec->items = item = xmalloc(sizeof(*item) * n); + ALLOC_ARRAY(pathspec->items, n); + item = pathspec->items; pathspec->_raw = argv; prefixlen = prefix ? strlen(prefix) : 0; @@ -483,7 +484,7 @@ const char **get_pathspec(const char *prefix, const char **pathspec) void copy_pathspec(struct pathspec *dst, const struct pathspec *src) { *dst = *src; - dst->items = xmalloc(sizeof(struct pathspec_item) * dst->nr); + ALLOC_ARRAY(dst->items, dst->nr); memcpy(dst->items, src->items, sizeof(struct pathspec_item) * dst->nr); } diff --git a/perl/Git.pm b/perl/Git.pm index 49eb88af8d..ce7e4e8da3 100644 --- a/perl/Git.pm +++ b/perl/Git.pm @@ -393,7 +393,7 @@ sub command_close_pipe { Execute the given C<COMMAND> in the same way as command_output_pipe() does but return both an input pipe filehandle and an output pipe filehandle. -The function will return return C<($pid, $pipe_in, $pipe_out, $ctx)>. +The function will return C<($pid, $pipe_in, $pipe_out, $ctx)>. See C<command_close_bidi_pipe()> for details. =cut diff --git a/perl/Git/SVN.pm b/perl/Git/SVN.pm index b2c14e2ff5..d94d01cfdc 100644 --- a/perl/Git/SVN.pm +++ b/perl/Git/SVN.pm @@ -97,7 +97,8 @@ sub resolve_local_globs { "existing: $existing\n", " globbed: $refname\n"; } - my $u = (::cmt_metadata("$refname"))[0]; + my $u = (::cmt_metadata("$refname"))[0] or die + "$refname: no associated commit metadata\n"; $u =~ s!^\Q$url\E(/|$)!! or die "$refname: '$url' not found in '$u'\n"; if ($pathname ne $u) { diff --git a/perl/Git/SVN/GlobSpec.pm b/perl/Git/SVN/GlobSpec.pm index c95f5d76ca..a0a8d17621 100644 --- a/perl/Git/SVN/GlobSpec.pm +++ b/perl/Git/SVN/GlobSpec.pm @@ -8,19 +8,23 @@ sub new { $re =~ s!/+$!!g; # no need for trailing slashes my (@left, @right, @patterns); my $state = "left"; - my $die_msg = "Only one set of wildcard directories " . - "(e.g. '*' or '*/*/*') is supported: '$glob'\n"; + my $die_msg = "Only one set of wildcards " . + "(e.g. '*' or '*/*/*') is supported: $glob\n"; for my $part (split(m|/|, $glob)) { - if ($part =~ /\*/ && $part ne "*") { - die "Invalid pattern in '$glob': $part\n"; - } elsif ($pattern_ok && $part =~ /[{}]/ && + if ($pattern_ok && $part =~ /[{}]/ && $part !~ /^\{[^{}]+\}/) { die "Invalid pattern in '$glob': $part\n"; } - if ($part eq "*") { + my $nstars = $part =~ tr/*//; + if ($nstars > 1) { + die "Only one '*' is allowed in a pattern: '$part'\n"; + } + if ($part =~ /(.*)\*(.*)/) { die $die_msg if $state eq "right"; + my ($l, $r) = ($1, $2); $state = "pattern"; - push(@patterns, "[^/]*"); + my $pat = quotemeta($l) . '[^/]*' . quotemeta($r); + push(@patterns, $pat); } elsif ($pattern_ok && $part =~ /^\{(.*)\}$/) { die $die_msg if $state eq "right"; $state = "pattern"; @@ -11,7 +11,7 @@ Leader: Alex Henrie <alexhenrie24@gmail.com> Language: de (German) Repository: https://github.com/ralfth/git-po-de -Leader: Ralf Thielow <ralf.thielow@googlemail.com> +Leader: Ralf Thielow <ralf.thielow@gmail.com> Members: Thomas Rast <tr@thomasrast.ch> Jan KrΓΌger <jk@jk.gs> Christian Stimming <stimming@tuhh.de> @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: Git\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2015-12-22 22:50+0800\n" -"PO-Revision-Date: 2015-12-27 21:42-0700\n" +"POT-Creation-Date: 2016-03-16 00:16+0800\n" +"PO-Revision-Date: 2016-03-19 23:51-0600\n" "Last-Translator: Alex Henrie <alexhenrie24@gmail.com>\n" "Language-Team: Catalan\n" "Language: ca\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 1.8.6\n" +"X-Generator: Poedit 1.8.7\n" #: advice.c:55 #, c-format @@ -32,7 +32,7 @@ msgstr "" "'git add/rm <fitxer>' segons sigui apropiat per a marcar la\n" "resoluciΓ³ i feu una comissiΓ³." -#: advice.c:101 builtin/merge.c:1225 +#: advice.c:101 builtin/merge.c:1226 msgid "You have not concluded your merge (MERGE_HEAD exists)." msgstr "No heu conclΓ²s la vostra fusiΓ³ (MERGE_HEAD existeix)." @@ -76,7 +76,7 @@ msgstr "format" msgid "archive format" msgstr "format d'arxiu" -#: archive.c:430 builtin/log.c:1229 +#: archive.c:430 builtin/log.c:1232 msgid "prefix" msgstr "prefix" @@ -84,10 +84,10 @@ msgstr "prefix" msgid "prepend prefix to each pathname in the archive" msgstr "anteposa el prefix a cada nom de camΓ en l'arxiu" -#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2535 builtin/blame.c:2536 -#: builtin/config.c:58 builtin/fast-export.c:987 builtin/fast-export.c:989 -#: builtin/grep.c:707 builtin/hash-object.c:99 builtin/ls-files.c:446 -#: builtin/ls-files.c:449 builtin/notes.c:395 builtin/notes.c:558 +#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2547 builtin/blame.c:2548 +#: builtin/config.c:60 builtin/fast-export.c:987 builtin/fast-export.c:989 +#: builtin/grep.c:720 builtin/hash-object.c:100 builtin/ls-files.c:459 +#: builtin/ls-files.c:462 builtin/notes.c:398 builtin/notes.c:561 #: builtin/read-tree.c:109 parse-options.h:153 msgid "file" msgstr "fitxer" @@ -120,7 +120,7 @@ msgstr "comprimeix millor" msgid "list supported archive formats" msgstr "allista els formats d'arxiu admesos" -#: archive.c:451 builtin/archive.c:90 builtin/clone.c:77 +#: archive.c:451 builtin/archive.c:90 builtin/clone.c:78 msgid "repo" msgstr "dipΓ²sit" @@ -128,7 +128,7 @@ msgstr "dipΓ²sit" msgid "retrieve the archive from remote repository <repo>" msgstr "recupera l'arxiu del dipΓ²sit remot <dipΓ²sit>" -#: archive.c:453 builtin/archive.c:92 builtin/notes.c:479 +#: archive.c:453 builtin/archive.c:92 builtin/notes.c:482 msgid "command" msgstr "ordre" @@ -136,7 +136,7 @@ msgstr "ordre" msgid "path to the remote git-upload-archive command" msgstr "camΓ a l'ordre git-upload-archive remota" -#: attr.c:265 +#: attr.c:263 msgid "" "Negative patterns are ignored in git attributes\n" "Use '\\!' for literal leading exclamation." @@ -144,90 +144,107 @@ msgstr "" "Els patrons negatius s'ignoren en els atributs de git\n" "Useu '\\!' per exclamaciΓ³ capdavantera literal." -#: branch.c:61 +#: branch.c:53 +#, c-format +msgid "" +"\n" +"After fixing the error cause you may try to fix up\n" +"the remote tracking information by invoking\n" +"\"git branch --set-upstream-to=%s%s%s\"." +msgstr "" +"\n" +"DesprΓ©s de corregir la causa de l'error, podeu\n" +"intentar corregir la informaciΓ³ de seguiment remot\n" +"invocant \"git branch --set-upstream-to=%s%s%s\"." + +#: branch.c:67 #, c-format msgid "Not setting branch %s as its own upstream." msgstr "No establint la branca %s com a la seva prΓ²pia font." -#: branch.c:84 +#: branch.c:93 #, c-format msgid "Branch %s set up to track remote branch %s from %s by rebasing." msgstr "" "La branca %s estΓ configurada per a seguir la branca remota %s de %s per " "rebasar." -#: branch.c:85 +#: branch.c:94 #, c-format msgid "Branch %s set up to track remote branch %s from %s." msgstr "La branca %s estΓ configurada per a seguir la branca remota %s de %s." -#: branch.c:89 +#: branch.c:98 #, c-format msgid "Branch %s set up to track local branch %s by rebasing." msgstr "" "La branca %s estΓ configurada per a seguir la branca local %s per rebasar." -#: branch.c:90 +#: branch.c:99 #, c-format msgid "Branch %s set up to track local branch %s." msgstr "La branca %s estΓ configurada per a seguir la branca local %s." -#: branch.c:95 +#: branch.c:104 #, c-format msgid "Branch %s set up to track remote ref %s by rebasing." msgstr "" "La branca %s estΓ configurada per a seguir la referΓ¨ncia remota %s per " "rebasar." -#: branch.c:96 +#: branch.c:105 #, c-format msgid "Branch %s set up to track remote ref %s." msgstr "La branca %s estΓ configurada per a seguir la referΓ¨ncia remota %s." -#: branch.c:100 +#: branch.c:109 #, c-format msgid "Branch %s set up to track local ref %s by rebasing." msgstr "" "La branca %s estΓ configurada per a seguir la referΓ¨ncia local %s per " "rebasar." -#: branch.c:101 +#: branch.c:110 #, c-format msgid "Branch %s set up to track local ref %s." msgstr "La branca %s estΓ configurada per a seguir la referΓ¨ncia local %s." -#: branch.c:134 +#: branch.c:119 +msgid "Unable to write upstream branch configuration" +msgstr "No es pot escriure la configuraciΓ³ de la branca font" + +#: branch.c:156 #, c-format msgid "Not tracking: ambiguous information for ref %s" msgstr "No seguint: informaciΓ³ ambigua per a la referΓ¨ncia %s" -#: branch.c:163 +#: branch.c:185 #, c-format msgid "'%s' is not a valid branch name." msgstr "'%s' no Γ©s un nom de branca vΓ lid." -#: branch.c:168 +#: branch.c:190 #, c-format msgid "A branch named '%s' already exists." msgstr "Una branca amb nom '%s' ja existeix." -#: branch.c:176 +#: branch.c:198 msgid "Cannot force update the current branch." msgstr "No es pot actualitzar la branca actual a la forΓ§a." -#: branch.c:196 +#: branch.c:218 #, c-format msgid "Cannot setup tracking information; starting point '%s' is not a branch." msgstr "" "No es pot configurar la informaciΓ³ de seguiment; el punt inicial '%s' no Γ©s " "una branca." -#: branch.c:198 +#: branch.c:220 #, c-format msgid "the requested upstream branch '%s' does not exist" msgstr "la branca font demanada '%s' no existeix" -#: branch.c:200 +#: branch.c:222 msgid "" "\n" "If you are planning on basing your work on an upstream\n" @@ -248,22 +265,22 @@ msgstr "" "\"git push -u\" per a establir la configuraciΓ³ font\n" "mentre pugeu." -#: branch.c:244 +#: branch.c:266 #, c-format msgid "Not a valid object name: '%s'." msgstr "No Γ©s un nom d'objecte vΓ lid: '%s'." -#: branch.c:264 +#: branch.c:286 #, c-format msgid "Ambiguous object name: '%s'." msgstr "Nom d'objecte ambigu: '%s'." -#: branch.c:269 +#: branch.c:291 #, c-format msgid "Not a valid branch point: '%s'." msgstr "No Γ©s un punt de ramificaciΓ³ vΓ lid: '%s'." -#: branch.c:322 +#: branch.c:344 #, c-format msgid "'%s' is already checked out at '%s'" msgstr "'%s' ja s'ha agafat a '%s'" @@ -287,10 +304,10 @@ msgstr "no s'ha pogut obrir '%s'" msgid "Repository lacks these prerequisite commits:" msgstr "Al dipΓ²sit li manquen aquestes comissions prerequisits:" -#: bundle.c:163 ref-filter.c:1372 sequencer.c:636 sequencer.c:1083 -#: builtin/blame.c:2734 builtin/commit.c:1045 builtin/log.c:334 -#: builtin/log.c:849 builtin/log.c:1461 builtin/log.c:1694 builtin/merge.c:358 -#: builtin/shortlog.c:158 +#: bundle.c:163 ref-filter.c:1462 sequencer.c:627 sequencer.c:1074 +#: builtin/blame.c:2754 builtin/commit.c:1045 builtin/log.c:334 +#: builtin/log.c:852 builtin/log.c:1467 builtin/log.c:1700 builtin/merge.c:358 +#: builtin/shortlog.c:170 msgid "revision walk setup failed" msgstr "la configuraciΓ³ del passeig per revisions ha fallat" @@ -329,7 +346,7 @@ msgstr "El rev-list s'ha mort" msgid "ref '%s' is excluded by the rev-list options" msgstr "les opcions de la llista de revisions exclouen la referΓ¨ncia '%s'" -#: bundle.c:443 builtin/log.c:157 builtin/log.c:1369 builtin/shortlog.c:261 +#: bundle.c:443 builtin/log.c:157 builtin/log.c:1372 builtin/shortlog.c:273 #, c-format msgid "unrecognized argument: %s" msgstr "parΓ metre no reconegut: %s" @@ -352,8 +369,8 @@ msgstr "L'index-pack s'ha mort" msgid "invalid color value: %.*s" msgstr "valor de color no vΓ lid: %.*s" -#: commit.c:40 builtin/am.c:452 builtin/am.c:488 builtin/am.c:1520 -#: builtin/am.c:2149 +#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1505 +#: builtin/am.c:2135 #, c-format msgid "could not parse %s" msgstr "no s'ha pogut analitzar %s" @@ -367,59 +384,64 @@ msgstr "%s %s no Γ©s una comissiΓ³!" msgid "memory exhausted" msgstr "memΓ²ria esgotada" -#: config.c:474 config.c:476 +#: config.c:475 config.c:477 #, c-format -msgid "bad config file line %d in %s" -msgstr "lΓnia de fitxer de configuraciΓ³ dolenta %d en %s" +msgid "bad config line %d in %s %s" +msgstr "lΓnia de fitxer de configuraciΓ³ dolenta %d en %s %s" -#: config.c:592 +#: config.c:593 #, c-format -msgid "bad numeric config value '%s' for '%s' in %s: %s" -msgstr "valor de configuraciΓ³ numΓ¨rica dolent '%s' per '%s' en %s: %s" +msgid "bad numeric config value '%s' for '%s' in %s %s: %s" +msgstr "valor de configuraciΓ³ numΓ¨rica dolent '%s' per '%s' en %s %s: %s" -#: config.c:594 +#: config.c:595 #, c-format msgid "bad numeric config value '%s' for '%s': %s" msgstr "valor de configuraciΓ³ numΓ¨rica dolent '%s' per '%s': %s" -#: config.c:679 +#: config.c:680 #, c-format msgid "failed to expand user dir in: '%s'" msgstr "s'ha fallat en expandir el directori d'usuari en '%s'" -#: config.c:757 config.c:768 +#: config.c:758 config.c:769 #, c-format msgid "bad zlib compression level %d" msgstr "nivell de compressiΓ³ de zlib dolent %d" -#: config.c:890 +#: config.c:891 #, c-format msgid "invalid mode for object creation: %s" msgstr "mode de creaciΓ³ d'objecte no vΓ lid: %s" -#: config.c:1216 +#: config.c:1220 msgid "unable to parse command-line config" msgstr "no s'ha pogut analitzar la configuraciΓ³ de la lΓnia d'ordres" -#: config.c:1277 +#: config.c:1281 msgid "unknown error occured while reading the configuration files" msgstr "ha ocorregut un error desconegut en llegir els fitxers de configuraciΓ³" -#: config.c:1601 +#: config.c:1629 #, c-format msgid "unable to parse '%s' from command-line config" msgstr "no s'ha pogut analitzar '%s' de la configuraciΓ³ de la lΓnia d'ordres" -#: config.c:1603 +#: config.c:1631 #, c-format msgid "bad config variable '%s' in file '%s' at line %d" msgstr "variable de configuraciΓ³ dolenta '%s' en el fitxer '%s' a la lΓnia %d" -#: config.c:1662 +#: config.c:1690 #, c-format msgid "%s has multiple values" msgstr "%s tΓ© mΓΊltiples valors" +#: config.c:2226 +#, c-format +msgid "Could not set '%s' to '%s'" +msgstr "No s'ha pogut establir '%s' com a '%s'" + #: connected.c:69 msgid "Could not run 'git rev-list'" msgstr "No s'ha pogut executar 'git rev-list'" @@ -536,16 +558,16 @@ msgstr "" "Errors trobats en la variable de configuraciΓ³ 'diff.dirstat':\n" "%s" -#: diff.c:3000 +#: diff.c:2997 #, c-format msgid "external diff died, stopping at %s" msgstr "El diff external s'ha mort, aturant a %s" -#: diff.c:3396 +#: diff.c:3393 msgid "--follow requires exactly one pathspec" msgstr "--follow requereix exactament una especificaciΓ³ de camΓ" -#: diff.c:3559 +#: diff.c:3556 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" @@ -554,18 +576,19 @@ msgstr "" "S'ha fallat en analitzar el parΓ metre d'opciΓ³ de --dirstat/-X:\n" "%s" -#: diff.c:3573 +#: diff.c:3570 #, c-format msgid "Failed to parse --submodule option parameter: '%s'" msgstr "S'ha fallat en analitzar el parΓ metre d'opciΓ³ de --submodule: %s" -#: dir.c:1915 +#: dir.c:2004 msgid "failed to get kernel name and information" msgstr "s'ha fallat en obtenir el nombre i la informaciΓ³ del nucli" -#: dir.c:1998 -msgid "Untracked cache is disabled on this system." -msgstr "La memΓ²ria cau no seguida estΓ deshabilitada en aquest sistema." +#: dir.c:2123 +msgid "Untracked cache is disabled on this system or location." +msgstr "" +"La memΓ²ria cau no seguida estΓ inhabilitada en aquest sistema o ubicaciΓ³." #: gpg-interface.c:166 gpg-interface.c:237 msgid "could not run gpg." @@ -604,20 +627,20 @@ msgstr "'%s': %s" msgid "'%s': short read %s" msgstr "'%s': lectura curta %s" -#: help.c:207 +#: help.c:205 #, c-format msgid "available git commands in '%s'" msgstr "ordres de git disponibles en '%s'" -#: help.c:214 +#: help.c:212 msgid "git commands available from elsewhere on your $PATH" msgstr "ordres de git disponibles d'altres llocs en el vostre $PATH" -#: help.c:246 +#: help.c:244 msgid "These are common Git commands used in various situations:" msgstr "Aquestes sΓ³n ordres del Git comunament usades en diverses situacions:" -#: help.c:311 +#: help.c:309 #, c-format msgid "" "'%s' appears to be a git command, but we were not\n" @@ -626,11 +649,11 @@ msgstr "" "'%s' sembla una ordre de git, perΓ² no hem pogut\n" "executar-la. Pot ser que git-%s estigui estropejat?" -#: help.c:368 +#: help.c:366 msgid "Uh oh. Your system reports no Git commands at all." msgstr "Ai. El vostre sistema no informa de cap ordre de Git." -#: help.c:390 +#: help.c:388 #, c-format msgid "" "WARNING: You called a Git command named '%s', which does not exist.\n" @@ -639,17 +662,17 @@ msgstr "" "AVΓS: Heu invocat una ordre de Git amb nom '%s', la qual no existeix.\n" "Continuant sota l'assumpciΓ³ que volΓeu dir '%s'" -#: help.c:395 +#: help.c:393 #, c-format msgid "in %0.1f seconds automatically..." msgstr "en %0.1f segons automΓ ticament..." -#: help.c:402 +#: help.c:400 #, c-format msgid "git: '%s' is not a git command. See 'git --help'." msgstr "git: '%s' no Γ©s una ordre de git. Vegeu 'git --help'." -#: help.c:406 help.c:466 +#: help.c:404 help.c:464 msgid "" "\n" "Did you mean this?" @@ -663,7 +686,7 @@ msgstr[1] "" "\n" "VolΓeu dir un d'aquests?" -#: help.c:462 +#: help.c:460 #, c-format msgid "%s: %s - %s" msgstr "%s: %s - %s" @@ -672,8 +695,8 @@ msgstr "%s: %s - %s" msgid "failed to read the cache" msgstr "s'ha fallat en llegir la memΓ²ria cau" -#: merge.c:94 builtin/am.c:2022 builtin/am.c:2057 builtin/checkout.c:376 -#: builtin/checkout.c:587 builtin/clone.c:722 +#: merge.c:94 builtin/am.c:2008 builtin/am.c:2043 builtin/checkout.c:376 +#: builtin/checkout.c:587 builtin/clone.c:730 msgid "unable to write new index file" msgstr "no s'ha pogut escriure un fitxer d'Γndex nou" @@ -691,64 +714,64 @@ msgstr "addinfo_cache ha fallat per al camΓ '%s'" msgid "error building trees" msgstr "error en construir arbres" -#: merge-recursive.c:686 +#: merge-recursive.c:689 #, c-format msgid "failed to create path '%s'%s" msgstr "s'ha fallat en crear el camΓ '%s' %s" -#: merge-recursive.c:697 +#: merge-recursive.c:700 #, c-format msgid "Removing %s to make room for subdirectory\n" msgstr "Eliminant %s per a fer espai per al subdirectori\n" -#: merge-recursive.c:711 merge-recursive.c:732 +#: merge-recursive.c:714 merge-recursive.c:735 msgid ": perhaps a D/F conflict?" msgstr ": potser un conflicte D/F?" -#: merge-recursive.c:722 +#: merge-recursive.c:725 #, c-format msgid "refusing to lose untracked file at '%s'" msgstr "refusant perdre el fitxer no seguit a '%s'" -#: merge-recursive.c:762 +#: merge-recursive.c:765 #, c-format msgid "cannot read object %s '%s'" msgstr "no es pot llegir l'objecte %s '%s'" -#: merge-recursive.c:764 +#: merge-recursive.c:767 #, c-format msgid "blob expected for %s '%s'" msgstr "blob esperat per a %s '%s'" -#: merge-recursive.c:787 builtin/clone.c:369 +#: merge-recursive.c:790 builtin/clone.c:374 #, c-format msgid "failed to open '%s'" msgstr "s'ha fallat en obrir '%s'" -#: merge-recursive.c:795 +#: merge-recursive.c:798 #, c-format msgid "failed to symlink '%s'" msgstr "s'ha fallat en fer l'enllaΓ§ simbΓ²lic '%s'" -#: merge-recursive.c:798 +#: merge-recursive.c:801 #, c-format msgid "do not know what to do with %06o %s '%s'" msgstr "no se sap quΓ¨ fer amb %06o %s '%s'" -#: merge-recursive.c:936 +#: merge-recursive.c:939 msgid "Failed to execute internal merge" msgstr "S'ha fallat en executar la fusiΓ³ interna" -#: merge-recursive.c:940 +#: merge-recursive.c:943 #, c-format msgid "Unable to add %s to database" msgstr "no s'ha pogut afegir %s a la base de dades" -#: merge-recursive.c:956 +#: merge-recursive.c:959 msgid "unsupported object type in the tree" msgstr "tipus d'objecte no compatible en l'arbre" -#: merge-recursive.c:1031 merge-recursive.c:1045 +#: merge-recursive.c:1034 merge-recursive.c:1048 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -757,7 +780,7 @@ msgstr "" "CONFLICTE: (%s/supressiΓ³): %s suprimit en %s i %s en %s. La versiΓ³ %s de %s " "s'ha deixat en l'arbre." -#: merge-recursive.c:1037 merge-recursive.c:1050 +#: merge-recursive.c:1040 merge-recursive.c:1053 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -766,20 +789,20 @@ msgstr "" "CONFLICTE: (%s/supressiΓ³): %s suprimit en %s i %s en %s. La versiΓ³ %s de %s " "s'ha deixat en l'arbre a %s." -#: merge-recursive.c:1091 +#: merge-recursive.c:1094 msgid "rename" msgstr "canvia de nom" -#: merge-recursive.c:1091 +#: merge-recursive.c:1094 msgid "renamed" msgstr "canviat de nom" -#: merge-recursive.c:1147 +#: merge-recursive.c:1150 #, c-format msgid "%s is a directory in %s adding as %s instead" msgstr "%s Γ©s un directori en %s; afegint com a %s en lloc" -#: merge-recursive.c:1169 +#: merge-recursive.c:1172 #, c-format msgid "" "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s" @@ -788,147 +811,147 @@ msgstr "" "CONFLICTE (canvi de nom/canvi de nom): Canvi de nom \"%s\"->\"%s\" en la " "branca \"%s\" canvi de nom \"%s\"->\"%s\" en \"%s\"%s" -#: merge-recursive.c:1174 +#: merge-recursive.c:1177 msgid " (left unresolved)" msgstr " (deixat sense resoluciΓ³)" -#: merge-recursive.c:1228 +#: merge-recursive.c:1231 #, c-format msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s" msgstr "" "CONFLICTE (canvi de nom/canvi de nom): Canvi de nom %s->%s en %s. Canvi de " "nom %s->%s en %s" -#: merge-recursive.c:1258 +#: merge-recursive.c:1261 #, c-format msgid "Renaming %s to %s and %s to %s instead" msgstr "Canviant el nom de %s a %s i %s a %s en lloc d'aixΓ²" -#: merge-recursive.c:1457 +#: merge-recursive.c:1460 #, c-format msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s" msgstr "" "CONFLICTE (canvi de nom/afegiment): Canvi de nom %s->%s en %s. %s afegit en " "%s" -#: merge-recursive.c:1467 +#: merge-recursive.c:1470 #, c-format msgid "Adding merged %s" msgstr "Afegint %s fusionat" -#: merge-recursive.c:1472 merge-recursive.c:1674 +#: merge-recursive.c:1475 merge-recursive.c:1677 #, c-format msgid "Adding as %s instead" msgstr "Afegint com a %s en lloc d'aixΓ²" -#: merge-recursive.c:1523 +#: merge-recursive.c:1526 #, c-format msgid "cannot read object %s" msgstr "no es pot llegir l'objecte %s" -#: merge-recursive.c:1526 +#: merge-recursive.c:1529 #, c-format msgid "object %s is not a blob" msgstr "L'objecte %s no Γ©s un blob" -#: merge-recursive.c:1578 +#: merge-recursive.c:1581 msgid "modify" msgstr "modifica" -#: merge-recursive.c:1578 +#: merge-recursive.c:1581 msgid "modified" msgstr "modificat" -#: merge-recursive.c:1588 +#: merge-recursive.c:1591 msgid "content" msgstr "contingut" -#: merge-recursive.c:1595 +#: merge-recursive.c:1598 msgid "add/add" msgstr "afegiment/afegiment" -#: merge-recursive.c:1629 +#: merge-recursive.c:1632 #, c-format msgid "Skipped %s (merged same as existing)" msgstr "%s saltat (el fusionat Γ©s igual a l'existent)" -#: merge-recursive.c:1643 +#: merge-recursive.c:1646 #, c-format msgid "Auto-merging %s" msgstr "Autofusionant %s" -#: merge-recursive.c:1647 git-submodule.sh:1025 +#: merge-recursive.c:1650 git-submodule.sh:1048 msgid "submodule" msgstr "submΓ²dul" -#: merge-recursive.c:1648 +#: merge-recursive.c:1651 #, c-format msgid "CONFLICT (%s): Merge conflict in %s" msgstr "CONFLICTE (%s): Conflicte de fusiΓ³ en %s" -#: merge-recursive.c:1734 +#: merge-recursive.c:1737 #, c-format msgid "Removing %s" msgstr "Eliminant %s" -#: merge-recursive.c:1759 +#: merge-recursive.c:1762 msgid "file/directory" msgstr "fitxer/directori" -#: merge-recursive.c:1765 +#: merge-recursive.c:1768 msgid "directory/file" msgstr "directori/fitxer" -#: merge-recursive.c:1770 +#: merge-recursive.c:1773 #, c-format msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s" msgstr "" "CONFLICTE (%s): Hi ha un directori amb nom %s en %s. Afegint %s com a %s" -#: merge-recursive.c:1780 +#: merge-recursive.c:1783 #, c-format msgid "Adding %s" msgstr "Afegint %s" -#: merge-recursive.c:1797 +#: merge-recursive.c:1800 msgid "Fatal merge failure, shouldn't happen." msgstr "Fallat de fusiΓ³ fatal; aixΓ² no ha de passar." -#: merge-recursive.c:1816 +#: merge-recursive.c:1819 msgid "Already up-to-date!" msgstr "Ja al dia!" -#: merge-recursive.c:1825 +#: merge-recursive.c:1828 #, c-format msgid "merging of trees %s and %s failed" msgstr "la fusiΓ³ dels arbres %s i %s ha fallat" -#: merge-recursive.c:1855 +#: merge-recursive.c:1858 #, c-format msgid "Unprocessed path??? %s" msgstr "CamΓ no processat??? %s" -#: merge-recursive.c:1903 +#: merge-recursive.c:1906 msgid "Merging:" msgstr "Fusionant:" -#: merge-recursive.c:1916 +#: merge-recursive.c:1919 #, c-format msgid "found %u common ancestor:" msgid_plural "found %u common ancestors:" msgstr[0] "s'ha trobat %u avantpassat:" msgstr[1] "s'han trobat %u avantpassats:" -#: merge-recursive.c:1953 +#: merge-recursive.c:1956 msgid "merge returned no commit" msgstr "la fusiΓ³ no ha retornat cap comissiΓ³" -#: merge-recursive.c:2010 +#: merge-recursive.c:2013 #, c-format msgid "Could not parse object '%s'" msgstr "No s'ha pogut analitzar l'objecte '%s'" -#: merge-recursive.c:2021 builtin/merge.c:645 +#: merge-recursive.c:2024 builtin/merge.c:646 msgid "Unable to write index." msgstr "No s'ha pogut escriure l'Γndex." @@ -986,7 +1009,7 @@ msgstr "-NUM" #: parse-options-cb.c:108 #, c-format msgid "malformed object name '%s'" -msgstr "nom d'objecte mal format '%s'" +msgstr "nom de camp mal format '%s'" #: path.c:752 #, c-format @@ -1047,12 +1070,12 @@ msgid "%s: pathspec magic not supported by this command: %s" msgstr "" "%s: aquesta ordre no Γ©s compatible amb la mΓ gia d'especificaciΓ³ de camΓ: %s" -#: pathspec.c:432 +#: pathspec.c:433 #, c-format msgid "pathspec '%s' is beyond a symbolic link" msgstr "l'especificaciΓ³ de camΓ '%s' Γ©s mΓ©s enllΓ d'un enllaΓ§ simbΓ²lic" -#: pathspec.c:441 +#: pathspec.c:442 msgid "" "There is nothing to exclude from by :(exclude) patterns.\n" "Perhaps you forgot to add either ':/' or '.' ?" @@ -1086,164 +1109,249 @@ msgstr "" "GIT_INDEX_VERSION establert, perΓ² el valor no Γ©s vΓ lid.\n" "Usant la versiΓ³ %i" -#: refs.c:543 builtin/merge.c:760 builtin/merge.c:871 builtin/merge.c:973 -#: builtin/merge.c:983 +#: refs.c:543 builtin/merge.c:761 builtin/merge.c:872 builtin/merge.c:974 +#: builtin/merge.c:984 #, c-format msgid "Could not open '%s' for writing" msgstr "No s'ha pogut obrir '%s' per a escriptura" -#: refs/files-backend.c:2359 +#: refs/files-backend.c:2374 #, c-format msgid "could not delete reference %s: %s" msgstr "no s'ha pogut suprimir la referΓ¨ncia %s: %s" -#: refs/files-backend.c:2362 +#: refs/files-backend.c:2377 #, c-format msgid "could not delete references: %s" msgstr "no s'ha pogut suprimir les referΓ¨ncies: %s" -#: refs/files-backend.c:2371 +#: refs/files-backend.c:2386 #, c-format msgid "could not remove reference %s" msgstr "no s'ha pogut eliminar la referΓ¨ncia %s" -#: ref-filter.c:245 +#: ref-filter.c:55 #, c-format -msgid "format: %%(end) atom used without corresponding atom" -msgstr "format: s'ha usat l'Γ tom %%(end) sense l'Γ tom corresponent" +msgid "expected format: %%(color:<color>)" +msgstr "format esperat: %%(color:<color>)" + +#: ref-filter.c:57 +#, c-format +msgid "unrecognized color: %%(color:%s)" +msgstr "color no reconegut: %%(color:%s)" + +#: ref-filter.c:71 +#, c-format +msgid "unrecognized format: %%(%s)" +msgstr "format no reconegut: %%(%s)" + +#: ref-filter.c:77 +#, c-format +msgid "%%(body) does not take arguments" +msgstr "%%(body) no accepta parΓ metres" + +#: ref-filter.c:84 +#, c-format +msgid "%%(subject) does not take arguments" +msgstr "%%(subject) no accepta parΓ metres" -#: ref-filter.c:704 +#: ref-filter.c:101 #, c-format msgid "positive value expected contents:lines=%s" msgstr "valor positiu esperat contents:lines=%s" -#: ref-filter.c:833 +#: ref-filter.c:103 #, c-format -msgid "expected format: %%(color:<color>)" -msgstr "format esperat: %%(color:<color>)" +msgid "unrecognized %%(contents) argument: %s" +msgstr "parΓ metre %%(contents) no reconegut: %s" -#: ref-filter.c:835 -msgid "unable to parse format" -msgstr "no s'ha pogut analitzar el format" +#: ref-filter.c:113 +#, c-format +msgid "unrecognized %%(objectname) argument: %s" +msgstr "parΓ metre %%(objectname) no reconegut: %s" -#: ref-filter.c:870 +#: ref-filter.c:135 #, c-format msgid "expected format: %%(align:<width>,<position>)" msgstr "format esperat: %%(align:<amplada>,<posiciΓ³>)" -#: ref-filter.c:893 +#: ref-filter.c:147 +#, c-format +msgid "unrecognized position:%s" +msgstr "posiciΓ³ no reconeguda:%s" + +#: ref-filter.c:151 #, c-format -msgid "improper format entered align:%s" -msgstr "format impropi introduΓ―t align:%s" +msgid "unrecognized width:%s" +msgstr "amplada no reconeguda:%s" -#: ref-filter.c:898 +#: ref-filter.c:157 +#, c-format +msgid "unrecognized %%(align) argument: %s" +msgstr "parΓ metre %%(align) no reconegut: %s" + +#: ref-filter.c:161 #, c-format msgid "positive width expected with the %%(align) atom" msgstr "amplada positiva esperada amb l'Γ tom %%(align)" -#: ref-filter.c:1219 +#: ref-filter.c:244 +#, c-format +msgid "malformed field name: %.*s" +msgstr "nom d'objecte mal format: %.*s" + +#: ref-filter.c:270 +#, c-format +msgid "unknown field name: %.*s" +msgstr "nom de camp desconegut: %.*s" + +#: ref-filter.c:372 +#, c-format +msgid "format: %%(end) atom used without corresponding atom" +msgstr "format: s'ha usat l'Γ tom %%(end) sense l'Γ tom corresponent" + +#: ref-filter.c:424 +#, c-format +msgid "malformed format string %s" +msgstr "cadena de format mal format %s" + +#: ref-filter.c:878 +msgid ":strip= requires a positive integer argument" +msgstr ":strip= requereix un parΓ metre enter positiu" + +#: ref-filter.c:883 +#, c-format +msgid "ref '%s' does not have %ld components to :strip" +msgstr "la referΓ¨ncia '%s' no tΓ© %ld components per a :strip" + +#: ref-filter.c:1046 +#, c-format +msgid "unknown %.*s format %s" +msgstr "format de %.*s desconegut %s" + +#: ref-filter.c:1066 ref-filter.c:1097 +#, c-format +msgid "missing object %s for %s" +msgstr "manca l'objecte %s per a %s" + +#: ref-filter.c:1069 ref-filter.c:1100 +#, c-format +msgid "parse_object_buffer failed on %s for %s" +msgstr "parse_object_buffer ha fallat en %s per a %s" + +#: ref-filter.c:1311 #, c-format msgid "malformed object at '%s'" msgstr "objecte mal format a '%s'" -#: ref-filter.c:1561 +#: ref-filter.c:1373 +#, c-format +msgid "ignoring ref with broken name %s" +msgstr "ignorant la referΓ¨ncia amb nom trencat %s" + +#: ref-filter.c:1378 +#, c-format +msgid "ignoring broken ref %s" +msgstr "ignorant la referΓ¨ncia trencada %s" + +#: ref-filter.c:1651 #, c-format msgid "format: %%(end) atom missing" msgstr "format: manca l'Γ tom %%(end)" -#: ref-filter.c:1615 +#: ref-filter.c:1705 #, c-format msgid "malformed object name %s" msgstr "nom d'objecte %s mal format" -#: remote.c:756 +#: remote.c:745 #, c-format msgid "Cannot fetch both %s and %s to %s" msgstr "No es pot obtenir ambdΓ³s %s i %s a %s" -#: remote.c:760 +#: remote.c:749 #, c-format msgid "%s usually tracks %s, not %s" msgstr "%s generalment segueix %s, no %s" -#: remote.c:764 +#: remote.c:753 #, c-format msgid "%s tracks both %s and %s" msgstr "%s segueix ambdΓ³s %s i %s" -#: remote.c:772 +#: remote.c:761 msgid "Internal error" msgstr "Error intern" -#: remote.c:1687 remote.c:1730 +#: remote.c:1677 remote.c:1720 msgid "HEAD does not point to a branch" msgstr "HEAD no assenyala cap branca" -#: remote.c:1696 +#: remote.c:1686 #, c-format msgid "no such branch: '%s'" msgstr "no hi ha tal branca: '%s'" -#: remote.c:1699 +#: remote.c:1689 #, c-format msgid "no upstream configured for branch '%s'" msgstr "cap font configurada per a la branca '%s'" -#: remote.c:1705 +#: remote.c:1695 #, c-format msgid "upstream branch '%s' not stored as a remote-tracking branch" msgstr "La branca font '%s' no s'emmagatzema com a branca amb seguiment remot" -#: remote.c:1720 +#: remote.c:1710 #, c-format msgid "push destination '%s' on remote '%s' has no local tracking branch" msgstr "" "el destΓ de pujada '%s' en el remot '%s' no tΓ© cap branca seguidora local" -#: remote.c:1735 +#: remote.c:1725 #, c-format msgid "branch '%s' has no remote for pushing" msgstr "la branca '%s' no tΓ© cap remot al qual pujar" -#: remote.c:1746 +#: remote.c:1736 #, c-format msgid "push refspecs for '%s' do not include '%s'" msgstr "les especificacions de referΓ¨ncia de '%s' no inclouen '%s'" -#: remote.c:1759 +#: remote.c:1749 msgid "push has no destination (push.default is 'nothing')" msgstr "push no tΓ© destΓ (push.default Γ©s 'nothing')" -#: remote.c:1781 +#: remote.c:1771 msgid "cannot resolve 'simple' push to a single destination" msgstr "no es pot resoldre una pujada 'simple' a un sol destΓ" -#: remote.c:2083 +#: remote.c:2073 #, c-format msgid "Your branch is based on '%s', but the upstream is gone.\n" msgstr "La vostra branca estΓ basada en '%s', perΓ² la font no hi Γ©s.\n" -#: remote.c:2087 +#: remote.c:2077 msgid " (use \"git branch --unset-upstream\" to fixup)\n" msgstr " (useu \"git branch --unset-upstream\" per a arreglar)\n" -#: remote.c:2090 +#: remote.c:2080 #, c-format msgid "Your branch is up-to-date with '%s'.\n" msgstr "La vostra branca estΓ al dia amb '%s'.\n" -#: remote.c:2094 +#: remote.c:2084 #, c-format msgid "Your branch is ahead of '%s' by %d commit.\n" msgid_plural "Your branch is ahead of '%s' by %d commits.\n" msgstr[0] "La vostra branca estΓ davant de '%s' per %d comissiΓ³.\n" msgstr[1] "La vostra branca estΓ davant de '%s' per %d comissions.\n" -#: remote.c:2100 +#: remote.c:2090 msgid " (use \"git push\" to publish your local commits)\n" msgstr " (useu \"git push\" per a publicar les vostres comissions locals)\n" -#: remote.c:2103 +#: remote.c:2093 #, c-format msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n" msgid_plural "" @@ -1255,11 +1363,11 @@ msgstr[1] "" "La vostra branca estΓ darrere de '%s' per %d comissions, i pot avanΓ§ar-se " "rΓ pidament.\n" -#: remote.c:2111 +#: remote.c:2101 msgid " (use \"git pull\" to update your local branch)\n" msgstr " (useu \"git pull\" per a actualitzar la vostra branca local)\n" -#: remote.c:2114 +#: remote.c:2104 #, c-format msgid "" "Your branch and '%s' have diverged,\n" @@ -1274,28 +1382,28 @@ msgstr[1] "" "La vostra branca i '%s' s'han divergit,\n" "i tenen %d i %d comissions distintes cada una, respectivament.\n" -#: remote.c:2124 +#: remote.c:2114 msgid " (use \"git pull\" to merge the remote branch into yours)\n" msgstr " (useu \"git pull\" per a fusionar la branca remota a la vostra)\n" -#: revision.c:2193 +#: revision.c:2131 msgid "your current branch appears to be broken" msgstr "la vostra branca actual sembla trencada" -#: revision.c:2196 +#: revision.c:2134 #, c-format msgid "your current branch '%s' does not have any commits yet" msgstr "la vostra branca actual '%s' encara no tΓ© cap comissiΓ³" -#: revision.c:2390 +#: revision.c:2328 msgid "--first-parent is incompatible with --bisect" msgstr "--first-parent Γ©s incompatible amb --bisect" -#: run-command.c:90 +#: run-command.c:92 msgid "open /dev/null failed" msgstr "s'ha fallat en obrir /dev/null" -#: run-command.c:92 +#: run-command.c:94 #, c-format msgid "dup2(%d,%d) failed" msgstr "dup2(%d,%d) ha fallat" @@ -1320,7 +1428,7 @@ msgstr "" msgid "the receiving end does not support --atomic push" msgstr "el destΓ receptor no admet pujar --atomic" -#: sequencer.c:183 +#: sequencer.c:174 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'" @@ -1328,7 +1436,7 @@ msgstr "" "desprΓ©s de resoldre els conflictes, marqueu els camins\n" "corregits amb 'git add <camins>' o 'git rm <camins>'" -#: sequencer.c:186 +#: sequencer.c:177 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'\n" @@ -1338,67 +1446,67 @@ msgstr "" "corregits amb 'git add <camins>' o 'git rm <camins>'\n" "i cometeu el resultat amb 'git commit'" -#: sequencer.c:199 sequencer.c:842 sequencer.c:922 +#: sequencer.c:190 sequencer.c:833 sequencer.c:913 #, c-format msgid "Could not write to %s" msgstr "No s'ha pogut escriure a %s" -#: sequencer.c:202 +#: sequencer.c:193 #, c-format msgid "Error wrapping up %s" msgstr "Error en finalitzar %s" -#: sequencer.c:217 +#: sequencer.c:208 msgid "Your local changes would be overwritten by cherry-pick." msgstr "Els vostres canvis locals se sobreescriurien pel recull de cireres." -#: sequencer.c:219 +#: sequencer.c:210 msgid "Your local changes would be overwritten by revert." msgstr "Els vostres canvis locals se sobreescriurien per la reversiΓ³." -#: sequencer.c:222 +#: sequencer.c:213 msgid "Commit your changes or stash them to proceed." msgstr "Cometeu els vostres canvis o emmagatzemeu-los per a procedir." #. TRANSLATORS: %s will be "revert" or "cherry-pick" -#: sequencer.c:309 +#: sequencer.c:300 #, c-format msgid "%s: Unable to write new index file" msgstr "%s: No s'ha pogut escriure un fitxer d'Γndex nou" -#: sequencer.c:327 +#: sequencer.c:318 msgid "Could not resolve HEAD commit\n" msgstr "No s'ha pogut resoldre la comissiΓ³ HEAD\n" -#: sequencer.c:347 +#: sequencer.c:338 msgid "Unable to update cache tree\n" msgstr "No s'ha pogut actualitzar l'arbre cau\n" -#: sequencer.c:399 +#: sequencer.c:390 #, c-format msgid "Could not parse commit %s\n" msgstr "No s'ha pogut analitzar la comissiΓ³ %s\n" -#: sequencer.c:404 +#: sequencer.c:395 #, c-format msgid "Could not parse parent commit %s\n" msgstr "No s'ha pogut analitzar la comissiΓ³ mare %s\n" -#: sequencer.c:469 +#: sequencer.c:460 msgid "Your index file is unmerged." msgstr "El vostre fitxer d'Γndex estΓ sense fusionar." -#: sequencer.c:488 +#: sequencer.c:479 #, c-format msgid "Commit %s is a merge but no -m option was given." msgstr "La comissiΓ³ %s Γ©s una fusiΓ³ perΓ² no s'ha donat cap opciΓ³ -m." -#: sequencer.c:496 +#: sequencer.c:487 #, c-format msgid "Commit %s does not have parent %d" msgstr "La comissiΓ³ %s no tΓ© mare %d" -#: sequencer.c:500 +#: sequencer.c:491 #, c-format msgid "Mainline was specified but commit %s is not a merge." msgstr "" @@ -1406,162 +1514,178 @@ msgstr "" #. TRANSLATORS: The first %s will be "revert" or #. "cherry-pick", the second %s a SHA1 -#: sequencer.c:513 +#: sequencer.c:504 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "%s: no es pot analitzar la comissiΓ³ mare %s" -#: sequencer.c:517 +#: sequencer.c:508 #, c-format msgid "Cannot get commit message for %s" msgstr "No es pot obtenir el missatge de comissiΓ³ de %s" -#: sequencer.c:603 +#: sequencer.c:594 #, c-format msgid "could not revert %s... %s" msgstr "no s'ha pogut revertir %s...%s" -#: sequencer.c:604 +#: sequencer.c:595 #, c-format msgid "could not apply %s... %s" msgstr "no s'ha pogut aplicar %s...%s" -#: sequencer.c:639 +#: sequencer.c:630 msgid "empty commit set passed" msgstr "conjunt de comissions buit passat" -#: sequencer.c:647 +#: sequencer.c:638 #, c-format msgid "git %s: failed to read the index" msgstr "git %s: s'ha fallat en llegir l'Γndex" -#: sequencer.c:651 +#: sequencer.c:642 #, c-format msgid "git %s: failed to refresh the index" msgstr "git %s: s'ha fallat en actualitzar l'Γndex" -#: sequencer.c:711 +#: sequencer.c:702 #, c-format msgid "Cannot %s during a %s" msgstr "No es pot %s durant un %s" -#: sequencer.c:733 +#: sequencer.c:724 #, c-format msgid "Could not parse line %d." msgstr "No s'ha pogut analitzar la lΓnia %d." -#: sequencer.c:738 +#: sequencer.c:729 msgid "No commits parsed." msgstr "Cap comissiΓ³ analitzada." -#: sequencer.c:750 +#: sequencer.c:741 #, c-format msgid "Could not open %s" msgstr "No s'ha pogut obrir %s" -#: sequencer.c:754 +#: sequencer.c:745 #, c-format msgid "Could not read %s." msgstr "No s'ha pogut llegir %s." -#: sequencer.c:761 +#: sequencer.c:752 #, c-format msgid "Unusable instruction sheet: %s" msgstr "Full d'instruccions inusable: %s" -#: sequencer.c:791 +#: sequencer.c:782 #, c-format msgid "Invalid key: %s" msgstr "Clau no vΓ lida: %s" -#: sequencer.c:794 builtin/pull.c:47 builtin/pull.c:49 +#: sequencer.c:785 builtin/pull.c:50 builtin/pull.c:52 #, c-format msgid "Invalid value for %s: %s" msgstr "Valor no vΓ lid per a %s: %s" -#: sequencer.c:804 +#: sequencer.c:795 #, c-format msgid "Malformed options sheet: %s" msgstr "Full d'opcions mal format: %s" -#: sequencer.c:823 +#: sequencer.c:814 msgid "a cherry-pick or revert is already in progress" msgstr "un recull de cireres o una reversiΓ³ ja estΓ en curs" -#: sequencer.c:824 +#: sequencer.c:815 msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" msgstr "intenteu \"git cherry-pick (--continue | --quit | --abort)\"" -#: sequencer.c:828 +#: sequencer.c:819 #, c-format msgid "Could not create sequencer directory %s" msgstr "No s'ha pogut crear el directori de seqΓΌenciador %s" -#: sequencer.c:844 sequencer.c:926 +#: sequencer.c:835 sequencer.c:917 #, c-format msgid "Error wrapping up %s." msgstr "Error en finalitzar %s." -#: sequencer.c:863 sequencer.c:996 +#: sequencer.c:854 sequencer.c:987 msgid "no cherry-pick or revert in progress" msgstr "ni hi ha cap recull de cireres ni cap reversiΓ³ en curs" -#: sequencer.c:865 +#: sequencer.c:856 msgid "cannot resolve HEAD" msgstr "no es pot resoldre HEAD" -#: sequencer.c:867 +#: sequencer.c:858 msgid "cannot abort from a branch yet to be born" msgstr "no es pot avortar des d'una branca que encara ha de nΓ ixer" -#: sequencer.c:887 builtin/apply.c:4287 +#: sequencer.c:878 builtin/apply.c:4287 #, c-format msgid "cannot open %s: %s" msgstr "no es pot obrir %s: %s" -#: sequencer.c:890 +#: sequencer.c:881 #, c-format msgid "cannot read %s: %s" msgstr "no es pot llegir %s: %s" -#: sequencer.c:891 +#: sequencer.c:882 msgid "unexpected end of file" msgstr "final de fitxer inesperat" -#: sequencer.c:897 +#: sequencer.c:888 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "el fitxer HEAD emmagatzemat abans del recull de cireres '%s' Γ©s malmΓ¨s" -#: sequencer.c:919 +#: sequencer.c:910 #, c-format msgid "Could not format %s." msgstr "No s'ha pogut formatar %s." -#: sequencer.c:1064 +#: sequencer.c:1055 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "%s: no es pot recollir com a cirera un %s" -#: sequencer.c:1067 +#: sequencer.c:1058 #, c-format msgid "%s: bad revision" msgstr "%s: revisiΓ³ dolenta" -#: sequencer.c:1101 +#: sequencer.c:1092 msgid "Can't revert as initial commit" msgstr "No es pot revertir com a comissiΓ³ inicial" -#: sequencer.c:1102 +#: sequencer.c:1093 msgid "Can't cherry-pick into empty head" msgstr "No es pot recollir cireres en un cap buit" -#: setup.c:248 +#: setup.c:246 #, c-format msgid "failed to read %s" msgstr "s'ha fallat en llegir %s" -#: sha1_name.c:463 +#: sha1_file.c:1080 +msgid "offset before end of packfile (broken .idx?)" +msgstr "desplaΓ§ament abans de la fi del fitxer de paquet (.idx trencat?)" + +#: sha1_file.c:2459 +#, c-format +msgid "offset before start of pack index for %s (corrupt index?)" +msgstr "" +"desplaΓ§ament abans d'inici d'Γndex de paquet per a %s (Γndex corromput?)" + +#: sha1_file.c:2463 +#, c-format +msgid "offset beyond end of pack index for %s (truncated index?)" +msgstr "" +"desplaΓ§ament mΓ©s enllΓ de la fi d'Γndex de paquet per a %s (Γndex truncat?)" + +#: sha1_name.c:462 msgid "" "Git normally never creates a ref that ends with 40 hex characters\n" "because it will be ignored when you just specify 40-hex. These refs\n" @@ -1585,62 +1709,86 @@ msgstr "" "suprimiu-les. Desactiveu aquest missatge executant\n" "\"git config advice.objectNameWarning false\"" -#: submodule.c:61 submodule.c:95 +#: submodule.c:62 submodule.c:96 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" msgstr "" "No es pot canviar un .gitmodules no fusionat, primer resoldreu els " "conflictes de fusiΓ³" -#: submodule.c:65 submodule.c:99 +#: submodule.c:66 submodule.c:100 #, c-format msgid "Could not find section in .gitmodules where path=%s" msgstr "No s'ha pogut trobar la secciΓ³ en .gitmodules on path=%s" -#: submodule.c:73 +#: submodule.c:74 #, c-format msgid "Could not update .gitmodules entry %s" msgstr "No s'ha pogut actualitzar l'entrada de .gitmodules %s" -#: submodule.c:106 +#: submodule.c:107 #, c-format msgid "Could not remove .gitmodules entry for %s" msgstr "No s'ha pogut eliminar l'entrada de .gitmodules per a %s" -#: submodule.c:117 +#: submodule.c:118 msgid "staging updated .gitmodules failed" msgstr "L'allistament del .gitmodules actualitzat ha fallat" -#: submodule.c:1040 +#: trailer.c:237 #, c-format -msgid "Could not set core.worktree in %s" -msgstr "No s'ha pogut establir core.worktree en %s" +msgid "running trailer command '%s' failed" +msgstr "l'execuciΓ³ de l'ordre de remolc '%s' ha fallat" -#: trailer.c:491 trailer.c:495 trailer.c:499 trailer.c:553 trailer.c:557 -#: trailer.c:561 +#: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558 +#: trailer.c:562 #, c-format msgid "unknown value '%s' for key '%s'" msgstr "valor desconegut '%s' per a la clau '%s'" -#: trailer.c:543 trailer.c:548 builtin/remote.c:296 +#: trailer.c:544 trailer.c:549 builtin/remote.c:289 #, c-format msgid "more than one %s" msgstr "mΓ©s d'un %s" -#: trailer.c:581 +#: trailer.c:582 #, c-format msgid "empty trailer token in trailer '%.*s'" msgstr "fitxa de remolc buida en el remolc '%.*s'" -#: trailer.c:701 +#: trailer.c:702 #, c-format msgid "could not read input file '%s'" msgstr "no s'ha pogut llegir el fitxer d'entrada '%s'" -#: trailer.c:704 +#: trailer.c:705 msgid "could not read from stdin" msgstr "No s'ha pogut llegir des d'stdin" -#: transport-helper.c:1025 +#: trailer.c:857 builtin/am.c:42 +#, c-format +msgid "could not stat %s" +msgstr "no s'ha pogut fer stat a %s" + +#: trailer.c:859 +#, c-format +msgid "file %s is not a regular file" +msgstr "el fitxer %s no Γ©s un fitxer regular" + +#: trailer.c:861 +#, c-format +msgid "file %s is not writable by user" +msgstr "el fitxer %s no Γ©s gravable per l'usuari" + +#: trailer.c:873 +msgid "could not open temporary file" +msgstr "no s'ha pogut obrir el fitxer temporal" + +#: trailer.c:912 +#, c-format +msgid "could not rename temporary file to %s" +msgstr "no s'ha pogut canviar el nom del fitxer temporal a %s" + +#: transport-helper.c:1041 #, c-format msgid "Could not read ref %s" msgstr "No s'ha pogut llegir la referΓ¨ncia %s" @@ -1678,47 +1826,47 @@ msgstr "nΓΊmero de port no vΓ lid" msgid "invalid '..' path segment" msgstr "segment de camΓ '..' no vΓ lid" -#: wrapper.c:219 wrapper.c:362 +#: wrapper.c:222 wrapper.c:381 #, c-format msgid "could not open '%s' for reading and writing" msgstr "no s'ha pogut obrir '%s' per a lectura i escriptura" -#: wrapper.c:221 wrapper.c:364 +#: wrapper.c:224 wrapper.c:383 #, c-format msgid "could not open '%s' for writing" msgstr "no s'ha pogut obrir '%s' per a escriptura" -#: wrapper.c:223 wrapper.c:366 builtin/am.c:338 builtin/commit.c:1691 -#: builtin/merge.c:1074 builtin/pull.c:380 +#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/commit.c:1691 +#: builtin/merge.c:1075 builtin/pull.c:387 #, c-format msgid "could not open '%s' for reading" msgstr "no s'ha pogut obrir '%s' per a lectura" -#: wrapper.c:579 +#: wrapper.c:611 #, c-format msgid "unable to access '%s': %s" msgstr "no s'ha pogut accedir a '%s': %s" -#: wrapper.c:600 +#: wrapper.c:632 #, c-format msgid "unable to access '%s'" msgstr "no s'ha pogut accedir a '%s'" -#: wrapper.c:608 +#: wrapper.c:640 msgid "unable to get current working directory" msgstr "no s'ha pogut obtenir el directori de treball actual" -#: wrapper.c:635 +#: wrapper.c:667 #, c-format msgid "could not open %s for writing" msgstr "no s'ha pogut obrir '%s' per a escriptura" -#: wrapper.c:646 builtin/am.c:425 +#: wrapper.c:678 builtin/am.c:410 #, c-format msgid "could not write to %s" msgstr "no s'ha pogut escriure a %s" -#: wrapper.c:652 +#: wrapper.c:684 #, c-format msgid "could not close %s" msgstr "no s'ha pogut tancar %s" @@ -2189,7 +2337,11 @@ msgstr "no hi Γ©s" msgid "behind " msgstr "darrere " -#: compat/precompose_utf8.c:56 builtin/clone.c:408 +#: wt-status.c:1680 wt-status.c:1683 +msgid "ahead " +msgstr "davant per " + +#: compat/precompose_utf8.c:57 builtin/clone.c:413 #, c-format msgid "failed to unlink '%s'" msgstr "s'ha fallat en desenllaΓ§ar '%s'" @@ -2216,7 +2368,7 @@ msgstr "elimina '%s'\n" msgid "Unstaged changes after refreshing the index:" msgstr "Canvis no allistats desprΓ©s d'actualitzar l'Γndex:" -#: builtin/add.c:194 builtin/rev-parse.c:796 +#: builtin/add.c:194 builtin/rev-parse.c:797 msgid "Could not read the index" msgstr "No s'ha pogut llegir l'Γndex" @@ -2252,15 +2404,15 @@ msgid "The following paths are ignored by one of your .gitignore files:\n" msgstr "" "Els camins segΓΌents s'ignoren per un dels vostres fitxers .gitignore:\n" -#: builtin/add.c:249 builtin/clean.c:894 builtin/fetch.c:108 builtin/mv.c:110 -#: builtin/prune-packed.c:55 builtin/pull.c:182 builtin/push.c:543 -#: builtin/remote.c:1345 builtin/rm.c:268 builtin/send-pack.c:162 +#: builtin/add.c:249 builtin/clean.c:870 builtin/fetch.c:112 builtin/mv.c:111 +#: builtin/prune-packed.c:55 builtin/pull.c:189 builtin/push.c:511 +#: builtin/remote.c:1330 builtin/rm.c:268 builtin/send-pack.c:162 msgid "dry run" msgstr "marxa en sec" -#: builtin/add.c:250 builtin/apply.c:4571 builtin/check-ignore.c:19 +#: builtin/add.c:250 builtin/apply.c:4561 builtin/check-ignore.c:19 #: builtin/commit.c:1322 builtin/count-objects.c:85 builtin/fsck.c:558 -#: builtin/log.c:1645 builtin/mv.c:109 builtin/read-tree.c:114 +#: builtin/log.c:1651 builtin/mv.c:110 builtin/read-tree.c:114 msgid "be verbose" msgstr "sigues detallat" @@ -2268,7 +2420,7 @@ msgstr "sigues detallat" msgid "interactive picking" msgstr "recull interactiu" -#: builtin/add.c:253 builtin/checkout.c:1153 builtin/reset.c:286 +#: builtin/add.c:253 builtin/checkout.c:1155 builtin/reset.c:286 msgid "select hunks interactively" msgstr "selecciona els trossos interactivament" @@ -2337,139 +2489,134 @@ msgstr "Res especificat, res afegit.\n" msgid "Maybe you wanted to say 'git add .'?\n" msgstr "Potser volΓeu dir 'git add .'?\n" -#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:938 -#: builtin/commit.c:337 builtin/mv.c:130 builtin/reset.c:235 builtin/rm.c:298 -#: builtin/submodule--helper.c:40 +#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:914 +#: builtin/commit.c:337 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298 +#: builtin/submodule--helper.c:35 msgid "index file corrupt" msgstr "fitxer d'Γndex malmΓ¨s" -#: builtin/add.c:439 builtin/apply.c:4669 builtin/mv.c:279 builtin/rm.c:430 +#: builtin/add.c:439 builtin/apply.c:4659 builtin/mv.c:280 builtin/rm.c:430 msgid "Unable to write new index file" msgstr "no s'ha pogut escriure un fitxer d'Γndex nou" -#: builtin/am.c:42 -#, c-format -msgid "could not stat %s" -msgstr "no s'ha pogut fer stat a '%s'" - -#: builtin/am.c:271 builtin/commit.c:738 builtin/merge.c:1077 +#: builtin/am.c:256 builtin/commit.c:738 builtin/merge.c:1078 #, c-format msgid "could not read '%s'" msgstr "no s'ha pogut llegir '%s'" -#: builtin/am.c:445 +#: builtin/am.c:430 msgid "could not parse author script" msgstr "no s'ha pogut analitzar l'script d'autor" -#: builtin/am.c:522 +#: builtin/am.c:507 #, c-format msgid "'%s' was deleted by the applypatch-msg hook" msgstr "s'ha suprimit '%s' per el ganxo applypatch-msg" -#: builtin/am.c:563 builtin/notes.c:300 +#: builtin/am.c:548 builtin/notes.c:300 #, c-format msgid "Malformed input line: '%s'." msgstr "LΓnia d'entrada mal formada: '%s'." -#: builtin/am.c:600 builtin/notes.c:315 +#: builtin/am.c:585 builtin/notes.c:315 #, c-format msgid "Failed to copy notes from '%s' to '%s'" msgstr "S'ha fallat en copiar les notes de '%s' a '%s'" -#: builtin/am.c:626 +#: builtin/am.c:611 msgid "fseek failed" msgstr "fseek ha fallat" -#: builtin/am.c:787 builtin/am.c:875 +#: builtin/am.c:772 builtin/am.c:860 #, c-format msgid "could not open '%s' for reading: %s" msgstr "no s'ha pogut obrir '%s' per a lectura: %s" -#: builtin/am.c:794 +#: builtin/am.c:779 #, c-format msgid "could not open '%s' for writing: %s" msgstr "no s'ha pogut obrir '%s' per a escriptura: %s" -#: builtin/am.c:803 +#: builtin/am.c:788 #, c-format msgid "could not parse patch '%s'" msgstr "no s'ha pogut analitzar el pedaΓ§ '%s'" -#: builtin/am.c:868 +#: builtin/am.c:853 msgid "Only one StGIT patch series can be applied at once" msgstr "nomΓ©s una sΓ¨rie de pedaΓ§os StGIT es pot aplicar a la vegada" -#: builtin/am.c:916 +#: builtin/am.c:901 msgid "invalid timestamp" msgstr "marca de temps no vΓ lida" -#: builtin/am.c:919 builtin/am.c:927 +#: builtin/am.c:904 builtin/am.c:912 msgid "invalid Date line" msgstr "lΓnia Date no vΓ lida" -#: builtin/am.c:924 +#: builtin/am.c:909 msgid "invalid timezone offset" msgstr "desplaΓ§ament de zona de temps no vΓ lid" -#: builtin/am.c:1011 +#: builtin/am.c:996 msgid "Patch format detection failed." msgstr "La detecciΓ³ de format de pedaΓ§ ha fallat." -#: builtin/am.c:1016 builtin/clone.c:373 +#: builtin/am.c:1001 builtin/clone.c:378 #, c-format msgid "failed to create directory '%s'" msgstr "s'ha fallat en crear el directori '%s'" -#: builtin/am.c:1020 +#: builtin/am.c:1005 msgid "Failed to split patches." msgstr "S'ha fallat en dividir els pedaΓ§os." -#: builtin/am.c:1152 builtin/commit.c:363 +#: builtin/am.c:1137 builtin/commit.c:363 msgid "unable to write index file" msgstr "no s'ha pogut escriure el fitxer d'Γndex" -#: builtin/am.c:1203 +#: builtin/am.c:1188 #, c-format msgid "When you have resolved this problem, run \"%s --continue\"." msgstr "Quan hΓ giu resolt aquest problema, executeu \"%s --continue\"." -#: builtin/am.c:1204 +#: builtin/am.c:1189 #, c-format msgid "If you prefer to skip this patch, run \"%s --skip\" instead." msgstr "Si preferiu saltar aquest pedaΓ§, executeu \"%s --skip\" en lloc." -#: builtin/am.c:1205 +#: builtin/am.c:1190 #, c-format msgid "To restore the original branch and stop patching, run \"%s --abort\"." msgstr "" "Per a restaurar la branca original i deixar d'apedaΓ§ar, executeu \"%s --abort" "\"." -#: builtin/am.c:1343 +#: builtin/am.c:1328 msgid "Patch is empty. Was it split wrong?" msgstr "El pedaΓ§ Γ©s buit. S'ha dividit malament?" -#: builtin/am.c:1417 builtin/log.c:1347 +#: builtin/am.c:1402 builtin/log.c:1350 #, c-format msgid "invalid ident line: %s" msgstr "lΓnia d'identitat no vΓ lida: %s" -#: builtin/am.c:1444 +#: builtin/am.c:1429 #, c-format msgid "unable to parse commit %s" msgstr "no s'ha pogut analitzar la comissiΓ³ %s" -#: builtin/am.c:1646 +#: builtin/am.c:1631 msgid "Repository lacks necessary blobs to fall back on 3-way merge." msgstr "" "Al dipΓ²sit li manquen els blobs necessaris per a retrocedir a una fusiΓ³ de 3 " "vies." -#: builtin/am.c:1648 +#: builtin/am.c:1633 msgid "Using index info to reconstruct a base tree..." msgstr "Usant la informaciΓ³ d'Γndex per a reconstruir un arbre base..." -#: builtin/am.c:1667 +#: builtin/am.c:1652 msgid "" "Did you hand edit your patch?\n" "It does not apply to blobs recorded in its index." @@ -2477,38 +2624,38 @@ msgstr "" "Heu editat el vostre pedaΓ§ a mΓ ?\n" "No s'aplica als blobs recordats en el seu Γndex." -#: builtin/am.c:1673 +#: builtin/am.c:1658 msgid "Falling back to patching base and 3-way merge..." msgstr "Retrocedint a apedaΓ§ar la base i fusionar de 3 vies..." -#: builtin/am.c:1688 +#: builtin/am.c:1673 msgid "Failed to merge in the changes." msgstr "S'ha fallat en fusionar els canvis." -#: builtin/am.c:1712 builtin/merge.c:632 +#: builtin/am.c:1697 builtin/merge.c:633 msgid "git write-tree failed to write a tree" msgstr "git write-tree ha fallat en escriure un arbre" -#: builtin/am.c:1719 +#: builtin/am.c:1704 msgid "applying to an empty history" msgstr "aplicant a una histΓ²ria buida" -#: builtin/am.c:1732 builtin/commit.c:1755 builtin/merge.c:829 -#: builtin/merge.c:854 +#: builtin/am.c:1717 builtin/commit.c:1755 builtin/merge.c:830 +#: builtin/merge.c:855 msgid "failed to write commit object" msgstr "s'ha fallat en escriure l'objecte de comissiΓ³" -#: builtin/am.c:1764 builtin/am.c:1768 +#: builtin/am.c:1749 builtin/am.c:1753 #, c-format msgid "cannot resume: %s does not exist." msgstr "no es pot reprendre: %s no existeix." -#: builtin/am.c:1784 +#: builtin/am.c:1769 msgid "cannot be interactive without stdin connected to a terminal." msgstr "" "no es pot ser interactiu sense que stdin sigui connectat a un terminal." -#: builtin/am.c:1789 +#: builtin/am.c:1774 msgid "Commit Body is:" msgstr "El cos de la comissiΓ³ Γ©s:" @@ -2516,37 +2663,37 @@ msgstr "El cos de la comissiΓ³ Γ©s:" #. in your translation. The program will only accept English #. input at this point. #. -#: builtin/am.c:1799 +#: builtin/am.c:1784 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: " msgstr "" "Voleu aplicar-lo? [y]es/[n]o/[e]dita/[v]isualitza el pedaΓ§/[a]ccepta'ls " "tots: " -#: builtin/am.c:1849 +#: builtin/am.c:1834 #, c-format msgid "Dirty index: cannot apply patches (dirty: %s)" msgstr "Γndex brut: no es pot aplicar pedaΓ§os (bruts: %s)" -#: builtin/am.c:1884 builtin/am.c:1955 +#: builtin/am.c:1869 builtin/am.c:1941 #, c-format msgid "Applying: %.*s" msgstr "Aplicant: %.*s" -#: builtin/am.c:1900 +#: builtin/am.c:1885 msgid "No changes -- Patch already applied." msgstr "Sense canvis -- El pedaΓ§ ja s'ha aplicat." -#: builtin/am.c:1908 +#: builtin/am.c:1893 #, c-format msgid "Patch failed at %s %.*s" msgstr "El pedaΓ§ ha fallat a %s %.*s" -#: builtin/am.c:1914 +#: builtin/am.c:1899 #, c-format msgid "The copy of the patch that failed is found in: %s" msgstr "La cΓ²pia del pedaΓ§ que ha fallat es troba en: %s" -#: builtin/am.c:1958 +#: builtin/am.c:1944 msgid "" "No changes - did you forget to use 'git add'?\n" "If there is nothing left to stage, chances are that something else\n" @@ -2556,7 +2703,7 @@ msgstr "" "Si no hi ha res a allistar, probablement alguna altra cosa\n" "ja ha introduΓ―t els mateixos canvis; potser voleu ometre aquest pedaΓ§." -#: builtin/am.c:1965 +#: builtin/am.c:1951 msgid "" "You still have unmerged paths in your index.\n" "Did you forget to use 'git add'?" @@ -2564,17 +2711,17 @@ msgstr "" "Encara teniu camins sense fusionar en el vostre Γndex.\n" "Heu oblidat d'usar 'git add'?" -#: builtin/am.c:2073 builtin/am.c:2077 builtin/am.c:2089 builtin/reset.c:308 +#: builtin/am.c:2059 builtin/am.c:2063 builtin/am.c:2075 builtin/reset.c:308 #: builtin/reset.c:316 #, c-format msgid "Could not parse object '%s'." msgstr "No s'ha pogut analitzar l'objecte '%s'." -#: builtin/am.c:2125 +#: builtin/am.c:2111 msgid "failed to clean index" msgstr "s'ha fallat en netejar l'Γndex" -#: builtin/am.c:2159 +#: builtin/am.c:2145 msgid "" "You seem to have moved HEAD since the last 'am' failure.\n" "Not rewinding to ORIG_HEAD" @@ -2582,154 +2729,154 @@ msgstr "" "Sembla que heu mogut HEAD desprΓ©s de l'ΓΊltima fallada de 'am'.\n" "No rebobinant a ORIG_HEAD" -#: builtin/am.c:2220 +#: builtin/am.c:2206 #, c-format msgid "Invalid value for --patch-format: %s" msgstr "Valor no vΓ lid per a --patch-format: %s" -#: builtin/am.c:2253 +#: builtin/am.c:2239 msgid "git am [<options>] [(<mbox>|<Maildir>)...]" msgstr "git am [<opcions>] [(<bΓΊstia>|<directori-de-correu>)...]" -#: builtin/am.c:2254 +#: builtin/am.c:2240 msgid "git am [<options>] (--continue | --skip | --abort)" msgstr "git am [<opcions>] (--continue | --skip | --abort)" -#: builtin/am.c:2260 +#: builtin/am.c:2246 msgid "run interactively" msgstr "executa interactivament" -#: builtin/am.c:2262 +#: builtin/am.c:2248 msgid "historical option -- no-op" msgstr "opciΓ³ histΓ²rica -- no-op" -#: builtin/am.c:2264 +#: builtin/am.c:2250 msgid "allow fall back on 3way merging if needed" msgstr "permet retrocedir a una fusiΓ³ de 3 vies si Γ©s necessari" -#: builtin/am.c:2265 builtin/init-db.c:474 builtin/prune-packed.c:57 +#: builtin/am.c:2251 builtin/init-db.c:474 builtin/prune-packed.c:57 #: builtin/repack.c:171 msgid "be quiet" msgstr "calla" -#: builtin/am.c:2267 +#: builtin/am.c:2253 msgid "add a Signed-off-by line to the commit message" msgstr "afegeix una lΓnia Signed-off-by al missatge de comissiΓ³" -#: builtin/am.c:2270 +#: builtin/am.c:2256 msgid "recode into utf8 (default)" msgstr "recodifica en utf8 (per defecte)" -#: builtin/am.c:2272 +#: builtin/am.c:2258 msgid "pass -k flag to git-mailinfo" msgstr "passa la bandera -k al git-mailinfo" -#: builtin/am.c:2274 +#: builtin/am.c:2260 msgid "pass -b flag to git-mailinfo" msgstr "passa la bandera -b al git-mailinfo" -#: builtin/am.c:2276 +#: builtin/am.c:2262 msgid "pass -m flag to git-mailinfo" msgstr "passa la bandera -m al git-mailinfo" -#: builtin/am.c:2278 +#: builtin/am.c:2264 msgid "pass --keep-cr flag to git-mailsplit for mbox format" msgstr "passa la bandera --keep-cr al git-mailsplit pel format mbox" -#: builtin/am.c:2281 +#: builtin/am.c:2267 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr" msgstr "" "no passis la bandera --keep-cr al git-mailsplit independent de am.keepcr" -#: builtin/am.c:2284 +#: builtin/am.c:2270 msgid "strip everything before a scissors line" msgstr "despulla tot abans d'una lΓnia de tissores" -#: builtin/am.c:2285 builtin/apply.c:4554 +#: builtin/am.c:2271 builtin/apply.c:4544 msgid "action" msgstr "acciΓ³" -#: builtin/am.c:2286 builtin/am.c:2289 builtin/am.c:2292 builtin/am.c:2295 -#: builtin/am.c:2298 builtin/am.c:2301 builtin/am.c:2304 builtin/am.c:2307 -#: builtin/am.c:2313 +#: builtin/am.c:2272 builtin/am.c:2275 builtin/am.c:2278 builtin/am.c:2281 +#: builtin/am.c:2284 builtin/am.c:2287 builtin/am.c:2290 builtin/am.c:2293 +#: builtin/am.c:2299 msgid "pass it through git-apply" msgstr "passa-ho a travΓ©s del git-apply" -#: builtin/am.c:2294 builtin/apply.c:4578 +#: builtin/am.c:2280 builtin/apply.c:4568 msgid "root" msgstr "arrel" -#: builtin/am.c:2297 builtin/am.c:2300 builtin/apply.c:4516 -#: builtin/apply.c:4519 builtin/clone.c:85 builtin/fetch.c:93 -#: builtin/pull.c:167 builtin/submodule--helper.c:78 -#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169 +#: builtin/am.c:2283 builtin/am.c:2286 builtin/apply.c:4506 +#: builtin/apply.c:4509 builtin/clone.c:86 builtin/fetch.c:95 +#: builtin/pull.c:171 builtin/submodule--helper.c:72 +#: builtin/submodule--helper.c:160 builtin/submodule--helper.c:163 msgid "path" msgstr "camΓ" -#: builtin/am.c:2303 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669 -#: builtin/grep.c:693 builtin/merge.c:198 builtin/pull.c:127 +#: builtin/am.c:2289 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669 +#: builtin/grep.c:704 builtin/merge.c:198 builtin/pull.c:131 builtin/pull.c:185 #: builtin/repack.c:178 builtin/repack.c:182 builtin/show-branch.c:645 #: builtin/show-ref.c:175 builtin/tag.c:340 parse-options.h:132 #: parse-options.h:134 parse-options.h:244 msgid "n" msgstr "n" -#: builtin/am.c:2306 builtin/apply.c:4522 +#: builtin/am.c:2292 builtin/apply.c:4512 msgid "num" msgstr "nΓΊmero" -#: builtin/am.c:2309 builtin/for-each-ref.c:37 builtin/replace.c:438 +#: builtin/am.c:2295 builtin/for-each-ref.c:37 builtin/replace.c:438 #: builtin/tag.c:372 msgid "format" msgstr "format" -#: builtin/am.c:2310 +#: builtin/am.c:2296 msgid "format the patch(es) are in" msgstr "el format en el qual estan els pedaΓ§os" -#: builtin/am.c:2316 +#: builtin/am.c:2302 msgid "override error message when patch failure occurs" msgstr "" "passa per alt el missatge d'error quan s'ocorre una fallada en apedaΓ§ar" -#: builtin/am.c:2318 +#: builtin/am.c:2304 msgid "continue applying patches after resolving a conflict" msgstr "segueix aplicant pedaΓ§os desprΓ©s de resoldre un conflicte" -#: builtin/am.c:2321 +#: builtin/am.c:2307 msgid "synonyms for --continue" msgstr "sinΓ²nims de --continue" -#: builtin/am.c:2324 +#: builtin/am.c:2310 msgid "skip the current patch" msgstr "salta el pedaΓ§ actual" -#: builtin/am.c:2327 +#: builtin/am.c:2313 msgid "restore the original branch and abort the patching operation." msgstr "restaura la branca original i avorta l'operaciΓ³ d'apedaΓ§ament." -#: builtin/am.c:2331 +#: builtin/am.c:2317 msgid "lie about committer date" msgstr "menteix sobre la data del comitent" -#: builtin/am.c:2333 +#: builtin/am.c:2319 msgid "use current timestamp for author date" msgstr "usa el marc de temps actual per la data d'autor" -#: builtin/am.c:2335 builtin/commit.c:1593 builtin/merge.c:225 -#: builtin/pull.c:155 builtin/revert.c:92 builtin/tag.c:355 +#: builtin/am.c:2321 builtin/commit.c:1593 builtin/merge.c:225 +#: builtin/pull.c:159 builtin/revert.c:92 builtin/tag.c:355 msgid "key-id" msgstr "ID de clau" -#: builtin/am.c:2336 +#: builtin/am.c:2322 msgid "GPG-sign commits" msgstr "firma les comissions amb GPG" -#: builtin/am.c:2339 +#: builtin/am.c:2325 msgid "(internal use for git-rebase)" msgstr "(ΓΊs intern per al git-rebase)" -#: builtin/am.c:2354 +#: builtin/am.c:2340 msgid "" "The -b/--binary option has been a no-op for long time, and\n" "it will be removed. Please do not use it anymore." @@ -2737,18 +2884,18 @@ msgstr "" "Fa molt que l'opciΓ³ -b/--binary no ha fet res, i\n" "s'eliminarΓ . Si us plau, no l'useu mΓ©s." -#: builtin/am.c:2361 +#: builtin/am.c:2347 msgid "failed to read the index" msgstr "s'ha fallat en llegir l'Γndex" -#: builtin/am.c:2376 +#: builtin/am.c:2362 #, c-format msgid "previous rebase directory %s still exists but mbox given." msgstr "" "un directori de rebasament anterior %s encara existeix perΓ² s'ha donat una " "bΓΊstia." -#: builtin/am.c:2400 +#: builtin/am.c:2386 #, c-format msgid "" "Stray %s directory found.\n" @@ -2757,7 +2904,7 @@ msgstr "" "Directori %s extraviat trobat.\n" "Useu \"git am --abort\" per a eliminar-lo." -#: builtin/am.c:2406 +#: builtin/am.c:2392 msgid "Resolve operation not in progress, we are not resuming." msgstr "OperaciΓ³ de resoluciΓ³ no en curs; no reprenem." @@ -3108,135 +3255,135 @@ msgstr "entrada no reconeguda" msgid "unable to read index file" msgstr "no es pot llegir el fitxer d'Γndex" -#: builtin/apply.c:4517 +#: builtin/apply.c:4507 msgid "don't apply changes matching the given path" msgstr "no apliquis els canvis que coincideixin amb el camΓ donat" -#: builtin/apply.c:4520 +#: builtin/apply.c:4510 msgid "apply changes matching the given path" msgstr "aplica els canvis que coincideixin amb el camΓ donat" -#: builtin/apply.c:4523 +#: builtin/apply.c:4513 msgid "remove <num> leading slashes from traditional diff paths" msgstr "" "elimina <nombre> barres obliqΓΌes inicials dels camins de diferΓ¨ncia " "tradicionals" -#: builtin/apply.c:4526 +#: builtin/apply.c:4516 msgid "ignore additions made by the patch" msgstr "ignora afegiments fets pel pedaΓ§" -#: builtin/apply.c:4528 +#: builtin/apply.c:4518 msgid "instead of applying the patch, output diffstat for the input" msgstr "" "en lloc d'aplicar el pedaΓ§, emet les estadΓstiques de diferΓ¨ncia de l'entrada" -#: builtin/apply.c:4532 +#: builtin/apply.c:4522 msgid "show number of added and deleted lines in decimal notation" msgstr "mostra el nombre de lΓnies afegides i suprimides en notaciΓ³ decimal" -#: builtin/apply.c:4534 +#: builtin/apply.c:4524 msgid "instead of applying the patch, output a summary for the input" msgstr "en lloc d'aplicar el pedaΓ§, emet un resum de l'entrada" -#: builtin/apply.c:4536 +#: builtin/apply.c:4526 msgid "instead of applying the patch, see if the patch is applicable" msgstr "en lloc d'aplicar el pedaΓ§, veges si el pedaΓ§ Γ©s aplicable" -#: builtin/apply.c:4538 +#: builtin/apply.c:4528 msgid "make sure the patch is applicable to the current index" msgstr "assegura que el pedaΓ§ sigui aplicable a l'Γndex actual" -#: builtin/apply.c:4540 +#: builtin/apply.c:4530 msgid "apply a patch without touching the working tree" msgstr "aplica un pedaΓ§ sense tocar l'arbre de treball" -#: builtin/apply.c:4542 +#: builtin/apply.c:4532 msgid "accept a patch that touches outside the working area" msgstr "accepta un pedaΓ§ que toqui fora de l'Γ rea de treball" -#: builtin/apply.c:4544 +#: builtin/apply.c:4534 msgid "also apply the patch (use with --stat/--summary/--check)" msgstr "aplica el pedaΓ§ tambΓ© (useu amb --stat/--summary/--check)" -#: builtin/apply.c:4546 +#: builtin/apply.c:4536 msgid "attempt three-way merge if a patch does not apply" msgstr "intenta una fusiΓ³ de tres vies si el pedaΓ§ no s'aplica" -#: builtin/apply.c:4548 +#: builtin/apply.c:4538 msgid "build a temporary index based on embedded index information" msgstr "construeix un Γndex temporal basat en la informaciΓ³ d'Γndex incrustada" -#: builtin/apply.c:4550 builtin/checkout-index.c:198 builtin/ls-files.c:412 +#: builtin/apply.c:4541 builtin/checkout-index.c:169 builtin/ls-files.c:425 msgid "paths are separated with NUL character" msgstr "els camins se separen amb el carΓ cter NUL" -#: builtin/apply.c:4553 +#: builtin/apply.c:4543 msgid "ensure at least <n> lines of context match" msgstr "assegura't que almenys <n> lΓnies de context coincideixin" -#: builtin/apply.c:4555 +#: builtin/apply.c:4545 msgid "detect new or modified lines that have whitespace errors" msgstr "" "detecta les lΓnies noves o modificades que tinguin errors d'espai en blanc" -#: builtin/apply.c:4558 builtin/apply.c:4561 +#: builtin/apply.c:4548 builtin/apply.c:4551 msgid "ignore changes in whitespace when finding context" msgstr "ignora els canvis d'espai en blanc en cercar context" -#: builtin/apply.c:4564 +#: builtin/apply.c:4554 msgid "apply the patch in reverse" msgstr "aplica el pedaΓ§ al revΓ©s" -#: builtin/apply.c:4566 +#: builtin/apply.c:4556 msgid "don't expect at least one line of context" msgstr "no esperis almenys una lΓnia de context" -#: builtin/apply.c:4568 +#: builtin/apply.c:4558 msgid "leave the rejected hunks in corresponding *.rej files" msgstr "deixa els trossos rebutjats en fitxers *.reg coresspondents" -#: builtin/apply.c:4570 +#: builtin/apply.c:4560 msgid "allow overlapping hunks" msgstr "permet trossos encavalcants" -#: builtin/apply.c:4573 +#: builtin/apply.c:4563 msgid "tolerate incorrectly detected missing new-line at the end of file" msgstr "tolera una lΓnia nova incorrectament detectada al final del fitxer" -#: builtin/apply.c:4576 +#: builtin/apply.c:4566 msgid "do not trust the line counts in the hunk headers" msgstr "no confiΓ―s en els recomptes de lΓnia en les capΓ§aleres dels trossos" -#: builtin/apply.c:4579 +#: builtin/apply.c:4569 msgid "prepend <root> to all filenames" msgstr "anteposa <arrel> a tots els noms de fitxer" -#: builtin/apply.c:4601 +#: builtin/apply.c:4591 msgid "--3way outside a repository" msgstr "--3way fora d'un dipΓ²sit" -#: builtin/apply.c:4609 +#: builtin/apply.c:4599 msgid "--index outside a repository" msgstr "--index fora d'un dipΓ²sit" -#: builtin/apply.c:4612 +#: builtin/apply.c:4602 msgid "--cached outside a repository" msgstr "--cached fora d'un dipΓ²sit" -#: builtin/apply.c:4631 +#: builtin/apply.c:4621 #, c-format msgid "can't open patch '%s'" msgstr "no es pot obrir el pedaΓ§ '%s'" -#: builtin/apply.c:4645 +#: builtin/apply.c:4635 #, c-format msgid "squelched %d whitespace error" msgid_plural "squelched %d whitespace errors" msgstr[0] "%d error d'espai en blanc omΓ¨s" msgstr[1] "%d errors d'espai en blanc omesos" -#: builtin/apply.c:4651 builtin/apply.c:4661 +#: builtin/apply.c:4641 builtin/apply.c:4651 #, c-format msgid "%d line adds whitespace errors." msgid_plural "%d lines add whitespace errors." @@ -3290,109 +3437,117 @@ msgstr "realitza 'git bisect next'" msgid "update BISECT_HEAD instead of checking out the current commit" msgstr "actualitza BISECT_HEAD en lloc d'agafar la comissiΓ³ actual" -#: builtin/blame.c:32 +#: builtin/blame.c:33 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>" msgstr "git blame [<opcions>] [<opcions-de-revisiΓ³>] [<revisiΓ³>] [--] fitxer" -#: builtin/blame.c:37 +#: builtin/blame.c:38 msgid "<rev-opts> are documented in git-rev-list(1)" msgstr "es documenten les <opcions-de-revisiΓ³> en git-rev-list(1)" -#: builtin/blame.c:2519 +#: builtin/blame.c:1782 +msgid "Blaming lines" +msgstr "Culpant les lΓnies" + +#: builtin/blame.c:2530 msgid "Show blame entries as we find them, incrementally" msgstr "Mostra les entrades de culpa mentre les trobem, incrementalment" -#: builtin/blame.c:2520 +#: builtin/blame.c:2531 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "" "Mostra un SHA-1 en blanc per les comissions de frontera (Per defecte: " "desactivat)" -#: builtin/blame.c:2521 +#: builtin/blame.c:2532 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "" "No tractis les comissions d'arrel com a lΓmits (Per defecte: desactivat)" -#: builtin/blame.c:2522 +#: builtin/blame.c:2533 msgid "Show work cost statistics" msgstr "Mostra les estadΓstiques de preu de treball" -#: builtin/blame.c:2523 +#: builtin/blame.c:2534 +msgid "Force progress reporting" +msgstr "ForΓ§a l'informe de progrΓ©s" + +#: builtin/blame.c:2535 msgid "Show output score for blame entries" msgstr "Mostra la puntuaciΓ³ de sortida de les entrades de culpa" -#: builtin/blame.c:2524 +#: builtin/blame.c:2536 msgid "Show original filename (Default: auto)" msgstr "Mostra el nom de fitxer original (Per defecte: automΓ tic)" -#: builtin/blame.c:2525 +#: builtin/blame.c:2537 msgid "Show original linenumber (Default: off)" msgstr "Mostra el nΓΊmero de lΓnia original (Per defecte: desactivat)" -#: builtin/blame.c:2526 +#: builtin/blame.c:2538 msgid "Show in a format designed for machine consumption" msgstr "Presenta en un format dissenyat per consumpciΓ³ per mΓ quina" -#: builtin/blame.c:2527 +#: builtin/blame.c:2539 msgid "Show porcelain format with per-line commit information" msgstr "Mostra el format de porcellana amb informaciΓ³ de comissiΓ³ per lΓnia" -#: builtin/blame.c:2528 +#: builtin/blame.c:2540 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "" "Usa el mateix mode de sortida que git-annotate (Per defecte: desactivat)" -#: builtin/blame.c:2529 +#: builtin/blame.c:2541 msgid "Show raw timestamp (Default: off)" msgstr "Mostra la marca de temps crua (Per defecte: desactivat)" -#: builtin/blame.c:2530 +#: builtin/blame.c:2542 msgid "Show long commit SHA1 (Default: off)" msgstr "Mostra l'SHA1 de comissiΓ³ llarg (Per defecte: desactivat)" -#: builtin/blame.c:2531 +#: builtin/blame.c:2543 msgid "Suppress author name and timestamp (Default: off)" msgstr "Omet el nom d'autor i la marca de temps (Per defecte: desactivat)" -#: builtin/blame.c:2532 +#: builtin/blame.c:2544 msgid "Show author email instead of name (Default: off)" msgstr "" "Mostra l'adreΓ§a de correu electrΓ²nic de l'autor en lloc del nom (Per " "defecte: desactivat)" -#: builtin/blame.c:2533 +#: builtin/blame.c:2545 msgid "Ignore whitespace differences" msgstr "Ignora les diferΓ¨ncies d'espai en blanc" -#: builtin/blame.c:2534 +#: builtin/blame.c:2546 msgid "Spend extra cycles to find better match" msgstr "Gasta cicles extres per a trobar una coincidΓ¨ncia millor" -#: builtin/blame.c:2535 +#: builtin/blame.c:2547 msgid "Use revisions from <file> instead of calling git-rev-list" msgstr "Usa les revisions de <fitxer> en lloc d'invocar git-rev-list" -#: builtin/blame.c:2536 +#: builtin/blame.c:2548 msgid "Use <file>'s contents as the final image" msgstr "Usa els continguts de <fitxer> com a la imatge final" -#: builtin/blame.c:2537 builtin/blame.c:2538 +#: builtin/blame.c:2549 builtin/blame.c:2550 msgid "score" msgstr "puntuaciΓ³" -#: builtin/blame.c:2537 +#: builtin/blame.c:2549 msgid "Find line copies within and across files" msgstr "Troba cΓ²pies de lΓnia dins i a travΓ©s dels fitxers" -#: builtin/blame.c:2538 +#: builtin/blame.c:2550 msgid "Find line movements within and across files" msgstr "Troba moviments de lΓnia dins i a travΓ©s dels fitxers" -#: builtin/blame.c:2539 +#: builtin/blame.c:2551 msgid "n,m" msgstr "n,m" -#: builtin/blame.c:2539 +#: builtin/blame.c:2551 msgid "Process only line range n,m, counting from 1" msgstr "Processa nomΓ©s el rang de lΓnies n,m, comptant des d'1" @@ -3402,7 +3557,7 @@ msgstr "Processa nomΓ©s el rang de lΓnies n,m, comptant des d'1" #. takes 22 places, is the longest among various forms of #. relative timestamps, but your language may need more or #. fewer display columns. -#: builtin/blame.c:2620 +#: builtin/blame.c:2640 msgid "4 years, 11 months ago" msgstr "fa 4 anys i 11 mesos" @@ -3604,196 +3759,196 @@ msgstr "" "La branca estΓ canviada de nom, perΓ² l'actualitzaciΓ³ del fitxer de " "configuraciΓ³ ha fallat" -#: builtin/branch.c:587 +#: builtin/branch.c:586 #, c-format msgid "could not write branch description template: %s" msgstr "no s'ha pogut escriure la plantilla de descripciΓ³ de branca: %s" -#: builtin/branch.c:616 +#: builtin/branch.c:615 msgid "Generic options" msgstr "Opcions genΓ¨riques" -#: builtin/branch.c:618 +#: builtin/branch.c:617 msgid "show hash and subject, give twice for upstream branch" msgstr "mostra el hash i l'assumpte, doneu dues vegades per la branca font" -#: builtin/branch.c:619 +#: builtin/branch.c:618 msgid "suppress informational messages" msgstr "omet els missatges informatius" -#: builtin/branch.c:620 +#: builtin/branch.c:619 msgid "set up tracking mode (see git-pull(1))" msgstr "configura el mode de seguiment (vegeu git-pull(1))" -#: builtin/branch.c:622 +#: builtin/branch.c:621 msgid "change upstream info" msgstr "canvia la informaciΓ³ de font" -#: builtin/branch.c:626 +#: builtin/branch.c:625 msgid "use colored output" msgstr "usa sortida colorada" -#: builtin/branch.c:627 +#: builtin/branch.c:626 msgid "act on remote-tracking branches" msgstr "actua en branques amb seguiment remot" -#: builtin/branch.c:629 builtin/branch.c:630 +#: builtin/branch.c:628 builtin/branch.c:629 msgid "print only branches that contain the commit" msgstr "imprimeix nomΓ©s les branques que continguin la comissiΓ³" -#: builtin/branch.c:633 +#: builtin/branch.c:632 msgid "Specific git-branch actions:" msgstr "Accions de git-branch especΓfiques:" -#: builtin/branch.c:634 +#: builtin/branch.c:633 msgid "list both remote-tracking and local branches" msgstr "llista les branques amb seguiment remot i les locals" -#: builtin/branch.c:636 +#: builtin/branch.c:635 msgid "delete fully merged branch" msgstr "suprimeix la branca si estΓ completament fusionada" -#: builtin/branch.c:637 +#: builtin/branch.c:636 msgid "delete branch (even if not merged)" msgstr "suprimeix la branca (encara que no estigui fusionada)" -#: builtin/branch.c:638 +#: builtin/branch.c:637 msgid "move/rename a branch and its reflog" msgstr "mou/canvia de nom una branca i el seu registre de referΓ¨ncia" -#: builtin/branch.c:639 +#: builtin/branch.c:638 msgid "move/rename a branch, even if target exists" msgstr "mou/canvia de nom una branca, encara que el destΓ existeixi" -#: builtin/branch.c:640 +#: builtin/branch.c:639 msgid "list branch names" msgstr "llista els noms de branca" -#: builtin/branch.c:641 +#: builtin/branch.c:640 msgid "create the branch's reflog" msgstr "crea el registre de referΓ¨ncia de la branca" -#: builtin/branch.c:643 +#: builtin/branch.c:642 msgid "edit the description for the branch" msgstr "edita la descripciΓ³ de la branca" -#: builtin/branch.c:644 +#: builtin/branch.c:643 msgid "force creation, move/rename, deletion" msgstr "forΓ§a creaciΓ³, moviment/canvi de nom, supressiΓ³" -#: builtin/branch.c:645 +#: builtin/branch.c:644 msgid "print only branches that are merged" msgstr "imprimeix nomΓ©s les branques que s'han fusionat" -#: builtin/branch.c:646 +#: builtin/branch.c:645 msgid "print only branches that are not merged" msgstr "imprimeix nomΓ©s les branques que no s'han fusionat" -#: builtin/branch.c:647 +#: builtin/branch.c:646 msgid "list branches in columns" msgstr "llista les branques en columnes" -#: builtin/branch.c:648 builtin/for-each-ref.c:38 builtin/tag.c:366 +#: builtin/branch.c:647 builtin/for-each-ref.c:38 builtin/tag.c:366 msgid "key" msgstr "clau" -#: builtin/branch.c:649 builtin/for-each-ref.c:39 builtin/tag.c:367 +#: builtin/branch.c:648 builtin/for-each-ref.c:39 builtin/tag.c:367 msgid "field name to sort on" msgstr "nom del camp en el qual ordenar" -#: builtin/branch.c:651 builtin/for-each-ref.c:41 builtin/notes.c:398 -#: builtin/notes.c:401 builtin/notes.c:561 builtin/notes.c:564 +#: builtin/branch.c:650 builtin/for-each-ref.c:41 builtin/notes.c:401 +#: builtin/notes.c:404 builtin/notes.c:564 builtin/notes.c:567 #: builtin/tag.c:369 msgid "object" msgstr "objecte" -#: builtin/branch.c:652 +#: builtin/branch.c:651 msgid "print only branches of the object" msgstr "imprimeix nomΓ©s les branques de l'objecte" -#: builtin/branch.c:670 +#: builtin/branch.c:669 msgid "Failed to resolve HEAD as a valid ref." msgstr "S'ha fallat en resoldre HEAD com a referΓ¨ncia vΓ lida." -#: builtin/branch.c:674 builtin/clone.c:697 +#: builtin/branch.c:673 builtin/clone.c:705 msgid "HEAD not found below refs/heads!" msgstr "HEAD no trobat sota refs/heads!" -#: builtin/branch.c:694 +#: builtin/branch.c:693 msgid "--column and --verbose are incompatible" msgstr "--column i --verbose sΓ³n incompatibles" -#: builtin/branch.c:705 builtin/branch.c:747 +#: builtin/branch.c:704 builtin/branch.c:746 msgid "branch name required" msgstr "cal el nom de branca" -#: builtin/branch.c:723 +#: builtin/branch.c:722 msgid "Cannot give description to detached HEAD" msgstr "No es pot donar descripciΓ³ a un HEAD separat" -#: builtin/branch.c:728 +#: builtin/branch.c:727 msgid "cannot edit description of more than one branch" msgstr "no es pot editar la descripciΓ³ de mΓ©s d'una branca" -#: builtin/branch.c:735 +#: builtin/branch.c:734 #, c-format msgid "No commit on branch '%s' yet." msgstr "Encara no hi ha comissiΓ³ en la branca '%s'." -#: builtin/branch.c:738 +#: builtin/branch.c:737 #, c-format msgid "No branch named '%s'." msgstr "No hi ha branca amb nom '%s'." -#: builtin/branch.c:753 +#: builtin/branch.c:752 msgid "too many branches for a rename operation" msgstr "hi ha massa branques per a una operaciΓ³ de canvi de nom" -#: builtin/branch.c:758 +#: builtin/branch.c:757 msgid "too many branches to set new upstream" msgstr "hi ha massa branques per a establir una nova font" -#: builtin/branch.c:762 +#: builtin/branch.c:761 #, c-format msgid "" "could not set upstream of HEAD to %s when it does not point to any branch." msgstr "" "no s'ha pogut establir la font de HEAD com a %s quan no assenyala cap branca." -#: builtin/branch.c:765 builtin/branch.c:787 builtin/branch.c:808 +#: builtin/branch.c:764 builtin/branch.c:786 builtin/branch.c:807 #, c-format msgid "no such branch '%s'" msgstr "no hi ha tal branca '%s'" -#: builtin/branch.c:769 +#: builtin/branch.c:768 #, c-format msgid "branch '%s' does not exist" msgstr "la branca '%s' no existeix" -#: builtin/branch.c:781 +#: builtin/branch.c:780 msgid "too many branches to unset upstream" msgstr "hi ha massa branques per a desestablir la font" -#: builtin/branch.c:785 +#: builtin/branch.c:784 msgid "could not unset upstream of HEAD when it does not point to any branch." msgstr "" "no s'ha pogut desestablir la font de HEAD perquΓ¨ no assenyala cap branca." -#: builtin/branch.c:791 +#: builtin/branch.c:790 #, c-format msgid "Branch '%s' has no upstream information" msgstr "La branca '%s' no tΓ© informaciΓ³ de font" -#: builtin/branch.c:805 +#: builtin/branch.c:804 msgid "it does not make sense to create 'HEAD' manually" msgstr "no tΓ© sentit crear 'HEAD' manualment" -#: builtin/branch.c:811 +#: builtin/branch.c:810 msgid "-a and -r options to 'git branch' do not make sense with a branch name" msgstr "" "les opcions -a i -r a 'git branch' no tenen sentit amb un nom de branca" -#: builtin/branch.c:814 +#: builtin/branch.c:813 #, c-format msgid "" "The --set-upstream flag is deprecated and will be removed. Consider using --" @@ -3802,7 +3957,7 @@ msgstr "" "La bandera --set-upstream estΓ desaprovada i s'eliminarΓ . Considereu usar --" "track o --set-upstream-to\n" -#: builtin/branch.c:831 +#: builtin/branch.c:830 #, c-format msgid "" "\n" @@ -3813,12 +3968,12 @@ msgstr "" "Si volΓeu fer '%s' seguir '%s', feu aixΓ²:\n" "\n" -#: builtin/branch.c:832 +#: builtin/branch.c:831 #, c-format msgid " git branch -d %s\n" msgstr " git branch -d %s\n" -#: builtin/branch.c:833 +#: builtin/branch.c:832 #, c-format msgid " git branch --set-upstream-to %s\n" msgstr " git branch --set-upstream-to %s\n" @@ -3914,7 +4069,7 @@ msgstr "informa de tots els atributs establerts en el fitxer" msgid "use .gitattributes only from the index" msgstr "usa .gitattributes nomΓ©s des de l'Γndex" -#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:96 +#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:97 msgid "read file names from stdin" msgstr "llegeix els noms de fitxer d'stdin" @@ -3922,7 +4077,7 @@ msgstr "llegeix els noms de fitxer d'stdin" msgid "terminate input and output records by a NUL character" msgstr "acaba els registres d'entrada i de sortida amb un carΓ cter NUL" -#: builtin/check-ignore.c:18 builtin/checkout.c:1134 builtin/gc.c:325 +#: builtin/check-ignore.c:18 builtin/checkout.c:1136 builtin/gc.c:325 msgid "suppress progress reporting" msgstr "omet el reportatge de progrΓ©s" @@ -3975,49 +4130,53 @@ msgstr "no s'ha pogut analitzar el contacte: %s" msgid "no contacts specified" msgstr "no hi ha contactes especificats" -#: builtin/checkout-index.c:126 +#: builtin/checkout-index.c:127 msgid "git checkout-index [<options>] [--] [<file>...]" msgstr "git checkout-index [<opcions>] [--] [<fitxer>...]" -#: builtin/checkout-index.c:188 +#: builtin/checkout-index.c:144 +msgid "stage should be between 1 and 3 or all" +msgstr "l'etapa ha de ser entre 1 i 3 o all" + +#: builtin/checkout-index.c:160 msgid "check out all files in the index" msgstr "agafa tots els fitxers en l'Γndex" -#: builtin/checkout-index.c:189 +#: builtin/checkout-index.c:161 msgid "force overwrite of existing files" msgstr "forΓ§a la sobreescriptura de fitxers existents" -#: builtin/checkout-index.c:191 +#: builtin/checkout-index.c:163 msgid "no warning for existing files and files not in index" msgstr "cap avΓs per a fitxers existents i fitxers no en l'Γndex" -#: builtin/checkout-index.c:193 +#: builtin/checkout-index.c:165 msgid "don't checkout new files" msgstr "no agafis fitxers nous" -#: builtin/checkout-index.c:195 +#: builtin/checkout-index.c:167 msgid "update stat information in the index file" msgstr "actualitza la informaciΓ³ d'estadΓstiques en el fitxer d'Γndex" -#: builtin/checkout-index.c:201 +#: builtin/checkout-index.c:171 msgid "read list of paths from the standard input" msgstr "llegeix la llista de camins des de l'entrada estΓ ndard" -#: builtin/checkout-index.c:203 +#: builtin/checkout-index.c:173 msgid "write the content to temporary files" msgstr "escriu el contingut a fitxers temporals" -#: builtin/checkout-index.c:204 builtin/column.c:30 +#: builtin/checkout-index.c:174 builtin/column.c:30 +#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169 #: builtin/submodule--helper.c:172 builtin/submodule--helper.c:175 -#: builtin/submodule--helper.c:178 builtin/submodule--helper.c:181 msgid "string" msgstr "cadena" -#: builtin/checkout-index.c:205 +#: builtin/checkout-index.c:175 msgid "when creating files, prepend <string>" msgstr "en crear fitxers, anteposa <cadena>" -#: builtin/checkout-index.c:208 +#: builtin/checkout-index.c:177 msgid "copy out the files from named stage" msgstr "copia els fitxers des de l'etapa anomenada" @@ -4098,37 +4257,41 @@ msgstr "No es pot fer reflog per a '%s': %s\n" msgid "HEAD is now at" msgstr "HEAD ara Γ©s a" -#: builtin/checkout.c:668 +#: builtin/checkout.c:665 builtin/clone.c:659 +msgid "unable to update HEAD" +msgstr "no s'ha pogut actualitzar HEAD" + +#: builtin/checkout.c:669 #, c-format msgid "Reset branch '%s'\n" msgstr "Restableix la branca '%s'\n" -#: builtin/checkout.c:671 +#: builtin/checkout.c:672 #, c-format msgid "Already on '%s'\n" msgstr "Ja en '%s'\n" -#: builtin/checkout.c:675 +#: builtin/checkout.c:676 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "S'ha agafat i restablert la branca '%s'\n" -#: builtin/checkout.c:677 builtin/checkout.c:1066 +#: builtin/checkout.c:678 builtin/checkout.c:1068 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "S'ha agafat la branca nova '%s'\n" -#: builtin/checkout.c:679 +#: builtin/checkout.c:680 #, c-format msgid "Switched to branch '%s'\n" msgstr "S'ha agafat la branca '%s'\n" -#: builtin/checkout.c:731 +#: builtin/checkout.c:732 #, c-format msgid " ... and %d more.\n" msgstr " ... i %d mΓ©s.\n" -#: builtin/checkout.c:737 +#: builtin/checkout.c:738 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -4151,7 +4314,7 @@ msgstr[1] "" "\n" "%s\n" -#: builtin/checkout.c:756 +#: builtin/checkout.c:757 #, c-format msgid "" "If you want to keep it by creating a new branch, this may be a good time\n" @@ -4178,150 +4341,150 @@ msgstr[1] "" " git branch <nom-de-branca-nova> %s\n" "\n" -#: builtin/checkout.c:792 +#: builtin/checkout.c:793 msgid "internal error in revision walk" msgstr "error intern en el passeig per revisions" -#: builtin/checkout.c:796 +#: builtin/checkout.c:797 msgid "Previous HEAD position was" msgstr "La posiciΓ³ de HEAD anterior era" -#: builtin/checkout.c:823 builtin/checkout.c:1061 +#: builtin/checkout.c:824 builtin/checkout.c:1063 msgid "You are on a branch yet to be born" msgstr "Sou en una branca que encara ha de nΓ ixer" -#: builtin/checkout.c:968 +#: builtin/checkout.c:969 #, c-format msgid "only one reference expected, %d given." msgstr "nomΓ©s una referΓ¨ncia esperada, %d donades." -#: builtin/checkout.c:1007 builtin/worktree.c:213 +#: builtin/checkout.c:1009 builtin/worktree.c:211 #, c-format msgid "invalid reference: %s" msgstr "referΓ¨ncia no vΓ lida: %s" -#: builtin/checkout.c:1036 +#: builtin/checkout.c:1038 #, c-format msgid "reference is not a tree: %s" msgstr "la referΓ¨ncia no Γ©s un arbre: %s" -#: builtin/checkout.c:1075 +#: builtin/checkout.c:1077 msgid "paths cannot be used with switching branches" msgstr "els camins no es poden usar amb canvi de branca" -#: builtin/checkout.c:1078 builtin/checkout.c:1082 +#: builtin/checkout.c:1080 builtin/checkout.c:1084 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "'%s' no es pot usar amb canvi de branca" -#: builtin/checkout.c:1086 builtin/checkout.c:1089 builtin/checkout.c:1094 -#: builtin/checkout.c:1097 +#: builtin/checkout.c:1088 builtin/checkout.c:1091 builtin/checkout.c:1096 +#: builtin/checkout.c:1099 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "'%s' no es pot usar amb '%s'" -#: builtin/checkout.c:1102 +#: builtin/checkout.c:1104 #, c-format msgid "Cannot switch branch to a non-commit '%s'" msgstr "No es pot canviar la branca a la no comissiΓ³ '%s'" -#: builtin/checkout.c:1135 builtin/checkout.c:1137 builtin/clone.c:83 -#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:320 -#: builtin/worktree.c:322 +#: builtin/checkout.c:1137 builtin/checkout.c:1139 builtin/clone.c:84 +#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:318 +#: builtin/worktree.c:320 msgid "branch" msgstr "branca" -#: builtin/checkout.c:1136 +#: builtin/checkout.c:1138 msgid "create and checkout a new branch" msgstr "crea i agafa una branca nova" -#: builtin/checkout.c:1138 +#: builtin/checkout.c:1140 msgid "create/reset and checkout a branch" msgstr "crea/restableix i agafa una branca" -#: builtin/checkout.c:1139 +#: builtin/checkout.c:1141 msgid "create reflog for new branch" msgstr "crea un registre de referΓ¨ncia per a la branca nova" -#: builtin/checkout.c:1140 +#: builtin/checkout.c:1142 msgid "detach the HEAD at named commit" msgstr "separa el HEAD a la comissiΓ³ anomenada" -#: builtin/checkout.c:1141 +#: builtin/checkout.c:1143 msgid "set upstream info for new branch" msgstr "estableix la informaciΓ³ de font de la branca nova" -#: builtin/checkout.c:1143 +#: builtin/checkout.c:1145 msgid "new-branch" msgstr "branca-nova" -#: builtin/checkout.c:1143 +#: builtin/checkout.c:1145 msgid "new unparented branch" msgstr "branca Γ²rfena nova" -#: builtin/checkout.c:1144 +#: builtin/checkout.c:1146 msgid "checkout our version for unmerged files" msgstr "agafa la versiΓ³ nostra dels fitxers sense fusionar" -#: builtin/checkout.c:1146 +#: builtin/checkout.c:1148 msgid "checkout their version for unmerged files" msgstr "agafa la versiΓ³ seva dels fitxers sense fusionar" -#: builtin/checkout.c:1148 +#: builtin/checkout.c:1150 msgid "force checkout (throw away local modifications)" msgstr "agafa a la forΓ§a (descarta qualsevulla modificaciΓ³ local)" -#: builtin/checkout.c:1149 +#: builtin/checkout.c:1151 msgid "perform a 3-way merge with the new branch" msgstr "realitza una fusiΓ³ de 3 vies amb la branca nova" -#: builtin/checkout.c:1150 builtin/merge.c:227 +#: builtin/checkout.c:1152 builtin/merge.c:227 msgid "update ignored files (default)" msgstr "actualitza els fitxers ignorats (per defecte)" -#: builtin/checkout.c:1151 builtin/log.c:1266 parse-options.h:250 +#: builtin/checkout.c:1153 builtin/log.c:1269 parse-options.h:250 msgid "style" msgstr "estil" -#: builtin/checkout.c:1152 +#: builtin/checkout.c:1154 msgid "conflict style (merge or diff3)" msgstr "estil de conflicte (fusiΓ³ o diff3)" -#: builtin/checkout.c:1155 +#: builtin/checkout.c:1157 msgid "do not limit pathspecs to sparse entries only" msgstr "no limitis les especificacions de camΓ nomΓ©s a entrades disperses" -#: builtin/checkout.c:1157 +#: builtin/checkout.c:1159 msgid "second guess 'git checkout <no-such-branch>'" msgstr "dubta 'git checkout <cap-branca-aixΓ>'" -#: builtin/checkout.c:1159 +#: builtin/checkout.c:1161 msgid "do not check if another worktree is holding the given ref" msgstr "no comprovis si altre arbre de treball tΓ© la referΓ¨ncia donada" -#: builtin/checkout.c:1160 builtin/clone.c:57 builtin/fetch.c:112 -#: builtin/merge.c:224 builtin/pull.c:109 builtin/push.c:558 +#: builtin/checkout.c:1162 builtin/clone.c:58 builtin/fetch.c:116 +#: builtin/merge.c:224 builtin/pull.c:113 builtin/push.c:526 #: builtin/send-pack.c:168 msgid "force progress reporting" msgstr "forΓ§a l'informe de progrΓ©s" -#: builtin/checkout.c:1191 +#: builtin/checkout.c:1193 msgid "-b, -B and --orphan are mutually exclusive" msgstr "-b, -B i --orphan sΓ³n mutualment exclusius" -#: builtin/checkout.c:1208 +#: builtin/checkout.c:1210 msgid "--track needs a branch name" msgstr "--track necessita un nom de branca" -#: builtin/checkout.c:1213 +#: builtin/checkout.c:1215 msgid "Missing branch name; try -b" msgstr "Manca el nom de branca; proveu -b" -#: builtin/checkout.c:1249 +#: builtin/checkout.c:1251 msgid "invalid path specification" msgstr "especificaciΓ³ de camΓ no vΓ lida" -#: builtin/checkout.c:1256 +#: builtin/checkout.c:1258 #, c-format msgid "" "Cannot update paths and switch to branch '%s' at the same time.\n" @@ -4330,12 +4493,12 @@ msgstr "" "No es poden actualitzar els camins i canviar a la branca '%s' a la vegada.\n" "VolΓeu agafar '%s', la qual no es pot resoldre com a comissiΓ³?" -#: builtin/checkout.c:1261 +#: builtin/checkout.c:1263 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "git checkout: --detach no accepta un parΓ metre de camΓ '%s'" -#: builtin/checkout.c:1265 +#: builtin/checkout.c:1267 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." @@ -4374,7 +4537,7 @@ msgstr "Saltaria el dipΓ²sit %s\n" msgid "failed to remove %s" msgstr "s'ha fallat en eliminar %s" -#: builtin/clean.c:315 +#: builtin/clean.c:291 msgid "" "Prompt help:\n" "1 - select a numbered item\n" @@ -4386,7 +4549,7 @@ msgstr "" "foo - selecciona un Γtem basat en un prefix ΓΊnic\n" " - (buit) no seleccionis res" -#: builtin/clean.c:319 +#: builtin/clean.c:295 msgid "" "Prompt help:\n" "1 - select a single item\n" @@ -4406,36 +4569,36 @@ msgstr "" "* - tria tots els Γtems\n" " - (buit) finalitza la selecciΓ³" -#: builtin/clean.c:535 +#: builtin/clean.c:511 #, c-format msgid "Huh (%s)?" msgstr "PerdΓ³ (%s)?" -#: builtin/clean.c:677 +#: builtin/clean.c:653 #, c-format msgid "Input ignore patterns>> " msgstr "IntroduΓ―u els patrons a ignorar>> " -#: builtin/clean.c:714 +#: builtin/clean.c:690 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "AVΓS: No es pot trobar Γtems que coincideixin amb: %s" -#: builtin/clean.c:735 +#: builtin/clean.c:711 msgid "Select items to delete" msgstr "Selecciona els Γtems a suprimir" #. TRANSLATORS: Make sure to keep [y/N] as is -#: builtin/clean.c:776 +#: builtin/clean.c:752 #, c-format msgid "Remove %s [y/N]? " msgstr "Voleu eliminar %s [y/N]? " -#: builtin/clean.c:801 +#: builtin/clean.c:777 msgid "Bye." msgstr "AdΓ©u." -#: builtin/clean.c:809 +#: builtin/clean.c:785 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -4453,62 +4616,62 @@ msgstr "" "help - aquesta pantalla\n" "? - ajuda de selecciΓ³ de l'avΓs" -#: builtin/clean.c:836 +#: builtin/clean.c:812 msgid "*** Commands ***" msgstr "*** Ordres ***" -#: builtin/clean.c:837 +#: builtin/clean.c:813 msgid "What now" msgstr "I ara quΓ¨" -#: builtin/clean.c:845 +#: builtin/clean.c:821 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "Eliminaria l'Γtem segΓΌent:" msgstr[1] "Eliminaria els Γtems segΓΌents:" -#: builtin/clean.c:862 +#: builtin/clean.c:838 msgid "No more files to clean, exiting." msgstr "No hi ha mΓ©s fitxers a netejar; sortint." -#: builtin/clean.c:893 +#: builtin/clean.c:869 msgid "do not print names of files removed" msgstr "no imprimeixis els noms dels fitxers eliminats" -#: builtin/clean.c:895 +#: builtin/clean.c:871 msgid "force" msgstr "forΓ§a" -#: builtin/clean.c:896 +#: builtin/clean.c:872 msgid "interactive cleaning" msgstr "neteja interactiva" -#: builtin/clean.c:898 +#: builtin/clean.c:874 msgid "remove whole directories" msgstr "elimina directoris sencers" -#: builtin/clean.c:899 builtin/describe.c:407 builtin/grep.c:709 -#: builtin/ls-files.c:443 builtin/name-rev.c:307 builtin/show-ref.c:182 +#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:722 +#: builtin/ls-files.c:456 builtin/name-rev.c:307 builtin/show-ref.c:182 msgid "pattern" msgstr "patrΓ³" -#: builtin/clean.c:900 +#: builtin/clean.c:876 msgid "add <pattern> to ignore rules" msgstr "afegiu <patrΓ³> per a ignorar les regles" -#: builtin/clean.c:901 +#: builtin/clean.c:877 msgid "remove ignored files, too" msgstr "elimina els fitxers ignorats, tambΓ©" -#: builtin/clean.c:903 +#: builtin/clean.c:879 msgid "remove only ignored files" msgstr "elimina nomΓ©s els fitxers ignorats" -#: builtin/clean.c:921 +#: builtin/clean.c:897 msgid "-x and -X cannot be used together" msgstr "-x i -X no es poden usar junts" -#: builtin/clean.c:925 +#: builtin/clean.c:901 msgid "" "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to " "clean" @@ -4516,7 +4679,7 @@ msgstr "" "clean.requireForce estΓ establerta a veritat i ni -i, -n ni -f s'ha donat; " "refusant netejar" -#: builtin/clean.c:928 +#: builtin/clean.c:904 msgid "" "clean.requireForce defaults to true and neither -i, -n, nor -f given; " "refusing to clean" @@ -4528,146 +4691,162 @@ msgstr "" msgid "git clone [<options>] [--] <repo> [<dir>]" msgstr "git clone [<opcions>] [--] <dipΓ²sit> [<directori>]" -#: builtin/clone.c:59 +#: builtin/clone.c:60 msgid "don't create a checkout" msgstr "no facis cap agafament" -#: builtin/clone.c:60 builtin/clone.c:62 builtin/init-db.c:469 +#: builtin/clone.c:61 builtin/clone.c:63 builtin/init-db.c:469 msgid "create a bare repository" msgstr "crea un dipΓ²sit nu" -#: builtin/clone.c:64 +#: builtin/clone.c:65 msgid "create a mirror repository (implies bare)" msgstr "crea un dipΓ²sit reflectit (implica bare)" -#: builtin/clone.c:66 +#: builtin/clone.c:67 msgid "to clone from a local repository" msgstr "per a clonar des d'un dipΓ²sit local" -#: builtin/clone.c:68 +#: builtin/clone.c:69 msgid "don't use local hardlinks, always copy" msgstr "no usis enllaΓ§os durs locals, sempre copia" -#: builtin/clone.c:70 +#: builtin/clone.c:71 msgid "setup as shared repository" msgstr "configura com a dipΓ²sit compartit" -#: builtin/clone.c:72 builtin/clone.c:74 +#: builtin/clone.c:73 builtin/clone.c:75 msgid "initialize submodules in the clone" msgstr "inicialitza els submΓ²duls en el clon" -#: builtin/clone.c:75 builtin/init-db.c:466 +#: builtin/clone.c:76 builtin/init-db.c:466 msgid "template-directory" msgstr "directori-de-plantilla" -#: builtin/clone.c:76 builtin/init-db.c:467 +#: builtin/clone.c:77 builtin/init-db.c:467 msgid "directory from which templates will be used" msgstr "directori del qual les plantilles s'usaran" -#: builtin/clone.c:78 builtin/submodule--helper.c:179 +#: builtin/clone.c:79 builtin/submodule--helper.c:173 msgid "reference repository" msgstr "dipΓ²sit de referΓ¨ncia" -#: builtin/clone.c:80 +#: builtin/clone.c:81 msgid "use --reference only while cloning" msgstr "usa --reference nomΓ©s en clonar" -#: builtin/clone.c:81 builtin/column.c:26 builtin/merge-file.c:44 +#: builtin/clone.c:82 builtin/column.c:26 builtin/merge-file.c:44 msgid "name" msgstr "nom" -#: builtin/clone.c:82 +#: builtin/clone.c:83 msgid "use <name> instead of 'origin' to track upstream" msgstr "usa <nom> en lloc de 'origin' per a seguir la font" -#: builtin/clone.c:84 +#: builtin/clone.c:85 msgid "checkout <branch> instead of the remote's HEAD" msgstr "agafa <branca> en lloc del HEAD del remot" -#: builtin/clone.c:86 +#: builtin/clone.c:87 msgid "path to git-upload-pack on the remote" msgstr "camΓ a git-upload-pack en el remot" -#: builtin/clone.c:87 builtin/fetch.c:113 builtin/grep.c:654 builtin/pull.c:186 +#: builtin/clone.c:88 builtin/fetch.c:117 builtin/grep.c:665 builtin/pull.c:193 msgid "depth" msgstr "profunditat" -#: builtin/clone.c:88 +#: builtin/clone.c:89 msgid "create a shallow clone of that depth" msgstr "crea un clon superficial de tal profunditat" -#: builtin/clone.c:90 +#: builtin/clone.c:91 msgid "clone only one branch, HEAD or --branch" msgstr "clona nomΓ©s una branca, HEAD o --branch" -#: builtin/clone.c:91 builtin/init-db.c:475 +#: builtin/clone.c:92 builtin/init-db.c:475 msgid "gitdir" msgstr "directori de git" -#: builtin/clone.c:92 builtin/init-db.c:476 +#: builtin/clone.c:93 builtin/init-db.c:476 msgid "separate git dir from working tree" msgstr "separa el directori de git de l'arbre de treball" -#: builtin/clone.c:93 +#: builtin/clone.c:94 msgid "key=value" msgstr "clau=valor" -#: builtin/clone.c:94 +#: builtin/clone.c:95 msgid "set config inside the new repository" msgstr "estableix la configuraciΓ³ dins del dipΓ²sit nou" -#: builtin/clone.c:300 +#: builtin/clone.c:96 builtin/fetch.c:131 builtin/push.c:536 +msgid "use IPv4 addresses only" +msgstr "usa nomΓ©s les adreces IPv4" + +#: builtin/clone.c:98 builtin/fetch.c:133 builtin/push.c:538 +msgid "use IPv6 addresses only" +msgstr "usa nomΓ©s les adreces IPv6" + +#: builtin/clone.c:239 +msgid "" +"No directory name could be guessed.\n" +"Please specify a directory on the command line" +msgstr "" +"No s'ha pogut endevinar cap nom de directori.\n" +"Si us plau, especifiqueu un directori en la lΓnia d'ordres" + +#: builtin/clone.c:305 #, c-format msgid "reference repository '%s' as a linked checkout is not supported yet." msgstr "" "Encara no se suporta el dipΓ²sit de referΓ¨ncia '%s' com a agafament enllaΓ§at." -#: builtin/clone.c:302 +#: builtin/clone.c:307 #, c-format msgid "reference repository '%s' is not a local repository." msgstr "el dipΓ²sit de referΓ¨ncia '%s' no Γ©s un dipΓ²sit local." -#: builtin/clone.c:307 +#: builtin/clone.c:312 #, c-format msgid "reference repository '%s' is shallow" msgstr "el dipΓ²sit de referΓ¨ncia '%s' Γ©s superficial" -#: builtin/clone.c:310 +#: builtin/clone.c:315 #, c-format msgid "reference repository '%s' is grafted" msgstr "el dipΓ²sit de referΓ¨ncia '%s' Γ©s empeltat" -#: builtin/clone.c:375 builtin/diff.c:84 +#: builtin/clone.c:380 builtin/diff.c:84 #, c-format msgid "failed to stat '%s'" msgstr "s'ha fallat en fer stat a '%s'" -#: builtin/clone.c:377 +#: builtin/clone.c:382 #, c-format msgid "%s exists and is not a directory" msgstr "%s existeix i no Γ©s directori" -#: builtin/clone.c:391 +#: builtin/clone.c:396 #, c-format msgid "failed to stat %s\n" msgstr "s'ha fallat en fer stat a '%s'\n" -#: builtin/clone.c:413 +#: builtin/clone.c:418 #, c-format msgid "failed to create link '%s'" msgstr "s'ha fallat en crear l'enllaΓ§ '%s'" -#: builtin/clone.c:417 +#: builtin/clone.c:422 #, c-format msgid "failed to copy file to '%s'" msgstr "s'ha fallat en copiar el fitxer a '%s'" -#: builtin/clone.c:442 builtin/clone.c:626 +#: builtin/clone.c:447 builtin/clone.c:631 #, c-format msgid "done.\n" msgstr "fet.\n" -#: builtin/clone.c:454 +#: builtin/clone.c:459 msgid "" "Clone succeeded, but checkout failed.\n" "You can inspect what was checked out with 'git status'\n" @@ -4678,119 +4857,128 @@ msgstr "" "'git status' i tornar a intentar l'agafament amb\n" "'git checkout -f HEAD'\n" -#: builtin/clone.c:531 +#: builtin/clone.c:536 #, c-format msgid "Could not find remote branch %s to clone." msgstr "No s'ha pogut trobar la branca remota %s per a clonar." -#: builtin/clone.c:621 +#: builtin/clone.c:626 #, c-format msgid "Checking connectivity... " msgstr "Provant connectivitat... " -#: builtin/clone.c:624 +#: builtin/clone.c:629 msgid "remote did not send all necessary objects" msgstr "el remot no ha enviat tots els objectes necessaris" -#: builtin/clone.c:688 +#: builtin/clone.c:647 +#, c-format +msgid "unable to update %s" +msgstr "no s'ha pogut actualizar %s" + +#: builtin/clone.c:696 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "" "el HEAD remot es refereix a una referΓ¨ncia que no existeix; no s'ha pogut " "agafar.\n" -#: builtin/clone.c:719 +#: builtin/clone.c:727 msgid "unable to checkout working tree" msgstr "no s'ha pogut agafar l'arbre de treball" -#: builtin/clone.c:808 +#: builtin/clone.c:753 +msgid "unable to write parameters to config file" +msgstr "no s'ha pogut escriure les parΓ metres al fitxer de configuraciΓ³" + +#: builtin/clone.c:816 msgid "cannot repack to clean up" msgstr "no es pot reempaquetar per a netejar" -#: builtin/clone.c:810 +#: builtin/clone.c:818 msgid "cannot unlink temporary alternates file" msgstr "no es pot desenllaΓ§ar el fitxer d'alternatives temporal" -#: builtin/clone.c:842 +#: builtin/clone.c:850 msgid "Too many arguments." msgstr "Hi ha massa parΓ metres." -#: builtin/clone.c:846 +#: builtin/clone.c:854 msgid "You must specify a repository to clone." msgstr "Heu d'especificar un dipΓ²sit per a clonar." -#: builtin/clone.c:857 +#: builtin/clone.c:865 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "les opcions --bare i --origin %s sΓ³n incompatibles." -#: builtin/clone.c:860 +#: builtin/clone.c:868 msgid "--bare and --separate-git-dir are incompatible." msgstr "--bare i --separate-git-dir sΓ³n incompatibles." -#: builtin/clone.c:873 +#: builtin/clone.c:881 #, c-format msgid "repository '%s' does not exist" msgstr "el dipΓ²sit '%s' no existeix" -#: builtin/clone.c:879 builtin/fetch.c:1166 +#: builtin/clone.c:887 builtin/fetch.c:1174 #, c-format msgid "depth %s is not a positive number" msgstr "la profunditat %s no Γ©s nombre positiu" -#: builtin/clone.c:889 +#: builtin/clone.c:897 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "el camΓ destΓ '%s' ja existeix i no Γ©s un directori buit." -#: builtin/clone.c:899 +#: builtin/clone.c:907 #, c-format msgid "working tree '%s' already exists." msgstr "l'arbre de treball '%s' ja existeix." -#: builtin/clone.c:914 builtin/clone.c:925 builtin/submodule--helper.c:224 -#: builtin/worktree.c:221 builtin/worktree.c:248 +#: builtin/clone.c:922 builtin/clone.c:933 builtin/submodule--helper.c:218 +#: builtin/worktree.c:219 builtin/worktree.c:246 #, c-format msgid "could not create leading directories of '%s'" msgstr "no s'ha pogut crear els directoris inicials de '%s'" -#: builtin/clone.c:917 +#: builtin/clone.c:925 #, c-format msgid "could not create work tree dir '%s'" msgstr "no s'ha pogut crear el directori d'arbre de treball '%s'" -#: builtin/clone.c:935 +#: builtin/clone.c:943 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "Clonant al dipΓ²sit nu '%s'...\n" -#: builtin/clone.c:937 +#: builtin/clone.c:945 #, c-format msgid "Cloning into '%s'...\n" msgstr "Clonant a '%s'...\n" -#: builtin/clone.c:975 +#: builtin/clone.c:984 msgid "--depth is ignored in local clones; use file:// instead." msgstr "--depth s'ignora en els clons locals; useu file:// en lloc d'aixΓ²." -#: builtin/clone.c:978 +#: builtin/clone.c:987 msgid "source repository is shallow, ignoring --local" msgstr "el dipΓ²sit font Γ©s superficial, ignorant --local" -#: builtin/clone.c:983 +#: builtin/clone.c:992 msgid "--local is ignored" msgstr "--local s'ignora" -#: builtin/clone.c:987 +#: builtin/clone.c:996 #, c-format msgid "Don't know how to clone %s" msgstr "No se sap com clonar %s" -#: builtin/clone.c:1036 builtin/clone.c:1044 +#: builtin/clone.c:1045 builtin/clone.c:1053 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "La branca remota %s no es troba en la font %s" -#: builtin/clone.c:1047 +#: builtin/clone.c:1056 msgid "You appear to have cloned an empty repository." msgstr "Sembla que heu clonat un dipΓ²sit buit." @@ -5004,7 +5192,7 @@ msgstr "" msgid "could not lookup commit %s" msgstr "no s'ha pogut trobar la comissiΓ³ %s" -#: builtin/commit.c:702 builtin/shortlog.c:273 +#: builtin/commit.c:702 builtin/shortlog.c:285 #, c-format msgid "(reading log message from standard input)\n" msgstr "(llegint el missatge de registre des de l'entrada estΓ ndard)\n" @@ -5191,8 +5379,8 @@ msgstr "mostra l'estat concisament" msgid "show branch information" msgstr "mostra la informaciΓ³ de branca" -#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:544 -#: builtin/worktree.c:423 +#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:512 +#: builtin/worktree.c:430 msgid "machine-readable output" msgstr "sortida llegible per mΓ quina" @@ -5283,8 +5471,8 @@ msgstr "data" msgid "override date for commit" msgstr "data corregida de la comissiΓ³" -#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:392 -#: builtin/notes.c:555 builtin/tag.c:349 +#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:395 +#: builtin/notes.c:558 builtin/tag.c:349 msgid "message" msgstr "missatge" @@ -5321,7 +5509,7 @@ msgstr "" msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "l'autor de la comissiΓ³ ja sΓ³c jo (s'usa amb -C/-c/--amend)" -#: builtin/commit.c:1588 builtin/log.c:1216 builtin/revert.c:86 +#: builtin/commit.c:1588 builtin/log.c:1219 builtin/revert.c:86 msgid "add Signed-off-by:" msgstr "afegeix Signed-off-by:" @@ -5345,7 +5533,7 @@ msgstr "com despullar els espais i #comentaris del missatge" msgid "include status in commit message template" msgstr "inclou l'estat en la plantilla de missatge de comissiΓ³" -#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:156 +#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:160 #: builtin/revert.c:93 msgid "GPG sign commit" msgstr "firma la comissiΓ³ amb GPG" @@ -5437,140 +5625,146 @@ msgstr "" "que la quota no estigui excedida, i desprΓ©s\n" "\"git reset HEAD\" per a recuperar." -#: builtin/config.c:8 +#: builtin/config.c:9 msgid "git config [<options>]" msgstr "git config [<opcions>]" -#: builtin/config.c:54 +#: builtin/config.c:56 msgid "Config file location" msgstr "UbicaciΓ³ del fitxer de configuraciΓ³" -#: builtin/config.c:55 +#: builtin/config.c:57 msgid "use global config file" msgstr "usa el fitxer de configuraciΓ³ global" -#: builtin/config.c:56 +#: builtin/config.c:58 msgid "use system config file" msgstr "usa el fitxer de configuraciΓ³ del sistema" -#: builtin/config.c:57 +#: builtin/config.c:59 msgid "use repository config file" msgstr "usa el fitxer de configuraciΓ³ del dipΓ²sit" -#: builtin/config.c:58 +#: builtin/config.c:60 msgid "use given config file" msgstr "usa el fitxer de configuraciΓ³ donat" -#: builtin/config.c:59 +#: builtin/config.c:61 msgid "blob-id" msgstr "ID de blob" -#: builtin/config.c:59 +#: builtin/config.c:61 msgid "read config from given blob object" msgstr "llegeix la configuraciΓ³ de l'objecte de blob donat" -#: builtin/config.c:60 +#: builtin/config.c:62 msgid "Action" msgstr "AcciΓ³" -#: builtin/config.c:61 +#: builtin/config.c:63 msgid "get value: name [value-regex]" msgstr "obtΓ©n valor: nom [regex-de-valors]" -#: builtin/config.c:62 +#: builtin/config.c:64 msgid "get all values: key [value-regex]" msgstr "obtΓ©n tots els valors: clau [regex-de-valors]" -#: builtin/config.c:63 +#: builtin/config.c:65 msgid "get values for regexp: name-regex [value-regex]" msgstr "obtΓ©n valors de regexp: regex-de-noms [regex-de-valors]" -#: builtin/config.c:64 +#: builtin/config.c:66 msgid "get value specific for the URL: section[.var] URL" msgstr "obtΓ©n el valor especΓfic per a l'URL: secciΓ³[.variable] URL" -#: builtin/config.c:65 +#: builtin/config.c:67 msgid "replace all matching variables: name value [value_regex]" msgstr "" "reemplaΓ§a totes les variables que coincideixen: nom valor [regex_de_valors]" -#: builtin/config.c:66 +#: builtin/config.c:68 msgid "add a new variable: name value" msgstr "afegeix una variable nova: nom valor" -#: builtin/config.c:67 +#: builtin/config.c:69 msgid "remove a variable: name [value-regex]" msgstr "elimina una variable: nom [regex-de-valors]" -#: builtin/config.c:68 +#: builtin/config.c:70 msgid "remove all matches: name [value-regex]" msgstr "elimina totes les coincidΓ¨ncies: nom [regex-de-valors]" -#: builtin/config.c:69 +#: builtin/config.c:71 msgid "rename section: old-name new-name" msgstr "canvia el nom de secciΓ³: nom-antic nom-nou" -#: builtin/config.c:70 +#: builtin/config.c:72 msgid "remove a section: name" msgstr "elimina una secciΓ³: nom" -#: builtin/config.c:71 +#: builtin/config.c:73 msgid "list all" msgstr "llista tots" -#: builtin/config.c:72 +#: builtin/config.c:74 msgid "open an editor" msgstr "obre un editor" -#: builtin/config.c:73 +#: builtin/config.c:75 msgid "find the color configured: slot [default]" msgstr "troba el color configurat: ranura [per defecte]" -#: builtin/config.c:74 +#: builtin/config.c:76 msgid "find the color setting: slot [stdout-is-tty]" msgstr "troba l'ajust de color: ranura [stdout-Γ©s-tty]" -#: builtin/config.c:75 +#: builtin/config.c:77 msgid "Type" msgstr "Tipus" -#: builtin/config.c:76 +#: builtin/config.c:78 msgid "value is \"true\" or \"false\"" msgstr "el valor Γ©s \"true\" o \"false\"" -#: builtin/config.c:77 +#: builtin/config.c:79 msgid "value is decimal number" msgstr "el valor Γ©s un nombre decimal" -#: builtin/config.c:78 +#: builtin/config.c:80 msgid "value is --bool or --int" msgstr "el valor Γ©s --bool o --int" -#: builtin/config.c:79 +#: builtin/config.c:81 msgid "value is a path (file or directory name)" msgstr "el valor Γ©s un camΓ (nom de fitxer o directori)" -#: builtin/config.c:80 +#: builtin/config.c:82 msgid "Other" msgstr "Altre" -#: builtin/config.c:81 +#: builtin/config.c:83 msgid "terminate values with NUL byte" msgstr "acaba els valors amb un octet NUL" -#: builtin/config.c:82 +#: builtin/config.c:84 msgid "show variable names only" msgstr "mostra nomΓ©s els noms de variable" -#: builtin/config.c:83 +#: builtin/config.c:85 msgid "respect include directives on lookup" msgstr "respecta les directives d'inclusiΓ³ en cercar" -#: builtin/config.c:303 +#: builtin/config.c:86 +msgid "show origin of config (file, standard input, blob, command line)" +msgstr "" +"mostra l'origen de la configuraciΓ³ (fitxer, entrada estΓ ndar, blob, lΓnia " +"d'ordres)" + +#: builtin/config.c:328 msgid "unable to parse default color value" msgstr "no s'ha pogut analitzar el valor de color per defecte" -#: builtin/config.c:441 +#: builtin/config.c:469 #, c-format msgid "" "# This is Git's per-user configuration file.\n" @@ -5585,7 +5779,7 @@ msgstr "" "#\tname = %s\n" "#\temail = %s\n" -#: builtin/config.c:575 +#: builtin/config.c:611 #, c-format msgid "cannot create configuration file %s" msgstr "no es pot crear el fitxer de configuraciΓ³ '%s'" @@ -5835,162 +6029,166 @@ msgstr "git fetch --multiple [<opcions>] [(<dipΓ²sit> | <grup>)...]" msgid "git fetch --all [<options>]" msgstr "git fetch --all [<opcions>]" -#: builtin/fetch.c:90 builtin/pull.c:162 +#: builtin/fetch.c:92 builtin/pull.c:166 msgid "fetch from all remotes" msgstr "obtΓ©n de tots els remots" -#: builtin/fetch.c:92 builtin/pull.c:165 +#: builtin/fetch.c:94 builtin/pull.c:169 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "annexa a .git/FETCH_HEAD en lloc de sobreescriure" -#: builtin/fetch.c:94 builtin/pull.c:168 +#: builtin/fetch.c:96 builtin/pull.c:172 msgid "path to upload pack on remote end" msgstr "camΓ al qual pujar el paquet al costat remot" -#: builtin/fetch.c:95 builtin/pull.c:170 +#: builtin/fetch.c:97 builtin/pull.c:174 msgid "force overwrite of local branch" msgstr "forΓ§a la sobreescriptura de la branca local" -#: builtin/fetch.c:97 +#: builtin/fetch.c:99 msgid "fetch from multiple remotes" msgstr "obtΓ©n de mΓΊltiples remots" -#: builtin/fetch.c:99 builtin/pull.c:172 +#: builtin/fetch.c:101 builtin/pull.c:176 msgid "fetch all tags and associated objects" msgstr "obtΓ©n totes les etiquetes i tots els objectes associats" -#: builtin/fetch.c:101 +#: builtin/fetch.c:103 msgid "do not fetch all tags (--no-tags)" msgstr "no obtinguis les etiquetes (--no-tags)" -#: builtin/fetch.c:103 builtin/pull.c:175 +#: builtin/fetch.c:105 +msgid "number of submodules fetched in parallel" +msgstr "nombre de submΓ²duls obtinguts en paralΒ·lel" + +#: builtin/fetch.c:107 builtin/pull.c:179 msgid "prune remote-tracking branches no longer on remote" msgstr "poda les branques amb seguiment remot que ja no estiguin en el remot" -#: builtin/fetch.c:104 builtin/pull.c:178 +#: builtin/fetch.c:108 builtin/pull.c:182 msgid "on-demand" msgstr "sota demanda" -#: builtin/fetch.c:105 builtin/pull.c:179 +#: builtin/fetch.c:109 builtin/pull.c:183 msgid "control recursive fetching of submodules" msgstr "controla l'obtenciΓ³ recursiva de submΓ²duls" -#: builtin/fetch.c:109 builtin/pull.c:184 +#: builtin/fetch.c:113 builtin/pull.c:191 msgid "keep downloaded pack" msgstr "retΓ©n el paquet baixat" -#: builtin/fetch.c:111 +#: builtin/fetch.c:115 msgid "allow updating of HEAD ref" msgstr "permet l'actualitzaciΓ³ de la referΓ¨ncia HEAD" -#: builtin/fetch.c:114 builtin/pull.c:187 +#: builtin/fetch.c:118 builtin/pull.c:194 msgid "deepen history of shallow clone" msgstr "aprofundeix la histΓ²ria d'un clon superficial" -#: builtin/fetch.c:116 builtin/pull.c:190 +#: builtin/fetch.c:120 builtin/pull.c:197 msgid "convert to a complete repository" msgstr "converteix en un dipΓ²sit complet" -#: builtin/fetch.c:118 builtin/log.c:1233 +#: builtin/fetch.c:122 builtin/log.c:1236 msgid "dir" msgstr "directori" -#: builtin/fetch.c:119 +#: builtin/fetch.c:123 msgid "prepend this to submodule path output" msgstr "anteposa aixΓ² a la sortida de camΓ del submΓ²dul" -#: builtin/fetch.c:122 +#: builtin/fetch.c:126 msgid "default mode for recursion" msgstr "mode de recursivitat per defecte" -#: builtin/fetch.c:124 builtin/pull.c:193 +#: builtin/fetch.c:128 builtin/pull.c:200 msgid "accept refs that update .git/shallow" msgstr "accepta les referΓ¨ncies que actualitzin .git/shallow" -#: builtin/fetch.c:125 builtin/pull.c:195 +#: builtin/fetch.c:129 builtin/pull.c:202 msgid "refmap" msgstr "mapa de referΓ¨ncies" -#: builtin/fetch.c:126 builtin/pull.c:196 +#: builtin/fetch.c:130 builtin/pull.c:203 msgid "specify fetch refmap" msgstr "mostra el mapa de referΓ¨ncies d'obtenciΓ³" -#: builtin/fetch.c:378 +#: builtin/fetch.c:386 msgid "Couldn't find remote ref HEAD" msgstr "No s'ha pogut trobar la referΓ¨ncia HEAD remota" -#: builtin/fetch.c:458 +#: builtin/fetch.c:466 #, c-format msgid "object %s not found" msgstr "objecte %s no trobat" -#: builtin/fetch.c:463 +#: builtin/fetch.c:471 msgid "[up to date]" msgstr "[al dia]" -#: builtin/fetch.c:477 +#: builtin/fetch.c:485 #, c-format msgid "! %-*s %-*s -> %s (can't fetch in current branch)" msgstr "! %-*s %-*s -> %s (no es pot obtenir en la branca actual)" -#: builtin/fetch.c:478 builtin/fetch.c:566 +#: builtin/fetch.c:486 builtin/fetch.c:574 msgid "[rejected]" msgstr "[rebutjat]" -#: builtin/fetch.c:489 +#: builtin/fetch.c:497 msgid "[tag update]" msgstr "[actualitzaciΓ³ d'etiqueta]" -#: builtin/fetch.c:491 builtin/fetch.c:526 builtin/fetch.c:544 +#: builtin/fetch.c:499 builtin/fetch.c:534 builtin/fetch.c:552 msgid " (unable to update local ref)" msgstr " (no s'ha pogut actualitzar la referΓ¨ncia local)" -#: builtin/fetch.c:509 +#: builtin/fetch.c:517 msgid "[new tag]" msgstr "[etiqueta nova]" -#: builtin/fetch.c:512 +#: builtin/fetch.c:520 msgid "[new branch]" msgstr "[branca nova]" -#: builtin/fetch.c:515 +#: builtin/fetch.c:523 msgid "[new ref]" msgstr "[referΓ¨ncia nova]" -#: builtin/fetch.c:561 +#: builtin/fetch.c:569 msgid "unable to update local ref" msgstr "no s'ha pogut actualitzar la referΓ¨ncia local" -#: builtin/fetch.c:561 +#: builtin/fetch.c:569 msgid "forced update" msgstr "actualitzaciΓ³ forΓ§ada" -#: builtin/fetch.c:568 +#: builtin/fetch.c:576 msgid "(non-fast-forward)" msgstr "(sense avanΓ§ rΓ pid)" -#: builtin/fetch.c:602 builtin/fetch.c:843 +#: builtin/fetch.c:610 builtin/fetch.c:851 #, c-format msgid "cannot open %s: %s\n" msgstr "no es pot obrir %s: %s\n" -#: builtin/fetch.c:611 +#: builtin/fetch.c:619 #, c-format msgid "%s did not send all necessary objects\n" msgstr "%s no ha enviat tots els objectes necessaris\n" -#: builtin/fetch.c:629 +#: builtin/fetch.c:637 #, c-format msgid "reject %s because shallow roots are not allowed to be updated" msgstr "" "rebutja %s perquΓ¨ no es permet que les arrels superficials s'actualitzin" -#: builtin/fetch.c:716 builtin/fetch.c:808 +#: builtin/fetch.c:724 builtin/fetch.c:816 #, c-format msgid "From %.*s\n" msgstr "De %.*s\n" -#: builtin/fetch.c:727 +#: builtin/fetch.c:735 #, c-format msgid "" "some local refs could not be updated; try running\n" @@ -6000,55 +6198,55 @@ msgstr "" " intenteu executar 'git remote prune %s' per a eliminar\n" " qualsevulla branca antiga o conflictiva" -#: builtin/fetch.c:779 +#: builtin/fetch.c:787 #, c-format msgid " (%s will become dangling)" msgstr " (%s es tornarΓ penjant)" -#: builtin/fetch.c:780 +#: builtin/fetch.c:788 #, c-format msgid " (%s has become dangling)" msgstr " (%s s'ha tornat penjant)" -#: builtin/fetch.c:812 +#: builtin/fetch.c:820 msgid "[deleted]" msgstr "[suprimit]" -#: builtin/fetch.c:813 builtin/remote.c:1040 +#: builtin/fetch.c:821 builtin/remote.c:1025 msgid "(none)" msgstr "(cap)" -#: builtin/fetch.c:833 +#: builtin/fetch.c:841 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "Refusant obtenir en la branca actual %s d'un dipΓ²sit no nu" -#: builtin/fetch.c:852 +#: builtin/fetch.c:860 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "L'opciΓ³ \"%s\" amb valor \"%s\" no Γ©s vΓ lida per a %s" -#: builtin/fetch.c:855 +#: builtin/fetch.c:863 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "S'ignora l'opciΓ³ \"%s\" per a %s\n" -#: builtin/fetch.c:911 +#: builtin/fetch.c:920 #, c-format msgid "Don't know how to fetch from %s" msgstr "No se sap com obtenir de %s" -#: builtin/fetch.c:1072 +#: builtin/fetch.c:1080 #, c-format msgid "Fetching %s\n" msgstr "Obtenint %s\n" -#: builtin/fetch.c:1074 builtin/remote.c:96 +#: builtin/fetch.c:1082 builtin/remote.c:96 #, c-format msgid "Could not fetch %s" msgstr "No s'ha pogut obtenir %s" -#: builtin/fetch.c:1092 +#: builtin/fetch.c:1100 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." @@ -6056,32 +6254,32 @@ msgstr "" "Cap dipΓ²sit remot especificat. Si us plau, especifiqueu o un URL o\n" "un nom remot del qual es deuen obtenir les revisions noves." -#: builtin/fetch.c:1115 +#: builtin/fetch.c:1123 msgid "You need to specify a tag name." msgstr "Necessiteu especificar un nom d'etiqueta." -#: builtin/fetch.c:1157 +#: builtin/fetch.c:1165 msgid "--depth and --unshallow cannot be used together" msgstr "--depth i --unshallow no es poden usar junts" -#: builtin/fetch.c:1159 +#: builtin/fetch.c:1167 msgid "--unshallow on a complete repository does not make sense" msgstr "--unshallow en un dipΓ²sit complet no tΓ© sentit" -#: builtin/fetch.c:1179 +#: builtin/fetch.c:1187 msgid "fetch --all does not take a repository argument" msgstr "fetch --all no accepta un parΓ metre de dipΓ²sit" -#: builtin/fetch.c:1181 +#: builtin/fetch.c:1189 msgid "fetch --all does not make sense with refspecs" msgstr "fetch --all no tΓ© sentit amb especificacions de referΓ¨ncia" -#: builtin/fetch.c:1192 +#: builtin/fetch.c:1200 #, c-format msgid "No such remote or remote group: %s" msgstr "No hi ha tal remot ni tal grup remot: %s" -#: builtin/fetch.c:1200 +#: builtin/fetch.c:1208 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "Obtenir un grup i especificar referΓ¨ncies no tΓ© sentit" @@ -6308,228 +6506,242 @@ msgstr "" msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]" msgstr "git grep [<opcions>] [-e] <patrΓ³> [<revisiΓ³>...] [[--] <camΓ>...]" -#: builtin/grep.c:218 +#: builtin/grep.c:219 #, c-format msgid "grep: failed to create thread: %s" msgstr "grep: s'ha fallat en crear fil: %s" -#: builtin/grep.c:441 builtin/grep.c:476 +#: builtin/grep.c:277 +#, c-format +msgid "invalid number of threads specified (%d) for %s" +msgstr "s'ha especificat un nombre de fils no vΓ lid (%d) per a %s" + +#: builtin/grep.c:452 builtin/grep.c:487 #, c-format msgid "unable to read tree (%s)" msgstr "no s'ha pogut llegir l'arbre (%s)" -#: builtin/grep.c:491 +#: builtin/grep.c:502 #, c-format msgid "unable to grep from object of type %s" msgstr "no es pot fer grep des d'un objecte de tipus %s" -#: builtin/grep.c:547 +#: builtin/grep.c:558 #, c-format msgid "switch `%c' expects a numerical value" msgstr "l'opciΓ³ `%c' espera un valor numΓ¨ric" -#: builtin/grep.c:564 +#: builtin/grep.c:575 #, c-format msgid "cannot open '%s'" msgstr "no es pot obrir '%s'" -#: builtin/grep.c:633 +#: builtin/grep.c:644 msgid "search in index instead of in the work tree" msgstr "cerca en l'Γndex en lloc de l'arbre de treball" -#: builtin/grep.c:635 +#: builtin/grep.c:646 msgid "find in contents not managed by git" msgstr "cerca en continguts no gestionats per git" -#: builtin/grep.c:637 +#: builtin/grep.c:648 msgid "search in both tracked and untracked files" msgstr "cerca tant en fitxers seguits com en no seguits" -#: builtin/grep.c:639 +#: builtin/grep.c:650 msgid "ignore files specified via '.gitignore'" msgstr "ignora els fitxers especificats mitjanΓ§ant '.gitignore'" -#: builtin/grep.c:642 +#: builtin/grep.c:653 msgid "show non-matching lines" msgstr "mostra les lΓnies no coincidents" -#: builtin/grep.c:644 +#: builtin/grep.c:655 msgid "case insensitive matching" msgstr "coincidΓ¨ncia insensible a majΓΊscula i minΓΊscula" -#: builtin/grep.c:646 +#: builtin/grep.c:657 msgid "match patterns only at word boundaries" msgstr "coincideix amb els patrons nomΓ©s als lΓmits de paraula" -#: builtin/grep.c:648 +#: builtin/grep.c:659 msgid "process binary files as text" msgstr "processa els fitxers binaris com a text" -#: builtin/grep.c:650 +#: builtin/grep.c:661 msgid "don't match patterns in binary files" msgstr "no coincideixis amb els patrons en els fitxers binaris" -#: builtin/grep.c:653 +#: builtin/grep.c:664 msgid "process binary files with textconv filters" msgstr "processa els fitxers binaris amb filtres de textconv" -#: builtin/grep.c:655 +#: builtin/grep.c:666 msgid "descend at most <depth> levels" msgstr "descendeix com a mΓ xim <profunditat> nivells" -#: builtin/grep.c:659 +#: builtin/grep.c:670 msgid "use extended POSIX regular expressions" msgstr "usa les expressions regulars POSIX esteses" -#: builtin/grep.c:662 +#: builtin/grep.c:673 msgid "use basic POSIX regular expressions (default)" msgstr "usa les expressions regulars POSIX bΓ siques (per defecte)" -#: builtin/grep.c:665 +#: builtin/grep.c:676 msgid "interpret patterns as fixed strings" msgstr "interpreta els patrons com a cadenes fixes" -#: builtin/grep.c:668 +#: builtin/grep.c:679 msgid "use Perl-compatible regular expressions" msgstr "usa les expressions regulars compatibles amb Perl" -#: builtin/grep.c:671 +#: builtin/grep.c:682 msgid "show line numbers" msgstr "mostra els nΓΊmeros de lΓnia" -#: builtin/grep.c:672 +#: builtin/grep.c:683 msgid "don't show filenames" msgstr "no mostris els noms de fitxer" -#: builtin/grep.c:673 +#: builtin/grep.c:684 msgid "show filenames" msgstr "mostra els noms de fitxer" -#: builtin/grep.c:675 +#: builtin/grep.c:686 msgid "show filenames relative to top directory" msgstr "mostra els noms de fitxer relatius al directori superior" -#: builtin/grep.c:677 +#: builtin/grep.c:688 msgid "show only filenames instead of matching lines" msgstr "mostra nomΓ©s els noms de fitxer en lloc de les lΓnies coincidents" -#: builtin/grep.c:679 +#: builtin/grep.c:690 msgid "synonym for --files-with-matches" msgstr "sinΓ²nim de --files-with-matches" -#: builtin/grep.c:682 +#: builtin/grep.c:693 msgid "show only the names of files without match" msgstr "mostra nomΓ©s els noms dels fitxers sense coincidΓ¨ncia" -#: builtin/grep.c:684 +#: builtin/grep.c:695 msgid "print NUL after filenames" msgstr "imprimeix NUL desprΓ©s dels noms de fitxer" -#: builtin/grep.c:686 +#: builtin/grep.c:697 msgid "show the number of matches instead of matching lines" msgstr "mostra el nombre de coincidΓ¨ncies en lloc de les lΓnies coincidents" -#: builtin/grep.c:687 +#: builtin/grep.c:698 msgid "highlight matches" msgstr "ressalta les coincidΓ¨ncies" -#: builtin/grep.c:689 +#: builtin/grep.c:700 msgid "print empty line between matches from different files" msgstr "imprimeix una lΓnia buida entre coincidΓ¨ncies de fitxers distints" -#: builtin/grep.c:691 +#: builtin/grep.c:702 msgid "show filename only once above matches from same file" msgstr "" "mostra el nom de fitxer nomΓ©s una vegada a dalt de les coincidΓ¨ncies del " "mateix fitxer" -#: builtin/grep.c:694 +#: builtin/grep.c:705 msgid "show <n> context lines before and after matches" msgstr "mostra <n> lΓnies de context abans i desprΓ©s d'una coincidΓ¨ncia" -#: builtin/grep.c:697 +#: builtin/grep.c:708 msgid "show <n> context lines before matches" msgstr "mostra <n> lΓnies de context abans d'una coincidΓ¨ncia" -#: builtin/grep.c:699 +#: builtin/grep.c:710 msgid "show <n> context lines after matches" msgstr "mostra <n> lΓnies de context desprΓ©s d'una coincidΓ¨ncia" -#: builtin/grep.c:700 +#: builtin/grep.c:712 +msgid "use <n> worker threads" +msgstr "usa <n> fils obrers" + +#: builtin/grep.c:713 msgid "shortcut for -C NUM" msgstr "drecera per -C NUM" -#: builtin/grep.c:703 +#: builtin/grep.c:716 msgid "show a line with the function name before matches" msgstr "mostra una lΓnia amb el nom de funciΓ³ abans de les coincidΓ¨ncies" -#: builtin/grep.c:705 +#: builtin/grep.c:718 msgid "show the surrounding function" msgstr "mostra la funciΓ³ circumdant" -#: builtin/grep.c:708 +#: builtin/grep.c:721 msgid "read patterns from file" msgstr "llegeix els patrons des d'un fitxer" -#: builtin/grep.c:710 +#: builtin/grep.c:723 msgid "match <pattern>" msgstr "coincideix amb <patrΓ³>" -#: builtin/grep.c:712 +#: builtin/grep.c:725 msgid "combine patterns specified with -e" msgstr "combina els patrons especificats amb -e" -#: builtin/grep.c:724 +#: builtin/grep.c:737 msgid "indicate hit with exit status without output" msgstr "indica coincidΓ¨ncia amb estat de sortida sense sortida textual" -#: builtin/grep.c:726 +#: builtin/grep.c:739 msgid "show only matches from files that match all patterns" msgstr "" "mostra nomΓ©s les coincidΓ¨ncies dels fitxers que coincideixin amb tots els " "patrons" -#: builtin/grep.c:728 +#: builtin/grep.c:741 msgid "show parse tree for grep expression" msgstr "mostra l'arbre d'anΓ lisis de l'expressiΓ³ de grep" -#: builtin/grep.c:732 +#: builtin/grep.c:745 msgid "pager" msgstr "paginador" -#: builtin/grep.c:732 +#: builtin/grep.c:745 msgid "show matching files in the pager" msgstr "mostra els fitxers coincidents en el paginador" -#: builtin/grep.c:735 +#: builtin/grep.c:748 msgid "allow calling of grep(1) (ignored by this build)" msgstr "permet la invocaciΓ³ de grep(1) (ignorat per aquesta compilaciΓ³)" -#: builtin/grep.c:793 +#: builtin/grep.c:811 msgid "no pattern given." msgstr "cap patrΓ³ donat." -#: builtin/grep.c:851 +#: builtin/grep.c:843 builtin/index-pack.c:1475 +#, c-format +msgid "invalid number of threads specified (%d)" +msgstr "s'ha especificat un nombre de fils no vΓ lid (%d)" + +#: builtin/grep.c:873 msgid "--open-files-in-pager only works on the worktree" msgstr "--open-files-in-pager nomΓ©s funciona en l'arbre de treball" -#: builtin/grep.c:877 +#: builtin/grep.c:899 msgid "--cached or --untracked cannot be used with --no-index." msgstr "--cached o --untracked no es pot usar amb --no-index." -#: builtin/grep.c:882 +#: builtin/grep.c:904 msgid "--no-index or --untracked cannot be used with revs." msgstr "--no-index o --untracked no es pot usar amb revisions." -#: builtin/grep.c:885 +#: builtin/grep.c:907 msgid "--[no-]exclude-standard cannot be used for tracked contents." msgstr "--[no-]exclude-standard no es pot usar per als continguts seguits." -#: builtin/grep.c:893 +#: builtin/grep.c:915 msgid "both --cached and trees are given." msgstr "s'han donat ambdΓ³s --caches i arbres." -#: builtin/hash-object.c:80 +#: builtin/hash-object.c:81 msgid "" "git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] " "[--] <file>..." @@ -6537,38 +6749,38 @@ msgstr "" "git hash-object [-t <tipus>] [-w] [--path=<fitxer> | --no-filters] [--stdin] " "[--] <fitxer>..." -#: builtin/hash-object.c:81 +#: builtin/hash-object.c:82 msgid "git hash-object --stdin-paths" msgstr "git hash-object --stdin-paths" -#: builtin/hash-object.c:92 +#: builtin/hash-object.c:93 msgid "type" msgstr "tipus" -#: builtin/hash-object.c:92 +#: builtin/hash-object.c:93 msgid "object type" msgstr "tipus d'objecte" -#: builtin/hash-object.c:93 +#: builtin/hash-object.c:94 msgid "write the object into the object database" msgstr "escriu l'objecte a la base de dades d'objectes" -#: builtin/hash-object.c:95 +#: builtin/hash-object.c:96 msgid "read the object from stdin" msgstr "llegeix l'objecte des d'stdin" -#: builtin/hash-object.c:97 +#: builtin/hash-object.c:98 msgid "store file as is without filters" msgstr "emmagatzema el fitxer tal com Γ©s sense filtres" -#: builtin/hash-object.c:98 +#: builtin/hash-object.c:99 msgid "" "just hash any random garbage to create corrupt objects for debugging Git" msgstr "" "nomΓ©s suma qualsevulla brossa aleatΓ²ria per a crear objectes malmesos per a " "depurar al Git" -#: builtin/hash-object.c:99 +#: builtin/hash-object.c:100 msgid "process file as it were from this path" msgstr "processa el fitxer com si fos d'aquest camΓ" @@ -6619,7 +6831,7 @@ msgstr "la versiΓ³ d'emacsclient '%d' Γ©s massa vella (< 22)." msgid "failed to exec '%s': %s" msgstr "s'ha fallat en executar '%s': %s" -#: builtin/help.c:208 +#: builtin/help.c:205 #, c-format msgid "" "'%s': path for unsupported man viewer.\n" @@ -6628,7 +6840,7 @@ msgstr "" "'%s': camΓ a un visualitzador de manuals no compatible.\n" "Si us plau, considereu usar 'man.<eina>.cmd' en lloc d'aixΓ²." -#: builtin/help.c:220 +#: builtin/help.c:217 #, c-format msgid "" "'%s': cmd for supported man viewer.\n" @@ -6637,61 +6849,61 @@ msgstr "" "'%s': ordre per a un visualitzador de manuals compatible.\n" "Si us plau, considereu usar 'man.<eina>.path' en lloc d'aixΓ²." -#: builtin/help.c:337 +#: builtin/help.c:334 #, c-format msgid "'%s': unknown man viewer." msgstr "'%s': visualitzador de manuals desconegut" -#: builtin/help.c:354 +#: builtin/help.c:351 msgid "no man viewer handled the request" msgstr "cap visualitzador de manuals ha gestionat la solΒ·licitud" -#: builtin/help.c:362 +#: builtin/help.c:359 msgid "no info viewer handled the request" msgstr "cap visualitzador d'informaciΓ³ ha gestionat la solΒ·licitud" -#: builtin/help.c:411 +#: builtin/help.c:408 msgid "Defining attributes per path" msgstr "La definiciΓ³ d'atributs per camΓ" -#: builtin/help.c:412 +#: builtin/help.c:409 msgid "Everyday Git With 20 Commands Or So" msgstr "Git quotidiΓ amb mΓ©s o menys 20 ordres" -#: builtin/help.c:413 +#: builtin/help.c:410 msgid "A Git glossary" msgstr "Un glossari de Git" -#: builtin/help.c:414 +#: builtin/help.c:411 msgid "Specifies intentionally untracked files to ignore" msgstr "Especifica els fitxers intencionalment no seguits a ignorar" -#: builtin/help.c:415 +#: builtin/help.c:412 msgid "Defining submodule properties" msgstr "La definiciΓ³ de les propietats de submΓ²duls" -#: builtin/help.c:416 +#: builtin/help.c:413 msgid "Specifying revisions and ranges for Git" msgstr "L'especificaciΓ³ de revisions i rangs per al Git" -#: builtin/help.c:417 +#: builtin/help.c:414 msgid "A tutorial introduction to Git (for version 1.5.1 or newer)" msgstr "Una introducciΓ³ tutorial al Git (per a la versiΓ³ 1.5.1 o mΓ©s nou)" -#: builtin/help.c:418 +#: builtin/help.c:415 msgid "An overview of recommended workflows with Git" msgstr "Una visiΓ³ de conjunt de fluxos de treball recomanats amb Git" -#: builtin/help.c:430 +#: builtin/help.c:427 msgid "The common Git guides are:\n" msgstr "Les guies de Git comunes sΓ³n:\n" -#: builtin/help.c:451 builtin/help.c:468 +#: builtin/help.c:448 builtin/help.c:465 #, c-format msgid "usage: %s%s" msgstr "ΓΊs: %s%s" -#: builtin/help.c:484 +#: builtin/help.c:481 #, c-format msgid "`git %s' is aliased to `%s'" msgstr "`git %s' Γ©s un Γ lies de `%s'" @@ -6927,60 +7139,55 @@ msgstr "no es pot emmagatzemar el fitxer d'Γndex" msgid "bad pack.indexversion=%<PRIu32>" msgstr "pack.indexversion=%<PRIu32> dolent" -#: builtin/index-pack.c:1475 -#, c-format -msgid "invalid number of threads specified (%d)" -msgstr "s'ha especificat un nombre de fils no vΓ lid (%d)" - -#: builtin/index-pack.c:1479 builtin/index-pack.c:1663 +#: builtin/index-pack.c:1479 builtin/index-pack.c:1664 #, c-format msgid "no threads support, ignoring %s" msgstr "no hi ha suport de fils, ignorant %s" -#: builtin/index-pack.c:1537 +#: builtin/index-pack.c:1538 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "No es pot obrir el fitxer de paquet existent '%s'" -#: builtin/index-pack.c:1539 +#: builtin/index-pack.c:1540 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "No es pot obrir el fitxer d'Γndex de paquets existent de '%s'" -#: builtin/index-pack.c:1586 +#: builtin/index-pack.c:1587 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" msgstr[0] "sense delta: %d objecte" msgstr[1] "sense delta: %d objectes" -#: builtin/index-pack.c:1593 +#: builtin/index-pack.c:1594 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" msgstr[0] "longitud de cadena = %d: %lu objecte" msgstr[1] "longitud de cadena = %d: %lu objectes" -#: builtin/index-pack.c:1623 +#: builtin/index-pack.c:1624 msgid "Cannot come back to cwd" msgstr "No es pot tornar al directori de treball actual" -#: builtin/index-pack.c:1675 builtin/index-pack.c:1678 -#: builtin/index-pack.c:1690 builtin/index-pack.c:1694 +#: builtin/index-pack.c:1676 builtin/index-pack.c:1679 +#: builtin/index-pack.c:1691 builtin/index-pack.c:1695 #, c-format msgid "bad %s" msgstr "%s dolent" -#: builtin/index-pack.c:1708 +#: builtin/index-pack.c:1709 msgid "--fix-thin cannot be used without --stdin" msgstr "--fix-thin no es pot usar sense --stdin" -#: builtin/index-pack.c:1712 builtin/index-pack.c:1721 +#: builtin/index-pack.c:1713 builtin/index-pack.c:1722 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "el nom de fitxer de paquet '%s' no acaba amb '.pack'" -#: builtin/index-pack.c:1729 +#: builtin/index-pack.c:1730 msgid "--verify with no packfile name given" msgstr "s'ha donat --verify sense nom de fitxer de paquet" @@ -7106,24 +7313,32 @@ msgstr "No es pot accedir a l'arbre de treball '%s'" #: builtin/interpret-trailers.c:15 msgid "" -"git interpret-trailers [--trim-empty] [(--trailer <token>[(=|:)<value>])...] " -"[<file>...]" +"git interpret-trailers [--in-place] [--trim-empty] [(--trailer " +"<token>[(=|:)<value>])...] [<file>...]" msgstr "" -"git interpret-trailers [--trim-empty] [(--trailer <fitxa>[(=|:)<valor>])...] " -"[<fitxer>...]" +"git interpret-trailers [--in-place] [--trim-empty] [(--trailer " +"<fitxa>[(=|:)<valor>])...] [<fitxer>...]" -#: builtin/interpret-trailers.c:25 +#: builtin/interpret-trailers.c:26 +msgid "edit files in place" +msgstr "edita els fitxers in situ" + +#: builtin/interpret-trailers.c:27 msgid "trim empty trailers" msgstr "escurΓ§a els remolcs buits" -#: builtin/interpret-trailers.c:26 +#: builtin/interpret-trailers.c:28 msgid "trailer" msgstr "remolc" -#: builtin/interpret-trailers.c:27 +#: builtin/interpret-trailers.c:29 msgid "trailer(s) to add" msgstr "remolcs a afegir" +#: builtin/interpret-trailers.c:42 +msgid "no input file given for in-place editing" +msgstr "no s'ha donat cap fitxer d'entrada per a ediciΓ³ in situ" + #: builtin/log.c:43 msgid "git log [<options>] [<revision-range>] [[--] <path>...]" msgstr "git log [<opcions>] [<rang-de-revisions>] [[--] <camΓ>...]" @@ -7177,225 +7392,225 @@ msgstr "No es pot llegir l'objecte %s" msgid "Unknown type: %d" msgstr "Tipus desconegut: %d" -#: builtin/log.c:714 +#: builtin/log.c:715 msgid "format.headers without value" msgstr "format.headers sense valor" -#: builtin/log.c:798 +#: builtin/log.c:801 msgid "name of output directory is too long" msgstr "el nom del directori de sortida Γ©s massa llarg" -#: builtin/log.c:813 +#: builtin/log.c:816 #, c-format msgid "Cannot open patch file %s" msgstr "No es pot obrir el fitxer de pedaΓ§ %s" -#: builtin/log.c:827 +#: builtin/log.c:830 msgid "Need exactly one range." msgstr "Cal exactament un rang." -#: builtin/log.c:837 +#: builtin/log.c:840 msgid "Not a range." msgstr "No Γ©s un rang." -#: builtin/log.c:943 +#: builtin/log.c:946 msgid "Cover letter needs email format" msgstr "La carta de presentaciΓ³ necessita el format de correu electrΓ²nic" -#: builtin/log.c:1022 +#: builtin/log.c:1025 #, c-format msgid "insane in-reply-to: %s" msgstr "in-reply-to boig: %s" -#: builtin/log.c:1050 +#: builtin/log.c:1053 msgid "git format-patch [<options>] [<since> | <revision-range>]" msgstr "git format-patch [<opcions>] [<des-de> | <rang-de-revisions>]" -#: builtin/log.c:1095 +#: builtin/log.c:1098 msgid "Two output directories?" msgstr "Dos directoris de sortida?" -#: builtin/log.c:1211 +#: builtin/log.c:1214 msgid "use [PATCH n/m] even with a single patch" msgstr "usa [PATCH n/m] fins i tot amb un sol pedaΓ§" -#: builtin/log.c:1214 +#: builtin/log.c:1217 msgid "use [PATCH] even with multiple patches" msgstr "usa [PATCH] fins i tot amb mΓΊltiples pedaΓ§os" -#: builtin/log.c:1218 +#: builtin/log.c:1221 msgid "print patches to standard out" msgstr "imprimeix els pedaΓ§os a la sortida estΓ ndard" -#: builtin/log.c:1220 +#: builtin/log.c:1223 msgid "generate a cover letter" msgstr "genera una carta de presentaciΓ³" -#: builtin/log.c:1222 +#: builtin/log.c:1225 msgid "use simple number sequence for output file names" msgstr "usa una seqΓΌΓ¨ncia de nΓΊmeros per als noms dels fitxers de sortida" -#: builtin/log.c:1223 +#: builtin/log.c:1226 msgid "sfx" msgstr "sufix" -#: builtin/log.c:1224 +#: builtin/log.c:1227 msgid "use <sfx> instead of '.patch'" msgstr "usa <sufix> en lloc de '.patch'" -#: builtin/log.c:1226 +#: builtin/log.c:1229 msgid "start numbering patches at <n> instead of 1" msgstr "comenΓ§a numerant els pedaΓ§os a <n> en lloc d'1" -#: builtin/log.c:1228 +#: builtin/log.c:1231 msgid "mark the series as Nth re-roll" msgstr "marca la sΓ¨rie com a l'enΓ¨sima llanΓ§ada" -#: builtin/log.c:1230 +#: builtin/log.c:1233 msgid "Use [<prefix>] instead of [PATCH]" msgstr "Usa [<prefix>] en lloc de [PATCH]" -#: builtin/log.c:1233 +#: builtin/log.c:1236 msgid "store resulting files in <dir>" msgstr "emmagatzema els fitxers resultants a <directori>" -#: builtin/log.c:1236 +#: builtin/log.c:1239 msgid "don't strip/add [PATCH]" msgstr "no despullis/afegeixis [PATCH]" -#: builtin/log.c:1239 +#: builtin/log.c:1242 msgid "don't output binary diffs" msgstr "no emetis diferΓ¨ncies binΓ ries" -#: builtin/log.c:1241 +#: builtin/log.c:1244 msgid "output all-zero hash in From header" msgstr "emet un hash de tots zeros en la capΓ§alera From" -#: builtin/log.c:1243 +#: builtin/log.c:1246 msgid "don't include a patch matching a commit upstream" msgstr "no incloguis pedaΓ§os que coincideixin amb comissions a la font" -#: builtin/log.c:1245 +#: builtin/log.c:1248 msgid "show patch format instead of default (patch + stat)" msgstr "" "mostra el format de pedaΓ§ en lloc del per defecte (pedaΓ§ + estadΓstiques)" -#: builtin/log.c:1247 +#: builtin/log.c:1250 msgid "Messaging" msgstr "Missatgeria" -#: builtin/log.c:1248 +#: builtin/log.c:1251 msgid "header" msgstr "capΓ§alera" -#: builtin/log.c:1249 +#: builtin/log.c:1252 msgid "add email header" msgstr "afegeix una capΓ§alera de correu electrΓ²nic" -#: builtin/log.c:1250 builtin/log.c:1252 +#: builtin/log.c:1253 builtin/log.c:1255 msgid "email" msgstr "correu electrΓ²nic" -#: builtin/log.c:1250 +#: builtin/log.c:1253 msgid "add To: header" msgstr "afegeix la capΓ§alera To:" -#: builtin/log.c:1252 +#: builtin/log.c:1255 msgid "add Cc: header" msgstr "afegeix la capΓ§alera Cc:" -#: builtin/log.c:1254 +#: builtin/log.c:1257 msgid "ident" msgstr "identitat" -#: builtin/log.c:1255 +#: builtin/log.c:1258 msgid "set From address to <ident> (or committer ident if absent)" msgstr "" "estableix l'adreΓ§a From a <identitat> (o la identitat del comitent si manca)" -#: builtin/log.c:1257 +#: builtin/log.c:1260 msgid "message-id" msgstr "ID de missatge" -#: builtin/log.c:1258 +#: builtin/log.c:1261 msgid "make first mail a reply to <message-id>" msgstr "fes del primer missatge una resposta a <ID de missatge>" -#: builtin/log.c:1259 builtin/log.c:1262 +#: builtin/log.c:1262 builtin/log.c:1265 msgid "boundary" msgstr "lΓmit" -#: builtin/log.c:1260 +#: builtin/log.c:1263 msgid "attach the patch" msgstr "ajunta el pedaΓ§" -#: builtin/log.c:1263 +#: builtin/log.c:1266 msgid "inline the patch" msgstr "posa el pedaΓ§ en el cos" -#: builtin/log.c:1267 +#: builtin/log.c:1270 msgid "enable message threading, styles: shallow, deep" msgstr "habilita l'enfilada de missatges, estils: shallow, deep" -#: builtin/log.c:1269 +#: builtin/log.c:1272 msgid "signature" msgstr "firma" -#: builtin/log.c:1270 +#: builtin/log.c:1273 msgid "add a signature" msgstr "afegeix una firma" -#: builtin/log.c:1272 +#: builtin/log.c:1275 msgid "add a signature from a file" msgstr "afegeix una firma des d'un fitxer" -#: builtin/log.c:1273 +#: builtin/log.c:1276 msgid "don't print the patch filenames" msgstr "no imprimeixis els noms de fitxer del pedaΓ§" -#: builtin/log.c:1362 +#: builtin/log.c:1365 msgid "-n and -k are mutually exclusive." msgstr "-n i -k sΓ³n mutualment exclusius." -#: builtin/log.c:1364 +#: builtin/log.c:1367 msgid "--subject-prefix and -k are mutually exclusive." msgstr "--subject-prefix i -k sΓ³n mutualment exclusius." -#: builtin/log.c:1372 +#: builtin/log.c:1375 msgid "--name-only does not make sense" msgstr "--name-only no tΓ© sentit" -#: builtin/log.c:1374 +#: builtin/log.c:1377 msgid "--name-status does not make sense" msgstr "--name-status no tΓ© sentit" -#: builtin/log.c:1376 +#: builtin/log.c:1379 msgid "--check does not make sense" msgstr "--check no tΓ© sentit" -#: builtin/log.c:1401 +#: builtin/log.c:1407 msgid "standard output, or directory, which one?" msgstr "sortida estΓ ndard o directori, quin dels dos?" -#: builtin/log.c:1403 +#: builtin/log.c:1409 #, c-format msgid "Could not create directory '%s'" msgstr "No s'ha pogut crear el directori '%s'" -#: builtin/log.c:1500 +#: builtin/log.c:1506 #, c-format msgid "unable to read signature file '%s'" msgstr "no s'ha pogut llegir el fitxer de firma '%s'" -#: builtin/log.c:1563 +#: builtin/log.c:1569 msgid "Failed to create output files" msgstr "S'ha fallat en crear els fitxers de sortida" -#: builtin/log.c:1611 +#: builtin/log.c:1617 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" msgstr "git cherry [-v] [<font> [<cap> [<lΓmit>]]]" -#: builtin/log.c:1665 +#: builtin/log.c:1671 #, c-format msgid "" "Could not find a tracked remote branch, please specify <upstream> manually.\n" @@ -7403,105 +7618,156 @@ msgstr "" "No s'ha pogut trobar una branca remota seguida. Si us plau, especifiqueu " "<font> manualment.\n" -#: builtin/log.c:1676 builtin/log.c:1678 builtin/log.c:1690 +#: builtin/log.c:1682 builtin/log.c:1684 builtin/log.c:1696 #, c-format msgid "Unknown commit %s" msgstr "ComissiΓ³ desconeguda %s" -#: builtin/ls-files.c:358 +#: builtin/ls-files.c:378 msgid "git ls-files [<options>] [<file>...]" msgstr "git ls-files [<opcions>] [<fitxer>...]" -#: builtin/ls-files.c:415 +#: builtin/ls-files.c:427 msgid "identify the file status with tags" msgstr "identifica l'estat de fitxer amb etiquetes" -#: builtin/ls-files.c:417 +#: builtin/ls-files.c:429 msgid "use lowercase letters for 'assume unchanged' files" msgstr "usa lletres minΓΊscules per als fitxers 'assume unchanged'" -#: builtin/ls-files.c:419 +#: builtin/ls-files.c:431 msgid "show cached files in the output (default)" msgstr "" "mostra en la sortida els fitxers desats en la memΓ²ria cau (per defecte)" -#: builtin/ls-files.c:421 +#: builtin/ls-files.c:433 msgid "show deleted files in the output" msgstr "mostra en la sortida els fitxers suprimits" -#: builtin/ls-files.c:423 +#: builtin/ls-files.c:435 msgid "show modified files in the output" msgstr "mostra en la sortida els fitxers modificats" -#: builtin/ls-files.c:425 +#: builtin/ls-files.c:437 msgid "show other files in the output" msgstr "mostra en la sortida els altres fitxers" -#: builtin/ls-files.c:427 +#: builtin/ls-files.c:439 msgid "show ignored files in the output" msgstr "mostra en la sortida els fitxers ignorats" -#: builtin/ls-files.c:430 +#: builtin/ls-files.c:442 msgid "show staged contents' object name in the output" msgstr "mostra en la sortida el nom d'objecte dels continguts allistats" -#: builtin/ls-files.c:432 +#: builtin/ls-files.c:444 msgid "show files on the filesystem that need to be removed" msgstr "mostra els fitxers en el sistema de fitxers que s'han d'eliminar" -#: builtin/ls-files.c:434 +#: builtin/ls-files.c:446 msgid "show 'other' directories' names only" msgstr "mostra nomΓ©s els noms dels directoris 'other'" -#: builtin/ls-files.c:437 +#: builtin/ls-files.c:448 +msgid "show line endings of files" +msgstr "mostra els terminis de lΓnia dels fitxers" + +#: builtin/ls-files.c:450 msgid "don't show empty directories" msgstr "no mostris els directoris buits" -#: builtin/ls-files.c:440 +#: builtin/ls-files.c:453 msgid "show unmerged files in the output" msgstr "mostra en la sortida els fitxers sense fusionar" -#: builtin/ls-files.c:442 +#: builtin/ls-files.c:455 msgid "show resolve-undo information" msgstr "mostra la informaciΓ³ de resoluciΓ³ de desfet" -#: builtin/ls-files.c:444 +#: builtin/ls-files.c:457 msgid "skip files matching pattern" msgstr "salta els fitxers coincidents amb el patrΓ³" -#: builtin/ls-files.c:447 +#: builtin/ls-files.c:460 msgid "exclude patterns are read from <file>" msgstr "els patrons d'exclusiΓ³ es llegeixen de <fitxer>" -#: builtin/ls-files.c:450 +#: builtin/ls-files.c:463 msgid "read additional per-directory exclude patterns in <file>" msgstr "llegeix els patrons addicionals d'exclusiΓ³ per directori en <fitxer>" -#: builtin/ls-files.c:452 +#: builtin/ls-files.c:465 msgid "add the standard git exclusions" msgstr "afegeix les exclusions estΓ ndards de git" -#: builtin/ls-files.c:455 +#: builtin/ls-files.c:468 msgid "make the output relative to the project top directory" msgstr "fes que la sortida sigui relativa al directori superior del projecte" -#: builtin/ls-files.c:458 +#: builtin/ls-files.c:471 msgid "if any <file> is not in the index, treat this as an error" msgstr "si qualsevol <fitxer> no Γ©s en l'Γndex, tracta aixΓ² com a error" -#: builtin/ls-files.c:459 +#: builtin/ls-files.c:472 msgid "tree-ish" msgstr "arbre" -#: builtin/ls-files.c:460 +#: builtin/ls-files.c:473 msgid "pretend that paths removed since <tree-ish> are still present" msgstr "" "pretΓ©n que els camins eliminats desprΓ©s de <arbre> encara siguin presents" -#: builtin/ls-files.c:462 +#: builtin/ls-files.c:475 msgid "show debugging data" msgstr "mostra les dades de depuraciΓ³" +#: builtin/ls-remote.c:7 +msgid "" +"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n" +" [-q | --quiet] [--exit-code] [--get-url]\n" +" [--symref] [<repository> [<refs>...]]" +msgstr "" +"git ls-remote [--heads] [--tags] [--refs]\n" +" [--upload-pack=<executable>] [-q | --quiet]\n" +" [--exit-code] [--get-url] [--symref]\n" +" [<dipΓ²sit> [<referΓ¨ncies>...]]" + +#: builtin/ls-remote.c:50 +msgid "do not print remote URL" +msgstr "no imprimeixis l'URL remot" + +#: builtin/ls-remote.c:51 builtin/ls-remote.c:53 +msgid "exec" +msgstr "executable" + +#: builtin/ls-remote.c:52 builtin/ls-remote.c:54 +msgid "path of git-upload-pack on the remote host" +msgstr "camΓ a git-upload-pack en la mΓ quina remota" + +#: builtin/ls-remote.c:56 +msgid "limit to tags" +msgstr "limita a etiquetes" + +#: builtin/ls-remote.c:57 +msgid "limit to heads" +msgstr "limita a caps" + +#: builtin/ls-remote.c:58 +msgid "do not show peeled tags" +msgstr "no mostris les etiquetes pelades" + +#: builtin/ls-remote.c:60 +msgid "take url.<base>.insteadOf into account" +msgstr "tingues en compte url.<base>.insteadOf" + +#: builtin/ls-remote.c:62 +msgid "exit with exit code 2 if no matching refs are found" +msgstr "surt amb codi de sortida 2 si no es troba cap referΓ¨ncia coincident" + +#: builtin/ls-remote.c:64 +msgid "show underlying ref in addition to the object pointed by it" +msgstr "mostra la referΓ¨ncia subjacent en adiciΓ³ a l'objecte que senyali" + #: builtin/ls-tree.c:28 msgid "git ls-tree [<options>] <tree-ish> [<path>...]" msgstr "git ls-tree [<opcions>] <arbre> [<camΓ>...]" @@ -7570,33 +7836,33 @@ msgstr "Les estratΓ¨gies disponibles sΓ³n:" msgid "Available custom strategies are:" msgstr "Les estratΓ¨gies personalitzades disponibles sΓ³n:" -#: builtin/merge.c:193 builtin/pull.c:119 +#: builtin/merge.c:193 builtin/pull.c:123 msgid "do not show a diffstat at the end of the merge" msgstr "no mostris les estadΓstiques de diferΓ¨ncia al final de la fusiΓ³" -#: builtin/merge.c:196 builtin/pull.c:122 +#: builtin/merge.c:196 builtin/pull.c:126 msgid "show a diffstat at the end of the merge" msgstr "mostra les estadΓstiques de diferΓ¨ncia al final de la fusiΓ³" -#: builtin/merge.c:197 builtin/pull.c:125 +#: builtin/merge.c:197 builtin/pull.c:129 msgid "(synonym to --stat)" msgstr "(sinΓ²nim de --stat)" -#: builtin/merge.c:199 builtin/pull.c:128 +#: builtin/merge.c:199 builtin/pull.c:132 msgid "add (at most <n>) entries from shortlog to merge commit message" msgstr "" "afegeix (com a mΓ xim <n>) entrades del registre curt al missatge de comissiΓ³ " "de fusiΓ³" -#: builtin/merge.c:202 builtin/pull.c:131 +#: builtin/merge.c:202 builtin/pull.c:135 msgid "create a single commit instead of doing a merge" msgstr "crea una ΓΊnica comissiΓ³ en lloc de fusionar" -#: builtin/merge.c:204 builtin/pull.c:134 +#: builtin/merge.c:204 builtin/pull.c:138 msgid "perform a commit if the merge succeeds (default)" msgstr "realitza una comissiΓ³ si la fusiΓ³ tΓ© Γ¨xit (per defecte)" -#: builtin/merge.c:206 builtin/pull.c:137 +#: builtin/merge.c:206 builtin/pull.c:141 msgid "edit message before committing" msgstr "edita el missatge abans de cometre" @@ -7604,7 +7870,7 @@ msgstr "edita el missatge abans de cometre" msgid "allow fast-forward (default)" msgstr "permet l'avanΓ§ rΓ pid (per defecte)" -#: builtin/merge.c:209 builtin/pull.c:143 +#: builtin/merge.c:209 builtin/pull.c:147 msgid "abort if fast-forward is not possible" msgstr "avorta si l'avanΓ§ rΓ pid no Γ©s possible" @@ -7612,20 +7878,20 @@ msgstr "avorta si l'avanΓ§ rΓ pid no Γ©s possible" msgid "Verify that the named commit has a valid GPG signature" msgstr "Verifica que la comissiΓ³ anomenada tingui una firma GPG vΓ lida" -#: builtin/merge.c:214 builtin/notes.c:767 builtin/pull.c:148 +#: builtin/merge.c:214 builtin/notes.c:770 builtin/pull.c:152 #: builtin/revert.c:89 msgid "strategy" msgstr "estratΓ¨gia" -#: builtin/merge.c:215 builtin/pull.c:149 +#: builtin/merge.c:215 builtin/pull.c:153 msgid "merge strategy to use" msgstr "estratΓ¨gia de fusiΓ³ a usar" -#: builtin/merge.c:216 builtin/pull.c:152 +#: builtin/merge.c:216 builtin/pull.c:156 msgid "option=value" msgstr "opciΓ³=valor" -#: builtin/merge.c:217 builtin/pull.c:153 +#: builtin/merge.c:217 builtin/pull.c:157 msgid "option for selected merge strategy" msgstr "opciΓ³ per a l'estratΓ¨gia de fusiΓ³ seleccionada" @@ -7663,8 +7929,8 @@ msgstr " (res a aixafar)" msgid "Squash commit -- not updating HEAD\n" msgstr "ComissiΓ³ d'aixafada -- no actualitzant HEAD\n" -#: builtin/merge.c:344 builtin/merge.c:763 builtin/merge.c:975 -#: builtin/merge.c:988 +#: builtin/merge.c:344 builtin/merge.c:764 builtin/merge.c:976 +#: builtin/merge.c:989 #, c-format msgid "Could not write to '%s'" msgstr "No s'ha pogut escriure al '%s'" @@ -7682,41 +7948,41 @@ msgstr "Finalitzant SQUASH_MSG" msgid "No merge message -- not updating HEAD\n" msgstr "Cap missatge de fusiΓ³ -- no actualitzant HEAD\n" -#: builtin/merge.c:447 +#: builtin/merge.c:448 #, c-format msgid "'%s' does not point to a commit" msgstr "'%s' no assenyala una comissiΓ³" -#: builtin/merge.c:537 +#: builtin/merge.c:538 #, c-format msgid "Bad branch.%s.mergeoptions string: %s" msgstr "Cadena branch.%s.mergeoptions dolenta: %s" -#: builtin/merge.c:656 +#: builtin/merge.c:657 msgid "Not handling anything other than two heads merge." msgstr "No gestionant res a part de la fusiΓ³ de dos caps." -#: builtin/merge.c:670 +#: builtin/merge.c:671 #, c-format msgid "Unknown option for merge-recursive: -X%s" msgstr "OpciΓ³ desconeguda de merge-recursive: -X%s" -#: builtin/merge.c:683 +#: builtin/merge.c:684 #, c-format msgid "unable to write %s" msgstr "no s'ha pogut escriure %s" -#: builtin/merge.c:772 +#: builtin/merge.c:773 #, c-format msgid "Could not read from '%s'" msgstr "No s'ha pogut llegir de '%s'" -#: builtin/merge.c:781 +#: builtin/merge.c:782 #, c-format msgid "Not committing merge; use 'git commit' to complete the merge.\n" msgstr "No cometent la fusiΓ³; useu 'git commit' per a completar la fusiΓ³.\n" -#: builtin/merge.c:787 +#: builtin/merge.c:788 #, c-format msgid "" "Please enter a commit message to explain why this merge is necessary,\n" @@ -7732,54 +7998,54 @@ msgstr "" "S'ignoraran les lΓnies que comencin amb '%c', i un missatge buit\n" "avorta la comissiΓ³.\n" -#: builtin/merge.c:811 +#: builtin/merge.c:812 msgid "Empty commit message." msgstr "Missatge de comissiΓ³ buit." -#: builtin/merge.c:823 +#: builtin/merge.c:824 #, c-format msgid "Wonderful.\n" msgstr "MeravellΓ³s.\n" -#: builtin/merge.c:878 +#: builtin/merge.c:879 #, c-format msgid "Automatic merge failed; fix conflicts and then commit the result.\n" msgstr "" "La fusiΓ³ automΓ tica ha fallat; arregleu els conflictes i desprΓ©s cometeu el " "resultat.\n" -#: builtin/merge.c:894 +#: builtin/merge.c:895 #, c-format msgid "'%s' is not a commit" msgstr "'%s' no Γ©s una comissiΓ³" -#: builtin/merge.c:935 +#: builtin/merge.c:936 msgid "No current branch." msgstr "Cap branca actual." -#: builtin/merge.c:937 +#: builtin/merge.c:938 msgid "No remote for the current branch." msgstr "No hi ha cap remot per a la branca actual." -#: builtin/merge.c:939 +#: builtin/merge.c:940 msgid "No default upstream defined for the current branch." msgstr "No hi ha cap font per defecte definida per a la branca actual." -#: builtin/merge.c:944 +#: builtin/merge.c:945 #, c-format msgid "No remote-tracking branch for %s from %s" msgstr "No hi ha cap branca amb seguiment remot per a %s de %s" -#: builtin/merge.c:1079 +#: builtin/merge.c:1080 #, c-format msgid "could not close '%s'" msgstr "no s'ha pogut tancar '%s'" -#: builtin/merge.c:1206 +#: builtin/merge.c:1207 msgid "There is no merge to abort (MERGE_HEAD missing)." msgstr "No hi ha fusiΓ³ a avortar (manca MERGE_HEAD)." -#: builtin/merge.c:1222 +#: builtin/merge.c:1223 msgid "" "You have not concluded your merge (MERGE_HEAD exists).\n" "Please, commit your changes before you merge." @@ -7787,7 +8053,7 @@ msgstr "" "No heu conclΓ²s la vostra fusiΓ³ (MERGE_HEAD existeix).\n" "Si us plau, cometeu els vostres canvis abans de fusionar." -#: builtin/merge.c:1229 +#: builtin/merge.c:1230 msgid "" "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n" "Please, commit your changes before you merge." @@ -7795,103 +8061,103 @@ msgstr "" "No heu conclΓ²s el vostre recull de cireres (CHERRY_PICK_HEAD existeix).\n" "Si us plau, cometeu els vostres canvis abans de fusionar." -#: builtin/merge.c:1232 +#: builtin/merge.c:1233 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)." msgstr "" "No heu conclΓ²s el vostre recull de cireres (CHERRY_PICK_HEAD existeix)." -#: builtin/merge.c:1241 +#: builtin/merge.c:1242 msgid "You cannot combine --squash with --no-ff." msgstr "No podeu combinar --squash amb --no-ff." -#: builtin/merge.c:1249 +#: builtin/merge.c:1250 msgid "No commit specified and merge.defaultToUpstream not set." msgstr "" "No hi ha una comissiΓ³ especificada i merge.defaultToUpstream no estΓ " "establert." -#: builtin/merge.c:1266 +#: builtin/merge.c:1267 msgid "Squash commit into empty head not supported yet" msgstr "Aixafar una comissiΓ³ a un cap buit encara no es permet" -#: builtin/merge.c:1268 +#: builtin/merge.c:1269 msgid "Non-fast-forward commit does not make sense into an empty head" msgstr "Una comissiΓ³ no d'avanΓ§ rΓ pid no tΓ© sentit a un cap buit" -#: builtin/merge.c:1274 +#: builtin/merge.c:1275 #, c-format msgid "%s - not something we can merge" msgstr "%s - no Γ©s una cosa que puguem fusionar" -#: builtin/merge.c:1276 +#: builtin/merge.c:1277 msgid "Can merge only exactly one commit into empty head" msgstr "Es pot fusionar no mΓ©s d'exactament una comissiΓ³ a un cap buit" -#: builtin/merge.c:1331 +#: builtin/merge.c:1332 #, c-format msgid "Commit %s has an untrusted GPG signature, allegedly by %s." msgstr "La comissiΓ³ %s tΓ© una firma GPG no fiable, suposadament de %s." -#: builtin/merge.c:1334 +#: builtin/merge.c:1335 #, c-format msgid "Commit %s has a bad GPG signature allegedly by %s." msgstr "La comissiΓ³ %s tΓ© una firma GPG dolenta suposadament de %s." -#: builtin/merge.c:1337 +#: builtin/merge.c:1338 #, c-format msgid "Commit %s does not have a GPG signature." msgstr "La comissiΓ³ %s no tΓ© firma GPG." -#: builtin/merge.c:1340 +#: builtin/merge.c:1341 #, c-format msgid "Commit %s has a good GPG signature by %s\n" msgstr "La comissiΓ³ %s tΓ© una firma GPG bona de %s\n" -#: builtin/merge.c:1423 +#: builtin/merge.c:1424 #, c-format msgid "Updating %s..%s\n" msgstr "Actualitzant %s..%s\n" -#: builtin/merge.c:1460 +#: builtin/merge.c:1461 #, c-format msgid "Trying really trivial in-index merge...\n" msgstr "Intentant una fusiΓ³ molt trivial en l'Γndex...\n" -#: builtin/merge.c:1467 +#: builtin/merge.c:1468 #, c-format msgid "Nope.\n" msgstr "No.\n" -#: builtin/merge.c:1499 +#: builtin/merge.c:1500 msgid "Not possible to fast-forward, aborting." msgstr "No Γ©s possible avanΓ§ar rΓ pidament, avortant." -#: builtin/merge.c:1522 builtin/merge.c:1601 +#: builtin/merge.c:1523 builtin/merge.c:1602 #, c-format msgid "Rewinding the tree to pristine...\n" msgstr "Rebobinant l'arbre a la pristina...\n" -#: builtin/merge.c:1526 +#: builtin/merge.c:1527 #, c-format msgid "Trying merge strategy %s...\n" msgstr "Intentant l'estratΓ¨gia de fusiΓ³ %s...\n" -#: builtin/merge.c:1592 +#: builtin/merge.c:1593 #, c-format msgid "No merge strategy handled the merge.\n" msgstr "Cap estratΓ¨gia de fusiΓ³ ha gestionat la fusiΓ³.\n" -#: builtin/merge.c:1594 +#: builtin/merge.c:1595 #, c-format msgid "Merge with strategy %s failed.\n" msgstr "L'estratΓ¨gia de fusiΓ³ %s ha fallat.\n" -#: builtin/merge.c:1603 +#: builtin/merge.c:1604 #, c-format msgid "Using the %s to prepare resolving by hand.\n" msgstr "Usant el %s per a preparar la resoluciΓ³ a mΓ .\n" -#: builtin/merge.c:1615 +#: builtin/merge.c:1616 #, c-format msgid "Automatic merge went well; stopped before committing as requested\n" msgstr "" @@ -7979,19 +8245,19 @@ msgstr "no avisis de conflictes" msgid "set labels for file1/orig-file/file2" msgstr "estableix les etiquetes per a fitxer1/fitxer-original/fitxer2" -#: builtin/mktree.c:64 +#: builtin/mktree.c:65 msgid "git mktree [-z] [--missing] [--batch]" msgstr "git mktree [-z] [--missing] [--batch]" -#: builtin/mktree.c:150 +#: builtin/mktree.c:152 msgid "input is NUL terminated" msgstr "l'entrada Γ©s acabada amb NUL" -#: builtin/mktree.c:151 builtin/write-tree.c:24 +#: builtin/mktree.c:153 builtin/write-tree.c:24 msgid "allow missing objects" msgstr "permet els objectes absents" -#: builtin/mktree.c:152 +#: builtin/mktree.c:154 msgid "allow creation of more than one tree" msgstr "permet la creaciΓ³ de mΓ©s d'un arbre" @@ -7999,92 +8265,92 @@ msgstr "permet la creaciΓ³ de mΓ©s d'un arbre" msgid "git mv [<options>] <source>... <destination>" msgstr "git mv [<opcions>] <font>... <destΓ>" -#: builtin/mv.c:69 +#: builtin/mv.c:70 #, c-format msgid "Directory %s is in index and no submodule?" msgstr "El directori %s Γ©s en l'Γndex i no hi ha cap submΓ²dul?" -#: builtin/mv.c:71 +#: builtin/mv.c:72 msgid "Please stage your changes to .gitmodules or stash them to proceed" msgstr "" "Si us plau, allisteu els vostres canvis a .gitmodules o emmagatzemeu-los per " "a procedir" -#: builtin/mv.c:89 +#: builtin/mv.c:90 #, c-format msgid "%.*s is in index" msgstr "%.*s Γ©s en l'Γndex" -#: builtin/mv.c:111 +#: builtin/mv.c:112 msgid "force move/rename even if target exists" msgstr "forΓ§a el moviment / canvi de nom encara que el destΓ existeixi" -#: builtin/mv.c:112 +#: builtin/mv.c:113 msgid "skip move/rename errors" msgstr "omet els errors de moviment / canvi de nom" -#: builtin/mv.c:151 +#: builtin/mv.c:152 #, c-format msgid "destination '%s' is not a directory" msgstr "el destΓ '%s' no Γ©s un directori" -#: builtin/mv.c:162 +#: builtin/mv.c:163 #, c-format msgid "Checking rename of '%s' to '%s'\n" msgstr "Comprovant el canvi de nom de '%s' a '%s'\n" -#: builtin/mv.c:166 +#: builtin/mv.c:167 msgid "bad source" msgstr "font dolenta" -#: builtin/mv.c:169 +#: builtin/mv.c:170 msgid "can not move directory into itself" msgstr "no es pot moure un directori a dins d'ell mateix" -#: builtin/mv.c:172 +#: builtin/mv.c:173 msgid "cannot move directory over file" msgstr "no es pot moure un directori sobre un fitxer" -#: builtin/mv.c:181 +#: builtin/mv.c:182 msgid "source directory is empty" msgstr "el directori font estΓ buit" -#: builtin/mv.c:206 +#: builtin/mv.c:207 msgid "not under version control" msgstr "no estΓ sota control de versions" -#: builtin/mv.c:209 +#: builtin/mv.c:210 msgid "destination exists" msgstr "el destΓ existeix" -#: builtin/mv.c:217 +#: builtin/mv.c:218 #, c-format msgid "overwriting '%s'" msgstr "sobreescrivint '%s'" -#: builtin/mv.c:220 +#: builtin/mv.c:221 msgid "Cannot overwrite" msgstr "No es pot sobreescriure" -#: builtin/mv.c:223 +#: builtin/mv.c:224 msgid "multiple sources for the same target" msgstr "mΓΊltiples fonts per al mateix destΓ" -#: builtin/mv.c:225 +#: builtin/mv.c:226 msgid "destination directory does not exist" msgstr "el directori destΓ no existeix" -#: builtin/mv.c:232 +#: builtin/mv.c:233 #, c-format msgid "%s, source=%s, destination=%s" msgstr "%s, origen=%s, destΓ=%s" -#: builtin/mv.c:253 +#: builtin/mv.c:254 #, c-format msgid "Renaming %s to %s\n" msgstr "Canviant el nom de %s a %s\n" -#: builtin/mv.c:256 builtin/remote.c:728 builtin/repack.c:365 +#: builtin/mv.c:257 builtin/remote.c:714 builtin/repack.c:365 #, c-format msgid "renaming '%s' failed" msgstr "el canvi del nom de '%s' ha fallat" @@ -8287,9 +8553,9 @@ msgid "could not open or read '%s'" msgstr "no s'ha pogut obrir o llegir '%s'" #: builtin/notes.c:253 builtin/notes.c:304 builtin/notes.c:306 -#: builtin/notes.c:366 builtin/notes.c:421 builtin/notes.c:507 -#: builtin/notes.c:512 builtin/notes.c:590 builtin/notes.c:653 -#: builtin/notes.c:877 builtin/tag.c:456 +#: builtin/notes.c:369 builtin/notes.c:424 builtin/notes.c:510 +#: builtin/notes.c:515 builtin/notes.c:593 builtin/notes.c:656 +#: builtin/notes.c:880 builtin/tag.c:456 #, c-format msgid "Failed to resolve '%s' as a valid ref." msgstr "S'ha fallat en resoldre '%s' com a referΓ¨ncia vΓ lida." @@ -8304,42 +8570,42 @@ msgstr "S'ha fallat en llegir l'objecte '%s'." msgid "Cannot read note data from non-blob object '%s'." msgstr "No es pot llegir les dades de node de l'objecte no de blob '%s'." -#: builtin/notes.c:359 builtin/notes.c:414 builtin/notes.c:490 -#: builtin/notes.c:502 builtin/notes.c:578 builtin/notes.c:646 -#: builtin/notes.c:942 +#: builtin/notes.c:362 builtin/notes.c:417 builtin/notes.c:493 +#: builtin/notes.c:505 builtin/notes.c:581 builtin/notes.c:649 +#: builtin/notes.c:945 msgid "too many parameters" msgstr "massa parΓ metres" -#: builtin/notes.c:372 builtin/notes.c:659 +#: builtin/notes.c:375 builtin/notes.c:662 #, c-format msgid "No note found for object %s." msgstr "No s'ha trobat cap nota per a l'objecte %s." -#: builtin/notes.c:393 builtin/notes.c:556 +#: builtin/notes.c:396 builtin/notes.c:559 msgid "note contents as a string" msgstr "anota els continguts com a cadena" -#: builtin/notes.c:396 builtin/notes.c:559 +#: builtin/notes.c:399 builtin/notes.c:562 msgid "note contents in a file" msgstr "anota els continguts en un fitxer" -#: builtin/notes.c:399 builtin/notes.c:562 +#: builtin/notes.c:402 builtin/notes.c:565 msgid "reuse and edit specified note object" msgstr "reusa i edita l'objecte de nota especificat" -#: builtin/notes.c:402 builtin/notes.c:565 +#: builtin/notes.c:405 builtin/notes.c:568 msgid "reuse specified note object" msgstr "reusa l'objecte de nota especificat" -#: builtin/notes.c:405 builtin/notes.c:568 +#: builtin/notes.c:408 builtin/notes.c:571 msgid "allow storing empty note" msgstr "permet l'emmagatzematge d'una nota buida" -#: builtin/notes.c:406 builtin/notes.c:477 +#: builtin/notes.c:409 builtin/notes.c:480 msgid "replace existing notes" msgstr "reemplaΓ§a les notes existents" -#: builtin/notes.c:431 +#: builtin/notes.c:434 #, c-format msgid "" "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite " @@ -8348,30 +8614,30 @@ msgstr "" "No es pot afegir les notes. S'han trobat notes existents de l'objecte %s. " "Useu '-f' per a sobreescriure les notes existents." -#: builtin/notes.c:446 builtin/notes.c:525 +#: builtin/notes.c:449 builtin/notes.c:528 #, c-format msgid "Overwriting existing notes for object %s\n" msgstr "Sobreescrivint les notes existents de l'objecte %s\n" -#: builtin/notes.c:457 builtin/notes.c:618 builtin/notes.c:882 +#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:885 #, c-format msgid "Removing note for object %s\n" msgstr "Eliminant la nota de l'objecte %s\n" -#: builtin/notes.c:478 +#: builtin/notes.c:481 msgid "read objects from stdin" msgstr "llegeix els objectes des d'stdin" -#: builtin/notes.c:480 +#: builtin/notes.c:483 msgid "load rewriting config for <command> (implies --stdin)" msgstr "" "carrega la configuraciΓ³ de reescriptura per a <ordre> (implica --stdin)" -#: builtin/notes.c:498 +#: builtin/notes.c:501 msgid "too few parameters" msgstr "hi ha massa pocs parΓ metres" -#: builtin/notes.c:519 +#: builtin/notes.c:522 #, c-format msgid "" "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite " @@ -8380,12 +8646,12 @@ msgstr "" "No es pot copiar les notes. S'han trobat notes existents de l'objecte %s. " "Useu '-f' per a sobreescriure les notes existents." -#: builtin/notes.c:531 +#: builtin/notes.c:534 #, c-format msgid "Missing notes on source object %s. Cannot copy." msgstr "Manquen notes a l'objecte font %s. No es pot copiar." -#: builtin/notes.c:583 +#: builtin/notes.c:586 #, c-format msgid "" "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n" @@ -8394,15 +8660,15 @@ msgstr "" "S'han desaprovat les opcions -m/-F/-c/-C en favor de la subordre 'edit'.\n" "Si us plau, useu 'git notes add -f -m/-F/-c/-C' en lloc d'aixΓ².\n" -#: builtin/notes.c:764 +#: builtin/notes.c:767 msgid "General options" msgstr "Opcions generals" -#: builtin/notes.c:766 +#: builtin/notes.c:769 msgid "Merge options" msgstr "Opcions de fusiΓ³" -#: builtin/notes.c:768 +#: builtin/notes.c:771 msgid "" "resolve notes conflicts using the given strategy (manual/ours/theirs/union/" "cat_sort_uniq)" @@ -8410,49 +8676,49 @@ msgstr "" "resol els conflictes de nota usant l'estratΓ¨gia donada (manual/ours/theirs/" "union/cat_sort_uniq)" -#: builtin/notes.c:770 +#: builtin/notes.c:773 msgid "Committing unmerged notes" msgstr "Cometent les notes sense fusionar" -#: builtin/notes.c:772 +#: builtin/notes.c:775 msgid "finalize notes merge by committing unmerged notes" msgstr "finalitza la fusiΓ³ de notes cometent les notes sense fusionar" -#: builtin/notes.c:774 +#: builtin/notes.c:777 msgid "Aborting notes merge resolution" msgstr "Avortant la resoluciΓ³ de fusiΓ³ de notes" -#: builtin/notes.c:776 +#: builtin/notes.c:779 msgid "abort notes merge" msgstr "avorta la fusiΓ³ de notes" -#: builtin/notes.c:853 +#: builtin/notes.c:856 #, c-format msgid "A notes merge into %s is already in-progress at %s" msgstr "Una fusiΓ³ de notes a %s ja estΓ en curs a %s" -#: builtin/notes.c:880 +#: builtin/notes.c:883 #, c-format msgid "Object %s has no note\n" msgstr "L'objecte %s no tΓ© cap nota\n" -#: builtin/notes.c:892 +#: builtin/notes.c:895 msgid "attempt to remove non-existent note is not an error" msgstr "l'intent d'eliminar una nota no existent no Γ©s un error" -#: builtin/notes.c:895 +#: builtin/notes.c:898 msgid "read object names from the standard input" msgstr "llegeix els noms d'objecte des de l'entrada estΓ ndard" -#: builtin/notes.c:976 +#: builtin/notes.c:979 msgid "notes-ref" msgstr "referΓ¨ncia de notes" -#: builtin/notes.c:977 +#: builtin/notes.c:980 msgid "use notes from <notes-ref>" msgstr "usa les notes de <referΓ¨ncia-de-notes>" -#: builtin/notes.c:1012 builtin/remote.c:1647 +#: builtin/notes.c:1015 builtin/remote.c:1626 #, c-format msgid "Unknown subcommand: %s" msgstr "Subordre desconeguda: %s" @@ -8476,176 +8742,176 @@ msgstr "" msgid "deflate error (%d)" msgstr "error de deflaciΓ³ (%d)" -#: builtin/pack-objects.c:771 +#: builtin/pack-objects.c:772 msgid "Writing objects" msgstr "Escrivint els objectes" -#: builtin/pack-objects.c:1011 +#: builtin/pack-objects.c:1012 msgid "disabling bitmap writing, as some objects are not being packed" msgstr "" "inhabilitant l'escriptura de mapes de bits, perquΓ¨ alguns objectes no " "s'estan empaquetant" -#: builtin/pack-objects.c:2171 +#: builtin/pack-objects.c:2172 msgid "Compressing objects" msgstr "Comprimint objectes" -#: builtin/pack-objects.c:2568 +#: builtin/pack-objects.c:2558 #, c-format msgid "unsupported index version %s" msgstr "versiΓ³ d'Γndex no compatible %s" -#: builtin/pack-objects.c:2572 +#: builtin/pack-objects.c:2562 #, c-format msgid "bad index version '%s'" msgstr "versiΓ³ d'Γndex dolenta '%s'" -#: builtin/pack-objects.c:2602 +#: builtin/pack-objects.c:2592 msgid "do not show progress meter" msgstr "no mostris l'indicador de progrΓ©s" -#: builtin/pack-objects.c:2604 +#: builtin/pack-objects.c:2594 msgid "show progress meter" msgstr "mostra l'indicador de progrΓ©s" -#: builtin/pack-objects.c:2606 +#: builtin/pack-objects.c:2596 msgid "show progress meter during object writing phase" msgstr "mostra l'indicador de progrΓ©s durant la fase d'escriptura d'objectes" -#: builtin/pack-objects.c:2609 +#: builtin/pack-objects.c:2599 msgid "similar to --all-progress when progress meter is shown" msgstr "similar a --all-progress quan l'indicador de progrΓ©s es mostra" -#: builtin/pack-objects.c:2610 +#: builtin/pack-objects.c:2600 msgid "version[,offset]" msgstr "versiΓ³[,desplaΓ§ament]" -#: builtin/pack-objects.c:2611 +#: builtin/pack-objects.c:2601 msgid "write the pack index file in the specified idx format version" msgstr "" "escriu el fitxer d'Γndex de paquet en la versiΓ³ de format d'Γndex " "especificada" -#: builtin/pack-objects.c:2614 +#: builtin/pack-objects.c:2604 msgid "maximum size of each output pack file" msgstr "mida mΓ xima de cada fitxer de paquet de sortida" -#: builtin/pack-objects.c:2616 +#: builtin/pack-objects.c:2606 msgid "ignore borrowed objects from alternate object store" msgstr "" "ignora els objectes prestats d'un emmagatzemament d'objectes alternatiu" -#: builtin/pack-objects.c:2618 +#: builtin/pack-objects.c:2608 msgid "ignore packed objects" msgstr "ignora els objectes empaquetats" -#: builtin/pack-objects.c:2620 +#: builtin/pack-objects.c:2610 msgid "limit pack window by objects" msgstr "limita la finestra d'empaquetament per objectes" -#: builtin/pack-objects.c:2622 +#: builtin/pack-objects.c:2612 msgid "limit pack window by memory in addition to object limit" msgstr "" "limita la finestra d'empaquetament per memΓ²ria a mΓ©s del lΓmit d'objectes" -#: builtin/pack-objects.c:2624 +#: builtin/pack-objects.c:2614 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "longitud mΓ xima de la cadena de deltes permesa en el paquet resultant" -#: builtin/pack-objects.c:2626 +#: builtin/pack-objects.c:2616 msgid "reuse existing deltas" msgstr "reusa les deltes existents" -#: builtin/pack-objects.c:2628 +#: builtin/pack-objects.c:2618 msgid "reuse existing objects" msgstr "reusa els objectes existents" -#: builtin/pack-objects.c:2630 +#: builtin/pack-objects.c:2620 msgid "use OFS_DELTA objects" msgstr "usa objectes OFS_DELTA" -#: builtin/pack-objects.c:2632 +#: builtin/pack-objects.c:2622 msgid "use threads when searching for best delta matches" msgstr "usa fils en cercar les millores coincidΓ¨ncies de delta" -#: builtin/pack-objects.c:2634 +#: builtin/pack-objects.c:2624 msgid "do not create an empty pack output" msgstr "no creΓ―s una emissiΓ³ de paquet buida" -#: builtin/pack-objects.c:2636 +#: builtin/pack-objects.c:2626 msgid "read revision arguments from standard input" msgstr "llegeix els parΓ metres de revisiΓ³ des de l'entrada estΓ ndard" -#: builtin/pack-objects.c:2638 +#: builtin/pack-objects.c:2628 msgid "limit the objects to those that are not yet packed" msgstr "limita els objectes als quals encara no s'hagin empaquetat" -#: builtin/pack-objects.c:2641 +#: builtin/pack-objects.c:2631 msgid "include objects reachable from any reference" msgstr "inclou els objectes abastables de qualsevulla referΓ¨ncia" -#: builtin/pack-objects.c:2644 +#: builtin/pack-objects.c:2634 msgid "include objects referred by reflog entries" msgstr "" "inclou els objectes als quals facin referΓ¨ncia les entrades del registre de " "referΓ¨ncies" -#: builtin/pack-objects.c:2647 +#: builtin/pack-objects.c:2637 msgid "include objects referred to by the index" msgstr "inclou els objectes als quals faci referΓ¨ncia l'Γndex" -#: builtin/pack-objects.c:2650 +#: builtin/pack-objects.c:2640 msgid "output pack to stdout" msgstr "emet el paquet a stdout" -#: builtin/pack-objects.c:2652 +#: builtin/pack-objects.c:2642 msgid "include tag objects that refer to objects to be packed" msgstr "" "inclou els objectes d'etiqueta que facin referΓ¨ncia als objectes a empaquetar" -#: builtin/pack-objects.c:2654 +#: builtin/pack-objects.c:2644 msgid "keep unreachable objects" msgstr "retΓ©n els objectes inabastables" -#: builtin/pack-objects.c:2655 parse-options.h:142 +#: builtin/pack-objects.c:2645 parse-options.h:142 msgid "time" msgstr "hora" -#: builtin/pack-objects.c:2656 +#: builtin/pack-objects.c:2646 msgid "unpack unreachable objects newer than <time>" msgstr "desempaqueta els objectes inabastables mΓ©s nous que <hora>" -#: builtin/pack-objects.c:2659 +#: builtin/pack-objects.c:2649 msgid "create thin packs" msgstr "crea paquets prims" -#: builtin/pack-objects.c:2661 +#: builtin/pack-objects.c:2651 msgid "create packs suitable for shallow fetches" msgstr "crea paquets adequats per a les obtencions superficials" -#: builtin/pack-objects.c:2663 +#: builtin/pack-objects.c:2653 msgid "ignore packs that have companion .keep file" msgstr "ignora els paquets que tinguin un fitxer .keep corresponent" -#: builtin/pack-objects.c:2665 +#: builtin/pack-objects.c:2655 msgid "pack compression level" msgstr "nivell de compressiΓ³ de paquet" -#: builtin/pack-objects.c:2667 +#: builtin/pack-objects.c:2657 msgid "do not hide commits by grafts" msgstr "no amaguis les comissions per empelt" -#: builtin/pack-objects.c:2669 +#: builtin/pack-objects.c:2659 msgid "use a bitmap index if available to speed up counting objects" msgstr "" "usa un Γndex de mapa de bits, si estΓ disponible, per a accelerar el " "recompte d'objectes" -#: builtin/pack-objects.c:2671 +#: builtin/pack-objects.c:2661 msgid "write a bitmap index together with the pack index" msgstr "escriu un Γndex de mapa de bits junt amb l'Γndex de paquet" -#: builtin/pack-objects.c:2762 +#: builtin/pack-objects.c:2752 msgid "Counting objects" msgstr "Comptant els objectes" @@ -8689,49 +8955,53 @@ msgstr "fes caducar els objectes mΓ©s vells que <hora>" msgid "cannot prune in a precious-objects repo" msgstr "no es pot podar en un dipΓ²sit d'objectes precioses" -#: builtin/pull.c:69 +#: builtin/pull.c:72 msgid "git pull [<options>] [<repository> [<refspec>...]]" msgstr "git pull [opcions] [<dipΓ²sit> [<especificaciΓ³-de-referΓ¨ncia>...]]" -#: builtin/pull.c:113 +#: builtin/pull.c:117 msgid "Options related to merging" msgstr "Opcions relacionades amb fusionar" -#: builtin/pull.c:116 +#: builtin/pull.c:120 msgid "incorporate changes by rebasing rather than merging" msgstr "incorpora els canvis per rebasar en lloc de fusionar" -#: builtin/pull.c:140 builtin/revert.c:105 +#: builtin/pull.c:144 builtin/revert.c:105 msgid "allow fast-forward" msgstr "permet l'avanΓ§ rΓ pid" -#: builtin/pull.c:146 +#: builtin/pull.c:150 msgid "verify that the named commit has a valid GPG signature" msgstr "verifica que la comissiΓ³ anomenada tingui una firma GPG vΓ lida" -#: builtin/pull.c:160 +#: builtin/pull.c:164 msgid "Options related to fetching" msgstr "Opcions relacionades amb obtenir" -#: builtin/pull.c:268 +#: builtin/pull.c:186 +msgid "number of submodules pulled in parallel" +msgstr "nombre de submΓ²duls baixats en paralΒ·lel" + +#: builtin/pull.c:275 #, c-format msgid "Invalid value for pull.ff: %s" msgstr "Valor no vΓ lid per a pull.ff: %s" -#: builtin/pull.c:352 +#: builtin/pull.c:359 msgid "Cannot pull with rebase: You have unstaged changes." msgstr "No es pot baixar amb rebasament: Teniu canvis no allistats." -#: builtin/pull.c:358 +#: builtin/pull.c:365 msgid "Additionally, your index contains uncommitted changes." msgstr "Addicionalment, el vostre Γndex contΓ© canvis sense cometre." -#: builtin/pull.c:360 +#: builtin/pull.c:367 msgid "Cannot pull with rebase: Your index contains uncommitted changes." msgstr "" "No es pot baixar amb rebasament: El vostre Γndex contΓ© canvis sense cometre." -#: builtin/pull.c:436 +#: builtin/pull.c:443 msgid "" "There is no candidate for rebasing against among the refs that you just " "fetched." @@ -8739,13 +9009,13 @@ msgstr "" "No hi ha cap candidat sobre el qual rebasar entre les referΓ¨ncies que acabeu " "d'obtenir." -#: builtin/pull.c:438 +#: builtin/pull.c:445 msgid "" "There are no candidates for merging among the refs that you just fetched." msgstr "" "No hi ha candidats per a fusionar entre les referΓ¨ncies que acabeu d'obtenir." -#: builtin/pull.c:439 +#: builtin/pull.c:446 msgid "" "Generally this means that you provided a wildcard refspec which had no\n" "matches on the remote end." @@ -8753,7 +9023,7 @@ msgstr "" "Generalment aixΓ² vol dir que heu proveΓ―t una especificaciΓ³ de\n" "referΓ¨ncia de comodΓ que no tenia cap coincidΓ¨ncia en el costat remot." -#: builtin/pull.c:442 +#: builtin/pull.c:449 #, c-format msgid "" "You asked to pull from the remote '%s', but did not specify\n" @@ -8764,27 +9034,27 @@ msgstr "" "PerquΓ¨ aquest no Γ©s el remot configurat per defecte per a la vostra\n" "branca actual, heu d'especificar una branca en la lΓnia d'ordres." -#: builtin/pull.c:447 +#: builtin/pull.c:454 msgid "You are not currently on a branch." msgstr "Actualment no sou en cap branca." -#: builtin/pull.c:449 builtin/pull.c:464 +#: builtin/pull.c:456 builtin/pull.c:471 msgid "Please specify which branch you want to rebase against." msgstr "Si us plau, especifiqueu sobre quΓ¨ branca voleu rebasar." -#: builtin/pull.c:451 builtin/pull.c:466 +#: builtin/pull.c:458 builtin/pull.c:473 msgid "Please specify which branch you want to merge with." msgstr "Si us plau, especifiqueu amb quΓ¨ branca voleu fusionar." -#: builtin/pull.c:452 builtin/pull.c:467 +#: builtin/pull.c:459 builtin/pull.c:474 msgid "See git-pull(1) for details." msgstr "Vegeu git-pull(1) per detalls." -#: builtin/pull.c:462 +#: builtin/pull.c:469 msgid "There is no tracking information for the current branch." msgstr "No hi ha cap informaciΓ³ de seguiment per a la branca actual." -#: builtin/pull.c:471 +#: builtin/pull.c:478 #, c-format msgid "" "If you wish to set tracking information for this branch you can do so with:\n" @@ -8796,7 +9066,7 @@ msgstr "" "\n" " git branch --set-upstream-to=%s/<branca> %s\n" -#: builtin/pull.c:476 +#: builtin/pull.c:483 #, c-format msgid "" "Your configuration specifies to merge with the ref '%s'\n" @@ -8805,11 +9075,11 @@ msgstr "" "La vostra configuraciΓ³ especifica fusionar amb la referΓ¨ncia '%s'\n" "del remot, perΓ² no s'ha obtingut tal referΓ¨ncia." -#: builtin/pull.c:830 +#: builtin/pull.c:841 msgid "Updating an unborn branch with changes added to the index." msgstr "Actualitzant una branca no nascuda amb canvis afegits a l'Γndex." -#: builtin/pull.c:859 +#: builtin/pull.c:870 #, c-format msgid "" "fetch updated the current branch head.\n" @@ -8820,7 +9090,7 @@ msgstr "" "avanΓ§ant rΓ pidament el vostre arbre de treball des de\n" "la comissiΓ³ %s." -#: builtin/pull.c:864 +#: builtin/pull.c:875 #, c-format msgid "" "Cannot fast-forward your working tree.\n" @@ -8838,11 +9108,11 @@ msgstr "" "$ git reset --hard\n" "per a recuperar." -#: builtin/pull.c:879 +#: builtin/pull.c:890 msgid "Cannot merge multiple branches into empty head." msgstr "No es pot fusionar mΓΊltiples branques a un cap buit." -#: builtin/pull.c:883 +#: builtin/pull.c:894 msgid "Cannot rebase onto multiple branches." msgstr "No es pot rebasar sobre mΓΊltiples branques." @@ -8850,15 +9120,15 @@ msgstr "No es pot rebasar sobre mΓΊltiples branques." msgid "git push [<options>] [<repository> [<refspec>...]]" msgstr "git push [<opcions>] [<dipΓ²sit> [<especificaciΓ³-de-referΓ¨ncia>...]]" -#: builtin/push.c:88 +#: builtin/push.c:89 msgid "tag shorthand without <tag>" msgstr "abreviatura d'etiqueta sense <tag>" -#: builtin/push.c:98 +#: builtin/push.c:99 msgid "--delete only accepts plain target ref names" msgstr "--delete nomΓ©s accepta noms de referΓ¨ncia de destΓ senzills" -#: builtin/push.c:142 +#: builtin/push.c:143 msgid "" "\n" "To choose either option permanently, see push.default in 'git help config'." @@ -8867,7 +9137,7 @@ msgstr "" "Per a triar qualsevulla opciΓ³ permanentment, vegeu push.default a 'git help " "config'." -#: builtin/push.c:145 +#: builtin/push.c:146 #, c-format msgid "" "The upstream branch of your current branch does not match\n" @@ -8892,7 +9162,7 @@ msgstr "" " git push %s %s\n" "%s" -#: builtin/push.c:160 +#: builtin/push.c:161 #, c-format msgid "" "You are not currently on a branch.\n" @@ -8907,7 +9177,7 @@ msgstr "" "\n" " git push %s HEAD:<nom-de-branca-remota>\n" -#: builtin/push.c:174 +#: builtin/push.c:175 #, c-format msgid "" "The current branch %s has no upstream branch.\n" @@ -8920,12 +9190,12 @@ msgstr "" "\n" " git push --set-upstream %s %s\n" -#: builtin/push.c:182 +#: builtin/push.c:183 #, c-format msgid "The current branch %s has multiple upstream branches, refusing to push." msgstr "La branca actual %s tΓ© mΓΊltiples branques fonts, refusant pujar." -#: builtin/push.c:185 +#: builtin/push.c:186 #, c-format msgid "" "You are pushing to remote '%s', which is not the upstream of\n" @@ -8936,61 +9206,14 @@ msgstr "" "branca actual '%s', sense dir-me quΓ¨ pujar per a actualitzar\n" "quina branca remota." -#: builtin/push.c:208 -msgid "" -"push.default is unset; its implicit value has changed in\n" -"Git 2.0 from 'matching' to 'simple'. To squelch this message\n" -"and maintain the traditional behavior, use:\n" -"\n" -" git config --global push.default matching\n" -"\n" -"To squelch this message and adopt the new behavior now, use:\n" -"\n" -" git config --global push.default simple\n" -"\n" -"When push.default is set to 'matching', git will push local branches\n" -"to the remote branches that already exist with the same name.\n" -"\n" -"Since Git 2.0, Git defaults to the more conservative 'simple'\n" -"behavior, which only pushes the current branch to the corresponding\n" -"remote branch that 'git pull' uses to update the current branch.\n" -"\n" -"See 'git help config' and search for 'push.default' for further " -"information.\n" -"(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n" -"'current' instead of 'simple' if you sometimes use older versions of Git)" -msgstr "" -"push.default no estΓ establert; el seu valor implΓcit s'ha\n" -"canviat en el Git 2.0 de 'matching' a 'simple'. Per a suprimir\n" -"aquest missatge i mantenir el comportament tradicional,\n" -"useu:\n" -"\n" -" git config --global push.default matching\n" -"\n" -"Per a suprimir aquest missatge i adoptar el comportament nou ara, useu:\n" -"\n" -" git config --global push.default simple\n" -"\n" -"Quan push.default Γ©s 'matching', git pujarΓ les branques locals a les\n" -"branques remotes que ja existeixen amb el mateix nom.\n" -"\n" -"Des del Git 2.0, el Git per defecte tΓ© el comportament mΓ©s\n" -"conservatiu 'simple', que nomΓ©s puja la branca actual a la branca\n" -"corresponent que 'git pull' usa per a actualitzar la branca actual.\n" -"\n" -"Vegeu 'git help config' i cerqueu 'push.default' per a mΓ©s informaciΓ³.\n" -"(s'ha introduΓ―t el mode 'simple' en el Git 1.7.11. Useu el mode similar\n" -"'current' en lloc de 'simple' si a vegades useu versions mΓ©s antigues\n" -"del Git)" - -#: builtin/push.c:275 +#: builtin/push.c:242 msgid "" "You didn't specify any refspecs to push, and push.default is \"nothing\"." msgstr "" "No heu especificat cap especificaciΓ³ de referΓ¨ncia a pujar, i push.default " "Γ©s \"nothing\"." -#: builtin/push.c:282 +#: builtin/push.c:249 msgid "" "Updates were rejected because the tip of your current branch is behind\n" "its remote counterpart. Integrate the remote changes (e.g.\n" @@ -9002,7 +9225,7 @@ msgstr "" "els canvis remots (per exemple, 'git pull ...') abans de pujar de nou.\n" "Vegeu la 'Nota sobre avanΓ§os rΓ pids' a 'git push --help' per detalls." -#: builtin/push.c:288 +#: builtin/push.c:255 msgid "" "Updates were rejected because a pushed branch tip is behind its remote\n" "counterpart. Check out this branch and integrate the remote changes\n" @@ -9015,7 +9238,7 @@ msgstr "" "abans de pujar de nou.\n" "Vegeu la 'Nota sobre avanΓ§os rΓ pids' a 'git push --help' per detalls." -#: builtin/push.c:294 +#: builtin/push.c:261 msgid "" "Updates were rejected because the remote contains work that you do\n" "not have locally. This is usually caused by another repository pushing\n" @@ -9030,12 +9253,12 @@ msgstr "" "pujar de nou.\n" "Vegeu la 'Nota sobre avanΓ§os rΓ pids' a 'git push --help' per detalls." -#: builtin/push.c:301 +#: builtin/push.c:268 msgid "Updates were rejected because the tag already exists in the remote." msgstr "" "S'han rebutjat les actualitzacions perquΓ¨ l'etiqueta ja existeix en el remot." -#: builtin/push.c:304 +#: builtin/push.c:271 msgid "" "You cannot update a remote ref that points at a non-commit object,\n" "or update a remote ref to make it point at a non-commit object,\n" @@ -9046,22 +9269,22 @@ msgstr "" "fer que assenyali un objecte no de comissiΓ³, sense usar l'opciΓ³\n" "'--force'.\n" -#: builtin/push.c:363 +#: builtin/push.c:331 #, c-format msgid "Pushing to %s\n" msgstr "Pujant a %s\n" -#: builtin/push.c:367 +#: builtin/push.c:335 #, c-format msgid "failed to push some refs to '%s'" msgstr "s'ha fallat en pujar algunes referΓ¨ncies a '%s'" -#: builtin/push.c:397 +#: builtin/push.c:365 #, c-format msgid "bad repository '%s'" msgstr "dipΓ²sit dolent '%s'" -#: builtin/push.c:398 +#: builtin/push.c:366 msgid "" "No configured push destination.\n" "Either specify the URL from the command-line or configure a remote " @@ -9083,104 +9306,100 @@ msgstr "" "\n" " git push <nom>\n" -#: builtin/push.c:413 +#: builtin/push.c:381 msgid "--all and --tags are incompatible" msgstr "--all i --tags sΓ³n incompatibles" -#: builtin/push.c:414 +#: builtin/push.c:382 msgid "--all can't be combined with refspecs" msgstr "--all no es pot combinar amb especificacions de referΓ¨ncia" -#: builtin/push.c:419 +#: builtin/push.c:387 msgid "--mirror and --tags are incompatible" msgstr "--mirror i --tags sΓ³n incompatibles" -#: builtin/push.c:420 +#: builtin/push.c:388 msgid "--mirror can't be combined with refspecs" msgstr "--mirror no es pot combinar amb especificacions de referΓ¨ncia" -#: builtin/push.c:425 +#: builtin/push.c:393 msgid "--all and --mirror are incompatible" msgstr "--all i --mirror sΓ³n incompatibles" -#: builtin/push.c:537 +#: builtin/push.c:505 msgid "repository" msgstr "dipΓ²sit" -#: builtin/push.c:538 builtin/send-pack.c:161 +#: builtin/push.c:506 builtin/send-pack.c:161 msgid "push all refs" msgstr "puja totes les referΓ¨ncies" -#: builtin/push.c:539 builtin/send-pack.c:163 +#: builtin/push.c:507 builtin/send-pack.c:163 msgid "mirror all refs" msgstr "reflecteix totes les referΓ¨ncies" -#: builtin/push.c:541 +#: builtin/push.c:509 msgid "delete refs" msgstr "suprimeix les referΓ¨ncies" -#: builtin/push.c:542 +#: builtin/push.c:510 msgid "push tags (can't be used with --all or --mirror)" msgstr "puja les etiquetes (no es pot usar amb --all o --mirror)" -#: builtin/push.c:545 builtin/send-pack.c:164 +#: builtin/push.c:513 builtin/send-pack.c:164 msgid "force updates" msgstr "forΓ§a les actualitzacions" -#: builtin/push.c:547 builtin/send-pack.c:175 +#: builtin/push.c:515 builtin/send-pack.c:175 msgid "refname>:<expect" msgstr "nom-de-referΓ¨ncia>:<esperat" -#: builtin/push.c:548 builtin/send-pack.c:176 +#: builtin/push.c:516 builtin/send-pack.c:176 msgid "require old value of ref to be at this value" msgstr "requereix que el valor antic de la referΓ¨ncia sigui d'aquest valor" -#: builtin/push.c:550 -msgid "check|on-demand|no" -msgstr "comprova|sota demanda|no" - -#: builtin/push.c:551 +#: builtin/push.c:519 msgid "control recursive pushing of submodules" msgstr "controla la pujada recursiva dels submΓ²duls" -#: builtin/push.c:553 builtin/send-pack.c:169 +#: builtin/push.c:521 builtin/send-pack.c:169 msgid "use thin pack" msgstr "usa el paquet prim" -#: builtin/push.c:554 builtin/push.c:555 builtin/send-pack.c:158 +#: builtin/push.c:522 builtin/push.c:523 builtin/send-pack.c:158 #: builtin/send-pack.c:159 msgid "receive pack program" msgstr "programa que rep els paquets" -#: builtin/push.c:556 +#: builtin/push.c:524 msgid "set upstream for git pull/status" msgstr "estableix la font per a git pull/status" -#: builtin/push.c:559 +#: builtin/push.c:527 msgid "prune locally removed refs" msgstr "poda les referΓ¨ncies eliminades localment" -#: builtin/push.c:561 +#: builtin/push.c:529 msgid "bypass pre-push hook" msgstr "evita el ganxo de prepujada" -#: builtin/push.c:562 +#: builtin/push.c:530 msgid "push missing but relevant tags" msgstr "puja les etiquetes absents perΓ² rellevants" -#: builtin/push.c:565 builtin/send-pack.c:166 +#: builtin/push.c:533 builtin/send-pack.c:166 msgid "GPG sign the push" msgstr "firma la pujada amb GPG" -#: builtin/push.c:567 builtin/send-pack.c:170 +#: builtin/push.c:535 builtin/send-pack.c:170 msgid "request atomic transaction on remote side" msgstr "demana una transacciΓ³ atΓ²mica al costat remot" -#: builtin/push.c:577 +#: builtin/push.c:549 msgid "--delete is incompatible with --all, --mirror and --tags" msgstr "--delete Γ©s incompatible amb --all, --mirror i --tags" -#: builtin/push.c:579 +#: builtin/push.c:551 msgid "--delete doesn't make sense without any refs" msgstr "--delete no tΓ© sentit sense referΓ¨ncies" @@ -9258,12 +9477,12 @@ msgstr "salta l'aplicaciΓ³ del filtre d'agafament dispers" msgid "debug unpack-trees" msgstr "depura unpack-trees" -#: builtin/reflog.c:428 +#: builtin/reflog.c:423 #, c-format msgid "'%s' for '%s' is not a valid timestamp" msgstr "'%s' per a '%s' no Γ©s una marca de temps vΓ lida" -#: builtin/reflog.c:545 builtin/reflog.c:550 +#: builtin/reflog.c:540 builtin/reflog.c:545 #, c-format msgid "'%s' is not a valid timestamp" msgstr "'%s' no Γ©s una marca de temps vΓ lida" @@ -9406,56 +9625,46 @@ msgid "specifying branches to track makes sense only with fetch mirrors" msgstr "" "especificar les branques a seguir tΓ© sentit nomΓ©s amb miralls d'obtenciΓ³" -#: builtin/remote.c:193 builtin/remote.c:643 +#: builtin/remote.c:190 builtin/remote.c:633 #, c-format msgid "remote %s already exists." msgstr "el remot %s ja existeix." -#: builtin/remote.c:197 builtin/remote.c:647 +#: builtin/remote.c:194 builtin/remote.c:637 #, c-format msgid "'%s' is not a valid remote name" msgstr "'%s' no Γ©s un nom de remot vΓ lid" -#: builtin/remote.c:241 +#: builtin/remote.c:234 #, c-format msgid "Could not setup master '%s'" msgstr "No s'ha pogut configurar la mestra '%s'" -#: builtin/remote.c:341 +#: builtin/remote.c:336 #, c-format msgid "Could not get fetch map for refspec %s" msgstr "" "No s'ha pogut obtenir el mapa d'obtenciΓ³ de l'especificaciΓ³ de referΓ¨ncia %s" -#: builtin/remote.c:442 builtin/remote.c:450 +#: builtin/remote.c:437 builtin/remote.c:445 msgid "(matching)" msgstr "(coincident)" -#: builtin/remote.c:454 +#: builtin/remote.c:449 msgid "(delete)" msgstr "(suprimir)" -#: builtin/remote.c:594 builtin/remote.c:600 builtin/remote.c:606 -#, c-format -msgid "Could not append '%s' to '%s'" -msgstr "No s'ha pogut annexar '%s' a '%s'" - -#: builtin/remote.c:636 builtin/remote.c:775 builtin/remote.c:875 +#: builtin/remote.c:626 builtin/remote.c:761 builtin/remote.c:858 #, c-format msgid "No such remote: %s" msgstr "No hi ha tal remot: %s" -#: builtin/remote.c:653 +#: builtin/remote.c:643 #, c-format msgid "Could not rename config section '%s' to '%s'" msgstr "No s'ha pogut canviar el nom de la secciΓ³ de configuraciΓ³ '%s' a '%s'" -#: builtin/remote.c:659 builtin/remote.c:827 -#, c-format -msgid "Could not remove config section '%s'" -msgstr "No s'ha pogut eliminar la secciΓ³ de configuraciΓ³ '%s'" - -#: builtin/remote.c:674 +#: builtin/remote.c:663 #, c-format msgid "" "Not updating non-default fetch refspec\n" @@ -9466,27 +9675,17 @@ msgstr "" "\t%s\n" "\tSi us plau, actualitzeu la configuraciΓ³ manualment si Γ©s necessari." -#: builtin/remote.c:680 -#, c-format -msgid "Could not append '%s'" -msgstr "No s'ha pogut annexar '%s'" - -#: builtin/remote.c:691 -#, c-format -msgid "Could not set '%s'" -msgstr "No s'ha pogut establir '%s'" - -#: builtin/remote.c:713 +#: builtin/remote.c:699 #, c-format msgid "deleting '%s' failed" msgstr "la supressiΓ³ de '%s' ha fallat" -#: builtin/remote.c:747 +#: builtin/remote.c:733 #, c-format msgid "creating '%s' failed" msgstr "la creaciΓ³ de '%s' ha fallat" -#: builtin/remote.c:813 +#: builtin/remote.c:796 msgid "" "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n" "to delete it, use:" @@ -9501,278 +9700,283 @@ msgstr[1] "" "eliminat;\n" "per a suprimir-les, useu:" -#: builtin/remote.c:928 +#: builtin/remote.c:810 +#, c-format +msgid "Could not remove config section '%s'" +msgstr "No s'ha pogut eliminar la secciΓ³ de configuraciΓ³ '%s'" + +#: builtin/remote.c:911 #, c-format msgid " new (next fetch will store in remotes/%s)" msgstr " nou (la prΓ²xima obtenciΓ³ emmagatzemarΓ a remotes/%s)" -#: builtin/remote.c:931 +#: builtin/remote.c:914 msgid " tracked" msgstr " seguit" -#: builtin/remote.c:933 +#: builtin/remote.c:916 msgid " stale (use 'git remote prune' to remove)" msgstr " estancat (useu 'git remote prune' per a eliminar)" -#: builtin/remote.c:935 +#: builtin/remote.c:918 msgid " ???" msgstr " ???" -#: builtin/remote.c:976 +#: builtin/remote.c:959 #, c-format msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch" msgstr "branch.%s.merge no vΓ lid; no es pot rebasar sobre > 1 branca" -#: builtin/remote.c:983 +#: builtin/remote.c:967 #, c-format -msgid "rebases onto remote %s" -msgstr "es rebasa sobre el remot %s" +msgid "rebases interactively onto remote %s" +msgstr "es rebasa interactivament sobre el remot %s" -#: builtin/remote.c:986 +#: builtin/remote.c:971 #, c-format msgid " merges with remote %s" msgstr "es fusiona amb el remot %s" -#: builtin/remote.c:987 +#: builtin/remote.c:972 msgid " and with remote" msgstr " i amb el remot" -#: builtin/remote.c:989 +#: builtin/remote.c:974 #, c-format msgid "merges with remote %s" msgstr "es fusiona amb el remot %s" -#: builtin/remote.c:990 +#: builtin/remote.c:975 msgid " and with remote" msgstr " i amb el remot" -#: builtin/remote.c:1036 +#: builtin/remote.c:1021 msgid "create" msgstr "crea" -#: builtin/remote.c:1039 +#: builtin/remote.c:1024 msgid "delete" msgstr "suprimeix" -#: builtin/remote.c:1043 +#: builtin/remote.c:1028 msgid "up to date" msgstr "al dia" -#: builtin/remote.c:1046 +#: builtin/remote.c:1031 msgid "fast-forwardable" msgstr "avanΓ§ rΓ pid possible" -#: builtin/remote.c:1049 +#: builtin/remote.c:1034 msgid "local out of date" msgstr "local no actualitzat" -#: builtin/remote.c:1056 +#: builtin/remote.c:1041 #, c-format msgid " %-*s forces to %-*s (%s)" msgstr " %-*s forΓ§a a %-*s (%s)" -#: builtin/remote.c:1059 +#: builtin/remote.c:1044 #, c-format msgid " %-*s pushes to %-*s (%s)" msgstr " %-*s puja a %-*s (%s)" -#: builtin/remote.c:1063 +#: builtin/remote.c:1048 #, c-format msgid " %-*s forces to %s" msgstr " %-*s forΓ§a a %s" -#: builtin/remote.c:1066 +#: builtin/remote.c:1051 #, c-format msgid " %-*s pushes to %s" msgstr " %-*s puja a %s" -#: builtin/remote.c:1134 +#: builtin/remote.c:1119 msgid "do not query remotes" msgstr "no consultis els remots" -#: builtin/remote.c:1161 +#: builtin/remote.c:1146 #, c-format msgid "* remote %s" msgstr "* remot %s" -#: builtin/remote.c:1162 +#: builtin/remote.c:1147 #, c-format msgid " Fetch URL: %s" msgstr " URL d'obtenciΓ³: %s" -#: builtin/remote.c:1163 builtin/remote.c:1314 +#: builtin/remote.c:1148 builtin/remote.c:1299 msgid "(no URL)" msgstr "(sense URL)" -#: builtin/remote.c:1172 builtin/remote.c:1174 +#: builtin/remote.c:1157 builtin/remote.c:1159 #, c-format msgid " Push URL: %s" msgstr " URL de pujada: %s" -#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180 +#: builtin/remote.c:1161 builtin/remote.c:1163 builtin/remote.c:1165 #, c-format msgid " HEAD branch: %s" msgstr " Branca de HEAD: %s" -#: builtin/remote.c:1182 +#: builtin/remote.c:1167 #, c-format msgid "" " HEAD branch (remote HEAD is ambiguous, may be one of the following):\n" msgstr "" " Branca de HEAD (el HEAD remot Γ©s ambigu, pot ser un dels segΓΌents):\n" -#: builtin/remote.c:1194 +#: builtin/remote.c:1179 #, c-format msgid " Remote branch:%s" msgid_plural " Remote branches:%s" msgstr[0] " Branca remota:%s" msgstr[1] " Branques remotes:%s" -#: builtin/remote.c:1197 builtin/remote.c:1224 +#: builtin/remote.c:1182 builtin/remote.c:1209 msgid " (status not queried)" msgstr " (estat no consultat)" -#: builtin/remote.c:1206 +#: builtin/remote.c:1191 msgid " Local branch configured for 'git pull':" msgid_plural " Local branches configured for 'git pull':" msgstr[0] " Branca local configurada per a 'git pull':" msgstr[1] " Branques locals configurades per a 'git pull':" -#: builtin/remote.c:1214 +#: builtin/remote.c:1199 msgid " Local refs will be mirrored by 'git push'" msgstr " 'git push' reflectirΓ les referΓ¨ncies locals" -#: builtin/remote.c:1221 +#: builtin/remote.c:1206 #, c-format msgid " Local ref configured for 'git push'%s:" msgid_plural " Local refs configured for 'git push'%s:" msgstr[0] " ReferΓ¨ncia local configurada per a 'git push'%s:" msgstr[1] " ReferΓ¨ncies locals configurades per a 'git push'%s:" -#: builtin/remote.c:1242 +#: builtin/remote.c:1227 msgid "set refs/remotes/<name>/HEAD according to remote" msgstr "estableix refs/remotes/<name>/HEAD segons el remot" -#: builtin/remote.c:1244 +#: builtin/remote.c:1229 msgid "delete refs/remotes/<name>/HEAD" msgstr "suprimeix refs/remotes/<name>/HEAD" -#: builtin/remote.c:1259 +#: builtin/remote.c:1244 msgid "Cannot determine remote HEAD" msgstr "No es pot determinar el HEAD remot" -#: builtin/remote.c:1261 +#: builtin/remote.c:1246 msgid "Multiple remote HEAD branches. Please choose one explicitly with:" msgstr "" "MΓΊltiples branques de HEAD remotes. Si us plau, trieu-ne una explΓcitament " "amb:" -#: builtin/remote.c:1271 +#: builtin/remote.c:1256 #, c-format msgid "Could not delete %s" msgstr "No s'ha pogut suprimir %s" -#: builtin/remote.c:1279 +#: builtin/remote.c:1264 #, c-format msgid "Not a valid ref: %s" msgstr "No Γ©s una referΓ¨ncia vΓ lida: %s" -#: builtin/remote.c:1281 +#: builtin/remote.c:1266 #, c-format msgid "Could not setup %s" msgstr "No s'ha pogut configurar %s" -#: builtin/remote.c:1299 +#: builtin/remote.c:1284 #, c-format msgid " %s will become dangling!" msgstr " %s es tornarΓ penjant!" -#: builtin/remote.c:1300 +#: builtin/remote.c:1285 #, c-format msgid " %s has become dangling!" msgstr " %s s'ha tornat penjant!" -#: builtin/remote.c:1310 +#: builtin/remote.c:1295 #, c-format msgid "Pruning %s" msgstr "Podant %s" -#: builtin/remote.c:1311 +#: builtin/remote.c:1296 #, c-format msgid "URL: %s" msgstr "URL: %s" -#: builtin/remote.c:1327 +#: builtin/remote.c:1312 #, c-format msgid " * [would prune] %s" msgstr " * [podaria] %s" -#: builtin/remote.c:1330 +#: builtin/remote.c:1315 #, c-format msgid " * [pruned] %s" msgstr " * [podat] %s" -#: builtin/remote.c:1375 +#: builtin/remote.c:1360 msgid "prune remotes after fetching" msgstr "poda els remots desprΓ©s d'obtenir-los" -#: builtin/remote.c:1441 builtin/remote.c:1498 builtin/remote.c:1566 +#: builtin/remote.c:1423 builtin/remote.c:1477 builtin/remote.c:1545 #, c-format msgid "No such remote '%s'" msgstr "No hi ha tal remot '%s'" -#: builtin/remote.c:1461 +#: builtin/remote.c:1439 msgid "add branch" msgstr "afegeix branca" -#: builtin/remote.c:1468 +#: builtin/remote.c:1446 msgid "no remote specified" msgstr "cap remot especificat" -#: builtin/remote.c:1485 +#: builtin/remote.c:1463 msgid "query push URLs rather than fetch URLs" msgstr "consulta els URL de pujada en lloc dels URL d'obteniment" -#: builtin/remote.c:1487 +#: builtin/remote.c:1465 msgid "return all URLs" msgstr "retorna tots els URL" -#: builtin/remote.c:1515 +#: builtin/remote.c:1493 #, c-format msgid "no URLs configured for remote '%s'" msgstr "cap URL configurat per al remot '%s'" -#: builtin/remote.c:1541 +#: builtin/remote.c:1519 msgid "manipulate push URLs" msgstr "manipula els URL de pujada" -#: builtin/remote.c:1543 +#: builtin/remote.c:1521 msgid "add URL" msgstr "afegeix URL" -#: builtin/remote.c:1545 +#: builtin/remote.c:1523 msgid "delete URLs" msgstr "suprimeix URLs" -#: builtin/remote.c:1552 +#: builtin/remote.c:1530 msgid "--add --delete doesn't make sense" msgstr "--add --delete no tΓ© sentit" -#: builtin/remote.c:1592 +#: builtin/remote.c:1571 #, c-format msgid "Invalid old URL pattern: %s" msgstr "PatrΓ³ d'URL antic no vΓ lid: %s" -#: builtin/remote.c:1600 +#: builtin/remote.c:1579 #, c-format msgid "No such URL found: %s" msgstr "No s'ha trobat tal URL: %s" -#: builtin/remote.c:1602 +#: builtin/remote.c:1581 msgid "Will not delete all non-push URLs" msgstr "No se suprimiran tots els URL no de pujada" -#: builtin/remote.c:1616 +#: builtin/remote.c:1595 msgid "be verbose; must be placed before a subcommand" msgstr "sigues detallat; s'ha de colΒ·locar abans d'una subordre" @@ -10077,7 +10281,7 @@ msgstr "No s'ha pogut restablir el fitxer d'Γndex a la revisiΓ³ '%s'." msgid "Could not write new index file." msgstr "No s'ha pogut escriure el fitxer d'Γndex nou." -#: builtin/rev-list.c:354 +#: builtin/rev-list.c:350 msgid "rev-list does not support display of notes" msgstr "el rev-list no permet mostrar notes" @@ -10333,29 +10537,24 @@ msgstr "imprimeix l'estat des de l'ajudant remot" msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]" msgstr "git shortlog [<opcions>] [<rang-de-revisions>] [[--] [<camΓ>...]]" -#: builtin/shortlog.c:131 -#, c-format -msgid "Missing author: %s" -msgstr "Manca l'autor: %s" - -#: builtin/shortlog.c:230 +#: builtin/shortlog.c:242 msgid "sort output according to the number of commits per author" msgstr "ordena la sortida segons el nombre de comissions per autor" -#: builtin/shortlog.c:232 +#: builtin/shortlog.c:244 msgid "Suppress commit descriptions, only provides commit count" msgstr "" "Omet les descripcions de comissiΓ³, nomΓ©s proveeix el recompte de comissions" -#: builtin/shortlog.c:234 +#: builtin/shortlog.c:246 msgid "Show the email address of each author" msgstr "Mostra l'adreΓ§a de correu electrΓ²nic de cada autor" -#: builtin/shortlog.c:235 +#: builtin/shortlog.c:247 msgid "w[,i1[,i2]]" msgstr "w[,i1[,i2]]" -#: builtin/shortlog.c:236 +#: builtin/shortlog.c:248 msgid "Linewrap output" msgstr "Ajusta les lΓnies de la sortida" @@ -10499,43 +10698,43 @@ msgstr "" "salta i elimina totes les lΓnies comenΓ§ant amb el carΓ cter de comentari" #: builtin/stripspace.c:38 -msgid "prepend comment character and blank to each line" -msgstr "anteposa el carΓ cter de comentari i espai blanc a cada lΓnia" +msgid "prepend comment character and space to each line" +msgstr "anteposa el carΓ cter de comentari i un espai a cada lΓnia" -#: builtin/submodule--helper.c:79 builtin/submodule--helper.c:167 +#: builtin/submodule--helper.c:73 builtin/submodule--helper.c:161 msgid "alternative anchor for relative paths" msgstr "Γ ncora alternativa per als camins relatius" -#: builtin/submodule--helper.c:84 +#: builtin/submodule--helper.c:78 msgid "git submodule--helper list [--prefix=<path>] [<path>...]" msgstr "git submodule--helper list [--prefix=<camΓ>] [<camΓ>...]" -#: builtin/submodule--helper.c:114 +#: builtin/submodule--helper.c:108 msgid "git submodule--helper name <path>" msgstr "git submodule--helper name <camΓ>" -#: builtin/submodule--helper.c:120 +#: builtin/submodule--helper.c:114 #, c-format msgid "no submodule mapping found in .gitmodules for path '%s'" msgstr "No s'ha trobat cap mapatge de submΓ²dul a .gitmodules per al camΓ '%s'" -#: builtin/submodule--helper.c:170 +#: builtin/submodule--helper.c:164 msgid "where the new submodule will be cloned to" msgstr "a on es clonarΓ el submΓ²dul nou" -#: builtin/submodule--helper.c:173 +#: builtin/submodule--helper.c:167 msgid "name of the new submodule" msgstr "nom del submΓ²dul nou" -#: builtin/submodule--helper.c:176 +#: builtin/submodule--helper.c:170 msgid "url where to clone the submodule from" msgstr "url del qual clonar el submΓ²dul" -#: builtin/submodule--helper.c:182 +#: builtin/submodule--helper.c:176 msgid "depth for shallow clones" msgstr "profunditat dels clons superficials" -#: builtin/submodule--helper.c:188 +#: builtin/submodule--helper.c:182 msgid "" "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference " "<repository>] [--name <name>] [--url <url>][--depth <depth>] [--] [<path>...]" @@ -10544,37 +10743,37 @@ msgstr "" "<dipΓ²sit>] [--name <nom>] [--url <url>][--depth <profunditat>] [--] " "[<camΓ>...]" -#: builtin/submodule--helper.c:202 builtin/submodule--helper.c:208 -#: builtin/submodule--helper.c:216 +#: builtin/submodule--helper.c:196 builtin/submodule--helper.c:202 +#: builtin/submodule--helper.c:210 #, c-format msgid "could not create directory '%s'" msgstr "no s'ha pogut crear el directori '%s'" -#: builtin/submodule--helper.c:204 +#: builtin/submodule--helper.c:198 #, c-format msgid "clone of '%s' into submodule path '%s' failed" msgstr "el clonatge de '%s' al camΓ de submΓ²dul '%s' ha fallat" -#: builtin/submodule--helper.c:227 +#: builtin/submodule--helper.c:221 #, c-format msgid "cannot open file '%s'" msgstr "no es pot obrir el fitxer '%s'" -#: builtin/submodule--helper.c:232 +#: builtin/submodule--helper.c:226 #, c-format msgid "could not close file %s" msgstr "no s'ha pogut tancar el fitxer %s" -#: builtin/submodule--helper.c:247 +#: builtin/submodule--helper.c:241 #, c-format msgid "could not get submodule directory for '%s'" msgstr "no s'ha pogut obtenir el directori de submΓ²dul per a '%s'" -#: builtin/submodule--helper.c:273 +#: builtin/submodule--helper.c:267 msgid "fatal: submodule--helper subcommand must be called with a subcommand" msgstr "fatal: s'ha d'executar la subordre submodule--helper amb una subordre" -#: builtin/submodule--helper.c:280 +#: builtin/submodule--helper.c:274 #, c-format msgid "fatal: '%s' is not a valid submodule--helper subcommand" msgstr "fatal: '%s' no Γ©s una subordre vΓ lida de submodule--helper" @@ -10820,200 +11019,213 @@ msgstr "Etiqueta '%s' actualitzada (era %s)\n" msgid "Unpacking objects" msgstr "Desempaquetant objectes" -#: builtin/update-index.c:70 +#: builtin/update-index.c:79 #, c-format msgid "failed to create directory %s" msgstr "s'ha fallat en crear el directori %s" -#: builtin/update-index.c:76 +#: builtin/update-index.c:85 #, c-format msgid "failed to stat %s" msgstr "s'ha fallat en fer stat a %s" -#: builtin/update-index.c:86 +#: builtin/update-index.c:95 #, c-format msgid "failed to create file %s" msgstr "s'ha fallat en crear el fitxer %s" -#: builtin/update-index.c:94 +#: builtin/update-index.c:103 #, c-format msgid "failed to delete file %s" msgstr "s'ha fallat en suprimir el fitxer %s" -#: builtin/update-index.c:101 builtin/update-index.c:203 +#: builtin/update-index.c:110 builtin/update-index.c:212 #, c-format msgid "failed to delete directory %s" msgstr "s'ha fallat en suprimir el directori %s" -#: builtin/update-index.c:124 +#: builtin/update-index.c:133 #, c-format -msgid "Testing " -msgstr "Provant " +msgid "Testing mtime in '%s' " +msgstr "Provant mtime en '%s'" -#: builtin/update-index.c:136 +#: builtin/update-index.c:145 msgid "directory stat info does not change after adding a new file" msgstr "" "la informaciΓ³ d'stat de directori no canvia desprΓ©s d'afegir un fitxer nou" -#: builtin/update-index.c:149 +#: builtin/update-index.c:158 msgid "directory stat info does not change after adding a new directory" msgstr "" "la informaciΓ³ d'stat de directori no canvia desprΓ©s d'afegir un directori nou" -#: builtin/update-index.c:162 +#: builtin/update-index.c:171 msgid "directory stat info changes after updating a file" msgstr "" "la informaciΓ³ d'stat de directori canvia desprΓ©s d'actualitzar un fitxer" -#: builtin/update-index.c:173 +#: builtin/update-index.c:182 msgid "directory stat info changes after adding a file inside subdirectory" msgstr "" "la informaciΓ³ d'stat de directori canvia desprΓ©s d'afegir un fitxer dins " "d'un subdirectori" -#: builtin/update-index.c:184 +#: builtin/update-index.c:193 msgid "directory stat info does not change after deleting a file" msgstr "" "la informaciΓ³ d'stat de directori no canvia desprΓ©s de suprimir un fitxer" -#: builtin/update-index.c:197 +#: builtin/update-index.c:206 msgid "directory stat info does not change after deleting a directory" msgstr "" "la informaciΓ³ d'stat de directori no canvia desprΓ©s de suprimir un directori" -#: builtin/update-index.c:204 +#: builtin/update-index.c:213 msgid " OK" msgstr " D'acord" -#: builtin/update-index.c:564 +#: builtin/update-index.c:575 msgid "git update-index [<options>] [--] [<file>...]" msgstr "git update-index [<opcions>] [--] [<fitxer>...]" -#: builtin/update-index.c:918 +#: builtin/update-index.c:930 msgid "continue refresh even when index needs update" msgstr "" "continua l'actualitzaciΓ³ encara que l'Γndex necessiti una actualitzaciΓ³" -#: builtin/update-index.c:921 +#: builtin/update-index.c:933 msgid "refresh: ignore submodules" msgstr "actualitza: ignora els submΓ²duls" -#: builtin/update-index.c:924 +#: builtin/update-index.c:936 msgid "do not ignore new files" msgstr "no ignoris els fitxers nous" -#: builtin/update-index.c:926 +#: builtin/update-index.c:938 msgid "let files replace directories and vice-versa" msgstr "deixa que els fitxers reemplacin els directoris i viceversa" -#: builtin/update-index.c:928 +#: builtin/update-index.c:940 msgid "notice files missing from worktree" msgstr "tingues en compte els fitxers absents de l'arbre de treball" -#: builtin/update-index.c:930 +#: builtin/update-index.c:942 msgid "refresh even if index contains unmerged entries" msgstr "actualitza encara que l'Γndex contingui entrades no fusionades" -#: builtin/update-index.c:933 +#: builtin/update-index.c:945 msgid "refresh stat information" msgstr "actualitza la informaciΓ³ d'estadΓstiques" -#: builtin/update-index.c:937 +#: builtin/update-index.c:949 msgid "like --refresh, but ignore assume-unchanged setting" msgstr "com --refresh, perΓ² ignora l'ajust assume-unchanged" -#: builtin/update-index.c:941 +#: builtin/update-index.c:953 msgid "<mode>,<object>,<path>" msgstr "<mode>,<objecte>,<camΓ>" -#: builtin/update-index.c:942 +#: builtin/update-index.c:954 msgid "add the specified entry to the index" msgstr "afegeix l'entrada especificada a l'Γndex" -#: builtin/update-index.c:946 +#: builtin/update-index.c:958 msgid "(+/-)x" msgstr "(+/-)x" -#: builtin/update-index.c:947 +#: builtin/update-index.c:959 msgid "override the executable bit of the listed files" msgstr "passa per alt el bit executable dels fitxers llistats" -#: builtin/update-index.c:951 +#: builtin/update-index.c:963 msgid "mark files as \"not changing\"" msgstr "marca els fitxers com a \"no canviant\"" -#: builtin/update-index.c:954 +#: builtin/update-index.c:966 msgid "clear assumed-unchanged bit" msgstr "neteja el bit assumed-unchanged" -#: builtin/update-index.c:957 +#: builtin/update-index.c:969 msgid "mark files as \"index-only\"" msgstr "marca els fitxers com a \"nomΓ©s Γndex\"" -#: builtin/update-index.c:960 +#: builtin/update-index.c:972 msgid "clear skip-worktree bit" msgstr "neteja el bit skip-worktree" -#: builtin/update-index.c:963 +#: builtin/update-index.c:975 msgid "add to index only; do not add content to object database" msgstr "" "nomΓ©s afegeix a l'Γndex; no afegeixis el contingut a la base de dades " "d'objectes" -#: builtin/update-index.c:965 +#: builtin/update-index.c:977 msgid "remove named paths even if present in worktree" msgstr "" "elimina els camins anomenats encara que estiguin presents en l'arbre de " "treball" -#: builtin/update-index.c:967 +#: builtin/update-index.c:979 msgid "with --stdin: input lines are terminated by null bytes" msgstr "amb --stdin: les lΓnies d'entrada acaben amb octets nuls" -#: builtin/update-index.c:969 +#: builtin/update-index.c:981 msgid "read list of paths to be updated from standard input" msgstr "llegeix la llista de camins a actualitzar des de l'entrada estΓ ndard" -#: builtin/update-index.c:973 +#: builtin/update-index.c:985 msgid "add entries from standard input to the index" msgstr "afegeix les entrades de l'entrada estΓ ndard a l'Γndex" -#: builtin/update-index.c:977 +#: builtin/update-index.c:989 msgid "repopulate stages #2 and #3 for the listed paths" msgstr "reemplena les etapes #2 i #3 per als camins llistats" -#: builtin/update-index.c:981 +#: builtin/update-index.c:993 msgid "only update entries that differ from HEAD" msgstr "nomΓ©s actualitza les entrades que difereixin de HEAD" -#: builtin/update-index.c:985 +#: builtin/update-index.c:997 msgid "ignore files missing from worktree" msgstr "ignora els fitxers absents de l'arbre de treball" -#: builtin/update-index.c:988 +#: builtin/update-index.c:1000 msgid "report actions to standard output" msgstr "informa de les accions en la sortida estΓ ndard" -#: builtin/update-index.c:990 +#: builtin/update-index.c:1002 msgid "(for porcelains) forget saved unresolved conflicts" msgstr "(per a porcellanes) oblida't dels conflictes no resolts ni desats" -#: builtin/update-index.c:994 +#: builtin/update-index.c:1006 msgid "write index in this format" msgstr "escriu l'Γndex en aquest format" -#: builtin/update-index.c:996 +#: builtin/update-index.c:1008 msgid "enable or disable split index" msgstr "habilita o inhabilita l'Γndex dividit" -#: builtin/update-index.c:998 +#: builtin/update-index.c:1010 msgid "enable/disable untracked cache" msgstr "habilita/inhabilita la memΓ²ria cau no seguida" -#: builtin/update-index.c:1000 +#: builtin/update-index.c:1012 +msgid "test if the filesystem supports untracked cache" +msgstr "prova si el sistema de fitxers admet la memΓ²ria cau no seguida" + +#: builtin/update-index.c:1014 msgid "enable untracked cache without testing the filesystem" msgstr "habilita la memΓ²ria cau no seguida sense provar el sistema de fitxers" +#: builtin/update-index.c:1134 +msgid "Untracked cache disabled" +msgstr "La memΓ²ria cau no seguida estΓ inhabilitada" + +#: builtin/update-index.c:1146 +#, c-format +msgid "Untracked cache enabled for '%s'" +msgstr "La memΓ²ria cau no seguida estΓ habilitada per a '%s'" + #: builtin/update-ref.c:9 msgid "git update-ref [<options>] -d <refname> [<old-val>]" msgstr "git update-ref [<opcions>] -d <nom-de-referΓ¨ncia> [<valor-antic>]" @@ -11132,33 +11344,33 @@ msgstr "s'ha fallat en eliminar: %s" msgid "'%s' already exists" msgstr "'%s' ja existeix" -#: builtin/worktree.c:235 +#: builtin/worktree.c:233 #, c-format msgid "could not create directory of '%s'" msgstr "no s'ha pogut crear directori de '%s'" -#: builtin/worktree.c:271 +#: builtin/worktree.c:269 #, c-format msgid "Preparing %s (identifier %s)" msgstr "Preparant %s (identificador %s)" -#: builtin/worktree.c:319 +#: builtin/worktree.c:317 msgid "checkout <branch> even if already checked out in other worktree" msgstr "agafa <branca> encara que sigui agafada en altre arbre de treball" -#: builtin/worktree.c:321 +#: builtin/worktree.c:319 msgid "create a new branch" msgstr "crea una branca nova" -#: builtin/worktree.c:323 +#: builtin/worktree.c:321 msgid "create or reset a branch" msgstr "crea o restableix una branca" -#: builtin/worktree.c:324 +#: builtin/worktree.c:322 msgid "detach HEAD at named commit" msgstr "separa el HEAD a la comissiΓ³ anomenada" -#: builtin/worktree.c:331 +#: builtin/worktree.c:329 msgid "-b, -B, and --detach are mutually exclusive" msgstr "-b, -B i --detach sΓ³n mutualment exclusius" @@ -11178,7 +11390,7 @@ msgstr "escriu l'objecte d'arbre per a un subdirectori <prefix>" msgid "only useful for debugging" msgstr "nomΓ©s ΓΊtil per a la depuraciΓ³" -#: credential-cache--daemon.c:255 +#: credential-cache--daemon.c:262 msgid "print debugging messages to stderr" msgstr "imprimeix els missatges de depuraciΓ³ a stderr" @@ -11193,6 +11405,10 @@ msgstr "" "'git help <concepte>' per a llegir sobre una subordre o concepte\n" "especΓfic." +#: http.c:321 +msgid "Public key pinning not supported with cURL < 7.44.0" +msgstr "No s'admet l'enganx de clau pΓΊblica amb cURL < 7.44.0" + #: common-cmds.h:9 msgid "start a working area (see also: git help tutorial)" msgstr "comenΓ§ar una Γ rea de treball (vegeu tambΓ©: git help tutorial)" @@ -11276,8 +11492,8 @@ msgstr "" "Actualitza les referΓ¨ncies remotes juntament amb els objectes associats" #: common-cmds.h:32 -msgid "Forward-port local commits to the updated upstream head" -msgstr "AvanΓ§a les comissions locals al cap font actualitzat" +msgid "Reapply commits on top of another base tip" +msgstr "Reaplica les comissions sobre un altre punt de basament" #: common-cmds.h:33 msgid "Reset current HEAD to the specified state" @@ -11506,7 +11722,7 @@ msgstr "no es pot canviar el significat del terme '$term'" #: git-bisect.sh:606 #, sh-format msgid "Invalid command: you're currently in a $TERM_BAD/$TERM_GOOD bisect." -msgstr "Ordre invΓ lida: actualment esteu en una bisecciΓ³ $TERM_BAD/$TERM_GOOD" +msgstr "Ordre no vΓ lida: actualment esteu en una bisecciΓ³ $TERM_BAD/$TERM_GOOD" #: git-bisect.sh:636 msgid "no terms defined" @@ -11518,7 +11734,7 @@ msgid "" "invalid argument $arg for 'git bisect terms'.\n" "Supported options are: --term-good|--term-old and --term-bad|--term-new." msgstr "" -"parΓ metre invΓ lid $arg per a 'git bisect terms'.\n" +"parΓ metre no vΓ lid $arg per a 'git bisect terms'.\n" "Les opcions admeses sΓ³n: --term-good|--term-old i --term-bad|--term-new." #: git-rebase.sh:57 @@ -11985,7 +12201,7 @@ msgstr "No s'ha pogut crear el directori de submΓ²dul buit '$displaypath'" msgid "Submodule '$name' ($url) unregistered for path '$displaypath'" msgstr "SubmΓ²dul '$name' ($url) no registrat per al camΓ '$displaypath'" -#: git-submodule.sh:705 +#: git-submodule.sh:723 #, sh-format msgid "" "Submodule path '$displaypath' not initialized\n" @@ -11994,53 +12210,53 @@ msgstr "" "CamΓ de submΓ²dul '$displaypath' no inicialitzat\n" "Potser voleu usar 'update --init'?" -#: git-submodule.sh:718 +#: git-submodule.sh:736 #, sh-format msgid "Unable to find current revision in submodule path '$displaypath'" msgstr "" "No s'ha pogut trobar la revisiΓ³ actual en el camΓ de submΓ²dul '$displaypath'" -#: git-submodule.sh:727 +#: git-submodule.sh:745 #, sh-format msgid "Unable to fetch in submodule path '$sm_path'" msgstr "No s'ha pogut obtenir en el camΓ de submΓ²dul '$sm_path'" -#: git-submodule.sh:751 +#: git-submodule.sh:768 #, sh-format msgid "Unable to fetch in submodule path '$displaypath'" msgstr "No s'ha pogut obtenir en el camΓ de submΓ²dul '$displaypath'" -#: git-submodule.sh:765 +#: git-submodule.sh:788 #, sh-format msgid "Unable to checkout '$sha1' in submodule path '$displaypath'" msgstr "No s'ha pogut agafar '$sha1' en el camΓ de submΓ²dul '$displaypath'" -#: git-submodule.sh:766 +#: git-submodule.sh:789 #, sh-format msgid "Submodule path '$displaypath': checked out '$sha1'" msgstr "CamΓ de submΓ²dul '$displaypath': s'ha agafat '$sha1'" -#: git-submodule.sh:770 +#: git-submodule.sh:793 #, sh-format msgid "Unable to rebase '$sha1' in submodule path '$displaypath'" msgstr "no s'ha pogut rebasar '$sha1' en el camΓ de submΓ²dul '$displaypath'" -#: git-submodule.sh:771 +#: git-submodule.sh:794 #, sh-format msgid "Submodule path '$displaypath': rebased into '$sha1'" msgstr "CamΓ de submΓ²dul '$displaypath': s'ha rebasat en '$sha1'" -#: git-submodule.sh:776 +#: git-submodule.sh:799 #, sh-format msgid "Unable to merge '$sha1' in submodule path '$displaypath'" msgstr "No s'ha pogut fusionar '$sha1' en el camΓ de submΓ²dul '$displaypath'" -#: git-submodule.sh:777 +#: git-submodule.sh:800 #, sh-format msgid "Submodule path '$displaypath': merged in '$sha1'" msgstr "CamΓ de submΓ²dul '$displaypath': s'ha fusionat en '$sha1'" -#: git-submodule.sh:782 +#: git-submodule.sh:805 #, sh-format msgid "" "Execution of '$command $sha1' failed in submodule path '$prefix$sm_path'" @@ -12048,50 +12264,50 @@ msgstr "" "L'execuciΓ³ de '$command $sha1' ha fallat en el camΓ de submΓ²dul '$prefix" "$sm_path'" -#: git-submodule.sh:783 +#: git-submodule.sh:806 #, sh-format msgid "Submodule path '$prefix$sm_path': '$command $sha1'" msgstr "CamΓ de submΓ²dul '$prefix$sm_path': '$command $sha1'" -#: git-submodule.sh:813 +#: git-submodule.sh:836 #, sh-format msgid "Failed to recurse into submodule path '$displaypath'" msgstr "S'ha fallat en recursar al camΓ de submΓ²dul '$displaypath'" -#: git-submodule.sh:921 +#: git-submodule.sh:944 msgid "The --cached option cannot be used with the --files option" msgstr "L'opciΓ³ --cached no es pot usar amb l'opciΓ³ --files" -#: git-submodule.sh:973 +#: git-submodule.sh:996 #, sh-format msgid "unexpected mode $mod_dst" msgstr "mode inesperat $mod_dst" -#: git-submodule.sh:993 +#: git-submodule.sh:1016 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_src" msgstr " AvΓs: $display_name no contΓ© la comissiΓ³ $sha1_src" -#: git-submodule.sh:996 +#: git-submodule.sh:1019 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_dst" msgstr " AvΓs: $display_name no contΓ© la comissiΓ³ $sha1_dst" -#: git-submodule.sh:999 +#: git-submodule.sh:1022 #, sh-format msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst" msgstr " AvΓs: $display_name no contΓ© les comissions $sha1_src i $sha1_dst" -#: git-submodule.sh:1024 +#: git-submodule.sh:1047 msgid "blob" msgstr "blob" -#: git-submodule.sh:1142 +#: git-submodule.sh:1165 #, sh-format msgid "Failed to recurse into submodule path '$sm_path'" msgstr "S'ha fallat en recursar al camΓ de submΓ²dul '$sm_path'" -#: git-submodule.sh:1206 +#: git-submodule.sh:1229 #, sh-format msgid "Synchronizing submodule url for '$displaypath'" msgstr "Sincronitzant l'url de submΓ²dul per a '$displaypath'" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Git\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2015-12-22 22:50+0800\n" +"POT-Creation-Date: 2016-03-16 00:16+0800\n" "PO-Revision-Date: 2015-01-21 15:01+0800\n" "Last-Translator: Ralf Thielow <ralf.thielow@gmail.com>\n" "Language-Team: German <>\n" @@ -31,7 +31,7 @@ msgstr "" "dann 'git add/rm <Datei>', um die AuflΓΆsung entsprechend zu markieren\n" "und zu committen." -#: advice.c:101 builtin/merge.c:1225 +#: advice.c:101 builtin/merge.c:1226 msgid "You have not concluded your merge (MERGE_HEAD exists)." msgstr "Sie haben Ihren Merge nicht abgeschlossen (MERGE_HEAD existiert)." @@ -75,7 +75,7 @@ msgstr "Format" msgid "archive format" msgstr "Archivformat" -#: archive.c:430 builtin/log.c:1229 +#: archive.c:430 builtin/log.c:1232 msgid "prefix" msgstr "PrΓ€fix" @@ -83,11 +83,11 @@ msgstr "PrΓ€fix" msgid "prepend prefix to each pathname in the archive" msgstr "einen PrΓ€fix vor jeden Pfadnamen in dem Archiv stellen" -#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2535 -#: builtin/blame.c:2536 builtin/config.c:58 builtin/fast-export.c:987 -#: builtin/fast-export.c:989 builtin/grep.c:707 builtin/hash-object.c:99 -#: builtin/ls-files.c:446 builtin/ls-files.c:449 builtin/notes.c:395 -#: builtin/notes.c:558 builtin/read-tree.c:109 parse-options.h:153 +#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2547 +#: builtin/blame.c:2548 builtin/config.c:60 builtin/fast-export.c:987 +#: builtin/fast-export.c:989 builtin/grep.c:720 builtin/hash-object.c:100 +#: builtin/ls-files.c:459 builtin/ls-files.c:462 builtin/notes.c:398 +#: builtin/notes.c:561 builtin/read-tree.c:109 parse-options.h:153 msgid "file" msgstr "Datei" @@ -119,7 +119,7 @@ msgstr "besser komprimieren" msgid "list supported archive formats" msgstr "unterstΓΌtzte Archivformate auflisten" -#: archive.c:451 builtin/archive.c:90 builtin/clone.c:77 +#: archive.c:451 builtin/archive.c:90 builtin/clone.c:78 msgid "repo" msgstr "Repository" @@ -127,7 +127,7 @@ msgstr "Repository" msgid "retrieve the archive from remote repository <repo>" msgstr "Archiv vom Remote-Repository <Repository> abrufen" -#: archive.c:453 builtin/archive.c:92 builtin/notes.c:479 +#: archive.c:453 builtin/archive.c:92 builtin/notes.c:482 msgid "command" msgstr "Programm" @@ -135,7 +135,7 @@ msgstr "Programm" msgid "path to the remote git-upload-archive command" msgstr "Pfad zum externen \"git-upload-archive\"-Programm" -#: attr.c:265 +#: attr.c:263 msgid "" "Negative patterns are ignored in git attributes\n" "Use '\\!' for literal leading exclamation." @@ -143,87 +143,105 @@ msgstr "" "Verneinende Muster werden in Git-Attributen ignoriert.\n" "Benutzen Sie '\\!' fΓΌr fΓΌhrende Ausrufezeichen." -#: branch.c:61 +#: branch.c:53 +#, c-format +msgid "" +"\n" +"After fixing the error cause you may try to fix up\n" +"the remote tracking information by invoking\n" +"\"git branch --set-upstream-to=%s%s%s\"." +msgstr "" +"\n" +"Nachdem Sie die Fehlerursache behoben haben, kΓΆnnen Sie\n" +"die Tracking-Informationen mit\n" +"\"git branch --set-upstream-to=%s%s%s\"\n" +"erneut setzen." + +#: branch.c:67 #, c-format msgid "Not setting branch %s as its own upstream." msgstr "Branch %s kann nicht sein eigener Upstream-Branch sein." -#: branch.c:84 +#: branch.c:93 #, c-format msgid "Branch %s set up to track remote branch %s from %s by rebasing." msgstr "" "Branch %s konfiguriert zum Folgen von Remote-Branch %s von %s durch Rebase." -#: branch.c:85 +#: branch.c:94 #, c-format msgid "Branch %s set up to track remote branch %s from %s." msgstr "Branch %s konfiguriert zum Folgen von Remote-Branch %s von %s." -#: branch.c:89 +#: branch.c:98 #, c-format msgid "Branch %s set up to track local branch %s by rebasing." msgstr "Branch %s konfiguriert zum Folgen von lokalem Branch %s durch Rebase." -#: branch.c:90 +#: branch.c:99 #, c-format msgid "Branch %s set up to track local branch %s." msgstr "Branch %s konfiguriert zum Folgen von lokalem Branch %s." -#: branch.c:95 +#: branch.c:104 #, c-format msgid "Branch %s set up to track remote ref %s by rebasing." msgstr "Branch %s konfiguriert zum Folgen von Remote-Referenz %s durch Rebase." -#: branch.c:96 +#: branch.c:105 #, c-format msgid "Branch %s set up to track remote ref %s." msgstr "Branch %s konfiguriert zum Folgen von Remote-Referenz %s." -#: branch.c:100 +#: branch.c:109 #, c-format msgid "Branch %s set up to track local ref %s by rebasing." msgstr "" "Branch %s konfiguriert zum Folgen von lokaler Referenz %s durch Rebase." -#: branch.c:101 +#: branch.c:110 #, c-format msgid "Branch %s set up to track local ref %s." msgstr "Branch %s konfiguriert zum Folgen von lokaler Referenz %s." -#: branch.c:134 +#: branch.c:119 +msgid "Unable to write upstream branch configuration" +msgstr "Konnte Konfiguration zu Upstream-Branch nicht schreiben." + +#: branch.c:156 #, c-format msgid "Not tracking: ambiguous information for ref %s" msgstr "" "Konfiguration zum Folgen von Branch nicht eingerichtet. Referenz %s ist " "mehrdeutig." -#: branch.c:163 +#: branch.c:185 #, c-format msgid "'%s' is not a valid branch name." msgstr "'%s' ist kein gΓΌltiger Branchname." -#: branch.c:168 +#: branch.c:190 #, c-format msgid "A branch named '%s' already exists." msgstr "Branch '%s' existiert bereits." -#: branch.c:176 +#: branch.c:198 msgid "Cannot force update the current branch." msgstr "Kann Aktualisierung des aktuellen Branches nicht erzwingen." -#: branch.c:196 +#: branch.c:218 #, c-format msgid "Cannot setup tracking information; starting point '%s' is not a branch." msgstr "" "Kann Tracking-Informationen nicht einrichten; Startpunkt '%s' ist kein " "Branch." -#: branch.c:198 +#: branch.c:220 #, c-format msgid "the requested upstream branch '%s' does not exist" msgstr "der angeforderte Upstream-Branch '%s' existiert nicht" -#: branch.c:200 +#: branch.c:222 msgid "" "\n" "If you are planning on basing your work on an upstream\n" @@ -244,22 +262,22 @@ msgstr "" "\"git push -u\" verwenden, um den Upstream-Branch beim \"push\"\n" "zu konfigurieren." -#: branch.c:244 +#: branch.c:266 #, c-format msgid "Not a valid object name: '%s'." msgstr "UngΓΌltiger Objekt-Name: '%s'" -#: branch.c:264 +#: branch.c:286 #, c-format msgid "Ambiguous object name: '%s'." msgstr "mehrdeutiger Objekt-Name: '%s'" -#: branch.c:269 +#: branch.c:291 #, c-format msgid "Not a valid branch point: '%s'." msgstr "UngΓΌltiger Branchpunkt: '%s'" -#: branch.c:322 +#: branch.c:344 #, c-format msgid "'%s' is already checked out at '%s'" msgstr "'%s' ist bereits in '%s' ausgecheckt" @@ -283,10 +301,10 @@ msgstr "Konnte '%s' nicht ΓΆffnen" msgid "Repository lacks these prerequisite commits:" msgstr "Dem Repository fehlen folgende vorausgesetzte Commits:" -#: bundle.c:163 ref-filter.c:1372 sequencer.c:636 sequencer.c:1083 -#: builtin/blame.c:2734 builtin/commit.c:1045 builtin/log.c:334 -#: builtin/log.c:849 builtin/log.c:1461 builtin/log.c:1694 builtin/merge.c:358 -#: builtin/shortlog.c:158 +#: bundle.c:163 ref-filter.c:1462 sequencer.c:627 sequencer.c:1074 +#: builtin/blame.c:2754 builtin/commit.c:1045 builtin/log.c:334 +#: builtin/log.c:852 builtin/log.c:1467 builtin/log.c:1700 builtin/merge.c:358 +#: builtin/shortlog.c:170 msgid "revision walk setup failed" msgstr "Einrichtung des Revisionsgangs fehlgeschlagen" @@ -325,7 +343,7 @@ msgstr "\"rev-list\" abgebrochen" msgid "ref '%s' is excluded by the rev-list options" msgstr "Referenz '%s' wird durch \"rev-list\" Optionen ausgeschlossen" -#: bundle.c:443 builtin/log.c:157 builtin/log.c:1369 builtin/shortlog.c:261 +#: bundle.c:443 builtin/log.c:157 builtin/log.c:1372 builtin/shortlog.c:273 #, c-format msgid "unrecognized argument: %s" msgstr "nicht erkanntes Argument: %s" @@ -348,8 +366,8 @@ msgstr "Erstellung der Paketindexdatei abgebrochen" msgid "invalid color value: %.*s" msgstr "UngΓΌltiger Farbwert: %.*s" -#: commit.c:40 builtin/am.c:452 builtin/am.c:488 builtin/am.c:1520 -#: builtin/am.c:2149 +#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1505 +#: builtin/am.c:2135 #, c-format msgid "could not parse %s" msgstr "konnte %s nicht parsen" @@ -363,63 +381,68 @@ msgstr "%s %s ist kein Commit!" msgid "memory exhausted" msgstr "Speicher verbraucht" -#: config.c:474 config.c:476 +#: config.c:475 config.c:477 #, c-format -msgid "bad config file line %d in %s" -msgstr "Zeile %d in Konfigurationsdatei %s ist ungΓΌltig." +msgid "bad config line %d in %s %s" +msgstr "Zeile %d in Konfiguration %s %s ist ungΓΌltig." -#: config.c:592 +#: config.c:593 #, c-format -msgid "bad numeric config value '%s' for '%s' in %s: %s" -msgstr "UngΓΌltiger numerischer Wert '%s' fΓΌr Konfiguration '%s' in %s: %s" +msgid "bad numeric config value '%s' for '%s' in %s %s: %s" +msgstr "UngΓΌltiger numerischer Wert '%s' fΓΌr Konfiguration '%s' in %s %s: %s" -#: config.c:594 +#: config.c:595 #, c-format msgid "bad numeric config value '%s' for '%s': %s" msgstr "UngΓΌltiger numerischer Wert '%s' fΓΌr Konfiguration '%s': %s" -#: config.c:679 +#: config.c:680 #, c-format msgid "failed to expand user dir in: '%s'" msgstr "Fehler beim Erweitern des Nutzerverzeichnisses in: '%s'" -#: config.c:757 config.c:768 +#: config.c:758 config.c:769 #, c-format msgid "bad zlib compression level %d" msgstr "ungΓΌltiger zlib Komprimierungsgrad %d" -#: config.c:890 +#: config.c:891 #, c-format msgid "invalid mode for object creation: %s" msgstr "UngΓΌltiger Modus fΓΌr Objekterstellung: %s" -#: config.c:1216 +#: config.c:1220 msgid "unable to parse command-line config" msgstr "" -"Konnte die ΓΌber die Kommandozeile angegebene Konfiguration nicht parsen." +"Konnte die ΓΌber die Befehlszeile angegebene Konfiguration nicht parsen." -#: config.c:1277 +#: config.c:1281 msgid "unknown error occured while reading the configuration files" msgstr "" "Es trat ein unbekannter Fehler beim Lesen der Konfigurationsdateien auf." -#: config.c:1601 +#: config.c:1629 #, c-format msgid "unable to parse '%s' from command-line config" msgstr "" -"Konnte Wert '%s' aus der ΓΌber die Kommandozeile angegebenen\n" -"Konfiguration nicht parsen." +"Konnte Wert '%s' aus der ΓΌber die Befehlszeile angegebenen Konfiguration\n" +"nicht parsen." -#: config.c:1603 +#: config.c:1631 #, c-format msgid "bad config variable '%s' in file '%s' at line %d" msgstr "ungΓΌltige Konfigurationsvariable '%s' in Datei '%s' bei Zeile %d" -#: config.c:1662 +#: config.c:1690 #, c-format msgid "%s has multiple values" msgstr "%s hat mehrere Werte" +#: config.c:2226 +#, c-format +msgid "Could not set '%s' to '%s'" +msgstr "Konnte '%s' nicht zu '%s' setzen." + #: connected.c:69 msgid "Could not run 'git rev-list'" msgstr "Konnte 'git rev-list' nicht ausfΓΌhren" @@ -536,16 +559,16 @@ msgstr "" "Fehler in 'diff.dirstat' Konfigurationsvariable gefunden:\n" "%s" -#: diff.c:3000 +#: diff.c:2997 #, c-format msgid "external diff died, stopping at %s" msgstr "externes Diff-Programm unerwartet beendet, angehalten bei %s" -#: diff.c:3396 +#: diff.c:3393 msgid "--follow requires exactly one pathspec" msgstr "--follow erfordert genau eine Pfadspezifikation" -#: diff.c:3559 +#: diff.c:3556 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" @@ -554,18 +577,20 @@ msgstr "" "Fehler beim Parsen des --dirstat/-X Optionsparameters:\n" "%s" -#: diff.c:3573 +#: diff.c:3570 #, c-format msgid "Failed to parse --submodule option parameter: '%s'" msgstr "Fehler beim Parsen des --submodule Optionsparameters: '%s'" -#: dir.c:1915 +#: dir.c:2004 msgid "failed to get kernel name and information" msgstr "Fehler beim Sammeln von Namen und Informationen zum Kernel" -#: dir.c:1998 -msgid "Untracked cache is disabled on this system." -msgstr "Cache fΓΌr unversionierte Dateien ist auf diesem System deaktiviert." +#: dir.c:2123 +msgid "Untracked cache is disabled on this system or location." +msgstr "" +"Cache fΓΌr unversionierte Dateien ist auf diesem System oder\n" +"fΓΌr dieses Verzeichnis deaktiviert." #: gpg-interface.c:166 gpg-interface.c:237 msgid "could not run gpg." @@ -604,52 +629,52 @@ msgstr "'%s': %s" msgid "'%s': short read %s" msgstr "'%s': read() zu kurz %s" -#: help.c:207 +#: help.c:205 #, c-format msgid "available git commands in '%s'" -msgstr "Vorhandene Git-Kommandos in '%s'" +msgstr "Vorhandene Git-Befehle in '%s'" -#: help.c:214 +#: help.c:212 msgid "git commands available from elsewhere on your $PATH" -msgstr "Vorhandene Git-Kommandos anderswo in Ihrem $PATH" +msgstr "Vorhandene Git-Befehle anderswo in Ihrem $PATH" -#: help.c:246 +#: help.c:244 msgid "These are common Git commands used in various situations:" -msgstr "Allgemeine Git-Kommandos, verwendet in verschiedenen Situationen:" +msgstr "Allgemeine Git-Befehle, verwendet in verschiedenen Situationen:" -#: help.c:311 +#: help.c:309 #, c-format msgid "" "'%s' appears to be a git command, but we were not\n" "able to execute it. Maybe git-%s is broken?" msgstr "" -"'%s' scheint ein git-Kommando zu sein, konnte aber\n" +"'%s' scheint ein git-Befehl zu sein, konnte aber\n" "nicht ausgefΓΌhrt werden. Vielleicht ist git-%s fehlerhaft?" -#: help.c:368 +#: help.c:366 msgid "Uh oh. Your system reports no Git commands at all." -msgstr "Uh oh. Keine Git-Kommandos auf Ihrem System vorhanden." +msgstr "Uh oh. Keine Git-Befehle auf Ihrem System vorhanden." -#: help.c:390 +#: help.c:388 #, c-format msgid "" "WARNING: You called a Git command named '%s', which does not exist.\n" "Continuing under the assumption that you meant '%s'" msgstr "" -"Warnung: Sie haben das nicht existierende Git-Kommando '%s' ausgefΓΌhrt.\n" +"Warnung: Sie haben den nicht existierenden Git-Befehl '%s' ausgefΓΌhrt.\n" "Setze fort unter der Annahme, dass Sie '%s' gemeint haben." -#: help.c:395 +#: help.c:393 #, c-format msgid "in %0.1f seconds automatically..." msgstr "Automatische AusfΓΌhrung in %0.1f Sekunden ..." -#: help.c:402 +#: help.c:400 #, c-format msgid "git: '%s' is not a git command. See 'git --help'." -msgstr "git: '%s' ist kein Git-Kommando. Siehe 'git --help'." +msgstr "git: '%s' ist kein Git-Befehl. Siehe 'git --help'." -#: help.c:406 help.c:466 +#: help.c:404 help.c:464 msgid "" "\n" "Did you mean this?" @@ -663,7 +688,7 @@ msgstr[1] "" "\n" "Haben Sie eines von diesen gemeint?" -#: help.c:462 +#: help.c:460 #, c-format msgid "%s: %s - %s" msgstr "%s: %s - %s" @@ -672,8 +697,8 @@ msgstr "%s: %s - %s" msgid "failed to read the cache" msgstr "Lesen des Zwischenspeichers fehlgeschlagen" -#: merge.c:94 builtin/am.c:2022 builtin/am.c:2057 builtin/checkout.c:376 -#: builtin/checkout.c:587 builtin/clone.c:722 +#: merge.c:94 builtin/am.c:2008 builtin/am.c:2043 builtin/checkout.c:376 +#: builtin/checkout.c:587 builtin/clone.c:730 msgid "unable to write new index file" msgstr "Konnte neue Index-Datei nicht schreiben." @@ -691,64 +716,64 @@ msgstr "addinfo_cache fΓΌr Pfad '%s' fehlgeschlagen" msgid "error building trees" msgstr "Fehler beim Erstellen der \"Tree\"-Objekte" -#: merge-recursive.c:686 +#: merge-recursive.c:689 #, c-format msgid "failed to create path '%s'%s" msgstr "Fehler beim Erstellen des Pfades '%s'%s" -#: merge-recursive.c:697 +#: merge-recursive.c:700 #, c-format msgid "Removing %s to make room for subdirectory\n" msgstr "Entferne %s, um Platz fΓΌr Unterverzeichnis zu schaffen\n" -#: merge-recursive.c:711 merge-recursive.c:732 +#: merge-recursive.c:714 merge-recursive.c:735 msgid ": perhaps a D/F conflict?" msgstr ": vielleicht ein Verzeichnis/Datei-Konflikt?" -#: merge-recursive.c:722 +#: merge-recursive.c:725 #, c-format msgid "refusing to lose untracked file at '%s'" msgstr "verweigere, da unversionierte Dateien in '%s' verloren gehen wΓΌrden" -#: merge-recursive.c:762 +#: merge-recursive.c:765 #, c-format msgid "cannot read object %s '%s'" msgstr "kann Objekt %s '%s' nicht lesen" -#: merge-recursive.c:764 +#: merge-recursive.c:767 #, c-format msgid "blob expected for %s '%s'" msgstr "Blob erwartet fΓΌr %s '%s'" -#: merge-recursive.c:787 builtin/clone.c:369 +#: merge-recursive.c:790 builtin/clone.c:374 #, c-format msgid "failed to open '%s'" msgstr "Fehler beim Γffnen von '%s'" -#: merge-recursive.c:795 +#: merge-recursive.c:798 #, c-format msgid "failed to symlink '%s'" msgstr "Fehler beim Erstellen einer symbolischen VerknΓΌpfung fΓΌr '%s'" -#: merge-recursive.c:798 +#: merge-recursive.c:801 #, c-format msgid "do not know what to do with %06o %s '%s'" msgstr "weiΓ nicht was mit %06o %s '%s' zu machen ist" -#: merge-recursive.c:936 +#: merge-recursive.c:939 msgid "Failed to execute internal merge" msgstr "Fehler bei AusfΓΌhrung des internen Merges" -#: merge-recursive.c:940 +#: merge-recursive.c:943 #, c-format msgid "Unable to add %s to database" msgstr "Konnte %s nicht zur Datenbank hinzufΓΌgen" -#: merge-recursive.c:956 +#: merge-recursive.c:959 msgid "unsupported object type in the tree" msgstr "nicht unterstΓΌtzter Objekttyp im Verzeichnis" -#: merge-recursive.c:1031 merge-recursive.c:1045 +#: merge-recursive.c:1034 merge-recursive.c:1048 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -757,7 +782,7 @@ msgstr "" "KONFLIKT (%s/lΓΆschen): %s gelΓΆscht in %s und %s in %s. Stand %s von %s wurde " "im Arbeitsbereich gelassen." -#: merge-recursive.c:1037 merge-recursive.c:1050 +#: merge-recursive.c:1040 merge-recursive.c:1053 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -766,20 +791,20 @@ msgstr "" "KONFLIKT (%s/lΓΆschen): %s gelΓΆscht in %s und %s in %s. Stand %s von %s wurde " "im Arbeitsbereich bei %s gelassen." -#: merge-recursive.c:1091 +#: merge-recursive.c:1094 msgid "rename" msgstr "umbenennen" -#: merge-recursive.c:1091 +#: merge-recursive.c:1094 msgid "renamed" msgstr "umbenannt" -#: merge-recursive.c:1147 +#: merge-recursive.c:1150 #, c-format msgid "%s is a directory in %s adding as %s instead" msgstr "%s ist ein Verzeichnis in %s, fΓΌge es stattdessen als %s hinzu" -#: merge-recursive.c:1169 +#: merge-recursive.c:1172 #, c-format msgid "" "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s" @@ -788,148 +813,148 @@ msgstr "" "KONFLIKT (umbenennen/umbenennen): Benenne um \"%s\"->\"%s\" in Branch \"%s\" " "und \"%s\"->\"%s\" in Branch \"%s\"%s" -#: merge-recursive.c:1174 +#: merge-recursive.c:1177 msgid " (left unresolved)" msgstr " (bleibt unaufgelΓΆst)" -#: merge-recursive.c:1228 +#: merge-recursive.c:1231 #, c-format msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s" msgstr "" "KONFLIKT (umbenennen/umbenennen): Benenne um %s->%s in %s. Benenne um %s->%s " "in %s" -#: merge-recursive.c:1258 +#: merge-recursive.c:1261 #, c-format msgid "Renaming %s to %s and %s to %s instead" msgstr "Benenne stattdessen %s nach %s und %s nach %s um" -#: merge-recursive.c:1457 +#: merge-recursive.c:1460 #, c-format msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s" msgstr "" "KONFLIKT (umbenennen/hinzufΓΌgen): Benenne um %s->%s in %s. %s hinzugefΓΌgt in " "%s" -#: merge-recursive.c:1467 +#: merge-recursive.c:1470 #, c-format msgid "Adding merged %s" msgstr "FΓΌge zusammengefΓΌhrte Datei %s hinzu" -#: merge-recursive.c:1472 merge-recursive.c:1674 +#: merge-recursive.c:1475 merge-recursive.c:1677 #, c-format msgid "Adding as %s instead" msgstr "FΓΌge stattdessen als %s hinzu" -#: merge-recursive.c:1523 +#: merge-recursive.c:1526 #, c-format msgid "cannot read object %s" msgstr "kann Objekt %s nicht lesen" -#: merge-recursive.c:1526 +#: merge-recursive.c:1529 #, c-format msgid "object %s is not a blob" msgstr "Objekt %s ist kein Blob" -#: merge-recursive.c:1578 +#: merge-recursive.c:1581 msgid "modify" msgstr "Γ€ndern" -#: merge-recursive.c:1578 +#: merge-recursive.c:1581 msgid "modified" msgstr "geΓ€ndert" -#: merge-recursive.c:1588 +#: merge-recursive.c:1591 msgid "content" msgstr "Inhalt" -#: merge-recursive.c:1595 +#: merge-recursive.c:1598 msgid "add/add" msgstr "hinzufΓΌgen/hinzufΓΌgen" -#: merge-recursive.c:1629 +#: merge-recursive.c:1632 #, c-format msgid "Skipped %s (merged same as existing)" msgstr "%s ausgelassen (Ergebnis des Merges existiert bereits)" -#: merge-recursive.c:1643 +#: merge-recursive.c:1646 #, c-format msgid "Auto-merging %s" msgstr "automatischer Merge von %s" -#: merge-recursive.c:1647 git-submodule.sh:1025 +#: merge-recursive.c:1650 git-submodule.sh:1048 msgid "submodule" msgstr "Submodul" -#: merge-recursive.c:1648 +#: merge-recursive.c:1651 #, c-format msgid "CONFLICT (%s): Merge conflict in %s" msgstr "KONFLIKT (%s): Merge-Konflikt in %s" -#: merge-recursive.c:1734 +#: merge-recursive.c:1737 #, c-format msgid "Removing %s" msgstr "Entferne %s" -#: merge-recursive.c:1759 +#: merge-recursive.c:1762 msgid "file/directory" msgstr "Datei/Verzeichnis" -#: merge-recursive.c:1765 +#: merge-recursive.c:1768 msgid "directory/file" msgstr "Verzeichnis/Datei" -#: merge-recursive.c:1770 +#: merge-recursive.c:1773 #, c-format msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s" msgstr "" "KONFLIKT (%s): Es existiert bereits ein Verzeichnis %s in %s. FΓΌge %s als %s " "hinzu." -#: merge-recursive.c:1780 +#: merge-recursive.c:1783 #, c-format msgid "Adding %s" msgstr "FΓΌge %s hinzu" -#: merge-recursive.c:1797 +#: merge-recursive.c:1800 msgid "Fatal merge failure, shouldn't happen." msgstr "Fataler Merge-Fehler. Sollte nicht passieren." -#: merge-recursive.c:1816 +#: merge-recursive.c:1819 msgid "Already up-to-date!" msgstr "Bereits aktuell!" -#: merge-recursive.c:1825 +#: merge-recursive.c:1828 #, c-format msgid "merging of trees %s and %s failed" msgstr "ZusammenfΓΌhren der \"Tree\"-Objekte %s und %s fehlgeschlagen" -#: merge-recursive.c:1855 +#: merge-recursive.c:1858 #, c-format msgid "Unprocessed path??? %s" msgstr "unverarbeiteter Pfad??? %s" -#: merge-recursive.c:1903 +#: merge-recursive.c:1906 msgid "Merging:" msgstr "Merge:" -#: merge-recursive.c:1916 +#: merge-recursive.c:1919 #, c-format msgid "found %u common ancestor:" msgid_plural "found %u common ancestors:" msgstr[0] "%u gemeinsamen VorgΓ€nger-Commit gefunden" msgstr[1] "%u gemeinsame VorgΓ€nger-Commits gefunden" -#: merge-recursive.c:1953 +#: merge-recursive.c:1956 msgid "merge returned no commit" msgstr "Merge hat keinen Commit zurΓΌckgegeben" -#: merge-recursive.c:2010 +#: merge-recursive.c:2013 #, c-format msgid "Could not parse object '%s'" msgstr "Konnte Objekt '%s' nicht parsen." -#: merge-recursive.c:2021 builtin/merge.c:645 +#: merge-recursive.c:2024 builtin/merge.c:646 msgid "Unable to write index." msgstr "Konnte Index nicht schreiben." @@ -1048,14 +1073,14 @@ msgstr "Pfadspezifikation '%s' befindet sich in Submodul '%.*s'" #, c-format msgid "%s: pathspec magic not supported by this command: %s" msgstr "" -"%s: Pfadspezifikationsangabe wird von diesem Kommando nicht unterstΓΌtzt: %s" +"%s: Pfadspezifikationsangabe wird von diesem Befehl nicht unterstΓΌtzt: %s" -#: pathspec.c:432 +#: pathspec.c:433 #, c-format msgid "pathspec '%s' is beyond a symbolic link" msgstr "Pfadspezifikation '%s' ist hinter einer symbolischen VerknΓΌpfung" -#: pathspec.c:441 +#: pathspec.c:442 msgid "" "There is nothing to exclude from by :(exclude) patterns.\n" "Perhaps you forgot to add either ':/' or '.' ?" @@ -1089,166 +1114,251 @@ msgstr "" "GIT_INDEX_VERSION gesetzt, aber Wert ungΓΌltig.\n" "Verwende Version %i" -#: refs.c:543 builtin/merge.c:760 builtin/merge.c:871 builtin/merge.c:973 -#: builtin/merge.c:983 +#: refs.c:543 builtin/merge.c:761 builtin/merge.c:872 builtin/merge.c:974 +#: builtin/merge.c:984 #, c-format msgid "Could not open '%s' for writing" msgstr "Konnte '%s' nicht zum Schreiben ΓΆffnen." -#: refs/files-backend.c:2359 +#: refs/files-backend.c:2374 #, c-format msgid "could not delete reference %s: %s" msgstr "Konnte Referenz %s nicht entfernen: %s" -#: refs/files-backend.c:2362 +#: refs/files-backend.c:2377 #, c-format msgid "could not delete references: %s" msgstr "Konnte Referenzen nicht entfernen: %s" -#: refs/files-backend.c:2371 +#: refs/files-backend.c:2386 #, c-format msgid "could not remove reference %s" msgstr "Konnte Referenz %s nicht lΓΆschen" -#: ref-filter.c:245 +#: ref-filter.c:55 #, c-format -msgid "format: %%(end) atom used without corresponding atom" -msgstr "Format: %%(end) Atom ohne zugehΓΆriges Atom verwendet" +msgid "expected format: %%(color:<color>)" +msgstr "Erwartetes Format: %%(color:<Farbe>)" + +#: ref-filter.c:57 +#, c-format +msgid "unrecognized color: %%(color:%s)" +msgstr "nicht erkannte Farbe: %%(color:%s)" + +#: ref-filter.c:71 +#, c-format +msgid "unrecognized format: %%(%s)" +msgstr "nicht erkanntes Format: %%(%s)" + +#: ref-filter.c:77 +#, c-format +msgid "%%(body) does not take arguments" +msgstr "%%(body) akzeptiert keine Argumente" + +#: ref-filter.c:84 +#, c-format +msgid "%%(subject) does not take arguments" +msgstr "%%(subject) akzeptiert keine Argumente" -#: ref-filter.c:704 +#: ref-filter.c:101 #, c-format msgid "positive value expected contents:lines=%s" msgstr "Positiver Wert erwartet contents:lines=%s" -#: ref-filter.c:833 +#: ref-filter.c:103 #, c-format -msgid "expected format: %%(color:<color>)" -msgstr "Erwartetes Format: %%(color:<Farbe>)" +msgid "unrecognized %%(contents) argument: %s" +msgstr "nicht erkanntes %%(contents) Argument: %s" -#: ref-filter.c:835 -msgid "unable to parse format" -msgstr "Konnte Format nicht parsen." +#: ref-filter.c:113 +#, c-format +msgid "unrecognized %%(objectname) argument: %s" +msgstr "nicht erkanntes %%(objectname) Argument: %s" -#: ref-filter.c:870 +#: ref-filter.c:135 #, c-format msgid "expected format: %%(align:<width>,<position>)" msgstr "Erwartetes Format: %%(align:<Breite>,<Position>)" -#: ref-filter.c:893 +#: ref-filter.c:147 #, c-format -msgid "improper format entered align:%s" -msgstr "Sie haben ein ungΓΌltiges Format eingegeben align:%s" +msgid "unrecognized position:%s" +msgstr "nicht erkannte Position:%s" -#: ref-filter.c:898 +#: ref-filter.c:151 +#, c-format +msgid "unrecognized width:%s" +msgstr "nicht erkannte Breite:%s" + +#: ref-filter.c:157 +#, c-format +msgid "unrecognized %%(align) argument: %s" +msgstr "nicht erkanntes %%(align) Argument: %s" + +#: ref-filter.c:161 #, c-format msgid "positive width expected with the %%(align) atom" msgstr "Positive Breitenangabe fΓΌr %%(align) erwartet" -#: ref-filter.c:1219 +#: ref-filter.c:244 +#, c-format +msgid "malformed field name: %.*s" +msgstr "Fehlerhafter Feldname: %.*s" + +#: ref-filter.c:270 +#, c-format +msgid "unknown field name: %.*s" +msgstr "Unbekannter Feldname: %.*s" + +#: ref-filter.c:372 +#, c-format +msgid "format: %%(end) atom used without corresponding atom" +msgstr "Format: %%(end) Atom ohne zugehΓΆriges Atom verwendet" + +#: ref-filter.c:424 +#, c-format +msgid "malformed format string %s" +msgstr "Fehlerhafter Formatierungsstring %s" + +#: ref-filter.c:878 +msgid ":strip= requires a positive integer argument" +msgstr ":strip= erfordert eine positive Ganzzahl als Argument" + +#: ref-filter.c:883 +#, c-format +msgid "ref '%s' does not have %ld components to :strip" +msgstr "Referenz '%s' hat keine %ld Komponenten fΓΌr :strip" + +#: ref-filter.c:1046 +#, c-format +msgid "unknown %.*s format %s" +msgstr "Unbekanntes %.*s Format %s" + +#: ref-filter.c:1066 ref-filter.c:1097 +#, c-format +msgid "missing object %s for %s" +msgstr "Objekt %s fehlt fΓΌr %s" + +#: ref-filter.c:1069 ref-filter.c:1100 +#, c-format +msgid "parse_object_buffer failed on %s for %s" +msgstr "parse_object_buffer bei %s fΓΌr %s fehlgeschlagen" + +#: ref-filter.c:1311 #, c-format msgid "malformed object at '%s'" msgstr "fehlerhaftes Objekt bei '%s'" -#: ref-filter.c:1561 +#: ref-filter.c:1373 +#, c-format +msgid "ignoring ref with broken name %s" +msgstr "Ignoriere Referenz mit fehlerhaftem Namen %s" + +#: ref-filter.c:1378 +#, c-format +msgid "ignoring broken ref %s" +msgstr "Ignoriere fehlerhafte Referenz %s" + +#: ref-filter.c:1651 #, c-format msgid "format: %%(end) atom missing" msgstr "Format: %%(end) Atom fehlt" -#: ref-filter.c:1615 +#: ref-filter.c:1705 #, c-format msgid "malformed object name %s" msgstr "Missgebildeter Objektname %s" -#: remote.c:756 +#: remote.c:745 #, c-format msgid "Cannot fetch both %s and %s to %s" msgstr "Kann 'fetch' nicht fΓΌr sowohl %s als auch %s nach %s ausfΓΌhren." -#: remote.c:760 +#: remote.c:749 #, c-format msgid "%s usually tracks %s, not %s" msgstr "%s folgt ΓΌblicherweise %s, nicht %s" -#: remote.c:764 +#: remote.c:753 #, c-format msgid "%s tracks both %s and %s" msgstr "%s folgt sowohl %s als auch %s" -#: remote.c:772 +#: remote.c:761 msgid "Internal error" msgstr "Interner Fehler" -#: remote.c:1687 remote.c:1730 +#: remote.c:1677 remote.c:1720 msgid "HEAD does not point to a branch" msgstr "HEAD zeigt auf keinen Branch" -#: remote.c:1696 +#: remote.c:1686 #, c-format msgid "no such branch: '%s'" msgstr "Kein solcher Branch: '%s'" -#: remote.c:1699 +#: remote.c:1689 #, c-format msgid "no upstream configured for branch '%s'" msgstr "Kein Upstream-Branch fΓΌr Branch '%s' konfiguriert." -#: remote.c:1705 +#: remote.c:1695 #, c-format msgid "upstream branch '%s' not stored as a remote-tracking branch" msgstr "Upstream-Branch '%s' nicht als Remote-Tracking-Branch gespeichert" -#: remote.c:1720 +#: remote.c:1710 #, c-format msgid "push destination '%s' on remote '%s' has no local tracking branch" msgstr "" "Ziel fΓΌr \"push\" '%s' auf Remote-Repository '%s' hat keinen lokal gefolgten " "Branch" -#: remote.c:1735 +#: remote.c:1725 #, c-format msgid "branch '%s' has no remote for pushing" msgstr "Branch '%s' hat keinen Upstream-Branch gesetzt" -#: remote.c:1746 +#: remote.c:1736 #, c-format msgid "push refspecs for '%s' do not include '%s'" msgstr "Push-Refspecs fΓΌr '%s' beinhalten nicht '%s'" -#: remote.c:1759 +#: remote.c:1749 msgid "push has no destination (push.default is 'nothing')" msgstr "kein Ziel fΓΌr \"push\" (push.default ist 'nothing')" -#: remote.c:1781 +#: remote.c:1771 msgid "cannot resolve 'simple' push to a single destination" msgstr "kann einzelnes Ziel fΓΌr \"push\" im Modus 'simple' nicht auflΓΆsen" -#: remote.c:2083 +#: remote.c:2073 #, c-format msgid "Your branch is based on '%s', but the upstream is gone.\n" msgstr "" "Ihr Branch basiert auf '%s', aber der Upstream-Branch wurde entfernt.\n" -#: remote.c:2087 +#: remote.c:2077 msgid " (use \"git branch --unset-upstream\" to fixup)\n" msgstr " (benutzen Sie \"git branch --unset-upstream\" zum Beheben)\n" -#: remote.c:2090 +#: remote.c:2080 #, c-format msgid "Your branch is up-to-date with '%s'.\n" msgstr "Ihr Branch ist auf dem selben Stand wie '%s'.\n" -#: remote.c:2094 +#: remote.c:2084 #, c-format msgid "Your branch is ahead of '%s' by %d commit.\n" msgid_plural "Your branch is ahead of '%s' by %d commits.\n" msgstr[0] "Ihr Branch ist vor '%s' um %d Commit.\n" msgstr[1] "Ihr Branch ist vor '%s' um %d Commits.\n" -#: remote.c:2100 +#: remote.c:2090 msgid " (use \"git push\" to publish your local commits)\n" msgstr " (benutzen Sie \"git push\", um lokale Commits zu publizieren)\n" -#: remote.c:2103 +#: remote.c:2093 #, c-format msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n" msgid_plural "" @@ -1258,12 +1368,12 @@ msgstr[0] "" msgstr[1] "" "Ihr Branch ist zu '%s' um %d Commits hinterher, und kann vorgespult werden.\n" -#: remote.c:2111 +#: remote.c:2101 msgid " (use \"git pull\" to update your local branch)\n" msgstr "" " (benutzen Sie \"git pull\", um Ihren lokalen Branch zu aktualisieren)\n" -#: remote.c:2114 +#: remote.c:2104 #, c-format msgid "" "Your branch and '%s' have diverged,\n" @@ -1278,30 +1388,30 @@ msgstr[1] "" "Ihr Branch und '%s' sind divergiert,\n" "und haben jeweils %d und %d unterschiedliche Commits.\n" -#: remote.c:2124 +#: remote.c:2114 msgid " (use \"git pull\" to merge the remote branch into yours)\n" msgstr "" " (benutzen Sie \"git pull\", um Ihren Branch mit dem Remote-Branch " "zusammenzufΓΌhren)\n" -#: revision.c:2193 +#: revision.c:2131 msgid "your current branch appears to be broken" msgstr "Ihr aktueller Branch scheint fehlerhaft zu sein." -#: revision.c:2196 +#: revision.c:2134 #, c-format msgid "your current branch '%s' does not have any commits yet" msgstr "Ihr aktueller Branch '%s' hat noch keine Commits." -#: revision.c:2390 +#: revision.c:2328 msgid "--first-parent is incompatible with --bisect" msgstr "Die Optionen --first-parent und --bisect sind inkompatibel." -#: run-command.c:90 +#: run-command.c:92 msgid "open /dev/null failed" msgstr "Γffnen von /dev/null fehlgeschlagen" -#: run-command.c:92 +#: run-command.c:94 #, c-format msgid "dup2(%d,%d) failed" msgstr "dup2(%d,%d) fehlgeschlagen" @@ -1327,7 +1437,7 @@ msgstr "" msgid "the receiving end does not support --atomic push" msgstr "die Gegenseite unterstΓΌtzt keinen atomaren Versand (\"--atomic push\")" -#: sequencer.c:183 +#: sequencer.c:174 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'" @@ -1335,7 +1445,7 @@ msgstr "" "nach AuflΓΆsung der Konflikte, markieren Sie die korrigierten Pfade\n" "mit 'git add <Pfade>' oder 'git rm <Pfade>'" -#: sequencer.c:186 +#: sequencer.c:177 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'\n" @@ -1345,231 +1455,245 @@ msgstr "" "mit 'git add <Pfade>' oder 'git rm <Pfade>'und tragen Sie das Ergebnis mit\n" "'git commit' ein" -#: sequencer.c:199 sequencer.c:842 sequencer.c:922 +#: sequencer.c:190 sequencer.c:833 sequencer.c:913 #, c-format msgid "Could not write to %s" msgstr "Konnte nicht nach %s schreiben" -#: sequencer.c:202 +#: sequencer.c:193 #, c-format msgid "Error wrapping up %s" msgstr "Fehler bei Nachbereitung von %s" -#: sequencer.c:217 +#: sequencer.c:208 msgid "Your local changes would be overwritten by cherry-pick." msgstr "" "Ihre lokalen Γnderungen wΓΌrden von \"cherry-pick\" ΓΌberschrieben werden." -#: sequencer.c:219 +#: sequencer.c:210 msgid "Your local changes would be overwritten by revert." msgstr "Ihre lokalen Γnderungen wΓΌrden von \"revert\" ΓΌberschrieben werden." -#: sequencer.c:222 +#: sequencer.c:213 msgid "Commit your changes or stash them to proceed." msgstr "" "Committen Sie Ihre Γnderungen oder benutzen Sie \"stash\", um fortzufahren." #. TRANSLATORS: %s will be "revert" or "cherry-pick" -#: sequencer.c:309 +#: sequencer.c:300 #, c-format msgid "%s: Unable to write new index file" msgstr "%s: Konnte neue Index-Datei nicht schreiben" -#: sequencer.c:327 +#: sequencer.c:318 msgid "Could not resolve HEAD commit\n" msgstr "Konnte Commit von HEAD nicht auflΓΆsen\n" -#: sequencer.c:347 +#: sequencer.c:338 msgid "Unable to update cache tree\n" msgstr "Konnte Cache-Verzeichnis nicht aktualisieren\n" -#: sequencer.c:399 +#: sequencer.c:390 #, c-format msgid "Could not parse commit %s\n" msgstr "Konnte Commit %s nicht parsen\n" -#: sequencer.c:404 +#: sequencer.c:395 #, c-format msgid "Could not parse parent commit %s\n" msgstr "Konnte Eltern-Commit %s nicht parsen\n" -#: sequencer.c:469 +#: sequencer.c:460 msgid "Your index file is unmerged." msgstr "Ihre Index-Datei ist nicht zusammengefΓΌhrt." -#: sequencer.c:488 +#: sequencer.c:479 #, c-format msgid "Commit %s is a merge but no -m option was given." msgstr "Commit %s ist ein Merge, aber die Option -m wurde nicht angegeben." -#: sequencer.c:496 +#: sequencer.c:487 #, c-format msgid "Commit %s does not have parent %d" msgstr "Commit %s hat keinen Elternteil %d" -#: sequencer.c:500 +#: sequencer.c:491 #, c-format msgid "Mainline was specified but commit %s is not a merge." msgstr "Hauptlinie wurde spezifiziert, aber Commit %s ist kein Merge." #. TRANSLATORS: The first %s will be "revert" or #. "cherry-pick", the second %s a SHA1 -#: sequencer.c:513 +#: sequencer.c:504 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "%s: kann Eltern-Commit %s nicht parsen" -#: sequencer.c:517 +#: sequencer.c:508 #, c-format msgid "Cannot get commit message for %s" msgstr "Kann keine Commit-Beschreibung fΓΌr %s bekommen" -#: sequencer.c:603 +#: sequencer.c:594 #, c-format msgid "could not revert %s... %s" msgstr "Konnte \"revert\" nicht auf %s... (%s) ausfΓΌhren" -#: sequencer.c:604 +#: sequencer.c:595 #, c-format msgid "could not apply %s... %s" msgstr "Konnte %s... (%s) nicht anwenden" -#: sequencer.c:639 +#: sequencer.c:630 msgid "empty commit set passed" msgstr "leere Menge von Commits ΓΌbergeben" -#: sequencer.c:647 +#: sequencer.c:638 #, c-format msgid "git %s: failed to read the index" msgstr "git %s: Fehler beim Lesen des Index" -#: sequencer.c:651 +#: sequencer.c:642 #, c-format msgid "git %s: failed to refresh the index" msgstr "git %s: Fehler beim Aktualisieren des Index" -#: sequencer.c:711 +#: sequencer.c:702 #, c-format msgid "Cannot %s during a %s" msgstr "Kann %s nicht wΓ€hrend eines %s durchfΓΌhren" -#: sequencer.c:733 +#: sequencer.c:724 #, c-format msgid "Could not parse line %d." msgstr "Konnte Zeile %d nicht parsen." -#: sequencer.c:738 +#: sequencer.c:729 msgid "No commits parsed." msgstr "Keine Commits geparst." -#: sequencer.c:750 +#: sequencer.c:741 #, c-format msgid "Could not open %s" msgstr "Konnte %s nicht ΓΆffnen" -#: sequencer.c:754 +#: sequencer.c:745 #, c-format msgid "Could not read %s." msgstr "Konnte %s nicht lesen." -#: sequencer.c:761 +#: sequencer.c:752 #, c-format msgid "Unusable instruction sheet: %s" msgstr "Unbenutzbares Instruktionsblatt: %s" -#: sequencer.c:791 +#: sequencer.c:782 #, c-format msgid "Invalid key: %s" msgstr "UngΓΌltiger SchlΓΌssel: %s" -#: sequencer.c:794 builtin/pull.c:47 builtin/pull.c:49 +#: sequencer.c:785 builtin/pull.c:50 builtin/pull.c:52 #, c-format msgid "Invalid value for %s: %s" msgstr "UngΓΌltiger Wert fΓΌr %s: %s" -#: sequencer.c:804 +#: sequencer.c:795 #, c-format msgid "Malformed options sheet: %s" msgstr "Fehlerhaftes Optionsblatt: %s" -#: sequencer.c:823 +#: sequencer.c:814 msgid "a cherry-pick or revert is already in progress" msgstr "\"cherry-pick\" oder \"revert\" ist bereits im Gang" -#: sequencer.c:824 +#: sequencer.c:815 msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" msgstr "versuchen Sie \"git cherry-pick (--continue | --quit | --abort)\"" -#: sequencer.c:828 +#: sequencer.c:819 #, c-format msgid "Could not create sequencer directory %s" msgstr "Konnte \"sequencer\"-Verzeichnis %s nicht erstellen" -#: sequencer.c:844 sequencer.c:926 +#: sequencer.c:835 sequencer.c:917 #, c-format msgid "Error wrapping up %s." msgstr "Fehler beim Einpacken von %s." -#: sequencer.c:863 sequencer.c:996 +#: sequencer.c:854 sequencer.c:987 msgid "no cherry-pick or revert in progress" msgstr "kein \"cherry-pick\" oder \"revert\" im Gang" -#: sequencer.c:865 +#: sequencer.c:856 msgid "cannot resolve HEAD" msgstr "kann HEAD nicht auflΓΆsen" -#: sequencer.c:867 +#: sequencer.c:858 msgid "cannot abort from a branch yet to be born" msgstr "kann nicht abbrechen: bin auf einem Branch, der noch geboren wird" -#: sequencer.c:887 builtin/apply.c:4287 +#: sequencer.c:878 builtin/apply.c:4287 #, c-format msgid "cannot open %s: %s" msgstr "Kann %s nicht ΓΆffnen: %s" -#: sequencer.c:890 +#: sequencer.c:881 #, c-format msgid "cannot read %s: %s" msgstr "Kann %s nicht lesen: %s" -#: sequencer.c:891 +#: sequencer.c:882 msgid "unexpected end of file" msgstr "Unerwartetes Dateiende" -#: sequencer.c:897 +#: sequencer.c:888 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "gespeicherte \"pre-cherry-pick\" HEAD Datei '%s' ist beschΓ€digt" -#: sequencer.c:919 +#: sequencer.c:910 #, c-format msgid "Could not format %s." msgstr "Konnte %s nicht formatieren." -#: sequencer.c:1064 +#: sequencer.c:1055 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "%s: %s kann nicht in \"cherry-pick\" benutzt werden" -#: sequencer.c:1067 +#: sequencer.c:1058 #, c-format msgid "%s: bad revision" msgstr "%s: ungΓΌltiger Commit" -#: sequencer.c:1101 +#: sequencer.c:1092 msgid "Can't revert as initial commit" msgstr "Kann nicht als allerersten Commit einen Revert ausfΓΌhren." -#: sequencer.c:1102 +#: sequencer.c:1093 msgid "Can't cherry-pick into empty head" msgstr "Kann nicht als allerersten Commit einen Cherry-Pick ausfΓΌhren." -#: setup.c:248 +#: setup.c:246 #, c-format msgid "failed to read %s" msgstr "Fehler beim Lesen von %s" -#: sha1_name.c:463 +#: sha1_file.c:1080 +msgid "offset before end of packfile (broken .idx?)" +msgstr "Offset vor Ende der Packdatei (fehlerhafte Indexdatei?)" + +#: sha1_file.c:2459 +#, c-format +msgid "offset before start of pack index for %s (corrupt index?)" +msgstr "Offset vor Beginn des Pack-Index fΓΌr %s (beschΓ€digter Index?)" + +#: sha1_file.c:2463 +#, c-format +msgid "offset beyond end of pack index for %s (truncated index?)" +msgstr "Offset hinter Ende des Pack-Index fΓΌr %s (abgeschnittener Index?)" + +#: sha1_name.c:462 msgid "" "Git normally never creates a ref that ends with 40 hex characters\n" "because it will be ignored when you just specify 40-hex. These refs\n" @@ -1594,62 +1718,86 @@ msgstr "" "indem Sie \"git config advice.objectNameWarning false\"\n" "ausfΓΌhren." -#: submodule.c:61 submodule.c:95 +#: submodule.c:62 submodule.c:96 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" msgstr "" "Kann nicht zusammengefΓΌhrte .gitmodules-Datei nicht Γ€ndern, lΓΆsen\n" "Sie zuerst die Konflikte auf" -#: submodule.c:65 submodule.c:99 +#: submodule.c:66 submodule.c:100 #, c-format msgid "Could not find section in .gitmodules where path=%s" msgstr "Konnte keine Sektion in .gitmodules mit Pfad \"%s\" finden" -#: submodule.c:73 +#: submodule.c:74 #, c-format msgid "Could not update .gitmodules entry %s" msgstr "Konnte Eintrag '%s' in .gitmodules nicht aktualisieren" -#: submodule.c:106 +#: submodule.c:107 #, c-format msgid "Could not remove .gitmodules entry for %s" msgstr "Konnte Eintrag '%s' nicht aus .gitmodules entfernen" -#: submodule.c:117 +#: submodule.c:118 msgid "staging updated .gitmodules failed" msgstr "Konnte aktualisierte .gitmodules-Datei nicht zum Commit vormerken" -#: submodule.c:1040 +#: trailer.c:237 #, c-format -msgid "Could not set core.worktree in %s" -msgstr "Konnte core.worktree in '%s' nicht setzen." +msgid "running trailer command '%s' failed" +msgstr "AusfΓΌhren des Anhang-Befehls '%s' fehlgeschlagen" -#: trailer.c:491 trailer.c:495 trailer.c:499 trailer.c:553 trailer.c:557 -#: trailer.c:561 +#: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558 +#: trailer.c:562 #, c-format msgid "unknown value '%s' for key '%s'" msgstr "unbekannter Wert '%s' fΓΌr SchlΓΌssel %s" -#: trailer.c:543 trailer.c:548 builtin/remote.c:296 +#: trailer.c:544 trailer.c:549 builtin/remote.c:289 #, c-format msgid "more than one %s" msgstr "mehr als ein %s" -#: trailer.c:581 +#: trailer.c:582 #, c-format msgid "empty trailer token in trailer '%.*s'" msgstr "leerer Anhang-Token in Anhang '%.*s'" -#: trailer.c:701 +#: trailer.c:702 #, c-format msgid "could not read input file '%s'" msgstr "Konnte Eingabe-Datei '%s' nicht lesen" -#: trailer.c:704 +#: trailer.c:705 msgid "could not read from stdin" msgstr "konnte nicht von der Standard-Eingabe lesen" -#: transport-helper.c:1025 +#: trailer.c:857 builtin/am.c:42 +#, c-format +msgid "could not stat %s" +msgstr "Konnte '%s' nicht lesen" + +#: trailer.c:859 +#, c-format +msgid "file %s is not a regular file" +msgstr "Datei '%s' ist keine regulΓ€re Datei" + +#: trailer.c:861 +#, c-format +msgid "file %s is not writable by user" +msgstr "Datei %s ist vom Benutzer nicht beschreibbar." + +#: trailer.c:873 +msgid "could not open temporary file" +msgstr "konnte temporΓ€re Datei '%s' nicht ΓΆffnen" + +#: trailer.c:912 +#, c-format +msgid "could not rename temporary file to %s" +msgstr "konnte temporΓ€re Datei nicht zu %s umbenennen" + +#: transport-helper.c:1041 #, c-format msgid "Could not read ref %s" msgstr "Konnte Referenz %s nicht lesen." @@ -1687,47 +1835,47 @@ msgstr "ungΓΌltige Portnummer" msgid "invalid '..' path segment" msgstr "ungΓΌltiges '..' Pfadsegment" -#: wrapper.c:219 wrapper.c:362 +#: wrapper.c:222 wrapper.c:381 #, c-format msgid "could not open '%s' for reading and writing" msgstr "Konnte '%s' nicht zum Lesen und Schreiben ΓΆffnen." -#: wrapper.c:221 wrapper.c:364 +#: wrapper.c:224 wrapper.c:383 #, c-format msgid "could not open '%s' for writing" msgstr "Konnte '%s' nicht zum Schreiben ΓΆffnen." -#: wrapper.c:223 wrapper.c:366 builtin/am.c:338 builtin/commit.c:1691 -#: builtin/merge.c:1074 builtin/pull.c:380 +#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/commit.c:1691 +#: builtin/merge.c:1075 builtin/pull.c:387 #, c-format msgid "could not open '%s' for reading" msgstr "Konnte '%s' nicht zum Lesen ΓΆffnen." -#: wrapper.c:579 +#: wrapper.c:611 #, c-format msgid "unable to access '%s': %s" msgstr "konnte nicht auf '%s' zugreifen: %s" -#: wrapper.c:600 +#: wrapper.c:632 #, c-format msgid "unable to access '%s'" msgstr "konnte nicht auf '%s' zugreifen" -#: wrapper.c:608 +#: wrapper.c:640 msgid "unable to get current working directory" msgstr "Konnte aktuelles Arbeitsverzeichnis nicht bekommen." -#: wrapper.c:635 +#: wrapper.c:667 #, c-format msgid "could not open %s for writing" msgstr "Konnte '%s' nicht zum Schreiben ΓΆffnen." -#: wrapper.c:646 builtin/am.c:425 +#: wrapper.c:678 builtin/am.c:410 #, c-format msgid "could not write to %s" msgstr "Konnte nicht nach '%s' schreiben." -#: wrapper.c:652 +#: wrapper.c:684 #, c-format msgid "could not close %s" msgstr "Konnte '%s' nicht schlieΓen." @@ -1944,14 +2092,14 @@ msgstr "" #: wt-status.c:1105 msgid "No commands done." -msgstr "Keine Kommandos ausgefΓΌhrt." +msgstr "Keine Befehle ausgefΓΌhrt." #: wt-status.c:1108 #, c-format msgid "Last command done (%d command done):" msgid_plural "Last commands done (%d commands done):" -msgstr[0] "Letztes Kommando ausgefΓΌhrt (%d Kommando ausgefΓΌhrt):" -msgstr[1] "Letzte Kommandos ausgefΓΌhrt (%d Kommandos ausgefΓΌhrt):" +msgstr[0] "Zuletzt ausgefΓΌhrter Befehl (%d Befehl ausgefΓΌhrt):" +msgstr[1] "Zuletzt ausgefΓΌhrte Befehle (%d Befehle ausgefΓΌhrt):" #: wt-status.c:1119 #, c-format @@ -1960,14 +2108,14 @@ msgstr " (mehr Informationen in Datei %s)" #: wt-status.c:1124 msgid "No commands remaining." -msgstr "Keine Kommandos verbleibend." +msgstr "Keine Befehle verbleibend." #: wt-status.c:1127 #, c-format msgid "Next command to do (%d remaining command):" msgid_plural "Next commands to do (%d remaining commands):" -msgstr[0] "NΓ€chstes auszufΓΌhrendes Kommando (%d Kommando verbleibend):" -msgstr[1] "NΓ€chste auszufΓΌhrende Kommandos (%d Kommandos verbleibend):" +msgstr[0] "NΓ€chster auszufΓΌhrender Befehl (%d Befehle verbleibend):" +msgstr[1] "NΓ€chste auszufΓΌhrende Befehle (%d Befehle verbleibend):" #: wt-status.c:1135 msgid " (use \"git rebase --edit-todo\" to view and edit)" @@ -2227,7 +2375,11 @@ msgstr "entfernt" msgid "behind " msgstr "hinterher " -#: compat/precompose_utf8.c:56 builtin/clone.c:408 +#: wt-status.c:1680 wt-status.c:1683 +msgid "ahead " +msgstr "voraus " + +#: compat/precompose_utf8.c:57 builtin/clone.c:413 #, c-format msgid "failed to unlink '%s'" msgstr "Konnte '%s' nicht entfernen." @@ -2255,7 +2407,7 @@ msgid "Unstaged changes after refreshing the index:" msgstr "" "Nicht zum Commit vorgemerkte Γnderungen nach Aktualisierung der Staging-Area:" -#: builtin/add.c:194 builtin/rev-parse.c:796 +#: builtin/add.c:194 builtin/rev-parse.c:797 msgid "Could not read the index" msgstr "Konnte den Index nicht lesen" @@ -2292,15 +2444,15 @@ msgstr "" "Die folgenden Pfade werden durch eine Ihrer \".gitignore\" Dateien " "ignoriert:\n" -#: builtin/add.c:249 builtin/clean.c:894 builtin/fetch.c:108 builtin/mv.c:110 -#: builtin/prune-packed.c:55 builtin/pull.c:182 builtin/push.c:543 -#: builtin/remote.c:1345 builtin/rm.c:268 builtin/send-pack.c:162 +#: builtin/add.c:249 builtin/clean.c:870 builtin/fetch.c:112 builtin/mv.c:111 +#: builtin/prune-packed.c:55 builtin/pull.c:189 builtin/push.c:511 +#: builtin/remote.c:1330 builtin/rm.c:268 builtin/send-pack.c:162 msgid "dry run" msgstr "Probelauf" -#: builtin/add.c:250 builtin/apply.c:4571 builtin/check-ignore.c:19 +#: builtin/add.c:250 builtin/apply.c:4561 builtin/check-ignore.c:19 #: builtin/commit.c:1322 builtin/count-objects.c:85 builtin/fsck.c:558 -#: builtin/log.c:1645 builtin/mv.c:109 builtin/read-tree.c:114 +#: builtin/log.c:1651 builtin/mv.c:110 builtin/read-tree.c:114 msgid "be verbose" msgstr "erweiterte Ausgaben" @@ -2308,7 +2460,7 @@ msgstr "erweiterte Ausgaben" msgid "interactive picking" msgstr "interaktives AuswΓ€hlen" -#: builtin/add.c:253 builtin/checkout.c:1153 builtin/reset.c:286 +#: builtin/add.c:253 builtin/checkout.c:1155 builtin/reset.c:286 msgid "select hunks interactively" msgstr "BlΓΆcke interaktiv auswΓ€hlen" @@ -2379,144 +2531,139 @@ msgstr "Nichts spezifiziert, nichts hinzugefΓΌgt.\n" msgid "Maybe you wanted to say 'git add .'?\n" msgstr "Meinten Sie vielleicht 'git add .'?\n" -#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:938 -#: builtin/commit.c:337 builtin/mv.c:130 builtin/reset.c:235 builtin/rm.c:298 -#: builtin/submodule--helper.c:40 +#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:914 +#: builtin/commit.c:337 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298 +#: builtin/submodule--helper.c:35 msgid "index file corrupt" msgstr "Index-Datei beschΓ€digt" -#: builtin/add.c:439 builtin/apply.c:4669 builtin/mv.c:279 builtin/rm.c:430 +#: builtin/add.c:439 builtin/apply.c:4659 builtin/mv.c:280 builtin/rm.c:430 msgid "Unable to write new index file" msgstr "Konnte neue Index-Datei nicht schreiben." -#: builtin/am.c:42 -#, c-format -msgid "could not stat %s" -msgstr "Konnte '%s' nicht lesen" - -#: builtin/am.c:271 builtin/commit.c:738 builtin/merge.c:1077 +#: builtin/am.c:256 builtin/commit.c:738 builtin/merge.c:1078 #, c-format msgid "could not read '%s'" msgstr "Konnte '%s' nicht lesen" -#: builtin/am.c:445 +#: builtin/am.c:430 msgid "could not parse author script" msgstr "konnte Autor-Skript nicht parsen" -#: builtin/am.c:522 +#: builtin/am.c:507 #, c-format msgid "'%s' was deleted by the applypatch-msg hook" msgstr "'%s' wurde durch den applypatch-msg Hook entfernt" -#: builtin/am.c:563 builtin/notes.c:300 +#: builtin/am.c:548 builtin/notes.c:300 #, c-format msgid "Malformed input line: '%s'." msgstr "Fehlerhafte Eingabezeile: '%s'." -#: builtin/am.c:600 builtin/notes.c:315 +#: builtin/am.c:585 builtin/notes.c:315 #, c-format msgid "Failed to copy notes from '%s' to '%s'" msgstr "Fehler beim Kopieren der Notizen von '%s' nach '%s'" -#: builtin/am.c:626 +#: builtin/am.c:611 msgid "fseek failed" msgstr "\"fseek\" fehlgeschlagen" -#: builtin/am.c:787 builtin/am.c:875 +#: builtin/am.c:772 builtin/am.c:860 #, c-format msgid "could not open '%s' for reading: %s" msgstr "Konnte '%s' nicht zum Lesen ΓΆffnen: %s" -#: builtin/am.c:794 +#: builtin/am.c:779 #, c-format msgid "could not open '%s' for writing: %s" msgstr "Konnte '%s' nicht zum Schreiben ΓΆffnen: %s" -#: builtin/am.c:803 +#: builtin/am.c:788 #, c-format msgid "could not parse patch '%s'" msgstr "konnte Patch '%s' nicht parsen" -#: builtin/am.c:868 +#: builtin/am.c:853 msgid "Only one StGIT patch series can be applied at once" msgstr "Es kann nur eine StGIT Patch-Serie auf einmal angewendet werden." -#: builtin/am.c:916 +#: builtin/am.c:901 msgid "invalid timestamp" msgstr "ungΓΌltiger Zeitstempel" -#: builtin/am.c:919 builtin/am.c:927 +#: builtin/am.c:904 builtin/am.c:912 msgid "invalid Date line" msgstr "UngΓΌltige \"Date\"-Zeile" -#: builtin/am.c:924 +#: builtin/am.c:909 msgid "invalid timezone offset" msgstr "UngΓΌltiger Offset in der Zeitzone" -#: builtin/am.c:1011 +#: builtin/am.c:996 msgid "Patch format detection failed." msgstr "Patch-Formaterkennung fehlgeschlagen." -#: builtin/am.c:1016 builtin/clone.c:373 +#: builtin/am.c:1001 builtin/clone.c:378 #, c-format msgid "failed to create directory '%s'" msgstr "Fehler beim Erstellen von Verzeichnis '%s'" -#: builtin/am.c:1020 +#: builtin/am.c:1005 msgid "Failed to split patches." msgstr "Fehler beim Aufteilen der Patches." -#: builtin/am.c:1152 builtin/commit.c:363 +#: builtin/am.c:1137 builtin/commit.c:363 msgid "unable to write index file" msgstr "Konnte Index-Datei nicht schreiben." -#: builtin/am.c:1203 +#: builtin/am.c:1188 #, c-format msgid "When you have resolved this problem, run \"%s --continue\"." msgstr "" "Wenn Sie das Problem aufgelΓΆst haben, fΓΌhren Sie \"%s --continue\" aus." -#: builtin/am.c:1204 +#: builtin/am.c:1189 #, c-format msgid "If you prefer to skip this patch, run \"%s --skip\" instead." msgstr "" "Falls Sie diesen Patch auslassen mΓΆchten, fΓΌhren Sie stattdessen \"%s --skip" "\" aus." -#: builtin/am.c:1205 +#: builtin/am.c:1190 #, c-format msgid "To restore the original branch and stop patching, run \"%s --abort\"." msgstr "" "Um den ursprΓΌnglichen Branch wiederherzustellen und die Anwendung der " "Patches abzubrechen, fΓΌhren Sie \"%s --abort\" aus." -#: builtin/am.c:1343 +#: builtin/am.c:1328 msgid "Patch is empty. Was it split wrong?" msgstr "Patch ist leer. War dessen Aufteilung falsch?" -#: builtin/am.c:1417 builtin/log.c:1347 +#: builtin/am.c:1402 builtin/log.c:1350 #, c-format msgid "invalid ident line: %s" msgstr "UngΓΌltige Identifikationszeile: %s" -#: builtin/am.c:1444 +#: builtin/am.c:1429 #, c-format msgid "unable to parse commit %s" msgstr "Konnte Commit '%s' nicht parsen." -#: builtin/am.c:1646 +#: builtin/am.c:1631 msgid "Repository lacks necessary blobs to fall back on 3-way merge." msgstr "" "Dem Repository fehlen notwendige Blobs um auf einen 3-Wege-Merge " "zurΓΌckzufallen." -#: builtin/am.c:1648 +#: builtin/am.c:1633 msgid "Using index info to reconstruct a base tree..." msgstr "" "Verwende Informationen aus der Staging-Area, um ein Basisverzeichnis " "nachzustellen ..." -#: builtin/am.c:1667 +#: builtin/am.c:1652 msgid "" "Did you hand edit your patch?\n" "It does not apply to blobs recorded in its index." @@ -2524,39 +2671,39 @@ msgstr "" "Haben Sie den Patch per Hand editiert?\n" "Er kann nicht auf die Blobs in seiner 'index' Zeile angewendet werden." -#: builtin/am.c:1673 +#: builtin/am.c:1658 msgid "Falling back to patching base and 3-way merge..." msgstr "Falle zurΓΌck zum Patchen der Basis und zum 3-Wege-Merge ..." -#: builtin/am.c:1688 +#: builtin/am.c:1673 msgid "Failed to merge in the changes." msgstr "Merge der Γnderungen fehlgeschlagen." -#: builtin/am.c:1712 builtin/merge.c:632 +#: builtin/am.c:1697 builtin/merge.c:633 msgid "git write-tree failed to write a tree" msgstr "\"git write-tree\" schlug beim Schreiben eines \"Tree\"-Objektes fehl" -#: builtin/am.c:1719 +#: builtin/am.c:1704 msgid "applying to an empty history" msgstr "auf leere Historie anwenden" -#: builtin/am.c:1732 builtin/commit.c:1755 builtin/merge.c:829 -#: builtin/merge.c:854 +#: builtin/am.c:1717 builtin/commit.c:1755 builtin/merge.c:830 +#: builtin/merge.c:855 msgid "failed to write commit object" msgstr "Fehler beim Schreiben des Commit-Objektes." -#: builtin/am.c:1764 builtin/am.c:1768 +#: builtin/am.c:1749 builtin/am.c:1753 #, c-format msgid "cannot resume: %s does not exist." msgstr "Kann nicht fortsetzen: %s existiert nicht" -#: builtin/am.c:1784 +#: builtin/am.c:1769 msgid "cannot be interactive without stdin connected to a terminal." msgstr "" "Kann nicht interaktiv sein, ohne dass die Standard-Eingabe mit einem " "Terminal verbunden ist." -#: builtin/am.c:1789 +#: builtin/am.c:1774 msgid "Commit Body is:" msgstr "Commit-Beschreibung ist:" @@ -2564,35 +2711,35 @@ msgstr "Commit-Beschreibung ist:" #. in your translation. The program will only accept English #. input at this point. #. -#: builtin/am.c:1799 +#: builtin/am.c:1784 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: " msgstr "Anwenden? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: " -#: builtin/am.c:1849 +#: builtin/am.c:1834 #, c-format msgid "Dirty index: cannot apply patches (dirty: %s)" msgstr "GeΓ€nderter Index: kann Patches nicht anwenden (geΓ€ndert: %s)" -#: builtin/am.c:1884 builtin/am.c:1955 +#: builtin/am.c:1869 builtin/am.c:1941 #, c-format msgid "Applying: %.*s" msgstr "Wende an: %.*s" -#: builtin/am.c:1900 +#: builtin/am.c:1885 msgid "No changes -- Patch already applied." msgstr "Keine Γnderungen -- Patches bereits angewendet." -#: builtin/am.c:1908 +#: builtin/am.c:1893 #, c-format msgid "Patch failed at %s %.*s" msgstr "Anwendung des Patches fehlgeschlagen bei %s %.*s" -#: builtin/am.c:1914 +#: builtin/am.c:1899 #, c-format msgid "The copy of the patch that failed is found in: %s" msgstr "Die Kopie des fehlgeschlagenen Patches befindet sich in: %s" -#: builtin/am.c:1958 +#: builtin/am.c:1944 msgid "" "No changes - did you forget to use 'git add'?\n" "If there is nothing left to stage, chances are that something else\n" @@ -2603,7 +2750,7 @@ msgstr "" "diese bereits anderweitig eingefΓΌgt worden sein; Sie kΓΆnnten diesen Patch\n" "auslassen." -#: builtin/am.c:1965 +#: builtin/am.c:1951 msgid "" "You still have unmerged paths in your index.\n" "Did you forget to use 'git add'?" @@ -2611,17 +2758,17 @@ msgstr "" "Sie haben immer noch nicht zusammengefΓΌhrte Pfade im Index.\n" "Haben Sie vergessen 'git add' zu benutzen?" -#: builtin/am.c:2073 builtin/am.c:2077 builtin/am.c:2089 builtin/reset.c:308 +#: builtin/am.c:2059 builtin/am.c:2063 builtin/am.c:2075 builtin/reset.c:308 #: builtin/reset.c:316 #, c-format msgid "Could not parse object '%s'." msgstr "Konnte Objekt '%s' nicht parsen." -#: builtin/am.c:2125 +#: builtin/am.c:2111 msgid "failed to clean index" msgstr "Fehler beim Bereinigen des Index" -#: builtin/am.c:2159 +#: builtin/am.c:2145 msgid "" "You seem to have moved HEAD since the last 'am' failure.\n" "Not rewinding to ORIG_HEAD" @@ -2629,153 +2776,153 @@ msgstr "" "Sie scheinen seit dem letzten gescheiterten 'am' HEAD geΓ€ndert zu haben.\n" "Keine ZurΓΌcksetzung zu ORIG_HEAD." -#: builtin/am.c:2220 +#: builtin/am.c:2206 #, c-format msgid "Invalid value for --patch-format: %s" msgstr "UngΓΌltiger Wert fΓΌr --patch-format: %s" -#: builtin/am.c:2253 +#: builtin/am.c:2239 msgid "git am [<options>] [(<mbox>|<Maildir>)...]" msgstr "git am [<Optionen>] [(<mbox>|<E-Mail-Verzeichnis>)...]" -#: builtin/am.c:2254 +#: builtin/am.c:2240 msgid "git am [<options>] (--continue | --skip | --abort)" msgstr "git am [<Optionen>] (--continue | --skip | --abort)" -#: builtin/am.c:2260 +#: builtin/am.c:2246 msgid "run interactively" msgstr "interaktiv ausfΓΌhren" -#: builtin/am.c:2262 +#: builtin/am.c:2248 msgid "historical option -- no-op" msgstr "historische Option -- kein Effekt" -#: builtin/am.c:2264 +#: builtin/am.c:2250 msgid "allow fall back on 3way merging if needed" msgstr "erlaube, falls notwendig, das ZurΓΌckfallen auf einen 3-Wege-Merge" -#: builtin/am.c:2265 builtin/init-db.c:474 builtin/prune-packed.c:57 +#: builtin/am.c:2251 builtin/init-db.c:474 builtin/prune-packed.c:57 #: builtin/repack.c:171 msgid "be quiet" msgstr "weniger Ausgaben" -#: builtin/am.c:2267 +#: builtin/am.c:2253 msgid "add a Signed-off-by line to the commit message" msgstr "der Commit-Beschreibung eine Signed-off-by Zeile hinzufΓΌgen" -#: builtin/am.c:2270 +#: builtin/am.c:2256 msgid "recode into utf8 (default)" msgstr "nach UTF-8 umkodieren (Standard)" -#: builtin/am.c:2272 +#: builtin/am.c:2258 msgid "pass -k flag to git-mailinfo" msgstr "-k an git-mailinfo ΓΌbergeben" -#: builtin/am.c:2274 +#: builtin/am.c:2260 msgid "pass -b flag to git-mailinfo" msgstr "-b an git-mailinfo ΓΌbergeben" -#: builtin/am.c:2276 +#: builtin/am.c:2262 msgid "pass -m flag to git-mailinfo" msgstr "-m an git-mailinfo ΓΌbergeben" -#: builtin/am.c:2278 +#: builtin/am.c:2264 msgid "pass --keep-cr flag to git-mailsplit for mbox format" msgstr "--keep-cr an git-mailsplit fΓΌr mbox-Format ΓΌbergeben" -#: builtin/am.c:2281 +#: builtin/am.c:2267 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr" msgstr "kein --keep-cr an git-mailsplit ΓΌbergeben, unabhΓ€ngig von am.keepcr" -#: builtin/am.c:2284 +#: builtin/am.c:2270 msgid "strip everything before a scissors line" msgstr "alles vor einer Scheren-Zeile entfernen" -#: builtin/am.c:2285 builtin/apply.c:4554 +#: builtin/am.c:2271 builtin/apply.c:4544 msgid "action" msgstr "Aktion" -#: builtin/am.c:2286 builtin/am.c:2289 builtin/am.c:2292 builtin/am.c:2295 -#: builtin/am.c:2298 builtin/am.c:2301 builtin/am.c:2304 builtin/am.c:2307 -#: builtin/am.c:2313 +#: builtin/am.c:2272 builtin/am.c:2275 builtin/am.c:2278 builtin/am.c:2281 +#: builtin/am.c:2284 builtin/am.c:2287 builtin/am.c:2290 builtin/am.c:2293 +#: builtin/am.c:2299 msgid "pass it through git-apply" msgstr "an git-apply ΓΌbergeben" -#: builtin/am.c:2294 builtin/apply.c:4578 +#: builtin/am.c:2280 builtin/apply.c:4568 msgid "root" msgstr "Wurzelverzeichnis" -#: builtin/am.c:2297 builtin/am.c:2300 builtin/apply.c:4516 -#: builtin/apply.c:4519 builtin/clone.c:85 builtin/fetch.c:93 -#: builtin/pull.c:167 builtin/submodule--helper.c:78 -#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169 +#: builtin/am.c:2283 builtin/am.c:2286 builtin/apply.c:4506 +#: builtin/apply.c:4509 builtin/clone.c:86 builtin/fetch.c:95 +#: builtin/pull.c:171 builtin/submodule--helper.c:72 +#: builtin/submodule--helper.c:160 builtin/submodule--helper.c:163 msgid "path" msgstr "Pfad" -#: builtin/am.c:2303 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669 -#: builtin/grep.c:693 builtin/merge.c:198 builtin/pull.c:127 -#: builtin/repack.c:178 builtin/repack.c:182 builtin/show-branch.c:645 -#: builtin/show-ref.c:175 builtin/tag.c:340 parse-options.h:132 -#: parse-options.h:134 parse-options.h:244 +#: builtin/am.c:2289 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669 +#: builtin/grep.c:704 builtin/merge.c:198 builtin/pull.c:131 +#: builtin/pull.c:185 builtin/repack.c:178 builtin/repack.c:182 +#: builtin/show-branch.c:645 builtin/show-ref.c:175 builtin/tag.c:340 +#: parse-options.h:132 parse-options.h:134 parse-options.h:244 msgid "n" msgstr "Anzahl" -#: builtin/am.c:2306 builtin/apply.c:4522 +#: builtin/am.c:2292 builtin/apply.c:4512 msgid "num" msgstr "Anzahl" -#: builtin/am.c:2309 builtin/for-each-ref.c:37 builtin/replace.c:438 +#: builtin/am.c:2295 builtin/for-each-ref.c:37 builtin/replace.c:438 #: builtin/tag.c:372 msgid "format" msgstr "Format" -#: builtin/am.c:2310 +#: builtin/am.c:2296 msgid "format the patch(es) are in" msgstr "Patch-Format" -#: builtin/am.c:2316 +#: builtin/am.c:2302 msgid "override error message when patch failure occurs" msgstr "Meldung bei fehlerhafter Patch-Anwendung ΓΌberschreiben" -#: builtin/am.c:2318 +#: builtin/am.c:2304 msgid "continue applying patches after resolving a conflict" msgstr "Anwendung der Patches nach AuflΓΆsung eines Konfliktes fortsetzen" -#: builtin/am.c:2321 +#: builtin/am.c:2307 msgid "synonyms for --continue" msgstr "Synonyme fΓΌr --continue" -#: builtin/am.c:2324 +#: builtin/am.c:2310 msgid "skip the current patch" msgstr "den aktuellen Patch auslassen" -#: builtin/am.c:2327 +#: builtin/am.c:2313 msgid "restore the original branch and abort the patching operation." msgstr "" "ursprΓΌnglichen Branch wiederherstellen und Anwendung der Patches abbrechen" -#: builtin/am.c:2331 +#: builtin/am.c:2317 msgid "lie about committer date" msgstr "Autor-Datum als Commit-Datum verwenden" -#: builtin/am.c:2333 +#: builtin/am.c:2319 msgid "use current timestamp for author date" msgstr "aktuellen Zeitstempel als Autor-Datum verwenden" -#: builtin/am.c:2335 builtin/commit.c:1593 builtin/merge.c:225 -#: builtin/pull.c:155 builtin/revert.c:92 builtin/tag.c:355 +#: builtin/am.c:2321 builtin/commit.c:1593 builtin/merge.c:225 +#: builtin/pull.c:159 builtin/revert.c:92 builtin/tag.c:355 msgid "key-id" msgstr "GPG-SchlΓΌsselkennung" -#: builtin/am.c:2336 +#: builtin/am.c:2322 msgid "GPG-sign commits" msgstr "Commits mit GPG signieren" -#: builtin/am.c:2339 +#: builtin/am.c:2325 msgid "(internal use for git-rebase)" msgstr "(intern fΓΌr git-rebase verwendet)" -#: builtin/am.c:2354 +#: builtin/am.c:2340 msgid "" "The -b/--binary option has been a no-op for long time, and\n" "it will be removed. Please do not use it anymore." @@ -2783,16 +2930,16 @@ msgstr "" "Die -b/--binary Option hat seit Langem keinen Effekt und wird\n" "entfernt. Bitte verwenden Sie diese nicht mehr." -#: builtin/am.c:2361 +#: builtin/am.c:2347 msgid "failed to read the index" msgstr "Fehler beim Lesen des Index" -#: builtin/am.c:2376 +#: builtin/am.c:2362 #, c-format msgid "previous rebase directory %s still exists but mbox given." msgstr "Vorheriges Rebase-Verzeichnis %s existiert noch, aber mbox gegeben." -#: builtin/am.c:2400 +#: builtin/am.c:2386 #, c-format msgid "" "Stray %s directory found.\n" @@ -2801,7 +2948,7 @@ msgstr "" "Stray %s Verzeichnis gefunden.\n" "Benutzen Sie \"git am --abort\", um es zu entfernen." -#: builtin/am.c:2406 +#: builtin/am.c:2392 msgid "Resolve operation not in progress, we are not resuming." msgstr "Es ist keine AuflΓΆsung im Gange, es wird nicht fortgesetzt." @@ -3152,148 +3299,148 @@ msgstr "nicht erkannte Eingabe" msgid "unable to read index file" msgstr "Konnte Index-Datei nicht lesen" -#: builtin/apply.c:4517 +#: builtin/apply.c:4507 msgid "don't apply changes matching the given path" msgstr "keine Γnderungen im angegebenen Pfad anwenden" -#: builtin/apply.c:4520 +#: builtin/apply.c:4510 msgid "apply changes matching the given path" msgstr "Γnderungen nur im angegebenen Pfad anwenden" -#: builtin/apply.c:4523 +#: builtin/apply.c:4513 msgid "remove <num> leading slashes from traditional diff paths" msgstr "" "<Anzahl> vorangestellte SchrΓ€gstriche von herkΓΆmmlichen Differenzpfaden " "entfernen" -#: builtin/apply.c:4526 +#: builtin/apply.c:4516 msgid "ignore additions made by the patch" msgstr "hinzugefΓΌgte Zeilen des Patches ignorieren" -#: builtin/apply.c:4528 +#: builtin/apply.c:4518 msgid "instead of applying the patch, output diffstat for the input" msgstr "" "anstatt der Anwendung des Patches, den \"diffstat\" fΓΌr die Eingabe " "ausgegeben" -#: builtin/apply.c:4532 +#: builtin/apply.c:4522 msgid "show number of added and deleted lines in decimal notation" msgstr "" "die Anzahl von hinzugefΓΌgten/entfernten Zeilen in Dezimalnotation anzeigen" -#: builtin/apply.c:4534 +#: builtin/apply.c:4524 msgid "instead of applying the patch, output a summary for the input" msgstr "" "anstatt der Anwendung des Patches, eine Zusammenfassung fΓΌr die Eingabe " "ausgeben" -#: builtin/apply.c:4536 +#: builtin/apply.c:4526 msgid "instead of applying the patch, see if the patch is applicable" msgstr "" "anstatt der Anwendung des Patches, zeige ob Patch angewendet werden kann" -#: builtin/apply.c:4538 +#: builtin/apply.c:4528 msgid "make sure the patch is applicable to the current index" msgstr "" "sicherstellen, dass der Patch mit dem aktuellen Index angewendet werden kann" -#: builtin/apply.c:4540 +#: builtin/apply.c:4530 msgid "apply a patch without touching the working tree" msgstr "Patch anwenden, ohne Γnderungen im Arbeitsverzeichnis vorzunehmen" -#: builtin/apply.c:4542 +#: builtin/apply.c:4532 msgid "accept a patch that touches outside the working area" msgstr "" "Patch anwenden, der Γnderungen auΓerhalb des Arbeitsverzeichnisses vornimmt" -#: builtin/apply.c:4544 +#: builtin/apply.c:4534 msgid "also apply the patch (use with --stat/--summary/--check)" msgstr "Patch anwenden (Benutzung mit --stat/--summary/--check)" -#: builtin/apply.c:4546 +#: builtin/apply.c:4536 msgid "attempt three-way merge if a patch does not apply" msgstr "versuche 3-Wege-Merge, wenn der Patch nicht angewendet werden konnte" -#: builtin/apply.c:4548 +#: builtin/apply.c:4538 msgid "build a temporary index based on embedded index information" msgstr "" "einen temporΓ€ren Index, basierend auf den integrierten Index-Informationen, " "erstellen" -#: builtin/apply.c:4550 builtin/checkout-index.c:198 builtin/ls-files.c:412 +#: builtin/apply.c:4541 builtin/checkout-index.c:169 builtin/ls-files.c:425 msgid "paths are separated with NUL character" msgstr "Pfade sind getrennt durch NUL Zeichen" -#: builtin/apply.c:4553 +#: builtin/apply.c:4543 msgid "ensure at least <n> lines of context match" msgstr "" "sicher stellen, dass mindestens <n> Zeilen des Kontextes ΓΌbereinstimmen" -#: builtin/apply.c:4555 +#: builtin/apply.c:4545 msgid "detect new or modified lines that have whitespace errors" msgstr "neue oder geΓ€nderte Zeilen, die Whitespace-Fehler haben, ermitteln" -#: builtin/apply.c:4558 builtin/apply.c:4561 +#: builtin/apply.c:4548 builtin/apply.c:4551 msgid "ignore changes in whitespace when finding context" msgstr "Γnderungen im Whitespace bei der Suche des Kontextes ignorieren" -#: builtin/apply.c:4564 +#: builtin/apply.c:4554 msgid "apply the patch in reverse" msgstr "den Patch in umgekehrter Reihenfolge anwenden" -#: builtin/apply.c:4566 +#: builtin/apply.c:4556 msgid "don't expect at least one line of context" msgstr "keinen Kontext erwarten" -#: builtin/apply.c:4568 +#: builtin/apply.c:4558 msgid "leave the rejected hunks in corresponding *.rej files" msgstr "" "zurΓΌckgewiesene Patch-BlΓΆcke in entsprechenden *.rej Dateien hinterlassen" -#: builtin/apply.c:4570 +#: builtin/apply.c:4560 msgid "allow overlapping hunks" msgstr "sich ΓΌberlappende Patch-BlΓΆcke erlauben" -#: builtin/apply.c:4573 +#: builtin/apply.c:4563 msgid "tolerate incorrectly detected missing new-line at the end of file" msgstr "fehlerhaft erkannten fehlenden Zeilenumbruch am Dateiende tolerieren" -#: builtin/apply.c:4576 +#: builtin/apply.c:4566 msgid "do not trust the line counts in the hunk headers" msgstr "den Zeilennummern im Kopf des Patch-Blocks nicht vertrauen" -#: builtin/apply.c:4579 +#: builtin/apply.c:4569 msgid "prepend <root> to all filenames" msgstr "<Wurzelverzeichnis> vor alle Dateinamen stellen" -#: builtin/apply.c:4601 +#: builtin/apply.c:4591 msgid "--3way outside a repository" msgstr "" "Die Option --3way kann nicht auΓerhalb eines Repositories verwendet werden." -#: builtin/apply.c:4609 +#: builtin/apply.c:4599 msgid "--index outside a repository" msgstr "" "Die Option --index kann nicht auΓerhalb eines Repositories verwendet werden." -#: builtin/apply.c:4612 +#: builtin/apply.c:4602 msgid "--cached outside a repository" msgstr "" "Die Option --cached kann nicht auΓerhalb eines Repositories verwendet werden." -#: builtin/apply.c:4631 +#: builtin/apply.c:4621 #, c-format msgid "can't open patch '%s'" msgstr "kann Patch '%s' nicht ΓΆffnen" -#: builtin/apply.c:4645 +#: builtin/apply.c:4635 #, c-format msgid "squelched %d whitespace error" msgid_plural "squelched %d whitespace errors" msgstr[0] "unterdrΓΌckte %d Whitespace-Fehler" msgstr[1] "unterdrΓΌckte %d Whitespace-Fehler" -#: builtin/apply.c:4651 builtin/apply.c:4661 +#: builtin/apply.c:4641 builtin/apply.c:4651 #, c-format msgid "%d line adds whitespace errors." msgid_plural "%d lines add whitespace errors." @@ -3347,106 +3494,114 @@ msgstr "'git bisect next' ausfΓΌhren" msgid "update BISECT_HEAD instead of checking out the current commit" msgstr "BISECT_HEAD aktualisieren, anstatt den aktuellen Commit auszuchecken" -#: builtin/blame.c:32 +#: builtin/blame.c:33 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>" msgstr "git blame [<Optionen>] [<rev-opts>] [<Commit>] [--] <Datei>" -#: builtin/blame.c:37 +#: builtin/blame.c:38 msgid "<rev-opts> are documented in git-rev-list(1)" msgstr "<rev-opts> sind dokumentiert in git-rev-list(1)" -#: builtin/blame.c:2519 +#: builtin/blame.c:1782 +msgid "Blaming lines" +msgstr "Verarbeite Zeilen" + +#: builtin/blame.c:2530 msgid "Show blame entries as we find them, incrementally" msgstr "\"blame\"-EintrΓ€ge schrittweise anzeigen, wΓ€hrend wir sie generieren" -#: builtin/blame.c:2520 +#: builtin/blame.c:2531 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "leere SHA-1 fΓΌr Grenz-Commits anzeigen (Standard: aus)" -#: builtin/blame.c:2521 +#: builtin/blame.c:2532 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "Ursprungs-Commit nicht als Grenzen behandeln (Standard: aus)" -#: builtin/blame.c:2522 +#: builtin/blame.c:2533 msgid "Show work cost statistics" msgstr "Statistiken zum Arbeitsaufwand anzeigen" -#: builtin/blame.c:2523 +#: builtin/blame.c:2534 +msgid "Force progress reporting" +msgstr "Fortschrittsanzeige erzwingen" + +#: builtin/blame.c:2535 msgid "Show output score for blame entries" msgstr "Ausgabebewertung fΓΌr \"blame\"-EintrΓ€ge anzeigen" -#: builtin/blame.c:2524 +#: builtin/blame.c:2536 msgid "Show original filename (Default: auto)" msgstr "ursprΓΌnglichen Dateinamen anzeigen (Standard: auto)" -#: builtin/blame.c:2525 +#: builtin/blame.c:2537 msgid "Show original linenumber (Default: off)" msgstr "ursprΓΌngliche Zeilennummer anzeigen (Standard: aus)" -#: builtin/blame.c:2526 +#: builtin/blame.c:2538 msgid "Show in a format designed for machine consumption" msgstr "Anzeige in einem Format fΓΌr maschinelle Auswertung" -#: builtin/blame.c:2527 +#: builtin/blame.c:2539 msgid "Show porcelain format with per-line commit information" msgstr "" "Anzeige in Format fΓΌr Fremdprogramme mit Commit-Informationen pro Zeile" -#: builtin/blame.c:2528 +#: builtin/blame.c:2540 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "" "Den gleichen Ausgabemodus benutzen wie \"git-annotate\" (Standard: aus)" -#: builtin/blame.c:2529 +#: builtin/blame.c:2541 msgid "Show raw timestamp (Default: off)" msgstr "Unbearbeiteten Zeitstempel anzeigen (Standard: aus)" -#: builtin/blame.c:2530 +#: builtin/blame.c:2542 msgid "Show long commit SHA1 (Default: off)" msgstr "Langen Commit-SHA1 anzeigen (Standard: aus)" -#: builtin/blame.c:2531 +#: builtin/blame.c:2543 msgid "Suppress author name and timestamp (Default: off)" msgstr "Den Namen des Autors und den Zeitstempel unterdrΓΌcken (Standard: aus)" -#: builtin/blame.c:2532 +#: builtin/blame.c:2544 msgid "Show author email instead of name (Default: off)" msgstr "" "Anstatt des Namens die E-Mail-Adresse des Autors anzeigen (Standard: aus)" -#: builtin/blame.c:2533 +#: builtin/blame.c:2545 msgid "Ignore whitespace differences" msgstr "Unterschiede im Whitespace ignorieren" -#: builtin/blame.c:2534 +#: builtin/blame.c:2546 msgid "Spend extra cycles to find better match" msgstr "LΓ€nger arbeiten, um bessere Γbereinstimmungen zu finden" -#: builtin/blame.c:2535 +#: builtin/blame.c:2547 msgid "Use revisions from <file> instead of calling git-rev-list" msgstr "Commits von <Datei> benutzen, anstatt \"git-rev-list\" aufzurufen" -#: builtin/blame.c:2536 +#: builtin/blame.c:2548 msgid "Use <file>'s contents as the final image" msgstr "Inhalte der <Datei>en als endgΓΌltiges Abbild benutzen" -#: builtin/blame.c:2537 builtin/blame.c:2538 +#: builtin/blame.c:2549 builtin/blame.c:2550 msgid "score" msgstr "Bewertung" -#: builtin/blame.c:2537 +#: builtin/blame.c:2549 msgid "Find line copies within and across files" msgstr "kopierte Zeilen innerhalb oder zwischen Dateien finden" -#: builtin/blame.c:2538 +#: builtin/blame.c:2550 msgid "Find line movements within and across files" msgstr "verschobene Zeilen innerhalb oder zwischen Dateien finden" -#: builtin/blame.c:2539 +#: builtin/blame.c:2551 msgid "n,m" msgstr "n,m" -#: builtin/blame.c:2539 +#: builtin/blame.c:2551 msgid "Process only line range n,m, counting from 1" msgstr "nur Zeilen im Bereich n,m verarbeiten, gezΓ€hlt von 1" @@ -3456,7 +3611,7 @@ msgstr "nur Zeilen im Bereich n,m verarbeiten, gezΓ€hlt von 1" #. takes 22 places, is the longest among various forms of #. relative timestamps, but your language may need more or #. fewer display columns. -#: builtin/blame.c:2620 +#: builtin/blame.c:2640 msgid "4 years, 11 months ago" msgstr "vor 4 Jahren, und 11 Monaten" @@ -3659,157 +3814,157 @@ msgstr "" "Branch ist umbenannt, aber die Aktualisierung der Konfigurationsdatei ist " "fehlgeschlagen." -#: builtin/branch.c:587 +#: builtin/branch.c:586 #, c-format msgid "could not write branch description template: %s" msgstr "Konnte Beschreibungsvorlage fΓΌr Branch nicht schreiben: %s" -#: builtin/branch.c:616 +#: builtin/branch.c:615 msgid "Generic options" msgstr "Allgemeine Optionen" -#: builtin/branch.c:618 +#: builtin/branch.c:617 msgid "show hash and subject, give twice for upstream branch" msgstr "Hash und Betreff anzeigen; -vv: zusΓ€tzlich Upstream-Branch" -#: builtin/branch.c:619 +#: builtin/branch.c:618 msgid "suppress informational messages" msgstr "Informationsmeldungen unterdrΓΌcken" -#: builtin/branch.c:620 +#: builtin/branch.c:619 msgid "set up tracking mode (see git-pull(1))" msgstr "den Γbernahmemodus einstellen (siehe git-pull(1))" -#: builtin/branch.c:622 +#: builtin/branch.c:621 msgid "change upstream info" msgstr "Informationen zum Upstream-Branch Γ€ndern" -#: builtin/branch.c:626 +#: builtin/branch.c:625 msgid "use colored output" msgstr "farbige Ausgaben verwenden" -#: builtin/branch.c:627 +#: builtin/branch.c:626 msgid "act on remote-tracking branches" msgstr "auf Remote-Tracking-Branches wirken" -#: builtin/branch.c:629 builtin/branch.c:630 +#: builtin/branch.c:628 builtin/branch.c:629 msgid "print only branches that contain the commit" msgstr "nur Branches ausgeben, welche diesen Commit beinhalten" -#: builtin/branch.c:633 +#: builtin/branch.c:632 msgid "Specific git-branch actions:" msgstr "spezifische Aktionen fΓΌr \"git-branch\":" -#: builtin/branch.c:634 +#: builtin/branch.c:633 msgid "list both remote-tracking and local branches" msgstr "Remote-Tracking und lokale Branches auflisten" -#: builtin/branch.c:636 +#: builtin/branch.c:635 msgid "delete fully merged branch" msgstr "vollstΓ€ndig zusammengefΓΌhrten Branch entfernen" -#: builtin/branch.c:637 +#: builtin/branch.c:636 msgid "delete branch (even if not merged)" msgstr "Branch lΓΆschen (auch wenn nicht zusammengefΓΌhrt)" -#: builtin/branch.c:638 +#: builtin/branch.c:637 msgid "move/rename a branch and its reflog" msgstr "einen Branch und dessen Reflog verschieben/umbenennen" -#: builtin/branch.c:639 +#: builtin/branch.c:638 msgid "move/rename a branch, even if target exists" msgstr "" "einen Branch verschieben/umbenennen, auch wenn das Ziel bereits existiert" -#: builtin/branch.c:640 +#: builtin/branch.c:639 msgid "list branch names" msgstr "Branchnamen auflisten" -#: builtin/branch.c:641 +#: builtin/branch.c:640 msgid "create the branch's reflog" msgstr "das Reflog des Branches erzeugen" -#: builtin/branch.c:643 +#: builtin/branch.c:642 msgid "edit the description for the branch" msgstr "die Beschreibung fΓΌr den Branch bearbeiten" -#: builtin/branch.c:644 +#: builtin/branch.c:643 msgid "force creation, move/rename, deletion" msgstr "Erstellung, Verschiebung/Umbenennung oder LΓΆschung erzwingen" -#: builtin/branch.c:645 +#: builtin/branch.c:644 msgid "print only branches that are merged" msgstr "nur zusammengefΓΌhrte Branches ausgeben" -#: builtin/branch.c:646 +#: builtin/branch.c:645 msgid "print only branches that are not merged" msgstr "nur nicht zusammengefΓΌhrte Branches ausgeben" -#: builtin/branch.c:647 +#: builtin/branch.c:646 msgid "list branches in columns" msgstr "Branches in Spalten auflisten" -#: builtin/branch.c:648 builtin/for-each-ref.c:38 builtin/tag.c:366 +#: builtin/branch.c:647 builtin/for-each-ref.c:38 builtin/tag.c:366 msgid "key" msgstr "SchΓΌssel" -#: builtin/branch.c:649 builtin/for-each-ref.c:39 builtin/tag.c:367 +#: builtin/branch.c:648 builtin/for-each-ref.c:39 builtin/tag.c:367 msgid "field name to sort on" msgstr "sortiere nach diesem Feld" -#: builtin/branch.c:651 builtin/for-each-ref.c:41 builtin/notes.c:398 -#: builtin/notes.c:401 builtin/notes.c:561 builtin/notes.c:564 +#: builtin/branch.c:650 builtin/for-each-ref.c:41 builtin/notes.c:401 +#: builtin/notes.c:404 builtin/notes.c:564 builtin/notes.c:567 #: builtin/tag.c:369 msgid "object" msgstr "Objekt" -#: builtin/branch.c:652 +#: builtin/branch.c:651 msgid "print only branches of the object" msgstr "nur Branches von diesem Objekt ausgeben" -#: builtin/branch.c:670 +#: builtin/branch.c:669 msgid "Failed to resolve HEAD as a valid ref." msgstr "Konnte HEAD nicht als gΓΌltige Referenz auflΓΆsen." -#: builtin/branch.c:674 builtin/clone.c:697 +#: builtin/branch.c:673 builtin/clone.c:705 msgid "HEAD not found below refs/heads!" msgstr "HEAD wurde nicht unter \"refs/heads\" gefunden!" -#: builtin/branch.c:694 +#: builtin/branch.c:693 msgid "--column and --verbose are incompatible" msgstr "Die Optionen --column und --verbose sind inkompatibel." -#: builtin/branch.c:705 builtin/branch.c:747 +#: builtin/branch.c:704 builtin/branch.c:746 msgid "branch name required" msgstr "Branchname erforderlich" -#: builtin/branch.c:723 +#: builtin/branch.c:722 msgid "Cannot give description to detached HEAD" msgstr "zu losgelΓΆstem HEAD kann keine Beschreibung hinterlegt werden" -#: builtin/branch.c:728 +#: builtin/branch.c:727 msgid "cannot edit description of more than one branch" msgstr "Beschreibung von mehr als einem Branch kann nicht bearbeitet werden" -#: builtin/branch.c:735 +#: builtin/branch.c:734 #, c-format msgid "No commit on branch '%s' yet." msgstr "Noch kein Commit in Branch '%s'." -#: builtin/branch.c:738 +#: builtin/branch.c:737 #, c-format msgid "No branch named '%s'." msgstr "Branch '%s' nicht vorhanden." -#: builtin/branch.c:753 +#: builtin/branch.c:752 msgid "too many branches for a rename operation" msgstr "zu viele Branches fΓΌr eine Umbenennen-Operation angegeben" -#: builtin/branch.c:758 +#: builtin/branch.c:757 msgid "too many branches to set new upstream" msgstr "zu viele Branches angegeben, um Upstream-Branch zu setzen" -#: builtin/branch.c:762 +#: builtin/branch.c:761 #, c-format msgid "" "could not set upstream of HEAD to %s when it does not point to any branch." @@ -3817,43 +3972,43 @@ msgstr "" "Konnte keinen neuen Upstream-Branch von HEAD zu %s setzen, da dieser auf\n" "keinen Branch zeigt." -#: builtin/branch.c:765 builtin/branch.c:787 builtin/branch.c:808 +#: builtin/branch.c:764 builtin/branch.c:786 builtin/branch.c:807 #, c-format msgid "no such branch '%s'" msgstr "Kein solcher Branch '%s'" -#: builtin/branch.c:769 +#: builtin/branch.c:768 #, c-format msgid "branch '%s' does not exist" msgstr "Branch '%s' existiert nicht" -#: builtin/branch.c:781 +#: builtin/branch.c:780 msgid "too many branches to unset upstream" msgstr "" "zu viele Branches angegeben, um Konfiguration zu Upstream-Branch zu entfernen" -#: builtin/branch.c:785 +#: builtin/branch.c:784 msgid "could not unset upstream of HEAD when it does not point to any branch." msgstr "" "Konnte Konfiguration zu Upstream-Branch von HEAD nicht entfernen, da dieser\n" "auf keinen Branch zeigt." -#: builtin/branch.c:791 +#: builtin/branch.c:790 #, c-format msgid "Branch '%s' has no upstream information" msgstr "Branch '%s' hat keinen Upstream-Branch gesetzt" -#: builtin/branch.c:805 +#: builtin/branch.c:804 msgid "it does not make sense to create 'HEAD' manually" msgstr "'HEAD' darf nicht manuell erstellt werden" -#: builtin/branch.c:811 +#: builtin/branch.c:810 msgid "-a and -r options to 'git branch' do not make sense with a branch name" msgstr "" "Die Optionen -a und -r bei 'git branch' kΓΆnnen nicht gemeimsam mit einem " "Branchnamen verwendet werden." -#: builtin/branch.c:814 +#: builtin/branch.c:813 #, c-format msgid "" "The --set-upstream flag is deprecated and will be removed. Consider using --" @@ -3862,7 +4017,7 @@ msgstr "" "Die --set-upstream Option ist veraltet und wird entfernt. Benutzen Sie --" "track oder --set-upstream-to\n" -#: builtin/branch.c:831 +#: builtin/branch.c:830 #, c-format msgid "" "\n" @@ -3873,12 +4028,12 @@ msgstr "" "Wenn Sie wollten, dass '%s' den Branch '%s' als Upstream-Branch hat, fΓΌhren " "Sie aus:\n" -#: builtin/branch.c:832 +#: builtin/branch.c:831 #, c-format msgid " git branch -d %s\n" msgstr " git branch -d %s\n" -#: builtin/branch.c:833 +#: builtin/branch.c:832 #, c-format msgid " git branch --set-upstream-to %s\n" msgstr " git branch --set-upstream-to %s\n" @@ -3977,7 +4132,7 @@ msgstr "alle Attribute einer Datei ausgeben" msgid "use .gitattributes only from the index" msgstr "nur .gitattributes vom Index verwenden" -#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:96 +#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:97 msgid "read file names from stdin" msgstr "Dateinamen von der Standard-Eingabe lesen" @@ -3985,7 +4140,7 @@ msgstr "Dateinamen von der Standard-Eingabe lesen" msgid "terminate input and output records by a NUL character" msgstr "EintrΓ€ge von Ein- und Ausgabe mit NUL-Zeichen abschlieΓen" -#: builtin/check-ignore.c:18 builtin/checkout.c:1134 builtin/gc.c:325 +#: builtin/check-ignore.c:18 builtin/checkout.c:1136 builtin/gc.c:325 msgid "suppress progress reporting" msgstr "Fortschrittsanzeige unterdrΓΌcken" @@ -4039,52 +4194,56 @@ msgstr "Konnte Kontakt '%s' nicht parsen." msgid "no contacts specified" msgstr "keine Kontakte angegeben" -#: builtin/checkout-index.c:126 +#: builtin/checkout-index.c:127 msgid "git checkout-index [<options>] [--] [<file>...]" msgstr "git checkout-index [<Optionen>] [--] [<Datei>...]" -#: builtin/checkout-index.c:188 +#: builtin/checkout-index.c:144 +msgid "stage should be between 1 and 3 or all" +msgstr "--stage sollte zwischen 1 und 3 oder 'all' sein" + +#: builtin/checkout-index.c:160 msgid "check out all files in the index" msgstr "alle Dateien im Index auschecken" -#: builtin/checkout-index.c:189 +#: builtin/checkout-index.c:161 msgid "force overwrite of existing files" msgstr "das Γberschreiben bereits existierender Dateien erzwingen" -#: builtin/checkout-index.c:191 +#: builtin/checkout-index.c:163 msgid "no warning for existing files and files not in index" msgstr "" "keine Warnung fΓΌr existierende Dateien, und Dateien, die sich nicht im Index " "befinden" -#: builtin/checkout-index.c:193 +#: builtin/checkout-index.c:165 msgid "don't checkout new files" msgstr "keine neuen Dateien auschecken" -#: builtin/checkout-index.c:195 +#: builtin/checkout-index.c:167 msgid "update stat information in the index file" msgstr "Dateiinformationen in der Index-Datei aktualisieren" -#: builtin/checkout-index.c:201 +#: builtin/checkout-index.c:171 msgid "read list of paths from the standard input" msgstr "eine Liste von Pfaden von der Standard-Eingabe lesen" -#: builtin/checkout-index.c:203 +#: builtin/checkout-index.c:173 msgid "write the content to temporary files" msgstr "den Inhalt in temporΓ€re Dateien schreiben" -#: builtin/checkout-index.c:204 builtin/column.c:30 +#: builtin/checkout-index.c:174 builtin/column.c:30 +#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169 #: builtin/submodule--helper.c:172 builtin/submodule--helper.c:175 -#: builtin/submodule--helper.c:178 builtin/submodule--helper.c:181 msgid "string" msgstr "Zeichenkette" -#: builtin/checkout-index.c:205 +#: builtin/checkout-index.c:175 msgid "when creating files, prepend <string>" msgstr "" "wenn Dateien erzeugt werden, stelle <Zeichenkette> dem Dateinamen voran" -#: builtin/checkout-index.c:208 +#: builtin/checkout-index.c:177 msgid "copy out the files from named stage" msgstr "Dateien von dem benannten Stand kopieren" @@ -4165,37 +4324,41 @@ msgstr "Kann \"reflog\" fΓΌr '%s' nicht durchfΓΌhren: %s\n" msgid "HEAD is now at" msgstr "HEAD ist jetzt bei" -#: builtin/checkout.c:668 +#: builtin/checkout.c:665 builtin/clone.c:659 +msgid "unable to update HEAD" +msgstr "Konnte HEAD nicht aktualisieren." + +#: builtin/checkout.c:669 #, c-format msgid "Reset branch '%s'\n" msgstr "Setze Branch '%s' neu\n" -#: builtin/checkout.c:671 +#: builtin/checkout.c:672 #, c-format msgid "Already on '%s'\n" msgstr "Bereits auf '%s'\n" -#: builtin/checkout.c:675 +#: builtin/checkout.c:676 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "Zu umgesetztem Branch '%s' gewechselt\n" -#: builtin/checkout.c:677 builtin/checkout.c:1066 +#: builtin/checkout.c:678 builtin/checkout.c:1068 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "Zu neuem Branch '%s' gewechselt\n" -#: builtin/checkout.c:679 +#: builtin/checkout.c:680 #, c-format msgid "Switched to branch '%s'\n" msgstr "Zu Branch '%s' gewechselt\n" -#: builtin/checkout.c:731 +#: builtin/checkout.c:732 #, c-format msgid " ... and %d more.\n" msgstr " ... und %d weitere.\n" -#: builtin/checkout.c:737 +#: builtin/checkout.c:738 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -4218,7 +4381,7 @@ msgstr[1] "" "\n" "%s\n" -#: builtin/checkout.c:756 +#: builtin/checkout.c:757 #, c-format msgid "" "If you want to keep it by creating a new branch, this may be a good time\n" @@ -4245,152 +4408,152 @@ msgstr[1] "" " git branch <neuer-Branchname> %s\n" "\n" -#: builtin/checkout.c:792 +#: builtin/checkout.c:793 msgid "internal error in revision walk" msgstr "interner Fehler im Revisionsgang" -#: builtin/checkout.c:796 +#: builtin/checkout.c:797 msgid "Previous HEAD position was" msgstr "Vorherige Position von HEAD war" -#: builtin/checkout.c:823 builtin/checkout.c:1061 +#: builtin/checkout.c:824 builtin/checkout.c:1063 msgid "You are on a branch yet to be born" msgstr "Sie sind auf einem Branch, der noch geboren wird" -#: builtin/checkout.c:968 +#: builtin/checkout.c:969 #, c-format msgid "only one reference expected, %d given." msgstr "nur eine Referenz erwartet, %d gegeben." -#: builtin/checkout.c:1007 builtin/worktree.c:213 +#: builtin/checkout.c:1009 builtin/worktree.c:211 #, c-format msgid "invalid reference: %s" msgstr "UngΓΌltige Referenz: %s" -#: builtin/checkout.c:1036 +#: builtin/checkout.c:1038 #, c-format msgid "reference is not a tree: %s" msgstr "Referenz ist kein \"Tree\"-Objekt: %s" -#: builtin/checkout.c:1075 +#: builtin/checkout.c:1077 msgid "paths cannot be used with switching branches" msgstr "Pfade kΓΆnnen nicht beim Wechseln von Branches verwendet werden" -#: builtin/checkout.c:1078 builtin/checkout.c:1082 +#: builtin/checkout.c:1080 builtin/checkout.c:1084 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "'%s' kann nicht beim Wechseln von Branches verwendet werden" -#: builtin/checkout.c:1086 builtin/checkout.c:1089 builtin/checkout.c:1094 -#: builtin/checkout.c:1097 +#: builtin/checkout.c:1088 builtin/checkout.c:1091 builtin/checkout.c:1096 +#: builtin/checkout.c:1099 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "'%s' kann nicht mit '%s' verwendet werden" -#: builtin/checkout.c:1102 +#: builtin/checkout.c:1104 #, c-format msgid "Cannot switch branch to a non-commit '%s'" msgstr "Kann Branch nicht zu Nicht-Commit '%s' wechseln" -#: builtin/checkout.c:1135 builtin/checkout.c:1137 builtin/clone.c:83 -#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:320 -#: builtin/worktree.c:322 +#: builtin/checkout.c:1137 builtin/checkout.c:1139 builtin/clone.c:84 +#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:318 +#: builtin/worktree.c:320 msgid "branch" msgstr "Branch" -#: builtin/checkout.c:1136 +#: builtin/checkout.c:1138 msgid "create and checkout a new branch" msgstr "einen neuen Branch erzeugen und auschecken" -#: builtin/checkout.c:1138 +#: builtin/checkout.c:1140 msgid "create/reset and checkout a branch" msgstr "einen Branch erstellen/umsetzen und auschecken" -#: builtin/checkout.c:1139 +#: builtin/checkout.c:1141 msgid "create reflog for new branch" msgstr "das Reflog fΓΌr den neuen Branch erzeugen" -#: builtin/checkout.c:1140 +#: builtin/checkout.c:1142 msgid "detach the HEAD at named commit" msgstr "HEAD zu benanntem Commit setzen" -#: builtin/checkout.c:1141 +#: builtin/checkout.c:1143 msgid "set upstream info for new branch" msgstr "Informationen zum Upstream-Branch fΓΌr den neuen Branch setzen" -#: builtin/checkout.c:1143 +#: builtin/checkout.c:1145 msgid "new-branch" msgstr "neuer Branch" -#: builtin/checkout.c:1143 +#: builtin/checkout.c:1145 msgid "new unparented branch" msgstr "neuer Branch ohne Eltern-Commit" -#: builtin/checkout.c:1144 +#: builtin/checkout.c:1146 msgid "checkout our version for unmerged files" msgstr "unsere Variante fΓΌr nicht zusammengefΓΌhrte Dateien auschecken" -#: builtin/checkout.c:1146 +#: builtin/checkout.c:1148 msgid "checkout their version for unmerged files" msgstr "ihre Variante fΓΌr nicht zusammengefΓΌhrte Dateien auschecken" -#: builtin/checkout.c:1148 +#: builtin/checkout.c:1150 msgid "force checkout (throw away local modifications)" msgstr "Auschecken erzwingen (verwirft lokale Γnderungen)" -#: builtin/checkout.c:1149 +#: builtin/checkout.c:1151 msgid "perform a 3-way merge with the new branch" msgstr "einen 3-Wege-Merge mit dem neuen Branch ausfΓΌhren" -#: builtin/checkout.c:1150 builtin/merge.c:227 +#: builtin/checkout.c:1152 builtin/merge.c:227 msgid "update ignored files (default)" msgstr "ignorierte Dateien aktualisieren (Standard)" -#: builtin/checkout.c:1151 builtin/log.c:1266 parse-options.h:250 +#: builtin/checkout.c:1153 builtin/log.c:1269 parse-options.h:250 msgid "style" msgstr "Stil" -#: builtin/checkout.c:1152 +#: builtin/checkout.c:1154 msgid "conflict style (merge or diff3)" msgstr "Konfliktstil (merge oder diff3)" -#: builtin/checkout.c:1155 +#: builtin/checkout.c:1157 msgid "do not limit pathspecs to sparse entries only" msgstr "keine EinschrΓ€nkung bei Pfadspezifikationen zum partiellen Auschecken" -#: builtin/checkout.c:1157 +#: builtin/checkout.c:1159 msgid "second guess 'git checkout <no-such-branch>'" msgstr "second guess 'git checkout <no-such-branch>'" -#: builtin/checkout.c:1159 +#: builtin/checkout.c:1161 msgid "do not check if another worktree is holding the given ref" msgstr "" "PrΓΌfung, ob die Referenz bereits in einem anderen Arbeitsverzeichnis " "ausgecheckt wurde, deaktivieren" -#: builtin/checkout.c:1160 builtin/clone.c:57 builtin/fetch.c:112 -#: builtin/merge.c:224 builtin/pull.c:109 builtin/push.c:558 +#: builtin/checkout.c:1162 builtin/clone.c:58 builtin/fetch.c:116 +#: builtin/merge.c:224 builtin/pull.c:113 builtin/push.c:526 #: builtin/send-pack.c:168 msgid "force progress reporting" msgstr "Fortschrittsanzeige erzwingen" -#: builtin/checkout.c:1191 +#: builtin/checkout.c:1193 msgid "-b, -B and --orphan are mutually exclusive" msgstr "Die Optionen -b, -B und --orphan schlieΓen sich gegenseitig aus." -#: builtin/checkout.c:1208 +#: builtin/checkout.c:1210 msgid "--track needs a branch name" msgstr "Bei der Option --track muss ein Branchname angegeben werden." -#: builtin/checkout.c:1213 +#: builtin/checkout.c:1215 msgid "Missing branch name; try -b" msgstr "Vermisse Branchnamen; versuchen Sie -b" -#: builtin/checkout.c:1249 +#: builtin/checkout.c:1251 msgid "invalid path specification" msgstr "ungΓΌltige Pfadspezifikation" -#: builtin/checkout.c:1256 +#: builtin/checkout.c:1258 #, c-format msgid "" "Cannot update paths and switch to branch '%s' at the same time.\n" @@ -4400,12 +4563,12 @@ msgstr "" "Haben Sie beabsichtigt '%s' auszuchecken, welcher nicht als Commit aufgelΓΆst " "werden kann?" -#: builtin/checkout.c:1261 +#: builtin/checkout.c:1263 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "git checkout: --detach nimmt kein Pfad-Argument '%s'" -#: builtin/checkout.c:1265 +#: builtin/checkout.c:1267 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." @@ -4444,7 +4607,7 @@ msgstr "WΓΌrde Repository %s ΓΌberspringen\n" msgid "failed to remove %s" msgstr "Fehler beim LΓΆschen von %s" -#: builtin/clean.c:315 +#: builtin/clean.c:291 msgid "" "Prompt help:\n" "1 - select a numbered item\n" @@ -4456,7 +4619,7 @@ msgstr "" "foo - Element anhand eines eindeutigen PrΓ€fix auswΓ€hlen\n" " - (leer) nichts auswΓ€hlen" -#: builtin/clean.c:319 +#: builtin/clean.c:295 msgid "" "Prompt help:\n" "1 - select a single item\n" @@ -4476,36 +4639,36 @@ msgstr "" "* - alle Elemente auswΓ€hlen\n" " - (leer) Auswahl beenden" -#: builtin/clean.c:535 +#: builtin/clean.c:511 #, c-format msgid "Huh (%s)?" msgstr "Wie bitte (%s)?" -#: builtin/clean.c:677 +#: builtin/clean.c:653 #, c-format msgid "Input ignore patterns>> " msgstr "Ignorier-Muster eingeben>> " -#: builtin/clean.c:714 +#: builtin/clean.c:690 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "WARNUNG: Kann keine EintrΓ€ge finden die Muster entsprechen: %s" -#: builtin/clean.c:735 +#: builtin/clean.c:711 msgid "Select items to delete" msgstr "WΓ€hlen Sie EintrΓ€ge zum LΓΆschen" #. TRANSLATORS: Make sure to keep [y/N] as is -#: builtin/clean.c:776 +#: builtin/clean.c:752 #, c-format msgid "Remove %s [y/N]? " msgstr "'%s' lΓΆschen [y/N]? " -#: builtin/clean.c:801 +#: builtin/clean.c:777 msgid "Bye." msgstr "TschΓΌss." -#: builtin/clean.c:809 +#: builtin/clean.c:785 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -4523,62 +4686,62 @@ msgstr "" "help - diese Meldung anzeigen\n" "? - Hilfe zur Auswahl mittels Eingabe anzeigen" -#: builtin/clean.c:836 +#: builtin/clean.c:812 msgid "*** Commands ***" -msgstr "*** Kommandos ***" +msgstr "*** Befehle ***" -#: builtin/clean.c:837 +#: builtin/clean.c:813 msgid "What now" msgstr "Was nun" -#: builtin/clean.c:845 +#: builtin/clean.c:821 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "WΓΌrde das folgende Element entfernen:" msgstr[1] "WΓΌrde die folgenden Elemente entfernen:" -#: builtin/clean.c:862 +#: builtin/clean.c:838 msgid "No more files to clean, exiting." msgstr "Keine Dateien mehr zum LΓΆschen, beende." -#: builtin/clean.c:893 +#: builtin/clean.c:869 msgid "do not print names of files removed" msgstr "keine Namen von gelΓΆschten Dateien ausgeben" -#: builtin/clean.c:895 +#: builtin/clean.c:871 msgid "force" msgstr "Aktion erzwingen" -#: builtin/clean.c:896 +#: builtin/clean.c:872 msgid "interactive cleaning" msgstr "interaktives Clean" -#: builtin/clean.c:898 +#: builtin/clean.c:874 msgid "remove whole directories" msgstr "ganze Verzeichnisse lΓΆschen" -#: builtin/clean.c:899 builtin/describe.c:407 builtin/grep.c:709 -#: builtin/ls-files.c:443 builtin/name-rev.c:307 builtin/show-ref.c:182 +#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:722 +#: builtin/ls-files.c:456 builtin/name-rev.c:307 builtin/show-ref.c:182 msgid "pattern" msgstr "Muster" -#: builtin/clean.c:900 +#: builtin/clean.c:876 msgid "add <pattern> to ignore rules" msgstr "<Muster> zu den Regeln fΓΌr ignorierte Pfade hinzufΓΌgen" -#: builtin/clean.c:901 +#: builtin/clean.c:877 msgid "remove ignored files, too" msgstr "auch ignorierte Dateien lΓΆschen" -#: builtin/clean.c:903 +#: builtin/clean.c:879 msgid "remove only ignored files" msgstr "nur ignorierte Dateien lΓΆschen" -#: builtin/clean.c:921 +#: builtin/clean.c:897 msgid "-x and -X cannot be used together" msgstr "Die Optionen -x und -X kΓΆnnen nicht gemeinsam verwendet werden." -#: builtin/clean.c:925 +#: builtin/clean.c:901 msgid "" "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to " "clean" @@ -4586,7 +4749,7 @@ msgstr "" "clean.requireForce auf \"true\" gesetzt und weder -i, -n noch -f gegeben; " "\"clean\" verweigert" -#: builtin/clean.c:928 +#: builtin/clean.c:904 msgid "" "clean.requireForce defaults to true and neither -i, -n, nor -f given; " "refusing to clean" @@ -4598,151 +4761,168 @@ msgstr "" msgid "git clone [<options>] [--] <repo> [<dir>]" msgstr "git clone [<Optionen>] [--] <Repository> [<Verzeichnis>]" -#: builtin/clone.c:59 +#: builtin/clone.c:60 msgid "don't create a checkout" msgstr "kein Auschecken" -#: builtin/clone.c:60 builtin/clone.c:62 builtin/init-db.c:469 +#: builtin/clone.c:61 builtin/clone.c:63 builtin/init-db.c:469 msgid "create a bare repository" msgstr "ein Bare-Repository erstellen" -#: builtin/clone.c:64 +#: builtin/clone.c:65 msgid "create a mirror repository (implies bare)" msgstr "ein Spiegelarchiv erstellen (impliziert --bare)" -#: builtin/clone.c:66 +#: builtin/clone.c:67 msgid "to clone from a local repository" msgstr "von einem lokalen Repository klonen" -#: builtin/clone.c:68 +#: builtin/clone.c:69 msgid "don't use local hardlinks, always copy" msgstr "lokal keine harten Verweise verwenden, immer Kopien" -#: builtin/clone.c:70 +#: builtin/clone.c:71 msgid "setup as shared repository" msgstr "als verteiltes Repository einrichten" -#: builtin/clone.c:72 builtin/clone.c:74 +#: builtin/clone.c:73 builtin/clone.c:75 msgid "initialize submodules in the clone" msgstr "Submodule im Klon initialisieren" -#: builtin/clone.c:75 builtin/init-db.c:466 +#: builtin/clone.c:76 builtin/init-db.c:466 msgid "template-directory" msgstr "Vorlagenverzeichnis" -#: builtin/clone.c:76 builtin/init-db.c:467 +#: builtin/clone.c:77 builtin/init-db.c:467 msgid "directory from which templates will be used" msgstr "Verzeichnis, von welchem die Vorlagen verwendet werden" -#: builtin/clone.c:78 builtin/submodule--helper.c:179 +#: builtin/clone.c:79 builtin/submodule--helper.c:173 msgid "reference repository" msgstr "Repository referenzieren" -#: builtin/clone.c:80 +#: builtin/clone.c:81 msgid "use --reference only while cloning" msgstr "--reference nur wΓ€hrend des Klonens benutzen" -#: builtin/clone.c:81 builtin/column.c:26 builtin/merge-file.c:44 +#: builtin/clone.c:82 builtin/column.c:26 builtin/merge-file.c:44 msgid "name" msgstr "Name" -#: builtin/clone.c:82 +#: builtin/clone.c:83 msgid "use <name> instead of 'origin' to track upstream" msgstr "<Name> statt 'origin' fΓΌr Upstream-Repository verwenden" -#: builtin/clone.c:84 +#: builtin/clone.c:85 msgid "checkout <branch> instead of the remote's HEAD" msgstr "<Branch> auschecken, anstatt HEAD des Remote-Repositories" -#: builtin/clone.c:86 +#: builtin/clone.c:87 msgid "path to git-upload-pack on the remote" msgstr "Pfad zu \"git-upload-pack\" auf der Gegenseite" -#: builtin/clone.c:87 builtin/fetch.c:113 builtin/grep.c:654 -#: builtin/pull.c:186 +#: builtin/clone.c:88 builtin/fetch.c:117 builtin/grep.c:665 +#: builtin/pull.c:193 msgid "depth" msgstr "Tiefe" -#: builtin/clone.c:88 +#: builtin/clone.c:89 msgid "create a shallow clone of that depth" msgstr "" "einen Klon mit unvollstΓ€ndiger Historie (shallow) in dieser Tiefe erstellen" -#: builtin/clone.c:90 +#: builtin/clone.c:91 msgid "clone only one branch, HEAD or --branch" msgstr "nur einen Branch klonen, HEAD oder --branch" -#: builtin/clone.c:91 builtin/init-db.c:475 +#: builtin/clone.c:92 builtin/init-db.c:475 msgid "gitdir" msgstr ".git-Verzeichnis" -#: builtin/clone.c:92 builtin/init-db.c:476 +#: builtin/clone.c:93 builtin/init-db.c:476 msgid "separate git dir from working tree" msgstr "Git-Verzeichnis vom Arbeitsverzeichnis separieren" -#: builtin/clone.c:93 +#: builtin/clone.c:94 msgid "key=value" msgstr "SchlΓΌssel=Wert" -#: builtin/clone.c:94 +#: builtin/clone.c:95 msgid "set config inside the new repository" msgstr "Konfiguration innerhalb des neuen Repositories setzen" -#: builtin/clone.c:300 +#: builtin/clone.c:96 builtin/fetch.c:131 builtin/push.c:536 +msgid "use IPv4 addresses only" +msgstr "nur IPv4-Adressen benutzen" + +#: builtin/clone.c:98 builtin/fetch.c:133 builtin/push.c:538 +msgid "use IPv6 addresses only" +msgstr "nur IPv6-Adressen benutzen" + +#: builtin/clone.c:239 +msgid "" +"No directory name could be guessed.\n" +"Please specify a directory on the command line" +msgstr "" +"Konnte keinen Verzeichnisnamen erraten.\n" +"Bitte geben Sie ein Verzeichnis auf der Befehlszeile an." + +#: builtin/clone.c:305 #, c-format msgid "reference repository '%s' as a linked checkout is not supported yet." -msgstr "Referenziertes Repository '%s' wird noch nicht als verknΓΌpftes\n" +msgstr "" +"Referenziertes Repository '%s' wird noch nicht als verknΓΌpftes\n" "Arbeitsverzeichnis unterstΓΌtzt." -#: builtin/clone.c:302 +#: builtin/clone.c:307 #, c-format msgid "reference repository '%s' is not a local repository." msgstr "Referenziertes Repository '%s' ist kein lokales Repository." -#: builtin/clone.c:307 +#: builtin/clone.c:312 #, c-format msgid "reference repository '%s' is shallow" msgstr "" "Referenziertes Repository '%s' hat eine unvollstΓ€ndige Historie (shallow)." -#: builtin/clone.c:310 +#: builtin/clone.c:315 #, c-format msgid "reference repository '%s' is grafted" msgstr "" "Referenziertes Repository '%s' ist mit kΓΌnstlichen VorgΓ€ngern (\"grafts\") " "eingehΓ€ngt." -#: builtin/clone.c:375 builtin/diff.c:84 +#: builtin/clone.c:380 builtin/diff.c:84 #, c-format msgid "failed to stat '%s'" msgstr "Konnte '%s' nicht lesen" -#: builtin/clone.c:377 +#: builtin/clone.c:382 #, c-format msgid "%s exists and is not a directory" msgstr "%s existiert und ist kein Verzeichnis" -#: builtin/clone.c:391 +#: builtin/clone.c:396 #, c-format msgid "failed to stat %s\n" msgstr "Konnte %s nicht lesen\n" -#: builtin/clone.c:413 +#: builtin/clone.c:418 #, c-format msgid "failed to create link '%s'" msgstr "Konnte Verweis '%s' nicht erstellen" -#: builtin/clone.c:417 +#: builtin/clone.c:422 #, c-format msgid "failed to copy file to '%s'" msgstr "Konnte Datei nicht nach '%s' kopieren" -#: builtin/clone.c:442 builtin/clone.c:626 +#: builtin/clone.c:447 builtin/clone.c:631 #, c-format msgid "done.\n" msgstr "Fertig.\n" -#: builtin/clone.c:454 +#: builtin/clone.c:459 msgid "" "Clone succeeded, but checkout failed.\n" "You can inspect what was checked out with 'git status'\n" @@ -4752,123 +4932,132 @@ msgstr "" "Sie kΓΆnnen mit 'git status' prΓΌfen, was ausgecheckt worden ist\n" "und das Auschecken mit 'git checkout -f HEAD' erneut versuchen.\n" -#: builtin/clone.c:531 +#: builtin/clone.c:536 #, c-format msgid "Could not find remote branch %s to clone." msgstr "Konnte zu klonenden Remote-Branch %s nicht finden." -#: builtin/clone.c:621 +#: builtin/clone.c:626 #, c-format msgid "Checking connectivity... " msgstr "PrΓΌfe KonnektivitΓ€t ... " -#: builtin/clone.c:624 +#: builtin/clone.c:629 msgid "remote did not send all necessary objects" msgstr "Remote-Repository hat nicht alle erforderlichen Objekte gesendet." -#: builtin/clone.c:688 +#: builtin/clone.c:647 +#, c-format +msgid "unable to update %s" +msgstr "kann %s nicht aktualisieren" + +#: builtin/clone.c:696 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "" "Externer HEAD bezieht sich auf eine nicht existierende Referenz und kann " "nicht ausgecheckt werden.\n" -#: builtin/clone.c:719 +#: builtin/clone.c:727 msgid "unable to checkout working tree" msgstr "Arbeitsverzeichnis konnte nicht ausgecheckt werden" -#: builtin/clone.c:808 +#: builtin/clone.c:753 +msgid "unable to write parameters to config file" +msgstr "konnte Parameter nicht in Konfigurationsdatei schreiben" + +#: builtin/clone.c:816 msgid "cannot repack to clean up" msgstr "Kann \"repack\" zum AufrΓ€umen nicht aufrufen" -#: builtin/clone.c:810 +#: builtin/clone.c:818 msgid "cannot unlink temporary alternates file" msgstr "Kann temporΓ€re \"alternates\"-Datei nicht entfernen" -#: builtin/clone.c:842 +#: builtin/clone.c:850 msgid "Too many arguments." msgstr "Zu viele Argumente." -#: builtin/clone.c:846 +#: builtin/clone.c:854 msgid "You must specify a repository to clone." msgstr "Sie mΓΌssen ein Repository zum Klonen angeben." -#: builtin/clone.c:857 +#: builtin/clone.c:865 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "Die Optionen --bare und --origin %s sind inkompatibel." -#: builtin/clone.c:860 +#: builtin/clone.c:868 msgid "--bare and --separate-git-dir are incompatible." msgstr "Die Optionen --bare und --separate-git-dir sind inkompatibel." -#: builtin/clone.c:873 +#: builtin/clone.c:881 #, c-format msgid "repository '%s' does not exist" msgstr "Repository '%s' existiert nicht." -#: builtin/clone.c:879 builtin/fetch.c:1166 +#: builtin/clone.c:887 builtin/fetch.c:1174 #, c-format msgid "depth %s is not a positive number" msgstr "Tiefe %s ist keine positive Zahl" -#: builtin/clone.c:889 +#: builtin/clone.c:897 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "Zielpfad '%s' existiert bereits und ist kein leeres Verzeichnis." -#: builtin/clone.c:899 +#: builtin/clone.c:907 #, c-format msgid "working tree '%s' already exists." msgstr "Arbeitsverzeichnis '%s' existiert bereits." -#: builtin/clone.c:914 builtin/clone.c:925 builtin/submodule--helper.c:224 -#: builtin/worktree.c:221 builtin/worktree.c:248 +#: builtin/clone.c:922 builtin/clone.c:933 builtin/submodule--helper.c:218 +#: builtin/worktree.c:219 builtin/worktree.c:246 #, c-format msgid "could not create leading directories of '%s'" msgstr "Konnte fΓΌhrende Verzeichnisse von '%s' nicht erstellen." -#: builtin/clone.c:917 +#: builtin/clone.c:925 #, c-format msgid "could not create work tree dir '%s'" msgstr "Konnte Arbeitsverzeichnis '%s' nicht erstellen" -#: builtin/clone.c:935 +#: builtin/clone.c:943 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "Klone in Bare-Repository '%s' ...\n" -#: builtin/clone.c:937 +#: builtin/clone.c:945 #, c-format msgid "Cloning into '%s'...\n" msgstr "Klone nach '%s' ...\n" -#: builtin/clone.c:975 +#: builtin/clone.c:984 msgid "--depth is ignored in local clones; use file:// instead." msgstr "" "Die Option --depth wird in lokalen Klonen ignoriert; benutzen Sie " "stattdessen file://" -#: builtin/clone.c:978 +#: builtin/clone.c:987 msgid "source repository is shallow, ignoring --local" msgstr "" "Quelle ist ein Repository mit unvollstΓ€ndiger Historie (shallow),ignoriere --" "local" -#: builtin/clone.c:983 +#: builtin/clone.c:992 msgid "--local is ignored" msgstr "--local wird ignoriert" -#: builtin/clone.c:987 +#: builtin/clone.c:996 #, c-format msgid "Don't know how to clone %s" msgstr "WeiΓ nicht wie %s zu klonen ist." -#: builtin/clone.c:1036 builtin/clone.c:1044 +#: builtin/clone.c:1045 builtin/clone.c:1053 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "Remote-Branch %s nicht im Upstream-Repository %s gefunden" -#: builtin/clone.c:1047 +#: builtin/clone.c:1056 msgid "You appear to have cloned an empty repository." msgstr "Sie scheinen ein leeres Repository geklont zu haben." @@ -4929,7 +5118,7 @@ msgstr "" "Ihr Name und E-Mail Adresse wurden automatisch auf Basis\n" "Ihres Benutzer- und Rechnernamens konfiguriert. Bitte prΓΌfen Sie, dass\n" "diese zutreffend sind. Sie kΓΆnnen diese Meldung unterdrΓΌcken, indem Sie\n" -"diese explizit setzen. FΓΌhren Sie dazu das folgende Kommando aus und folgen\n" +"diese explizit setzen. FΓΌhren Sie dazu den folgenden Befehl aus und folgen\n" "Sie den Anweisungen in Ihrem Editor, um die Konfigurationsdatei zu " "bearbeiten:\n" "\n" @@ -4973,7 +5162,7 @@ msgid "" "remove the commit entirely with \"git reset HEAD^\".\n" msgstr "" "Sie fragten den jΓΌngsten Commit nachzubessern, aber das wΓΌrde diesen leer\n" -"machen. Sie kΓΆnnen Ihr Kommando mit --allow-empty wiederholen, oder diesen\n" +"machen. Sie kΓΆnnen Ihren Befehl mit --allow-empty wiederholen, oder diesen\n" "Commit mit \"git reset HEAD^\" vollstΓ€ndig entfernen.\n" #: builtin/commit.c:78 @@ -5084,7 +5273,7 @@ msgstr "" msgid "could not lookup commit %s" msgstr "Konnte Commit %s nicht nachschlagen" -#: builtin/commit.c:702 builtin/shortlog.c:273 +#: builtin/commit.c:702 builtin/shortlog.c:285 #, c-format msgid "(reading log message from standard input)\n" msgstr "(lese Log-Nachricht von Standard-Eingabe)\n" @@ -5281,8 +5470,8 @@ msgstr "Status im Kurzformat anzeigen" msgid "show branch information" msgstr "Branchinformationen anzeigen" -#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:544 -#: builtin/worktree.c:423 +#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:512 +#: builtin/worktree.c:430 msgid "machine-readable output" msgstr "maschinenlesbare Ausgabe" @@ -5373,8 +5562,8 @@ msgstr "Datum" msgid "override date for commit" msgstr "Datum eines Commits ΓΌberschreiben" -#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:392 -#: builtin/notes.c:555 builtin/tag.c:349 +#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:395 +#: builtin/notes.c:558 builtin/tag.c:349 msgid "message" msgstr "Beschreibung" @@ -5411,7 +5600,7 @@ msgstr "" msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "Sie als Autor des Commits setzen (verwendet mit -C/-c/--amend)" -#: builtin/commit.c:1588 builtin/log.c:1216 builtin/revert.c:86 +#: builtin/commit.c:1588 builtin/log.c:1219 builtin/revert.c:86 msgid "add Signed-off-by:" msgstr "'Signed-off-by:'-Zeile hinzufΓΌgen" @@ -5436,7 +5625,7 @@ msgstr "" msgid "include status in commit message template" msgstr "Status in die Commit-Beschreibungsvorlage einfΓΌgen" -#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:156 +#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:160 #: builtin/revert.c:93 msgid "GPG sign commit" msgstr "Commit mit GPG signieren" @@ -5528,139 +5717,145 @@ msgstr "" "voll und Ihr Kontingent nicht aufgebraucht ist und fΓΌhren Sie\n" "anschlieΓend \"git reset HEAD\" zu Wiederherstellung aus." -#: builtin/config.c:8 +#: builtin/config.c:9 msgid "git config [<options>]" msgstr "git config [<Optionen>]" -#: builtin/config.c:54 +#: builtin/config.c:56 msgid "Config file location" msgstr "Ort der Konfigurationsdatei" -#: builtin/config.c:55 +#: builtin/config.c:57 msgid "use global config file" msgstr "globale Konfigurationsdatei verwenden" -#: builtin/config.c:56 +#: builtin/config.c:58 msgid "use system config file" msgstr "systemweite Konfigurationsdatei verwenden" -#: builtin/config.c:57 +#: builtin/config.c:59 msgid "use repository config file" msgstr "Konfigurationsdatei des Repositories verwenden" -#: builtin/config.c:58 +#: builtin/config.c:60 msgid "use given config file" msgstr "die angegebene Konfigurationsdatei verwenden" -#: builtin/config.c:59 +#: builtin/config.c:61 msgid "blob-id" msgstr "Blob-Id" -#: builtin/config.c:59 +#: builtin/config.c:61 msgid "read config from given blob object" msgstr "Konfiguration von angegebenem Blob-Objekt lesen" -#: builtin/config.c:60 +#: builtin/config.c:62 msgid "Action" msgstr "Aktion" -#: builtin/config.c:61 +#: builtin/config.c:63 msgid "get value: name [value-regex]" msgstr "Wert zurΓΌckgeben: Name [Wert-regex]" -#: builtin/config.c:62 +#: builtin/config.c:64 msgid "get all values: key [value-regex]" msgstr "alle Werte zurΓΌckgeben: SchlΓΌssel [Wert-regex]" -#: builtin/config.c:63 +#: builtin/config.c:65 msgid "get values for regexp: name-regex [value-regex]" msgstr "Werte fΓΌr den regulΓ€ren Ausdruck zurΓΌckgeben: Name-regex [Wert-regex]" -#: builtin/config.c:64 +#: builtin/config.c:66 msgid "get value specific for the URL: section[.var] URL" msgstr "Wert spezifisch fΓΌr eine URL zurΓΌckgeben: section[.var] URL" -#: builtin/config.c:65 +#: builtin/config.c:67 msgid "replace all matching variables: name value [value_regex]" msgstr "alle passenden Variablen ersetzen: Name Wert [Wert-regex] " -#: builtin/config.c:66 +#: builtin/config.c:68 msgid "add a new variable: name value" msgstr "neue Variable hinzufΓΌgen: Name Wert" -#: builtin/config.c:67 +#: builtin/config.c:69 msgid "remove a variable: name [value-regex]" msgstr "eine Variable entfernen: Name [Wert-regex]" -#: builtin/config.c:68 +#: builtin/config.c:70 msgid "remove all matches: name [value-regex]" msgstr "alle Γbereinstimmungen entfernen: Name [Wert-regex]" -#: builtin/config.c:69 +#: builtin/config.c:71 msgid "rename section: old-name new-name" msgstr "eine Sektion umbenennen: alter-Name neuer-Name" -#: builtin/config.c:70 +#: builtin/config.c:72 msgid "remove a section: name" msgstr "eine Sektion entfernen: Name" -#: builtin/config.c:71 +#: builtin/config.c:73 msgid "list all" msgstr "alles auflisten" -#: builtin/config.c:72 +#: builtin/config.c:74 msgid "open an editor" msgstr "einen Editor ΓΆffnen" -#: builtin/config.c:73 +#: builtin/config.c:75 msgid "find the color configured: slot [default]" msgstr "die konfigurierte Farbe finden: Slot [Standard]" -#: builtin/config.c:74 +#: builtin/config.c:76 msgid "find the color setting: slot [stdout-is-tty]" msgstr "die Farbeinstellung finden: Slot [Standard-Ausgabe-ist-Terminal]" -#: builtin/config.c:75 +#: builtin/config.c:77 msgid "Type" msgstr "Typ" -#: builtin/config.c:76 +#: builtin/config.c:78 msgid "value is \"true\" or \"false\"" msgstr "Wert ist \"true\" oder \"false\"" -#: builtin/config.c:77 +#: builtin/config.c:79 msgid "value is decimal number" msgstr "Wert ist eine Dezimalzahl" -#: builtin/config.c:78 +#: builtin/config.c:80 msgid "value is --bool or --int" msgstr "Wert ist --bool oder --int" -#: builtin/config.c:79 +#: builtin/config.c:81 msgid "value is a path (file or directory name)" msgstr "Wert ist ein Pfad (Datei oder Verzeichnisname)" -#: builtin/config.c:80 +#: builtin/config.c:82 msgid "Other" msgstr "Sonstiges" -#: builtin/config.c:81 +#: builtin/config.c:83 msgid "terminate values with NUL byte" msgstr "schlieΓt Werte mit NUL-Byte ab" -#: builtin/config.c:82 +#: builtin/config.c:84 msgid "show variable names only" msgstr "nur Variablennamen anzeigen" -#: builtin/config.c:83 +#: builtin/config.c:85 msgid "respect include directives on lookup" msgstr "beachtet \"include\"-Direktiven beim Nachschlagen" -#: builtin/config.c:303 +#: builtin/config.c:86 +msgid "show origin of config (file, standard input, blob, command line)" +msgstr "" +"Ursprung der Konfiguration anzeigen (Datei, Standard-Eingabe, Blob, " +"Befehlszeile)" + +#: builtin/config.c:328 msgid "unable to parse default color value" msgstr "konnte Standard-Farbwert nicht parsen" -#: builtin/config.c:441 +#: builtin/config.c:469 #, c-format msgid "" "# This is Git's per-user configuration file.\n" @@ -5675,7 +5870,7 @@ msgstr "" "#\tname = %s\n" "#\temail = %s\n" -#: builtin/config.c:575 +#: builtin/config.c:611 #, c-format msgid "cannot create configuration file %s" msgstr "Konnte Konfigurationsdatei '%s' nicht erstellen." @@ -5927,167 +6122,171 @@ msgstr "git fetch --multiple [<Optionen>] [(<Repository> | <Gruppe>)...]" msgid "git fetch --all [<options>]" msgstr "git fetch --all [<Optionen>]" -#: builtin/fetch.c:90 builtin/pull.c:162 +#: builtin/fetch.c:92 builtin/pull.c:166 msgid "fetch from all remotes" msgstr "fordert von allen Remote-Repositories an" -#: builtin/fetch.c:92 builtin/pull.c:165 +#: builtin/fetch.c:94 builtin/pull.c:169 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "an .git/FETCH_HEAD anhΓ€ngen, anstatt zu ΓΌberschreiben" -#: builtin/fetch.c:94 builtin/pull.c:168 +#: builtin/fetch.c:96 builtin/pull.c:172 msgid "path to upload pack on remote end" msgstr "Pfad des Programms zum Hochladen von Paketen auf der Gegenseite" -#: builtin/fetch.c:95 builtin/pull.c:170 +#: builtin/fetch.c:97 builtin/pull.c:174 msgid "force overwrite of local branch" msgstr "das Γberschreiben von lokalen Branches erzwingen" -#: builtin/fetch.c:97 +#: builtin/fetch.c:99 msgid "fetch from multiple remotes" msgstr "von mehreren Remote-Repositories anfordern" -#: builtin/fetch.c:99 builtin/pull.c:172 +#: builtin/fetch.c:101 builtin/pull.c:176 msgid "fetch all tags and associated objects" msgstr "alle Tags und verbundene Objekte anfordern" -#: builtin/fetch.c:101 +#: builtin/fetch.c:103 msgid "do not fetch all tags (--no-tags)" msgstr "nicht alle Tags anfordern (--no-tags)" -#: builtin/fetch.c:103 builtin/pull.c:175 +#: builtin/fetch.c:105 +msgid "number of submodules fetched in parallel" +msgstr "Anzahl der parallel anzufordernden Submodule" + +#: builtin/fetch.c:107 builtin/pull.c:179 msgid "prune remote-tracking branches no longer on remote" msgstr "" "Remote-Tracking-Branches entfernen, die sich nicht mehr im Remote-Repository " "befinden" -#: builtin/fetch.c:104 builtin/pull.c:178 +#: builtin/fetch.c:108 builtin/pull.c:182 msgid "on-demand" msgstr "bei-Bedarf" -#: builtin/fetch.c:105 builtin/pull.c:179 +#: builtin/fetch.c:109 builtin/pull.c:183 msgid "control recursive fetching of submodules" msgstr "rekursive Anforderungen von Submodulen kontrollieren" -#: builtin/fetch.c:109 builtin/pull.c:184 +#: builtin/fetch.c:113 builtin/pull.c:191 msgid "keep downloaded pack" msgstr "heruntergeladenes Paket behalten" -#: builtin/fetch.c:111 +#: builtin/fetch.c:115 msgid "allow updating of HEAD ref" msgstr "Aktualisierung der \"HEAD\"-Referenz erlauben" -#: builtin/fetch.c:114 builtin/pull.c:187 +#: builtin/fetch.c:118 builtin/pull.c:194 msgid "deepen history of shallow clone" msgstr "" "die Historie eines Klons mit unvollstΓ€ndiger Historie (shallow) vertiefen" -#: builtin/fetch.c:116 builtin/pull.c:190 +#: builtin/fetch.c:120 builtin/pull.c:197 msgid "convert to a complete repository" msgstr "zu einem vollstΓ€ndigen Repository konvertieren" -#: builtin/fetch.c:118 builtin/log.c:1233 +#: builtin/fetch.c:122 builtin/log.c:1236 msgid "dir" msgstr "Verzeichnis" -#: builtin/fetch.c:119 +#: builtin/fetch.c:123 msgid "prepend this to submodule path output" msgstr "dies an die Ausgabe der Submodul-Pfade voranstellen" -#: builtin/fetch.c:122 +#: builtin/fetch.c:126 msgid "default mode for recursion" msgstr "Standard-Modus fΓΌr Rekursion" -#: builtin/fetch.c:124 builtin/pull.c:193 +#: builtin/fetch.c:128 builtin/pull.c:200 msgid "accept refs that update .git/shallow" msgstr "Referenzen, die .git/shallow aktualisieren, akzeptieren" -#: builtin/fetch.c:125 builtin/pull.c:195 +#: builtin/fetch.c:129 builtin/pull.c:202 msgid "refmap" msgstr "Refmap" -#: builtin/fetch.c:126 builtin/pull.c:196 +#: builtin/fetch.c:130 builtin/pull.c:203 msgid "specify fetch refmap" msgstr "Refmap fΓΌr 'fetch' angeben" -#: builtin/fetch.c:378 +#: builtin/fetch.c:386 msgid "Couldn't find remote ref HEAD" msgstr "Konnte Remote-Referenz von HEAD nicht finden." -#: builtin/fetch.c:458 +#: builtin/fetch.c:466 #, c-format msgid "object %s not found" msgstr "Objekt %s nicht gefunden" -#: builtin/fetch.c:463 +#: builtin/fetch.c:471 msgid "[up to date]" msgstr "[aktuell]" -#: builtin/fetch.c:477 +#: builtin/fetch.c:485 #, c-format msgid "! %-*s %-*s -> %s (can't fetch in current branch)" msgstr "" "! %-*s %-*s -> %s (kann \"fetch\" im aktuellen Branch nicht ausfΓΌhren)" -#: builtin/fetch.c:478 builtin/fetch.c:566 +#: builtin/fetch.c:486 builtin/fetch.c:574 msgid "[rejected]" msgstr "[zurΓΌckgewiesen]" -#: builtin/fetch.c:489 +#: builtin/fetch.c:497 msgid "[tag update]" msgstr "[Tag Aktualisierung]" -#: builtin/fetch.c:491 builtin/fetch.c:526 builtin/fetch.c:544 +#: builtin/fetch.c:499 builtin/fetch.c:534 builtin/fetch.c:552 msgid " (unable to update local ref)" msgstr " (kann lokale Referenz nicht aktualisieren)" -#: builtin/fetch.c:509 +#: builtin/fetch.c:517 msgid "[new tag]" msgstr "[neues Tag]" -#: builtin/fetch.c:512 +#: builtin/fetch.c:520 msgid "[new branch]" msgstr "[neuer Branch]" -#: builtin/fetch.c:515 +#: builtin/fetch.c:523 msgid "[new ref]" msgstr "[neue Referenz]" -#: builtin/fetch.c:561 +#: builtin/fetch.c:569 msgid "unable to update local ref" msgstr "kann lokale Referenz nicht aktualisieren" -#: builtin/fetch.c:561 +#: builtin/fetch.c:569 msgid "forced update" msgstr "Aktualisierung erzwungen" -#: builtin/fetch.c:568 +#: builtin/fetch.c:576 msgid "(non-fast-forward)" msgstr "(kein Vorspulen)" -#: builtin/fetch.c:602 builtin/fetch.c:843 +#: builtin/fetch.c:610 builtin/fetch.c:851 #, c-format msgid "cannot open %s: %s\n" msgstr "kann %s nicht ΓΆffnen: %s\n" -#: builtin/fetch.c:611 +#: builtin/fetch.c:619 #, c-format msgid "%s did not send all necessary objects\n" msgstr "%s hat nicht alle erforderlichen Objekte gesendet\n" -#: builtin/fetch.c:629 +#: builtin/fetch.c:637 #, c-format msgid "reject %s because shallow roots are not allowed to be updated" msgstr "" "%s wurde zurΓΌckgewiesen, da Ursprungs-Commits von Repositoriesmit " "unvollstΓ€ndiger Historie (shallow) nicht aktualisiert werden dΓΌrfen." -#: builtin/fetch.c:716 builtin/fetch.c:808 +#: builtin/fetch.c:724 builtin/fetch.c:816 #, c-format msgid "From %.*s\n" msgstr "Von %.*s\n" -#: builtin/fetch.c:727 +#: builtin/fetch.c:735 #, c-format msgid "" "some local refs could not be updated; try running\n" @@ -6096,57 +6295,57 @@ msgstr "" "Einige lokale Referenzen konnten nicht aktualisiert werden; versuchen Sie\n" "'git remote prune %s', um jeden Γ€lteren, widersprΓΌchlichen Branch zu lΓΆschen." -#: builtin/fetch.c:779 +#: builtin/fetch.c:787 #, c-format msgid " (%s will become dangling)" msgstr " (%s wird unreferenziert)" -#: builtin/fetch.c:780 +#: builtin/fetch.c:788 #, c-format msgid " (%s has become dangling)" msgstr " (%s wurde unreferenziert)" -#: builtin/fetch.c:812 +#: builtin/fetch.c:820 msgid "[deleted]" msgstr "[gelΓΆscht]" -#: builtin/fetch.c:813 builtin/remote.c:1040 +#: builtin/fetch.c:821 builtin/remote.c:1025 msgid "(none)" msgstr "(nichts)" -#: builtin/fetch.c:833 +#: builtin/fetch.c:841 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "" "Der \"fetch\" in den aktuellen Branch %s von einem nicht-Bare-Repository " "wurde verweigert." -#: builtin/fetch.c:852 +#: builtin/fetch.c:860 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "Option \"%s\" Wert \"%s\" ist nicht gΓΌltig fΓΌr %s" -#: builtin/fetch.c:855 +#: builtin/fetch.c:863 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "Option \"%s\" wird ignoriert fΓΌr %s\n" -#: builtin/fetch.c:911 +#: builtin/fetch.c:920 #, c-format msgid "Don't know how to fetch from %s" msgstr "WeiΓ nicht wie von %s angefordert wird." -#: builtin/fetch.c:1072 +#: builtin/fetch.c:1080 #, c-format msgid "Fetching %s\n" msgstr "Fordere an von %s\n" -#: builtin/fetch.c:1074 builtin/remote.c:96 +#: builtin/fetch.c:1082 builtin/remote.c:96 #, c-format msgid "Could not fetch %s" msgstr "Konnte nicht von %s anfordern" -#: builtin/fetch.c:1092 +#: builtin/fetch.c:1100 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." @@ -6155,35 +6354,35 @@ msgstr "" "oder den Namen des Remote-Repositories an, von welchem neue\n" "Commits angefordert werden sollen." -#: builtin/fetch.c:1115 +#: builtin/fetch.c:1123 msgid "You need to specify a tag name." msgstr "Sie mΓΌssen den Namen des Tags angeben." -#: builtin/fetch.c:1157 +#: builtin/fetch.c:1165 msgid "--depth and --unshallow cannot be used together" msgstr "" "Die Optionen --depth und --unshallow kΓΆnnen nicht gemeinsam verwendet werden." -#: builtin/fetch.c:1159 +#: builtin/fetch.c:1167 msgid "--unshallow on a complete repository does not make sense" msgstr "" "Die Option --unshallow kann nicht in einem Repository mit unvollstΓ€ndiger " "Historie verwendet werden." -#: builtin/fetch.c:1179 +#: builtin/fetch.c:1187 msgid "fetch --all does not take a repository argument" msgstr "fetch --all akzeptiert kein Repository als Argument" -#: builtin/fetch.c:1181 +#: builtin/fetch.c:1189 msgid "fetch --all does not make sense with refspecs" msgstr "fetch --all kann nicht mit Refspecs verwendet werden." -#: builtin/fetch.c:1192 +#: builtin/fetch.c:1200 #, c-format msgid "No such remote or remote group: %s" msgstr "Kein Remote-Repository (einzeln oder Gruppe): %s" -#: builtin/fetch.c:1200 +#: builtin/fetch.c:1208 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "" "Das Abholen einer Gruppe von Remote-Repositories kann nicht mit der Angabe\n" @@ -6418,236 +6617,250 @@ msgstr "" msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]" msgstr "git grep [<Optionen>] [-e] <Muster> [<Commit>...] [[--] <Pfad>...]" -#: builtin/grep.c:218 +#: builtin/grep.c:219 #, c-format msgid "grep: failed to create thread: %s" msgstr "grep: Fehler beim Erzeugen eines Thread: %s" -#: builtin/grep.c:441 builtin/grep.c:476 +#: builtin/grep.c:277 +#, c-format +msgid "invalid number of threads specified (%d) for %s" +msgstr "ungΓΌltige Anzahl von Threads (%d) fΓΌr %s angegeben" + +#: builtin/grep.c:452 builtin/grep.c:487 #, c-format msgid "unable to read tree (%s)" msgstr "konnte \"Tree\"-Objekt (%s) nicht lesen" -#: builtin/grep.c:491 +#: builtin/grep.c:502 #, c-format msgid "unable to grep from object of type %s" msgstr "kann \"grep\" nicht mit Objekten des Typs %s durchfΓΌhren" -#: builtin/grep.c:547 +#: builtin/grep.c:558 #, c-format msgid "switch `%c' expects a numerical value" msgstr "Schalter '%c' erwartet einen numerischen Wert" -#: builtin/grep.c:564 +#: builtin/grep.c:575 #, c-format msgid "cannot open '%s'" msgstr "kann '%s' nicht ΓΆffnen" -#: builtin/grep.c:633 +#: builtin/grep.c:644 msgid "search in index instead of in the work tree" msgstr "im Index anstatt im Arbeitsverzeichnis suchen" -#: builtin/grep.c:635 +#: builtin/grep.c:646 msgid "find in contents not managed by git" msgstr "auch in Inhalten finden, die nicht von Git verwaltet werden" -#: builtin/grep.c:637 +#: builtin/grep.c:648 msgid "search in both tracked and untracked files" msgstr "in versionierten und unversionierten Dateien suchen" -#: builtin/grep.c:639 +#: builtin/grep.c:650 msgid "ignore files specified via '.gitignore'" msgstr "Dateien, die ΓΌber '.gitignore' angegeben sind, ignorieren" -#: builtin/grep.c:642 +#: builtin/grep.c:653 msgid "show non-matching lines" msgstr "Zeilen ohne Γbereinstimmungen anzeigen" -#: builtin/grep.c:644 +#: builtin/grep.c:655 msgid "case insensitive matching" msgstr "Γbereinstimmungen unabhΓ€ngig von GroΓ- und Kleinschreibung finden" -#: builtin/grep.c:646 +#: builtin/grep.c:657 msgid "match patterns only at word boundaries" msgstr "nur ganze WΓΆrter suchen" -#: builtin/grep.c:648 +#: builtin/grep.c:659 msgid "process binary files as text" msgstr "binΓ€re Dateien als Text verarbeiten" -#: builtin/grep.c:650 +#: builtin/grep.c:661 msgid "don't match patterns in binary files" msgstr "keine Muster in BinΓ€rdateien finden" -#: builtin/grep.c:653 +#: builtin/grep.c:664 msgid "process binary files with textconv filters" msgstr "binΓ€re Dateien mit \"textconv\"-Filtern verarbeiten" -#: builtin/grep.c:655 +#: builtin/grep.c:666 msgid "descend at most <depth> levels" msgstr "hΓΆchstens <Tiefe> Ebenen durchlaufen" -#: builtin/grep.c:659 +#: builtin/grep.c:670 msgid "use extended POSIX regular expressions" msgstr "erweiterte regulΓ€re AusdrΓΌcke aus POSIX verwenden" -#: builtin/grep.c:662 +#: builtin/grep.c:673 msgid "use basic POSIX regular expressions (default)" msgstr "grundlegende regulΓ€re AusdrΓΌcke aus POSIX verwenden (Standard)" -#: builtin/grep.c:665 +#: builtin/grep.c:676 msgid "interpret patterns as fixed strings" msgstr "Muster als feste Zeichenketten interpretieren" -#: builtin/grep.c:668 +#: builtin/grep.c:679 msgid "use Perl-compatible regular expressions" msgstr "Perl-kompatible regulΓ€re AusdrΓΌcke verwenden" -#: builtin/grep.c:671 +#: builtin/grep.c:682 msgid "show line numbers" msgstr "Zeilennummern anzeigen" -#: builtin/grep.c:672 +#: builtin/grep.c:683 msgid "don't show filenames" msgstr "keine Dateinamen anzeigen" -#: builtin/grep.c:673 +#: builtin/grep.c:684 msgid "show filenames" msgstr "Dateinamen anzeigen" -#: builtin/grep.c:675 +#: builtin/grep.c:686 msgid "show filenames relative to top directory" msgstr "Dateinamen relativ zum Projektverzeichnis anzeigen" -#: builtin/grep.c:677 +#: builtin/grep.c:688 msgid "show only filenames instead of matching lines" msgstr "nur Dateinamen anzeigen anstatt ΓΌbereinstimmende Zeilen" -#: builtin/grep.c:679 +#: builtin/grep.c:690 msgid "synonym for --files-with-matches" msgstr "Synonym fΓΌr --files-with-matches" -#: builtin/grep.c:682 +#: builtin/grep.c:693 msgid "show only the names of files without match" msgstr "nur die Dateinamen ohne Γbereinstimmungen anzeigen" -#: builtin/grep.c:684 +#: builtin/grep.c:695 msgid "print NUL after filenames" msgstr "NUL-Zeichen nach Dateinamen ausgeben" -#: builtin/grep.c:686 +#: builtin/grep.c:697 msgid "show the number of matches instead of matching lines" msgstr "anstatt der Zeilen, die Anzahl der ΓΌbereinstimmenden Zeilen anzeigen" -#: builtin/grep.c:687 +#: builtin/grep.c:698 msgid "highlight matches" msgstr "Γbereinstimmungen hervorheben" -#: builtin/grep.c:689 +#: builtin/grep.c:700 msgid "print empty line between matches from different files" msgstr "" "eine Leerzeile zwischen Γbereinstimmungen in verschiedenen Dateien ausgeben" -#: builtin/grep.c:691 +#: builtin/grep.c:702 msgid "show filename only once above matches from same file" msgstr "" "den Dateinamen nur einmal oberhalb der Γbereinstimmungen aus dieser Datei " "anzeigen" -#: builtin/grep.c:694 +#: builtin/grep.c:705 msgid "show <n> context lines before and after matches" msgstr "<n> Zeilen vor und nach den Γbereinstimmungen anzeigen" -#: builtin/grep.c:697 +#: builtin/grep.c:708 msgid "show <n> context lines before matches" msgstr "<n> Zeilen vor den Γbereinstimmungen anzeigen" -#: builtin/grep.c:699 +#: builtin/grep.c:710 msgid "show <n> context lines after matches" msgstr "<n> Zeilen nach den Γbereinstimmungen anzeigen" -#: builtin/grep.c:700 +#: builtin/grep.c:712 +msgid "use <n> worker threads" +msgstr "<n> Threads benutzen" + +#: builtin/grep.c:713 msgid "shortcut for -C NUM" msgstr "Kurzform fΓΌr -C NUM" -#: builtin/grep.c:703 +#: builtin/grep.c:716 msgid "show a line with the function name before matches" msgstr "eine Zeile mit dem Funktionsnamen vor Γbereinstimmungen anzeigen" -#: builtin/grep.c:705 +#: builtin/grep.c:718 msgid "show the surrounding function" msgstr "die umgebende Funktion anzeigen" -#: builtin/grep.c:708 +#: builtin/grep.c:721 msgid "read patterns from file" msgstr "Muster von einer Datei lesen" -#: builtin/grep.c:710 +#: builtin/grep.c:723 msgid "match <pattern>" msgstr "<Muster> finden" -#: builtin/grep.c:712 +#: builtin/grep.c:725 msgid "combine patterns specified with -e" msgstr "Muster kombinieren, die mit -e angegeben wurden" -#: builtin/grep.c:724 +#: builtin/grep.c:737 msgid "indicate hit with exit status without output" msgstr "Γbereinstimmungen nur durch Beendigungsstatus anzeigen" -#: builtin/grep.c:726 +#: builtin/grep.c:739 msgid "show only matches from files that match all patterns" msgstr "" "nur Γbereinstimmungen von Dateien anzeigen, die allen Mustern entsprechen" -#: builtin/grep.c:728 +#: builtin/grep.c:741 msgid "show parse tree for grep expression" msgstr "geparstes Verzeichnis fΓΌr \"grep\"-Ausdruck anzeigen" -#: builtin/grep.c:732 +#: builtin/grep.c:745 msgid "pager" msgstr "Anzeigeprogramm" -#: builtin/grep.c:732 +#: builtin/grep.c:745 msgid "show matching files in the pager" msgstr "Dateien mit Γbereinstimmungen im Anzeigeprogramm anzeigen" -#: builtin/grep.c:735 +#: builtin/grep.c:748 msgid "allow calling of grep(1) (ignored by this build)" msgstr "den Aufruf von grep(1) erlauben (von dieser Programmversion ignoriert)" -#: builtin/grep.c:793 +#: builtin/grep.c:811 msgid "no pattern given." msgstr "keine Muster angegeben" -#: builtin/grep.c:851 +#: builtin/grep.c:843 builtin/index-pack.c:1475 +#, c-format +msgid "invalid number of threads specified (%d)" +msgstr "ungΓΌltige Anzahl von Threads angegeben (%d)" + +#: builtin/grep.c:873 msgid "--open-files-in-pager only works on the worktree" msgstr "" "Die Option --open-files-in-pager kann nur innerhalb des " "Arbeitsverzeichnisses verwendet werden." -#: builtin/grep.c:877 +#: builtin/grep.c:899 msgid "--cached or --untracked cannot be used with --no-index." msgstr "" "Die Optionen --cached und --untracked kΓΆnnen nicht mit --no-index verwendet " "werden." -#: builtin/grep.c:882 +#: builtin/grep.c:904 msgid "--no-index or --untracked cannot be used with revs." msgstr "" "Die Optionen --no-index und --untracked kΓΆnnen nicht mit Commits verwendet " "werden." -#: builtin/grep.c:885 +#: builtin/grep.c:907 msgid "--[no-]exclude-standard cannot be used for tracked contents." msgstr "" "Die Option --[no-]exclude-standard kann nicht mit versionierten Inhalten " "verwendet werden." -#: builtin/grep.c:893 +#: builtin/grep.c:915 msgid "both --cached and trees are given." msgstr "Die Option --cached kann nicht mit \"Tree\"-Objekten verwendet werden." -#: builtin/hash-object.c:80 +#: builtin/hash-object.c:81 msgid "" "git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] " "[--] <file>..." @@ -6655,44 +6868,44 @@ msgstr "" "git hash-object [-t <Art>] [-w] [--path=<Datei> | --no-filters] [--stdin] " "[--] <Datei>..." -#: builtin/hash-object.c:81 +#: builtin/hash-object.c:82 msgid "git hash-object --stdin-paths" msgstr "git hash-object --stdin-paths" -#: builtin/hash-object.c:92 +#: builtin/hash-object.c:93 msgid "type" msgstr "Art" -#: builtin/hash-object.c:92 +#: builtin/hash-object.c:93 msgid "object type" msgstr "Art des Objektes" -#: builtin/hash-object.c:93 +#: builtin/hash-object.c:94 msgid "write the object into the object database" msgstr "das Objekt in die Objektdatenbank schreiben" -#: builtin/hash-object.c:95 +#: builtin/hash-object.c:96 msgid "read the object from stdin" msgstr "das Objekt von der Standard-Eingabe lesen" -#: builtin/hash-object.c:97 +#: builtin/hash-object.c:98 msgid "store file as is without filters" msgstr "Datei wie sie ist speichern, ohne Filter" -#: builtin/hash-object.c:98 +#: builtin/hash-object.c:99 msgid "" "just hash any random garbage to create corrupt objects for debugging Git" msgstr "" "Hash ΓΌber zufΓ€llige Daten, zur Erzeugung von beschΓ€digten Objekten zur\n" "Fehlersuche in Git, erzeugen" -#: builtin/hash-object.c:99 +#: builtin/hash-object.c:100 msgid "process file as it were from this path" msgstr "Datei verarbeiten, als ob sie von diesem Pfad wΓ€re" #: builtin/help.c:41 msgid "print all available commands" -msgstr "alle vorhandenen Kommandos anzeigen" +msgstr "alle vorhandenen Befehle anzeigen" #: builtin/help.c:42 msgid "print list of useful guides" @@ -6712,7 +6925,7 @@ msgstr "Info-Seite anzeigen" #: builtin/help.c:52 msgid "git help [--all] [--guides] [--man | --web | --info] [<command>]" -msgstr "git help [--all] [--guides] [--man | --web | --info] [<Kommando>]" +msgstr "git help [--all] [--guides] [--man | --web | --info] [<Befehl>]" #: builtin/help.c:64 #, c-format @@ -6737,7 +6950,7 @@ msgstr "Version des emacsclient '%d' ist zu alt (< 22)." msgid "failed to exec '%s': %s" msgstr "Fehler beim AusfΓΌhren von '%s': %s" -#: builtin/help.c:208 +#: builtin/help.c:205 #, c-format msgid "" "'%s': path for unsupported man viewer.\n" @@ -6746,70 +6959,70 @@ msgstr "" "'%s': Pfad fΓΌr nicht unterstΓΌtzten Handbuchbetrachter.\n" "Sie kΓΆnnten stattdessen 'man.<Werkzeug>.cmd' benutzen." -#: builtin/help.c:220 +#: builtin/help.c:217 #, c-format msgid "" "'%s': cmd for supported man viewer.\n" "Please consider using 'man.<tool>.path' instead." msgstr "" -"'%s': Kommando fΓΌr unterstΓΌtzten Handbuchbetrachter.\n" +"'%s': Programm fΓΌr unterstΓΌtzten Handbuchbetrachter.\n" "Sie kΓΆnnten stattdessen 'man.<Werkzeug>.path' benutzen." -#: builtin/help.c:337 +#: builtin/help.c:334 #, c-format msgid "'%s': unknown man viewer." msgstr "'%s': unbekannter Handbuch-Betrachter." -#: builtin/help.c:354 +#: builtin/help.c:351 msgid "no man viewer handled the request" msgstr "kein Handbuch-Betrachter konnte mit dieser Anfrage umgehen" -#: builtin/help.c:362 +#: builtin/help.c:359 msgid "no info viewer handled the request" msgstr "kein Informations-Betrachter konnte mit dieser Anfrage umgehen" -#: builtin/help.c:411 +#: builtin/help.c:408 msgid "Defining attributes per path" msgstr "Definition von Attributen pro Pfad" -#: builtin/help.c:412 +#: builtin/help.c:409 msgid "Everyday Git With 20 Commands Or So" -msgstr "TΓ€gliche Benutzung von Git mit ungefΓ€hr 20 Kommandos" +msgstr "TΓ€gliche Benutzung von Git mit ungefΓ€hr 20 Befehlen" -#: builtin/help.c:413 +#: builtin/help.c:410 msgid "A Git glossary" msgstr "Ein Git-Glossar" -#: builtin/help.c:414 +#: builtin/help.c:411 msgid "Specifies intentionally untracked files to ignore" msgstr "Spezifikation von bewusst ignorierten, unversionierten Dateien" -#: builtin/help.c:415 +#: builtin/help.c:412 msgid "Defining submodule properties" msgstr "Definition von Submodul-Eigenschaften" -#: builtin/help.c:416 +#: builtin/help.c:413 msgid "Specifying revisions and ranges for Git" msgstr "Spezifikation von Commits und Bereichen fΓΌr Git" -#: builtin/help.c:417 +#: builtin/help.c:414 msgid "A tutorial introduction to Git (for version 1.5.1 or newer)" msgstr "Eine einfΓΌhrende Anleitung zu Git (fΓΌr Version 1.5.1 oder neuer)" -#: builtin/help.c:418 +#: builtin/help.c:415 msgid "An overview of recommended workflows with Git" msgstr "Eine Γbersicht ΓΌber empfohlene ArbeitsablΓ€ufe mit Git" -#: builtin/help.c:430 +#: builtin/help.c:427 msgid "The common Git guides are:\n" msgstr "Die allgemein verwendeten Git-Anleitungen sind:\n" -#: builtin/help.c:451 builtin/help.c:468 +#: builtin/help.c:448 builtin/help.c:465 #, c-format msgid "usage: %s%s" msgstr "Verwendung: %s%s" -#: builtin/help.c:484 +#: builtin/help.c:481 #, c-format msgid "`git %s' is aliased to `%s'" msgstr "fΓΌr `git %s' wurde der Alias `%s' angelegt" @@ -7046,60 +7259,55 @@ msgstr "Kann Indexdatei nicht speichern" msgid "bad pack.indexversion=%<PRIu32>" msgstr "\"pack.indexversion=%<PRIu32>\" ist ungΓΌltig" -#: builtin/index-pack.c:1475 -#, c-format -msgid "invalid number of threads specified (%d)" -msgstr "ungΓΌltige Anzahl von Threads angegeben (%d)" - -#: builtin/index-pack.c:1479 builtin/index-pack.c:1663 +#: builtin/index-pack.c:1479 builtin/index-pack.c:1664 #, c-format msgid "no threads support, ignoring %s" msgstr "keine UnterstΓΌtzung von Threads, '%s' wird ignoriert" -#: builtin/index-pack.c:1537 +#: builtin/index-pack.c:1538 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "Kann existierende Paketdatei '%s' nicht ΓΆffnen" -#: builtin/index-pack.c:1539 +#: builtin/index-pack.c:1540 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "Kann existierende Indexdatei fΓΌr Paket '%s' nicht ΓΆffnen" -#: builtin/index-pack.c:1586 +#: builtin/index-pack.c:1587 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" msgstr[0] "kein Unterschied: %d Objekt" msgstr[1] "kein Unterschied: %d Objekte" -#: builtin/index-pack.c:1593 +#: builtin/index-pack.c:1594 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" msgstr[0] "LΓ€nge der Objekt-Liste = %d: %lu Objekt" msgstr[1] "LΓ€nge der Objekt-Liste = %d: %lu Objekte" -#: builtin/index-pack.c:1623 +#: builtin/index-pack.c:1624 msgid "Cannot come back to cwd" msgstr "Kann nicht zurΓΌck zu Arbeitsverzeichnis wechseln" -#: builtin/index-pack.c:1675 builtin/index-pack.c:1678 -#: builtin/index-pack.c:1690 builtin/index-pack.c:1694 +#: builtin/index-pack.c:1676 builtin/index-pack.c:1679 +#: builtin/index-pack.c:1691 builtin/index-pack.c:1695 #, c-format msgid "bad %s" msgstr "%s ist ungΓΌltig" -#: builtin/index-pack.c:1708 +#: builtin/index-pack.c:1709 msgid "--fix-thin cannot be used without --stdin" msgstr "Die Option --fix-thin kann nicht ohne --stdin verwendet werden." -#: builtin/index-pack.c:1712 builtin/index-pack.c:1721 +#: builtin/index-pack.c:1713 builtin/index-pack.c:1722 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "Name der Paketdatei '%s' endet nicht mit '.pack'" -#: builtin/index-pack.c:1729 +#: builtin/index-pack.c:1730 msgid "--verify with no packfile name given" msgstr "Die Option --verify wurde ohne Namen der Paketdatei angegeben." @@ -7225,24 +7433,32 @@ msgstr "Kann nicht auf Arbeitsverzeichnis '%s' zugreifen." #: builtin/interpret-trailers.c:15 msgid "" -"git interpret-trailers [--trim-empty] [(--trailer <token>[(=|:)<value>])...] " -"[<file>...]" +"git interpret-trailers [--in-place] [--trim-empty] [(--trailer " +"<token>[(=|:)<value>])...] [<file>...]" msgstr "" -"git interpret-trailers [--trim-empty] [(--trailer <Token>[(=|:)<Wert>])...] " -"[<Datei>...]" +"git interpret-trailers [--in-place] [--trim-empty] [(--trailer " +"<Token>[(=|:)<Wert>])...] [<Datei>...]" -#: builtin/interpret-trailers.c:25 +#: builtin/interpret-trailers.c:26 +msgid "edit files in place" +msgstr "vorhandene Dateien direkt bearbeiten" + +#: builtin/interpret-trailers.c:27 msgid "trim empty trailers" msgstr "kΓΌrzt leere AnhΓ€nge" -#: builtin/interpret-trailers.c:26 +#: builtin/interpret-trailers.c:28 msgid "trailer" msgstr "Anhang" -#: builtin/interpret-trailers.c:27 +#: builtin/interpret-trailers.c:29 msgid "trailer(s) to add" msgstr "Anhang/AnhΓ€nge hinzufΓΌgen" +#: builtin/interpret-trailers.c:42 +msgid "no input file given for in-place editing" +msgstr "keine Datei zur direkten Bearbeitung angegeben" + #: builtin/log.c:43 msgid "git log [<options>] [<revision-range>] [[--] <path>...]" msgstr "git log [<Optionen>] [<Commitbereich>] [[--] <Pfad>...]" @@ -7296,226 +7512,226 @@ msgstr "Kann Objekt %s nicht lesen." msgid "Unknown type: %d" msgstr "Unbekannter Typ: %d" -#: builtin/log.c:714 +#: builtin/log.c:715 msgid "format.headers without value" msgstr "format.headers ohne Wert" -#: builtin/log.c:798 +#: builtin/log.c:801 msgid "name of output directory is too long" msgstr "Name des Ausgabeverzeichnisses ist zu lang." -#: builtin/log.c:813 +#: builtin/log.c:816 #, c-format msgid "Cannot open patch file %s" msgstr "Kann Patch-Datei %s nicht ΓΆffnen" -#: builtin/log.c:827 +#: builtin/log.c:830 msgid "Need exactly one range." msgstr "Brauche genau einen Commit-Bereich." -#: builtin/log.c:837 +#: builtin/log.c:840 msgid "Not a range." msgstr "Kein Commit-Bereich." -#: builtin/log.c:943 +#: builtin/log.c:946 msgid "Cover letter needs email format" msgstr "Anschreiben benΓΆtigt E-Mail-Format" -#: builtin/log.c:1022 +#: builtin/log.c:1025 #, c-format msgid "insane in-reply-to: %s" msgstr "ungΓΌltiges in-reply-to: %s" -#: builtin/log.c:1050 +#: builtin/log.c:1053 msgid "git format-patch [<options>] [<since> | <revision-range>]" msgstr "git format-patch [<Optionen>] [<seit> | <Commitbereich>]" -#: builtin/log.c:1095 +#: builtin/log.c:1098 msgid "Two output directories?" msgstr "Zwei Ausgabeverzeichnisse?" -#: builtin/log.c:1211 +#: builtin/log.c:1214 msgid "use [PATCH n/m] even with a single patch" msgstr "[PATCH n/m] auch mit einzelnem Patch verwenden" -#: builtin/log.c:1214 +#: builtin/log.c:1217 msgid "use [PATCH] even with multiple patches" msgstr "[PATCH] auch mit mehreren Patches verwenden" -#: builtin/log.c:1218 +#: builtin/log.c:1221 msgid "print patches to standard out" msgstr "Ausgabe der Patches in Standard-Ausgabe" -#: builtin/log.c:1220 +#: builtin/log.c:1223 msgid "generate a cover letter" msgstr "ein Deckblatt erzeugen" -#: builtin/log.c:1222 +#: builtin/log.c:1225 msgid "use simple number sequence for output file names" msgstr "einfache Nummernfolge fΓΌr die Namen der Ausgabedateien verwenden" -#: builtin/log.c:1223 +#: builtin/log.c:1226 msgid "sfx" msgstr "Dateiendung" -#: builtin/log.c:1224 +#: builtin/log.c:1227 msgid "use <sfx> instead of '.patch'" msgstr "<Dateiendung> anstatt '.patch' verwenden" -#: builtin/log.c:1226 +#: builtin/log.c:1229 msgid "start numbering patches at <n> instead of 1" msgstr "die Nummerierung der Patches bei <n> anstatt bei 1 beginnen" -#: builtin/log.c:1228 +#: builtin/log.c:1231 msgid "mark the series as Nth re-roll" msgstr "die Serie als n-te Fassung kennzeichnen" -#: builtin/log.c:1230 +#: builtin/log.c:1233 msgid "Use [<prefix>] instead of [PATCH]" msgstr "[<PrΓ€fix>] anstatt [PATCH] verwenden" -#: builtin/log.c:1233 +#: builtin/log.c:1236 msgid "store resulting files in <dir>" msgstr "erzeugte Dateien in <Verzeichnis> speichern" -#: builtin/log.c:1236 +#: builtin/log.c:1239 msgid "don't strip/add [PATCH]" msgstr "[PATCH] nicht entfernen/hinzufΓΌgen" -#: builtin/log.c:1239 +#: builtin/log.c:1242 msgid "don't output binary diffs" msgstr "keine binΓ€ren Unterschiede ausgeben" -#: builtin/log.c:1241 +#: builtin/log.c:1244 msgid "output all-zero hash in From header" msgstr "Hash mit Nullen in \"From\"-Header ausgeben" -#: builtin/log.c:1243 +#: builtin/log.c:1246 msgid "don't include a patch matching a commit upstream" msgstr "" "keine Patches einschlieΓen, die einem Commit im Upstream-Branch entsprechen" -#: builtin/log.c:1245 +#: builtin/log.c:1248 msgid "show patch format instead of default (patch + stat)" msgstr "Patchformat anstatt des Standards anzeigen (Patch + Zusammenfassung)" -#: builtin/log.c:1247 +#: builtin/log.c:1250 msgid "Messaging" msgstr "E-Mail-Einstellungen" -#: builtin/log.c:1248 +#: builtin/log.c:1251 msgid "header" msgstr "Header" -#: builtin/log.c:1249 +#: builtin/log.c:1252 msgid "add email header" msgstr "E-Mail-Header hinzufΓΌgen" -#: builtin/log.c:1250 builtin/log.c:1252 +#: builtin/log.c:1253 builtin/log.c:1255 msgid "email" msgstr "E-Mail" -#: builtin/log.c:1250 +#: builtin/log.c:1253 msgid "add To: header" msgstr "\"To:\"-Header hinzufΓΌgen" -#: builtin/log.c:1252 +#: builtin/log.c:1255 msgid "add Cc: header" msgstr "\"Cc:\"-Header hinzufΓΌgen" -#: builtin/log.c:1254 +#: builtin/log.c:1257 msgid "ident" msgstr "Ident" -#: builtin/log.c:1255 +#: builtin/log.c:1258 msgid "set From address to <ident> (or committer ident if absent)" msgstr "" "\"From\"-Adresse auf <Ident> setzen (oder Ident des Commit-Erstellers, wenn " "fehlend)" -#: builtin/log.c:1257 +#: builtin/log.c:1260 msgid "message-id" msgstr "message-id" -#: builtin/log.c:1258 +#: builtin/log.c:1261 msgid "make first mail a reply to <message-id>" msgstr "aus erster E-Mail eine Antwort zu <message-id> machen" -#: builtin/log.c:1259 builtin/log.c:1262 +#: builtin/log.c:1262 builtin/log.c:1265 msgid "boundary" msgstr "Grenze" -#: builtin/log.c:1260 +#: builtin/log.c:1263 msgid "attach the patch" msgstr "den Patch anhΓ€ngen" -#: builtin/log.c:1263 +#: builtin/log.c:1266 msgid "inline the patch" msgstr "den Patch direkt in die Nachricht einfΓΌgen" -#: builtin/log.c:1267 +#: builtin/log.c:1270 msgid "enable message threading, styles: shallow, deep" msgstr "Nachrichtenverkettung aktivieren, Stile: shallow, deep" -#: builtin/log.c:1269 +#: builtin/log.c:1272 msgid "signature" msgstr "Signatur" -#: builtin/log.c:1270 +#: builtin/log.c:1273 msgid "add a signature" msgstr "eine Signatur hinzufΓΌgen" -#: builtin/log.c:1272 +#: builtin/log.c:1275 msgid "add a signature from a file" msgstr "eine Signatur aus einer Datei hinzufΓΌgen" -#: builtin/log.c:1273 +#: builtin/log.c:1276 msgid "don't print the patch filenames" msgstr "keine Dateinamen der Patches anzeigen" -#: builtin/log.c:1362 +#: builtin/log.c:1365 msgid "-n and -k are mutually exclusive." msgstr "Die Optionen -n und -k schlieΓen sich gegenseitig aus." -#: builtin/log.c:1364 +#: builtin/log.c:1367 msgid "--subject-prefix and -k are mutually exclusive." msgstr "Die Optionen --subject-prefix und -k schlieΓen sich gegenseitig aus." -#: builtin/log.c:1372 +#: builtin/log.c:1375 msgid "--name-only does not make sense" msgstr "Die Option --name-only kann nicht verwendet werden." -#: builtin/log.c:1374 +#: builtin/log.c:1377 msgid "--name-status does not make sense" msgstr "Die Option --name-status kann nicht verwendet werden." -#: builtin/log.c:1376 +#: builtin/log.c:1379 msgid "--check does not make sense" msgstr "Die Option --check kann nicht verwendet werden." -#: builtin/log.c:1401 +#: builtin/log.c:1407 msgid "standard output, or directory, which one?" msgstr "Standard-Ausgabe oder Verzeichnis, welches von beidem?" -#: builtin/log.c:1403 +#: builtin/log.c:1409 #, c-format msgid "Could not create directory '%s'" msgstr "Konnte Verzeichnis '%s' nicht erstellen." -#: builtin/log.c:1500 +#: builtin/log.c:1506 #, c-format msgid "unable to read signature file '%s'" msgstr "Konnte Signatur-Datei '%s' nicht lesen" -#: builtin/log.c:1563 +#: builtin/log.c:1569 msgid "Failed to create output files" msgstr "Fehler beim Erstellen der Ausgabedateien." -#: builtin/log.c:1611 +#: builtin/log.c:1617 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" msgstr "git cherry [-v] [<Upstream> [<Branch> [<Limit>]]]" -#: builtin/log.c:1665 +#: builtin/log.c:1671 #, c-format msgid "" "Could not find a tracked remote branch, please specify <upstream> manually.\n" @@ -7523,108 +7739,160 @@ msgstr "" "Konnte gefolgten Remote-Branch nicht finden, bitte geben Sie <Upstream> " "manuell an.\n" -#: builtin/log.c:1676 builtin/log.c:1678 builtin/log.c:1690 +#: builtin/log.c:1682 builtin/log.c:1684 builtin/log.c:1696 #, c-format msgid "Unknown commit %s" msgstr "Unbekannter Commit %s" -#: builtin/ls-files.c:358 +#: builtin/ls-files.c:378 msgid "git ls-files [<options>] [<file>...]" msgstr "git ls-files [<Optionen>] [<Datei>...]" -#: builtin/ls-files.c:415 +#: builtin/ls-files.c:427 msgid "identify the file status with tags" msgstr "den Dateistatus mit Tags anzeigen" -#: builtin/ls-files.c:417 +#: builtin/ls-files.c:429 msgid "use lowercase letters for 'assume unchanged' files" msgstr "" "Kleinbuchstaben fΓΌr Dateien mit 'assume unchanged' Markierung verwenden" -#: builtin/ls-files.c:419 +#: builtin/ls-files.c:431 msgid "show cached files in the output (default)" msgstr "zwischengespeicherte Dateien in der Ausgabe anzeigen (Standard)" -#: builtin/ls-files.c:421 +#: builtin/ls-files.c:433 msgid "show deleted files in the output" msgstr "entfernte Dateien in der Ausgabe anzeigen" -#: builtin/ls-files.c:423 +#: builtin/ls-files.c:435 msgid "show modified files in the output" msgstr "geΓ€nderte Dateien in der Ausgabe anzeigen" -#: builtin/ls-files.c:425 +#: builtin/ls-files.c:437 msgid "show other files in the output" msgstr "sonstige Dateien in der Ausgabe anzeigen" -#: builtin/ls-files.c:427 +#: builtin/ls-files.c:439 msgid "show ignored files in the output" msgstr "ignorierte Dateien in der Ausgabe anzeigen" -#: builtin/ls-files.c:430 +#: builtin/ls-files.c:442 msgid "show staged contents' object name in the output" msgstr "" "Objektnamen von Inhalten, die zum Commit vorgemerkt sind, in der Ausgabe " "anzeigen" -#: builtin/ls-files.c:432 +#: builtin/ls-files.c:444 msgid "show files on the filesystem that need to be removed" msgstr "Dateien im Dateisystem, die gelΓΆscht werden mΓΌssen, anzeigen" -#: builtin/ls-files.c:434 +#: builtin/ls-files.c:446 msgid "show 'other' directories' names only" msgstr "nur Namen von 'sonstigen' Verzeichnissen anzeigen" -#: builtin/ls-files.c:437 +#: builtin/ls-files.c:448 +msgid "show line endings of files" +msgstr "Zeilenenden von Dateien anzeigen" + +#: builtin/ls-files.c:450 msgid "don't show empty directories" msgstr "keine leeren Verzeichnisse anzeigen" -#: builtin/ls-files.c:440 +#: builtin/ls-files.c:453 msgid "show unmerged files in the output" msgstr "nicht zusammengefΓΌhrte Dateien in der Ausgabe anzeigen" -#: builtin/ls-files.c:442 +#: builtin/ls-files.c:455 msgid "show resolve-undo information" msgstr "'resolve-undo' Informationen anzeigen" -#: builtin/ls-files.c:444 +#: builtin/ls-files.c:457 msgid "skip files matching pattern" msgstr "Dateien auslassen, die einem Muster entsprechen" -#: builtin/ls-files.c:447 +#: builtin/ls-files.c:460 msgid "exclude patterns are read from <file>" msgstr "Muster, gelesen von <Datei>, ausschlieΓen" -#: builtin/ls-files.c:450 +#: builtin/ls-files.c:463 msgid "read additional per-directory exclude patterns in <file>" msgstr "zusΓ€tzliche pro-Verzeichnis Auschlussmuster aus <Datei> auslesen" -#: builtin/ls-files.c:452 +#: builtin/ls-files.c:465 msgid "add the standard git exclusions" msgstr "die standardmΓ€Γigen Git-AusschlΓΌsse hinzufΓΌgen" -#: builtin/ls-files.c:455 +#: builtin/ls-files.c:468 msgid "make the output relative to the project top directory" msgstr "Ausgabe relativ zum Projektverzeichnis" -#: builtin/ls-files.c:458 +#: builtin/ls-files.c:471 msgid "if any <file> is not in the index, treat this as an error" msgstr "als Fehler behandeln, wenn sich eine <Datei> nicht im Index befindet" -#: builtin/ls-files.c:459 +#: builtin/ls-files.c:472 msgid "tree-ish" msgstr "Commit-Referenz" -#: builtin/ls-files.c:460 +#: builtin/ls-files.c:473 msgid "pretend that paths removed since <tree-ish> are still present" msgstr "" "vorgeben, dass Pfade, die seit <Commit-Referenz> gelΓΆscht wurden, immer noch " "vorhanden sind" -#: builtin/ls-files.c:462 +#: builtin/ls-files.c:475 msgid "show debugging data" msgstr "Ausgaben zur Fehlersuche anzeigen" +#: builtin/ls-remote.c:7 +msgid "" +"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n" +" [-q | --quiet] [--exit-code] [--get-url]\n" +" [--symref] [<repository> [<refs>...]]" +msgstr "" +"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<Programm>]\n" +" [-q | --quiet] [--exit-code] [--get-url]\n" +" [--symref] [<Repository> [<Referenzen>...]]" + +#: builtin/ls-remote.c:50 +msgid "do not print remote URL" +msgstr "URL des Remote-Repositories nicht ausgeben" + +#: builtin/ls-remote.c:51 builtin/ls-remote.c:53 +msgid "exec" +msgstr "Programm" + +#: builtin/ls-remote.c:52 builtin/ls-remote.c:54 +msgid "path of git-upload-pack on the remote host" +msgstr "Pfad zu \"git-upload-pack\" auf der Gegenseite" + +#: builtin/ls-remote.c:56 +msgid "limit to tags" +msgstr "auf Tags einschrΓ€nken" + +#: builtin/ls-remote.c:57 +msgid "limit to heads" +msgstr "auf Branches einschrΓ€nken" + +#: builtin/ls-remote.c:58 +msgid "do not show peeled tags" +msgstr "keine Tags anzeigen, die andere Tags enthalten" + +#: builtin/ls-remote.c:60 +msgid "take url.<base>.insteadOf into account" +msgstr "url.<Basis>.insteadOf berΓΌcksichtigen" + +#: builtin/ls-remote.c:62 +msgid "exit with exit code 2 if no matching refs are found" +msgstr "" +"mit RΓΌckkehrwert 2 beenden, wenn keine ΓΌbereinstimmenden Referenzen\n" +"gefunden wurden" + +#: builtin/ls-remote.c:64 +msgid "show underlying ref in addition to the object pointed by it" +msgstr "zusΓ€tzlich die auf durch dieses Objekt verwiesene Referenzen anzeigen" + #: builtin/ls-tree.c:28 msgid "git ls-tree [<options>] <tree-ish> [<path>...]" msgstr "git ls-tree [<Optionen>] <Commit-Referenz> [<Pfad>...]" @@ -7694,33 +7962,33 @@ msgstr "VerfΓΌgbare Strategien sind:" msgid "Available custom strategies are:" msgstr "VerfΓΌgbare benutzerdefinierte Strategien sind:" -#: builtin/merge.c:193 builtin/pull.c:119 +#: builtin/merge.c:193 builtin/pull.c:123 msgid "do not show a diffstat at the end of the merge" msgstr "keine Zusammenfassung der Unterschiede am Schluss des Merges anzeigen" -#: builtin/merge.c:196 builtin/pull.c:122 +#: builtin/merge.c:196 builtin/pull.c:126 msgid "show a diffstat at the end of the merge" msgstr "eine Zusammenfassung der Unterschiede am Schluss des Merges anzeigen" -#: builtin/merge.c:197 builtin/pull.c:125 +#: builtin/merge.c:197 builtin/pull.c:129 msgid "(synonym to --stat)" msgstr "(Synonym fΓΌr --stat)" -#: builtin/merge.c:199 builtin/pull.c:128 +#: builtin/merge.c:199 builtin/pull.c:132 msgid "add (at most <n>) entries from shortlog to merge commit message" msgstr "" "(hΓΆchstens <n>) EintrΓ€ge von \"shortlog\" zur Beschreibung des Merge-Commits " "hinzufΓΌgen" -#: builtin/merge.c:202 builtin/pull.c:131 +#: builtin/merge.c:202 builtin/pull.c:135 msgid "create a single commit instead of doing a merge" msgstr "einen einzelnen Commit anstatt eines Merges erzeugen" -#: builtin/merge.c:204 builtin/pull.c:134 +#: builtin/merge.c:204 builtin/pull.c:138 msgid "perform a commit if the merge succeeds (default)" msgstr "einen Commit durchfΓΌhren, wenn der Merge erfolgreich war (Standard)" -#: builtin/merge.c:206 builtin/pull.c:137 +#: builtin/merge.c:206 builtin/pull.c:141 msgid "edit message before committing" msgstr "Bearbeitung der Beschreibung vor dem Commit" @@ -7728,7 +7996,7 @@ msgstr "Bearbeitung der Beschreibung vor dem Commit" msgid "allow fast-forward (default)" msgstr "Vorspulen erlauben (Standard)" -#: builtin/merge.c:209 builtin/pull.c:143 +#: builtin/merge.c:209 builtin/pull.c:147 msgid "abort if fast-forward is not possible" msgstr "abbrechen, wenn kein Vorspulen mΓΆglich ist" @@ -7736,20 +8004,20 @@ msgstr "abbrechen, wenn kein Vorspulen mΓΆglich ist" msgid "Verify that the named commit has a valid GPG signature" msgstr "den genannten Commit auf eine gΓΌltige GPG-Signatur ΓΌberprΓΌfen" -#: builtin/merge.c:214 builtin/notes.c:767 builtin/pull.c:148 +#: builtin/merge.c:214 builtin/notes.c:770 builtin/pull.c:152 #: builtin/revert.c:89 msgid "strategy" msgstr "Strategie" -#: builtin/merge.c:215 builtin/pull.c:149 +#: builtin/merge.c:215 builtin/pull.c:153 msgid "merge strategy to use" msgstr "zu verwendende Merge-Strategie" -#: builtin/merge.c:216 builtin/pull.c:152 +#: builtin/merge.c:216 builtin/pull.c:156 msgid "option=value" msgstr "Option=Wert" -#: builtin/merge.c:217 builtin/pull.c:153 +#: builtin/merge.c:217 builtin/pull.c:157 msgid "option for selected merge strategy" msgstr "Option fΓΌr ausgewΓ€hlte Merge-Strategie" @@ -7788,8 +8056,8 @@ msgstr " (nichts zu quetschen)" msgid "Squash commit -- not updating HEAD\n" msgstr "Quetsche Commit -- HEAD wird nicht aktualisiert\n" -#: builtin/merge.c:344 builtin/merge.c:763 builtin/merge.c:975 -#: builtin/merge.c:988 +#: builtin/merge.c:344 builtin/merge.c:764 builtin/merge.c:976 +#: builtin/merge.c:989 #, c-format msgid "Could not write to '%s'" msgstr "Konnte nicht nach '%s' schreiben." @@ -7807,43 +8075,43 @@ msgstr "SchlieΓe SQUASH_MSG ab" msgid "No merge message -- not updating HEAD\n" msgstr "Keine Merge-Commit-Beschreibung -- HEAD wird nicht aktualisiert\n" -#: builtin/merge.c:447 +#: builtin/merge.c:448 #, c-format msgid "'%s' does not point to a commit" msgstr "'%s' zeigt auf keinen Commit" -#: builtin/merge.c:537 +#: builtin/merge.c:538 #, c-format msgid "Bad branch.%s.mergeoptions string: %s" msgstr "UngΓΌltiger branch.%s.mergeoptions String: %s" -#: builtin/merge.c:656 +#: builtin/merge.c:657 msgid "Not handling anything other than two heads merge." msgstr "Es wird nur der Merge von zwei Branches behandelt." -#: builtin/merge.c:670 +#: builtin/merge.c:671 #, c-format msgid "Unknown option for merge-recursive: -X%s" msgstr "Unbekannte Option fΓΌr merge-recursive: -X%s" -#: builtin/merge.c:683 +#: builtin/merge.c:684 #, c-format msgid "unable to write %s" msgstr "konnte %s nicht schreiben" -#: builtin/merge.c:772 +#: builtin/merge.c:773 #, c-format msgid "Could not read from '%s'" msgstr "konnte nicht von '%s' lesen" -#: builtin/merge.c:781 +#: builtin/merge.c:782 #, c-format msgid "Not committing merge; use 'git commit' to complete the merge.\n" msgstr "" "Merge wurde nicht committet; benutzen Sie 'git commit', um den Merge " "abzuschlieΓen.\n" -#: builtin/merge.c:787 +#: builtin/merge.c:788 #, c-format msgid "" "Please enter a commit message to explain why this merge is necessary,\n" @@ -7859,55 +8127,55 @@ msgstr "" "Zeilen beginnend mit '%c' werden ignoriert, und eine leere Beschreibung\n" "bricht den Commit ab.\n" -#: builtin/merge.c:811 +#: builtin/merge.c:812 msgid "Empty commit message." msgstr "Leere Commit-Beschreibung" -#: builtin/merge.c:823 +#: builtin/merge.c:824 #, c-format msgid "Wonderful.\n" msgstr "Wunderbar.\n" -#: builtin/merge.c:878 +#: builtin/merge.c:879 #, c-format msgid "Automatic merge failed; fix conflicts and then commit the result.\n" msgstr "" "Automatischer Merge fehlgeschlagen; beheben Sie die Konflikte und committen " "Sie dann das Ergebnis.\n" -#: builtin/merge.c:894 +#: builtin/merge.c:895 #, c-format msgid "'%s' is not a commit" msgstr "'%s' ist kein Commit" -#: builtin/merge.c:935 +#: builtin/merge.c:936 msgid "No current branch." msgstr "Sie befinden sich auf keinem Branch." -#: builtin/merge.c:937 +#: builtin/merge.c:938 msgid "No remote for the current branch." msgstr "Kein Remote-Repository fΓΌr den aktuellen Branch." -#: builtin/merge.c:939 +#: builtin/merge.c:940 msgid "No default upstream defined for the current branch." msgstr "" "Es ist kein Standard-Upstream-Branch fΓΌr den aktuellen Branch definiert." -#: builtin/merge.c:944 +#: builtin/merge.c:945 #, c-format msgid "No remote-tracking branch for %s from %s" msgstr "Kein Remote-Tracking-Branch fΓΌr %s von %s" -#: builtin/merge.c:1079 +#: builtin/merge.c:1080 #, c-format msgid "could not close '%s'" msgstr "Konnte '%s' nicht schlieΓen" -#: builtin/merge.c:1206 +#: builtin/merge.c:1207 msgid "There is no merge to abort (MERGE_HEAD missing)." msgstr "Es gibt keinen Merge zum Abbrechen (MERGE_HEAD fehlt)" -#: builtin/merge.c:1222 +#: builtin/merge.c:1223 msgid "" "You have not concluded your merge (MERGE_HEAD exists).\n" "Please, commit your changes before you merge." @@ -7915,7 +8183,7 @@ msgstr "" "Sie haben Ihren Merge nicht abgeschlossen (MERGE_HEAD existiert).\n" "Bitte committen Sie Ihre Γnderungen, bevor Sie den Merge ausfΓΌhren." -#: builtin/merge.c:1229 +#: builtin/merge.c:1230 msgid "" "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n" "Please, commit your changes before you merge." @@ -7923,105 +8191,105 @@ msgstr "" "Sie haben \"cherry-pick\" nicht abgeschlossen (CHERRY_PICK_HEAD existiert).\n" "Bitte committen Sie Ihre Γnderungen, bevor Sie den Merge ausfΓΌhren." -#: builtin/merge.c:1232 +#: builtin/merge.c:1233 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)." msgstr "" "Sie haben \"cherry-pick\" nicht abgeschlossen (CHERRY_PICK_HEAD existiert)." -#: builtin/merge.c:1241 +#: builtin/merge.c:1242 msgid "You cannot combine --squash with --no-ff." msgstr "Sie kΓΆnnen --squash nicht mit --no-ff kombinieren." -#: builtin/merge.c:1249 +#: builtin/merge.c:1250 msgid "No commit specified and merge.defaultToUpstream not set." msgstr "Kein Commit angegeben und merge.defaultToUpstream ist nicht gesetzt." -#: builtin/merge.c:1266 +#: builtin/merge.c:1267 msgid "Squash commit into empty head not supported yet" msgstr "" "Bin auf einem Commit, der noch geboren wird; kann \"squash\" nicht ausfΓΌhren." -#: builtin/merge.c:1268 +#: builtin/merge.c:1269 msgid "Non-fast-forward commit does not make sense into an empty head" msgstr "" "Nicht vorzuspulender Commit kann nicht in einem leeren Branch verwendet " "werden." -#: builtin/merge.c:1274 +#: builtin/merge.c:1275 #, c-format msgid "%s - not something we can merge" msgstr "%s - nichts was wir zusammenfΓΌhren kΓΆnnen" -#: builtin/merge.c:1276 +#: builtin/merge.c:1277 msgid "Can merge only exactly one commit into empty head" msgstr "Kann nur exakt einen Commit in einem leeren Branch zusammenfΓΌhren." -#: builtin/merge.c:1331 +#: builtin/merge.c:1332 #, c-format msgid "Commit %s has an untrusted GPG signature, allegedly by %s." msgstr "" "Commit %s hat eine nicht vertrauenswΓΌrdige GPG-Signatur, angeblich von %s." -#: builtin/merge.c:1334 +#: builtin/merge.c:1335 #, c-format msgid "Commit %s has a bad GPG signature allegedly by %s." msgstr "Commit %s hat eine ungΓΌltige GPG-Signatur, angeblich von %s." -#: builtin/merge.c:1337 +#: builtin/merge.c:1338 #, c-format msgid "Commit %s does not have a GPG signature." msgstr "Commit %s hat keine GPG-Signatur." -#: builtin/merge.c:1340 +#: builtin/merge.c:1341 #, c-format msgid "Commit %s has a good GPG signature by %s\n" msgstr "Commit %s hat eine gΓΌltige GPG-Signatur von %s\n" -#: builtin/merge.c:1423 +#: builtin/merge.c:1424 #, c-format msgid "Updating %s..%s\n" msgstr "Aktualisiere %s..%s\n" -#: builtin/merge.c:1460 +#: builtin/merge.c:1461 #, c-format msgid "Trying really trivial in-index merge...\n" msgstr "Probiere wirklich trivialen \"in-index\"-Merge ...\n" -#: builtin/merge.c:1467 +#: builtin/merge.c:1468 #, c-format msgid "Nope.\n" msgstr "Nein.\n" -#: builtin/merge.c:1499 +#: builtin/merge.c:1500 msgid "Not possible to fast-forward, aborting." msgstr "Vorspulen nicht mΓΆglich, breche ab." -#: builtin/merge.c:1522 builtin/merge.c:1601 +#: builtin/merge.c:1523 builtin/merge.c:1602 #, c-format msgid "Rewinding the tree to pristine...\n" msgstr "RΓΌcklauf des Verzeichnisses bis zum Ursprung ...\n" -#: builtin/merge.c:1526 +#: builtin/merge.c:1527 #, c-format msgid "Trying merge strategy %s...\n" msgstr "Probiere Merge-Strategie %s ...\n" -#: builtin/merge.c:1592 +#: builtin/merge.c:1593 #, c-format msgid "No merge strategy handled the merge.\n" msgstr "Keine Merge-Strategie behandelt diesen Merge.\n" -#: builtin/merge.c:1594 +#: builtin/merge.c:1595 #, c-format msgid "Merge with strategy %s failed.\n" msgstr "Merge mit Strategie %s fehlgeschlagen.\n" -#: builtin/merge.c:1603 +#: builtin/merge.c:1604 #, c-format msgid "Using the %s to prepare resolving by hand.\n" msgstr "Benutzen Sie \"%s\", um die AuflΓΆsung per Hand vorzubereiten.\n" -#: builtin/merge.c:1615 +#: builtin/merge.c:1616 #, c-format msgid "Automatic merge went well; stopped before committing as requested\n" msgstr "" @@ -8107,19 +8375,19 @@ msgstr "keine Warnung bei Konflikten" msgid "set labels for file1/orig-file/file2" msgstr "Beschriftung fΓΌr Datei1/orig-Datei/Datei2 setzen" -#: builtin/mktree.c:64 +#: builtin/mktree.c:65 msgid "git mktree [-z] [--missing] [--batch]" msgstr "git mktree [-z] [--missing] [--batch]" -#: builtin/mktree.c:150 +#: builtin/mktree.c:152 msgid "input is NUL terminated" msgstr "Eingabe ist durch NUL-Zeichen abgeschlossen" -#: builtin/mktree.c:151 builtin/write-tree.c:24 +#: builtin/mktree.c:153 builtin/write-tree.c:24 msgid "allow missing objects" msgstr "fehlende Objekte erlauben" -#: builtin/mktree.c:152 +#: builtin/mktree.c:154 msgid "allow creation of more than one tree" msgstr "die Erstellung von mehr als einem \"Tree\"-Objekt erlauben" @@ -8127,93 +8395,93 @@ msgstr "die Erstellung von mehr als einem \"Tree\"-Objekt erlauben" msgid "git mv [<options>] <source>... <destination>" msgstr "git mv [<Optionen>] <Quelle>... <Ziel>" -#: builtin/mv.c:69 +#: builtin/mv.c:70 #, c-format msgid "Directory %s is in index and no submodule?" msgstr "Verzeichnis %s ist zum Commit vorgemerkt und kein Submodul?" -#: builtin/mv.c:71 +#: builtin/mv.c:72 msgid "Please stage your changes to .gitmodules or stash them to proceed" msgstr "" "Bitte merken Sie Ihre Γnderungen in .gitmodules zum Commit vor oder " "benutzen\n" "Sie \"stash\", um fortzufahren." -#: builtin/mv.c:89 +#: builtin/mv.c:90 #, c-format msgid "%.*s is in index" msgstr "%.*s ist zum Commit vorgemerkt" -#: builtin/mv.c:111 +#: builtin/mv.c:112 msgid "force move/rename even if target exists" msgstr "Verschieben/Umbenennen erzwingen, auch wenn das Ziel existiert" -#: builtin/mv.c:112 +#: builtin/mv.c:113 msgid "skip move/rename errors" msgstr "Fehler beim Verschieben oder Umbenennen ΓΌberspringen" -#: builtin/mv.c:151 +#: builtin/mv.c:152 #, c-format msgid "destination '%s' is not a directory" msgstr "Ziel '%s' ist kein Verzeichnis" -#: builtin/mv.c:162 +#: builtin/mv.c:163 #, c-format msgid "Checking rename of '%s' to '%s'\n" msgstr "PrΓΌfe Umbenennung von '%s' nach '%s'\n" -#: builtin/mv.c:166 +#: builtin/mv.c:167 msgid "bad source" msgstr "ungΓΌltige Quelle" -#: builtin/mv.c:169 +#: builtin/mv.c:170 msgid "can not move directory into itself" msgstr "kann Verzeichnis nicht in sich selbst verschieben" -#: builtin/mv.c:172 +#: builtin/mv.c:173 msgid "cannot move directory over file" msgstr "kann Verzeichnis nicht ΓΌber Datei verschieben" -#: builtin/mv.c:181 +#: builtin/mv.c:182 msgid "source directory is empty" msgstr "Quellverzeichnis ist leer" -#: builtin/mv.c:206 +#: builtin/mv.c:207 msgid "not under version control" msgstr "nicht unter Versionskontrolle" -#: builtin/mv.c:209 +#: builtin/mv.c:210 msgid "destination exists" msgstr "Ziel existiert bereits" -#: builtin/mv.c:217 +#: builtin/mv.c:218 #, c-format msgid "overwriting '%s'" msgstr "ΓΌberschreibe '%s'" -#: builtin/mv.c:220 +#: builtin/mv.c:221 msgid "Cannot overwrite" msgstr "Kann nicht ΓΌberschreiben" -#: builtin/mv.c:223 +#: builtin/mv.c:224 msgid "multiple sources for the same target" msgstr "mehrere Quellen fΓΌr das selbe Ziel" -#: builtin/mv.c:225 +#: builtin/mv.c:226 msgid "destination directory does not exist" msgstr "Zielverzeichnis existiert nicht" -#: builtin/mv.c:232 +#: builtin/mv.c:233 #, c-format msgid "%s, source=%s, destination=%s" msgstr "%s, Quelle=%s, Ziel=%s" -#: builtin/mv.c:253 +#: builtin/mv.c:254 #, c-format msgid "Renaming %s to %s\n" msgstr "Benenne %s nach %s um\n" -#: builtin/mv.c:256 builtin/remote.c:728 builtin/repack.c:365 +#: builtin/mv.c:257 builtin/remote.c:714 builtin/repack.c:365 #, c-format msgid "renaming '%s' failed" msgstr "Umbenennung von '%s' fehlgeschlagen" @@ -8414,9 +8682,9 @@ msgid "could not open or read '%s'" msgstr "konnte '%s' nicht ΓΆffnen oder lesen" #: builtin/notes.c:253 builtin/notes.c:304 builtin/notes.c:306 -#: builtin/notes.c:366 builtin/notes.c:421 builtin/notes.c:507 -#: builtin/notes.c:512 builtin/notes.c:590 builtin/notes.c:653 -#: builtin/notes.c:877 builtin/tag.c:456 +#: builtin/notes.c:369 builtin/notes.c:424 builtin/notes.c:510 +#: builtin/notes.c:515 builtin/notes.c:593 builtin/notes.c:656 +#: builtin/notes.c:880 builtin/tag.c:456 #, c-format msgid "Failed to resolve '%s' as a valid ref." msgstr "Konnte '%s' nicht als gΓΌltige Referenz auflΓΆsen." @@ -8431,42 +8699,42 @@ msgstr "Fehler beim Lesen des Objektes '%s'." msgid "Cannot read note data from non-blob object '%s'." msgstr "Kann Notiz-Daten nicht von Nicht-Blob Objekt '%s' lesen." -#: builtin/notes.c:359 builtin/notes.c:414 builtin/notes.c:490 -#: builtin/notes.c:502 builtin/notes.c:578 builtin/notes.c:646 -#: builtin/notes.c:942 +#: builtin/notes.c:362 builtin/notes.c:417 builtin/notes.c:493 +#: builtin/notes.c:505 builtin/notes.c:581 builtin/notes.c:649 +#: builtin/notes.c:945 msgid "too many parameters" msgstr "zu viele Parameter" -#: builtin/notes.c:372 builtin/notes.c:659 +#: builtin/notes.c:375 builtin/notes.c:662 #, c-format msgid "No note found for object %s." msgstr "Keine Notiz fΓΌr Objekt %s gefunden." -#: builtin/notes.c:393 builtin/notes.c:556 +#: builtin/notes.c:396 builtin/notes.c:559 msgid "note contents as a string" msgstr "Notizinhalte als Zeichenkette" -#: builtin/notes.c:396 builtin/notes.c:559 +#: builtin/notes.c:399 builtin/notes.c:562 msgid "note contents in a file" msgstr "Notizinhalte in einer Datei" -#: builtin/notes.c:399 builtin/notes.c:562 +#: builtin/notes.c:402 builtin/notes.c:565 msgid "reuse and edit specified note object" msgstr "Wiederverwendung und Bearbeitung des angegebenen Notiz-Objektes" -#: builtin/notes.c:402 builtin/notes.c:565 +#: builtin/notes.c:405 builtin/notes.c:568 msgid "reuse specified note object" msgstr "Wiederverwendung des angegebenen Notiz-Objektes" -#: builtin/notes.c:405 builtin/notes.c:568 +#: builtin/notes.c:408 builtin/notes.c:571 msgid "allow storing empty note" msgstr "Speichern leerer Notiz erlauben" -#: builtin/notes.c:406 builtin/notes.c:477 +#: builtin/notes.c:409 builtin/notes.c:480 msgid "replace existing notes" msgstr "existierende Notizen ersetzen" -#: builtin/notes.c:431 +#: builtin/notes.c:434 #, c-format msgid "" "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite " @@ -8475,31 +8743,31 @@ msgstr "" "Konnte Notizen nicht hinzufΓΌgen. Existierende Notizen fΓΌr Objekt %s " "gefunden. Verwenden Sie '-f', um die existierenden Notizen zu ΓΌberschreiben." -#: builtin/notes.c:446 builtin/notes.c:525 +#: builtin/notes.c:449 builtin/notes.c:528 #, c-format msgid "Overwriting existing notes for object %s\n" msgstr "Γberschreibe existierende Notizen fΓΌr Objekt %s\n" -#: builtin/notes.c:457 builtin/notes.c:618 builtin/notes.c:882 +#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:885 #, c-format msgid "Removing note for object %s\n" msgstr "Entferne Notiz fΓΌr Objekt %s\n" -#: builtin/notes.c:478 +#: builtin/notes.c:481 msgid "read objects from stdin" msgstr "Objekte von der Standard-Eingabe lesen" -#: builtin/notes.c:480 +#: builtin/notes.c:483 msgid "load rewriting config for <command> (implies --stdin)" msgstr "" -"Konfiguration fΓΌr <Kommando> beim Umschreiben von Versionen laden " -"(impliziert --stdin)" +"Konfiguration fΓΌr <Befehl> zum Umschreiben von Commits laden (impliziert --" +"stdin)" -#: builtin/notes.c:498 +#: builtin/notes.c:501 msgid "too few parameters" msgstr "zu wenig Parameter" -#: builtin/notes.c:519 +#: builtin/notes.c:522 #, c-format msgid "" "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite " @@ -8508,29 +8776,29 @@ msgstr "" "Kann Notizen nicht kopieren. Existierende Notizen fΓΌr Objekt %s gefunden. " "Verwenden Sie '-f', um die existierenden Notizen zu ΓΌberschreiben." -#: builtin/notes.c:531 +#: builtin/notes.c:534 #, c-format msgid "Missing notes on source object %s. Cannot copy." msgstr "Keine Notizen fΓΌr Quell-Objekt %s. Kopie nicht mΓΆglich." -#: builtin/notes.c:583 +#: builtin/notes.c:586 #, c-format msgid "" "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n" "Please use 'git notes add -f -m/-F/-c/-C' instead.\n" msgstr "" -"Die Optionen -m/-F/-c/-C sind fΓΌr das Unterkommando 'edit' veraltet.\n" +"Die Optionen -m/-F/-c/-C sind fΓΌr den Unterbefehl 'edit' veraltet.\n" "Bitte benutzen Sie stattdessen 'git notes add -f -m/-F/-c/-C'.\n" -#: builtin/notes.c:764 +#: builtin/notes.c:767 msgid "General options" msgstr "Allgemeine Optionen" -#: builtin/notes.c:766 +#: builtin/notes.c:769 msgid "Merge options" msgstr "Merge-Optionen" -#: builtin/notes.c:768 +#: builtin/notes.c:771 msgid "" "resolve notes conflicts using the given strategy (manual/ours/theirs/union/" "cat_sort_uniq)" @@ -8538,54 +8806,54 @@ msgstr "" "lΓΆst Konflikte bei Notizen mit der angegebenen Strategie auf (manual/ours/" "theirs/union/cat_sort_uniq)" -#: builtin/notes.c:770 +#: builtin/notes.c:773 msgid "Committing unmerged notes" msgstr "nicht zusammengefΓΌhrte Notizen eintragen" -#: builtin/notes.c:772 +#: builtin/notes.c:775 msgid "finalize notes merge by committing unmerged notes" msgstr "" "Merge von Notizen abschlieΓen, in dem nicht zusammengefΓΌhrte Notizen " "committet werden" -#: builtin/notes.c:774 +#: builtin/notes.c:777 msgid "Aborting notes merge resolution" msgstr "KonfliktauflΓΆsung beim Merge von Notizen abbrechen" -#: builtin/notes.c:776 +#: builtin/notes.c:779 msgid "abort notes merge" msgstr "Merge von Notizen abbrechen" -#: builtin/notes.c:853 +#: builtin/notes.c:856 #, c-format msgid "A notes merge into %s is already in-progress at %s" msgstr "Ein Merge von Notizen nach %s ist bereits im Gange bei %s" -#: builtin/notes.c:880 +#: builtin/notes.c:883 #, c-format msgid "Object %s has no note\n" msgstr "Objekt %s hat keine Notiz\n" -#: builtin/notes.c:892 +#: builtin/notes.c:895 msgid "attempt to remove non-existent note is not an error" msgstr "der Versuch, eine nicht existierende Notiz zu lΓΆschen, ist kein Fehler" -#: builtin/notes.c:895 +#: builtin/notes.c:898 msgid "read object names from the standard input" msgstr "Objektnamen von der Standard-Eingabe lesen" -#: builtin/notes.c:976 +#: builtin/notes.c:979 msgid "notes-ref" msgstr "Notiz-Referenz" -#: builtin/notes.c:977 +#: builtin/notes.c:980 msgid "use notes from <notes-ref>" msgstr "Notizen von <Notiz-Referenz> verwenden" -#: builtin/notes.c:1012 builtin/remote.c:1647 +#: builtin/notes.c:1015 builtin/remote.c:1626 #, c-format msgid "Unknown subcommand: %s" -msgstr "Unbekanntes Unterkommando: %s" +msgstr "Unbekannter Unterbefehl: %s" #: builtin/pack-objects.c:28 msgid "" @@ -8606,176 +8874,176 @@ msgstr "" msgid "deflate error (%d)" msgstr "Fehler beim Komprimieren (%d)" -#: builtin/pack-objects.c:771 +#: builtin/pack-objects.c:772 msgid "Writing objects" msgstr "Schreibe Objekte" -#: builtin/pack-objects.c:1011 +#: builtin/pack-objects.c:1012 msgid "disabling bitmap writing, as some objects are not being packed" msgstr "" "Deaktiviere Schreiben des Bitmap-Index, da einige Objekte nicht in\n" "eine Pack-Datei geschrieben wurden" -#: builtin/pack-objects.c:2171 +#: builtin/pack-objects.c:2172 msgid "Compressing objects" msgstr "Komprimiere Objekte" -#: builtin/pack-objects.c:2568 +#: builtin/pack-objects.c:2558 #, c-format msgid "unsupported index version %s" msgstr "Nicht unterstΓΌtzte Index-Version %s" -#: builtin/pack-objects.c:2572 +#: builtin/pack-objects.c:2562 #, c-format msgid "bad index version '%s'" msgstr "UngΓΌltige Index-Version '%s'" -#: builtin/pack-objects.c:2602 +#: builtin/pack-objects.c:2592 msgid "do not show progress meter" msgstr "keine Fortschrittsanzeige anzeigen" -#: builtin/pack-objects.c:2604 +#: builtin/pack-objects.c:2594 msgid "show progress meter" msgstr "Fortschrittsanzeige anzeigen" -#: builtin/pack-objects.c:2606 +#: builtin/pack-objects.c:2596 msgid "show progress meter during object writing phase" msgstr "" "Forschrittsanzeige wΓ€hrend der Phase des Schreibens der Objekte anzeigen" -#: builtin/pack-objects.c:2609 +#: builtin/pack-objects.c:2599 msgid "similar to --all-progress when progress meter is shown" msgstr "Γ€hnlich zu --all-progress wenn Fortschrittsanzeige darstellt wird" -#: builtin/pack-objects.c:2610 +#: builtin/pack-objects.c:2600 msgid "version[,offset]" msgstr "version[,offset]" -#: builtin/pack-objects.c:2611 +#: builtin/pack-objects.c:2601 msgid "write the pack index file in the specified idx format version" msgstr "" "die Index-Datei des Paketes in der angegebenen Indexformat-Version schreiben" -#: builtin/pack-objects.c:2614 +#: builtin/pack-objects.c:2604 msgid "maximum size of each output pack file" msgstr "maximale GrΓΆΓe fΓΌr jede ausgegebene Paketdatei" -#: builtin/pack-objects.c:2616 +#: builtin/pack-objects.c:2606 msgid "ignore borrowed objects from alternate object store" msgstr "geliehene Objekte von alternativem Objektspeicher ignorieren" -#: builtin/pack-objects.c:2618 +#: builtin/pack-objects.c:2608 msgid "ignore packed objects" msgstr "gepackte Objekte ignorieren" -#: builtin/pack-objects.c:2620 +#: builtin/pack-objects.c:2610 msgid "limit pack window by objects" msgstr "Paketfenster durch Objekte begrenzen" -#: builtin/pack-objects.c:2622 +#: builtin/pack-objects.c:2612 msgid "limit pack window by memory in addition to object limit" msgstr "" "Paketfenster, zusΓ€tzlich zur Objektbegrenzung, durch Speicher begrenzen" -#: builtin/pack-objects.c:2624 +#: builtin/pack-objects.c:2614 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "" "maximale LΓ€nge der erlaubten Differenzverkettung im resultierenden Paket" -#: builtin/pack-objects.c:2626 +#: builtin/pack-objects.c:2616 msgid "reuse existing deltas" msgstr "existierende Unterschiede wiederverwenden" -#: builtin/pack-objects.c:2628 +#: builtin/pack-objects.c:2618 msgid "reuse existing objects" msgstr "existierende Objekte wiederverwenden" -#: builtin/pack-objects.c:2630 +#: builtin/pack-objects.c:2620 msgid "use OFS_DELTA objects" msgstr "OFS_DELTA Objekte verwenden" -#: builtin/pack-objects.c:2632 +#: builtin/pack-objects.c:2622 msgid "use threads when searching for best delta matches" msgstr "" "Threads bei der Suche nach den besten Γbereinstimmungen bei Unterschieden " "verwenden" -#: builtin/pack-objects.c:2634 +#: builtin/pack-objects.c:2624 msgid "do not create an empty pack output" msgstr "keine leeren Pakete erzeugen" -#: builtin/pack-objects.c:2636 +#: builtin/pack-objects.c:2626 msgid "read revision arguments from standard input" msgstr "Argumente bezΓΌglich Commits von der Standard-Eingabe lesen" -#: builtin/pack-objects.c:2638 +#: builtin/pack-objects.c:2628 msgid "limit the objects to those that are not yet packed" msgstr "die Objekte zu solchen, die noch nicht gepackt wurden, begrenzen" -#: builtin/pack-objects.c:2641 +#: builtin/pack-objects.c:2631 msgid "include objects reachable from any reference" msgstr "Objekte einschlieΓen, die von jeder Referenz erreichbar sind" -#: builtin/pack-objects.c:2644 +#: builtin/pack-objects.c:2634 msgid "include objects referred by reflog entries" msgstr "" "Objekte einschlieΓen, die von EintrΓ€gen des Reflogs referenziert werden" -#: builtin/pack-objects.c:2647 +#: builtin/pack-objects.c:2637 msgid "include objects referred to by the index" msgstr "Objekte einschlieΓen, die vom Index referenziert werden" -#: builtin/pack-objects.c:2650 +#: builtin/pack-objects.c:2640 msgid "output pack to stdout" msgstr "Paket in die Standard-Ausgabe schreiben" -#: builtin/pack-objects.c:2652 +#: builtin/pack-objects.c:2642 msgid "include tag objects that refer to objects to be packed" msgstr "Tag-Objekte einschlieΓen, die auf gepackte Objekte referenzieren" -#: builtin/pack-objects.c:2654 +#: builtin/pack-objects.c:2644 msgid "keep unreachable objects" msgstr "nicht erreichbare Objekte behalten" -#: builtin/pack-objects.c:2655 parse-options.h:142 +#: builtin/pack-objects.c:2645 parse-options.h:142 msgid "time" msgstr "Zeit" -#: builtin/pack-objects.c:2656 +#: builtin/pack-objects.c:2646 msgid "unpack unreachable objects newer than <time>" msgstr "nicht erreichbare Objekte entpacken, die neuer als <Zeit> sind" -#: builtin/pack-objects.c:2659 +#: builtin/pack-objects.c:2649 msgid "create thin packs" msgstr "dΓΌnnere Pakete erzeugen" -#: builtin/pack-objects.c:2661 +#: builtin/pack-objects.c:2651 msgid "create packs suitable for shallow fetches" msgstr "" "Pakete geeignet fΓΌr Abholung mit unvollstΓ€ndiger Historie (shallow) erzeugen" -#: builtin/pack-objects.c:2663 +#: builtin/pack-objects.c:2653 msgid "ignore packs that have companion .keep file" msgstr "Pakete ignorieren, die .keep Dateien haben" -#: builtin/pack-objects.c:2665 +#: builtin/pack-objects.c:2655 msgid "pack compression level" msgstr "Komprimierungsgrad fΓΌr Paketierung" -#: builtin/pack-objects.c:2667 +#: builtin/pack-objects.c:2657 msgid "do not hide commits by grafts" msgstr "keine kΓΌnstlichen VorgΓ€nger-Commits (\"grafts\") verbergen" -#: builtin/pack-objects.c:2669 +#: builtin/pack-objects.c:2659 msgid "use a bitmap index if available to speed up counting objects" msgstr "" "Bitmap-Index (falls verfΓΌgbar) zur Optimierung der ObjektzΓ€hlung benutzen" -#: builtin/pack-objects.c:2671 +#: builtin/pack-objects.c:2661 msgid "write a bitmap index together with the pack index" msgstr "Bitmap-Index zusammen mit Pack-Index schreiben" -#: builtin/pack-objects.c:2762 +#: builtin/pack-objects.c:2752 msgid "Counting objects" msgstr "ZΓ€hle Objekte" @@ -8819,52 +9087,56 @@ msgstr "Objekte Γ€lter als <Zeit> verfallen lassen" msgid "cannot prune in a precious-objects repo" msgstr "kann \"prune\" in precious-objects Repository nicht ausfΓΌhren" -#: builtin/pull.c:69 +#: builtin/pull.c:72 msgid "git pull [<options>] [<repository> [<refspec>...]]" msgstr "git pull [<Optionen>] [<Repository> [<Refspec>...]]" -#: builtin/pull.c:113 +#: builtin/pull.c:117 msgid "Options related to merging" msgstr "Optionen bezogen auf Merge" -#: builtin/pull.c:116 +#: builtin/pull.c:120 msgid "incorporate changes by rebasing rather than merging" msgstr "Integration von Γnderungen durch Rebase statt Merge" -#: builtin/pull.c:140 builtin/revert.c:105 +#: builtin/pull.c:144 builtin/revert.c:105 msgid "allow fast-forward" msgstr "Vorspulen erlauben" -#: builtin/pull.c:146 +#: builtin/pull.c:150 msgid "verify that the named commit has a valid GPG signature" msgstr "den genannten Commit auf eine gΓΌltige GPG-Signatur ΓΌberprΓΌfen" -#: builtin/pull.c:160 +#: builtin/pull.c:164 msgid "Options related to fetching" msgstr "Optionen bezogen auf Fetch" -#: builtin/pull.c:268 +#: builtin/pull.c:186 +msgid "number of submodules pulled in parallel" +msgstr "Anzahl der parallel mit 'pull' zu verarbeitenden Submodule" + +#: builtin/pull.c:275 #, c-format msgid "Invalid value for pull.ff: %s" msgstr "UngΓΌltiger Wert fΓΌr pull.ff: %s" -#: builtin/pull.c:352 +#: builtin/pull.c:359 msgid "Cannot pull with rebase: You have unstaged changes." msgstr "" "Kann \"pull\" mit \"rebase\" nicht ausfΓΌhren: Sie haben Γnderungen, die " "nicht zum Commit vorgemerkt sind." -#: builtin/pull.c:358 +#: builtin/pull.c:365 msgid "Additionally, your index contains uncommitted changes." msgstr "ZusΓ€tzlich beinhaltet die Staging-Area nicht committete Γnderungen." -#: builtin/pull.c:360 +#: builtin/pull.c:367 msgid "Cannot pull with rebase: Your index contains uncommitted changes." msgstr "" "Kann \"pull\" mit \"rebase\" nicht ausfΓΌhren: Die Staging-Area beinhaltet " "nicht committete Γnderungen." -#: builtin/pull.c:436 +#: builtin/pull.c:443 msgid "" "There is no candidate for rebasing against among the refs that you just " "fetched." @@ -8872,14 +9144,14 @@ msgstr "" "Es gibt keinen Kandidaten fΓΌr Rebase innerhalb der Referenzen, die eben " "angefordert wurden." -#: builtin/pull.c:438 +#: builtin/pull.c:445 msgid "" "There are no candidates for merging among the refs that you just fetched." msgstr "" "Es gibt keine Kandidaten fΓΌr Merge innerhalb der Referenzen, die eben " "angefordert wurden." -#: builtin/pull.c:439 +#: builtin/pull.c:446 msgid "" "Generally this means that you provided a wildcard refspec which had no\n" "matches on the remote end." @@ -8887,7 +9159,7 @@ msgstr "" "Im Allgemeinen bedeutet das, dass Sie einen Refspec mit Wildcards angegeben\n" "haben, der auf der Gegenseite mit keinen Referenzen ΓΌbereinstimmt." -#: builtin/pull.c:442 +#: builtin/pull.c:449 #, c-format msgid "" "You asked to pull from the remote '%s', but did not specify\n" @@ -8897,31 +9169,31 @@ msgstr "" "Sie fΓΌhrten \"pull\" von Remote-Repository '%s' aus, ohne einen\n" "Branch anzugeben. Da das nicht das konfigurierte Standard-Remote-\n" "Repository fΓΌr den aktuellen Branch ist, mΓΌssen Sie einen Branch auf\n" -"der Kommandozeile angeben." +"der Befehlszeile angeben." -#: builtin/pull.c:447 +#: builtin/pull.c:454 msgid "You are not currently on a branch." msgstr "Im Moment auf keinem Branch." -#: builtin/pull.c:449 builtin/pull.c:464 +#: builtin/pull.c:456 builtin/pull.c:471 msgid "Please specify which branch you want to rebase against." msgstr "" "Bitte geben Sie den Branch an, gegen welchen Sie \"rebase\" ausfΓΌhren " "mΓΆchten." -#: builtin/pull.c:451 builtin/pull.c:466 +#: builtin/pull.c:458 builtin/pull.c:473 msgid "Please specify which branch you want to merge with." msgstr "Bitte geben Sie den Branch an, welchen Sie zusammenfΓΌhren mΓΆchten." -#: builtin/pull.c:452 builtin/pull.c:467 +#: builtin/pull.c:459 builtin/pull.c:474 msgid "See git-pull(1) for details." msgstr "Siehe git-pull(1) fΓΌr weitere Details." -#: builtin/pull.c:462 +#: builtin/pull.c:469 msgid "There is no tracking information for the current branch." msgstr "Es gibt keine Tracking-Informationen fΓΌr den aktuellen Branch." -#: builtin/pull.c:471 +#: builtin/pull.c:478 #, c-format msgid "" "If you wish to set tracking information for this branch you can do so with:\n" @@ -8934,7 +9206,7 @@ msgstr "" "\n" " git branch --set-upstream-to=%s/<Branch> %s\n" -#: builtin/pull.c:476 +#: builtin/pull.c:483 #, c-format msgid "" "Your configuration specifies to merge with the ref '%s'\n" @@ -8944,13 +9216,13 @@ msgstr "" "des Remote-Repositories durchzufΓΌhren, aber diese Referenz\n" "wurde nicht angefordert." -#: builtin/pull.c:830 +#: builtin/pull.c:841 msgid "Updating an unborn branch with changes added to the index." msgstr "" "Aktualisiere einen ungeborenen Branch mit Γnderungen, die zum Commit " "vorgemerkt sind." -#: builtin/pull.c:859 +#: builtin/pull.c:870 #, c-format msgid "" "fetch updated the current branch head.\n" @@ -8960,7 +9232,7 @@ msgstr "" "\"fetch\" aktualisierte die Spitze des aktuellen Branches.\n" "Spule Ihr Arbeitsverzeichnis von Commit %s vor." -#: builtin/pull.c:864 +#: builtin/pull.c:875 #, c-format msgid "" "Cannot fast-forward your working tree.\n" @@ -8977,11 +9249,11 @@ msgstr "" "$ git reset --hard\n" "zur Wiederherstellung aus." -#: builtin/pull.c:879 +#: builtin/pull.c:890 msgid "Cannot merge multiple branches into empty head." msgstr "Kann nicht mehrere Branches in einen leeren Branch zusammenfΓΌhren." -#: builtin/pull.c:883 +#: builtin/pull.c:894 msgid "Cannot rebase onto multiple branches." msgstr "Kann Rebase nicht auf mehrere Branches ausfΓΌhren." @@ -8989,15 +9261,15 @@ msgstr "Kann Rebase nicht auf mehrere Branches ausfΓΌhren." msgid "git push [<options>] [<repository> [<refspec>...]]" msgstr "git push [<Optionen>] [<Repository> [<Refspec>...]]" -#: builtin/push.c:88 +#: builtin/push.c:89 msgid "tag shorthand without <tag>" msgstr "Kurzschrift fΓΌr Tag ohne <Tag>" -#: builtin/push.c:98 +#: builtin/push.c:99 msgid "--delete only accepts plain target ref names" msgstr "Die Option --delete akzeptiert nur reine Referenznamen als Ziel." -#: builtin/push.c:142 +#: builtin/push.c:143 msgid "" "\n" "To choose either option permanently, see push.default in 'git help config'." @@ -9006,7 +9278,7 @@ msgstr "" "Um eine Variante permanent zu verwenden, siehe push.default in 'git help " "config'." -#: builtin/push.c:145 +#: builtin/push.c:146 #, c-format msgid "" "The upstream branch of your current branch does not match\n" @@ -9032,7 +9304,7 @@ msgstr "" " git push %s %s\n" "%s" -#: builtin/push.c:160 +#: builtin/push.c:161 #, c-format msgid "" "You are not currently on a branch.\n" @@ -9047,7 +9319,7 @@ msgstr "" "\n" " git push %s HEAD:<Name-des-Remote-Branches>\n" -#: builtin/push.c:174 +#: builtin/push.c:175 #, c-format msgid "" "The current branch %s has no upstream branch.\n" @@ -9061,13 +9333,13 @@ msgstr "" "\n" " git push --set-upstream %s %s\n" -#: builtin/push.c:182 +#: builtin/push.c:183 #, c-format msgid "The current branch %s has multiple upstream branches, refusing to push." msgstr "" "Der aktuelle Branch %s hat mehrere Upstream-Branches, \"push\" verweigert." -#: builtin/push.c:185 +#: builtin/push.c:186 #, c-format msgid "" "You are pushing to remote '%s', which is not the upstream of\n" @@ -9078,65 +9350,14 @@ msgstr "" "Branches '%s' ist, ohne anzugeben, was versendet werden soll, um welchen\n" "Remote-Branch zu aktualisieren." -#: builtin/push.c:208 -msgid "" -"push.default is unset; its implicit value has changed in\n" -"Git 2.0 from 'matching' to 'simple'. To squelch this message\n" -"and maintain the traditional behavior, use:\n" -"\n" -" git config --global push.default matching\n" -"\n" -"To squelch this message and adopt the new behavior now, use:\n" -"\n" -" git config --global push.default simple\n" -"\n" -"When push.default is set to 'matching', git will push local branches\n" -"to the remote branches that already exist with the same name.\n" -"\n" -"Since Git 2.0, Git defaults to the more conservative 'simple'\n" -"behavior, which only pushes the current branch to the corresponding\n" -"remote branch that 'git pull' uses to update the current branch.\n" -"\n" -"See 'git help config' and search for 'push.default' for further " -"information.\n" -"(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n" -"'current' instead of 'simple' if you sometimes use older versions of Git)" -msgstr "" -"'push.default' ist nicht gesetzt; der implizit gesetzte Wert\n" -"wurde in Git 2.0 von 'matching' nach 'simple' geΓ€ndert. Um diese Meldung zu\n" -"unterdrΓΌcken und das aktuelle Verhalten nach Γnderung des Standardwertes\n" -"beizubehalten, benutzen Sie:\n" -"\n" -" git config --global push.default matching\n" -"\n" -"Um diese Meldung zu unterdrΓΌcken und das neue Verhalten jetzt zu ΓΌbernehmen, " -"benutzen Sie:\n" -"\n" -" git config --global push.default simple\n" -"\n" -"Wenn 'push.default' auf den Wert 'matching' gesetzt ist, werden lokale\n" -"Branches zu den Remote-Branches mit den selben Namen versendet.\n" -"\n" -"In Git 2.0 wurde das Standardverhalten zu 'simple' geΓ€ndert. Hierbei wird\n" -"der aktuelle Branch zu dem entsprechenden Remote-Branch versendet, den\n" -"'git pull' zur Aktualisierung des aktuellen Branches verwendet.\n" -"\n" -"FΓΌhren Sie 'git help config' aus und suchen Sie nach 'push.default' fΓΌr\n" -"weitere Informationen.\n" -"(Der Modus 'simple' wurde in Git 1.7.11 eingefΓΌhrt. Benutzen Sie den " -"Γ€hnlichen\n" -"Modus 'current' anstatt 'simple', falls Sie gelegentlich Γ€ltere Versionen " -"von\n" -"Git benutzen.)" - -#: builtin/push.c:275 +#: builtin/push.c:242 msgid "" "You didn't specify any refspecs to push, and push.default is \"nothing\"." msgstr "" "Sie haben keine Refspec fΓΌr \"push\" angegeben, und push.default ist " "\"nothing\"." -#: builtin/push.c:282 +#: builtin/push.c:249 msgid "" "Updates were rejected because the tip of your current branch is behind\n" "its remote counterpart. Integrate the remote changes (e.g.\n" @@ -9145,12 +9366,12 @@ msgid "" msgstr "" "Aktualisierungen wurden zurΓΌckgewiesen, weil die Spitze Ihres aktuellen\n" "Branches hinter seinem externen GegenstΓΌck zurΓΌckgefallen ist. FΓΌhren Sie\n" -"die externen Γnderungen zusammen (z.B. 'git pull ...') bevor Sie \"push\"\n" +"die externen Γnderungen zusammen (z. B. 'git pull ...') bevor Sie \"push\"\n" "erneut ausfΓΌhren.\n" "Siehe auch die Sektion 'Note about fast-forwards' in 'git push --help'\n" "fΓΌr weitere Details." -#: builtin/push.c:288 +#: builtin/push.c:255 msgid "" "Updates were rejected because a pushed branch tip is behind its remote\n" "counterpart. Check out this branch and integrate the remote changes\n" @@ -9160,11 +9381,11 @@ msgstr "" "Aktualisierungen wurden zurΓΌckgewiesen, weil die Spitze eines versendeten\n" "Branches hinter seinem externen GegenstΓΌck zurΓΌckgefallen ist. Checken Sie\n" "diesen Branch aus und fΓΌhren Sie die externen Γnderungen zusammen\n" -"(z.B. 'git pull ...') bevor Sie erneut \"push\" ausfΓΌhren.\n" +"(z. B. 'git pull ...') bevor Sie erneut \"push\" ausfΓΌhren.\n" "Siehe auch die Sektion 'Note about fast-forwards' in 'git push --help'\n" "fΓΌr weitere Details." -#: builtin/push.c:294 +#: builtin/push.c:261 msgid "" "Updates were rejected because the remote contains work that you do\n" "not have locally. This is usually caused by another repository pushing\n" @@ -9177,19 +9398,19 @@ msgstr "" "die lokal nicht vorhanden sind. Das wird ΓΌblicherweise durch einen \"push\" " "von\n" "Commits auf dieselbe Referenz von einem anderen Repository aus verursacht.\n" -"Vielleicht mΓΌssen Sie die externen Γnderungen zusammenzufΓΌhren (z.B. 'git " +"Vielleicht mΓΌssen Sie die externen Γnderungen zusammenfΓΌhren (z. B. 'git " "pull ...')\n" "bevor Sie erneut \"push\" ausfΓΌhren.\n" "Siehe auch die Sektion 'Note about fast-forwards' in 'git push --help'\n" "fΓΌr weitere Details." -#: builtin/push.c:301 +#: builtin/push.c:268 msgid "Updates were rejected because the tag already exists in the remote." msgstr "" "Aktualisierungen wurden zurΓΌckgewiesen, weil das Tag bereits\n" "im Remote-Repository existiert." -#: builtin/push.c:304 +#: builtin/push.c:271 msgid "" "You cannot update a remote ref that points at a non-commit object,\n" "or update a remote ref to make it point at a non-commit object,\n" @@ -9199,22 +9420,22 @@ msgstr "" "das kein Commit ist, oder es auf ein solches Objekt zeigen lassen, ohne\n" "die Option '--force' zu verwenden.\n" -#: builtin/push.c:363 +#: builtin/push.c:331 #, c-format msgid "Pushing to %s\n" msgstr "Versende nach %s\n" -#: builtin/push.c:367 +#: builtin/push.c:335 #, c-format msgid "failed to push some refs to '%s'" msgstr "Fehler beim Versenden einiger Referenzen nach '%s'" -#: builtin/push.c:397 +#: builtin/push.c:365 #, c-format msgid "bad repository '%s'" msgstr "ungΓΌltiges Repository '%s'" -#: builtin/push.c:398 +#: builtin/push.c:366 msgid "" "No configured push destination.\n" "Either specify the URL from the command-line or configure a remote " @@ -9227,7 +9448,7 @@ msgid "" " git push <name>\n" msgstr "" "Kein Ziel fΓΌr \"push\" konfiguriert.\n" -"Entweder spezifizieren Sie die URL von der Kommandozeile oder konfigurieren " +"Entweder spezifizieren Sie die URL von der Befehlszeile oder konfigurieren " "ein Remote-Repository unter Benutzung von\n" "\n" " git remote add <Name> <URL>\n" @@ -9236,104 +9457,100 @@ msgstr "" "\n" " git push <Name>\n" -#: builtin/push.c:413 +#: builtin/push.c:381 msgid "--all and --tags are incompatible" msgstr "Die Optionen --all und --tags sind inkompatibel." -#: builtin/push.c:414 +#: builtin/push.c:382 msgid "--all can't be combined with refspecs" msgstr "Die Option --all kann nicht mit Refspecs kombiniert werden." -#: builtin/push.c:419 +#: builtin/push.c:387 msgid "--mirror and --tags are incompatible" msgstr "Die Optionen --mirror und --tags sind inkompatibel." -#: builtin/push.c:420 +#: builtin/push.c:388 msgid "--mirror can't be combined with refspecs" msgstr "Die Option --mirror kann nicht mit Refspecs kombiniert werden." -#: builtin/push.c:425 +#: builtin/push.c:393 msgid "--all and --mirror are incompatible" msgstr "Die Optionen --all und --mirror sind inkompatibel." -#: builtin/push.c:537 +#: builtin/push.c:505 msgid "repository" msgstr "Repository" -#: builtin/push.c:538 builtin/send-pack.c:161 +#: builtin/push.c:506 builtin/send-pack.c:161 msgid "push all refs" msgstr "alle Referenzen versenden" -#: builtin/push.c:539 builtin/send-pack.c:163 +#: builtin/push.c:507 builtin/send-pack.c:163 msgid "mirror all refs" msgstr "alle Referenzen spiegeln" -#: builtin/push.c:541 +#: builtin/push.c:509 msgid "delete refs" msgstr "Referenzen lΓΆschen" -#: builtin/push.c:542 +#: builtin/push.c:510 msgid "push tags (can't be used with --all or --mirror)" msgstr "Tags versenden (kann nicht mit --all oder --mirror verwendet werden)" -#: builtin/push.c:545 builtin/send-pack.c:164 +#: builtin/push.c:513 builtin/send-pack.c:164 msgid "force updates" msgstr "Aktualisierung erzwingen" -#: builtin/push.c:547 builtin/send-pack.c:175 +#: builtin/push.c:515 builtin/send-pack.c:175 msgid "refname>:<expect" msgstr "Referenzname>:<Erwartungswert" -#: builtin/push.c:548 builtin/send-pack.c:176 +#: builtin/push.c:516 builtin/send-pack.c:176 msgid "require old value of ref to be at this value" msgstr "Referenz muss sich auf dem angegebenen Wert befinden" -#: builtin/push.c:550 -msgid "check|on-demand|no" -msgstr "check|on-demand|no" - -#: builtin/push.c:551 +#: builtin/push.c:519 msgid "control recursive pushing of submodules" msgstr "rekursiven \"push\" von Submodulen steuern" -#: builtin/push.c:553 builtin/send-pack.c:169 +#: builtin/push.c:521 builtin/send-pack.c:169 msgid "use thin pack" msgstr "kleinere Pakete verwenden" -#: builtin/push.c:554 builtin/push.c:555 builtin/send-pack.c:158 +#: builtin/push.c:522 builtin/push.c:523 builtin/send-pack.c:158 #: builtin/send-pack.c:159 msgid "receive pack program" msgstr "'receive pack' Programm" -#: builtin/push.c:556 +#: builtin/push.c:524 msgid "set upstream for git pull/status" msgstr "Upstream fΓΌr \"git pull/status\" setzen" -#: builtin/push.c:559 +#: builtin/push.c:527 msgid "prune locally removed refs" msgstr "lokal gelΓΆschte Referenzen entfernen" -#: builtin/push.c:561 +#: builtin/push.c:529 msgid "bypass pre-push hook" msgstr "\"pre-push hook\" umgehen" -#: builtin/push.c:562 +#: builtin/push.c:530 msgid "push missing but relevant tags" msgstr "fehlende, aber relevante Tags versenden" -#: builtin/push.c:565 builtin/send-pack.c:166 +#: builtin/push.c:533 builtin/send-pack.c:166 msgid "GPG sign the push" msgstr "signiert \"push\" mit GPG" -#: builtin/push.c:567 builtin/send-pack.c:170 +#: builtin/push.c:535 builtin/send-pack.c:170 msgid "request atomic transaction on remote side" msgstr "Referenzen atomar versenden" -#: builtin/push.c:577 +#: builtin/push.c:549 msgid "--delete is incompatible with --all, --mirror and --tags" msgstr "Die Option --delete ist inkompatibel mit --all, --mirror und --tags." -#: builtin/push.c:579 +#: builtin/push.c:551 msgid "--delete doesn't make sense without any refs" msgstr "Die Option --delete kann nur mit Referenzen verwendet werden." @@ -9412,12 +9629,12 @@ msgstr "Anwendung des Filters fΓΌr spΓ€rliches Auschecken ΓΌberspringen" msgid "debug unpack-trees" msgstr "Entpacken der BΓ€ume protokollieren" -#: builtin/reflog.c:428 +#: builtin/reflog.c:423 #, c-format msgid "'%s' for '%s' is not a valid timestamp" msgstr "'%s' ist kein gΓΌltiger Zeitstempel fΓΌr '%s'" -#: builtin/reflog.c:545 builtin/reflog.c:550 +#: builtin/reflog.c:540 builtin/reflog.c:545 #, c-format msgid "'%s' is not a valid timestamp" msgstr "'%s' ist kein gΓΌltiger Zeitstempel" @@ -9564,55 +9781,45 @@ msgstr "" "Die Angabe von zu folgenden Branches kann nur mit dem Anfordern von " "Spiegelarchiven verwendet werden." -#: builtin/remote.c:193 builtin/remote.c:643 +#: builtin/remote.c:190 builtin/remote.c:633 #, c-format msgid "remote %s already exists." msgstr "externes Repository %s existiert bereits" -#: builtin/remote.c:197 builtin/remote.c:647 +#: builtin/remote.c:194 builtin/remote.c:637 #, c-format msgid "'%s' is not a valid remote name" msgstr "'%s' ist kein gΓΌltiger Name fΓΌr ein Remote-Repository" -#: builtin/remote.c:241 +#: builtin/remote.c:234 #, c-format msgid "Could not setup master '%s'" msgstr "Konnte symbolische Referenz fΓΌr Hauptbranch von '%s' nicht einrichten" -#: builtin/remote.c:341 +#: builtin/remote.c:336 #, c-format msgid "Could not get fetch map for refspec %s" msgstr "Konnte Fetch-Map fΓΌr Refspec %s nicht bekommen" -#: builtin/remote.c:442 builtin/remote.c:450 +#: builtin/remote.c:437 builtin/remote.c:445 msgid "(matching)" msgstr "(ΓΌbereinstimmend)" -#: builtin/remote.c:454 +#: builtin/remote.c:449 msgid "(delete)" msgstr "(lΓΆsche)" -#: builtin/remote.c:594 builtin/remote.c:600 builtin/remote.c:606 -#, c-format -msgid "Could not append '%s' to '%s'" -msgstr "Konnte '%s' nicht an '%s' anhΓ€ngen." - -#: builtin/remote.c:636 builtin/remote.c:775 builtin/remote.c:875 +#: builtin/remote.c:626 builtin/remote.c:761 builtin/remote.c:858 #, c-format msgid "No such remote: %s" msgstr "Kein solches Remote-Repository: %s" -#: builtin/remote.c:653 +#: builtin/remote.c:643 #, c-format msgid "Could not rename config section '%s' to '%s'" msgstr "Konnte Sektion '%s' in Konfiguration nicht nach '%s' umbenennen" -#: builtin/remote.c:659 builtin/remote.c:827 -#, c-format -msgid "Could not remove config section '%s'" -msgstr "Konnte Sektion '%s' nicht aus Konfiguration entfernen" - -#: builtin/remote.c:674 +#: builtin/remote.c:663 #, c-format msgid "" "Not updating non-default fetch refspec\n" @@ -9623,27 +9830,17 @@ msgstr "" "\t%s\n" "\tBitte aktualisieren Sie, falls notwendig, die Konfiguration manuell." -#: builtin/remote.c:680 -#, c-format -msgid "Could not append '%s'" -msgstr "Konnte '%s' nicht anhΓ€ngen." - -#: builtin/remote.c:691 -#, c-format -msgid "Could not set '%s'" -msgstr "Konnte '%s' nicht setzen" - -#: builtin/remote.c:713 +#: builtin/remote.c:699 #, c-format msgid "deleting '%s' failed" msgstr "Konnte '%s' nicht lΓΆschen" -#: builtin/remote.c:747 +#: builtin/remote.c:733 #, c-format msgid "creating '%s' failed" msgstr "Konnte '%s' nicht erstellen" -#: builtin/remote.c:813 +#: builtin/remote.c:796 msgid "" "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n" "to delete it, use:" @@ -9659,120 +9856,125 @@ msgstr[1] "" "entfernt;\n" "um diese zu entfernen, benutzen Sie:" -#: builtin/remote.c:928 +#: builtin/remote.c:810 +#, c-format +msgid "Could not remove config section '%s'" +msgstr "Konnte Sektion '%s' nicht aus Konfiguration entfernen" + +#: builtin/remote.c:911 #, c-format msgid " new (next fetch will store in remotes/%s)" msgstr " neu (wird bei nΓ€chstem \"fetch\" in remotes/%s gespeichert)" -#: builtin/remote.c:931 +#: builtin/remote.c:914 msgid " tracked" msgstr " gefolgt" -#: builtin/remote.c:933 +#: builtin/remote.c:916 msgid " stale (use 'git remote prune' to remove)" msgstr " veraltet (benutzen Sie 'git remote prune' zum LΓΆschen)" -#: builtin/remote.c:935 +#: builtin/remote.c:918 msgid " ???" msgstr " ???" -#: builtin/remote.c:976 +#: builtin/remote.c:959 #, c-format msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch" msgstr "ungΓΌltiges branch.%s.merge; kann Rebase nicht auf > 1 Branch ausfΓΌhren" -#: builtin/remote.c:983 +#: builtin/remote.c:967 #, c-format -msgid "rebases onto remote %s" -msgstr "Rebase auf Remote-Branch %s" +msgid "rebases interactively onto remote %s" +msgstr "interaktiver Rebase auf Remote-Branch %s" -#: builtin/remote.c:986 +#: builtin/remote.c:971 #, c-format msgid " merges with remote %s" msgstr " fΓΌhrt mit Remote-Branch %s zusammen" -#: builtin/remote.c:987 +#: builtin/remote.c:972 msgid " and with remote" msgstr " und mit Remote-Branch" -#: builtin/remote.c:989 +#: builtin/remote.c:974 #, c-format msgid "merges with remote %s" msgstr "fΓΌhrt mit Remote-Branch %s zusammen" -#: builtin/remote.c:990 +#: builtin/remote.c:975 msgid " and with remote" msgstr " und mit Remote-Branch" -#: builtin/remote.c:1036 +#: builtin/remote.c:1021 msgid "create" msgstr "erstellt" -#: builtin/remote.c:1039 +#: builtin/remote.c:1024 msgid "delete" msgstr "gelΓΆscht" -#: builtin/remote.c:1043 +#: builtin/remote.c:1028 msgid "up to date" msgstr "aktuell" -#: builtin/remote.c:1046 +#: builtin/remote.c:1031 msgid "fast-forwardable" msgstr "vorspulbar" -#: builtin/remote.c:1049 +#: builtin/remote.c:1034 msgid "local out of date" msgstr "lokal nicht aktuell" -#: builtin/remote.c:1056 +#: builtin/remote.c:1041 #, c-format msgid " %-*s forces to %-*s (%s)" msgstr " %-*s erzwingt Versandt nach %-*s (%s)" -#: builtin/remote.c:1059 +#: builtin/remote.c:1044 #, c-format msgid " %-*s pushes to %-*s (%s)" msgstr " %-*s versendet nach %-*s (%s)" -#: builtin/remote.c:1063 +#: builtin/remote.c:1048 #, c-format msgid " %-*s forces to %s" msgstr " %-*s erzwingt Versand nach %s" -#: builtin/remote.c:1066 +#: builtin/remote.c:1051 #, c-format msgid " %-*s pushes to %s" msgstr " %-*s versendet nach %s" -#: builtin/remote.c:1134 +#: builtin/remote.c:1119 msgid "do not query remotes" msgstr "keine Abfrage von Remote-Repositories" -#: builtin/remote.c:1161 +#: builtin/remote.c:1146 #, c-format msgid "* remote %s" msgstr "* Remote-Repository %s" -#: builtin/remote.c:1162 +#: builtin/remote.c:1147 #, c-format msgid " Fetch URL: %s" msgstr " URL zum Abholen: %s" -#: builtin/remote.c:1163 builtin/remote.c:1314 +#: builtin/remote.c:1148 builtin/remote.c:1299 msgid "(no URL)" msgstr "(keine URL)" -#: builtin/remote.c:1172 builtin/remote.c:1174 +#: builtin/remote.c:1157 builtin/remote.c:1159 #, c-format msgid " Push URL: %s" msgstr " URL zum Versenden: %s" -#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180 +#: builtin/remote.c:1161 builtin/remote.c:1163 builtin/remote.c:1165 #, c-format msgid " HEAD branch: %s" msgstr " Hauptbranch: %s" -#: builtin/remote.c:1182 +#: builtin/remote.c:1167 #, c-format msgid "" " HEAD branch (remote HEAD is ambiguous, may be one of the following):\n" @@ -9780,161 +9982,161 @@ msgstr "" " Hauptbranch (externer HEAD ist mehrdeutig, kΓΆnnte einer der folgenden " "sein):\n" -#: builtin/remote.c:1194 +#: builtin/remote.c:1179 #, c-format msgid " Remote branch:%s" msgid_plural " Remote branches:%s" msgstr[0] " Remote-Branch:%s" msgstr[1] " Remote-Branches:%s" -#: builtin/remote.c:1197 builtin/remote.c:1224 +#: builtin/remote.c:1182 builtin/remote.c:1209 msgid " (status not queried)" msgstr " (Zustand nicht abgefragt)" -#: builtin/remote.c:1206 +#: builtin/remote.c:1191 msgid " Local branch configured for 'git pull':" msgid_plural " Local branches configured for 'git pull':" msgstr[0] " Lokaler Branch konfiguriert fΓΌr 'git pull':" msgstr[1] " Lokale Branches konfiguriert fΓΌr 'git pull':" -#: builtin/remote.c:1214 +#: builtin/remote.c:1199 msgid " Local refs will be mirrored by 'git push'" msgstr " Lokale Referenzen werden von 'git push' gespiegelt" -#: builtin/remote.c:1221 +#: builtin/remote.c:1206 #, c-format msgid " Local ref configured for 'git push'%s:" msgid_plural " Local refs configured for 'git push'%s:" msgstr[0] " Lokale Referenz konfiguriert fΓΌr 'git push'%s:" msgstr[1] " Lokale Referenzen konfiguriert fΓΌr 'git push'%s:" -#: builtin/remote.c:1242 +#: builtin/remote.c:1227 msgid "set refs/remotes/<name>/HEAD according to remote" msgstr "setzt refs/remotes/<Name>/HEAD gemÀà dem Remote-Repository" -#: builtin/remote.c:1244 +#: builtin/remote.c:1229 msgid "delete refs/remotes/<name>/HEAD" msgstr "entfernt refs/remotes/<Name>/HEAD" -#: builtin/remote.c:1259 +#: builtin/remote.c:1244 msgid "Cannot determine remote HEAD" msgstr "Kann HEAD des Remote-Repositories nicht bestimmen" -#: builtin/remote.c:1261 +#: builtin/remote.c:1246 msgid "Multiple remote HEAD branches. Please choose one explicitly with:" msgstr "" "Mehrere Hauptbranches im Remote-Repository. Bitte wΓ€hlen Sie explizit einen " "aus mit:" -#: builtin/remote.c:1271 +#: builtin/remote.c:1256 #, c-format msgid "Could not delete %s" msgstr "Konnte %s nicht entfernen" -#: builtin/remote.c:1279 +#: builtin/remote.c:1264 #, c-format msgid "Not a valid ref: %s" msgstr "keine gΓΌltige Referenz: %s" -#: builtin/remote.c:1281 +#: builtin/remote.c:1266 #, c-format msgid "Could not setup %s" msgstr "Konnte %s nicht einrichten" -#: builtin/remote.c:1299 +#: builtin/remote.c:1284 #, c-format msgid " %s will become dangling!" msgstr " %s wird unreferenziert!" -#: builtin/remote.c:1300 +#: builtin/remote.c:1285 #, c-format msgid " %s has become dangling!" msgstr " %s wurde unreferenziert!" -#: builtin/remote.c:1310 +#: builtin/remote.c:1295 #, c-format msgid "Pruning %s" msgstr "entferne veraltete Branches von %s" -#: builtin/remote.c:1311 +#: builtin/remote.c:1296 #, c-format msgid "URL: %s" msgstr "URL: %s" -#: builtin/remote.c:1327 +#: builtin/remote.c:1312 #, c-format msgid " * [would prune] %s" msgstr " * [wΓΌrde veralteten Branch entfernen] %s" -#: builtin/remote.c:1330 +#: builtin/remote.c:1315 #, c-format msgid " * [pruned] %s" msgstr "* [veralteten Branch entfernt] %s" -#: builtin/remote.c:1375 +#: builtin/remote.c:1360 msgid "prune remotes after fetching" msgstr "entferne veraltete Branches im Remote-Repository nach \"fetch\"" -#: builtin/remote.c:1441 builtin/remote.c:1498 builtin/remote.c:1566 +#: builtin/remote.c:1423 builtin/remote.c:1477 builtin/remote.c:1545 #, c-format msgid "No such remote '%s'" msgstr "Kein solches Remote-Repository '%s'" -#: builtin/remote.c:1461 +#: builtin/remote.c:1439 msgid "add branch" msgstr "Branch hinzufΓΌgen" -#: builtin/remote.c:1468 +#: builtin/remote.c:1446 msgid "no remote specified" msgstr "kein Remote-Repository angegeben" -#: builtin/remote.c:1485 +#: builtin/remote.c:1463 msgid "query push URLs rather than fetch URLs" msgstr "nur URLs fΓΌr Push ausgeben" -#: builtin/remote.c:1487 +#: builtin/remote.c:1465 msgid "return all URLs" msgstr "alle URLs ausgeben" -#: builtin/remote.c:1515 +#: builtin/remote.c:1493 #, c-format msgid "no URLs configured for remote '%s'" msgstr "Keine URLs fΓΌr Remote-Repository '%s' konfiguriert." -#: builtin/remote.c:1541 +#: builtin/remote.c:1519 msgid "manipulate push URLs" msgstr "URLs fΓΌr \"push\" manipulieren" -#: builtin/remote.c:1543 +#: builtin/remote.c:1521 msgid "add URL" msgstr "URL hinzufΓΌgen" -#: builtin/remote.c:1545 +#: builtin/remote.c:1523 msgid "delete URLs" msgstr "URLs lΓΆschen" -#: builtin/remote.c:1552 +#: builtin/remote.c:1530 msgid "--add --delete doesn't make sense" msgstr "" "Die Optionen --add und --delete kΓΆnnen nicht gemeinsam verwendet werden." -#: builtin/remote.c:1592 +#: builtin/remote.c:1571 #, c-format msgid "Invalid old URL pattern: %s" msgstr "ungΓΌltiges altes URL Format: %s" -#: builtin/remote.c:1600 +#: builtin/remote.c:1579 #, c-format msgid "No such URL found: %s" msgstr "Keine solche URL gefunden: %s" -#: builtin/remote.c:1602 +#: builtin/remote.c:1581 msgid "Will not delete all non-push URLs" msgstr "Werde keine URLs entfernen, die nicht fΓΌr \"push\" bestimmt sind" -#: builtin/remote.c:1616 +#: builtin/remote.c:1595 msgid "be verbose; must be placed before a subcommand" -msgstr "erweiterte Ausgaben; muss vor einem Unterkommando angegeben werden" +msgstr "erweiterte Ausgaben; muss vor einem Unterbefehl angegeben werden" #: builtin/repack.c:17 msgid "git repack [<options>]" @@ -10238,7 +10440,7 @@ msgstr "Konnte Index-Datei nicht zu Commit '%s' setzen." msgid "Could not write new index file." msgstr "Konnte neue Index-Datei nicht schreiben." -#: builtin/rev-list.c:354 +#: builtin/rev-list.c:350 msgid "rev-list does not support display of notes" msgstr "rev-list unterstΓΌtzt keine Anzeige von Notizen" @@ -10280,7 +10482,7 @@ msgstr "git revert [<Optionen>] <Commit-Angabe>..." #: builtin/revert.c:23 msgid "git revert <subcommand>" -msgstr "git revert <Unterkommando>" +msgstr "git revert <Unterbefehl>" #: builtin/revert.c:28 msgid "git cherry-pick [<options>] <commit-ish>..." @@ -10288,7 +10490,7 @@ msgstr "git cherry-pick [<Optionen>] <Commit-Angabe>..." #: builtin/revert.c:29 msgid "git cherry-pick <subcommand>" -msgstr "git cherry-pick <Unterkommando>" +msgstr "git cherry-pick <Unterbefehl>" #: builtin/revert.c:71 #, c-format @@ -10500,28 +10702,23 @@ msgstr "Status des Remote-Helpers ausgeben" msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]" msgstr "git shortlog [<Optionen>] [<Commitbereich>] [[--] [<Pfad>...]]" -#: builtin/shortlog.c:131 -#, c-format -msgid "Missing author: %s" -msgstr "fehlender Autor: %s" - -#: builtin/shortlog.c:230 +#: builtin/shortlog.c:242 msgid "sort output according to the number of commits per author" msgstr "die Ausgabe entsprechend der Anzahl von Commits pro Autor sortieren" -#: builtin/shortlog.c:232 +#: builtin/shortlog.c:244 msgid "Suppress commit descriptions, only provides commit count" msgstr "Commit-Beschreibungen unterdrΓΌcken, nur Anzahl der Commits liefern" -#: builtin/shortlog.c:234 +#: builtin/shortlog.c:246 msgid "Show the email address of each author" msgstr "die E-Mail-Adresse von jedem Autor anzeigen" -#: builtin/shortlog.c:235 +#: builtin/shortlog.c:247 msgid "w[,i1[,i2]]" msgstr "w[,i1[,i2]]" -#: builtin/shortlog.c:236 +#: builtin/shortlog.c:248 msgid "Linewrap output" msgstr "Ausgabe mit ZeilenumbrΓΌchen" @@ -10664,47 +10861,48 @@ msgstr "git stripspace [-c | --comment-lines]" #: builtin/stripspace.c:35 msgid "skip and remove all lines starting with comment character" -msgstr "alle Zeilen, die mit dem Kommentarzeichen beginnen, ΓΌberspringen und " +msgstr "" +"alle Zeilen, die mit dem Kommentarzeichen beginnen, ΓΌberspringen und " "entfernen" #: builtin/stripspace.c:38 -msgid "prepend comment character and blank to each line" -msgstr "Kommentarzeichen mit Leerzeichen an jeder Zeile voranstellen" +msgid "prepend comment character and space to each line" +msgstr "Kommentarzeichen mit Leerzeichen an jede Zeile voranstellen" -#: builtin/submodule--helper.c:79 builtin/submodule--helper.c:167 +#: builtin/submodule--helper.c:73 builtin/submodule--helper.c:161 msgid "alternative anchor for relative paths" msgstr "Alternativer Anker fΓΌr relative Pfade" -#: builtin/submodule--helper.c:84 +#: builtin/submodule--helper.c:78 msgid "git submodule--helper list [--prefix=<path>] [<path>...]" msgstr "git submodule--helper list [--prefix=<Pfad>] [<Pfad>...]" -#: builtin/submodule--helper.c:114 +#: builtin/submodule--helper.c:108 msgid "git submodule--helper name <path>" msgstr "git submodule--helper name <Pfad>" -#: builtin/submodule--helper.c:120 +#: builtin/submodule--helper.c:114 #, c-format msgid "no submodule mapping found in .gitmodules for path '%s'" msgstr "Keine Submodul-Zuordnung in .gitmodules fΓΌr Pfad '%s' gefunden" -#: builtin/submodule--helper.c:170 +#: builtin/submodule--helper.c:164 msgid "where the new submodule will be cloned to" msgstr "Pfad fΓΌr neues Submodul" -#: builtin/submodule--helper.c:173 +#: builtin/submodule--helper.c:167 msgid "name of the new submodule" msgstr "Name des neuen Submoduls" -#: builtin/submodule--helper.c:176 +#: builtin/submodule--helper.c:170 msgid "url where to clone the submodule from" msgstr "URL von der das Submodul geklont wird" -#: builtin/submodule--helper.c:182 +#: builtin/submodule--helper.c:176 msgid "depth for shallow clones" msgstr "Tiefe des Klons mit unvollstΓ€ndiger Historie (shallow)" -#: builtin/submodule--helper.c:188 +#: builtin/submodule--helper.c:182 msgid "" "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference " "<repository>] [--name <name>] [--url <url>][--depth <depth>] [--] [<path>...]" @@ -10712,40 +10910,40 @@ msgstr "" "git submodule--helper clone [--prefix=<Pfad>] [--quiet] [--reference " "<Repository>] [--name <Name>] [--url <URL>][--depth <Tiefe>] [--] [<Pfad>...]" -#: builtin/submodule--helper.c:202 builtin/submodule--helper.c:208 -#: builtin/submodule--helper.c:216 +#: builtin/submodule--helper.c:196 builtin/submodule--helper.c:202 +#: builtin/submodule--helper.c:210 #, c-format msgid "could not create directory '%s'" msgstr "Konnte Verzeichnis '%s' nicht erstellen." -#: builtin/submodule--helper.c:204 +#: builtin/submodule--helper.c:198 #, c-format msgid "clone of '%s' into submodule path '%s' failed" msgstr "Klonen von '%s' in Submodul-Pfad '%s' fehlgeschlagen" -#: builtin/submodule--helper.c:227 +#: builtin/submodule--helper.c:221 #, c-format msgid "cannot open file '%s'" msgstr "Kann Datei '%s' nicht ΓΆffnen" -#: builtin/submodule--helper.c:232 +#: builtin/submodule--helper.c:226 #, c-format msgid "could not close file %s" msgstr "Konnte Datei '%s' nicht schlieΓen." -#: builtin/submodule--helper.c:247 +#: builtin/submodule--helper.c:241 #, c-format msgid "could not get submodule directory for '%s'" msgstr "Konnte Submodul-Verzeichnis '%s' nicht finden." -#: builtin/submodule--helper.c:273 +#: builtin/submodule--helper.c:267 msgid "fatal: submodule--helper subcommand must be called with a subcommand" -msgstr "fatal: submodule--helper muss mit einem Unterkommando aufgerufen werden" +msgstr "fatal: submodule--helper muss mit einem Unterbefehl aufgerufen werden" -#: builtin/submodule--helper.c:280 +#: builtin/submodule--helper.c:274 #, c-format msgid "fatal: '%s' is not a valid submodule--helper subcommand" -msgstr "fatal: '%s' ist kein gΓΌltiges Unterkommando von submodule--helper" +msgstr "fatal: '%s' ist kein gΓΌltiger Unterbefehl von submodule--helper" #: builtin/symbolic-ref.c:7 msgid "git symbolic-ref [<options>] <name> [<ref>]" @@ -10988,206 +11186,220 @@ msgstr "Tag '%s' aktualisiert (war %s)\n" msgid "Unpacking objects" msgstr "Entpacke Objekte" -#: builtin/update-index.c:70 +#: builtin/update-index.c:79 #, c-format msgid "failed to create directory %s" msgstr "Fehler beim Erstellen von Verzeichnis '%s'" -#: builtin/update-index.c:76 +#: builtin/update-index.c:85 #, c-format msgid "failed to stat %s" msgstr "Konnte '%s' nicht lesen" -#: builtin/update-index.c:86 +#: builtin/update-index.c:95 #, c-format msgid "failed to create file %s" msgstr "Konnte Datei '%s' nicht erstellen" -#: builtin/update-index.c:94 +#: builtin/update-index.c:103 #, c-format msgid "failed to delete file %s" msgstr "Konnte Datei '%s' nicht lΓΆschen" -#: builtin/update-index.c:101 builtin/update-index.c:203 +#: builtin/update-index.c:110 builtin/update-index.c:212 #, c-format msgid "failed to delete directory %s" msgstr "Konnte Verzeichnis '%s' nicht lΓΆschen" -#: builtin/update-index.c:124 +#: builtin/update-index.c:133 #, c-format -msgid "Testing " -msgstr "PrΓΌfe " +msgid "Testing mtime in '%s' " +msgstr "PrΓΌfe mtime in '%s' " -#: builtin/update-index.c:136 +#: builtin/update-index.c:145 msgid "directory stat info does not change after adding a new file" msgstr "" "Verzeichnisinformationen haben sich nach HinzufΓΌgen einer neuen Datei nicht " "geΓ€ndert" -#: builtin/update-index.c:149 +#: builtin/update-index.c:158 msgid "directory stat info does not change after adding a new directory" msgstr "" "Verzeichnisinformationen haben sich nach HinzufΓΌgen eines neuen " "Verzeichnisses nicht geΓ€ndert" -#: builtin/update-index.c:162 +#: builtin/update-index.c:171 msgid "directory stat info changes after updating a file" msgstr "" "Verzeichnisinformationen haben sich nach Aktualisierung einer Datei geΓ€ndert" -#: builtin/update-index.c:173 +#: builtin/update-index.c:182 msgid "directory stat info changes after adding a file inside subdirectory" msgstr "" "Verzeichnisinformationen haben sich nach HinzufΓΌgen einer Datei in ein " "Unterverzeichnis geΓ€ndert" -#: builtin/update-index.c:184 +#: builtin/update-index.c:193 msgid "directory stat info does not change after deleting a file" msgstr "" "Verzeichnisinformationen haben sich nach dem LΓΆschen einer Datei nicht " "geΓ€ndert" -#: builtin/update-index.c:197 +#: builtin/update-index.c:206 msgid "directory stat info does not change after deleting a directory" msgstr "" "Verzeichnisinformationen haben sich nach dem LΓΆschen eines Verzeichnisses " "nicht geΓ€ndert" -#: builtin/update-index.c:204 +#: builtin/update-index.c:213 msgid " OK" msgstr " OK" -#: builtin/update-index.c:564 +#: builtin/update-index.c:575 msgid "git update-index [<options>] [--] [<file>...]" msgstr "git update-index [<Optionen>] [--] [<Datei>...]" -#: builtin/update-index.c:918 +#: builtin/update-index.c:930 msgid "continue refresh even when index needs update" msgstr "" "Aktualisierung fortsetzen, auch wenn der Index aktualisiert werden muss" -#: builtin/update-index.c:921 +#: builtin/update-index.c:933 msgid "refresh: ignore submodules" msgstr "Aktualisierung: ignoriert Submodule" -#: builtin/update-index.c:924 +#: builtin/update-index.c:936 msgid "do not ignore new files" msgstr "keine neuen Dateien ignorieren" -#: builtin/update-index.c:926 +#: builtin/update-index.c:938 msgid "let files replace directories and vice-versa" msgstr "Dateien Verzeichnisse ersetzen lassen, und umgedreht" -#: builtin/update-index.c:928 +#: builtin/update-index.c:940 msgid "notice files missing from worktree" msgstr "fehlende Dateien im Arbeitsverzeichnis beachten" -#: builtin/update-index.c:930 +#: builtin/update-index.c:942 msgid "refresh even if index contains unmerged entries" msgstr "" "aktualisieren, auch wenn der Index nicht zusammengefΓΌhrte EintrΓ€ge beinhaltet" -#: builtin/update-index.c:933 +#: builtin/update-index.c:945 msgid "refresh stat information" msgstr "Dateiinformationen aktualisieren" -#: builtin/update-index.c:937 +#: builtin/update-index.c:949 msgid "like --refresh, but ignore assume-unchanged setting" msgstr "wie --refresh, ignoriert aber \"assume-unchanged\" Einstellung" -#: builtin/update-index.c:941 +#: builtin/update-index.c:953 msgid "<mode>,<object>,<path>" msgstr "<Modus>,<Objekt>,<Pfad>" -#: builtin/update-index.c:942 +#: builtin/update-index.c:954 msgid "add the specified entry to the index" msgstr "den angegebenen Eintrag zum Commit vormerken" -#: builtin/update-index.c:946 +#: builtin/update-index.c:958 msgid "(+/-)x" msgstr "(+/-)x" -#: builtin/update-index.c:947 +#: builtin/update-index.c:959 msgid "override the executable bit of the listed files" msgstr "das \"ausfΓΌhrbar\"-Bit der aufgelisteten Dateien ΓΌberschreiben" -#: builtin/update-index.c:951 +#: builtin/update-index.c:963 msgid "mark files as \"not changing\"" msgstr "diese Datei immer als unverΓ€ndert betrachten" -#: builtin/update-index.c:954 +#: builtin/update-index.c:966 msgid "clear assumed-unchanged bit" msgstr "\"assumed-unchanged\"-Bit lΓΆschen" -#: builtin/update-index.c:957 +#: builtin/update-index.c:969 msgid "mark files as \"index-only\"" msgstr "Dateien als \"index-only\" markieren" -#: builtin/update-index.c:960 +#: builtin/update-index.c:972 msgid "clear skip-worktree bit" msgstr "\"skip-worktree\"-Bit lΓΆschen" -#: builtin/update-index.c:963 +#: builtin/update-index.c:975 msgid "add to index only; do not add content to object database" msgstr "" "die Γnderungen nur zum Commit vormerken; Inhalt wird nicht der Objekt-" "Datenbank hinzugefΓΌgt" -#: builtin/update-index.c:965 +#: builtin/update-index.c:977 msgid "remove named paths even if present in worktree" msgstr "" "benannte Pfade lΓΆschen, auch wenn sie sich im Arbeitsverzeichnis befinden" -#: builtin/update-index.c:967 +#: builtin/update-index.c:979 msgid "with --stdin: input lines are terminated by null bytes" msgstr "mit --stdin: eingegebene Zeilen sind durch NUL-Bytes abgeschlossen" -#: builtin/update-index.c:969 +#: builtin/update-index.c:981 msgid "read list of paths to be updated from standard input" msgstr "Liste der zu aktualisierenden Pfade von der Standard-Eingabe lesen" -#: builtin/update-index.c:973 +#: builtin/update-index.c:985 msgid "add entries from standard input to the index" msgstr "EintrΓ€ge von der Standard-Eingabe zum Commit vormerken" -#: builtin/update-index.c:977 +#: builtin/update-index.c:989 msgid "repopulate stages #2 and #3 for the listed paths" msgstr "" "wiederholtes Einpflegen der ZustΓ€nde #2 und #3 fΓΌr die aufgelisteten Pfade" -#: builtin/update-index.c:981 +#: builtin/update-index.c:993 msgid "only update entries that differ from HEAD" msgstr "nur EintrΓ€ge aktualisieren, die unterschiedlich zu HEAD sind" -#: builtin/update-index.c:985 +#: builtin/update-index.c:997 msgid "ignore files missing from worktree" msgstr "fehlende Dateien im Arbeitsverzeichnis ignorieren" -#: builtin/update-index.c:988 +#: builtin/update-index.c:1000 msgid "report actions to standard output" msgstr "die Aktionen in der Standard-Ausgabe ausgeben" -#: builtin/update-index.c:990 +#: builtin/update-index.c:1002 msgid "(for porcelains) forget saved unresolved conflicts" msgstr "(fΓΌr Fremdprogramme) keine gespeicherten, nicht aufgelΓΆste Konflikte" -#: builtin/update-index.c:994 +#: builtin/update-index.c:1006 msgid "write index in this format" msgstr "Index-Datei in diesem Format schreiben" -#: builtin/update-index.c:996 +#: builtin/update-index.c:1008 msgid "enable or disable split index" msgstr "Splitting des Index aktivieren oder deaktivieren" -#: builtin/update-index.c:998 +#: builtin/update-index.c:1010 msgid "enable/disable untracked cache" msgstr "Cache fΓΌr unversionierte Dateien aktivieren oder deaktivieren" -#: builtin/update-index.c:1000 +#: builtin/update-index.c:1012 +msgid "test if the filesystem supports untracked cache" +msgstr "" +"prΓΌfen ob das Dateisystem einen Cache fΓΌr unversionierte Dateien unterstΓΌtzt" + +#: builtin/update-index.c:1014 msgid "enable untracked cache without testing the filesystem" msgstr "" "Cache fΓΌr unversionierte Dateien ohne PrΓΌfung des Dateisystems aktivieren" +#: builtin/update-index.c:1134 +msgid "Untracked cache disabled" +msgstr "Cache fΓΌr unversionierte Dateien deaktiviert" + +#: builtin/update-index.c:1146 +#, c-format +msgid "Untracked cache enabled for '%s'" +msgstr "Cache fΓΌr unversionierte Dateien fΓΌr '%s' aktiviert" + #: builtin/update-ref.c:9 msgid "git update-ref [<options>] -d <refname> [<old-val>]" msgstr "git update-ref [<Optionen>] -d <Referenzname> [<alter-Wert>]" @@ -11304,35 +11516,35 @@ msgstr "Fehler beim LΓΆschen: %s" msgid "'%s' already exists" msgstr "'%s' existiert bereits" -#: builtin/worktree.c:235 +#: builtin/worktree.c:233 #, c-format msgid "could not create directory of '%s'" msgstr "Konnte Verzeichnis '%s' nicht erstellen." -#: builtin/worktree.c:271 +#: builtin/worktree.c:269 #, c-format msgid "Preparing %s (identifier %s)" msgstr "Bereite %s vor (Identifikation %s)" -#: builtin/worktree.c:319 +#: builtin/worktree.c:317 msgid "checkout <branch> even if already checked out in other worktree" msgstr "" "<Branch> auschecken, auch wenn dieser bereits in einem anderen " "Arbeitsverzeichnis ausgecheckt ist" -#: builtin/worktree.c:321 +#: builtin/worktree.c:319 msgid "create a new branch" msgstr "neuen Branch erstellen" -#: builtin/worktree.c:323 +#: builtin/worktree.c:321 msgid "create or reset a branch" msgstr "Branch erstellen oder umsetzen" -#: builtin/worktree.c:324 +#: builtin/worktree.c:322 msgid "detach HEAD at named commit" msgstr "HEAD bei benanntem Commit loslΓΆsen" -#: builtin/worktree.c:331 +#: builtin/worktree.c:329 msgid "-b, -B, and --detach are mutually exclusive" msgstr "-b, -B und --detach schlieΓen sich gegenseitig aus" @@ -11352,7 +11564,7 @@ msgstr "das \"Tree\"-Objekt fΓΌr ein Unterverzeichnis <PrΓ€fix> schreiben" msgid "only useful for debugging" msgstr "nur nΓΌtzlich fΓΌr Fehlersuche" -#: credential-cache--daemon.c:255 +#: credential-cache--daemon.c:262 msgid "print debugging messages to stderr" msgstr "Meldungen zur Fehlersuche in Standard-Fehlerausgabe ausgeben" @@ -11362,11 +11574,17 @@ msgid "" "concept guides. See 'git help <command>' or 'git help <concept>'\n" "to read about a specific subcommand or concept." msgstr "" -"'git help -a' und 'git help -g' listet verfΓΌgbare Unterkommandos und\n" -"einige Anleitungen zu Git-Konzepten auf. Benutzen Sie 'git help <Kommando>'\n" -"oder 'git help <Konzept>', um mehr ΓΌber ein spezifisches Kommando oder\n" +"'git help -a' und 'git help -g' listet verfΓΌgbare Unterbefehle und\n" +"einige Anleitungen zu Git-Konzepten auf. Benutzen Sie 'git help <Befehl>'\n" +"oder 'git help <Konzept>', um mehr ΓΌber einen spezifischen Befehl oder\n" "Konzept zu erfahren." +#: http.c:321 +msgid "Public key pinning not supported with cURL < 7.44.0" +msgstr "" +"Das Anheften des ΓΆffentlichen SchlΓΌssels wird mit cURL < 7.44.0\n" +"nicht unterstΓΌtzt." + #: common-cmds.h:9 msgid "start a working area (see also: git help tutorial)" msgstr "Arbeitsverzeichnis anlegen (siehe auch: git help tutorial)" @@ -11456,8 +11674,8 @@ msgid "Update remote refs along with associated objects" msgstr "Remote-Referenzen mitsamt den verbundenen Objekten aktualisieren" #: common-cmds.h:32 -msgid "Forward-port local commits to the updated upstream head" -msgstr "lokale Commits auf einem aktuellerem Upstream-Branch neu aufbauen" +msgid "Reapply commits on top of another base tip" +msgstr "Wiederholtes Anwenden von Commits auf anderem Basis-Commit" #: common-cmds.h:33 msgid "Reset current HEAD to the specified state" @@ -11682,7 +11900,7 @@ msgstr "'$term' ist kein gΓΌltiger Begriff" #: git-bisect.sh:578 #, sh-format msgid "can't use the builtin command '$term' as a term" -msgstr "Kann eingebautes Kommando '$term' nicht als Begriff verwenden" +msgstr "Kann eingebauten Befehl '$term' nicht als Begriff verwenden" #: git-bisect.sh:587 git-bisect.sh:593 #, sh-format @@ -11693,7 +11911,7 @@ msgstr "Kann Bedeutung von '$term' nicht Γ€ndern." #, sh-format msgid "Invalid command: you're currently in a $TERM_BAD/$TERM_GOOD bisect." msgstr "" -"UngΓΌltiges Kommando: Sie sind gerade bei einer binΓ€ren $TERM_BAD/$TERM_GOOD " +"UngΓΌltiger Befehl: Sie sind gerade bei einer binΓ€ren $TERM_BAD/$TERM_GOOD " "Suche." #: git-bisect.sh:636 @@ -11799,7 +12017,7 @@ msgstr "" "\t$cmd_live_rebase\n" "Wenn das nicht der Fall ist, probieren Sie bitte\n" "\t$cmd_clear_stale_rebase\n" -"und fΓΌhren Sie dieses Kommando nochmal aus. Es wird angehalten, falls noch\n" +"und fΓΌhren Sie diesen Befehl nochmal aus. Es wird angehalten, falls noch\n" "etwas SchΓΌtzenswertes vorhanden ist." #: git-rebase.sh:468 @@ -12079,7 +12297,7 @@ msgid "" "option." msgstr "" "oder Sie sich unsicher sind, was das bedeutet, wΓ€hlen Sie einen anderen " -"Namenmit der Option '--name'." +"Namen mit der Option '--name'." #: git-submodule.sh:347 #, sh-format @@ -12192,7 +12410,7 @@ msgstr "" "Submodul '$name' ($url) fΓΌr Pfad '$displaypath' wurde aus der Konfiguration " "entfernt." -#: git-submodule.sh:705 +#: git-submodule.sh:723 #, sh-format msgid "" "Submodule path '$displaypath' not initialized\n" @@ -12201,52 +12419,52 @@ msgstr "" "Submodul-Pfad '$displaypath' ist nicht initialisiert.\n" "Vielleicht mΓΆchten Sie 'update --init' benutzen?" -#: git-submodule.sh:718 +#: git-submodule.sh:736 #, sh-format msgid "Unable to find current revision in submodule path '$displaypath'" msgstr "Konnte aktuellen Commit in Submodul-Pfad '$displaypath' nicht finden." -#: git-submodule.sh:727 +#: git-submodule.sh:745 #, sh-format msgid "Unable to fetch in submodule path '$sm_path'" msgstr "Konnte \"fetch\" in Submodul-Pfad '$sm_path' nicht ausfΓΌhren" -#: git-submodule.sh:751 +#: git-submodule.sh:768 #, sh-format msgid "Unable to fetch in submodule path '$displaypath'" msgstr "Konnte \"fetch\" in Submodul-Pfad '$displaypath' nicht ausfΓΌhren" -#: git-submodule.sh:765 +#: git-submodule.sh:788 #, sh-format msgid "Unable to checkout '$sha1' in submodule path '$displaypath'" msgstr "Konnte '$sha1' in Submodul-Pfad '$displaypath' nicht auschecken." -#: git-submodule.sh:766 +#: git-submodule.sh:789 #, sh-format msgid "Submodule path '$displaypath': checked out '$sha1'" msgstr "Submodul-Pfad: '$displaypath': '$sha1' ausgecheckt" -#: git-submodule.sh:770 +#: git-submodule.sh:793 #, sh-format msgid "Unable to rebase '$sha1' in submodule path '$displaypath'" msgstr "Rebase auf '$sha1' in Submodul-Pfad '$displaypath' nicht mΓΆglich" -#: git-submodule.sh:771 +#: git-submodule.sh:794 #, sh-format msgid "Submodule path '$displaypath': rebased into '$sha1'" msgstr "Submodul-Pfad '$displaypath': Rebase auf '$sha1'" -#: git-submodule.sh:776 +#: git-submodule.sh:799 #, sh-format msgid "Unable to merge '$sha1' in submodule path '$displaypath'" msgstr "Merge von '$sha1' in Submodul-Pfad '$displaypath' fehlgeschlagen" -#: git-submodule.sh:777 +#: git-submodule.sh:800 #, sh-format msgid "Submodule path '$displaypath': merged in '$sha1'" msgstr "Submodul-Pfad '$displaypath': zusammengefΓΌhrt in '$sha1'" -#: git-submodule.sh:782 +#: git-submodule.sh:805 #, sh-format msgid "" "Execution of '$command $sha1' failed in submodule path '$prefix$sm_path'" @@ -12254,56 +12472,135 @@ msgstr "" "AusfΓΌhrung von '$command $sha1' in Submodul-Pfad '$prefix$sm_path' " "fehlgeschlagen" -#: git-submodule.sh:783 +#: git-submodule.sh:806 #, sh-format msgid "Submodule path '$prefix$sm_path': '$command $sha1'" msgstr "Submodul-Pfad '$prefix$sm_path': '$command $sha1'" -#: git-submodule.sh:813 +#: git-submodule.sh:836 #, sh-format msgid "Failed to recurse into submodule path '$displaypath'" msgstr "Fehler bei Rekursion in Submodul-Pfad '$displaypath'" -#: git-submodule.sh:921 +#: git-submodule.sh:944 msgid "The --cached option cannot be used with the --files option" msgstr "" "Die Optionen --cached und --files kΓΆnnen nicht gemeinsam verwendet werden." -#: git-submodule.sh:973 +#: git-submodule.sh:996 #, sh-format msgid "unexpected mode $mod_dst" msgstr "unerwarteter Modus $mod_dst" -#: git-submodule.sh:993 +#: git-submodule.sh:1016 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_src" msgstr " Warnung: $display_name beinhaltet nicht Commit $sha1_src" -#: git-submodule.sh:996 +#: git-submodule.sh:1019 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_dst" msgstr " Warnung: $display_name beinhaltet nicht Commit $sha1_dst" -#: git-submodule.sh:999 +#: git-submodule.sh:1022 #, sh-format msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst" msgstr "" " Warnung: $display_name beinhaltet nicht die Commits $sha1_src und $sha1_dst" -#: git-submodule.sh:1024 +#: git-submodule.sh:1047 msgid "blob" msgstr "Blob" -#: git-submodule.sh:1142 +#: git-submodule.sh:1165 #, sh-format msgid "Failed to recurse into submodule path '$sm_path'" msgstr "Fehler bei Rekursion in Submodul-Pfad '$sm_path'" -#: git-submodule.sh:1206 +#: git-submodule.sh:1229 #, sh-format msgid "Synchronizing submodule url for '$displaypath'" msgstr "Synchronisiere Submodul-URL fΓΌr '$displaypath'" +#~ msgid "Forward-port local commits to the updated upstream head" +#~ msgstr "lokale Commits auf einem aktuellerem Upstream-Branch neu aufbauen" + +#~ msgid "unable to parse format" +#~ msgstr "Konnte Format nicht parsen." + +#~ msgid "improper format entered align:%s" +#~ msgstr "Sie haben ein ungΓΌltiges Format eingegeben align:%s" + +#~ msgid "Could not set core.worktree in %s" +#~ msgstr "Konnte core.worktree in '%s' nicht setzen." + +#~ msgid "" +#~ "push.default is unset; its implicit value has changed in\n" +#~ "Git 2.0 from 'matching' to 'simple'. To squelch this message\n" +#~ "and maintain the traditional behavior, use:\n" +#~ "\n" +#~ " git config --global push.default matching\n" +#~ "\n" +#~ "To squelch this message and adopt the new behavior now, use:\n" +#~ "\n" +#~ " git config --global push.default simple\n" +#~ "\n" +#~ "When push.default is set to 'matching', git will push local branches\n" +#~ "to the remote branches that already exist with the same name.\n" +#~ "\n" +#~ "Since Git 2.0, Git defaults to the more conservative 'simple'\n" +#~ "behavior, which only pushes the current branch to the corresponding\n" +#~ "remote branch that 'git pull' uses to update the current branch.\n" +#~ "\n" +#~ "See 'git help config' and search for 'push.default' for further " +#~ "information.\n" +#~ "(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n" +#~ "'current' instead of 'simple' if you sometimes use older versions of Git)" +#~ msgstr "" +#~ "'push.default' ist nicht gesetzt; der implizit gesetzte Wert\n" +#~ "wurde in Git 2.0 von 'matching' nach 'simple' geΓ€ndert. Um diese Meldung " +#~ "zu\n" +#~ "unterdrΓΌcken und das aktuelle Verhalten nach Γnderung des Standardwertes\n" +#~ "beizubehalten, benutzen Sie:\n" +#~ "\n" +#~ " git config --global push.default matching\n" +#~ "\n" +#~ "Um diese Meldung zu unterdrΓΌcken und das neue Verhalten jetzt zu " +#~ "ΓΌbernehmen, benutzen Sie:\n" +#~ "\n" +#~ " git config --global push.default simple\n" +#~ "\n" +#~ "Wenn 'push.default' auf den Wert 'matching' gesetzt ist, werden lokale\n" +#~ "Branches zu den Remote-Branches mit den selben Namen versendet.\n" +#~ "\n" +#~ "In Git 2.0 wurde das Standardverhalten zu 'simple' geΓ€ndert. Hierbei " +#~ "wird\n" +#~ "der aktuelle Branch zu dem entsprechenden Remote-Branch versendet, den\n" +#~ "'git pull' zur Aktualisierung des aktuellen Branches verwendet.\n" +#~ "\n" +#~ "FΓΌhren Sie 'git help config' aus und suchen Sie nach 'push.default' fΓΌr\n" +#~ "weitere Informationen.\n" +#~ "(Der Modus 'simple' wurde in Git 1.7.11 eingefΓΌhrt. Benutzen Sie den " +#~ "Γ€hnlichen\n" +#~ "Modus 'current' anstatt 'simple', falls Sie gelegentlich Γ€ltere Versionen " +#~ "von\n" +#~ "Git benutzen.)" + +#~ msgid "check|on-demand|no" +#~ msgstr "check|on-demand|no" + +#~ msgid "Could not append '%s'" +#~ msgstr "Konnte '%s' nicht anhΓ€ngen." + +#~ msgid "Could not set '%s'" +#~ msgstr "Konnte '%s' nicht setzen" + +#~ msgid "Missing author: %s" +#~ msgstr "fehlender Autor: %s" + +#~ msgid "Testing " +#~ msgstr "PrΓΌfe " + #~ msgid "unable to look up current user in the passwd file: %s" #~ msgstr "konnte aktuellen Benutzer nicht in Passwort-Datei finden: %s" @@ -12374,9 +12671,6 @@ msgstr "Synchronisiere Submodul-URL fΓΌr '$displaypath'" #~ msgid "unable to parse value '%s' for option %s" #~ msgstr "konnte Wert '%s' fΓΌr Option %s nicht parsen" -#~ msgid "unable to resolve HEAD" -#~ msgstr "Konnte HEAD nicht auflΓΆsen." - #~ msgid "-b and -B are mutually exclusive" #~ msgstr "-b und -B schlieΓen sich gegenseitig aus" @@ -12456,9 +12750,6 @@ msgstr "Synchronisiere Submodul-URL fΓΌr '$displaypath'" #~ "Informationen zu nicht mehr existierenden Arbeitsverzeichnissen in .git/" #~ "worktrees entfernen" -#~ msgid "--worktrees does not take extra arguments" -#~ msgstr "--worktrees akzeptiert keine weiteren Argumente" - #~ msgid "The most commonly used git commands are:" #~ msgstr "Die allgemein verwendeten Git-Kommandos sind:" @@ -12489,9 +12780,6 @@ msgstr "Synchronisiere Submodul-URL fΓΌr '$displaypath'" #~ msgid "force creation (when already exists)" #~ msgstr "Branch auch erzeugen, wenn dieser bereits existiert" -#~ msgid "Malformed ident string: '%s'" -#~ msgstr "Fehlerhafter Ident-String: '%s'" - #~ msgid "slot" #~ msgstr "Slot" @@ -12541,9 +12829,6 @@ msgstr "Synchronisiere Submodul-URL fΓΌr '$displaypath'" #~ msgid "bug" #~ msgstr "Fehler" -#~ msgid "ahead " -#~ msgstr "voraus " - #~ msgid ", behind " #~ msgstr ", hinterher " @@ -73,8 +73,8 @@ msgid "" msgstr "" "Project-Id-Version: git\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2015-12-22 22:50+0800\n" -"PO-Revision-Date: 2015-12-24 07:36+0100\n" +"POT-Creation-Date: 2016-03-16 00:16+0800\n" +"PO-Revision-Date: 2016-03-14 20:26+0100\n" "Last-Translator: Jean-NoΓ«l Avila <jn.avila@free.fr>\n" "Language-Team: Jean-NoΓ«l Avila <jn.avila@free.fr>\n" "Language: fr\n" @@ -96,7 +96,7 @@ msgstr "" "Corrigez-les puis lancez 'git add/rm <fichier>'\n" "si nΓ©cessaire pour marquer la rΓ©solution et valider." -#: advice.c:101 builtin/merge.c:1225 +#: advice.c:101 builtin/merge.c:1226 msgid "You have not concluded your merge (MERGE_HEAD exists)." msgstr "Vous n'avez pas terminΓ© votre fusion (MERGE_HEAD existe)." @@ -140,7 +140,7 @@ msgstr "fmt" msgid "archive format" msgstr "format d'archive" -#: archive.c:430 builtin/log.c:1229 +#: archive.c:430 builtin/log.c:1232 msgid "prefix" msgstr "prΓ©fixe" @@ -148,10 +148,10 @@ msgstr "prΓ©fixe" msgid "prepend prefix to each pathname in the archive" msgstr "prΓ©fixer chaque chemin de fichier dans l'archive" -#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2535 builtin/blame.c:2536 -#: builtin/config.c:58 builtin/fast-export.c:987 builtin/fast-export.c:989 -#: builtin/grep.c:707 builtin/hash-object.c:99 builtin/ls-files.c:446 -#: builtin/ls-files.c:449 builtin/notes.c:395 builtin/notes.c:558 +#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2547 builtin/blame.c:2548 +#: builtin/config.c:60 builtin/fast-export.c:987 builtin/fast-export.c:989 +#: builtin/grep.c:720 builtin/hash-object.c:100 builtin/ls-files.c:459 +#: builtin/ls-files.c:462 builtin/notes.c:398 builtin/notes.c:561 #: builtin/read-tree.c:109 parse-options.h:153 msgid "file" msgstr "fichier" @@ -184,7 +184,7 @@ msgstr "compression efficace" msgid "list supported archive formats" msgstr "afficher les formats d'archive supportΓ©s" -#: archive.c:451 builtin/archive.c:90 builtin/clone.c:77 +#: archive.c:451 builtin/archive.c:90 builtin/clone.c:78 msgid "repo" msgstr "dΓ©pΓ΄t" @@ -192,7 +192,7 @@ msgstr "dΓ©pΓ΄t" msgid "retrieve the archive from remote repository <repo>" msgstr "rΓ©cupΓ©rer l'archive depuis le dΓ©pΓ΄t distant <dΓ©pΓ΄t>" -#: archive.c:453 builtin/archive.c:92 builtin/notes.c:479 +#: archive.c:453 builtin/archive.c:92 builtin/notes.c:482 msgid "command" msgstr "commande" @@ -200,7 +200,7 @@ msgstr "commande" msgid "path to the remote git-upload-archive command" msgstr "chemin vers la commande distante git-upload-archive" -#: attr.c:265 +#: attr.c:263 msgid "" "Negative patterns are ignored in git attributes\n" "Use '\\!' for literal leading exclamation." @@ -208,90 +208,107 @@ msgstr "" "Les motifs de nΓ©gation sont ignorΓ©s dans les attributs git\n" "Utilisez '\\!' pour un point d'exclamation littΓ©ral." -#: branch.c:61 +#: branch.c:53 +#, c-format +msgid "" +"\n" +"After fixing the error cause you may try to fix up\n" +"the remote tracking information by invoking\n" +"\"git branch --set-upstream-to=%s%s%s\"." +msgstr "" +"\n" +"AprΓ¨s correction de la cause de l'erreur, vous pouvez essayer de corriger\n" +"l'information de suivi distant en invoquant\n" +"\"git branch --setup-upstream-to=%s%s%s\"." + +#: branch.c:67 #, c-format msgid "Not setting branch %s as its own upstream." msgstr "La branche %s ne peut pas Γͺtre sa propre branche amont." -#: branch.c:84 +#: branch.c:93 #, c-format msgid "Branch %s set up to track remote branch %s from %s by rebasing." msgstr "" "La branche %s est paramΓ©trΓ©e pour suivre la branche distante %s de %s en " "rebasant." -#: branch.c:85 +#: branch.c:94 #, c-format msgid "Branch %s set up to track remote branch %s from %s." msgstr "" "La branche %s est paramΓ©trΓ©e pour suivre la branche distante %s depuis %s." -#: branch.c:89 +#: branch.c:98 #, c-format msgid "Branch %s set up to track local branch %s by rebasing." msgstr "" "La branche %s est paramΓ©trΓ©e pour suivre la branche locale %s en rebasant." -#: branch.c:90 +#: branch.c:99 #, c-format msgid "Branch %s set up to track local branch %s." msgstr "La branche %s est paramΓ©trΓ©e pour suivre la branche locale %s." -#: branch.c:95 +#: branch.c:104 #, c-format msgid "Branch %s set up to track remote ref %s by rebasing." msgstr "" "La branche %s est paramΓ©trΓ©e pour suivre la rΓ©fΓ©rence distante %s en " "rebasant." -#: branch.c:96 +#: branch.c:105 #, c-format msgid "Branch %s set up to track remote ref %s." msgstr "La branche %s est paramΓ©trΓ©e pour suivre la rΓ©fΓ©rence distante %s." -#: branch.c:100 +#: branch.c:109 #, c-format msgid "Branch %s set up to track local ref %s by rebasing." msgstr "" "La branche %s est paramΓ©trΓ©e pour suivre la rΓ©fΓ©rence locale %s en rebasant." -#: branch.c:101 +#: branch.c:110 #, c-format msgid "Branch %s set up to track local ref %s." msgstr "La branche %s est paramΓ©trΓ©e pour suivre la rΓ©fΓ©rence locale %s." -#: branch.c:134 +#: branch.c:119 +msgid "Unable to write upstream branch configuration" +msgstr "Γchec de l'Γ©criture de la configuration de branche amont" + +#: branch.c:156 #, c-format msgid "Not tracking: ambiguous information for ref %s" msgstr "Pas de suivi : information ambiguΓ« pour la rΓ©fΓ©rence %s" -#: branch.c:163 +#: branch.c:185 #, c-format msgid "'%s' is not a valid branch name." msgstr "'%s' n'est pas un nom de branche valide." -#: branch.c:168 +#: branch.c:190 #, c-format msgid "A branch named '%s' already exists." msgstr "Une branche nommΓ©e '%s' existe dΓ©jΓ ." -#: branch.c:176 +#: branch.c:198 msgid "Cannot force update the current branch." msgstr "Impossible de forcer la mise Γ jour de la branche courante." -#: branch.c:196 +#: branch.c:218 #, c-format msgid "Cannot setup tracking information; starting point '%s' is not a branch." msgstr "" "Impossible de paramΓ©trer le suivi de branche ; le point de dΓ©part '%s' n'est " "pas une branche." -#: branch.c:198 +#: branch.c:220 #, c-format msgid "the requested upstream branch '%s' does not exist" msgstr "la branche amont demandΓ©e '%s' n'existe pas" -#: branch.c:200 +#: branch.c:222 msgid "" "\n" "If you are planning on basing your work on an upstream\n" @@ -311,22 +328,22 @@ msgstr "" "sa jumelle distante, vous pouvez utiliser \"git push -u\"\n" "pour paramΓ©trer le suivi distant en mΓͺme temps que vous poussez." -#: branch.c:244 +#: branch.c:266 #, c-format msgid "Not a valid object name: '%s'." msgstr "Nom d'objet invalide : '%s'." -#: branch.c:264 +#: branch.c:286 #, c-format msgid "Ambiguous object name: '%s'." msgstr "Nom d'objet ambigu : '%s'." -#: branch.c:269 +#: branch.c:291 #, c-format msgid "Not a valid branch point: '%s'." msgstr "Point d'embranchement invalide : '%s'." -#: branch.c:322 +#: branch.c:344 #, c-format msgid "'%s' is already checked out at '%s'" msgstr "'%s' est dΓ©jΓ extrait dans '%s'" @@ -350,10 +367,10 @@ msgstr "impossible d'ouvrir '%s'" msgid "Repository lacks these prerequisite commits:" msgstr "Le dΓ©pΓ΄t ne dispose pas des commits prΓ©requis suivants :" -#: bundle.c:163 ref-filter.c:1372 sequencer.c:636 sequencer.c:1083 -#: builtin/blame.c:2734 builtin/commit.c:1045 builtin/log.c:334 -#: builtin/log.c:849 builtin/log.c:1461 builtin/log.c:1694 builtin/merge.c:358 -#: builtin/shortlog.c:158 +#: bundle.c:163 ref-filter.c:1462 sequencer.c:627 sequencer.c:1074 +#: builtin/blame.c:2754 builtin/commit.c:1045 builtin/log.c:334 +#: builtin/log.c:852 builtin/log.c:1467 builtin/log.c:1700 builtin/merge.c:358 +#: builtin/shortlog.c:170 msgid "revision walk setup failed" msgstr "Γ©chec de la prΓ©paration du parcours des rΓ©visions" @@ -392,7 +409,7 @@ msgstr "rev-list a disparu" msgid "ref '%s' is excluded by the rev-list options" msgstr "la rΓ©fΓ©rence '%s' est exclue par les options de rev-list" -#: bundle.c:443 builtin/log.c:157 builtin/log.c:1369 builtin/shortlog.c:261 +#: bundle.c:443 builtin/log.c:157 builtin/log.c:1372 builtin/shortlog.c:273 #, c-format msgid "unrecognized argument: %s" msgstr "argument non reconnu : %s" @@ -415,8 +432,8 @@ msgstr "l'index de groupe a disparu" msgid "invalid color value: %.*s" msgstr "Valeur invalide de couleur : %.*s" -#: commit.c:40 builtin/am.c:452 builtin/am.c:488 builtin/am.c:1520 -#: builtin/am.c:2149 +#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1505 +#: builtin/am.c:2135 #, c-format msgid "could not parse %s" msgstr "impossible d'analyser %s" @@ -430,62 +447,67 @@ msgstr "%s %s n'est pas un commit !" msgid "memory exhausted" msgstr "plus de mΓ©moire" -#: config.c:474 config.c:476 +#: config.c:475 config.c:477 #, c-format -msgid "bad config file line %d in %s" -msgstr "ligne %d de fichier de config incorrecte dans %s" +msgid "bad config line %d in %s %s" +msgstr "ligne %d de fichier de config incorrecte dans %s %s" -#: config.c:592 +#: config.c:593 #, c-format -msgid "bad numeric config value '%s' for '%s' in %s: %s" +msgid "bad numeric config value '%s' for '%s' in %s %s: %s" msgstr "" -"valeur numΓ©rique de configuration incorrecte '%s' pour '%s' dans %sΒ : %s" +"valeur numΓ©rique de configuration incorrecte '%s' pour '%s' dans %s %sΒ : %s" -#: config.c:594 +#: config.c:595 #, c-format msgid "bad numeric config value '%s' for '%s': %s" msgstr "valeur numΓ©rique de configuration invalide '%s' pour '%s' : %s" -#: config.c:679 +#: config.c:680 #, c-format msgid "failed to expand user dir in: '%s'" msgstr "impossible d'Γ©tendre le rΓ©pertoire utilisateur dans : '%s'" -#: config.c:757 config.c:768 +#: config.c:758 config.c:769 #, c-format msgid "bad zlib compression level %d" msgstr "niveau de compression zlib incorrect %d" -#: config.c:890 +#: config.c:891 #, c-format msgid "invalid mode for object creation: %s" msgstr "mode invalide pour la crΓ©ation d'objet : %s" -#: config.c:1216 +#: config.c:1220 msgid "unable to parse command-line config" msgstr "lecture de la configuration de ligne de commande impossible" -#: config.c:1277 +#: config.c:1281 msgid "unknown error occured while reading the configuration files" msgstr "erreur inconnue pendant la lecture des fichiers de configuration" -#: config.c:1601 +#: config.c:1629 #, c-format msgid "unable to parse '%s' from command-line config" msgstr "" "impossible d'analyser '%s' depuis le configuration en ligne de commande" -#: config.c:1603 +#: config.c:1631 #, c-format msgid "bad config variable '%s' in file '%s' at line %d" msgstr "" "variable de configuration '%s' incorrecte dans le fichier '%s' Γ la ligne %d" -#: config.c:1662 +#: config.c:1690 #, c-format msgid "%s has multiple values" msgstr "%s a des valeurs multiples" +#: config.c:2226 +#, c-format +msgid "Could not set '%s' to '%s'" +msgstr "Impossible de rΓ©gler '%s' Γ '%s'" + #: connected.c:69 msgid "Could not run 'git rev-list'" msgstr "Impossible de lancer 'git rev-list'" @@ -603,16 +625,16 @@ msgstr "" "Erreurs dans la variable de configuration 'diff.dirstat' :\n" "%s" -#: diff.c:3000 +#: diff.c:2997 #, c-format msgid "external diff died, stopping at %s" msgstr "l'application de diff externe a disparu, arrΓͺt Γ %s" -#: diff.c:3396 +#: diff.c:3393 msgid "--follow requires exactly one pathspec" msgstr "--follow a besoin d'une spΓ©cification de chemin unique" -#: diff.c:3559 +#: diff.c:3556 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" @@ -621,18 +643,18 @@ msgstr "" "Impossible d'analyser le paramΓ¨tre de l'option --dirstat/-X :\n" "%s" -#: diff.c:3573 +#: diff.c:3570 #, c-format msgid "Failed to parse --submodule option parameter: '%s'" msgstr "Impossible d'analyser le paramΓ¨tre de l'option --submodule : '%s'" -#: dir.c:1915 +#: dir.c:2004 msgid "failed to get kernel name and information" msgstr "echec de l'obtention d'information de kernel" -#: dir.c:1998 -msgid "Untracked cache is disabled on this system." -msgstr "Le cache non suivi est dΓ©sactivΓ© sur ce systΓ¨me." +#: dir.c:2123 +msgid "Untracked cache is disabled on this system or location." +msgstr "Le cache non suivi est dΓ©sactivΓ© sur ce systΓ¨me ou sur cet endroit." #: gpg-interface.c:166 gpg-interface.c:237 msgid "could not run gpg." @@ -671,20 +693,20 @@ msgstr "'%s' : %s" msgid "'%s': short read %s" msgstr "'%s' : lecture tronquΓ©e %s" -#: help.c:207 +#: help.c:205 #, c-format msgid "available git commands in '%s'" msgstr "commandes git disponibles dans '%s'" -#: help.c:214 +#: help.c:212 msgid "git commands available from elsewhere on your $PATH" msgstr "commandes git disponibles depuis un autre endroit de votre $PATH" -#: help.c:246 +#: help.c:244 msgid "These are common Git commands used in various situations:" msgstr "Ci-dessous les commandes Git habituelles dans diverses situationsΒ :" -#: help.c:311 +#: help.c:309 #, c-format msgid "" "'%s' appears to be a git command, but we were not\n" @@ -693,11 +715,11 @@ msgstr "" "'%s' semble Γͺtre une commande git, mais elle n'a pas pu\n" "Γͺtre exΓ©cutΓ©e. Peut-Γͺtre git-%s est-elle cassΓ©e ?" -#: help.c:368 +#: help.c:366 msgid "Uh oh. Your system reports no Git commands at all." msgstr "Ahem. Votre systΓ¨me n'indique aucune commande Git." -#: help.c:390 +#: help.c:388 #, c-format msgid "" "WARNING: You called a Git command named '%s', which does not exist.\n" @@ -707,17 +729,17 @@ msgstr "" "pas.\n" "Continuons en supposant que vous avez voulu dire '%s'" -#: help.c:395 +#: help.c:393 #, c-format msgid "in %0.1f seconds automatically..." msgstr "dans %0.1f secondes automatiquement..." -#: help.c:402 +#: help.c:400 #, c-format msgid "git: '%s' is not a git command. See 'git --help'." msgstr "git : '%s' n'est pas une commande git. Voir 'git --help'." -#: help.c:406 help.c:466 +#: help.c:404 help.c:464 msgid "" "\n" "Did you mean this?" @@ -731,7 +753,7 @@ msgstr[1] "" "\n" "Vouliez-vous dire un de ceux-lΓ ?" -#: help.c:462 +#: help.c:460 #, c-format msgid "%s: %s - %s" msgstr "%s: %s - %s" @@ -740,8 +762,8 @@ msgstr "%s: %s - %s" msgid "failed to read the cache" msgstr "impossible de lire le cache" -#: merge.c:94 builtin/am.c:2022 builtin/am.c:2057 builtin/checkout.c:376 -#: builtin/checkout.c:587 builtin/clone.c:722 +#: merge.c:94 builtin/am.c:2008 builtin/am.c:2043 builtin/checkout.c:376 +#: builtin/checkout.c:587 builtin/clone.c:730 msgid "unable to write new index file" msgstr "impossible d'Γ©crire le nouveau fichier d'index" @@ -759,64 +781,64 @@ msgstr "Γ©chec de addinfo_cache pour le chemin '%s'" msgid "error building trees" msgstr "erreur de construction des arbres" -#: merge-recursive.c:686 +#: merge-recursive.c:689 #, c-format msgid "failed to create path '%s'%s" msgstr "impossible de crΓ©er le chemin '%s' %s" -#: merge-recursive.c:697 +#: merge-recursive.c:700 #, c-format msgid "Removing %s to make room for subdirectory\n" msgstr "Suppression de %s pour faire de la place pour le sous-rΓ©pertoire\n" -#: merge-recursive.c:711 merge-recursive.c:732 +#: merge-recursive.c:714 merge-recursive.c:735 msgid ": perhaps a D/F conflict?" msgstr ": peut-Γͺtre un conflit D/F ?" -#: merge-recursive.c:722 +#: merge-recursive.c:725 #, c-format msgid "refusing to lose untracked file at '%s'" msgstr "refus de perdre le fichier non suivi '%s'" -#: merge-recursive.c:762 +#: merge-recursive.c:765 #, c-format msgid "cannot read object %s '%s'" msgstr "impossible de lire l'objet %s '%s'" -#: merge-recursive.c:764 +#: merge-recursive.c:767 #, c-format msgid "blob expected for %s '%s'" msgstr "blob attendu pour %s '%s'" -#: merge-recursive.c:787 builtin/clone.c:369 +#: merge-recursive.c:790 builtin/clone.c:374 #, c-format msgid "failed to open '%s'" msgstr "Γ©chec Γ l'ouverture de '%s'" -#: merge-recursive.c:795 +#: merge-recursive.c:798 #, c-format msgid "failed to symlink '%s'" msgstr "Γ©chec Γ la crΓ©ation du lien symbolique '%s'" -#: merge-recursive.c:798 +#: merge-recursive.c:801 #, c-format msgid "do not know what to do with %06o %s '%s'" msgstr "ne sait pas traiter %06o %s '%s'" -#: merge-recursive.c:936 +#: merge-recursive.c:939 msgid "Failed to execute internal merge" msgstr "Γchec Γ l'exΓ©cution de la fusion interne" -#: merge-recursive.c:940 +#: merge-recursive.c:943 #, c-format msgid "Unable to add %s to database" msgstr "Impossible d'ajouter %s Γ la base de donnΓ©es" -#: merge-recursive.c:956 +#: merge-recursive.c:959 msgid "unsupported object type in the tree" msgstr "type d'objet non supportΓ© dans l'arbre" -#: merge-recursive.c:1031 merge-recursive.c:1045 +#: merge-recursive.c:1034 merge-recursive.c:1048 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -825,7 +847,7 @@ msgstr "" "CONFLIT (%s/suppression) : %s supprimΓ© dans %s et %s dans %s. Version %s de " "%s laissΓ©e dans l'arbre." -#: merge-recursive.c:1037 merge-recursive.c:1050 +#: merge-recursive.c:1040 merge-recursive.c:1053 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -834,20 +856,20 @@ msgstr "" "CONFLIT (%s/suppression) : %s supprimΓ© dans %s et %s dans %s. Version %s de " "%s laissΓ©e dans l'arbre dans le fichier %s." -#: merge-recursive.c:1091 +#: merge-recursive.c:1094 msgid "rename" msgstr "renommage" -#: merge-recursive.c:1091 +#: merge-recursive.c:1094 msgid "renamed" msgstr "renommΓ©" -#: merge-recursive.c:1147 +#: merge-recursive.c:1150 #, c-format msgid "%s is a directory in %s adding as %s instead" msgstr "%s est un rΓ©pertoire dans %s ajoutΓ© plutΓ΄t comme %s" -#: merge-recursive.c:1169 +#: merge-recursive.c:1172 #, c-format msgid "" "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s" @@ -856,146 +878,146 @@ msgstr "" "CONFLIT (renommage/renommage) : Renommage de \"%s\"->\"%s\" dans la branche " "\"%s\" et renommage \"%s\"->\"%s\" dans \"%s\"%s" -#: merge-recursive.c:1174 +#: merge-recursive.c:1177 msgid " (left unresolved)" msgstr " (laissΓ© non rΓ©solu)" -#: merge-recursive.c:1228 +#: merge-recursive.c:1231 #, c-format msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s" msgstr "" "CONFLIT (renommage/renommage) : renommage '%s'->'%s' dans %s. Renommage '%s'-" ">'%s' dans %s" -#: merge-recursive.c:1258 +#: merge-recursive.c:1261 #, c-format msgid "Renaming %s to %s and %s to %s instead" msgstr "Renommage de %s en %s et de %s en %s Γ la place" -#: merge-recursive.c:1457 +#: merge-recursive.c:1460 #, c-format msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s" msgstr "" "CONFLIT (renommage/ajout) : Renommage de %s->%s dans %s. %s ajoutΓ© dans %s" -#: merge-recursive.c:1467 +#: merge-recursive.c:1470 #, c-format msgid "Adding merged %s" msgstr "Ajout de %s fusionnΓ©" -#: merge-recursive.c:1472 merge-recursive.c:1674 +#: merge-recursive.c:1475 merge-recursive.c:1677 #, c-format msgid "Adding as %s instead" msgstr "Ajout plutΓ΄t comme %s" -#: merge-recursive.c:1523 +#: merge-recursive.c:1526 #, c-format msgid "cannot read object %s" msgstr "impossible de lire l'objet %s" -#: merge-recursive.c:1526 +#: merge-recursive.c:1529 #, c-format msgid "object %s is not a blob" msgstr "l'objet %s n'est pas un blob" -#: merge-recursive.c:1578 +#: merge-recursive.c:1581 msgid "modify" msgstr "modification" -#: merge-recursive.c:1578 +#: merge-recursive.c:1581 msgid "modified" msgstr "modifiΓ©" -#: merge-recursive.c:1588 +#: merge-recursive.c:1591 msgid "content" msgstr "contenu" -#: merge-recursive.c:1595 +#: merge-recursive.c:1598 msgid "add/add" msgstr "ajout/ajout" -#: merge-recursive.c:1629 +#: merge-recursive.c:1632 #, c-format msgid "Skipped %s (merged same as existing)" msgstr "%s sautΓ© (fusion identique Γ l'existant)" -#: merge-recursive.c:1643 +#: merge-recursive.c:1646 #, c-format msgid "Auto-merging %s" msgstr "Fusion automatique de %s" -#: merge-recursive.c:1647 git-submodule.sh:1025 +#: merge-recursive.c:1650 git-submodule.sh:1048 msgid "submodule" msgstr "sous-module" -#: merge-recursive.c:1648 +#: merge-recursive.c:1651 #, c-format msgid "CONFLICT (%s): Merge conflict in %s" msgstr "CONFLIT (%s) : Conflit de fusion dans %s" -#: merge-recursive.c:1734 +#: merge-recursive.c:1737 #, c-format msgid "Removing %s" msgstr "Suppression de %s" -#: merge-recursive.c:1759 +#: merge-recursive.c:1762 msgid "file/directory" msgstr "fichier/rΓ©pertoire" -#: merge-recursive.c:1765 +#: merge-recursive.c:1768 msgid "directory/file" msgstr "rΓ©pertoire/fichier" -#: merge-recursive.c:1770 +#: merge-recursive.c:1773 #, c-format msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s" msgstr "" "CONFLIT (%s) : Il y a un rΓ©pertoire nommΓ© %s dans %s. Ajout de %s comme %s" -#: merge-recursive.c:1780 +#: merge-recursive.c:1783 #, c-format msgid "Adding %s" msgstr "Ajout de %s" -#: merge-recursive.c:1797 +#: merge-recursive.c:1800 msgid "Fatal merge failure, shouldn't happen." msgstr "Γchec fatal de fusion, qui ne devrait jamais arriver." -#: merge-recursive.c:1816 +#: merge-recursive.c:1819 msgid "Already up-to-date!" msgstr "DΓ©jΓ Γ jour !" -#: merge-recursive.c:1825 +#: merge-recursive.c:1828 #, c-format msgid "merging of trees %s and %s failed" msgstr "Γ©chec de fusion des arbres %s et %s" -#: merge-recursive.c:1855 +#: merge-recursive.c:1858 #, c-format msgid "Unprocessed path??? %s" msgstr "Chemin non traitΓ© ??? %s" -#: merge-recursive.c:1903 +#: merge-recursive.c:1906 msgid "Merging:" msgstr "Fusion :" -#: merge-recursive.c:1916 +#: merge-recursive.c:1919 #, c-format msgid "found %u common ancestor:" msgid_plural "found %u common ancestors:" msgstr[0] "%u ancΓͺtre commun trouvΓ© :" msgstr[1] "%u ancΓͺtres communs trouvΓ©s :" -#: merge-recursive.c:1953 +#: merge-recursive.c:1956 msgid "merge returned no commit" msgstr "la fusion n'a pas retournΓ© de commit" -#: merge-recursive.c:2010 +#: merge-recursive.c:2013 #, c-format msgid "Could not parse object '%s'" msgstr "Impossible d'analyser l'objet '%s'" -#: merge-recursive.c:2021 builtin/merge.c:645 +#: merge-recursive.c:2024 builtin/merge.c:646 msgid "Unable to write index." msgstr "Impossible d'Γ©crire l'index." @@ -1115,12 +1137,12 @@ msgstr "" "%s : le spΓ©cificateur magique de chemin n'est pas supportΓ© par cette " "commande : %s" -#: pathspec.c:432 +#: pathspec.c:433 #, c-format msgid "pathspec '%s' is beyond a symbolic link" msgstr "le chemin '%s' est au-delΓ d'un lien symbolique" -#: pathspec.c:441 +#: pathspec.c:442 msgid "" "There is nothing to exclude from by :(exclude) patterns.\n" "Perhaps you forgot to add either ':/' or '.' ?" @@ -1154,166 +1176,251 @@ msgstr "" "GIT_INDEX_VERSION est renseignΓ©, mais la valeur est invalide.\n" "Utilisation de la version %i" -#: refs.c:543 builtin/merge.c:760 builtin/merge.c:871 builtin/merge.c:973 -#: builtin/merge.c:983 +#: refs.c:543 builtin/merge.c:761 builtin/merge.c:872 builtin/merge.c:974 +#: builtin/merge.c:984 #, c-format msgid "Could not open '%s' for writing" msgstr "Impossible d'ouvrir '%s' en Γ©criture" -#: refs/files-backend.c:2359 +#: refs/files-backend.c:2374 #, c-format msgid "could not delete reference %s: %s" msgstr "Impossible de supprimer la rΓ©fΓ©rence %sΒ : %s" -#: refs/files-backend.c:2362 +#: refs/files-backend.c:2377 #, c-format msgid "could not delete references: %s" msgstr "impossible de supprimer les rΓ©fΓ©rencesΒ : %s" -#: refs/files-backend.c:2371 +#: refs/files-backend.c:2386 #, c-format msgid "could not remove reference %s" msgstr "impossible de supprimer la rΓ©fΓ©rence %s" -#: ref-filter.c:245 +#: ref-filter.c:55 #, c-format -msgid "format: %%(end) atom used without corresponding atom" -msgstr "formatΒ : atome %%(end) utilisΓ© sans atome correspondant" +msgid "expected format: %%(color:<color>)" +msgstr "format attenduΒ : %%(color:<couleur>)" + +#: ref-filter.c:57 +#, c-format +msgid "unrecognized color: %%(color:%s)" +msgstr "couleur non reconnue : %%(color:%s)" + +#: ref-filter.c:71 +#, c-format +msgid "unrecognized format: %%(%s)" +msgstr "format non reconnu %%(%s)" + +#: ref-filter.c:77 +#, c-format +msgid "%%(body) does not take arguments" +msgstr "%%(body) n'accepte pas d'argument" + +#: ref-filter.c:84 +#, c-format +msgid "%%(subject) does not take arguments" +msgstr "%%(subject) n'accepte pas d'argument" -#: ref-filter.c:704 +#: ref-filter.c:101 #, c-format msgid "positive value expected contents:lines=%s" msgstr "valeur positive attendue contents:lines=%s" -#: ref-filter.c:833 +#: ref-filter.c:103 #, c-format -msgid "expected format: %%(color:<color>)" -msgstr "format attenduΒ : %%(color:<couleur>)" +msgid "unrecognized %%(contents) argument: %s" +msgstr "argument %%(contents) non reconnu : %s" -#: ref-filter.c:835 -msgid "unable to parse format" -msgstr "impossible d'analyser le format" +#: ref-filter.c:113 +#, c-format +msgid "unrecognized %%(objectname) argument: %s" +msgstr "argument %%(objectname) non reconnu : %s" -#: ref-filter.c:870 +#: ref-filter.c:135 #, c-format msgid "expected format: %%(align:<width>,<position>)" msgstr "format attenduΒ : %%(align:<largeur>,<position>)" -#: ref-filter.c:893 +#: ref-filter.c:147 +#, c-format +msgid "unrecognized position:%s" +msgstr "position non reconnueΒ : %s" + +#: ref-filter.c:151 +#, c-format +msgid "unrecognized width:%s" +msgstr "largeur non reconnueΒ : %s" + +#: ref-filter.c:157 #, c-format -msgid "improper format entered align:%s" -msgstr "format non convenable align:%s" +msgid "unrecognized %%(align) argument: %s" +msgstr "argument %%(align) non reconnu : %s" -#: ref-filter.c:898 +#: ref-filter.c:161 #, c-format msgid "positive width expected with the %%(align) atom" msgstr "valeur positive attendue avec l'atome %%(align)" -#: ref-filter.c:1219 +#: ref-filter.c:244 +#, c-format +msgid "malformed field name: %.*s" +msgstr "nom de champ malformΓ© %.*s" + +#: ref-filter.c:270 +#, c-format +msgid "unknown field name: %.*s" +msgstr "nom de champ inconnu : %.*s" + +#: ref-filter.c:372 +#, c-format +msgid "format: %%(end) atom used without corresponding atom" +msgstr "formatΒ : atome %%(end) utilisΓ© sans atome correspondant" + +#: ref-filter.c:424 +#, c-format +msgid "malformed format string %s" +msgstr "ChaΓne de formatage mal formΓ©e %s" + +#: ref-filter.c:878 +msgid ":strip= requires a positive integer argument" +msgstr ":strip= requiert un argument entier positif" + +#: ref-filter.c:883 +#, c-format +msgid "ref '%s' does not have %ld components to :strip" +msgstr "la rΓ©f '%s' n'a pas %ld composants Γ :strip" + +#: ref-filter.c:1046 +#, c-format +msgid "unknown %.*s format %s" +msgstr "format de %.*s inconnu %s" + +#: ref-filter.c:1066 ref-filter.c:1097 +#, c-format +msgid "missing object %s for %s" +msgstr "objet manquant %s pour %s" + +#: ref-filter.c:1069 ref-filter.c:1100 +#, c-format +msgid "parse_object_buffer failed on %s for %s" +msgstr "echec de parse_object_buffer sur %s pour %s" + +#: ref-filter.c:1311 #, c-format msgid "malformed object at '%s'" msgstr "objet malformΓ© Γ '%s'" -#: ref-filter.c:1561 +#: ref-filter.c:1373 +#, c-format +msgid "ignoring ref with broken name %s" +msgstr "rΓ©f avec un nom cassΓ© %s ignorΓ©" + +#: ref-filter.c:1378 +#, c-format +msgid "ignoring broken ref %s" +msgstr "rΓ©f cassΓ© %s ignorΓ©" + +#: ref-filter.c:1651 #, c-format msgid "format: %%(end) atom missing" msgstr "format: atome %%(end) manquant" -#: ref-filter.c:1615 +#: ref-filter.c:1705 #, c-format msgid "malformed object name %s" msgstr "nom d'objet malformΓ© %s" -#: remote.c:756 +#: remote.c:745 #, c-format msgid "Cannot fetch both %s and %s to %s" msgstr "Impossible de rΓ©cupΓ©rer Γ la fois %s et %s pour %s" -#: remote.c:760 +#: remote.c:749 #, c-format msgid "%s usually tracks %s, not %s" msgstr "%s suit habituellement %s, pas %s" -#: remote.c:764 +#: remote.c:753 #, c-format msgid "%s tracks both %s and %s" msgstr "%s suit Γ la fois %s et %s" -#: remote.c:772 +#: remote.c:761 msgid "Internal error" msgstr "Erreur interne" -#: remote.c:1687 remote.c:1730 +#: remote.c:1677 remote.c:1720 msgid "HEAD does not point to a branch" msgstr "HEAD ne pointe pas sur une branche" -#: remote.c:1696 +#: remote.c:1686 #, c-format msgid "no such branch: '%s'" msgstr "pas de branche '%s'" -#: remote.c:1699 +#: remote.c:1689 #, c-format msgid "no upstream configured for branch '%s'" msgstr "aucune branche amont configurΓ©e pour la branche '%s'" -#: remote.c:1705 +#: remote.c:1695 #, c-format msgid "upstream branch '%s' not stored as a remote-tracking branch" msgstr "la branche amont '%s' n'est pas stockΓ©e comme branche de suivi" -#: remote.c:1720 +#: remote.c:1710 #, c-format msgid "push destination '%s' on remote '%s' has no local tracking branch" msgstr "" "la destination de poussΓ©e '%s' sur le serveur distant '%s' n'a pas de " "branche locale de suivi" -#: remote.c:1735 +#: remote.c:1725 #, c-format msgid "branch '%s' has no remote for pushing" msgstr "la branche '%s' n'a aucune branche distante de poussΓ©e" -#: remote.c:1746 +#: remote.c:1736 #, c-format msgid "push refspecs for '%s' do not include '%s'" msgstr "les rΓ©fΓ©rences de spec pour '%s' n'incluent pas '%s'" -#: remote.c:1759 +#: remote.c:1749 msgid "push has no destination (push.default is 'nothing')" msgstr "la poussΓ©e n'a pas de destination (push.default vaut 'nothing')" -#: remote.c:1781 +#: remote.c:1771 msgid "cannot resolve 'simple' push to a single destination" msgstr "" "impossible de rΓ©soudre une poussΓ©e 'simple' pour une destination unique" -#: remote.c:2083 +#: remote.c:2073 #, c-format msgid "Your branch is based on '%s', but the upstream is gone.\n" msgstr "Votre branche est basΓ©e sur '%s', mais la branche amont a disparu.\n" -#: remote.c:2087 +#: remote.c:2077 msgid " (use \"git branch --unset-upstream\" to fixup)\n" msgstr " (utilisez \"git branch --unset-upstream\" pour corriger)\n" -#: remote.c:2090 +#: remote.c:2080 #, c-format msgid "Your branch is up-to-date with '%s'.\n" msgstr "Votre branche est Γ jour avec '%s'.\n" -#: remote.c:2094 +#: remote.c:2084 #, c-format msgid "Your branch is ahead of '%s' by %d commit.\n" msgid_plural "Your branch is ahead of '%s' by %d commits.\n" msgstr[0] "Votre branche est en avance sur '%s' de %d commit.\n" msgstr[1] "Votre branche est en avance sur '%s' de %d commits.\n" -#: remote.c:2100 +#: remote.c:2090 msgid " (use \"git push\" to publish your local commits)\n" msgstr " (utilisez \"git push\" pour publier vos commits locaux)\n" -#: remote.c:2103 +#: remote.c:2093 #, c-format msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n" msgid_plural "" @@ -1325,11 +1432,11 @@ msgstr[1] "" "Votre branche est en retard sur '%s' de %d commits, et peut Γͺtre mise Γ jour " "en avance rapide.\n" -#: remote.c:2111 +#: remote.c:2101 msgid " (use \"git pull\" to update your local branch)\n" msgstr " (utilisez \"git pull\" pour mettre Γ jour votre branche locale)\n" -#: remote.c:2114 +#: remote.c:2104 #, c-format msgid "" "Your branch and '%s' have diverged,\n" @@ -1344,29 +1451,29 @@ msgstr[1] "" "Votre branche et '%s' ont divergΓ©,\n" "et ont %d et %d commits diffΓ©rents chacune respectivement.\n" -#: remote.c:2124 +#: remote.c:2114 msgid " (use \"git pull\" to merge the remote branch into yours)\n" msgstr "" " (utilisez \"git pull\" pour fusionner la branche distante dans la vΓ΄tre)\n" -#: revision.c:2193 +#: revision.c:2131 msgid "your current branch appears to be broken" msgstr "votre branche actuelle semble cassΓ©e" -#: revision.c:2196 +#: revision.c:2134 #, c-format msgid "your current branch '%s' does not have any commits yet" msgstr "votre branche actuelle '%s' ne contient encore aucun commit" -#: revision.c:2390 +#: revision.c:2328 msgid "--first-parent is incompatible with --bisect" msgstr "--first-parent est incompatible avec --bisect" -#: run-command.c:90 +#: run-command.c:92 msgid "open /dev/null failed" msgstr "Γ©chec de l'ouverture de /dev/null" -#: run-command.c:92 +#: run-command.c:94 #, c-format msgid "dup2(%d,%d) failed" msgstr "Γ©chec de dup2(%d,%d)" @@ -1391,7 +1498,7 @@ msgstr "" msgid "the receiving end does not support --atomic push" msgstr "Le receveur ne gΓ¨re pas les poussΓ©es avec --atomic" -#: sequencer.c:183 +#: sequencer.c:174 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'" @@ -1399,7 +1506,7 @@ msgstr "" "aprΓ¨s rΓ©solution des conflits, marquez les chemins corrigΓ©s\n" "avec 'git add <chemins>' ou 'git rm <chemins>'" -#: sequencer.c:186 +#: sequencer.c:177 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'\n" @@ -1409,67 +1516,67 @@ msgstr "" "avec 'git add <chemins>' ou 'git rm <chemins>'\n" "puis validez le rΓ©sultat avec 'git commit'" -#: sequencer.c:199 sequencer.c:842 sequencer.c:922 +#: sequencer.c:190 sequencer.c:833 sequencer.c:913 #, c-format msgid "Could not write to %s" msgstr "Impossible d'Γ©crire dans %s" -#: sequencer.c:202 +#: sequencer.c:193 #, c-format msgid "Error wrapping up %s" msgstr "Erreur Γ l'emballage de %s" -#: sequencer.c:217 +#: sequencer.c:208 msgid "Your local changes would be overwritten by cherry-pick." msgstr "Vos modifications locales seraient Γ©crasΓ©es par cherry-pick." -#: sequencer.c:219 +#: sequencer.c:210 msgid "Your local changes would be overwritten by revert." msgstr "Vos modifications locales seraient Γ©crasΓ©es par revert." -#: sequencer.c:222 +#: sequencer.c:213 msgid "Commit your changes or stash them to proceed." msgstr "Validez vos modifications ou les remiser pour continuer." #. TRANSLATORS: %s will be "revert" or "cherry-pick" -#: sequencer.c:309 +#: sequencer.c:300 #, c-format msgid "%s: Unable to write new index file" msgstr "%s: Impossible d'Γ©crire le nouveau fichier index" -#: sequencer.c:327 +#: sequencer.c:318 msgid "Could not resolve HEAD commit\n" msgstr "Impossible de rΓ©soudre le commit HEAD\n" -#: sequencer.c:347 +#: sequencer.c:338 msgid "Unable to update cache tree\n" msgstr "Impossible de mettre Γ jour l'arbre de cache\n" -#: sequencer.c:399 +#: sequencer.c:390 #, c-format msgid "Could not parse commit %s\n" msgstr "Impossible d'analyser le commit %s\n" -#: sequencer.c:404 +#: sequencer.c:395 #, c-format msgid "Could not parse parent commit %s\n" msgstr "Impossible d'analyser le commit parent %s\n" -#: sequencer.c:469 +#: sequencer.c:460 msgid "Your index file is unmerged." msgstr "Votre fichier d'index n'est pas fusionnΓ©." -#: sequencer.c:488 +#: sequencer.c:479 #, c-format msgid "Commit %s is a merge but no -m option was given." msgstr "Le commit %s est une fusion mais l'option -m n'a pas Γ©tΓ© spΓ©cifiΓ©e." -#: sequencer.c:496 +#: sequencer.c:487 #, c-format msgid "Commit %s does not have parent %d" msgstr "Le commit %s n'a pas le parent %d" -#: sequencer.c:500 +#: sequencer.c:491 #, c-format msgid "Mainline was specified but commit %s is not a merge." msgstr "" @@ -1478,162 +1585,177 @@ msgstr "" #. TRANSLATORS: The first %s will be "revert" or #. "cherry-pick", the second %s a SHA1 -#: sequencer.c:513 +#: sequencer.c:504 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "%s : impossible d'analyser le commit parent %s" -#: sequencer.c:517 +#: sequencer.c:508 #, c-format msgid "Cannot get commit message for %s" msgstr "Impossible d'obtenir un message de validation pour %s" -#: sequencer.c:603 +#: sequencer.c:594 #, c-format msgid "could not revert %s... %s" msgstr "impossible d'annuler %s... %s" -#: sequencer.c:604 +#: sequencer.c:595 #, c-format msgid "could not apply %s... %s" msgstr "impossible d'appliquer %s... %s" -#: sequencer.c:639 +#: sequencer.c:630 msgid "empty commit set passed" msgstr "l'ensemble de commits spΓ©cifiΓ© est vide" -#: sequencer.c:647 +#: sequencer.c:638 #, c-format msgid "git %s: failed to read the index" msgstr "git %s : Γ©chec Γ la lecture de l'index" -#: sequencer.c:651 +#: sequencer.c:642 #, c-format msgid "git %s: failed to refresh the index" msgstr "git %s : Γ©chec du rafraΓchissement de l'index" -#: sequencer.c:711 +#: sequencer.c:702 #, c-format msgid "Cannot %s during a %s" msgstr "Impossible de %s pendant un %s" -#: sequencer.c:733 +#: sequencer.c:724 #, c-format msgid "Could not parse line %d." msgstr "Impossible d'analyser la ligne %d." -#: sequencer.c:738 +#: sequencer.c:729 msgid "No commits parsed." msgstr "Aucun commit analysΓ©." -#: sequencer.c:750 +#: sequencer.c:741 #, c-format msgid "Could not open %s" msgstr "Impossible d'ouvrir %s" -#: sequencer.c:754 +#: sequencer.c:745 #, c-format msgid "Could not read %s." msgstr "Impossible de lire %s." -#: sequencer.c:761 +#: sequencer.c:752 #, c-format msgid "Unusable instruction sheet: %s" msgstr "Feuille d'instruction inutilisable : %s" -#: sequencer.c:791 +#: sequencer.c:782 #, c-format msgid "Invalid key: %s" msgstr "ClΓ© invalide: %s" -#: sequencer.c:794 builtin/pull.c:47 builtin/pull.c:49 +#: sequencer.c:785 builtin/pull.c:50 builtin/pull.c:52 #, c-format msgid "Invalid value for %s: %s" msgstr "Valeur invalide pour %s : %s" -#: sequencer.c:804 +#: sequencer.c:795 #, c-format msgid "Malformed options sheet: %s" msgstr "Feuille d'options malformΓ©e : %s" -#: sequencer.c:823 +#: sequencer.c:814 msgid "a cherry-pick or revert is already in progress" msgstr "un picorage ou un retour est dΓ©jΓ en cours" -#: sequencer.c:824 +#: sequencer.c:815 msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" msgstr "essayez \"git cherry-pick (--continue|--quit|-- abort)\"" -#: sequencer.c:828 +#: sequencer.c:819 #, c-format msgid "Could not create sequencer directory %s" msgstr "Impossible de crΓ©er le rΓ©pertoire de sΓ©quenceur %s" -#: sequencer.c:844 sequencer.c:926 +#: sequencer.c:835 sequencer.c:917 #, c-format msgid "Error wrapping up %s." msgstr "Erreur lors de l'emballage de %s." -#: sequencer.c:863 sequencer.c:996 +#: sequencer.c:854 sequencer.c:987 msgid "no cherry-pick or revert in progress" msgstr "aucun picorage ou retour en cours" -#: sequencer.c:865 +#: sequencer.c:856 msgid "cannot resolve HEAD" msgstr "impossible de rΓ©soudre HEAD" -#: sequencer.c:867 +#: sequencer.c:858 msgid "cannot abort from a branch yet to be born" msgstr "impossible d'abandonner depuis une branche non encore créée" -#: sequencer.c:887 builtin/apply.c:4287 +#: sequencer.c:878 builtin/apply.c:4287 #, c-format msgid "cannot open %s: %s" msgstr "impossible d'ouvrir %s : %s" -#: sequencer.c:890 +#: sequencer.c:881 #, c-format msgid "cannot read %s: %s" msgstr "impossible de lire %s : %s" -#: sequencer.c:891 +#: sequencer.c:882 msgid "unexpected end of file" msgstr "fin de fichier inattendue" -#: sequencer.c:897 +#: sequencer.c:888 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "le fichier HEAD de prΓ©paration de picorage '%s' est corrompu" -#: sequencer.c:919 +#: sequencer.c:910 #, c-format msgid "Could not format %s." msgstr "Impossible de formater %s." -#: sequencer.c:1064 +#: sequencer.c:1055 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "%s : impossible de picorer un %s" -#: sequencer.c:1067 +#: sequencer.c:1058 #, c-format msgid "%s: bad revision" msgstr "%s : mauvaise rΓ©vision" -#: sequencer.c:1101 +#: sequencer.c:1092 msgid "Can't revert as initial commit" msgstr "Impossible d'annuler en tant que commit initial" -#: sequencer.c:1102 +#: sequencer.c:1093 msgid "Can't cherry-pick into empty head" msgstr "Impossible de picorer vers une HEAD vide" -#: setup.c:248 +#: setup.c:246 #, c-format msgid "failed to read %s" msgstr "Γ©chec de la lecture de %s" -#: sha1_name.c:463 +#: sha1_file.c:1080 +msgid "offset before end of packfile (broken .idx?)" +msgstr "offset avant la fin du fichier paquet (.idx cassé ?)" + +#: sha1_file.c:2459 +#, c-format +msgid "offset before start of pack index for %s (corrupt index?)" +msgstr "offset avant le dΓ©but de l'index de paquet pour %s (index corrompuΒ ?)" + +#: sha1_file.c:2463 +#, c-format +msgid "offset beyond end of pack index for %s (truncated index?)" +msgstr "" +"offset au delΓ de la fin de l'index de paquet pour %s (index tronqué ?)" + +#: sha1_name.c:462 msgid "" "Git normally never creates a ref that ends with 40 hex characters\n" "because it will be ignored when you just specify 40-hex. These refs\n" @@ -1658,63 +1780,87 @@ msgstr "" "message\n" "en lanΓ§ant \"git config advice.objectNameWarning false\"" -#: submodule.c:61 submodule.c:95 +#: submodule.c:62 submodule.c:96 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" msgstr "" "Modification impossible de .gitmodules non fusionnΓ©, rΓ©solvez les conflits " "d'abord" -#: submodule.c:65 submodule.c:99 +#: submodule.c:66 submodule.c:100 #, c-format msgid "Could not find section in .gitmodules where path=%s" msgstr "Impossible de trouver une section oΓΉ path=%s dans .gitmodules" -#: submodule.c:73 +#: submodule.c:74 #, c-format msgid "Could not update .gitmodules entry %s" msgstr "Impossible de mettre Γ jour l'Γ©lΓ©ment %s de .gitmodules" # ici %s est un chemin -#: submodule.c:106 +#: submodule.c:107 #, c-format msgid "Could not remove .gitmodules entry for %s" msgstr "Impossible de supprimer l'Γ©lΓ©ment de .gitmodules pour %s" -#: submodule.c:117 +#: submodule.c:118 msgid "staging updated .gitmodules failed" msgstr "Γ©chec de la mise en index du .gitmodules mis Γ jour" -#: submodule.c:1040 +#: trailer.c:237 #, c-format -msgid "Could not set core.worktree in %s" -msgstr "Impossible de paramΓ©trer core.worktree dans %s" +msgid "running trailer command '%s' failed" +msgstr "Γ©chec de la commande trailer '%s'" -#: trailer.c:491 trailer.c:495 trailer.c:499 trailer.c:553 trailer.c:557 -#: trailer.c:561 +#: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558 +#: trailer.c:562 #, c-format msgid "unknown value '%s' for key '%s'" msgstr "valeur inconnue '%s' pour la clΓ© '%s'" -#: trailer.c:543 trailer.c:548 builtin/remote.c:296 +#: trailer.c:544 trailer.c:549 builtin/remote.c:289 #, c-format msgid "more than one %s" msgstr "plus d'un %s" -#: trailer.c:581 +#: trailer.c:582 #, c-format msgid "empty trailer token in trailer '%.*s'" msgstr "symbole vide dans la ligne de fin '%.*s'" -#: trailer.c:701 +#: trailer.c:702 #, c-format msgid "could not read input file '%s'" msgstr "impossible de lire le fichier d'entrΓ©e '%s'" -#: trailer.c:704 +#: trailer.c:705 msgid "could not read from stdin" msgstr "Impossible de lire depuis l'entrΓ©e standard" -#: transport-helper.c:1025 +#: trailer.c:857 builtin/am.c:42 +#, c-format +msgid "could not stat %s" +msgstr "stat impossible de %s" + +#: trailer.c:859 +#, c-format +msgid "file %s is not a regular file" +msgstr "%s n'est pas un fichier rΓ©gulier" + +#: trailer.c:861 +#, c-format +msgid "file %s is not writable by user" +msgstr "le fichier %s n'est pas inscriptible par l'utilisateur" + +#: trailer.c:873 +msgid "could not open temporary file" +msgstr "impossible de crΓ©er un fichier temporaire" + +#: trailer.c:912 +#, c-format +msgid "could not rename temporary file to %s" +msgstr "impossible de renommer un fichier temporaire en %s" + +#: transport-helper.c:1041 #, c-format msgid "Could not read ref %s" msgstr "impossible de lire la rΓ©f %s" @@ -1752,47 +1898,47 @@ msgstr "numΓ©ro de port invalide" msgid "invalid '..' path segment" msgstr "segment de chemin '..' invalide" -#: wrapper.c:219 wrapper.c:362 +#: wrapper.c:222 wrapper.c:381 #, c-format msgid "could not open '%s' for reading and writing" msgstr "impossible d'ouvrir '%s' en lecture/Γ©criture" -#: wrapper.c:221 wrapper.c:364 +#: wrapper.c:224 wrapper.c:383 #, c-format msgid "could not open '%s' for writing" msgstr "impossible d'ouvrir '%s' en Γ©criture" -#: wrapper.c:223 wrapper.c:366 builtin/am.c:338 builtin/commit.c:1691 -#: builtin/merge.c:1074 builtin/pull.c:380 +#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/commit.c:1691 +#: builtin/merge.c:1075 builtin/pull.c:387 #, c-format msgid "could not open '%s' for reading" msgstr "impossible d'ouvrir '%s' en lecture" -#: wrapper.c:579 +#: wrapper.c:611 #, c-format msgid "unable to access '%s': %s" msgstr "impossible d'accΓ©der Γ '%s' : %s" -#: wrapper.c:600 +#: wrapper.c:632 #, c-format msgid "unable to access '%s'" msgstr "impossible d'accΓ©der Γ '%s'" -#: wrapper.c:608 +#: wrapper.c:640 msgid "unable to get current working directory" msgstr "impossible d'accΓ©der au rΓ©pertoire de travail courant" -#: wrapper.c:635 +#: wrapper.c:667 #, c-format msgid "could not open %s for writing" msgstr "Impossible d'ouvrir '%s' en Γ©criture" -#: wrapper.c:646 builtin/am.c:425 +#: wrapper.c:678 builtin/am.c:410 #, c-format msgid "could not write to %s" msgstr "Impossible d'Γ©crire dans %s" -#: wrapper.c:652 +#: wrapper.c:684 #, c-format msgid "could not close %s" msgstr "impossible de fermer %s" @@ -2268,7 +2414,11 @@ msgstr "disparue" msgid "behind " msgstr "derriΓ¨re " -#: compat/precompose_utf8.c:56 builtin/clone.c:408 +#: wt-status.c:1680 wt-status.c:1683 +msgid "ahead " +msgstr "devant " + +#: compat/precompose_utf8.c:57 builtin/clone.c:413 #, c-format msgid "failed to unlink '%s'" msgstr "Γ©chec lors de l'unlink de '%s'" @@ -2295,7 +2445,7 @@ msgstr "suppression de '%s'\n" msgid "Unstaged changes after refreshing the index:" msgstr "Modifications non indexΓ©es aprΓ¨s rafraΓchissement de l'index :" -#: builtin/add.c:194 builtin/rev-parse.c:796 +#: builtin/add.c:194 builtin/rev-parse.c:797 msgid "Could not read the index" msgstr "Impossible de lire l'index" @@ -2331,15 +2481,15 @@ msgid "The following paths are ignored by one of your .gitignore files:\n" msgstr "" "Les chemins suivants sont ignorΓ©s par un de vos fichiers .gitignore :\n" -#: builtin/add.c:249 builtin/clean.c:894 builtin/fetch.c:108 builtin/mv.c:110 -#: builtin/prune-packed.c:55 builtin/pull.c:182 builtin/push.c:543 -#: builtin/remote.c:1345 builtin/rm.c:268 builtin/send-pack.c:162 +#: builtin/add.c:249 builtin/clean.c:870 builtin/fetch.c:112 builtin/mv.c:111 +#: builtin/prune-packed.c:55 builtin/pull.c:189 builtin/push.c:511 +#: builtin/remote.c:1330 builtin/rm.c:268 builtin/send-pack.c:162 msgid "dry run" msgstr "simuler l'action" -#: builtin/add.c:250 builtin/apply.c:4571 builtin/check-ignore.c:19 +#: builtin/add.c:250 builtin/apply.c:4561 builtin/check-ignore.c:19 #: builtin/commit.c:1322 builtin/count-objects.c:85 builtin/fsck.c:558 -#: builtin/log.c:1645 builtin/mv.c:109 builtin/read-tree.c:114 +#: builtin/log.c:1651 builtin/mv.c:110 builtin/read-tree.c:114 msgid "be verbose" msgstr "mode verbeux" @@ -2347,7 +2497,7 @@ msgstr "mode verbeux" msgid "interactive picking" msgstr "sΓ©lection interactive" -#: builtin/add.c:253 builtin/checkout.c:1153 builtin/reset.c:286 +#: builtin/add.c:253 builtin/checkout.c:1155 builtin/reset.c:286 msgid "select hunks interactively" msgstr "sΓ©lection interactive des sections" @@ -2418,140 +2568,135 @@ msgstr "Rien de spΓ©cifiΓ©, rien n'a Γ©tΓ© ajoutΓ©.\n" msgid "Maybe you wanted to say 'git add .'?\n" msgstr "Vous vouliez sΓ»rement dire 'git add .' ?\n" -#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:938 -#: builtin/commit.c:337 builtin/mv.c:130 builtin/reset.c:235 builtin/rm.c:298 -#: builtin/submodule--helper.c:40 +#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:914 +#: builtin/commit.c:337 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298 +#: builtin/submodule--helper.c:35 msgid "index file corrupt" msgstr "fichier d'index corrompu" -#: builtin/add.c:439 builtin/apply.c:4669 builtin/mv.c:279 builtin/rm.c:430 +#: builtin/add.c:439 builtin/apply.c:4659 builtin/mv.c:280 builtin/rm.c:430 msgid "Unable to write new index file" msgstr "Impossible d'Γ©crire le nouveau fichier d'index" -#: builtin/am.c:42 -#, c-format -msgid "could not stat %s" -msgstr "stat impossible de %s" - -#: builtin/am.c:271 builtin/commit.c:738 builtin/merge.c:1077 +#: builtin/am.c:256 builtin/commit.c:738 builtin/merge.c:1078 #, c-format msgid "could not read '%s'" msgstr "impossible de lire '%s'" -#: builtin/am.c:445 +#: builtin/am.c:430 msgid "could not parse author script" msgstr "impossible d'analyser le script author" -#: builtin/am.c:522 +#: builtin/am.c:507 #, c-format msgid "'%s' was deleted by the applypatch-msg hook" msgstr "'%s' a Γ©tΓ© effacΓ© par le crochet applypatch-msg" -#: builtin/am.c:563 builtin/notes.c:300 +#: builtin/am.c:548 builtin/notes.c:300 #, c-format msgid "Malformed input line: '%s'." msgstr "Ligne en entrΓ©e malformΓ©e : '%s'." -#: builtin/am.c:600 builtin/notes.c:315 +#: builtin/am.c:585 builtin/notes.c:315 #, c-format msgid "Failed to copy notes from '%s' to '%s'" msgstr "Impossible de copier les notes de '%s' vers '%s'" -#: builtin/am.c:626 +#: builtin/am.c:611 msgid "fseek failed" msgstr "Γ©chec de fseek" -#: builtin/am.c:787 builtin/am.c:875 +#: builtin/am.c:772 builtin/am.c:860 #, c-format msgid "could not open '%s' for reading: %s" msgstr "impossible d'ouvrir '%s' en lectureΒ : %s" -#: builtin/am.c:794 +#: builtin/am.c:779 #, c-format msgid "could not open '%s' for writing: %s" msgstr "impossible d'ouvrir '%s' en Γ©critureΒ : %s" -#: builtin/am.c:803 +#: builtin/am.c:788 #, c-format msgid "could not parse patch '%s'" msgstr "impossible d'analyser le patch '%s'" -#: builtin/am.c:868 +#: builtin/am.c:853 msgid "Only one StGIT patch series can be applied at once" msgstr "Seulement une sΓ©rie de patchs StGIT peut Γͺtre appliquΓ©e Γ la fois" -#: builtin/am.c:916 +#: builtin/am.c:901 msgid "invalid timestamp" msgstr "horodatage invalide" -#: builtin/am.c:919 builtin/am.c:927 +#: builtin/am.c:904 builtin/am.c:912 msgid "invalid Date line" msgstr "ligne de Date invalide" -#: builtin/am.c:924 +#: builtin/am.c:909 msgid "invalid timezone offset" msgstr "dΓ©calage horaire invalide" -#: builtin/am.c:1011 +#: builtin/am.c:996 msgid "Patch format detection failed." msgstr "Γchec de dΓ©tection du format du patch." -#: builtin/am.c:1016 builtin/clone.c:373 +#: builtin/am.c:1001 builtin/clone.c:378 #, c-format msgid "failed to create directory '%s'" msgstr "Γ©chec de la crΓ©ation du rΓ©pertoire '%s'" -#: builtin/am.c:1020 +#: builtin/am.c:1005 msgid "Failed to split patches." msgstr "Γchec de dΓ©coupage des patchs." -#: builtin/am.c:1152 builtin/commit.c:363 +#: builtin/am.c:1137 builtin/commit.c:363 msgid "unable to write index file" msgstr "impossible d'Γ©crire le fichier d'index" -#: builtin/am.c:1203 +#: builtin/am.c:1188 #, c-format msgid "When you have resolved this problem, run \"%s --continue\"." msgstr "Quand vous avez rΓ©solu ce problΓ¨me, lancez \"%s --continue\"." -#: builtin/am.c:1204 +#: builtin/am.c:1189 #, c-format msgid "If you prefer to skip this patch, run \"%s --skip\" instead." msgstr "Si vous prΓ©fΓ©rez plutΓ΄t sauter ce patch, lancez \"%s --skip\"." -#: builtin/am.c:1205 +#: builtin/am.c:1190 #, c-format msgid "To restore the original branch and stop patching, run \"%s --abort\"." msgstr "" "Pour restaurer la branche originale et arrΓͺter de patcher, lancez \"%s --" "abort\"." -#: builtin/am.c:1343 +#: builtin/am.c:1328 msgid "Patch is empty. Was it split wrong?" msgstr "Le patch est vide. Le dΓ©coupage Γ©tait-il bonΒ ?" -#: builtin/am.c:1417 builtin/log.c:1347 +#: builtin/am.c:1402 builtin/log.c:1350 #, c-format msgid "invalid ident line: %s" msgstr "ligne d'identification invalide : %s" -#: builtin/am.c:1444 +#: builtin/am.c:1429 #, c-format msgid "unable to parse commit %s" msgstr "impossible d'analyser le commit %s" -#: builtin/am.c:1646 +#: builtin/am.c:1631 msgid "Repository lacks necessary blobs to fall back on 3-way merge." msgstr "" "Le dΓ©pΓ΄t n'a pas les blobs nΓ©cessaires pour un retour Γ une fusion Γ 3 " "points." -#: builtin/am.c:1648 +#: builtin/am.c:1633 msgid "Using index info to reconstruct a base tree..." msgstr "" "Utilisation de l'information de l'index pour reconstruire un arbre de base..." -#: builtin/am.c:1667 +#: builtin/am.c:1652 msgid "" "Did you hand edit your patch?\n" "It does not apply to blobs recorded in its index." @@ -2559,38 +2704,38 @@ msgstr "" "Avez-vous Γ©ditΓ© le patch Γ la main ?\n" "Il ne s'applique pas aux blobs enregistrΓ©s dans son index." -#: builtin/am.c:1673 +#: builtin/am.c:1658 msgid "Falling back to patching base and 3-way merge..." msgstr "Retour Γ un patch de la base et fusion Γ 3 points..." -#: builtin/am.c:1688 +#: builtin/am.c:1673 msgid "Failed to merge in the changes." msgstr "Γchec d'intΓ©gration des modifications." -#: builtin/am.c:1712 builtin/merge.c:632 +#: builtin/am.c:1697 builtin/merge.c:633 msgid "git write-tree failed to write a tree" msgstr "git write-tree a Γ©chouΓ© Γ Γ©crire un arbre" -#: builtin/am.c:1719 +#: builtin/am.c:1704 msgid "applying to an empty history" msgstr "application Γ un historique vide" -#: builtin/am.c:1732 builtin/commit.c:1755 builtin/merge.c:829 -#: builtin/merge.c:854 +#: builtin/am.c:1717 builtin/commit.c:1755 builtin/merge.c:830 +#: builtin/merge.c:855 msgid "failed to write commit object" msgstr "Γ©chec de l'Γ©criture de l'objet commit" -#: builtin/am.c:1764 builtin/am.c:1768 +#: builtin/am.c:1749 builtin/am.c:1753 #, c-format msgid "cannot resume: %s does not exist." msgstr "impossible de continuer : %s n'existe pas." -#: builtin/am.c:1784 +#: builtin/am.c:1769 msgid "cannot be interactive without stdin connected to a terminal." msgstr "" "impossible d'Γͺtre interactif sans entrΓ©e standard connectΓ©e Γ un terminal." -#: builtin/am.c:1789 +#: builtin/am.c:1774 msgid "Commit Body is:" msgstr "Le corps de la validation est :" @@ -2598,35 +2743,35 @@ msgstr "Le corps de la validation est :" #. in your translation. The program will only accept English #. input at this point. #. -#: builtin/am.c:1799 +#: builtin/am.c:1784 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: " msgstr "Appliquer ? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept allΒ : " -#: builtin/am.c:1849 +#: builtin/am.c:1834 #, c-format msgid "Dirty index: cannot apply patches (dirty: %s)" msgstr "Index sale : impossible d'appliquer des patchs (sales : %s)" -#: builtin/am.c:1884 builtin/am.c:1955 +#: builtin/am.c:1869 builtin/am.c:1941 #, c-format msgid "Applying: %.*s" msgstr "Application de %.*s" -#: builtin/am.c:1900 +#: builtin/am.c:1885 msgid "No changes -- Patch already applied." msgstr "Pas de changement -- Patch dΓ©jΓ appliquΓ©." -#: builtin/am.c:1908 +#: builtin/am.c:1893 #, c-format msgid "Patch failed at %s %.*s" msgstr "le patch a Γ©chouΓ© Γ %s %.*s" -#: builtin/am.c:1914 +#: builtin/am.c:1899 #, c-format msgid "The copy of the patch that failed is found in: %s" msgstr "La copie du patch qui a Γ©chouΓ© se trouve dans : %s" -#: builtin/am.c:1958 +#: builtin/am.c:1944 msgid "" "No changes - did you forget to use 'git add'?\n" "If there is nothing left to stage, chances are that something else\n" @@ -2637,7 +2782,7 @@ msgstr "" "introduit les mΓͺmes changements ; vous pourriez avoir envie de sauter ce " "patch." -#: builtin/am.c:1965 +#: builtin/am.c:1951 msgid "" "You still have unmerged paths in your index.\n" "Did you forget to use 'git add'?" @@ -2645,17 +2790,17 @@ msgstr "" "Vous avez toujours des chemins non fusionnΓ©s dans votre index\n" "Auriez-vous oubliΓ© de faire 'git add' ?" -#: builtin/am.c:2073 builtin/am.c:2077 builtin/am.c:2089 builtin/reset.c:308 +#: builtin/am.c:2059 builtin/am.c:2063 builtin/am.c:2075 builtin/reset.c:308 #: builtin/reset.c:316 #, c-format msgid "Could not parse object '%s'." msgstr "Impossible d'analyser l'objet '%s'." -#: builtin/am.c:2125 +#: builtin/am.c:2111 msgid "failed to clean index" msgstr "Γ©chec du nettoyage de l'index" -#: builtin/am.c:2159 +#: builtin/am.c:2145 msgid "" "You seem to have moved HEAD since the last 'am' failure.\n" "Not rewinding to ORIG_HEAD" @@ -2663,154 +2808,154 @@ msgstr "" "Vous semblez avoir dΓ©placΓ© la HEAD depuis le dernier Γ©chec de 'am'.\n" "Pas de retour Γ ORIG_HEAD" -#: builtin/am.c:2220 +#: builtin/am.c:2206 #, c-format msgid "Invalid value for --patch-format: %s" msgstr "Valeur invalide pour --patch-format : %s" -#: builtin/am.c:2253 +#: builtin/am.c:2239 msgid "git am [<options>] [(<mbox>|<Maildir>)...]" msgstr "git am [<options>] [(<mbox>|<Maildir>)...]" -#: builtin/am.c:2254 +#: builtin/am.c:2240 msgid "git am [<options>] (--continue | --skip | --abort)" msgstr "git am [<options>] (--continue | --quit | --abort)" -#: builtin/am.c:2260 +#: builtin/am.c:2246 msgid "run interactively" msgstr "exΓ©cution interactive" -#: builtin/am.c:2262 +#: builtin/am.c:2248 msgid "historical option -- no-op" msgstr "option historique -- no-op" -#: builtin/am.c:2264 +#: builtin/am.c:2250 msgid "allow fall back on 3way merging if needed" msgstr "permettre de revenir Γ une fusion Γ 3 points si nΓ©cessaire" -#: builtin/am.c:2265 builtin/init-db.c:474 builtin/prune-packed.c:57 +#: builtin/am.c:2251 builtin/init-db.c:474 builtin/prune-packed.c:57 #: builtin/repack.c:171 msgid "be quiet" msgstr "Γͺtre silencieux" -#: builtin/am.c:2267 +#: builtin/am.c:2253 msgid "add a Signed-off-by line to the commit message" msgstr "ajouter une ligne Signed-off-by au message de validation" -#: builtin/am.c:2270 +#: builtin/am.c:2256 msgid "recode into utf8 (default)" msgstr "recoder en utf-8 (par dΓ©faut)" -#: builtin/am.c:2272 +#: builtin/am.c:2258 msgid "pass -k flag to git-mailinfo" msgstr "passer l'option -k Γ git-mailinfo" -#: builtin/am.c:2274 +#: builtin/am.c:2260 msgid "pass -b flag to git-mailinfo" msgstr "passer l'option -b Γ git-mailinfo" -#: builtin/am.c:2276 +#: builtin/am.c:2262 msgid "pass -m flag to git-mailinfo" msgstr "passer l'option -m Γ git-mailinfo" -#: builtin/am.c:2278 +#: builtin/am.c:2264 msgid "pass --keep-cr flag to git-mailsplit for mbox format" msgstr "passer l'option --keep-cr Γ git-mailsplit fpour le format mbox" -#: builtin/am.c:2281 +#: builtin/am.c:2267 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr" msgstr "" "ne pas passer l'option --keep-cr Γ git-mailsplit indΓ©pendamment de am.keepcr" -#: builtin/am.c:2284 +#: builtin/am.c:2270 msgid "strip everything before a scissors line" msgstr "retirer tout le contenu avant la ligne des ciseaux" -#: builtin/am.c:2285 builtin/apply.c:4554 +#: builtin/am.c:2271 builtin/apply.c:4544 msgid "action" msgstr "action" -#: builtin/am.c:2286 builtin/am.c:2289 builtin/am.c:2292 builtin/am.c:2295 -#: builtin/am.c:2298 builtin/am.c:2301 builtin/am.c:2304 builtin/am.c:2307 -#: builtin/am.c:2313 +#: builtin/am.c:2272 builtin/am.c:2275 builtin/am.c:2278 builtin/am.c:2281 +#: builtin/am.c:2284 builtin/am.c:2287 builtin/am.c:2290 builtin/am.c:2293 +#: builtin/am.c:2299 msgid "pass it through git-apply" msgstr "le passer jusqu'Γ git-apply" -#: builtin/am.c:2294 builtin/apply.c:4578 +#: builtin/am.c:2280 builtin/apply.c:4568 msgid "root" msgstr "racine" -#: builtin/am.c:2297 builtin/am.c:2300 builtin/apply.c:4516 -#: builtin/apply.c:4519 builtin/clone.c:85 builtin/fetch.c:93 -#: builtin/pull.c:167 builtin/submodule--helper.c:78 -#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169 +#: builtin/am.c:2283 builtin/am.c:2286 builtin/apply.c:4506 +#: builtin/apply.c:4509 builtin/clone.c:86 builtin/fetch.c:95 +#: builtin/pull.c:171 builtin/submodule--helper.c:72 +#: builtin/submodule--helper.c:160 builtin/submodule--helper.c:163 msgid "path" msgstr "chemin" -#: builtin/am.c:2303 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669 -#: builtin/grep.c:693 builtin/merge.c:198 builtin/pull.c:127 +#: builtin/am.c:2289 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669 +#: builtin/grep.c:704 builtin/merge.c:198 builtin/pull.c:131 builtin/pull.c:185 #: builtin/repack.c:178 builtin/repack.c:182 builtin/show-branch.c:645 #: builtin/show-ref.c:175 builtin/tag.c:340 parse-options.h:132 #: parse-options.h:134 parse-options.h:244 msgid "n" msgstr "n" -#: builtin/am.c:2306 builtin/apply.c:4522 +#: builtin/am.c:2292 builtin/apply.c:4512 msgid "num" msgstr "num" -#: builtin/am.c:2309 builtin/for-each-ref.c:37 builtin/replace.c:438 +#: builtin/am.c:2295 builtin/for-each-ref.c:37 builtin/replace.c:438 #: builtin/tag.c:372 msgid "format" msgstr "format" -#: builtin/am.c:2310 +#: builtin/am.c:2296 msgid "format the patch(es) are in" msgstr "format de prΓ©sentation des patchs" -#: builtin/am.c:2316 +#: builtin/am.c:2302 msgid "override error message when patch failure occurs" msgstr "surcharger le message d'erreur lors d'un Γ©chec d'application de patch" -#: builtin/am.c:2318 +#: builtin/am.c:2304 msgid "continue applying patches after resolving a conflict" msgstr "continuer Γ appliquer les patchs aprΓ¨s rΓ©solution d'un conflit" -#: builtin/am.c:2321 +#: builtin/am.c:2307 msgid "synonyms for --continue" msgstr "synonymes de --continue" -#: builtin/am.c:2324 +#: builtin/am.c:2310 msgid "skip the current patch" msgstr "sauter le patch courant" -#: builtin/am.c:2327 +#: builtin/am.c:2313 msgid "restore the original branch and abort the patching operation." msgstr "" "restaurer la branche originale et abandonner les applications de patch." -#: builtin/am.c:2331 +#: builtin/am.c:2317 msgid "lie about committer date" msgstr "mentir sur la date de validation" -#: builtin/am.c:2333 +#: builtin/am.c:2319 msgid "use current timestamp for author date" msgstr "utiliser l'horodatage actuel pour la date d'auteur" -#: builtin/am.c:2335 builtin/commit.c:1593 builtin/merge.c:225 -#: builtin/pull.c:155 builtin/revert.c:92 builtin/tag.c:355 +#: builtin/am.c:2321 builtin/commit.c:1593 builtin/merge.c:225 +#: builtin/pull.c:159 builtin/revert.c:92 builtin/tag.c:355 msgid "key-id" -msgstr "id de clΓ©" +msgstr "id-clΓ©" -#: builtin/am.c:2336 +#: builtin/am.c:2322 msgid "GPG-sign commits" msgstr "signer les commits avec GPG" -#: builtin/am.c:2339 +#: builtin/am.c:2325 msgid "(internal use for git-rebase)" msgstr "(utilisation interne pour git-rebase)" -#: builtin/am.c:2354 +#: builtin/am.c:2340 msgid "" "The -b/--binary option has been a no-op for long time, and\n" "it will be removed. Please do not use it anymore." @@ -2818,17 +2963,17 @@ msgstr "" "L'option -b/--binary ne fait plus rien depuis longtemps,\n" "et elle sera supprimΓ©e. Veuillez ne plus l'utiliser." -#: builtin/am.c:2361 +#: builtin/am.c:2347 msgid "failed to read the index" msgstr "Γ©chec Γ la lecture de l'index" -#: builtin/am.c:2376 +#: builtin/am.c:2362 #, c-format msgid "previous rebase directory %s still exists but mbox given." msgstr "" "le rΓ©pertoire prΓ©cΓ©dent de rebasage %s existe toujours mais mbox donnΓ©e." -#: builtin/am.c:2400 +#: builtin/am.c:2386 #, c-format msgid "" "Stray %s directory found.\n" @@ -2837,7 +2982,7 @@ msgstr "" "RΓ©pertoire abandonnΓ© %s trouvΓ©.\n" "Utilisez \"git am --abort\" pour le supprimer." -#: builtin/am.c:2406 +#: builtin/am.c:2392 msgid "Resolve operation not in progress, we are not resuming." msgstr "" "Pas de rΓ©solution de l'opΓ©ration en cours, nous ne sommes pas dans une " @@ -3196,137 +3341,137 @@ msgstr "entrΓ©e non reconnue" msgid "unable to read index file" msgstr "lecture du fichier d'index impossible" -#: builtin/apply.c:4517 +#: builtin/apply.c:4507 msgid "don't apply changes matching the given path" msgstr "ne pas appliquer les modifications qui correspondent au chemin donnΓ©" -#: builtin/apply.c:4520 +#: builtin/apply.c:4510 msgid "apply changes matching the given path" msgstr "appliquer les modifications qui correspondent au chemin donnΓ©" -#: builtin/apply.c:4523 +#: builtin/apply.c:4513 msgid "remove <num> leading slashes from traditional diff paths" msgstr "supprimer <num> barres obliques des chemins traditionnels de diff" -#: builtin/apply.c:4526 +#: builtin/apply.c:4516 msgid "ignore additions made by the patch" msgstr "ignorer les additions rΓ©alisΓ©es par le patch" -#: builtin/apply.c:4528 +#: builtin/apply.c:4518 msgid "instead of applying the patch, output diffstat for the input" msgstr "au lieu d'appliquer le patch, afficher le diffstat de l'entrΓ©e" -#: builtin/apply.c:4532 +#: builtin/apply.c:4522 msgid "show number of added and deleted lines in decimal notation" msgstr "" "afficher le nombre de lignes ajoutΓ©es et supprimΓ©es en notation dΓ©cimale" -#: builtin/apply.c:4534 +#: builtin/apply.c:4524 msgid "instead of applying the patch, output a summary for the input" msgstr "au lieu d'appliquer le patch, afficher un rΓ©sumer de l'entrΓ©e" -#: builtin/apply.c:4536 +#: builtin/apply.c:4526 msgid "instead of applying the patch, see if the patch is applicable" msgstr "au lieu d'appliquer le patch, voir si le patch est applicable" -#: builtin/apply.c:4538 +#: builtin/apply.c:4528 msgid "make sure the patch is applicable to the current index" msgstr "s'assurer que le patch est applicable sur l'index actuel" -#: builtin/apply.c:4540 +#: builtin/apply.c:4530 msgid "apply a patch without touching the working tree" msgstr "appliquer les patch sans toucher Γ la copie de travail" -#: builtin/apply.c:4542 +#: builtin/apply.c:4532 msgid "accept a patch that touches outside the working area" msgstr "accepter un patch qui touche hors de la copie de travail" -#: builtin/apply.c:4544 +#: builtin/apply.c:4534 msgid "also apply the patch (use with --stat/--summary/--check)" msgstr "appliquer aussi le patch (Γ utiliser avec ---stat/--summary/--check)" -#: builtin/apply.c:4546 +#: builtin/apply.c:4536 msgid "attempt three-way merge if a patch does not apply" msgstr "tenter une fusion Γ 3 points si le patch ne s'applique pas proprement" -#: builtin/apply.c:4548 +#: builtin/apply.c:4538 msgid "build a temporary index based on embedded index information" msgstr "" "construire un index temporaire fondΓ© sur l'information de l'index embarquΓ©" -#: builtin/apply.c:4550 builtin/checkout-index.c:198 builtin/ls-files.c:412 +#: builtin/apply.c:4541 builtin/checkout-index.c:169 builtin/ls-files.c:425 msgid "paths are separated with NUL character" msgstr "les chemins sont sΓ©parΓ©s par un caractΓ¨re NUL" -#: builtin/apply.c:4553 +#: builtin/apply.c:4543 msgid "ensure at least <n> lines of context match" msgstr "s'assurer d'au moins <n> lignes de correspondance de contexte" -#: builtin/apply.c:4555 +#: builtin/apply.c:4545 msgid "detect new or modified lines that have whitespace errors" msgstr "" "dΓ©tecter des lignes nouvelles ou modifiΓ©es qui contiennent des erreurs " "d'espace" -#: builtin/apply.c:4558 builtin/apply.c:4561 +#: builtin/apply.c:4548 builtin/apply.c:4551 msgid "ignore changes in whitespace when finding context" msgstr "ignorer des modifications d'espace lors de la recherche de contexte" -#: builtin/apply.c:4564 +#: builtin/apply.c:4554 msgid "apply the patch in reverse" msgstr "appliquer le patch en sens inverse" -#: builtin/apply.c:4566 +#: builtin/apply.c:4556 msgid "don't expect at least one line of context" msgstr "ne pas s'attendre Γ au moins une ligne de contexte" -#: builtin/apply.c:4568 +#: builtin/apply.c:4558 msgid "leave the rejected hunks in corresponding *.rej files" msgstr "laisser les sections rejetΓ©es dans les fichiers *.rej correspondants" -#: builtin/apply.c:4570 +#: builtin/apply.c:4560 msgid "allow overlapping hunks" msgstr "accepter les recouvrements de sections" -#: builtin/apply.c:4573 +#: builtin/apply.c:4563 msgid "tolerate incorrectly detected missing new-line at the end of file" msgstr "" "tolΓ©rer des erreurs de dΓ©tection de retours chariot manquants en fin de " "fichier" -#: builtin/apply.c:4576 +#: builtin/apply.c:4566 msgid "do not trust the line counts in the hunk headers" msgstr "ne pas se fier au compte de lignes dans les en-tΓͺtes de section" -#: builtin/apply.c:4579 +#: builtin/apply.c:4569 msgid "prepend <root> to all filenames" msgstr "prΓ©fixer tous les noms de fichier avec <root>" -#: builtin/apply.c:4601 +#: builtin/apply.c:4591 msgid "--3way outside a repository" msgstr "--3way hors d'un dΓ©pΓ΄t" -#: builtin/apply.c:4609 +#: builtin/apply.c:4599 msgid "--index outside a repository" msgstr "--index hors d'un dΓ©pΓ΄t" -#: builtin/apply.c:4612 +#: builtin/apply.c:4602 msgid "--cached outside a repository" msgstr "--cached hors d'un dΓ©pΓ΄t" -#: builtin/apply.c:4631 +#: builtin/apply.c:4621 #, c-format msgid "can't open patch '%s'" msgstr "ouverture impossible du patch '%s'" -#: builtin/apply.c:4645 +#: builtin/apply.c:4635 #, c-format msgid "squelched %d whitespace error" msgid_plural "squelched %d whitespace errors" msgstr[0] "%d erreur d'espace ignorΓ©e" msgstr[1] "%d erreurs d'espace ignorΓ©es" -#: builtin/apply.c:4651 builtin/apply.c:4661 +#: builtin/apply.c:4641 builtin/apply.c:4651 #, c-format msgid "%d line adds whitespace errors." msgid_plural "%d lines add whitespace errors." @@ -3380,108 +3525,116 @@ msgstr "effectuer 'git bisect next'" msgid "update BISECT_HEAD instead of checking out the current commit" msgstr "mettre Γ jour BISECT_HEAD au lieu d'extraire le commit actuel" -#: builtin/blame.c:32 +#: builtin/blame.c:33 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>" msgstr "git blame [<options>] [<options-de-rΓ©vision>] [<rev>] [--] <fichier>" -#: builtin/blame.c:37 +#: builtin/blame.c:38 msgid "<rev-opts> are documented in git-rev-list(1)" msgstr "<options-de-rΓ©vision> sont documentΓ©s dans git-rev-list(1)" -#: builtin/blame.c:2519 +#: builtin/blame.c:1782 +msgid "Blaming lines" +msgstr "Assignation de blΓ’me au lignes" + +#: builtin/blame.c:2530 msgid "Show blame entries as we find them, incrementally" msgstr "" "Montrer les Γ©lΓ©ments de blΓ’me au fur et Γ mesure de leur dΓ©couverte, de " "maniΓ¨re incrΓ©mentale" -#: builtin/blame.c:2520 +#: builtin/blame.c:2531 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "Montrer un SHA-1 blanc pour les commits de limite (DΓ©faut : dΓ©sactivΓ©)" -#: builtin/blame.c:2521 +#: builtin/blame.c:2532 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "" "Ne pas traiter les commits racine comme des limites (DΓ©faut : dΓ©sactivΓ©)" -#: builtin/blame.c:2522 +#: builtin/blame.c:2533 msgid "Show work cost statistics" msgstr "Montrer les statistiques de coΓ»t d'activitΓ©" -#: builtin/blame.c:2523 +#: builtin/blame.c:2534 +msgid "Force progress reporting" +msgstr "Forcer l'affichage de l'Γ©tat d'avancement" + +#: builtin/blame.c:2535 msgid "Show output score for blame entries" msgstr "Montrer le score de sortie pour les Γ©lΓ©ments de blΓ’me" -#: builtin/blame.c:2524 +#: builtin/blame.c:2536 msgid "Show original filename (Default: auto)" msgstr "Montrer les noms de fichier originaux (DΓ©faut : auto)" -#: builtin/blame.c:2525 +#: builtin/blame.c:2537 msgid "Show original linenumber (Default: off)" msgstr "Montrer les numΓ©ros de lignes originaux (DΓ©faut : dΓ©sactivΓ©)" -#: builtin/blame.c:2526 +#: builtin/blame.c:2538 msgid "Show in a format designed for machine consumption" msgstr "Afficher dans un format propice Γ la consommation par machine" -#: builtin/blame.c:2527 +#: builtin/blame.c:2539 msgid "Show porcelain format with per-line commit information" msgstr "Afficher en format porcelaine avec l'information de commit par ligne" -#: builtin/blame.c:2528 +#: builtin/blame.c:2540 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "Utiliser le mΓͺme mode de sortie que git-annotate (DΓ©faut : dΓ©sactivΓ©)" -#: builtin/blame.c:2529 +#: builtin/blame.c:2541 msgid "Show raw timestamp (Default: off)" msgstr "Afficher les horodatages bruts (DΓ©faut : dΓ©sactivΓ©)" -#: builtin/blame.c:2530 +#: builtin/blame.c:2542 msgid "Show long commit SHA1 (Default: off)" msgstr "Afficher les longs SHA1 de commits (DΓ©faut : dΓ©sactivΓ©)" -#: builtin/blame.c:2531 +#: builtin/blame.c:2543 msgid "Suppress author name and timestamp (Default: off)" msgstr "Supprimer le nom de l'auteur et l'horodatage (DΓ©faut : dΓ©sactivΓ©)" -#: builtin/blame.c:2532 +#: builtin/blame.c:2544 msgid "Show author email instead of name (Default: off)" msgstr "Afficher l'e-mail de l'auteur au lieu du nom (DΓ©faut : dΓ©sactivΓ©)" -#: builtin/blame.c:2533 +#: builtin/blame.c:2545 msgid "Ignore whitespace differences" msgstr "Ignorer les diffΓ©rences d'espace" -#: builtin/blame.c:2534 +#: builtin/blame.c:2546 msgid "Spend extra cycles to find better match" msgstr "" "DΓ©penser des cycles supplΓ©mentaires pour trouver une meilleure correspondance" -#: builtin/blame.c:2535 +#: builtin/blame.c:2547 msgid "Use revisions from <file> instead of calling git-rev-list" msgstr "" "Utiliser les rΓ©visions du fichier <fichier> au lieu d'appeler git-rev-list" -#: builtin/blame.c:2536 +#: builtin/blame.c:2548 msgid "Use <file>'s contents as the final image" msgstr "Utiliser le contenu de <fichier> comme image finale" -#: builtin/blame.c:2537 builtin/blame.c:2538 +#: builtin/blame.c:2549 builtin/blame.c:2550 msgid "score" msgstr "score" -#: builtin/blame.c:2537 +#: builtin/blame.c:2549 msgid "Find line copies within and across files" msgstr "Trouver les copies de ligne dans et entre les fichiers" -#: builtin/blame.c:2538 +#: builtin/blame.c:2550 msgid "Find line movements within and across files" msgstr "Trouver les mouvements de ligne dans et entre les fichiers" -#: builtin/blame.c:2539 +#: builtin/blame.c:2551 msgid "n,m" msgstr "n,m" -#: builtin/blame.c:2539 +#: builtin/blame.c:2551 msgid "Process only line range n,m, counting from 1" msgstr "" "Traiter seulement l'intervalle de ligne n,m en commenΓ§ant le compte Γ 1" @@ -3492,7 +3645,7 @@ msgstr "" #. takes 22 places, is the longest among various forms of #. relative timestamps, but your language may need more or #. fewer display columns. -#: builtin/blame.c:2620 +#: builtin/blame.c:2640 msgid "4 years, 11 months ago" msgstr "il y a 10 ans et 11 mois" @@ -3694,156 +3847,156 @@ msgstr "" "La branche est renommΓ©e, mais la mise Γ jour du fichier de configuration a " "Γ©chouΓ©" -#: builtin/branch.c:587 +#: builtin/branch.c:586 #, c-format msgid "could not write branch description template: %s" msgstr "impossible d'Γ©crire le modΓ¨le de description de branche : %s" -#: builtin/branch.c:616 +#: builtin/branch.c:615 msgid "Generic options" msgstr "Options gΓ©nΓ©riques" -#: builtin/branch.c:618 +#: builtin/branch.c:617 msgid "show hash and subject, give twice for upstream branch" msgstr "afficher le hachage et le sujet, doublΓ© pour la branche amont" -#: builtin/branch.c:619 +#: builtin/branch.c:618 msgid "suppress informational messages" msgstr "supprimer les messages d'information" -#: builtin/branch.c:620 +#: builtin/branch.c:619 msgid "set up tracking mode (see git-pull(1))" msgstr "rΓ©gler le mode de suivi (voir git-pull(1))" -#: builtin/branch.c:622 +#: builtin/branch.c:621 msgid "change upstream info" msgstr "modifier l'information amont" -#: builtin/branch.c:626 +#: builtin/branch.c:625 msgid "use colored output" msgstr "utiliser la coloration dans la sortie" -#: builtin/branch.c:627 +#: builtin/branch.c:626 msgid "act on remote-tracking branches" msgstr "agir sur les branches de suivi distantes" -#: builtin/branch.c:629 builtin/branch.c:630 +#: builtin/branch.c:628 builtin/branch.c:629 msgid "print only branches that contain the commit" msgstr "afficher seulement les branches qui contiennent le commit" -#: builtin/branch.c:633 +#: builtin/branch.c:632 msgid "Specific git-branch actions:" msgstr "Actions spΓ©cifiques Γ git-branch :" -#: builtin/branch.c:634 +#: builtin/branch.c:633 msgid "list both remote-tracking and local branches" msgstr "afficher Γ la fois les branches de suivi et les branches locales" -#: builtin/branch.c:636 +#: builtin/branch.c:635 msgid "delete fully merged branch" msgstr "supprimer une branche totalement fusionnΓ©e" -#: builtin/branch.c:637 +#: builtin/branch.c:636 msgid "delete branch (even if not merged)" msgstr "supprimer une branche (mΓͺme non fusionnΓ©e)" -#: builtin/branch.c:638 +#: builtin/branch.c:637 msgid "move/rename a branch and its reflog" msgstr "dΓ©placer/renommer une branche et son reflog" -#: builtin/branch.c:639 +#: builtin/branch.c:638 msgid "move/rename a branch, even if target exists" msgstr "dΓ©placer/renommer une branche, mΓͺme si la cible existe" -#: builtin/branch.c:640 +#: builtin/branch.c:639 msgid "list branch names" msgstr "afficher les noms des branches" -#: builtin/branch.c:641 +#: builtin/branch.c:640 msgid "create the branch's reflog" msgstr "crΓ©er le reflog de la branche" -#: builtin/branch.c:643 +#: builtin/branch.c:642 msgid "edit the description for the branch" msgstr "Γ©diter la description de la branche" -#: builtin/branch.c:644 +#: builtin/branch.c:643 msgid "force creation, move/rename, deletion" msgstr "forcer la crΓ©ation, le dΓ©placement/renommage, ou la suppression" -#: builtin/branch.c:645 +#: builtin/branch.c:644 msgid "print only branches that are merged" msgstr "afficher seulement les branches qui sont fusionnΓ©es" -#: builtin/branch.c:646 +#: builtin/branch.c:645 msgid "print only branches that are not merged" msgstr "afficher seulement les branches qui ne sont pas fusionnΓ©es" -#: builtin/branch.c:647 +#: builtin/branch.c:646 msgid "list branches in columns" msgstr "afficher les branches en colonnes" -#: builtin/branch.c:648 builtin/for-each-ref.c:38 builtin/tag.c:366 +#: builtin/branch.c:647 builtin/for-each-ref.c:38 builtin/tag.c:366 msgid "key" msgstr "clΓ©" -#: builtin/branch.c:649 builtin/for-each-ref.c:39 builtin/tag.c:367 +#: builtin/branch.c:648 builtin/for-each-ref.c:39 builtin/tag.c:367 msgid "field name to sort on" msgstr "nom du champ servant Γ trier" -#: builtin/branch.c:651 builtin/for-each-ref.c:41 builtin/notes.c:398 -#: builtin/notes.c:401 builtin/notes.c:561 builtin/notes.c:564 +#: builtin/branch.c:650 builtin/for-each-ref.c:41 builtin/notes.c:401 +#: builtin/notes.c:404 builtin/notes.c:564 builtin/notes.c:567 #: builtin/tag.c:369 msgid "object" msgstr "objet" -#: builtin/branch.c:652 +#: builtin/branch.c:651 msgid "print only branches of the object" msgstr "afficher seulement les branches de l'objet" -#: builtin/branch.c:670 +#: builtin/branch.c:669 msgid "Failed to resolve HEAD as a valid ref." msgstr "Γchec de rΓ©solution de HEAD comme rΓ©fΓ©rence valide." -#: builtin/branch.c:674 builtin/clone.c:697 +#: builtin/branch.c:673 builtin/clone.c:705 msgid "HEAD not found below refs/heads!" msgstr "HEAD non trouvΓ©e sous refs/heads !" -#: builtin/branch.c:694 +#: builtin/branch.c:693 msgid "--column and --verbose are incompatible" msgstr "--column et --verbose sont incompatibles" -#: builtin/branch.c:705 builtin/branch.c:747 +#: builtin/branch.c:704 builtin/branch.c:746 msgid "branch name required" msgstr "le nom de branche est requis" -#: builtin/branch.c:723 +#: builtin/branch.c:722 msgid "Cannot give description to detached HEAD" msgstr "Impossible de dΓ©crire une HEAD dΓ©tachΓ©e" -#: builtin/branch.c:728 +#: builtin/branch.c:727 msgid "cannot edit description of more than one branch" msgstr "impossible d'Γ©diter la description de plus d'une branche" -#: builtin/branch.c:735 +#: builtin/branch.c:734 #, c-format msgid "No commit on branch '%s' yet." msgstr "Aucun commit sur la branche '%s'." -#: builtin/branch.c:738 +#: builtin/branch.c:737 #, c-format msgid "No branch named '%s'." msgstr "Aucune branche nommΓ©e '%s'." -#: builtin/branch.c:753 +#: builtin/branch.c:752 msgid "too many branches for a rename operation" msgstr "trop de branches pour une opΓ©ration de renommage" -#: builtin/branch.c:758 +#: builtin/branch.c:757 msgid "too many branches to set new upstream" msgstr "trop de branches pour spΓ©cifier une branche amont" -#: builtin/branch.c:762 +#: builtin/branch.c:761 #, c-format msgid "" "could not set upstream of HEAD to %s when it does not point to any branch." @@ -3851,41 +4004,41 @@ msgstr "" "impossible de spΓ©cifier une branche amont de HEAD par %s qui ne pointe sur " "aucune branche." -#: builtin/branch.c:765 builtin/branch.c:787 builtin/branch.c:808 +#: builtin/branch.c:764 builtin/branch.c:786 builtin/branch.c:807 #, c-format msgid "no such branch '%s'" msgstr "pas de branche '%s'" -#: builtin/branch.c:769 +#: builtin/branch.c:768 #, c-format msgid "branch '%s' does not exist" msgstr "la branche '%s' n'existe pas" -#: builtin/branch.c:781 +#: builtin/branch.c:780 msgid "too many branches to unset upstream" msgstr "trop de branches pour dΓ©sactiver un amont" -#: builtin/branch.c:785 +#: builtin/branch.c:784 msgid "could not unset upstream of HEAD when it does not point to any branch." msgstr "" "impossible de dΓ©sactiver une branche amont de HEAD quand elle ne pointe sur " "aucune branche." -#: builtin/branch.c:791 +#: builtin/branch.c:790 #, c-format msgid "Branch '%s' has no upstream information" msgstr "La branche '%s' n'a aucune information de branche amont" -#: builtin/branch.c:805 +#: builtin/branch.c:804 msgid "it does not make sense to create 'HEAD' manually" msgstr "crΓ©er manuellement 'HEAD' n'a pas de sens" -#: builtin/branch.c:811 +#: builtin/branch.c:810 msgid "-a and -r options to 'git branch' do not make sense with a branch name" msgstr "" "les options -a et -r de 'git branch' n'ont pas de sens avec un nom de branche" -#: builtin/branch.c:814 +#: builtin/branch.c:813 #, c-format msgid "" "The --set-upstream flag is deprecated and will be removed. Consider using --" @@ -3894,7 +4047,7 @@ msgstr "" "l'option --set-upstream est obsolΓ¨te et va disparaΓtre. Utilisez plutΓ΄t --" "track ou --set-upstream-to\n" -#: builtin/branch.c:831 +#: builtin/branch.c:830 #, c-format msgid "" "\n" @@ -3905,12 +4058,12 @@ msgstr "" "Si vous vouliez que '%s' suive '%s', faΓtes ceci :\n" "\n" -#: builtin/branch.c:832 +#: builtin/branch.c:831 #, c-format msgid " git branch -d %s\n" msgstr " git branch -d %s\n" -#: builtin/branch.c:833 +#: builtin/branch.c:832 #, c-format msgid " git branch --set-upstream-to %s\n" msgstr " git branch --set-upstream-to %s\n" @@ -4007,7 +4160,7 @@ msgstr "afficher tous les attributs associΓ©s au fichier" msgid "use .gitattributes only from the index" msgstr "utiliser .gitattributes seulement depuis l'index" -#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:96 +#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:97 msgid "read file names from stdin" msgstr "lire les noms de fichier depuis l'entrΓ©e standard" @@ -4016,7 +4169,7 @@ msgid "terminate input and output records by a NUL character" msgstr "" "terminer les enregistrements en entrΓ©e et en sortie par un caractΓ¨re NUL" -#: builtin/check-ignore.c:18 builtin/checkout.c:1134 builtin/gc.c:325 +#: builtin/check-ignore.c:18 builtin/checkout.c:1136 builtin/gc.c:325 msgid "suppress progress reporting" msgstr "supprimer l'Γ©tat d'avancement" @@ -4069,51 +4222,55 @@ msgstr "impossible d'analyser le contact : %s" msgid "no contacts specified" msgstr "aucun contact spΓ©cifiΓ©" -#: builtin/checkout-index.c:126 +#: builtin/checkout-index.c:127 msgid "git checkout-index [<options>] [--] [<file>...]" msgstr "git checkout-index [<options>] [--] [<fichier>...]" -#: builtin/checkout-index.c:188 +#: builtin/checkout-index.c:144 +msgid "stage should be between 1 and 3 or all" +msgstr "stage doit valoir entre 1 et 3, ou all" + +#: builtin/checkout-index.c:160 msgid "check out all files in the index" msgstr "extraire tous les fichiers prΓ©sents dans l'index" -#: builtin/checkout-index.c:189 +#: builtin/checkout-index.c:161 msgid "force overwrite of existing files" msgstr "forcer l'Γ©crasement des fichiers existants" -#: builtin/checkout-index.c:191 +#: builtin/checkout-index.c:163 msgid "no warning for existing files and files not in index" msgstr "" "pas d'avertissement pour les fichiers existants et les fichiers absents de " "l'index" -#: builtin/checkout-index.c:193 +#: builtin/checkout-index.c:165 msgid "don't checkout new files" msgstr "ne pas extraire les nouveaux fichiers" -#: builtin/checkout-index.c:195 +#: builtin/checkout-index.c:167 msgid "update stat information in the index file" msgstr "mettre Γ jour l'information de stat dans le fichier d'index" -#: builtin/checkout-index.c:201 +#: builtin/checkout-index.c:171 msgid "read list of paths from the standard input" msgstr "lire la liste des chemins depuis l'entrΓ©e standard" -#: builtin/checkout-index.c:203 +#: builtin/checkout-index.c:173 msgid "write the content to temporary files" msgstr "Γ©crire le contenu dans des fichiers temporaires" -#: builtin/checkout-index.c:204 builtin/column.c:30 +#: builtin/checkout-index.c:174 builtin/column.c:30 +#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169 #: builtin/submodule--helper.c:172 builtin/submodule--helper.c:175 -#: builtin/submodule--helper.c:178 builtin/submodule--helper.c:181 msgid "string" msgstr "chaΓne" -#: builtin/checkout-index.c:205 +#: builtin/checkout-index.c:175 msgid "when creating files, prepend <string>" msgstr "lors de la crΓ©ation de fichiers, prΓ©fixer par <chaΓne>" -#: builtin/checkout-index.c:208 +#: builtin/checkout-index.c:177 msgid "copy out the files from named stage" msgstr "copier les fichiers depuis l'index nommΓ©" @@ -4195,37 +4352,41 @@ msgstr "Impossible de faire un reflog pour '%s'Β : %s\n" msgid "HEAD is now at" msgstr "HEAD est maintenant sur" -#: builtin/checkout.c:668 +#: builtin/checkout.c:665 builtin/clone.c:659 +msgid "unable to update HEAD" +msgstr "impossible de mettre Γ jour HEAD" + +#: builtin/checkout.c:669 #, c-format msgid "Reset branch '%s'\n" msgstr "Remise Γ zΓ©ro de la branche '%s'\n" -#: builtin/checkout.c:671 +#: builtin/checkout.c:672 #, c-format msgid "Already on '%s'\n" msgstr "DΓ©jΓ sur '%s'\n" -#: builtin/checkout.c:675 +#: builtin/checkout.c:676 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "Basculement et remise Γ zΓ©ro de la branche '%s'\n" -#: builtin/checkout.c:677 builtin/checkout.c:1066 +#: builtin/checkout.c:678 builtin/checkout.c:1068 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "Basculement sur la nouvelle branche '%s'\n" -#: builtin/checkout.c:679 +#: builtin/checkout.c:680 #, c-format msgid "Switched to branch '%s'\n" msgstr "Basculement sur la branche '%s'\n" -#: builtin/checkout.c:731 +#: builtin/checkout.c:732 #, c-format msgid " ... and %d more.\n" msgstr " ... et %d en plus.\n" -#: builtin/checkout.c:737 +#: builtin/checkout.c:738 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -4248,7 +4409,7 @@ msgstr[1] "" "\n" "%s\n" -#: builtin/checkout.c:756 +#: builtin/checkout.c:757 #, c-format msgid "" "If you want to keep it by creating a new branch, this may be a good time\n" @@ -4277,151 +4438,151 @@ msgstr[1] "" "git branch <nouvelle-branche> %s\n" "\n" -#: builtin/checkout.c:792 +#: builtin/checkout.c:793 msgid "internal error in revision walk" msgstr "erreur interne lors du parcours des rΓ©visions" -#: builtin/checkout.c:796 +#: builtin/checkout.c:797 msgid "Previous HEAD position was" msgstr "La position prΓ©cΓ©dente de HEAD Γ©tait sur" -#: builtin/checkout.c:823 builtin/checkout.c:1061 +#: builtin/checkout.c:824 builtin/checkout.c:1063 msgid "You are on a branch yet to be born" msgstr "Vous Γͺtes sur une branche qui doit encore naΓtre" -#: builtin/checkout.c:968 +#: builtin/checkout.c:969 #, c-format msgid "only one reference expected, %d given." msgstr "une seule rΓ©fΓ©rence attendue, %d fournies." -#: builtin/checkout.c:1007 builtin/worktree.c:213 +#: builtin/checkout.c:1009 builtin/worktree.c:211 #, c-format msgid "invalid reference: %s" msgstr "rΓ©fΓ©rence invalide : %s" -#: builtin/checkout.c:1036 +#: builtin/checkout.c:1038 #, c-format msgid "reference is not a tree: %s" msgstr "la rΓ©fΓ©rence n'est pas un arbre : %s" -#: builtin/checkout.c:1075 +#: builtin/checkout.c:1077 msgid "paths cannot be used with switching branches" msgstr "impossible d'utiliser des chemins avec un basculement de branches" -#: builtin/checkout.c:1078 builtin/checkout.c:1082 +#: builtin/checkout.c:1080 builtin/checkout.c:1084 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "'%s' ne peut pas Γͺtre utilisΓ© avec un basculement de branches" -#: builtin/checkout.c:1086 builtin/checkout.c:1089 builtin/checkout.c:1094 -#: builtin/checkout.c:1097 +#: builtin/checkout.c:1088 builtin/checkout.c:1091 builtin/checkout.c:1096 +#: builtin/checkout.c:1099 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "'%s' ne peut pas Γͺtre utilisΓ© avec '%s'" -#: builtin/checkout.c:1102 +#: builtin/checkout.c:1104 #, c-format msgid "Cannot switch branch to a non-commit '%s'" msgstr "Impossible de basculer de branche vers '%s' qui n'est pas un commit" -#: builtin/checkout.c:1135 builtin/checkout.c:1137 builtin/clone.c:83 -#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:320 -#: builtin/worktree.c:322 +#: builtin/checkout.c:1137 builtin/checkout.c:1139 builtin/clone.c:84 +#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:318 +#: builtin/worktree.c:320 msgid "branch" msgstr "branche" -#: builtin/checkout.c:1136 +#: builtin/checkout.c:1138 msgid "create and checkout a new branch" msgstr "crΓ©er et extraire une nouvelle branche" -#: builtin/checkout.c:1138 +#: builtin/checkout.c:1140 msgid "create/reset and checkout a branch" msgstr "crΓ©er/rΓ©initialiser et extraire une branche" -#: builtin/checkout.c:1139 +#: builtin/checkout.c:1141 msgid "create reflog for new branch" msgstr "crΓ©er un reflog pour une nouvelle branche" -#: builtin/checkout.c:1140 +#: builtin/checkout.c:1142 msgid "detach the HEAD at named commit" msgstr "dΓ©tacher la HEAD Γ la validation nommΓ©e" -#: builtin/checkout.c:1141 +#: builtin/checkout.c:1143 msgid "set upstream info for new branch" msgstr "paramΓ©trer les coordonnΓ©es de branche amont pour une nouvelle branche" -#: builtin/checkout.c:1143 +#: builtin/checkout.c:1145 msgid "new-branch" msgstr "nouvelle branche" -#: builtin/checkout.c:1143 +#: builtin/checkout.c:1145 msgid "new unparented branch" msgstr "nouvelle branche sans parent" -#: builtin/checkout.c:1144 +#: builtin/checkout.c:1146 msgid "checkout our version for unmerged files" msgstr "extraire notre version pour les fichiers non fusionnΓ©s" -#: builtin/checkout.c:1146 +#: builtin/checkout.c:1148 msgid "checkout their version for unmerged files" msgstr "extraire leur version pour les fichiers non fusionnΓ©s" -#: builtin/checkout.c:1148 +#: builtin/checkout.c:1150 msgid "force checkout (throw away local modifications)" msgstr "forcer l'extraction (laisser tomber les modifications locales)" -#: builtin/checkout.c:1149 +#: builtin/checkout.c:1151 msgid "perform a 3-way merge with the new branch" msgstr "effectuer une fusion Γ 3 points avec la nouvelle branche" -#: builtin/checkout.c:1150 builtin/merge.c:227 +#: builtin/checkout.c:1152 builtin/merge.c:227 msgid "update ignored files (default)" msgstr "mettre Γ jour les fichiers ignorΓ©s (par dΓ©faut)" -#: builtin/checkout.c:1151 builtin/log.c:1266 parse-options.h:250 +#: builtin/checkout.c:1153 builtin/log.c:1269 parse-options.h:250 msgid "style" msgstr "style" -#: builtin/checkout.c:1152 +#: builtin/checkout.c:1154 msgid "conflict style (merge or diff3)" -msgstr "style de conflit (fusion ou diff3)" +msgstr "style de conflit (merge (fusion) ou diff3)" -#: builtin/checkout.c:1155 +#: builtin/checkout.c:1157 msgid "do not limit pathspecs to sparse entries only" msgstr "ne pas limiter les spΓ©cificateurs de chemins aux seuls Γ©lΓ©ments creux" -#: builtin/checkout.c:1157 +#: builtin/checkout.c:1159 msgid "second guess 'git checkout <no-such-branch>'" msgstr "rΓ©essayer d'interprΓ©ter 'git checkout <branche-inexistante>'" -#: builtin/checkout.c:1159 +#: builtin/checkout.c:1161 msgid "do not check if another worktree is holding the given ref" msgstr "" "ne pas vΓ©rifier si une autre copie de travail contient le rΓ©fΓ©rence fournie" -#: builtin/checkout.c:1160 builtin/clone.c:57 builtin/fetch.c:112 -#: builtin/merge.c:224 builtin/pull.c:109 builtin/push.c:558 +#: builtin/checkout.c:1162 builtin/clone.c:58 builtin/fetch.c:116 +#: builtin/merge.c:224 builtin/pull.c:113 builtin/push.c:526 #: builtin/send-pack.c:168 msgid "force progress reporting" msgstr "forcer l'affichage de l'Γ©tat d'avancement" -#: builtin/checkout.c:1191 +#: builtin/checkout.c:1193 msgid "-b, -B and --orphan are mutually exclusive" msgstr "-b, -B et --orphan sont mutuellement exclusifs" -#: builtin/checkout.c:1208 +#: builtin/checkout.c:1210 msgid "--track needs a branch name" msgstr "--track requiert un nom de branche" -#: builtin/checkout.c:1213 +#: builtin/checkout.c:1215 msgid "Missing branch name; try -b" msgstr "Nom de branche manquant ; essayez -b" -#: builtin/checkout.c:1249 +#: builtin/checkout.c:1251 msgid "invalid path specification" msgstr "spΓ©cification de chemin invalide" -#: builtin/checkout.c:1256 +#: builtin/checkout.c:1258 #, c-format msgid "" "Cannot update paths and switch to branch '%s' at the same time.\n" @@ -4431,12 +4592,12 @@ msgstr "" "en mΓͺme temps.\n" "Souhaitiez-vous extraire '%s' qui ne peut Γͺtre rΓ©solu comme commit ?" -#: builtin/checkout.c:1261 +#: builtin/checkout.c:1263 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "git checkout: --detach n'accepte pas un argument de chemin '%s'" -#: builtin/checkout.c:1265 +#: builtin/checkout.c:1267 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." @@ -4475,7 +4636,7 @@ msgstr "Ignorerait le dΓ©pΓ΄t %s\n" msgid "failed to remove %s" msgstr "Γ©chec de la suppression de %s" -#: builtin/clean.c:315 +#: builtin/clean.c:291 msgid "" "Prompt help:\n" "1 - select a numbered item\n" @@ -4487,7 +4648,7 @@ msgstr "" "foo - sΓ©lectionner un Γ©lΓ©ment par un prΓ©fixe unique\n" " - (vide) ne rien sΓ©lectionner" -#: builtin/clean.c:319 +#: builtin/clean.c:295 msgid "" "Prompt help:\n" "1 - select a single item\n" @@ -4507,36 +4668,36 @@ msgstr "" "* - choisir tous les Γ©lΓ©ments\n" " - (vide) terminer la sΓ©lection" -#: builtin/clean.c:535 +#: builtin/clean.c:511 #, c-format msgid "Huh (%s)?" msgstr "Hein (%s) ?" -#: builtin/clean.c:677 +#: builtin/clean.c:653 #, c-format msgid "Input ignore patterns>> " msgstr "Entrez les motifs Γ ignorer>> " -#: builtin/clean.c:714 +#: builtin/clean.c:690 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "ATTENTION : Impossible de trouver les Γ©lΓ©ments correspondant Γ : %s" -#: builtin/clean.c:735 +#: builtin/clean.c:711 msgid "Select items to delete" msgstr "SΓ©lectionner les Γ©lΓ©ments Γ supprimer" #. TRANSLATORS: Make sure to keep [y/N] as is -#: builtin/clean.c:776 +#: builtin/clean.c:752 #, c-format msgid "Remove %s [y/N]? " msgstr "Supprimer %s [y/N] ? " -#: builtin/clean.c:801 +#: builtin/clean.c:777 msgid "Bye." msgstr "Au revoir." -#: builtin/clean.c:809 +#: builtin/clean.c:785 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -4554,62 +4715,62 @@ msgstr "" "help - cet Γ©cran\n" "? - aide pour la sΓ©lection en ligne" -#: builtin/clean.c:836 +#: builtin/clean.c:812 msgid "*** Commands ***" msgstr "*** Commandes ***" -#: builtin/clean.c:837 +#: builtin/clean.c:813 msgid "What now" msgstr "Et maintenant ?" -#: builtin/clean.c:845 +#: builtin/clean.c:821 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "Supprimerait l'Γ©lΓ©ment suivant :" msgstr[1] "Supprimerait les Γ©lΓ©ments suivants :" -#: builtin/clean.c:862 +#: builtin/clean.c:838 msgid "No more files to clean, exiting." msgstr "Plus de fichier Γ nettoyer, sortie." -#: builtin/clean.c:893 +#: builtin/clean.c:869 msgid "do not print names of files removed" msgstr "ne pas afficher les noms des fichiers supprimΓ©s" -#: builtin/clean.c:895 +#: builtin/clean.c:871 msgid "force" msgstr "forcer" -#: builtin/clean.c:896 +#: builtin/clean.c:872 msgid "interactive cleaning" msgstr "nettoyage interactif" -#: builtin/clean.c:898 +#: builtin/clean.c:874 msgid "remove whole directories" msgstr "supprimer les rΓ©pertoires entiers" -#: builtin/clean.c:899 builtin/describe.c:407 builtin/grep.c:709 -#: builtin/ls-files.c:443 builtin/name-rev.c:307 builtin/show-ref.c:182 +#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:722 +#: builtin/ls-files.c:456 builtin/name-rev.c:307 builtin/show-ref.c:182 msgid "pattern" msgstr "motif" -#: builtin/clean.c:900 +#: builtin/clean.c:876 msgid "add <pattern> to ignore rules" msgstr "ajouter <motif> aux rΓ¨gles ignore" -#: builtin/clean.c:901 +#: builtin/clean.c:877 msgid "remove ignored files, too" msgstr "supprimer les fichiers ignorΓ©s, aussi" -#: builtin/clean.c:903 +#: builtin/clean.c:879 msgid "remove only ignored files" msgstr "supprimer seulement les fichiers ignorΓ©s" -#: builtin/clean.c:921 +#: builtin/clean.c:897 msgid "-x and -X cannot be used together" msgstr "-x et -X ne peuvent pas Γͺtre utilisΓ©s ensemble" -#: builtin/clean.c:925 +#: builtin/clean.c:901 msgid "" "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to " "clean" @@ -4617,7 +4778,7 @@ msgstr "" "clean.requireForce positionnΓ© Γ true et ni -i, -n ou -f fourni ; refus de " "nettoyer" -#: builtin/clean.c:928 +#: builtin/clean.c:904 msgid "" "clean.requireForce defaults to true and neither -i, -n, nor -f given; " "refusing to clean" @@ -4629,147 +4790,163 @@ msgstr "" msgid "git clone [<options>] [--] <repo> [<dir>]" msgstr "git clone [<options>] [--] <dΓ©pΓ΄t> [<rΓ©pertoire>]" -#: builtin/clone.c:59 +#: builtin/clone.c:60 msgid "don't create a checkout" msgstr "ne pas crΓ©er d'extraction" -#: builtin/clone.c:60 builtin/clone.c:62 builtin/init-db.c:469 +#: builtin/clone.c:61 builtin/clone.c:63 builtin/init-db.c:469 msgid "create a bare repository" msgstr "crΓ©er un dΓ©pΓ΄t nu" -#: builtin/clone.c:64 +#: builtin/clone.c:65 msgid "create a mirror repository (implies bare)" msgstr "crΓ©er un dΓ©pΓ΄t miroir (implique dΓ©pΓ΄t nu)" -#: builtin/clone.c:66 +#: builtin/clone.c:67 msgid "to clone from a local repository" msgstr "pour cloner depuis un dΓ©pΓ΄t local" -#: builtin/clone.c:68 +#: builtin/clone.c:69 msgid "don't use local hardlinks, always copy" msgstr "ne pas utiliser de liens durs locaux, toujours copier" -#: builtin/clone.c:70 +#: builtin/clone.c:71 msgid "setup as shared repository" msgstr "rΓ©gler comme dΓ©pΓ΄t partagΓ©" -#: builtin/clone.c:72 builtin/clone.c:74 +#: builtin/clone.c:73 builtin/clone.c:75 msgid "initialize submodules in the clone" msgstr "initialiser les sous-modules dans le clone" -#: builtin/clone.c:75 builtin/init-db.c:466 +#: builtin/clone.c:76 builtin/init-db.c:466 msgid "template-directory" msgstr "rΓ©pertoire-modΓ¨le" -#: builtin/clone.c:76 builtin/init-db.c:467 +#: builtin/clone.c:77 builtin/init-db.c:467 msgid "directory from which templates will be used" msgstr "rΓ©pertoire depuis lequel les modΓ¨les vont Γͺtre utilisΓ©s" -#: builtin/clone.c:78 builtin/submodule--helper.c:179 +#: builtin/clone.c:79 builtin/submodule--helper.c:173 msgid "reference repository" msgstr "dΓ©pΓ΄t de rΓ©fΓ©rence" -#: builtin/clone.c:80 +#: builtin/clone.c:81 msgid "use --reference only while cloning" msgstr "utiliser seulement --reference pour cloner" -#: builtin/clone.c:81 builtin/column.c:26 builtin/merge-file.c:44 +#: builtin/clone.c:82 builtin/column.c:26 builtin/merge-file.c:44 msgid "name" msgstr "nom" -#: builtin/clone.c:82 +#: builtin/clone.c:83 msgid "use <name> instead of 'origin' to track upstream" msgstr "utiliser <nom> au lieu de 'origin' pour suivre la branche amont" -#: builtin/clone.c:84 +#: builtin/clone.c:85 msgid "checkout <branch> instead of the remote's HEAD" msgstr "extraire <branche> au lieu de la HEAD du rΓ©pertoire distant" -#: builtin/clone.c:86 +#: builtin/clone.c:87 msgid "path to git-upload-pack on the remote" msgstr "chemin vers git-upload-pack sur le serveur distant" -#: builtin/clone.c:87 builtin/fetch.c:113 builtin/grep.c:654 builtin/pull.c:186 +#: builtin/clone.c:88 builtin/fetch.c:117 builtin/grep.c:665 builtin/pull.c:193 msgid "depth" msgstr "profondeur" -#: builtin/clone.c:88 +#: builtin/clone.c:89 msgid "create a shallow clone of that depth" msgstr "crΓ©er un clone superficiel de cette profondeur" -#: builtin/clone.c:90 +#: builtin/clone.c:91 msgid "clone only one branch, HEAD or --branch" msgstr "cloner seulement une branche, HEAD ou --branch" -#: builtin/clone.c:91 builtin/init-db.c:475 +#: builtin/clone.c:92 builtin/init-db.c:475 msgid "gitdir" msgstr "gitdir" -#: builtin/clone.c:92 builtin/init-db.c:476 +#: builtin/clone.c:93 builtin/init-db.c:476 msgid "separate git dir from working tree" msgstr "sΓ©parer le rΓ©pertoire git de la copie de travail" -#: builtin/clone.c:93 +#: builtin/clone.c:94 msgid "key=value" msgstr "clΓ©=valeur" -#: builtin/clone.c:94 +#: builtin/clone.c:95 msgid "set config inside the new repository" msgstr "rΓ©gler la configuration dans le nouveau dΓ©pΓ΄t" -#: builtin/clone.c:300 +#: builtin/clone.c:96 builtin/fetch.c:131 builtin/push.c:536 +msgid "use IPv4 addresses only" +msgstr "n'utiliser que des adresses IPv4" + +#: builtin/clone.c:98 builtin/fetch.c:133 builtin/push.c:538 +msgid "use IPv6 addresses only" +msgstr "n'utiliser que des adresses IPv6" + +#: builtin/clone.c:239 +msgid "" +"No directory name could be guessed.\n" +"Please specify a directory on the command line" +msgstr "" +"Aucun nom de rΓ©pertoire n'a pu Γͺtre devinΓ©\n" +"Veuillez spΓ©cifier un rΓ©pertoire dans la ligne de commande" + +#: builtin/clone.c:305 #, c-format msgid "reference repository '%s' as a linked checkout is not supported yet." msgstr "" "extraire le dΓ©pΓ΄t de rΓ©fΓ©rence '%s' comme une extraction liΓ©e n'est pas " -"encore supportΓ©" +"encore supportΓ©." -#: builtin/clone.c:302 +#: builtin/clone.c:307 #, c-format msgid "reference repository '%s' is not a local repository." msgstr "le dΓ©pΓ΄t de rΓ©fΓ©rence '%s' n'est pas un dΓ©pΓ΄t local." -#: builtin/clone.c:307 +#: builtin/clone.c:312 #, c-format msgid "reference repository '%s' is shallow" msgstr "le dΓ©pΓ΄t de rΓ©fΓ©rence '%s' est superficiel" -#: builtin/clone.c:310 +#: builtin/clone.c:315 #, c-format msgid "reference repository '%s' is grafted" msgstr "le dΓ©pΓ΄t de rΓ©fΓ©rence '%s' est greffΓ©" -#: builtin/clone.c:375 builtin/diff.c:84 +#: builtin/clone.c:380 builtin/diff.c:84 #, c-format msgid "failed to stat '%s'" msgstr "Γ©chec du stat de '%s'" -#: builtin/clone.c:377 +#: builtin/clone.c:382 #, c-format msgid "%s exists and is not a directory" msgstr "%s existe et n'est pas un rΓ©pertoire" -#: builtin/clone.c:391 +#: builtin/clone.c:396 #, c-format msgid "failed to stat %s\n" msgstr "Γ©chec du stat de %s\n" -#: builtin/clone.c:413 +#: builtin/clone.c:418 #, c-format msgid "failed to create link '%s'" msgstr "Γ©chec de la crΓ©ation du lien '%s'" -#: builtin/clone.c:417 +#: builtin/clone.c:422 #, c-format msgid "failed to copy file to '%s'" msgstr "Γ©chec de la copie vers '%s'" -#: builtin/clone.c:442 builtin/clone.c:626 +#: builtin/clone.c:447 builtin/clone.c:631 #, c-format msgid "done.\n" msgstr "fait.\n" -#: builtin/clone.c:454 +#: builtin/clone.c:459 msgid "" "Clone succeeded, but checkout failed.\n" "You can inspect what was checked out with 'git status'\n" @@ -4779,121 +4956,130 @@ msgstr "" "Vous pouvez inspecter ce qui a Γ©tΓ© extrait avec 'git status'\n" "et rΓ©essayer l'extraction avec 'git checkout -f HEAD'\n" -#: builtin/clone.c:531 +#: builtin/clone.c:536 #, c-format msgid "Could not find remote branch %s to clone." msgstr "Impossible de trouver la branche distante '%s' Γ cloner." -#: builtin/clone.c:621 +#: builtin/clone.c:626 #, c-format msgid "Checking connectivity... " msgstr "VΓ©rification de la connectivitΓ©... " -#: builtin/clone.c:624 +#: builtin/clone.c:629 msgid "remote did not send all necessary objects" msgstr "le serveur distant n'a pas envoyΓ© tous les objets nΓ©cessaires" -#: builtin/clone.c:688 +#: builtin/clone.c:647 +#, c-format +msgid "unable to update %s" +msgstr "impossible de mettre Γ jour %s" + +#: builtin/clone.c:696 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "" "la HEAD distante rΓ©fΓ¨re Γ une rΓ©fΓ©rence non existante, impossible de " "l'extraire.\n" -#: builtin/clone.c:719 +#: builtin/clone.c:727 msgid "unable to checkout working tree" msgstr "impossible d'extraire la copie de travail" -#: builtin/clone.c:808 +#: builtin/clone.c:753 +msgid "unable to write parameters to config file" +msgstr "impossible d'Γ©crire les paramΓ¨tres dans le fichier de configuration" + +#: builtin/clone.c:816 msgid "cannot repack to clean up" msgstr "impossible de remballer pour nettoyer" -#: builtin/clone.c:810 +#: builtin/clone.c:818 msgid "cannot unlink temporary alternates file" msgstr "impossible de unlinker le fichier temporaire alternates" -#: builtin/clone.c:842 +#: builtin/clone.c:850 msgid "Too many arguments." msgstr "Trop d'arguments." -#: builtin/clone.c:846 +#: builtin/clone.c:854 msgid "You must specify a repository to clone." msgstr "Vous devez spΓ©cifier un dΓ©pΓ΄t Γ cloner." -#: builtin/clone.c:857 +#: builtin/clone.c:865 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "les options --bare et --origin %s sont incompatibles." -#: builtin/clone.c:860 +#: builtin/clone.c:868 msgid "--bare and --separate-git-dir are incompatible." msgstr "--bare et --separate-git-dir sont incompatibles." -#: builtin/clone.c:873 +#: builtin/clone.c:881 #, c-format msgid "repository '%s' does not exist" msgstr "le dΓ©pΓ΄t '%s' n'existe pas" -#: builtin/clone.c:879 builtin/fetch.c:1166 +#: builtin/clone.c:887 builtin/fetch.c:1174 #, c-format msgid "depth %s is not a positive number" msgstr "la profondeur %s n'est pas un entier positif" -#: builtin/clone.c:889 +#: builtin/clone.c:897 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "" "le chemin de destination '%s' existe dΓ©jΓ et n'est pas un rΓ©pertoire vide." -#: builtin/clone.c:899 +#: builtin/clone.c:907 #, c-format msgid "working tree '%s' already exists." msgstr "la copie de travail '%s' existe dΓ©jΓ ." -#: builtin/clone.c:914 builtin/clone.c:925 builtin/submodule--helper.c:224 -#: builtin/worktree.c:221 builtin/worktree.c:248 +#: builtin/clone.c:922 builtin/clone.c:933 builtin/submodule--helper.c:218 +#: builtin/worktree.c:219 builtin/worktree.c:246 #, c-format msgid "could not create leading directories of '%s'" msgstr "impossible de crΓ©er les rΓ©pertoires de premier niveau dans '%s'" -#: builtin/clone.c:917 +#: builtin/clone.c:925 #, c-format msgid "could not create work tree dir '%s'" msgstr "impossible de crΓ©er le rΓ©pertoire de la copie de travail '%s'" -#: builtin/clone.c:935 +#: builtin/clone.c:943 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "Clonage dans le dΓ©pΓ΄t nu '%s'\n" -#: builtin/clone.c:937 +#: builtin/clone.c:945 #, c-format msgid "Cloning into '%s'...\n" msgstr "Clonage dans '%s'...\n" -#: builtin/clone.c:975 +#: builtin/clone.c:984 msgid "--depth is ignored in local clones; use file:// instead." msgstr "" "--depth est ignorΓ© dans les clones locaux : utilisez plutΓ΄t \"file://\"." -#: builtin/clone.c:978 +#: builtin/clone.c:987 msgid "source repository is shallow, ignoring --local" msgstr "le dΓ©pΓ΄t source est superficiel, option --local ignorΓ©e" -#: builtin/clone.c:983 +#: builtin/clone.c:992 msgid "--local is ignored" msgstr "--local est ignorΓ©" -#: builtin/clone.c:987 +#: builtin/clone.c:996 #, c-format msgid "Don't know how to clone %s" msgstr "Je ne sais pas cloner %s" -#: builtin/clone.c:1036 builtin/clone.c:1044 +#: builtin/clone.c:1045 builtin/clone.c:1053 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "La branche distante %s n'a pas Γ©tΓ© trouvΓ©e dans le dΓ©pΓ΄t amont %s" -#: builtin/clone.c:1047 +#: builtin/clone.c:1056 msgid "You appear to have cloned an empty repository." msgstr "Vous semblez avoir clonΓ© un dΓ©pΓ΄t vide." @@ -5108,7 +5294,7 @@ msgstr "" msgid "could not lookup commit %s" msgstr "impossible de rechercher le commit %s" -#: builtin/commit.c:702 builtin/shortlog.c:273 +#: builtin/commit.c:702 builtin/shortlog.c:285 #, c-format msgid "(reading log message from standard input)\n" msgstr "(lecture du message de journal depuis l'entrΓ©e standard)\n" @@ -5296,8 +5482,8 @@ msgstr "afficher le statut avec concision" msgid "show branch information" msgstr "afficher l'information de branche" -#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:544 -#: builtin/worktree.c:423 +#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:512 +#: builtin/worktree.c:430 msgid "machine-readable output" msgstr "sortie pour traitement automatique" @@ -5388,8 +5574,8 @@ msgstr "date" msgid "override date for commit" msgstr "remplacer la date pour la validation" -#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:392 -#: builtin/notes.c:555 builtin/tag.c:349 +#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:395 +#: builtin/notes.c:558 builtin/tag.c:349 msgid "message" msgstr "message" @@ -5425,7 +5611,7 @@ msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "" "Γ prΓ©sent je suis l'auteur de la validation (utilisΓ© avec -C/-c/--amend)" -#: builtin/commit.c:1588 builtin/log.c:1216 builtin/revert.c:86 +#: builtin/commit.c:1588 builtin/log.c:1219 builtin/revert.c:86 msgid "add Signed-off-by:" msgstr "ajouter une entrΓ©e Signed-off-by :" @@ -5449,7 +5635,7 @@ msgstr "comment Γ©liminer les espaces et les commentaires # du message" msgid "include status in commit message template" msgstr "inclure le statut dans le modΓ¨le de message de validation" -#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:156 +#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:160 #: builtin/revert.c:93 msgid "GPG sign commit" msgstr "signer la validation avec GPG" @@ -5540,140 +5726,146 @@ msgstr "" "new_index. VΓ©rifiez que le disque n'est pas plein ou que le quota\n" "n'a pas Γ©tΓ© dΓ©passΓ©, puis lancez \"git reset HEAD\" pour rΓ©parer." -#: builtin/config.c:8 +#: builtin/config.c:9 msgid "git config [<options>]" msgstr "git config [<options>]" -#: builtin/config.c:54 +#: builtin/config.c:56 msgid "Config file location" msgstr "Emplacement du fichier de configuration" -#: builtin/config.c:55 +#: builtin/config.c:57 msgid "use global config file" msgstr "utiliser les fichier de configuration global" -#: builtin/config.c:56 +#: builtin/config.c:58 msgid "use system config file" msgstr "utiliser le fichier de configuration du systΓ¨me" -#: builtin/config.c:57 +#: builtin/config.c:59 msgid "use repository config file" msgstr "utiliser le fichier de configuration du dΓ©pΓ΄t" -#: builtin/config.c:58 +#: builtin/config.c:60 msgid "use given config file" msgstr "utiliser le fichier de configuration spΓ©cifiΓ©" -#: builtin/config.c:59 +#: builtin/config.c:61 msgid "blob-id" msgstr "blob-id" -#: builtin/config.c:59 +#: builtin/config.c:61 msgid "read config from given blob object" msgstr "lire la configuration depuis l'objet blob fourni" -#: builtin/config.c:60 +#: builtin/config.c:62 msgid "Action" msgstr "Action" -#: builtin/config.c:61 +#: builtin/config.c:63 msgid "get value: name [value-regex]" msgstr "obtenir la valeur : nom [regex-de-valeur]" -#: builtin/config.c:62 +#: builtin/config.c:64 msgid "get all values: key [value-regex]" msgstr "obtenir toutes les valeurs : clΓ© [regex-de-valeur]" -#: builtin/config.c:63 +#: builtin/config.c:65 msgid "get values for regexp: name-regex [value-regex]" msgstr "obtenir les valeur pour la regexp : regex-de-nom [regex-de-valeur]" -#: builtin/config.c:64 +#: builtin/config.c:66 msgid "get value specific for the URL: section[.var] URL" msgstr "obtenir la valeur spΓ©cifique pour l'URL : section[.var] URL" -#: builtin/config.c:65 +#: builtin/config.c:67 msgid "replace all matching variables: name value [value_regex]" msgstr "" "remplacer toutes les variables correspondant : nom valeur [regex-de-valeur]" -#: builtin/config.c:66 +#: builtin/config.c:68 msgid "add a new variable: name value" msgstr "ajouter une nouvelle variable : nom valeur" -#: builtin/config.c:67 +#: builtin/config.c:69 msgid "remove a variable: name [value-regex]" msgstr "supprimer une variable : nom [regex-de-valeur]" -#: builtin/config.c:68 +#: builtin/config.c:70 msgid "remove all matches: name [value-regex]" msgstr "supprimer toutes les correspondances nom [regex-de-valeur]" -#: builtin/config.c:69 +#: builtin/config.c:71 msgid "rename section: old-name new-name" msgstr "renommer une section : ancien-nom nouveau-nom" -#: builtin/config.c:70 +#: builtin/config.c:72 msgid "remove a section: name" msgstr "supprimer une section : nom" -#: builtin/config.c:71 +#: builtin/config.c:73 msgid "list all" msgstr "afficher tout" -#: builtin/config.c:72 +#: builtin/config.c:74 msgid "open an editor" msgstr "ouvrir un Γ©diteur" -#: builtin/config.c:73 +#: builtin/config.c:75 msgid "find the color configured: slot [default]" msgstr "trouver la couleur configurΓ©e : slot [par dΓ©faut]" -#: builtin/config.c:74 +#: builtin/config.c:76 msgid "find the color setting: slot [stdout-is-tty]" msgstr "trouver le rΓ©glage de la couleur : slot [stdout-est-tty]" -#: builtin/config.c:75 +#: builtin/config.c:77 msgid "Type" msgstr "Type" -#: builtin/config.c:76 +#: builtin/config.c:78 msgid "value is \"true\" or \"false\"" msgstr "la valeur est \"true\" (vrai) ou \"false\" (faux)" -#: builtin/config.c:77 +#: builtin/config.c:79 msgid "value is decimal number" msgstr "la valeur est un nombre dΓ©cimal" -#: builtin/config.c:78 +#: builtin/config.c:80 msgid "value is --bool or --int" msgstr "la valeur est --bool ou --int" -#: builtin/config.c:79 +#: builtin/config.c:81 msgid "value is a path (file or directory name)" msgstr "la valeur est un chemin (vers un fichier ou un rΓ©pertoire)" -#: builtin/config.c:80 +#: builtin/config.c:82 msgid "Other" msgstr "Autre" -#: builtin/config.c:81 +#: builtin/config.c:83 msgid "terminate values with NUL byte" msgstr "terminer les valeurs avec un caractΓ¨re NUL" -#: builtin/config.c:82 +#: builtin/config.c:84 msgid "show variable names only" msgstr "n'afficher que les noms de variable" -#: builtin/config.c:83 +#: builtin/config.c:85 msgid "respect include directives on lookup" msgstr "respecter les directives d'inclusion lors de la recherche" -#: builtin/config.c:303 +#: builtin/config.c:86 +msgid "show origin of config (file, standard input, blob, command line)" +msgstr "" +"afficher l'origine de la configuration (fichier, entrΓ©e standard, blob, " +"ligne de commande)" + +#: builtin/config.c:328 msgid "unable to parse default color value" msgstr "impossible de lire la valeur de couleur par dΓ©faut" -#: builtin/config.c:441 +#: builtin/config.c:469 #, c-format msgid "" "# This is Git's per-user configuration file.\n" @@ -5688,7 +5880,7 @@ msgstr "" "#\tname = %s\n" "#\temail = %s\n" -#: builtin/config.c:575 +#: builtin/config.c:611 #, c-format msgid "cannot create configuration file %s" msgstr "crΓ©ation impossible du fichier de configuration '%s'" @@ -5941,164 +6133,168 @@ msgstr "git fetch --multiple [<options>] [(<dΓ©pΓ΄t> | <groupe>)...]" msgid "git fetch --all [<options>]" msgstr "git fetch --all [<options>]" -#: builtin/fetch.c:90 builtin/pull.c:162 +#: builtin/fetch.c:92 builtin/pull.c:166 msgid "fetch from all remotes" msgstr "rΓ©cupΓ©rer depuis tous le dΓ©pΓ΄ts distants" -#: builtin/fetch.c:92 builtin/pull.c:165 +#: builtin/fetch.c:94 builtin/pull.c:169 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "ajouter Γ .git/FETCH_HEAD au lieu de l'Γ©craser" -#: builtin/fetch.c:94 builtin/pull.c:168 +#: builtin/fetch.c:96 builtin/pull.c:172 msgid "path to upload pack on remote end" msgstr "chemin vers lequel tΓ©lΓ©charger le paquet sur le poste distant" -#: builtin/fetch.c:95 builtin/pull.c:170 +#: builtin/fetch.c:97 builtin/pull.c:174 msgid "force overwrite of local branch" msgstr "forcer l'Γ©crasement de la branche locale" -#: builtin/fetch.c:97 +#: builtin/fetch.c:99 msgid "fetch from multiple remotes" msgstr "rΓ©cupΓ©rer depuis plusieurs dΓ©pΓ΄ts distants" -#: builtin/fetch.c:99 builtin/pull.c:172 +#: builtin/fetch.c:101 builtin/pull.c:176 msgid "fetch all tags and associated objects" msgstr "rΓ©cupΓ©rer toutes les Γ©tiquettes et leurs objets associΓ©s" -#: builtin/fetch.c:101 +#: builtin/fetch.c:103 msgid "do not fetch all tags (--no-tags)" msgstr "ne pas rΓ©cupΓ©rer toutes les Γ©tiquettes (--no-tags)" -#: builtin/fetch.c:103 builtin/pull.c:175 +#: builtin/fetch.c:105 +msgid "number of submodules fetched in parallel" +msgstr "nombre de sous-modules rΓ©cupΓ©rΓ©s en parallΓ¨le" + +#: builtin/fetch.c:107 builtin/pull.c:179 msgid "prune remote-tracking branches no longer on remote" msgstr "" "Γ©liminer les branches de suivi distant si la branche n'existe plus dans le " "dΓ©pΓ΄t distant" -#: builtin/fetch.c:104 builtin/pull.c:178 +#: builtin/fetch.c:108 builtin/pull.c:182 msgid "on-demand" msgstr "Γ la demande" -#: builtin/fetch.c:105 builtin/pull.c:179 +#: builtin/fetch.c:109 builtin/pull.c:183 msgid "control recursive fetching of submodules" msgstr "contrΓ΄ler la rΓ©cupΓ©ration rΓ©cursive dans les sous-modules" -#: builtin/fetch.c:109 builtin/pull.c:184 +#: builtin/fetch.c:113 builtin/pull.c:191 msgid "keep downloaded pack" msgstr "conserver le paquet tΓ©lΓ©chargΓ©" -#: builtin/fetch.c:111 +#: builtin/fetch.c:115 msgid "allow updating of HEAD ref" msgstr "permettre la mise Γ jour de la rΓ©fΓ©rence HEAD" -#: builtin/fetch.c:114 builtin/pull.c:187 +#: builtin/fetch.c:118 builtin/pull.c:194 msgid "deepen history of shallow clone" msgstr "approfondir l'historique d'un clone superficiel" -#: builtin/fetch.c:116 builtin/pull.c:190 +#: builtin/fetch.c:120 builtin/pull.c:197 msgid "convert to a complete repository" msgstr "convertir en un dΓ©pΓ΄t complet" -#: builtin/fetch.c:118 builtin/log.c:1233 +#: builtin/fetch.c:122 builtin/log.c:1236 msgid "dir" -msgstr "dir" +msgstr "rΓ©pertoire" -#: builtin/fetch.c:119 +#: builtin/fetch.c:123 msgid "prepend this to submodule path output" msgstr "prΓ©fixer ceci Γ la sortie du chemin du sous-module" -#: builtin/fetch.c:122 +#: builtin/fetch.c:126 msgid "default mode for recursion" msgstr "mode par dΓ©faut pour la rΓ©cursion" -#: builtin/fetch.c:124 builtin/pull.c:193 +#: builtin/fetch.c:128 builtin/pull.c:200 msgid "accept refs that update .git/shallow" msgstr "accepter les rΓ©fΓ©rences qui mettent Γ jour .git/shallow" -#: builtin/fetch.c:125 builtin/pull.c:195 +#: builtin/fetch.c:129 builtin/pull.c:202 msgid "refmap" msgstr "correspondance de rΓ©fΓ©rence" -#: builtin/fetch.c:126 builtin/pull.c:196 +#: builtin/fetch.c:130 builtin/pull.c:203 msgid "specify fetch refmap" msgstr "spΓ©cifier une correspondance de rΓ©fΓ©rence pour la rΓ©cupΓ©ration" -#: builtin/fetch.c:378 +#: builtin/fetch.c:386 msgid "Couldn't find remote ref HEAD" msgstr "impossible de trouver la rΓ©fΓ©rence HEAD distante" -#: builtin/fetch.c:458 +#: builtin/fetch.c:466 #, c-format msgid "object %s not found" msgstr "objet %s non trouvΓ©" -#: builtin/fetch.c:463 +#: builtin/fetch.c:471 msgid "[up to date]" msgstr "[Γ jour]" -#: builtin/fetch.c:477 +#: builtin/fetch.c:485 #, c-format msgid "! %-*s %-*s -> %s (can't fetch in current branch)" msgstr "! %-*s %-*s -> %s (impossible de rΓ©cupΓ©rer la branche actuelle)" -#: builtin/fetch.c:478 builtin/fetch.c:566 +#: builtin/fetch.c:486 builtin/fetch.c:574 msgid "[rejected]" msgstr "[rejetΓ©]" -#: builtin/fetch.c:489 +#: builtin/fetch.c:497 msgid "[tag update]" msgstr "[mise Γ jour de l'Γ©tiquette]" -#: builtin/fetch.c:491 builtin/fetch.c:526 builtin/fetch.c:544 +#: builtin/fetch.c:499 builtin/fetch.c:534 builtin/fetch.c:552 msgid " (unable to update local ref)" msgstr " (impossible de mettre Γ jour la rΓ©fΓ©rence locale)" -#: builtin/fetch.c:509 +#: builtin/fetch.c:517 msgid "[new tag]" msgstr "[nouvelle Γ©tiquette]" -#: builtin/fetch.c:512 +#: builtin/fetch.c:520 msgid "[new branch]" msgstr "[nouvelle branche]" -#: builtin/fetch.c:515 +#: builtin/fetch.c:523 msgid "[new ref]" msgstr "[nouvelle rΓ©fΓ©rence]" -#: builtin/fetch.c:561 +#: builtin/fetch.c:569 msgid "unable to update local ref" msgstr "impossible de mettre Γ jour la rΓ©fΓ©rence locale" -#: builtin/fetch.c:561 +#: builtin/fetch.c:569 msgid "forced update" msgstr "mise Γ jour forcΓ©e" -#: builtin/fetch.c:568 +#: builtin/fetch.c:576 msgid "(non-fast-forward)" msgstr "(pas d'avance rapide)" -#: builtin/fetch.c:602 builtin/fetch.c:843 +#: builtin/fetch.c:610 builtin/fetch.c:851 #, c-format msgid "cannot open %s: %s\n" msgstr "impossible d'ouvrir %s : %s\n" -#: builtin/fetch.c:611 +#: builtin/fetch.c:619 #, c-format msgid "%s did not send all necessary objects\n" msgstr "%s n'a pas envoyΓ© tous les objets nΓ©cessaires\n" -#: builtin/fetch.c:629 +#: builtin/fetch.c:637 #, c-format msgid "reject %s because shallow roots are not allowed to be updated" msgstr "" "%s rejetΓ© parce que les racines superficielles ne sont pas mises Γ jour" -#: builtin/fetch.c:716 builtin/fetch.c:808 +#: builtin/fetch.c:724 builtin/fetch.c:816 #, c-format msgid "From %.*s\n" msgstr "Depuis %.*s\n" -#: builtin/fetch.c:727 +#: builtin/fetch.c:735 #, c-format msgid "" "some local refs could not be updated; try running\n" @@ -6107,55 +6303,55 @@ msgstr "" "des rΓ©fΓ©rences locales n'ont pas pu Γͺtre mises Γ jour ; essayez de lancer\n" " 'git remote prune %s' pour supprimer des branches anciennes en conflit" -#: builtin/fetch.c:779 +#: builtin/fetch.c:787 #, c-format msgid " (%s will become dangling)" msgstr " (%s sera en suspens)" -#: builtin/fetch.c:780 +#: builtin/fetch.c:788 #, c-format msgid " (%s has become dangling)" msgstr " (%s est devenu en suspens)" -#: builtin/fetch.c:812 +#: builtin/fetch.c:820 msgid "[deleted]" msgstr "[supprimΓ©]" -#: builtin/fetch.c:813 builtin/remote.c:1040 +#: builtin/fetch.c:821 builtin/remote.c:1025 msgid "(none)" msgstr "(aucun(e))" -#: builtin/fetch.c:833 +#: builtin/fetch.c:841 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "Refus de rΓ©cupΓ©rer dans la branche courant %s d'un dΓ©pΓ΄t non nu" -#: builtin/fetch.c:852 +#: builtin/fetch.c:860 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "La valeur \"%2$s\" de l'option \"%1$s\" est invalide pour %3$s" -#: builtin/fetch.c:855 +#: builtin/fetch.c:863 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "L'option \"%s\" est ignorΓ©e pour %s\n" -#: builtin/fetch.c:911 +#: builtin/fetch.c:920 #, c-format msgid "Don't know how to fetch from %s" msgstr "Je ne sais pas rΓ©cupΓ©rer depuis %s" -#: builtin/fetch.c:1072 +#: builtin/fetch.c:1080 #, c-format msgid "Fetching %s\n" msgstr "RΓ©cupΓ©ration de %s\n" -#: builtin/fetch.c:1074 builtin/remote.c:96 +#: builtin/fetch.c:1082 builtin/remote.c:96 #, c-format msgid "Could not fetch %s" msgstr "Impossible de rΓ©cupΓ©rer %s" -#: builtin/fetch.c:1092 +#: builtin/fetch.c:1100 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." @@ -6163,32 +6359,32 @@ msgstr "" "Aucun dΓ©pΓ΄t distant spΓ©cifiΓ©. Veuillez spΓ©cifier une URL ou un nom\n" "distant depuis lesquels les nouvelles rΓ©visions devraient Γͺtre rΓ©cupΓ©rΓ©es." -#: builtin/fetch.c:1115 +#: builtin/fetch.c:1123 msgid "You need to specify a tag name." msgstr "Vous devez spΓ©cifier un nom d'Γ©tiquette." -#: builtin/fetch.c:1157 +#: builtin/fetch.c:1165 msgid "--depth and --unshallow cannot be used together" msgstr "--depth et --unshallow ne peuvent pas Γͺtre utilisΓ©s ensemble" -#: builtin/fetch.c:1159 +#: builtin/fetch.c:1167 msgid "--unshallow on a complete repository does not make sense" msgstr "--unshallow sur un dΓ©pΓ΄t complet n'a pas de sens" -#: builtin/fetch.c:1179 +#: builtin/fetch.c:1187 msgid "fetch --all does not take a repository argument" msgstr "fetch --all n'accepte pas d'argument de dΓ©pΓ΄t" -#: builtin/fetch.c:1181 +#: builtin/fetch.c:1189 msgid "fetch --all does not make sense with refspecs" msgstr "fetch --all n'a pas de sens avec des spΓ©cifications de rΓ©fΓ©rence" -#: builtin/fetch.c:1192 +#: builtin/fetch.c:1200 #, c-format msgid "No such remote or remote group: %s" msgstr "distant ou groupe distant inexistant : %s" -#: builtin/fetch.c:1200 +#: builtin/fetch.c:1208 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "" "La rΓ©cupΓ©ration d'un groupe et les spΓ©cifications de rΓ©fΓ©rence n'ont pas de " @@ -6421,233 +6617,247 @@ msgstr "" msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]" msgstr "git grep [<options>] [-e] <motif> [<rΓ©vision>...] [[--] <chemin>...]" -#: builtin/grep.c:218 +#: builtin/grep.c:219 #, c-format msgid "grep: failed to create thread: %s" msgstr "grep : Γ©chec de crΓ©ation du fil: %s" -#: builtin/grep.c:441 builtin/grep.c:476 +#: builtin/grep.c:277 +#, c-format +msgid "invalid number of threads specified (%d) for %s" +msgstr "nombre de fils spΓ©cifiΓ© invalide (%d) pour %s" + +#: builtin/grep.c:452 builtin/grep.c:487 #, c-format msgid "unable to read tree (%s)" msgstr "impossible de lire l'arbre (%s)" -#: builtin/grep.c:491 +#: builtin/grep.c:502 #, c-format msgid "unable to grep from object of type %s" msgstr "impossible de faire un grep sur un objet de type %s" -#: builtin/grep.c:547 +#: builtin/grep.c:558 #, c-format msgid "switch `%c' expects a numerical value" msgstr "l'option '%c' attend un valeur numΓ©rique" -#: builtin/grep.c:564 +#: builtin/grep.c:575 #, c-format msgid "cannot open '%s'" msgstr "impossible d'ouvrir '%s'" -#: builtin/grep.c:633 +#: builtin/grep.c:644 msgid "search in index instead of in the work tree" msgstr "rechercher dans l'index plutΓ΄t que dans la copie de travail" -#: builtin/grep.c:635 +#: builtin/grep.c:646 msgid "find in contents not managed by git" msgstr "rechercher dans les contenus non gΓ©rΓ©s par git" -#: builtin/grep.c:637 +#: builtin/grep.c:648 msgid "search in both tracked and untracked files" msgstr "rechercher dans les fichiers suivis et non-suivis" -#: builtin/grep.c:639 +#: builtin/grep.c:650 msgid "ignore files specified via '.gitignore'" msgstr "ignorer les fichiers spΓ©cifiΓ©s via '.gitignore'" -#: builtin/grep.c:642 +#: builtin/grep.c:653 msgid "show non-matching lines" msgstr "afficher les lignes qui ne correspondent pas" -#: builtin/grep.c:644 +#: builtin/grep.c:655 msgid "case insensitive matching" msgstr "correspondance insensible Γ la casse" -#: builtin/grep.c:646 +#: builtin/grep.c:657 msgid "match patterns only at word boundaries" msgstr "rechercher les motifs aux sΓ©parateurs de mots" -#: builtin/grep.c:648 +#: builtin/grep.c:659 msgid "process binary files as text" msgstr "traiter les fichiers binaires comme texte" -#: builtin/grep.c:650 +#: builtin/grep.c:661 msgid "don't match patterns in binary files" msgstr "ne pas chercher les motifs dans les fichiers binaires" -#: builtin/grep.c:653 +#: builtin/grep.c:664 msgid "process binary files with textconv filters" msgstr "traiter les fichiers binaires avec les filtres textconv" -#: builtin/grep.c:655 +#: builtin/grep.c:666 msgid "descend at most <depth> levels" msgstr "descendre au plus de <profondeur> dans l'arborescence" -#: builtin/grep.c:659 +#: builtin/grep.c:670 msgid "use extended POSIX regular expressions" msgstr "utiliser des expressions rΓ©guliΓ¨res Γ©tendues POSIX" -#: builtin/grep.c:662 +#: builtin/grep.c:673 msgid "use basic POSIX regular expressions (default)" msgstr "utiliser des expressions rΓ©guliΓ¨res basiques POSIX (par dΓ©faut)" -#: builtin/grep.c:665 +#: builtin/grep.c:676 msgid "interpret patterns as fixed strings" msgstr "interprΓ©ter les motifs comme de chaΓnes fixes" -#: builtin/grep.c:668 +#: builtin/grep.c:679 msgid "use Perl-compatible regular expressions" msgstr "utiliser des expressions rΓ©guliΓ¨res compatibles avec Perl" -#: builtin/grep.c:671 +#: builtin/grep.c:682 msgid "show line numbers" msgstr "afficher les numΓ©ros de ligne" -#: builtin/grep.c:672 +#: builtin/grep.c:683 msgid "don't show filenames" msgstr "ne pas pas afficher les noms de fichier" -#: builtin/grep.c:673 +#: builtin/grep.c:684 msgid "show filenames" msgstr "afficher les noms de fichier" -#: builtin/grep.c:675 +#: builtin/grep.c:686 msgid "show filenames relative to top directory" msgstr "afficher les noms de fichiers relativement au rΓ©pertoire de base" -#: builtin/grep.c:677 +#: builtin/grep.c:688 msgid "show only filenames instead of matching lines" msgstr "n'afficher que les noms de fichiers au lieu des lignes correspondant" -#: builtin/grep.c:679 +#: builtin/grep.c:690 msgid "synonym for --files-with-matches" msgstr "synonyme pour --files-with-matches" -#: builtin/grep.c:682 +#: builtin/grep.c:693 msgid "show only the names of files without match" msgstr "n'afficher que les noms des fichiers sans correspondance" -#: builtin/grep.c:684 +#: builtin/grep.c:695 msgid "print NUL after filenames" msgstr "imprimer une caractΓ¨re NUL aprΓ¨s le noms de fichier" -#: builtin/grep.c:686 +#: builtin/grep.c:697 msgid "show the number of matches instead of matching lines" msgstr "afficher le nombre de correspondances au lieu des lignes correspondant" -#: builtin/grep.c:687 +#: builtin/grep.c:698 msgid "highlight matches" msgstr "mettre en Γ©vidence les correspondances" -#: builtin/grep.c:689 +#: builtin/grep.c:700 msgid "print empty line between matches from different files" msgstr "" "imprimer une ligne vide entre les correspondances de fichiers diffΓ©rents" -#: builtin/grep.c:691 +#: builtin/grep.c:702 msgid "show filename only once above matches from same file" msgstr "" "afficher le nom de fichier une fois au dessus des correspondances du mΓͺme " "fichier" -#: builtin/grep.c:694 +#: builtin/grep.c:705 msgid "show <n> context lines before and after matches" msgstr "afficher <n> lignes de contexte avant et aprΓ¨s les correspondances" -#: builtin/grep.c:697 +#: builtin/grep.c:708 msgid "show <n> context lines before matches" msgstr "afficher <n> lignes de contexte avant les correspondances" -#: builtin/grep.c:699 +#: builtin/grep.c:710 msgid "show <n> context lines after matches" msgstr "afficher <n> lignes de contexte aprΓ¨s les correspondances" -#: builtin/grep.c:700 +#: builtin/grep.c:712 +msgid "use <n> worker threads" +msgstr "utiliser <n> fils de travail" + +#: builtin/grep.c:713 msgid "shortcut for -C NUM" msgstr "raccourci pour -C NUM" -#: builtin/grep.c:703 +#: builtin/grep.c:716 msgid "show a line with the function name before matches" msgstr "" "afficher une ligne avec le nom de la fonction avant les correspondances" -#: builtin/grep.c:705 +#: builtin/grep.c:718 msgid "show the surrounding function" msgstr "afficher la fonction contenante" -#: builtin/grep.c:708 +#: builtin/grep.c:721 msgid "read patterns from file" msgstr "lire les motifs depuis fichier" -#: builtin/grep.c:710 +#: builtin/grep.c:723 msgid "match <pattern>" msgstr "rechercher <motif>" -#: builtin/grep.c:712 +#: builtin/grep.c:725 msgid "combine patterns specified with -e" msgstr "combiner les motifs spΓ©cifiΓ©s par -e" -#: builtin/grep.c:724 +#: builtin/grep.c:737 msgid "indicate hit with exit status without output" msgstr "" "indiquer des correspondances avec le code de sortie mais sans rien afficher" -#: builtin/grep.c:726 +#: builtin/grep.c:739 msgid "show only matches from files that match all patterns" msgstr "" "n'afficher que les correspondances de fichiers qui correspondent Γ tous les " "motifs" -#: builtin/grep.c:728 +#: builtin/grep.c:741 msgid "show parse tree for grep expression" msgstr "afficher l'arbre d'analyse pour le motif grep" -#: builtin/grep.c:732 +#: builtin/grep.c:745 msgid "pager" msgstr "pagineur" -#: builtin/grep.c:732 +#: builtin/grep.c:745 msgid "show matching files in the pager" msgstr "afficher les fichiers correspondant dans le pagineur" -#: builtin/grep.c:735 +#: builtin/grep.c:748 msgid "allow calling of grep(1) (ignored by this build)" msgstr "permettre l'appel de grep(1) (ignorΓ© par ce build)" -#: builtin/grep.c:793 +#: builtin/grep.c:811 msgid "no pattern given." msgstr "aucun motif fourni." -#: builtin/grep.c:851 +#: builtin/grep.c:843 builtin/index-pack.c:1475 +#, c-format +msgid "invalid number of threads specified (%d)" +msgstr "nombre de fils spΓ©cifiΓ© invalide (%d)" + +#: builtin/grep.c:873 msgid "--open-files-in-pager only works on the worktree" msgstr "--open-files-in-pager ne fonctionne que sur la copie de travail" -#: builtin/grep.c:877 +#: builtin/grep.c:899 msgid "--cached or --untracked cannot be used with --no-index." msgstr "--cached ou --untracked ne peuvent pas Γͺtre utilisΓ©s avec --no-index." -#: builtin/grep.c:882 +#: builtin/grep.c:904 msgid "--no-index or --untracked cannot be used with revs." msgstr "" "--no-index ou --untracked ne peuvent pas Γͺtre utilisΓ©s avec des rΓ©visions." -#: builtin/grep.c:885 +#: builtin/grep.c:907 msgid "--[no-]exclude-standard cannot be used for tracked contents." msgstr "" "--[no-]exclude-standard ne peut pas Γͺtre utilisΓ© avec du contenu suivi." -#: builtin/grep.c:893 +#: builtin/grep.c:915 msgid "both --cached and trees are given." msgstr "--cached et des arbres sont fournis en mΓͺme temps." -#: builtin/hash-object.c:80 +#: builtin/hash-object.c:81 msgid "" "git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] " "[--] <file>..." @@ -6655,38 +6865,38 @@ msgstr "" "git hash-object [-t <type>] [-w] [--path=<fichier> | --no-filters] [--stdin] " "[--] <fichier>..." -#: builtin/hash-object.c:81 +#: builtin/hash-object.c:82 msgid "git hash-object --stdin-paths" msgstr "git hash-object --stdin-paths" -#: builtin/hash-object.c:92 +#: builtin/hash-object.c:93 msgid "type" msgstr "type" -#: builtin/hash-object.c:92 +#: builtin/hash-object.c:93 msgid "object type" msgstr "type d'objet" -#: builtin/hash-object.c:93 +#: builtin/hash-object.c:94 msgid "write the object into the object database" msgstr "Γ©crire l'objet dans la base de donnΓ©e d'objets" -#: builtin/hash-object.c:95 +#: builtin/hash-object.c:96 msgid "read the object from stdin" msgstr "lire l'objet depuis l'entrΓ©e standard" -#: builtin/hash-object.c:97 +#: builtin/hash-object.c:98 msgid "store file as is without filters" msgstr "stocker le fichier tel quel sans filtrage" -#: builtin/hash-object.c:98 +#: builtin/hash-object.c:99 msgid "" "just hash any random garbage to create corrupt objects for debugging Git" msgstr "" "juste hasher n'importe quel contenu pour crΓ©er des objets corrompus pour " "debugger Git" -#: builtin/hash-object.c:99 +#: builtin/hash-object.c:100 msgid "process file as it were from this path" msgstr "traiter le fichier comme s'il venait de ce chemin" @@ -6737,7 +6947,7 @@ msgstr "la version d'emacsclient '%d' est trop ancienne (<22)." msgid "failed to exec '%s': %s" msgstr "Γ©chec de l'exΓ©cution de '%s' : %s" -#: builtin/help.c:208 +#: builtin/help.c:205 #, c-format msgid "" "'%s': path for unsupported man viewer.\n" @@ -6746,7 +6956,7 @@ msgstr "" "'%s' : chemin pour l'utilitaire de visualisation de manuel non supportΓ©.\n" "Veuillez utiliser plutΓ΄t 'man.<outil>.cmd'." -#: builtin/help.c:220 +#: builtin/help.c:217 #, c-format msgid "" "'%s': cmd for supported man viewer.\n" @@ -6755,62 +6965,62 @@ msgstr "" "'%s' : chemin pour l'utilitaire de visualisation de manuel supportΓ©.\n" "Veuillez utiliser plutΓ΄t 'man.<outil>.cmd'." -#: builtin/help.c:337 +#: builtin/help.c:334 #, c-format msgid "'%s': unknown man viewer." msgstr "'%s' : visualiseur de manuel inconnu." -#: builtin/help.c:354 +#: builtin/help.c:351 msgid "no man viewer handled the request" msgstr "aucun visualiseur de manuel n'a pris en charge la demande" -#: builtin/help.c:362 +#: builtin/help.c:359 msgid "no info viewer handled the request" msgstr "aucun visualiseur de 'info' n'a pris en charge la demande" -#: builtin/help.c:411 +#: builtin/help.c:408 msgid "Defining attributes per path" msgstr "DΓ©finition des attributs par chemin" -#: builtin/help.c:412 +#: builtin/help.c:409 msgid "Everyday Git With 20 Commands Or So" msgstr "Git de tous les jours avec Γ peu prΓ¨s 20 commandes" -#: builtin/help.c:413 +#: builtin/help.c:410 msgid "A Git glossary" msgstr "Un glossaire Git" -#: builtin/help.c:414 +#: builtin/help.c:411 msgid "Specifies intentionally untracked files to ignore" msgstr "SpΓ©cifie les fichiers non-suivis Γ ignorer intentionnellement" -#: builtin/help.c:415 +#: builtin/help.c:412 msgid "Defining submodule properties" msgstr "DΓ©finition des propriΓ©tΓ©s de sous-module" -#: builtin/help.c:416 +#: builtin/help.c:413 msgid "Specifying revisions and ranges for Git" msgstr "SpΓ©cification des rΓ©visions et portΓ©es pour Git" -#: builtin/help.c:417 +#: builtin/help.c:414 msgid "A tutorial introduction to Git (for version 1.5.1 or newer)" msgstr "" "Une introduction pratique Γ Git (pour les versions 1.5.1 et supΓ©rieures)" -#: builtin/help.c:418 +#: builtin/help.c:415 msgid "An overview of recommended workflows with Git" msgstr "Un aperΓ§u des flux de travail recommandΓ©s avec Git" -#: builtin/help.c:430 +#: builtin/help.c:427 msgid "The common Git guides are:\n" msgstr "Les guides Git populaires sont : \n" -#: builtin/help.c:451 builtin/help.c:468 +#: builtin/help.c:448 builtin/help.c:465 #, c-format msgid "usage: %s%s" msgstr "usage : %s%s" -#: builtin/help.c:484 +#: builtin/help.c:481 #, c-format msgid "`git %s' is aliased to `%s'" msgstr "`git %s\" est un alias de `%s'" @@ -7047,60 +7257,55 @@ msgstr "impossible de stocker le fichier d'index" msgid "bad pack.indexversion=%<PRIu32>" msgstr "mauvais pack.indexversion=%<PRIu32>" -#: builtin/index-pack.c:1475 -#, c-format -msgid "invalid number of threads specified (%d)" -msgstr "nombre de fils spΓ©cifiΓ© invalide (%d)" - -#: builtin/index-pack.c:1479 builtin/index-pack.c:1663 +#: builtin/index-pack.c:1479 builtin/index-pack.c:1664 #, c-format msgid "no threads support, ignoring %s" msgstr "pas de support des fils, ignore %s" -#: builtin/index-pack.c:1537 +#: builtin/index-pack.c:1538 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "Impossible d'ouvrir le fichier paquet existant '%s'" -#: builtin/index-pack.c:1539 +#: builtin/index-pack.c:1540 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "Impossible d'ouvrir le fichier paquet d'index existant pour '%s'" -#: builtin/index-pack.c:1586 +#: builtin/index-pack.c:1587 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" msgstr[0] "pas un delta : %d objet" msgstr[1] "pas un delta : %d objets" -#: builtin/index-pack.c:1593 +#: builtin/index-pack.c:1594 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" msgstr[0] "longueur chaΓnΓ©e = %d : %lu objet" msgstr[1] "longueur chaΓnΓ©e = %d : %lu objets" -#: builtin/index-pack.c:1623 +#: builtin/index-pack.c:1624 msgid "Cannot come back to cwd" msgstr "Impossible de revenir au rΓ©pertoire de travail courant" -#: builtin/index-pack.c:1675 builtin/index-pack.c:1678 -#: builtin/index-pack.c:1690 builtin/index-pack.c:1694 +#: builtin/index-pack.c:1676 builtin/index-pack.c:1679 +#: builtin/index-pack.c:1691 builtin/index-pack.c:1695 #, c-format msgid "bad %s" msgstr "mauvais %s" -#: builtin/index-pack.c:1708 +#: builtin/index-pack.c:1709 msgid "--fix-thin cannot be used without --stdin" msgstr "--fix-thin ne peut pas Γͺtre utilisΓ© sans --stdin" -#: builtin/index-pack.c:1712 builtin/index-pack.c:1721 +#: builtin/index-pack.c:1713 builtin/index-pack.c:1722 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "le nom de fichier paquet '%s' ne se termine pas par '.pack'" -#: builtin/index-pack.c:1729 +#: builtin/index-pack.c:1730 msgid "--verify with no packfile name given" msgstr "--verify sans nom de fichier paquet donnΓ©" @@ -7227,24 +7432,32 @@ msgstr "Impossible d'accΓ©der Γ l'arbre de travail '%s'" #: builtin/interpret-trailers.c:15 msgid "" -"git interpret-trailers [--trim-empty] [(--trailer <token>[(=|:)<value>])...] " -"[<file>...]" +"git interpret-trailers [--in-place] [--trim-empty] [(--trailer " +"<token>[(=|:)<value>])...] [<file>...]" msgstr "" -"git interpret-trailers [--trim-empty] [(--trailer " +"git interpret-trailers [--in-place] [--trim-empty] [(--trailer " "<symbole>[(=|:)<valeur>])...] [<fichier>...]" -#: builtin/interpret-trailers.c:25 +#: builtin/interpret-trailers.c:26 +msgid "edit files in place" +msgstr "Γ©diter les fichiers sur place" + +#: builtin/interpret-trailers.c:27 msgid "trim empty trailers" msgstr "Γ©liminer les lignes de fin vides" -#: builtin/interpret-trailers.c:26 +#: builtin/interpret-trailers.c:28 msgid "trailer" msgstr "ligne de fin" -#: builtin/interpret-trailers.c:27 +#: builtin/interpret-trailers.c:29 msgid "trailer(s) to add" msgstr "ligne(s) de fin Γ ajouter" +#: builtin/interpret-trailers.c:42 +msgid "no input file given for in-place editing" +msgstr "aucun fichier en entrΓ©e pour l'Γ©diton sur place" + #: builtin/log.c:43 msgid "git log [<options>] [<revision-range>] [[--] <path>...]" msgstr "git log [<options>] [<plage de rΓ©visions>] [[--] <chemin>...]" @@ -7300,226 +7513,226 @@ msgstr "Impossible de lire l'objet %s" msgid "Unknown type: %d" msgstr "Type inconnu : %d" -#: builtin/log.c:714 +#: builtin/log.c:715 msgid "format.headers without value" msgstr "format.headers sans valeur" -#: builtin/log.c:798 +#: builtin/log.c:801 msgid "name of output directory is too long" msgstr "le nom du rΓ©pertoire de sortie est trop long" -#: builtin/log.c:813 +#: builtin/log.c:816 #, c-format msgid "Cannot open patch file %s" msgstr "Impossible d'ouvrir le fichier correctif %s" -#: builtin/log.c:827 +#: builtin/log.c:830 msgid "Need exactly one range." msgstr "Exactement une plage nΓ©cessaire." -#: builtin/log.c:837 +#: builtin/log.c:840 msgid "Not a range." msgstr "Ceci n'est pas une plage." -#: builtin/log.c:943 +#: builtin/log.c:946 msgid "Cover letter needs email format" msgstr "La lettre de motivation doit Γͺtre au format e-mail" -#: builtin/log.c:1022 +#: builtin/log.c:1025 #, c-format msgid "insane in-reply-to: %s" msgstr "in-reply-to aberrant : %s" -#: builtin/log.c:1050 +#: builtin/log.c:1053 msgid "git format-patch [<options>] [<since> | <revision-range>]" msgstr "git format-patch [<options>] [<depuis> | <plage de rΓ©visions>]" -#: builtin/log.c:1095 +#: builtin/log.c:1098 msgid "Two output directories?" msgstr "Deux rΓ©pertoires de sortie ?" -#: builtin/log.c:1211 +#: builtin/log.c:1214 msgid "use [PATCH n/m] even with a single patch" msgstr "utiliser [PATCH n/m] mΓͺme avec un patch unique" -#: builtin/log.c:1214 +#: builtin/log.c:1217 msgid "use [PATCH] even with multiple patches" msgstr "utiliser [PATCH] mΓͺme avec des patchs multiples" -#: builtin/log.c:1218 +#: builtin/log.c:1221 msgid "print patches to standard out" msgstr "afficher les patchs sur la sortie standard" -#: builtin/log.c:1220 +#: builtin/log.c:1223 msgid "generate a cover letter" msgstr "gΓ©nΓ©rer une lettre de motivation" -#: builtin/log.c:1222 +#: builtin/log.c:1225 msgid "use simple number sequence for output file names" msgstr "" "utiliser une sΓ©quence simple de nombres pour les nom des fichiers de sortie" -#: builtin/log.c:1223 +#: builtin/log.c:1226 msgid "sfx" msgstr "sfx" -#: builtin/log.c:1224 +#: builtin/log.c:1227 msgid "use <sfx> instead of '.patch'" msgstr "utiliser <sfx> au lieu de '.patch'" -#: builtin/log.c:1226 +#: builtin/log.c:1229 msgid "start numbering patches at <n> instead of 1" msgstr "dΓ©marrer la numΓ©rotation des patchs Γ <n> au lieu de 1" -#: builtin/log.c:1228 +#: builtin/log.c:1231 msgid "mark the series as Nth re-roll" msgstr "marquer la sΓ©rie comme une NiΓ¨me réédition" -#: builtin/log.c:1230 +#: builtin/log.c:1233 msgid "Use [<prefix>] instead of [PATCH]" msgstr "utiliser [<prΓ©fixe>] au lieu de [PATCH]" -#: builtin/log.c:1233 +#: builtin/log.c:1236 msgid "store resulting files in <dir>" msgstr "stocker les fichiers rΓ©sultats dans <rΓ©pertoire>" -#: builtin/log.c:1236 +#: builtin/log.c:1239 msgid "don't strip/add [PATCH]" msgstr "ne pas retirer/ajouter [PATCH]" -#: builtin/log.c:1239 +#: builtin/log.c:1242 msgid "don't output binary diffs" msgstr "ne pas imprimer les diffs binaires" -#: builtin/log.c:1241 +#: builtin/log.c:1244 msgid "output all-zero hash in From header" msgstr "Γ©crire une empreinte Γ zΓ©ro dans l'entΓͺte From" -#: builtin/log.c:1243 +#: builtin/log.c:1246 msgid "don't include a patch matching a commit upstream" msgstr "ne pas inclure un patch correspondant Γ un commit amont" -#: builtin/log.c:1245 +#: builtin/log.c:1248 msgid "show patch format instead of default (patch + stat)" msgstr "afficher le format du patch au lieu du dΓ©faut (patch + stat)" -#: builtin/log.c:1247 +#: builtin/log.c:1250 msgid "Messaging" msgstr "Communication" -#: builtin/log.c:1248 +#: builtin/log.c:1251 msgid "header" msgstr "en-tΓͺte" -#: builtin/log.c:1249 +#: builtin/log.c:1252 msgid "add email header" msgstr "ajouter l'en-tΓͺte d'e-mail" -#: builtin/log.c:1250 builtin/log.c:1252 +#: builtin/log.c:1253 builtin/log.c:1255 msgid "email" msgstr "e-mail" -#: builtin/log.c:1250 +#: builtin/log.c:1253 msgid "add To: header" msgstr "ajouter l'en-tΓͺte \"To:\"" -#: builtin/log.c:1252 +#: builtin/log.c:1255 msgid "add Cc: header" msgstr "ajouter l'en-tΓͺte \"Cc:\"" -#: builtin/log.c:1254 +#: builtin/log.c:1257 msgid "ident" msgstr "ident" -#: builtin/log.c:1255 +#: builtin/log.c:1258 msgid "set From address to <ident> (or committer ident if absent)" msgstr "" "renseigner l'adresse From Γ <ident> (ou Γ l'ident du validateur si absent)" -#: builtin/log.c:1257 +#: builtin/log.c:1260 msgid "message-id" msgstr "id-message" -#: builtin/log.c:1258 +#: builtin/log.c:1261 msgid "make first mail a reply to <message-id>" msgstr "rΓ©pondre dans le premier message Γ <id-message>" -#: builtin/log.c:1259 builtin/log.c:1262 +#: builtin/log.c:1262 builtin/log.c:1265 msgid "boundary" msgstr "limite" -#: builtin/log.c:1260 +#: builtin/log.c:1263 msgid "attach the patch" msgstr "attacher le patch" -#: builtin/log.c:1263 +#: builtin/log.c:1266 msgid "inline the patch" msgstr "patch Γ l'intΓ©rieur" -#: builtin/log.c:1267 +#: builtin/log.c:1270 msgid "enable message threading, styles: shallow, deep" msgstr "" "activer l'enfilage de message, styles : shallow (superficiel), deep (profond)" -#: builtin/log.c:1269 +#: builtin/log.c:1272 msgid "signature" msgstr "signature" -#: builtin/log.c:1270 +#: builtin/log.c:1273 msgid "add a signature" msgstr "ajouter une signature" -#: builtin/log.c:1272 +#: builtin/log.c:1275 msgid "add a signature from a file" msgstr "ajouter une signature depuis un fichier" -#: builtin/log.c:1273 +#: builtin/log.c:1276 msgid "don't print the patch filenames" msgstr "ne pas afficher les noms de fichiers des patchs" -#: builtin/log.c:1362 +#: builtin/log.c:1365 msgid "-n and -k are mutually exclusive." msgstr "-n et -k sont mutuellement exclusifs." -#: builtin/log.c:1364 +#: builtin/log.c:1367 msgid "--subject-prefix and -k are mutually exclusive." msgstr "--subject-prefix et -k sont mutuellement exclusifs." -#: builtin/log.c:1372 +#: builtin/log.c:1375 msgid "--name-only does not make sense" msgstr "--name-only n'a pas de sens" -#: builtin/log.c:1374 +#: builtin/log.c:1377 msgid "--name-status does not make sense" msgstr "--name-status n'a pas de sens" -#: builtin/log.c:1376 +#: builtin/log.c:1379 msgid "--check does not make sense" msgstr "--check n'a pas de sens" -#: builtin/log.c:1401 +#: builtin/log.c:1407 msgid "standard output, or directory, which one?" msgstr "sortie standard, ou rΓ©pertoire, lequel ?" -#: builtin/log.c:1403 +#: builtin/log.c:1409 #, c-format msgid "Could not create directory '%s'" msgstr "Impossible de crΓ©er le rΓ©pertoire '%s'" -#: builtin/log.c:1500 +#: builtin/log.c:1506 #, c-format msgid "unable to read signature file '%s'" msgstr "lecture du fichier de signature '%s' impossible" -#: builtin/log.c:1563 +#: builtin/log.c:1569 msgid "Failed to create output files" msgstr "Γchec de crΓ©ation des fichiers en sortie" -#: builtin/log.c:1611 +#: builtin/log.c:1617 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" msgstr "git cherry [-v] [<branche_amont> [<head> [<limite>]]]" -#: builtin/log.c:1665 +#: builtin/log.c:1671 #, c-format msgid "" "Could not find a tracked remote branch, please specify <upstream> manually.\n" @@ -7527,106 +7740,158 @@ msgstr "" "Impossible de trouver une branche distante suivie, merci de spΓ©cifier " "<branche_amont> manuellement.\n" -#: builtin/log.c:1676 builtin/log.c:1678 builtin/log.c:1690 +#: builtin/log.c:1682 builtin/log.c:1684 builtin/log.c:1696 #, c-format msgid "Unknown commit %s" msgstr "Commit inconnu %s" -#: builtin/ls-files.c:358 +#: builtin/ls-files.c:378 msgid "git ls-files [<options>] [<file>...]" msgstr "git ls-files [<options>] [<fichier>...]" -#: builtin/ls-files.c:415 +#: builtin/ls-files.c:427 msgid "identify the file status with tags" msgstr "identifier le statut de fichier avec les Γ©tiquettes" -#: builtin/ls-files.c:417 +#: builtin/ls-files.c:429 msgid "use lowercase letters for 'assume unchanged' files" msgstr "utiliser des minuscules pour les fichier 'assumΓ©s inchangΓ©s'" -#: builtin/ls-files.c:419 +#: builtin/ls-files.c:431 msgid "show cached files in the output (default)" msgstr "afficher les fichiers mis en cache dans la sortie (dΓ©faut)" -#: builtin/ls-files.c:421 +#: builtin/ls-files.c:433 msgid "show deleted files in the output" msgstr "afficher les fichiers supprimΓ©s dans la sortie" -#: builtin/ls-files.c:423 +#: builtin/ls-files.c:435 msgid "show modified files in the output" msgstr "afficher les fichiers modifiΓ©s dans la sortie" -#: builtin/ls-files.c:425 +#: builtin/ls-files.c:437 msgid "show other files in the output" msgstr "afficher les autres fichiers dans la sortie" -#: builtin/ls-files.c:427 +#: builtin/ls-files.c:439 msgid "show ignored files in the output" msgstr "afficher les fichiers ignorΓ©s dans la sortie" -#: builtin/ls-files.c:430 +#: builtin/ls-files.c:442 msgid "show staged contents' object name in the output" msgstr "afficher les nom des objets indexΓ©s dans la sortie" -#: builtin/ls-files.c:432 +#: builtin/ls-files.c:444 msgid "show files on the filesystem that need to be removed" msgstr "" "afficher les fichiers du systΓ¨me de fichiers qui ont besoin d'Γͺtre supprimΓ©s" -#: builtin/ls-files.c:434 +#: builtin/ls-files.c:446 msgid "show 'other' directories' names only" msgstr "afficher seulement les noms des rΓ©pertoires 'other'" -#: builtin/ls-files.c:437 +#: builtin/ls-files.c:448 +msgid "show line endings of files" +msgstr "afficher les fins de lignes des fichiers" + +#: builtin/ls-files.c:450 msgid "don't show empty directories" msgstr "ne pas afficher les rΓ©pertoires vides" -#: builtin/ls-files.c:440 +#: builtin/ls-files.c:453 msgid "show unmerged files in the output" msgstr "afficher les fichiers non fusionnΓ©s dans la sortie" -#: builtin/ls-files.c:442 +#: builtin/ls-files.c:455 msgid "show resolve-undo information" msgstr "afficher l'information resolv-undo" -#: builtin/ls-files.c:444 +#: builtin/ls-files.c:457 msgid "skip files matching pattern" msgstr "sauter les fichiers correspondant au motif" -#: builtin/ls-files.c:447 +#: builtin/ls-files.c:460 msgid "exclude patterns are read from <file>" msgstr "les motifs d'exclusion sont lus depuis <fichier>" -#: builtin/ls-files.c:450 +#: builtin/ls-files.c:463 msgid "read additional per-directory exclude patterns in <file>" msgstr "lire des motifs d'exclusion additionnels par rΓ©pertoire dans <fichier>" -#: builtin/ls-files.c:452 +#: builtin/ls-files.c:465 msgid "add the standard git exclusions" msgstr "ajouter les exclusions git standard" -#: builtin/ls-files.c:455 +#: builtin/ls-files.c:468 msgid "make the output relative to the project top directory" msgstr "afficher en relatif par rapport au rΓ©pertoire racine du projet" -#: builtin/ls-files.c:458 +#: builtin/ls-files.c:471 msgid "if any <file> is not in the index, treat this as an error" msgstr "si un <fichier> n'est pas dans l'index, traiter cela comme une erreur" -#: builtin/ls-files.c:459 +#: builtin/ls-files.c:472 msgid "tree-ish" msgstr "arbre ou apparentΓ©" -#: builtin/ls-files.c:460 +#: builtin/ls-files.c:473 msgid "pretend that paths removed since <tree-ish> are still present" msgstr "" "considΓ©rer que les chemins supprimΓ©s depuis <arbre ou apparentΓ©> sont " "toujours prΓ©sents" -#: builtin/ls-files.c:462 +#: builtin/ls-files.c:475 msgid "show debugging data" msgstr "afficher les donnΓ©es de dΓ©bogage" +#: builtin/ls-remote.c:7 +msgid "" +"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n" +" [-q | --quiet] [--exit-code] [--get-url]\n" +" [--symref] [<repository> [<refs>...]]" +msgstr "" +"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n" +" [-q | --quiet] [--exit-code] [--get-url]\n" +" [--symref] [<dΓ©pΓ΄t> [<rΓ©fΓ©rences>...]]" + +#: builtin/ls-remote.c:50 +msgid "do not print remote URL" +msgstr "ne pas afficher les URL distantes" + +#: builtin/ls-remote.c:51 builtin/ls-remote.c:53 +msgid "exec" +msgstr "exΓ©cutable" + +#: builtin/ls-remote.c:52 builtin/ls-remote.c:54 +msgid "path of git-upload-pack on the remote host" +msgstr "chemin vers git-upload-pack sur le serveur distant" + +#: builtin/ls-remote.c:56 +msgid "limit to tags" +msgstr "limiter aux Γ©tiquettes" + +#: builtin/ls-remote.c:57 +msgid "limit to heads" +msgstr "limiter aux heads" + +#: builtin/ls-remote.c:58 +msgid "do not show peeled tags" +msgstr "ne pas afficher les Γ©tiquettes pelΓ©es" + +#: builtin/ls-remote.c:60 +msgid "take url.<base>.insteadOf into account" +msgstr "prendre en compte url.<base>.insteadOf" + +#: builtin/ls-remote.c:62 +msgid "exit with exit code 2 if no matching refs are found" +msgstr "" +"sortir avec un code d'erreur 2 si aucune correspondance de rΓ©fΓ©rence n'est " +"trouvΓ©e" + +#: builtin/ls-remote.c:64 +msgid "show underlying ref in addition to the object pointed by it" +msgstr "afficher la rΓ©f sous-jacente en plus de l'objet pointΓ© par elle" + #: builtin/ls-tree.c:28 msgid "git ls-tree [<options>] <tree-ish> [<path>...]" msgstr "git ls-tree [<options>] <arbre ou apparentΓ©> [<chemin>...]" @@ -7696,33 +7961,33 @@ msgstr "Les stratΓ©gies disponibles sont :" msgid "Available custom strategies are:" msgstr "Les stratΓ©gies personnalisΓ©es sont :" -#: builtin/merge.c:193 builtin/pull.c:119 +#: builtin/merge.c:193 builtin/pull.c:123 msgid "do not show a diffstat at the end of the merge" msgstr "ne pas afficher un diffstat Γ la fin de la fusion" -#: builtin/merge.c:196 builtin/pull.c:122 +#: builtin/merge.c:196 builtin/pull.c:126 msgid "show a diffstat at the end of the merge" msgstr "afficher un diffstat Γ la fin de la fusion" -#: builtin/merge.c:197 builtin/pull.c:125 +#: builtin/merge.c:197 builtin/pull.c:129 msgid "(synonym to --stat)" msgstr "(synonyme de --stat)" -#: builtin/merge.c:199 builtin/pull.c:128 +#: builtin/merge.c:199 builtin/pull.c:132 msgid "add (at most <n>) entries from shortlog to merge commit message" msgstr "" "ajouter (au plus <n>) Γ©lΓ©ments du journal court au message de validation de " "la fusion" -#: builtin/merge.c:202 builtin/pull.c:131 +#: builtin/merge.c:202 builtin/pull.c:135 msgid "create a single commit instead of doing a merge" msgstr "crΓ©er une validation unique au lieu de faire une fusion" -#: builtin/merge.c:204 builtin/pull.c:134 +#: builtin/merge.c:204 builtin/pull.c:138 msgid "perform a commit if the merge succeeds (default)" msgstr "effectuer une validation si la fusion rΓ©ussit (dΓ©faut)" -#: builtin/merge.c:206 builtin/pull.c:137 +#: builtin/merge.c:206 builtin/pull.c:141 msgid "edit message before committing" msgstr "Γ©diter le message avant la validation" @@ -7730,7 +7995,7 @@ msgstr "Γ©diter le message avant la validation" msgid "allow fast-forward (default)" msgstr "autoriser l'avance rapide (dΓ©faut)" -#: builtin/merge.c:209 builtin/pull.c:143 +#: builtin/merge.c:209 builtin/pull.c:147 msgid "abort if fast-forward is not possible" msgstr "abandonner si l'avance rapide n'est pas possible" @@ -7738,20 +8003,20 @@ msgstr "abandonner si l'avance rapide n'est pas possible" msgid "Verify that the named commit has a valid GPG signature" msgstr "VΓ©rifier que la validation a une signature GPG valide" -#: builtin/merge.c:214 builtin/notes.c:767 builtin/pull.c:148 +#: builtin/merge.c:214 builtin/notes.c:770 builtin/pull.c:152 #: builtin/revert.c:89 msgid "strategy" msgstr "stratΓ©gie" -#: builtin/merge.c:215 builtin/pull.c:149 +#: builtin/merge.c:215 builtin/pull.c:153 msgid "merge strategy to use" msgstr "stratΓ©gie de fusion Γ utiliser" -#: builtin/merge.c:216 builtin/pull.c:152 +#: builtin/merge.c:216 builtin/pull.c:156 msgid "option=value" msgstr "option=valeur" -#: builtin/merge.c:217 builtin/pull.c:153 +#: builtin/merge.c:217 builtin/pull.c:157 msgid "option for selected merge strategy" msgstr "option pour la stratΓ©gie de fusion sΓ©lectionnΓ©e" @@ -7790,8 +8055,8 @@ msgstr " (rien Γ compresser)" msgid "Squash commit -- not updating HEAD\n" msgstr "Validation compressΓ©e -- HEAD non mise Γ jour\n" -#: builtin/merge.c:344 builtin/merge.c:763 builtin/merge.c:975 -#: builtin/merge.c:988 +#: builtin/merge.c:344 builtin/merge.c:764 builtin/merge.c:976 +#: builtin/merge.c:989 #, c-format msgid "Could not write to '%s'" msgstr "Impossible d'Γ©crire dans '%s'" @@ -7809,43 +8074,43 @@ msgstr "Finition de SQUASH_MSG" msgid "No merge message -- not updating HEAD\n" msgstr "Pas de message de fusion -- pas de mise Γ jour de HEAD\n" -#: builtin/merge.c:447 +#: builtin/merge.c:448 #, c-format msgid "'%s' does not point to a commit" msgstr "'%s' ne pointe pas sur un commit" -#: builtin/merge.c:537 +#: builtin/merge.c:538 #, c-format msgid "Bad branch.%s.mergeoptions string: %s" msgstr "Mauvaise chaΓne branch.%s.mergeoptions : %s" -#: builtin/merge.c:656 +#: builtin/merge.c:657 msgid "Not handling anything other than two heads merge." msgstr "Impossible de gΓ©rer autre chose que la fusion de deux tΓͺtes." -#: builtin/merge.c:670 +#: builtin/merge.c:671 #, c-format msgid "Unknown option for merge-recursive: -X%s" msgstr "Options inconnue pour merge-recursive : -X%s" -#: builtin/merge.c:683 +#: builtin/merge.c:684 #, c-format msgid "unable to write %s" msgstr "impossible d'Γ©crire %s" -#: builtin/merge.c:772 +#: builtin/merge.c:773 #, c-format msgid "Could not read from '%s'" msgstr "Impossible de lire depuis '%s'" -#: builtin/merge.c:781 +#: builtin/merge.c:782 #, c-format msgid "Not committing merge; use 'git commit' to complete the merge.\n" msgstr "" "Pas de validation de la fusion ; utilisez 'git commit' pour terminer la " "fusion.\n" -#: builtin/merge.c:787 +#: builtin/merge.c:788 #, c-format msgid "" "Please enter a commit message to explain why this merge is necessary,\n" @@ -7862,54 +8127,54 @@ msgstr "" "Les lignes commenΓ§ant par '%c' seront ignorΓ©es, et un message vide\n" "abandonne la validation.\n" -#: builtin/merge.c:811 +#: builtin/merge.c:812 msgid "Empty commit message." msgstr "Message de validation vide." -#: builtin/merge.c:823 +#: builtin/merge.c:824 #, c-format msgid "Wonderful.\n" msgstr "Merveilleux.\n" -#: builtin/merge.c:878 +#: builtin/merge.c:879 #, c-format msgid "Automatic merge failed; fix conflicts and then commit the result.\n" msgstr "" "La fusion automatique a Γ©chouΓ© ; rΓ©glez les conflits et validez le " "rΓ©sultat.\n" -#: builtin/merge.c:894 +#: builtin/merge.c:895 #, c-format msgid "'%s' is not a commit" msgstr "'%s' n'est pas une validation" -#: builtin/merge.c:935 +#: builtin/merge.c:936 msgid "No current branch." msgstr "Pas de branche courante." -#: builtin/merge.c:937 +#: builtin/merge.c:938 msgid "No remote for the current branch." msgstr "Pas de branche distante pour la branche courante." -#: builtin/merge.c:939 +#: builtin/merge.c:940 msgid "No default upstream defined for the current branch." msgstr "Pas de branche amont par dΓ©faut dΓ©finie pour la branche courante." -#: builtin/merge.c:944 +#: builtin/merge.c:945 #, c-format msgid "No remote-tracking branch for %s from %s" msgstr "Pas de branche de suivi pour %s depuis %s" -#: builtin/merge.c:1079 +#: builtin/merge.c:1080 #, c-format msgid "could not close '%s'" msgstr "impossible de fermer '%s'" -#: builtin/merge.c:1206 +#: builtin/merge.c:1207 msgid "There is no merge to abort (MERGE_HEAD missing)." msgstr "Il n'y a pas de fusion Γ abandonner (MERGE_HEAD manquant)." -#: builtin/merge.c:1222 +#: builtin/merge.c:1223 msgid "" "You have not concluded your merge (MERGE_HEAD exists).\n" "Please, commit your changes before you merge." @@ -7917,7 +8182,7 @@ msgstr "" "Vous n'avez pas terminΓ© votre fusion (MERGE_HEAD existe).\n" "Veuillez valider vos modifications avant de pouvoir fusionner." -#: builtin/merge.c:1229 +#: builtin/merge.c:1230 msgid "" "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n" "Please, commit your changes before you merge." @@ -7925,102 +8190,102 @@ msgstr "" "Vous n'avez pas terminΓ© votre picorage (CHERRY_PICK_HEAD existe).\n" "Veuillez valider vos modifications avant de pouvoir fusionner." -#: builtin/merge.c:1232 +#: builtin/merge.c:1233 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)." msgstr "Vous n'avez pas terminΓ© votre picorage (CHERRY_PICK_HEAD existe)." -#: builtin/merge.c:1241 +#: builtin/merge.c:1242 msgid "You cannot combine --squash with --no-ff." msgstr "Vous ne pouvez pas combiner --squash avec --no-ff." -#: builtin/merge.c:1249 +#: builtin/merge.c:1250 msgid "No commit specified and merge.defaultToUpstream not set." msgstr "" "Pas de validation spΓ©cifiΓ©e et merge.defaultToUpstream n'est pas dΓ©fini." -#: builtin/merge.c:1266 +#: builtin/merge.c:1267 msgid "Squash commit into empty head not supported yet" msgstr "La validation compressΓ©e vers une tΓͺte vide n'est pas encore supportΓ©e" -#: builtin/merge.c:1268 +#: builtin/merge.c:1269 msgid "Non-fast-forward commit does not make sense into an empty head" msgstr "Une validation sans avance rapide n'a pas de sens dans une tΓͺte vide" -#: builtin/merge.c:1274 +#: builtin/merge.c:1275 #, c-format msgid "%s - not something we can merge" msgstr "%s - pas possible de fusionner ceci" -#: builtin/merge.c:1276 +#: builtin/merge.c:1277 msgid "Can merge only exactly one commit into empty head" msgstr "" "Possible de fusionner exactement une seule validation dans une tΓͺte vide" -#: builtin/merge.c:1331 +#: builtin/merge.c:1332 #, c-format msgid "Commit %s has an untrusted GPG signature, allegedly by %s." msgstr "La validation %s a une signature GPG non fiable, prΓ©tendument par %s." -#: builtin/merge.c:1334 +#: builtin/merge.c:1335 #, c-format msgid "Commit %s has a bad GPG signature allegedly by %s." msgstr "La validation %s a une mauvaise signature GPG prΓ©tendument par %s." -#: builtin/merge.c:1337 +#: builtin/merge.c:1338 #, c-format msgid "Commit %s does not have a GPG signature." msgstr "La validation %s n'a pas de signature GPG." -#: builtin/merge.c:1340 +#: builtin/merge.c:1341 #, c-format msgid "Commit %s has a good GPG signature by %s\n" msgstr "La validation %s a une signature GPG correcte par %s\n" -#: builtin/merge.c:1423 +#: builtin/merge.c:1424 #, c-format msgid "Updating %s..%s\n" msgstr "Mise Γ jour %s..%s\n" -#: builtin/merge.c:1460 +#: builtin/merge.c:1461 #, c-format msgid "Trying really trivial in-index merge...\n" msgstr "Essai de fusion vraiment triviale dans l'index...\n" -#: builtin/merge.c:1467 +#: builtin/merge.c:1468 #, c-format msgid "Nope.\n" msgstr "Non.\n" -#: builtin/merge.c:1499 +#: builtin/merge.c:1500 msgid "Not possible to fast-forward, aborting." msgstr "Pas possible d'avancer rapidement, abandon." -#: builtin/merge.c:1522 builtin/merge.c:1601 +#: builtin/merge.c:1523 builtin/merge.c:1602 #, c-format msgid "Rewinding the tree to pristine...\n" msgstr "Retour de l'arbre Γ l'original...\n" -#: builtin/merge.c:1526 +#: builtin/merge.c:1527 #, c-format msgid "Trying merge strategy %s...\n" msgstr "Essai de la stratΓ©gie de fusion %s...\n" -#: builtin/merge.c:1592 +#: builtin/merge.c:1593 #, c-format msgid "No merge strategy handled the merge.\n" msgstr "Aucune stratΓ©gie de fusion n'a pris en charge la fusion.\n" -#: builtin/merge.c:1594 +#: builtin/merge.c:1595 #, c-format msgid "Merge with strategy %s failed.\n" msgstr "La fusion avec la stratΓ©gie %s a Γ©chouΓ©.\n" -#: builtin/merge.c:1603 +#: builtin/merge.c:1604 #, c-format msgid "Using the %s to prepare resolving by hand.\n" msgstr "Utilisation de %s pour prΓ©parer la rΓ©solution Γ la main.\n" -#: builtin/merge.c:1615 +#: builtin/merge.c:1616 #, c-format msgid "Automatic merge went well; stopped before committing as requested\n" msgstr "" @@ -8106,19 +8371,19 @@ msgstr "ne pas avertir Γ propos des conflits" msgid "set labels for file1/orig-file/file2" msgstr "dΓ©finir les labels pour fichier1/fichier-orig/fichier2" -#: builtin/mktree.c:64 +#: builtin/mktree.c:65 msgid "git mktree [-z] [--missing] [--batch]" msgstr "git mktree [-z] [--missing] [--batch]" -#: builtin/mktree.c:150 +#: builtin/mktree.c:152 msgid "input is NUL terminated" msgstr "l'entrΓ©e se termine par NUL" -#: builtin/mktree.c:151 builtin/write-tree.c:24 +#: builtin/mktree.c:153 builtin/write-tree.c:24 msgid "allow missing objects" msgstr "autoriser les objets manquants" -#: builtin/mktree.c:152 +#: builtin/mktree.c:154 msgid "allow creation of more than one tree" msgstr "autoriser la crΓ©ation de plus d'un arbre" @@ -8126,92 +8391,92 @@ msgstr "autoriser la crΓ©ation de plus d'un arbre" msgid "git mv [<options>] <source>... <destination>" msgstr "git mv [<options>] <source>... <destination>" -#: builtin/mv.c:69 +#: builtin/mv.c:70 #, c-format msgid "Directory %s is in index and no submodule?" msgstr "Le rΓ©pertoire %s est dans l'index et pourtant aucun sous-module ?" -#: builtin/mv.c:71 +#: builtin/mv.c:72 msgid "Please stage your changes to .gitmodules or stash them to proceed" msgstr "" "Veuillez indexer vos modifications de .gitmodules ou les remiser pour " "continuer" -#: builtin/mv.c:89 +#: builtin/mv.c:90 #, c-format msgid "%.*s is in index" msgstr "%.*s est dans l'index" -#: builtin/mv.c:111 +#: builtin/mv.c:112 msgid "force move/rename even if target exists" msgstr "forcer le dΓ©placement/renommage mΓͺme si la cible existe" -#: builtin/mv.c:112 +#: builtin/mv.c:113 msgid "skip move/rename errors" msgstr "sauter les erreurs de dΓ©placement/renommage" -#: builtin/mv.c:151 +#: builtin/mv.c:152 #, c-format msgid "destination '%s' is not a directory" msgstr "la destination '%s' n'est pas un rΓ©pertoire" -#: builtin/mv.c:162 +#: builtin/mv.c:163 #, c-format msgid "Checking rename of '%s' to '%s'\n" msgstr "VΓ©rification du renommage de '%s' en '%s'\n" -#: builtin/mv.c:166 +#: builtin/mv.c:167 msgid "bad source" msgstr "mauvaise source" -#: builtin/mv.c:169 +#: builtin/mv.c:170 msgid "can not move directory into itself" msgstr "impossible de dΓ©placer un rΓ©pertoire dans lui-mΓͺme" -#: builtin/mv.c:172 +#: builtin/mv.c:173 msgid "cannot move directory over file" msgstr "impossible de dΓ©placer un rΓ©pertoire sur un fichier" -#: builtin/mv.c:181 +#: builtin/mv.c:182 msgid "source directory is empty" msgstr "le rΓ©pertoire source est vide" -#: builtin/mv.c:206 +#: builtin/mv.c:207 msgid "not under version control" msgstr "pas sous le contrΓ΄le de version" -#: builtin/mv.c:209 +#: builtin/mv.c:210 msgid "destination exists" msgstr "la destination existe" -#: builtin/mv.c:217 +#: builtin/mv.c:218 #, c-format msgid "overwriting '%s'" msgstr "Γ©crasement de '%s'" -#: builtin/mv.c:220 +#: builtin/mv.c:221 msgid "Cannot overwrite" msgstr "Impossible d'Γ©craser" -#: builtin/mv.c:223 +#: builtin/mv.c:224 msgid "multiple sources for the same target" msgstr "multiples sources pour la mΓͺme destination" -#: builtin/mv.c:225 +#: builtin/mv.c:226 msgid "destination directory does not exist" msgstr "le rΓ©pertoire de destination n'existe pas" -#: builtin/mv.c:232 +#: builtin/mv.c:233 #, c-format msgid "%s, source=%s, destination=%s" msgstr "%s, source=%s, destination=%s" -#: builtin/mv.c:253 +#: builtin/mv.c:254 #, c-format msgid "Renaming %s to %s\n" msgstr "Renommage de %s en %s\n" -#: builtin/mv.c:256 builtin/remote.c:728 builtin/repack.c:365 +#: builtin/mv.c:257 builtin/remote.c:714 builtin/repack.c:365 #, c-format msgid "renaming '%s' failed" msgstr "le renommage de '%s' a Γ©chouΓ©" @@ -8412,9 +8677,9 @@ msgid "could not open or read '%s'" msgstr "impossible d'ouvrir ou lire '%s'" #: builtin/notes.c:253 builtin/notes.c:304 builtin/notes.c:306 -#: builtin/notes.c:366 builtin/notes.c:421 builtin/notes.c:507 -#: builtin/notes.c:512 builtin/notes.c:590 builtin/notes.c:653 -#: builtin/notes.c:877 builtin/tag.c:456 +#: builtin/notes.c:369 builtin/notes.c:424 builtin/notes.c:510 +#: builtin/notes.c:515 builtin/notes.c:593 builtin/notes.c:656 +#: builtin/notes.c:880 builtin/tag.c:456 #, c-format msgid "Failed to resolve '%s' as a valid ref." msgstr "Impossible de rΓ©soudre '%s' comme une rΓ©fΓ©rence valide." @@ -8429,42 +8694,42 @@ msgstr "Impossible de lire l'objet '%s'." msgid "Cannot read note data from non-blob object '%s'." msgstr "Impossible de lire les informations de note d'un objet non-blob '%s'." -#: builtin/notes.c:359 builtin/notes.c:414 builtin/notes.c:490 -#: builtin/notes.c:502 builtin/notes.c:578 builtin/notes.c:646 -#: builtin/notes.c:942 +#: builtin/notes.c:362 builtin/notes.c:417 builtin/notes.c:493 +#: builtin/notes.c:505 builtin/notes.c:581 builtin/notes.c:649 +#: builtin/notes.c:945 msgid "too many parameters" msgstr "trop de paramΓ¨tres" -#: builtin/notes.c:372 builtin/notes.c:659 +#: builtin/notes.c:375 builtin/notes.c:662 #, c-format msgid "No note found for object %s." msgstr "Pas de note trouvΓ©e pour l'objet %s." -#: builtin/notes.c:393 builtin/notes.c:556 +#: builtin/notes.c:396 builtin/notes.c:559 msgid "note contents as a string" msgstr "contenu de la note sous forme de chaΓne" -#: builtin/notes.c:396 builtin/notes.c:559 +#: builtin/notes.c:399 builtin/notes.c:562 msgid "note contents in a file" msgstr "contenu de la note dans un fichier" -#: builtin/notes.c:399 builtin/notes.c:562 +#: builtin/notes.c:402 builtin/notes.c:565 msgid "reuse and edit specified note object" msgstr "rΓ©utiliser et Γ©diter l'objet de note spΓ©cifiΓ©" -#: builtin/notes.c:402 builtin/notes.c:565 +#: builtin/notes.c:405 builtin/notes.c:568 msgid "reuse specified note object" msgstr "rΓ©utiliser l'objet de note spΓ©cifiΓ©" -#: builtin/notes.c:405 builtin/notes.c:568 +#: builtin/notes.c:408 builtin/notes.c:571 msgid "allow storing empty note" msgstr "permettre de stocker une note vide" -#: builtin/notes.c:406 builtin/notes.c:477 +#: builtin/notes.c:409 builtin/notes.c:480 msgid "replace existing notes" msgstr "remplacer les notes existantes" -#: builtin/notes.c:431 +#: builtin/notes.c:434 #, c-format msgid "" "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite " @@ -8473,30 +8738,30 @@ msgstr "" "Impossible d'ajouter des notes. Des notes ont Γ©tΓ© trouvΓ©es pour l'objet %s. " "Utilisez '-f' pour Γ©craser les notes existantes" -#: builtin/notes.c:446 builtin/notes.c:525 +#: builtin/notes.c:449 builtin/notes.c:528 #, c-format msgid "Overwriting existing notes for object %s\n" msgstr "Γcrasement des notes existantes pour l'objet %s\n" -#: builtin/notes.c:457 builtin/notes.c:618 builtin/notes.c:882 +#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:885 #, c-format msgid "Removing note for object %s\n" msgstr "Suppression de la note pour l'objet %s\n" -#: builtin/notes.c:478 +#: builtin/notes.c:481 msgid "read objects from stdin" msgstr "lire les objets depuis l'entrΓ©e standard" -#: builtin/notes.c:480 +#: builtin/notes.c:483 msgid "load rewriting config for <command> (implies --stdin)" msgstr "" "charger la configuration de réécriture pour <commande> (implique --stdin)" -#: builtin/notes.c:498 +#: builtin/notes.c:501 msgid "too few parameters" msgstr "pas assez de paramΓ¨tres" -#: builtin/notes.c:519 +#: builtin/notes.c:522 #, c-format msgid "" "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite " @@ -8505,12 +8770,12 @@ msgstr "" "Impossible de copier des notes. Des notes ont Γ©tΓ© trouvΓ©es pour l'objet %s. " "Utilisez '-f' pour Γ©craser les notes existantes" -#: builtin/notes.c:531 +#: builtin/notes.c:534 #, c-format msgid "Missing notes on source object %s. Cannot copy." msgstr "Notes manquantes sur l'objet source %s. Impossible de copier." -#: builtin/notes.c:583 +#: builtin/notes.c:586 #, c-format msgid "" "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n" @@ -8519,15 +8784,15 @@ msgstr "" "Les options -m/-F/-c/-C sont obsolΓ¨tes pour la sous-commande 'edit'.\n" "Veuillez utiliser 'git notes add -f -m/-F/-c/-C' Γ la place.\n" -#: builtin/notes.c:764 +#: builtin/notes.c:767 msgid "General options" msgstr "Options gΓ©nΓ©rales" -#: builtin/notes.c:766 +#: builtin/notes.c:769 msgid "Merge options" msgstr "Options de fusion" -#: builtin/notes.c:768 +#: builtin/notes.c:771 msgid "" "resolve notes conflicts using the given strategy (manual/ours/theirs/union/" "cat_sort_uniq)" @@ -8535,50 +8800,50 @@ msgstr "" "rΓ©soudre les conflits de notes en utilisant la stratΓ©gie donnΓ©e (manual/ours/" "theirs/union/cat_sort_uniq)" -#: builtin/notes.c:770 +#: builtin/notes.c:773 msgid "Committing unmerged notes" msgstr "Validation des notes non fusionnΓ©es" -#: builtin/notes.c:772 +#: builtin/notes.c:775 msgid "finalize notes merge by committing unmerged notes" msgstr "finaliser la fusion de notes en validant les notes non fusionnΓ©es" -#: builtin/notes.c:774 +#: builtin/notes.c:777 msgid "Aborting notes merge resolution" msgstr "Abandon de la rΓ©solution de fusion des notes" -#: builtin/notes.c:776 +#: builtin/notes.c:779 msgid "abort notes merge" msgstr "abandonner la fusion de notes" -#: builtin/notes.c:853 +#: builtin/notes.c:856 #, c-format msgid "A notes merge into %s is already in-progress at %s" msgstr "Une fusion de notes dans %s est dΓ©jΓ en cours avec %s" -#: builtin/notes.c:880 +#: builtin/notes.c:883 #, c-format msgid "Object %s has no note\n" msgstr "L'objet %s n'a pas de note\n" -#: builtin/notes.c:892 +#: builtin/notes.c:895 msgid "attempt to remove non-existent note is not an error" msgstr "" "la tentative de suppression d'une note non existante n'est pas une erreur" -#: builtin/notes.c:895 +#: builtin/notes.c:898 msgid "read object names from the standard input" msgstr "lire les noms d'objet depuis l'entrΓ©e standard" -#: builtin/notes.c:976 +#: builtin/notes.c:979 msgid "notes-ref" msgstr "rΓ©fΓ©rences-notes" -#: builtin/notes.c:977 +#: builtin/notes.c:980 msgid "use notes from <notes-ref>" msgstr "utiliser les notes depuis <rΓ©fΓ©rences-notes>" -#: builtin/notes.c:1012 builtin/remote.c:1647 +#: builtin/notes.c:1015 builtin/remote.c:1626 #, c-format msgid "Unknown subcommand: %s" msgstr "Sous-commande inconnue : %s" @@ -8602,175 +8867,175 @@ msgstr "" msgid "deflate error (%d)" msgstr "erreur de compression (%d)" -#: builtin/pack-objects.c:771 +#: builtin/pack-objects.c:772 msgid "Writing objects" msgstr "Γcriture des objets" -#: builtin/pack-objects.c:1011 +#: builtin/pack-objects.c:1012 msgid "disabling bitmap writing, as some objects are not being packed" msgstr "" "dΓ©sactivation de l'Γ©criture en bitmap car certains objets ne sont pas " "compressΓ©s" -#: builtin/pack-objects.c:2171 +#: builtin/pack-objects.c:2172 msgid "Compressing objects" msgstr "Compression des objets" -#: builtin/pack-objects.c:2568 +#: builtin/pack-objects.c:2558 #, c-format msgid "unsupported index version %s" msgstr "version d'index non supportΓ©e %s" -#: builtin/pack-objects.c:2572 +#: builtin/pack-objects.c:2562 #, c-format msgid "bad index version '%s'" msgstr "mauvaise version d'index '%s'" -#: builtin/pack-objects.c:2602 +#: builtin/pack-objects.c:2592 msgid "do not show progress meter" msgstr "ne pas afficher la barre de progression" -#: builtin/pack-objects.c:2604 +#: builtin/pack-objects.c:2594 msgid "show progress meter" msgstr "afficher la barre de progression" -#: builtin/pack-objects.c:2606 +#: builtin/pack-objects.c:2596 msgid "show progress meter during object writing phase" msgstr "afficher la barre de progression durant la phase d'Γ©crite des objets" -#: builtin/pack-objects.c:2609 +#: builtin/pack-objects.c:2599 msgid "similar to --all-progress when progress meter is shown" msgstr "similaire Γ --all-progress quand la barre de progression est affichΓ©e" -#: builtin/pack-objects.c:2610 +#: builtin/pack-objects.c:2600 msgid "version[,offset]" msgstr "version[,offset]" -#: builtin/pack-objects.c:2611 +#: builtin/pack-objects.c:2601 msgid "write the pack index file in the specified idx format version" msgstr "" "Γ©crire le fichier d'index du paquet dans le format d'index de version " "spΓ©cifiΓ©" -#: builtin/pack-objects.c:2614 +#: builtin/pack-objects.c:2604 msgid "maximum size of each output pack file" msgstr "taille maximum de chaque fichier paquet en sortie" -#: builtin/pack-objects.c:2616 +#: builtin/pack-objects.c:2606 msgid "ignore borrowed objects from alternate object store" msgstr "ignorer les objets empruntΓ©s Γ un autre magasin d'objets" -#: builtin/pack-objects.c:2618 +#: builtin/pack-objects.c:2608 msgid "ignore packed objects" msgstr "ignorer les objets empaquetΓ©s" -#: builtin/pack-objects.c:2620 +#: builtin/pack-objects.c:2610 msgid "limit pack window by objects" msgstr "limiter la fenΓͺtre d'empaquetage par objets" -#: builtin/pack-objects.c:2622 +#: builtin/pack-objects.c:2612 msgid "limit pack window by memory in addition to object limit" msgstr "" "limiter la fenΓͺtre d'empaquetage par mΓ©moire en plus de la limite d'objets" -#: builtin/pack-objects.c:2624 +#: builtin/pack-objects.c:2614 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "" "longueur maximum de la chaΓne de delta autorisΓ©e dans le paquet rΓ©sultant" -#: builtin/pack-objects.c:2626 +#: builtin/pack-objects.c:2616 msgid "reuse existing deltas" msgstr "rΓ©utiliser les deltas existants" -#: builtin/pack-objects.c:2628 +#: builtin/pack-objects.c:2618 msgid "reuse existing objects" msgstr "rΓ©utiliser les objets existants" -#: builtin/pack-objects.c:2630 +#: builtin/pack-objects.c:2620 msgid "use OFS_DELTA objects" msgstr "utiliser les objets OFS_DELTA" -#: builtin/pack-objects.c:2632 +#: builtin/pack-objects.c:2622 msgid "use threads when searching for best delta matches" msgstr "" "utiliser des fils lors de la recherche pour une meilleurs correspondance des " "deltas" -#: builtin/pack-objects.c:2634 +#: builtin/pack-objects.c:2624 msgid "do not create an empty pack output" msgstr "ne pas crΓ©er un paquet vide" -#: builtin/pack-objects.c:2636 +#: builtin/pack-objects.c:2626 msgid "read revision arguments from standard input" msgstr "lire les paramΓ¨tres de rΓ©vision depuis l'entrΓ©e standard" -#: builtin/pack-objects.c:2638 +#: builtin/pack-objects.c:2628 msgid "limit the objects to those that are not yet packed" msgstr "limiter les objets Γ ceux qui ne sont pas encore empaquetΓ©s" -#: builtin/pack-objects.c:2641 +#: builtin/pack-objects.c:2631 msgid "include objects reachable from any reference" msgstr "inclure les objets accessibles depuis toute rΓ©fΓ©rence" -#: builtin/pack-objects.c:2644 +#: builtin/pack-objects.c:2634 msgid "include objects referred by reflog entries" msgstr "inclure les objets rΓ©fΓ©rencΓ©s par les Γ©lΓ©ments de reflog" -#: builtin/pack-objects.c:2647 +#: builtin/pack-objects.c:2637 msgid "include objects referred to by the index" msgstr "inclure les objets rΓ©fΓ©rencΓ©s par l'index" -#: builtin/pack-objects.c:2650 +#: builtin/pack-objects.c:2640 msgid "output pack to stdout" msgstr "afficher l'empaquetage sur la sortie standard" -#: builtin/pack-objects.c:2652 +#: builtin/pack-objects.c:2642 msgid "include tag objects that refer to objects to be packed" msgstr "inclure les objets d'Γ©tiquettes qui rΓ©fΓ¨rent Γ des objets Γ empaqueter" -#: builtin/pack-objects.c:2654 +#: builtin/pack-objects.c:2644 msgid "keep unreachable objects" msgstr "garder les objets inaccessibles" -#: builtin/pack-objects.c:2655 parse-options.h:142 +#: builtin/pack-objects.c:2645 parse-options.h:142 msgid "time" msgstr "heure" -#: builtin/pack-objects.c:2656 +#: builtin/pack-objects.c:2646 msgid "unpack unreachable objects newer than <time>" msgstr "dΓ©paqueter les objets inaccessibles plus rΓ©cents que <heure>" -#: builtin/pack-objects.c:2659 +#: builtin/pack-objects.c:2649 msgid "create thin packs" msgstr "crΓ©er des paquets lΓ©gers" -#: builtin/pack-objects.c:2661 +#: builtin/pack-objects.c:2651 msgid "create packs suitable for shallow fetches" msgstr "crΓ©er des paquets permettant des rΓ©cupΓ©rations superficielles" -#: builtin/pack-objects.c:2663 +#: builtin/pack-objects.c:2653 msgid "ignore packs that have companion .keep file" msgstr "ignorer les paquets qui ont un fichier .keep" -#: builtin/pack-objects.c:2665 +#: builtin/pack-objects.c:2655 msgid "pack compression level" msgstr "niveau de compression du paquet" -#: builtin/pack-objects.c:2667 +#: builtin/pack-objects.c:2657 msgid "do not hide commits by grafts" msgstr "ne pas cacher les validations par greffes" -#: builtin/pack-objects.c:2669 +#: builtin/pack-objects.c:2659 msgid "use a bitmap index if available to speed up counting objects" msgstr "" "utiliser un index en bitmap si disponible pour accΓ©lerer le dΓ©compte des " "objets" -#: builtin/pack-objects.c:2671 +#: builtin/pack-objects.c:2661 msgid "write a bitmap index together with the pack index" msgstr "Γ©crire un index en bitmap associΓ© Γ l'index de paquet" -#: builtin/pack-objects.c:2762 +#: builtin/pack-objects.c:2752 msgid "Counting objects" msgstr "DΓ©compte des objets" @@ -8814,51 +9079,55 @@ msgstr "faire expirer les objets plus vieux que <heure>" msgid "cannot prune in a precious-objects repo" msgstr "impossible de nettoyer dans un dΓ©pΓ΄t d'objets prΓ©cieux" -#: builtin/pull.c:69 +#: builtin/pull.c:72 msgid "git pull [<options>] [<repository> [<refspec>...]]" msgstr "git pull [<options>] [<dΓ©pΓ΄t> [<spΓ©cification-de-rΓ©fΓ©rence>...]]" -#: builtin/pull.c:113 +#: builtin/pull.c:117 msgid "Options related to merging" msgstr "Options relatives Γ la fusion" -#: builtin/pull.c:116 +#: builtin/pull.c:120 msgid "incorporate changes by rebasing rather than merging" msgstr "incorporer les modifications en rebasant plutΓ΄t qu'en fusionnant" -#: builtin/pull.c:140 builtin/revert.c:105 +#: builtin/pull.c:144 builtin/revert.c:105 msgid "allow fast-forward" msgstr "autoriser l'avance rapide" -#: builtin/pull.c:146 +#: builtin/pull.c:150 msgid "verify that the named commit has a valid GPG signature" msgstr "vΓ©rifier que le commit nommΓ© a une signature GPG valide" -#: builtin/pull.c:160 +#: builtin/pull.c:164 msgid "Options related to fetching" msgstr "Options relatives au rapatriement" -#: builtin/pull.c:268 +#: builtin/pull.c:186 +msgid "number of submodules pulled in parallel" +msgstr "nombre de sous-modules tirΓ©s en parallΓ¨le" + +#: builtin/pull.c:275 #, c-format msgid "Invalid value for pull.ff: %s" msgstr "Valeur invalide pour pull.ff : %s" -#: builtin/pull.c:352 +#: builtin/pull.c:359 msgid "Cannot pull with rebase: You have unstaged changes." msgstr "" "impossible de tirer avec rebasage. Vous avez des modifications non indexΓ©es." -#: builtin/pull.c:358 +#: builtin/pull.c:365 msgid "Additionally, your index contains uncommitted changes." msgstr "De plus, votre index contient des modifications non validΓ©es." -#: builtin/pull.c:360 +#: builtin/pull.c:367 msgid "Cannot pull with rebase: Your index contains uncommitted changes." msgstr "" "impossible de tirer avec rebasageΒ : votre index contient des modifications " "non validΓ©es." -#: builtin/pull.c:436 +#: builtin/pull.c:443 msgid "" "There is no candidate for rebasing against among the refs that you just " "fetched." @@ -8866,14 +9135,14 @@ msgstr "" "Il n'y a pas de candidate sur laquelle rebaser parmi les rΓ©fΓ©rences que vous " "venez de rΓ©cupΓ©rer." -#: builtin/pull.c:438 +#: builtin/pull.c:445 msgid "" "There are no candidates for merging among the refs that you just fetched." msgstr "" "Il n'y a pas de candidate avec laquelle fusionner parmi les rΓ©fΓ©rences que " "vous venez de rΓ©cupΓ©rer." -#: builtin/pull.c:439 +#: builtin/pull.c:446 msgid "" "Generally this means that you provided a wildcard refspec which had no\n" "matches on the remote end." @@ -8881,7 +9150,7 @@ msgstr "" "GΓ©nΓ©ralement, cela signifie que vous avez indiquΓ© un spΓ©cificateur\n" "de rΓ©fΓ©rence joker qui n'a pas eu de correspondance sur le serveur distant." -#: builtin/pull.c:442 +#: builtin/pull.c:449 #, c-format msgid "" "You asked to pull from the remote '%s', but did not specify\n" @@ -8893,27 +9162,27 @@ msgstr "" "configuration\n" "pour la branche actuelle, vous devez spΓ©cifier la branche avec la commande." -#: builtin/pull.c:447 +#: builtin/pull.c:454 msgid "You are not currently on a branch." msgstr "Vous n'Γͺtes actuellement sur aucune branche." -#: builtin/pull.c:449 builtin/pull.c:464 +#: builtin/pull.c:456 builtin/pull.c:471 msgid "Please specify which branch you want to rebase against." msgstr "Veuillez spΓ©cifier sur quelle branche vous souhaiter rebaser." -#: builtin/pull.c:451 builtin/pull.c:466 +#: builtin/pull.c:458 builtin/pull.c:473 msgid "Please specify which branch you want to merge with." msgstr "Veuillez spΓ©cifier une branche avec laquelle fusionner." -#: builtin/pull.c:452 builtin/pull.c:467 +#: builtin/pull.c:459 builtin/pull.c:474 msgid "See git-pull(1) for details." msgstr "RΓ©fΓ©rez-vous Γ git-pull(1) pour de plus amples dΓ©tails." -#: builtin/pull.c:462 +#: builtin/pull.c:469 msgid "There is no tracking information for the current branch." msgstr "Pas d'information de suivi distant pour la branche actuelle." -#: builtin/pull.c:471 +#: builtin/pull.c:478 #, c-format msgid "" "If you wish to set tracking information for this branch you can do so with:\n" @@ -8925,7 +9194,7 @@ msgstr "" "\n" " git branch --set-upstream-to=%s/<branche> %s\n" -#: builtin/pull.c:476 +#: builtin/pull.c:483 #, c-format msgid "" "Your configuration specifies to merge with the ref '%s'\n" @@ -8935,13 +9204,13 @@ msgstr "" "'%s'\n" "du serveur distant, mais cette rΓ©fΓ©rence n'a pas Γ©tΓ© rΓ©cupΓ©rΓ©e." -#: builtin/pull.c:830 +#: builtin/pull.c:841 msgid "Updating an unborn branch with changes added to the index." msgstr "" "Mise Γ jour d'une branche non encore créée avec les changements ajoutΓ©s dans " "l'index." -#: builtin/pull.c:859 +#: builtin/pull.c:870 #, c-format msgid "" "fetch updated the current branch head.\n" @@ -8952,7 +9221,7 @@ msgstr "" "avance rapide de votre copie de travail\n" "depuis le commit %s." -#: builtin/pull.c:864 +#: builtin/pull.c:875 #, c-format msgid "" "Cannot fast-forward your working tree.\n" @@ -8970,11 +9239,11 @@ msgstr "" "$ git reset --hard\n" "pour rΓ©gΓ©nΓ©rer." -#: builtin/pull.c:879 +#: builtin/pull.c:890 msgid "Cannot merge multiple branches into empty head." msgstr "Impossible de fusionner de multiples branches sur une tΓͺte vide." -#: builtin/pull.c:883 +#: builtin/pull.c:894 msgid "Cannot rebase onto multiple branches." msgstr "Impossible de rebaser sur de multiples branches." @@ -8982,15 +9251,15 @@ msgstr "Impossible de rebaser sur de multiples branches." msgid "git push [<options>] [<repository> [<refspec>...]]" msgstr "git push [<options>] [<dΓ©pΓ΄t> [<spΓ©cification-de-rΓ©fΓ©rence>...]]" -#: builtin/push.c:88 +#: builtin/push.c:89 msgid "tag shorthand without <tag>" msgstr "raccourci d'Γ©tiquette sans <Γ©tiquette>" -#: builtin/push.c:98 +#: builtin/push.c:99 msgid "--delete only accepts plain target ref names" msgstr "--delete accepte seulement des noms entiers de rΓ©fΓ©rences cibles" -#: builtin/push.c:142 +#: builtin/push.c:143 msgid "" "\n" "To choose either option permanently, see push.default in 'git help config'." @@ -8999,7 +9268,7 @@ msgstr "" "Pour choisir l'option de maniΓ¨re permanente, voir push.default dans 'git " "help config'." -#: builtin/push.c:145 +#: builtin/push.c:146 #, c-format msgid "" "The upstream branch of your current branch does not match\n" @@ -9024,7 +9293,7 @@ msgstr "" " git push %s %s\n" "%s" -#: builtin/push.c:160 +#: builtin/push.c:161 #, c-format msgid "" "You are not currently on a branch.\n" @@ -9039,7 +9308,7 @@ msgstr "" "\n" " git push %s HEAD:<nom-de-la-branche-amont>\n" -#: builtin/push.c:174 +#: builtin/push.c:175 #, c-format msgid "" "The current branch %s has no upstream branch.\n" @@ -9053,13 +9322,13 @@ msgstr "" "\n" " git push --set-upstream %s %s\n" -#: builtin/push.c:182 +#: builtin/push.c:183 #, c-format msgid "The current branch %s has multiple upstream branches, refusing to push." msgstr "" "La branche courante %s a de multiples branches amont, impossible de pousser." -#: builtin/push.c:185 +#: builtin/push.c:186 #, c-format msgid "" "You are pushing to remote '%s', which is not the upstream of\n" @@ -9070,65 +9339,14 @@ msgstr "" "pas une branche amont de votre branche courante '%s', sans me dire\n" "quoi pousser pour mettre Γ jour quelle branche amont." -#: builtin/push.c:208 -msgid "" -"push.default is unset; its implicit value has changed in\n" -"Git 2.0 from 'matching' to 'simple'. To squelch this message\n" -"and maintain the traditional behavior, use:\n" -"\n" -" git config --global push.default matching\n" -"\n" -"To squelch this message and adopt the new behavior now, use:\n" -"\n" -" git config --global push.default simple\n" -"\n" -"When push.default is set to 'matching', git will push local branches\n" -"to the remote branches that already exist with the same name.\n" -"\n" -"Since Git 2.0, Git defaults to the more conservative 'simple'\n" -"behavior, which only pushes the current branch to the corresponding\n" -"remote branch that 'git pull' uses to update the current branch.\n" -"\n" -"See 'git help config' and search for 'push.default' for further " -"information.\n" -"(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n" -"'current' instead of 'simple' if you sometimes use older versions of Git)" -msgstr "" -"push.default n'est pas dΓ©fini ; sa valeur implicite a changΓ© dans Git 2.0\n" -"de 'matching' vers 'simple'. Pour supprimer ce message et maintenir\n" -"le comportement actuel aprΓ¨s la modification de la valeur de dΓ©faut, " -"utilisez :\n" -"\n" -" git config --global push.default matching\n" -"\n" -"Pour supprimer ce message et adopter le nouveau comportement maintenant, " -"utilisez :\n" -"\n" -" git config --global push.default simple\n" -"\n" -"Quand push.default vaudra 'matching', git poussera les branches locales\n" -"sur les branches distantes qui existent dΓ©jΓ avec le mΓͺme nom.\n" -"\n" -"Depuis Git 2.0, Git utilise par dΓ©faut le comportement plus conservatif " -"'simple'\n" -"qui ne pousse la branche courante que vers la branche distante " -"correspondante\n" -"que 'git pull' utilise pour mettre Γ jour la branche courante.\n" -" \n" -"Voir 'git help config' et chercher 'push.default' pour plus d'information.\n" -"(le mode 'simple' a Γ©tΓ© introduit dans Git 1.7.11. Utilisez le mode " -"similaire\n" -"'current' au lieu de 'simple' si vous utilisez de temps en temps d'anciennes " -"versions de Git)" - -#: builtin/push.c:275 +#: builtin/push.c:242 msgid "" "You didn't specify any refspecs to push, and push.default is \"nothing\"." msgstr "" "Vous n'avez pas spΓ©cifiΓ© de spΓ©cifications de rΓ©fΓ©rence Γ pousser, et push." "default est \"nothing\"." -#: builtin/push.c:282 +#: builtin/push.c:249 msgid "" "Updates were rejected because the tip of your current branch is behind\n" "its remote counterpart. Integrate the remote changes (e.g.\n" @@ -9143,7 +9361,7 @@ msgstr "" "Voir la 'Note Γ propos des avances rapides' dans 'git push --help' pour plus " "d'information." -#: builtin/push.c:288 +#: builtin/push.c:255 msgid "" "Updates were rejected because a pushed branch tip is behind its remote\n" "counterpart. Check out this branch and integrate the remote changes\n" @@ -9152,13 +9370,13 @@ msgid "" msgstr "" "Les mises Γ jour ont Γ©tΓ© rejetΓ©es car la pointe de la branche courante est " "derriΓ¨re\n" -"son homologue distant. Extrayez cette branche et IntΓ©grez les changements " +"son homologue distant. Extrayez cette branche et intΓ©grez les changements " "distants\n" "(par exemple 'git pull ...') avant de pousser Γ nouveau.\n" "Voir la 'Note Γ propos des avances rapides' dans 'git push --help' pour plus " "d'information." -#: builtin/push.c:294 +#: builtin/push.c:261 msgid "" "Updates were rejected because the remote contains work that you do\n" "not have locally. This is usually caused by another repository pushing\n" @@ -9176,13 +9394,13 @@ msgstr "" "Voir la 'Note Γ propos des avances rapides' dans 'git push --help' pour plus " "d'information." -#: builtin/push.c:301 +#: builtin/push.c:268 msgid "Updates were rejected because the tag already exists in the remote." msgstr "" "Les mises Γ jour ont Γ©tΓ© rejetΓ©es car l'Γ©tiquette existe dΓ©jΓ dans la " "branche distante." -#: builtin/push.c:304 +#: builtin/push.c:271 msgid "" "You cannot update a remote ref that points at a non-commit object,\n" "or update a remote ref to make it point at a non-commit object,\n" @@ -9194,22 +9412,22 @@ msgstr "" "pointer\n" "vers un objet qui n'est pas un commit, sans utiliser l'option '--force'.\n" -#: builtin/push.c:363 +#: builtin/push.c:331 #, c-format msgid "Pushing to %s\n" msgstr "PoussΓ©e vers %s\n" -#: builtin/push.c:367 +#: builtin/push.c:335 #, c-format msgid "failed to push some refs to '%s'" msgstr "impossible de pousser des rΓ©fΓ©rences vers '%s'" -#: builtin/push.c:397 +#: builtin/push.c:365 #, c-format msgid "bad repository '%s'" msgstr "mauvais dΓ©pΓ΄t '%s'" -#: builtin/push.c:398 +#: builtin/push.c:366 msgid "" "No configured push destination.\n" "Either specify the URL from the command-line or configure a remote " @@ -9231,105 +9449,101 @@ msgstr "" "\n" " git push <nom>\n" -#: builtin/push.c:413 +#: builtin/push.c:381 msgid "--all and --tags are incompatible" msgstr "--all et --tags sont incompatibles" -#: builtin/push.c:414 +#: builtin/push.c:382 msgid "--all can't be combined with refspecs" msgstr "--all ne peut pas Γͺtre combinΓ© avec des spΓ©cifications de rΓ©fΓ©rence" -#: builtin/push.c:419 +#: builtin/push.c:387 msgid "--mirror and --tags are incompatible" msgstr "--mirror et --tags sont incompatibles" -#: builtin/push.c:420 +#: builtin/push.c:388 msgid "--mirror can't be combined with refspecs" msgstr "--mirror ne peut pas Γͺtre combinΓ© avec des spΓ©cifications de rΓ©fΓ©rence" -#: builtin/push.c:425 +#: builtin/push.c:393 msgid "--all and --mirror are incompatible" msgstr "--all et --mirror sont incompatibles" -#: builtin/push.c:537 +#: builtin/push.c:505 msgid "repository" msgstr "dΓ©pΓ΄t" -#: builtin/push.c:538 builtin/send-pack.c:161 +#: builtin/push.c:506 builtin/send-pack.c:161 msgid "push all refs" msgstr "pousser toutes les rΓ©fΓ©rences" -#: builtin/push.c:539 builtin/send-pack.c:163 +#: builtin/push.c:507 builtin/send-pack.c:163 msgid "mirror all refs" msgstr "reflΓ©ter toutes les rΓ©fΓ©rences" -#: builtin/push.c:541 +#: builtin/push.c:509 msgid "delete refs" msgstr "supprimer les rΓ©fΓ©rences" -#: builtin/push.c:542 +#: builtin/push.c:510 msgid "push tags (can't be used with --all or --mirror)" msgstr "" "pousser les Γ©tiquettes (ne peut pas Γͺtre utilisΓ© avec --all ou --mirror)" -#: builtin/push.c:545 builtin/send-pack.c:164 +#: builtin/push.c:513 builtin/send-pack.c:164 msgid "force updates" msgstr "forcer les mises Γ jour" -#: builtin/push.c:547 builtin/send-pack.c:175 +#: builtin/push.c:515 builtin/send-pack.c:175 msgid "refname>:<expect" msgstr "nom de rΓ©fΓ©rence>:<attendu" -#: builtin/push.c:548 builtin/send-pack.c:176 +#: builtin/push.c:516 builtin/send-pack.c:176 msgid "require old value of ref to be at this value" msgstr "exiger que l'ancienne valeur de la rΓ©fΓ©rence soit Γ cette valeur" -#: builtin/push.c:550 -msgid "check|on-demand|no" -msgstr "check|on-demand|no" - -#: builtin/push.c:551 +#: builtin/push.c:519 msgid "control recursive pushing of submodules" msgstr "contrΓ΄ler la poussΓ©e rΓ©cursive des sous-modules" -#: builtin/push.c:553 builtin/send-pack.c:169 +#: builtin/push.c:521 builtin/send-pack.c:169 msgid "use thin pack" msgstr "utiliser un empaquetage lΓ©ger" -#: builtin/push.c:554 builtin/push.c:555 builtin/send-pack.c:158 +#: builtin/push.c:522 builtin/push.c:523 builtin/send-pack.c:158 #: builtin/send-pack.c:159 msgid "receive pack program" msgstr "recevoir le programme d'empaquetage" -#: builtin/push.c:556 +#: builtin/push.c:524 msgid "set upstream for git pull/status" msgstr "dΓ©finir la branche amont pour git pull/status" -#: builtin/push.c:559 +#: builtin/push.c:527 msgid "prune locally removed refs" msgstr "Γ©liminer les rΓ©fΓ©rences locales supprimΓ©es" -#: builtin/push.c:561 +#: builtin/push.c:529 msgid "bypass pre-push hook" msgstr "Γ©viter d'utiliser le crochet pre-push" -#: builtin/push.c:562 +#: builtin/push.c:530 msgid "push missing but relevant tags" msgstr "pousser les Γ©tiquettes manquantes mais pertinentes" -#: builtin/push.c:565 builtin/send-pack.c:166 +#: builtin/push.c:533 builtin/send-pack.c:166 msgid "GPG sign the push" msgstr "signer la poussΓ©e avec GPG" -#: builtin/push.c:567 builtin/send-pack.c:170 +#: builtin/push.c:535 builtin/send-pack.c:170 msgid "request atomic transaction on remote side" msgstr "demande une transaction atomique sur le serveur distant" -#: builtin/push.c:577 +#: builtin/push.c:549 msgid "--delete is incompatible with --all, --mirror and --tags" msgstr "--delete est incompatible avec --all, --mirror et --tags" -#: builtin/push.c:579 +#: builtin/push.c:551 msgid "--delete doesn't make sense without any refs" msgstr "--delete n'a pas de sens sans aucune rΓ©fΓ©rence" @@ -9408,12 +9622,12 @@ msgstr "sauter l'application du filtre d'extraction creuse" msgid "debug unpack-trees" msgstr "dΓ©boguer unpack-trees" -#: builtin/reflog.c:428 +#: builtin/reflog.c:423 #, c-format msgid "'%s' for '%s' is not a valid timestamp" msgstr "'%s' pour '%s' n'est pas un horodatage valide" -#: builtin/reflog.c:545 builtin/reflog.c:550 +#: builtin/reflog.c:540 builtin/reflog.c:545 #, c-format msgid "'%s' is not a valid timestamp" msgstr "'%s' n'est pas un horodatage valide" @@ -9559,57 +9773,47 @@ msgstr "" "spΓ©cifier les branches Γ suivre n'a de sens qu'avec des miroirs de " "rapatriement" -#: builtin/remote.c:193 builtin/remote.c:643 +#: builtin/remote.c:190 builtin/remote.c:633 #, c-format msgid "remote %s already exists." msgstr "la distante %s existe dΓ©jΓ ." -#: builtin/remote.c:197 builtin/remote.c:647 +#: builtin/remote.c:194 builtin/remote.c:637 #, c-format msgid "'%s' is not a valid remote name" msgstr "'%s' n'est pas un nom valide de distante" -#: builtin/remote.c:241 +#: builtin/remote.c:234 #, c-format msgid "Could not setup master '%s'" msgstr "Impossible de paramΓ©trer la maΓtresse '%s'" -#: builtin/remote.c:341 +#: builtin/remote.c:336 #, c-format msgid "Could not get fetch map for refspec %s" msgstr "" "Impossible d'obtenir une correspondance distante pour la spΓ©cification de " "rΓ©fΓ©rence %s" -#: builtin/remote.c:442 builtin/remote.c:450 +#: builtin/remote.c:437 builtin/remote.c:445 msgid "(matching)" msgstr "(correspond)" -#: builtin/remote.c:454 +#: builtin/remote.c:449 msgid "(delete)" msgstr "(supprimer)" -#: builtin/remote.c:594 builtin/remote.c:600 builtin/remote.c:606 -#, c-format -msgid "Could not append '%s' to '%s'" -msgstr "Impossible d'ajouter '%s' Γ '%s'" - -#: builtin/remote.c:636 builtin/remote.c:775 builtin/remote.c:875 +#: builtin/remote.c:626 builtin/remote.c:761 builtin/remote.c:858 #, c-format msgid "No such remote: %s" msgstr "Distante inconnue : %s" -#: builtin/remote.c:653 +#: builtin/remote.c:643 #, c-format msgid "Could not rename config section '%s' to '%s'" msgstr "Impossible de renommer la section de configuration '%s' en '%s'" -#: builtin/remote.c:659 builtin/remote.c:827 -#, c-format -msgid "Could not remove config section '%s'" -msgstr "Impossible de supprimer la section de configuration '%s'" - -#: builtin/remote.c:674 +#: builtin/remote.c:663 #, c-format msgid "" "Not updating non-default fetch refspec\n" @@ -9620,27 +9824,17 @@ msgstr "" "\t%s\n" "\tVeuillez mettre Γ jour la configuration manuellement si nΓ©cessaire." -#: builtin/remote.c:680 -#, c-format -msgid "Could not append '%s'" -msgstr "Impossible d'ajouter '%s'" - -#: builtin/remote.c:691 -#, c-format -msgid "Could not set '%s'" -msgstr "Impossible de dΓ©finir '%s'" - -#: builtin/remote.c:713 +#: builtin/remote.c:699 #, c-format msgid "deleting '%s' failed" msgstr "Γ©chec de suppression de '%s'" -#: builtin/remote.c:747 +#: builtin/remote.c:733 #, c-format msgid "creating '%s' failed" msgstr "Γ©chec de crΓ©ation de '%s'" -#: builtin/remote.c:813 +#: builtin/remote.c:796 msgid "" "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n" "to delete it, use:" @@ -9655,120 +9849,125 @@ msgstr[1] "" "supprimΓ©es ;\n" "pour les supprimer, utilisez :" -#: builtin/remote.c:928 +#: builtin/remote.c:810 +#, c-format +msgid "Could not remove config section '%s'" +msgstr "Impossible de supprimer la section de configuration '%s'" + +#: builtin/remote.c:911 #, c-format msgid " new (next fetch will store in remotes/%s)" msgstr " nouveau (le prochain rapatriement (fetch) stockera dans remotes/%s)" -#: builtin/remote.c:931 +#: builtin/remote.c:914 msgid " tracked" msgstr " suivi" -#: builtin/remote.c:933 +#: builtin/remote.c:916 msgid " stale (use 'git remote prune' to remove)" msgstr " dΓ©passΓ© (utilisez 'git remote prune' pour supprimer)" -#: builtin/remote.c:935 +#: builtin/remote.c:918 msgid " ???" msgstr " ???" -#: builtin/remote.c:976 +#: builtin/remote.c:959 #, c-format msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch" msgstr "branch.%s.merge invalide ; ne peut pas rebaser sur plus d'une branche" -#: builtin/remote.c:983 +#: builtin/remote.c:967 #, c-format -msgid "rebases onto remote %s" -msgstr "rebase sur la distante %s" +msgid "rebases interactively onto remote %s" +msgstr "rebase de maniΓ¨re interactive sur la distante %s" -#: builtin/remote.c:986 +#: builtin/remote.c:971 #, c-format msgid " merges with remote %s" msgstr " fusionne avec la distante %s" -#: builtin/remote.c:987 +#: builtin/remote.c:972 msgid " and with remote" msgstr " et avec la distante" -#: builtin/remote.c:989 +#: builtin/remote.c:974 #, c-format msgid "merges with remote %s" msgstr "fusionne avec la distante %s" -#: builtin/remote.c:990 +#: builtin/remote.c:975 msgid " and with remote" msgstr " et avec la distante" -#: builtin/remote.c:1036 +#: builtin/remote.c:1021 msgid "create" msgstr "crΓ©er" -#: builtin/remote.c:1039 +#: builtin/remote.c:1024 msgid "delete" msgstr "supprimer" -#: builtin/remote.c:1043 +#: builtin/remote.c:1028 msgid "up to date" msgstr "Γ jour" -#: builtin/remote.c:1046 +#: builtin/remote.c:1031 msgid "fast-forwardable" msgstr "peut Γͺtre mis Γ jour en avance rapide" -#: builtin/remote.c:1049 +#: builtin/remote.c:1034 msgid "local out of date" msgstr "le local n'est pas Γ jour" -#: builtin/remote.c:1056 +#: builtin/remote.c:1041 #, c-format msgid " %-*s forces to %-*s (%s)" msgstr " %-*s force vers %-*s (%s)" -#: builtin/remote.c:1059 +#: builtin/remote.c:1044 #, c-format msgid " %-*s pushes to %-*s (%s)" msgstr " %-*s pousse vers %-*s (%s)" -#: builtin/remote.c:1063 +#: builtin/remote.c:1048 #, c-format msgid " %-*s forces to %s" msgstr " %-*s force vers %s" -#: builtin/remote.c:1066 +#: builtin/remote.c:1051 #, c-format msgid " %-*s pushes to %s" msgstr " %-*s pousse vers %s" -#: builtin/remote.c:1134 +#: builtin/remote.c:1119 msgid "do not query remotes" msgstr "ne pas interroger les distantes" -#: builtin/remote.c:1161 +#: builtin/remote.c:1146 #, c-format msgid "* remote %s" msgstr "* distante %s" -#: builtin/remote.c:1162 +#: builtin/remote.c:1147 #, c-format msgid " Fetch URL: %s" msgstr " URL de rapatriement : %s" -#: builtin/remote.c:1163 builtin/remote.c:1314 +#: builtin/remote.c:1148 builtin/remote.c:1299 msgid "(no URL)" msgstr "(pas d'URL)" -#: builtin/remote.c:1172 builtin/remote.c:1174 +#: builtin/remote.c:1157 builtin/remote.c:1159 #, c-format msgid " Push URL: %s" msgstr " URL push : %s" -#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180 +#: builtin/remote.c:1161 builtin/remote.c:1163 builtin/remote.c:1165 #, c-format msgid " HEAD branch: %s" msgstr " Branche HEAD : %s" -#: builtin/remote.c:1182 +#: builtin/remote.c:1167 #, c-format msgid "" " HEAD branch (remote HEAD is ambiguous, may be one of the following):\n" @@ -9776,158 +9975,158 @@ msgstr "" " Branche HEAD (la HEAD distante est ambiguΓ«, peut Γͺtre l'une des " "suivantes) :\n" -#: builtin/remote.c:1194 +#: builtin/remote.c:1179 #, c-format msgid " Remote branch:%s" msgid_plural " Remote branches:%s" msgstr[0] " Branche distante :%s" msgstr[1] " Branches distantes :%s" -#: builtin/remote.c:1197 builtin/remote.c:1224 +#: builtin/remote.c:1182 builtin/remote.c:1209 msgid " (status not queried)" msgstr " (statut non demandΓ©)" -#: builtin/remote.c:1206 +#: builtin/remote.c:1191 msgid " Local branch configured for 'git pull':" msgid_plural " Local branches configured for 'git pull':" msgstr[0] " Branche locale configurΓ©e pour 'git pull' :" msgstr[1] " Branches locales configurΓ©es pour 'git pull' :" -#: builtin/remote.c:1214 +#: builtin/remote.c:1199 msgid " Local refs will be mirrored by 'git push'" msgstr " Les rΓ©fΓ©rences locales seront reflΓ©tΓ©es par 'git push'" -#: builtin/remote.c:1221 +#: builtin/remote.c:1206 #, c-format msgid " Local ref configured for 'git push'%s:" msgid_plural " Local refs configured for 'git push'%s:" msgstr[0] " RΓ©fΓ©rence locale configurΓ©e pour 'git push'%s :" msgstr[1] " RΓ©fΓ©rences locales configurΓ©es pour 'git push'%s :" -#: builtin/remote.c:1242 +#: builtin/remote.c:1227 msgid "set refs/remotes/<name>/HEAD according to remote" msgstr "dΓ©finir refs/remotes/<nom>/HEAD selon la distante" -#: builtin/remote.c:1244 +#: builtin/remote.c:1229 msgid "delete refs/remotes/<name>/HEAD" msgstr "supprimer refs/remotes/<nom>/HEAD" -#: builtin/remote.c:1259 +#: builtin/remote.c:1244 msgid "Cannot determine remote HEAD" msgstr "Impossible de dΓ©terminer la HEAD distante" -#: builtin/remote.c:1261 +#: builtin/remote.c:1246 msgid "Multiple remote HEAD branches. Please choose one explicitly with:" msgstr "" "Il y a de multiples branches HEAD distantes. Veuillez en choisir une " "explicitement avec :" -#: builtin/remote.c:1271 +#: builtin/remote.c:1256 #, c-format msgid "Could not delete %s" msgstr "Impossible de supprimer %s" -#: builtin/remote.c:1279 +#: builtin/remote.c:1264 #, c-format msgid "Not a valid ref: %s" msgstr "RΓ©fΓ©rence non valide : %s" -#: builtin/remote.c:1281 +#: builtin/remote.c:1266 #, c-format msgid "Could not setup %s" msgstr "Impossible de paramΓ©trer %s" -#: builtin/remote.c:1299 +#: builtin/remote.c:1284 #, c-format msgid " %s will become dangling!" msgstr " %s se retrouvera en suspens !" -#: builtin/remote.c:1300 +#: builtin/remote.c:1285 #, c-format msgid " %s has become dangling!" msgstr " %s se retrouve en suspens !" -#: builtin/remote.c:1310 +#: builtin/remote.c:1295 #, c-format msgid "Pruning %s" msgstr "Γlimination de %s" -#: builtin/remote.c:1311 +#: builtin/remote.c:1296 #, c-format msgid "URL: %s" msgstr "URL : %s" -#: builtin/remote.c:1327 +#: builtin/remote.c:1312 #, c-format msgid " * [would prune] %s" msgstr " * [serait Γ©liminΓ©] %s" -#: builtin/remote.c:1330 +#: builtin/remote.c:1315 #, c-format msgid " * [pruned] %s" msgstr " * [Γ©liminΓ©] %s" -#: builtin/remote.c:1375 +#: builtin/remote.c:1360 msgid "prune remotes after fetching" msgstr "Γ©liminer les distants aprΓ¨s le rapatriement" -#: builtin/remote.c:1441 builtin/remote.c:1498 builtin/remote.c:1566 +#: builtin/remote.c:1423 builtin/remote.c:1477 builtin/remote.c:1545 #, c-format msgid "No such remote '%s'" msgstr "Pas de serveur remote '%s'" -#: builtin/remote.c:1461 +#: builtin/remote.c:1439 msgid "add branch" msgstr "ajouter une branche" -#: builtin/remote.c:1468 +#: builtin/remote.c:1446 msgid "no remote specified" msgstr "pas de serveur distant spΓ©cifiΓ©" -#: builtin/remote.c:1485 +#: builtin/remote.c:1463 msgid "query push URLs rather than fetch URLs" msgstr "interroger les URLs de poussΓ©e plutΓ΄t que les URLs de rΓ©cupΓ©ration" -#: builtin/remote.c:1487 +#: builtin/remote.c:1465 msgid "return all URLs" msgstr "retourner toutes les URLs" -#: builtin/remote.c:1515 +#: builtin/remote.c:1493 #, c-format msgid "no URLs configured for remote '%s'" msgstr "aucune URL configurΓ©e pour le dΓ©pΓ΄t distant '%s'" -#: builtin/remote.c:1541 +#: builtin/remote.c:1519 msgid "manipulate push URLs" msgstr "manipuler les URLs push" -#: builtin/remote.c:1543 +#: builtin/remote.c:1521 msgid "add URL" msgstr "ajouter une URL" -#: builtin/remote.c:1545 +#: builtin/remote.c:1523 msgid "delete URLs" msgstr "supprimer des URLs" -#: builtin/remote.c:1552 +#: builtin/remote.c:1530 msgid "--add --delete doesn't make sense" msgstr "--add --delete n'a aucun sens" -#: builtin/remote.c:1592 +#: builtin/remote.c:1571 #, c-format msgid "Invalid old URL pattern: %s" msgstr "Motif d'URL ancien invalide : %s" -#: builtin/remote.c:1600 +#: builtin/remote.c:1579 #, c-format msgid "No such URL found: %s" msgstr "Pas d'URL trouvΓ©e : %s" -#: builtin/remote.c:1602 +#: builtin/remote.c:1581 msgid "Will not delete all non-push URLs" msgstr "Pas de suppression de toutes les URLs non-push" -#: builtin/remote.c:1616 +#: builtin/remote.c:1595 msgid "be verbose; must be placed before a subcommand" msgstr "Γͺtre verbeux : doit Γͺtre placΓ© avant une sous-commande" @@ -10234,7 +10433,7 @@ msgstr "Impossible de rΓ©initialiser le fichier d'index Γ la rΓ©vision '%s'." msgid "Could not write new index file." msgstr "Impossible d'Γ©crire le nouveau fichier d'index." -#: builtin/rev-list.c:354 +#: builtin/rev-list.c:350 msgid "rev-list does not support display of notes" msgstr "rev-list ne supporte l'affichage des notes" @@ -10492,30 +10691,25 @@ msgstr "afficher les messages du greffon de protocole distant" msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]" msgstr "git shortlog [<options>] [<intervalle-rΓ©visions>] [[--] [<chemin>...]]" -#: builtin/shortlog.c:131 -#, c-format -msgid "Missing author: %s" -msgstr "Auteur manquant : %s" - -#: builtin/shortlog.c:230 +#: builtin/shortlog.c:242 msgid "sort output according to the number of commits per author" msgstr "trier la sortie sur le nombre de validations par auteur" -#: builtin/shortlog.c:232 +#: builtin/shortlog.c:244 msgid "Suppress commit descriptions, only provides commit count" msgstr "" "Supprimer les descriptions de validation, fournit seulement le nombre de " "validations" -#: builtin/shortlog.c:234 +#: builtin/shortlog.c:246 msgid "Show the email address of each author" msgstr "Afficher l'adresse e-mail de chaque auteur" -#: builtin/shortlog.c:235 +#: builtin/shortlog.c:247 msgid "w[,i1[,i2]]" msgstr "w[,i1[,i2]]" -#: builtin/shortlog.c:236 +#: builtin/shortlog.c:248 msgid "Linewrap output" msgstr "Couper les lignes" @@ -10615,11 +10809,11 @@ msgstr "git show-ref --exclude-existing[=<motif>]" #: builtin/show-ref.c:165 msgid "only show tags (can be combined with heads)" -msgstr "afficher seulement les Γ©tiquettes (peut Γͺtre combinΓ© avec des tΓͺtes)" +msgstr "afficher seulement les Γ©tiquettes (peut Γͺtre combinΓ© avec heads)" #: builtin/show-ref.c:166 msgid "only show heads (can be combined with tags)" -msgstr "afficher seulement les tΓͺtes (peut Γͺtre combinΓ© avec des Γ©tiquettes)" +msgstr "afficher seulement les tΓͺtes (peut Γͺtre combinΓ© avec tags)" #: builtin/show-ref.c:167 msgid "stricter reference checking, requires exact ref path" @@ -10665,45 +10859,45 @@ msgstr "" "commentaire" #: builtin/stripspace.c:38 -msgid "prepend comment character and blank to each line" +msgid "prepend comment character and space to each line" msgstr "ajouter devant chaque ligne le caractΓ¨re de commentaire et un espace" -#: builtin/submodule--helper.c:79 builtin/submodule--helper.c:167 +#: builtin/submodule--helper.c:73 builtin/submodule--helper.c:161 msgid "alternative anchor for relative paths" msgstr "ancre alternative pour les chemins relatifs" -#: builtin/submodule--helper.c:84 +#: builtin/submodule--helper.c:78 msgid "git submodule--helper list [--prefix=<path>] [<path>...]" msgstr "git submodule--helper list [--prefix=<chemin>] [<chemin>...]" -#: builtin/submodule--helper.c:114 +#: builtin/submodule--helper.c:108 msgid "git submodule--helper name <path>" msgstr "git submodule--helper <nom> <chemin>" -#: builtin/submodule--helper.c:120 +#: builtin/submodule--helper.c:114 #, c-format msgid "no submodule mapping found in .gitmodules for path '%s'" msgstr "" "Pas de mise en correspondance du sous-module trouvΓ© dans .gitmodules pour le " "chemin '%s'" -#: builtin/submodule--helper.c:170 +#: builtin/submodule--helper.c:164 msgid "where the new submodule will be cloned to" msgstr "emplacement oΓΉ le sous-module sera clonΓ©" -#: builtin/submodule--helper.c:173 +#: builtin/submodule--helper.c:167 msgid "name of the new submodule" msgstr "nom du nouveau sous-module" -#: builtin/submodule--helper.c:176 +#: builtin/submodule--helper.c:170 msgid "url where to clone the submodule from" msgstr "URL depuis laquelle cloner le sous-module" -#: builtin/submodule--helper.c:182 +#: builtin/submodule--helper.c:176 msgid "depth for shallow clones" msgstr "profondeur de l'historique des clones superficiels" -#: builtin/submodule--helper.c:188 +#: builtin/submodule--helper.c:182 msgid "" "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference " "<repository>] [--name <name>] [--url <url>][--depth <depth>] [--] [<path>...]" @@ -10712,39 +10906,39 @@ msgstr "" "<dΓ©pΓ΄t>] [--name <nom>] [--url <url>][--depth <profondeur>] [--] " "[<chemin>...]" -#: builtin/submodule--helper.c:202 builtin/submodule--helper.c:208 -#: builtin/submodule--helper.c:216 +#: builtin/submodule--helper.c:196 builtin/submodule--helper.c:202 +#: builtin/submodule--helper.c:210 #, c-format msgid "could not create directory '%s'" msgstr "impossible de crΓ©er le rΓ©pertoire '%s'" -#: builtin/submodule--helper.c:204 +#: builtin/submodule--helper.c:198 #, c-format msgid "clone of '%s' into submodule path '%s' failed" msgstr "Le clonage de '%s' dans le chemin de sous-module '%s' a Γ©chouΓ©" -#: builtin/submodule--helper.c:227 +#: builtin/submodule--helper.c:221 #, c-format msgid "cannot open file '%s'" msgstr "impossible d'ouvrir le fichier '%s'" -#: builtin/submodule--helper.c:232 +#: builtin/submodule--helper.c:226 #, c-format msgid "could not close file %s" msgstr "impossible de fermer le fichier %s" -#: builtin/submodule--helper.c:247 +#: builtin/submodule--helper.c:241 #, c-format msgid "could not get submodule directory for '%s'" msgstr "impossible de crΓ©er le rΓ©pertoire de sous-module pour '%s'" -#: builtin/submodule--helper.c:273 +#: builtin/submodule--helper.c:267 msgid "fatal: submodule--helper subcommand must be called with a subcommand" msgstr "" "fatalΒ : la sous-commande submodule--helper doit Γͺtre appelΓ©e avec une sous-" "commande" -#: builtin/submodule--helper.c:280 +#: builtin/submodule--helper.c:274 #, c-format msgid "fatal: '%s' is not a valid submodule--helper subcommand" msgstr "fatalΒ : '%s' n'est pas une sous-commande valide de submodule--helper" @@ -10961,7 +11155,7 @@ msgstr "l'option --points-at est autorisΓ©e seulement avec -l." #: builtin/tag.c:425 msgid "--merged and --no-merged option are only allowed with -l" -msgstr "les options --merged et --no-merged ne sont autorisΓ©es qu'avec -l." +msgstr "les options --merged et --no-merged ne sont autorisΓ©es qu'avec -l" #: builtin/tag.c:433 msgid "only one -F or -m option is allowed." @@ -10990,200 +11184,213 @@ msgstr "Γtiquette '%s' mise Γ jour (elle Γ©tait sur %s)\n" msgid "Unpacking objects" msgstr "DΓ©paquetage des objets" -#: builtin/update-index.c:70 +#: builtin/update-index.c:79 #, c-format msgid "failed to create directory %s" msgstr "Γ©chec de la crΓ©ation du rΓ©pertoire %s" -#: builtin/update-index.c:76 +#: builtin/update-index.c:85 #, c-format msgid "failed to stat %s" msgstr "Γ©chec du stat de %s" -#: builtin/update-index.c:86 +#: builtin/update-index.c:95 #, c-format msgid "failed to create file %s" msgstr "Γ©chec de la crΓ©ation du fichier %s" -#: builtin/update-index.c:94 +#: builtin/update-index.c:103 #, c-format msgid "failed to delete file %s" msgstr "Γ©chec de la suppression du fichier %s" -#: builtin/update-index.c:101 builtin/update-index.c:203 +#: builtin/update-index.c:110 builtin/update-index.c:212 #, c-format msgid "failed to delete directory %s" msgstr "Γ©chec de la suppression du rΓ©pertoire %s" -#: builtin/update-index.c:124 +#: builtin/update-index.c:133 #, c-format -msgid "Testing " -msgstr "Test en cours " +msgid "Testing mtime in '%s' " +msgstr "Test du mtime dans '%s' " -#: builtin/update-index.c:136 +#: builtin/update-index.c:145 msgid "directory stat info does not change after adding a new file" msgstr "" "l'information de stat du rΓ©pertoire ne change pas aprΓ¨s ajout d'un fichier" -#: builtin/update-index.c:149 +#: builtin/update-index.c:158 msgid "directory stat info does not change after adding a new directory" msgstr "" "l'information de stat du rΓ©pertoire ne change pas aprΓ¨s ajout d'un rΓ©pertoire" -#: builtin/update-index.c:162 +#: builtin/update-index.c:171 msgid "directory stat info changes after updating a file" msgstr "" "l'information de stat du rΓ©pertoire change aprΓ¨s mise Γ jour d'un fichier" -#: builtin/update-index.c:173 +#: builtin/update-index.c:182 msgid "directory stat info changes after adding a file inside subdirectory" msgstr "" "l'information de stat du rΓ©pertoire change aprΓ¨s l'ajout d'un fichier dans " "un sous-rΓ©pertoire" -#: builtin/update-index.c:184 +#: builtin/update-index.c:193 msgid "directory stat info does not change after deleting a file" msgstr "" "l'information de stat du rΓ©pertoire ne change pas aprΓ¨s la suppression d'un " "fichier<" -#: builtin/update-index.c:197 +#: builtin/update-index.c:206 msgid "directory stat info does not change after deleting a directory" msgstr "" "l'information de stat du rΓ©pertoire ne change pas aprΓ¨s la suppression d'un " "rΓ©pertoire" -#: builtin/update-index.c:204 +#: builtin/update-index.c:213 msgid " OK" msgstr " OK" -#: builtin/update-index.c:564 +#: builtin/update-index.c:575 msgid "git update-index [<options>] [--] [<file>...]" msgstr "git update-index [<options>] [--] [<fichier>...]" -#: builtin/update-index.c:918 +#: builtin/update-index.c:930 msgid "continue refresh even when index needs update" msgstr "continuer de rafraΓchir mΓͺme si l'index a besoin d'une mise Γ jour" -#: builtin/update-index.c:921 +#: builtin/update-index.c:933 msgid "refresh: ignore submodules" msgstr "rafraΓchir : ignorer les sous-modules" -#: builtin/update-index.c:924 +#: builtin/update-index.c:936 msgid "do not ignore new files" msgstr "ne pas ignorer les nouveaux fichiers" -#: builtin/update-index.c:926 +#: builtin/update-index.c:938 msgid "let files replace directories and vice-versa" msgstr "laisser les fichiers remplacer des rΓ©pertoires et vice-versa" -#: builtin/update-index.c:928 +#: builtin/update-index.c:940 msgid "notice files missing from worktree" msgstr "aviser des fichiers manquants dans la copie de travail" -#: builtin/update-index.c:930 +#: builtin/update-index.c:942 msgid "refresh even if index contains unmerged entries" msgstr "rafraΓchir mΓͺme si l'index contient des Γ©lΓ©ments non fusionnΓ©s" -#: builtin/update-index.c:933 +#: builtin/update-index.c:945 msgid "refresh stat information" msgstr "rafraΓchir l'information de stat" -#: builtin/update-index.c:937 +#: builtin/update-index.c:949 msgid "like --refresh, but ignore assume-unchanged setting" msgstr "comme --refresh, mais en ignorant l'option assume-unchanged" -#: builtin/update-index.c:941 +#: builtin/update-index.c:953 msgid "<mode>,<object>,<path>" msgstr "<mode>, <objet>, <chemin>" -#: builtin/update-index.c:942 +#: builtin/update-index.c:954 msgid "add the specified entry to the index" msgstr "ajouter l'Γ©lΓ©ment spΓ©cifiΓ© dans l'index" -#: builtin/update-index.c:946 +#: builtin/update-index.c:958 msgid "(+/-)x" msgstr "(+/-)x" -#: builtin/update-index.c:947 +#: builtin/update-index.c:959 msgid "override the executable bit of the listed files" msgstr "outrepasser le bit exΓ©cutable pour les fichiers listΓ©s" -#: builtin/update-index.c:951 +#: builtin/update-index.c:963 msgid "mark files as \"not changing\"" msgstr "marquer les fichiers comme \"non changeants\"" -#: builtin/update-index.c:954 +#: builtin/update-index.c:966 msgid "clear assumed-unchanged bit" msgstr "mettre Γ zΓ©ro le bit supposΓ©-non-modifiΓ©" -#: builtin/update-index.c:957 +#: builtin/update-index.c:969 msgid "mark files as \"index-only\"" msgstr "marquer les fichiers comme \"index seulement\"" -#: builtin/update-index.c:960 +#: builtin/update-index.c:972 msgid "clear skip-worktree bit" msgstr "mettre Γ zΓ©ro le bit sauter-la-copie-de travail" -#: builtin/update-index.c:963 +#: builtin/update-index.c:975 msgid "add to index only; do not add content to object database" msgstr "" "ajouter seulement Γ l'index ; ne pas ajouter le contenu dans la base de " "donnΓ©es des objets" -#: builtin/update-index.c:965 +#: builtin/update-index.c:977 msgid "remove named paths even if present in worktree" msgstr "" "supprimer les chemins nommΓ©s mΓͺme s'ils sont prΓ©sents dans la copie de " "travail" -#: builtin/update-index.c:967 +#: builtin/update-index.c:979 msgid "with --stdin: input lines are terminated by null bytes" msgstr "avec --stdin : les lignes en entrΓ©e sont terminΓ©es par des octets nuls" -#: builtin/update-index.c:969 +#: builtin/update-index.c:981 msgid "read list of paths to be updated from standard input" msgstr "lire la liste des chemins Γ mettre Γ jour depuis l'entrΓ©e standard" -#: builtin/update-index.c:973 +#: builtin/update-index.c:985 msgid "add entries from standard input to the index" msgstr "ajouter les Γ©lΓ©ments depuis l'entrΓ©e standard Γ l'index" -#: builtin/update-index.c:977 +#: builtin/update-index.c:989 msgid "repopulate stages #2 and #3 for the listed paths" msgstr "repeupler les Γ©tapes nΒ°2 et nΒ°3 pour les chemins listΓ©s" -#: builtin/update-index.c:981 +#: builtin/update-index.c:993 msgid "only update entries that differ from HEAD" msgstr "mettre Γ jour seulement les Γ©lΓ©ments qui diffΓ¨rent de HEAD" -#: builtin/update-index.c:985 +#: builtin/update-index.c:997 msgid "ignore files missing from worktree" msgstr "ignorer les fichiers manquants dans la copie de travail" -#: builtin/update-index.c:988 +#: builtin/update-index.c:1000 msgid "report actions to standard output" msgstr "afficher les actions sur la sortie standard" -#: builtin/update-index.c:990 +#: builtin/update-index.c:1002 msgid "(for porcelains) forget saved unresolved conflicts" msgstr "(pour porcelaines) oublier les conflits sauvΓ©s et non rΓ©solus" -#: builtin/update-index.c:994 +#: builtin/update-index.c:1006 msgid "write index in this format" msgstr "Γ©crire l'index dans ce format" -#: builtin/update-index.c:996 +#: builtin/update-index.c:1008 msgid "enable or disable split index" msgstr "activer ou dΓ©sactiver l'index divisΓ©" -#: builtin/update-index.c:998 +#: builtin/update-index.c:1010 msgid "enable/disable untracked cache" -msgstr "activer ou dΓ©sactiver le cache non-suivi" +msgstr "activer ou dΓ©sactiver le cache de non-suivis" -#: builtin/update-index.c:1000 +#: builtin/update-index.c:1012 +msgid "test if the filesystem supports untracked cache" +msgstr "tester si le systΓ¨me de fichier supporte le cache de non-suivis" + +#: builtin/update-index.c:1014 msgid "enable untracked cache without testing the filesystem" -msgstr "activer le cache non-suivi sans tester le systΓ¨me de fichier" +msgstr "activer le cache de non-suivis sans tester le systΓ¨me de fichier" + +#: builtin/update-index.c:1134 +msgid "Untracked cache disabled" +msgstr "Le cache non suivi est dΓ©sactivΓ©" + +#: builtin/update-index.c:1146 +#, c-format +msgid "Untracked cache enabled for '%s'" +msgstr "Le cache non suivi est activΓ© pour '%s'" #: builtin/update-ref.c:9 msgid "git update-ref [<options>] -d <refname> [<old-val>]" @@ -11305,35 +11512,35 @@ msgstr "Γ©chec de la suppression de %s" msgid "'%s' already exists" msgstr "'%s' existe dΓ©jΓ " -#: builtin/worktree.c:235 +#: builtin/worktree.c:233 #, c-format msgid "could not create directory of '%s'" msgstr "impossible de crΓ©er le rΓ©pertoire de '%s'" -#: builtin/worktree.c:271 +#: builtin/worktree.c:269 #, c-format msgid "Preparing %s (identifier %s)" msgstr "PrΓ©paration de %s (identifiant %s)" -#: builtin/worktree.c:319 +#: builtin/worktree.c:317 msgid "checkout <branch> even if already checked out in other worktree" msgstr "" "extraire la <branche> mΓͺme si elle est dΓ©jΓ extraite dans une autre copie de " "travail" -#: builtin/worktree.c:321 +#: builtin/worktree.c:319 msgid "create a new branch" msgstr "crΓ©er une nouvelle branche" -#: builtin/worktree.c:323 +#: builtin/worktree.c:321 msgid "create or reset a branch" msgstr "crΓ©er ou rΓ©initialiser une branche" -#: builtin/worktree.c:324 +#: builtin/worktree.c:322 msgid "detach HEAD at named commit" msgstr "dΓ©tacher la HEAD au commit nommΓ©" -#: builtin/worktree.c:331 +#: builtin/worktree.c:329 msgid "-b, -B, and --detach are mutually exclusive" msgstr "-b, -B et --detach sont mutuellement exclusifs" @@ -11353,7 +11560,7 @@ msgstr "Γ©crire l'objet arbre pour un sous-rΓ©pertoire <prΓ©fixe>" msgid "only useful for debugging" msgstr "seulement utile pour le dΓ©bogage" -#: credential-cache--daemon.c:255 +#: credential-cache--daemon.c:262 msgid "print debugging messages to stderr" msgstr "afficher les messages de debug sur stderr" @@ -11367,6 +11574,10 @@ msgstr "" "quelques concepts. Voir 'git help <commande>' ou 'git help <concept>'\n" "pour en lire plus Γ propos d'une commande spΓ©cifique ou d'un concept." +#: http.c:321 +msgid "Public key pinning not supported with cURL < 7.44.0" +msgstr "L'Γ©pinglage de clΓ© publique n'est pas supportΓ© avec cuRL < 7.44.0" + #: common-cmds.h:9 msgid "start a working area (see also: git help tutorial)" msgstr "dΓ©marrer une zone de travail (voir aussiΒ : git help tutorial)" @@ -11451,9 +11662,8 @@ msgid "Update remote refs along with associated objects" msgstr "Mettre Γ jour les rΓ©fΓ©rences distantes ainsi que les objets associΓ©s" #: common-cmds.h:32 -msgid "Forward-port local commits to the updated upstream head" -msgstr "" -"Reporter les validations locales sur le sommet mis Γ jour d'une branche amont" +msgid "Reapply commits on top of another base tip" +msgstr "RΓ©application des commits sur le sommet de l'autre base" #: common-cmds.h:33 msgid "Reset current HEAD to the specified state" @@ -12179,7 +12389,7 @@ msgstr "" "Le sous-module '$name' ($url) n'est pas enregistrΓ© pour le chemin " "'$displaypath'" -#: git-submodule.sh:705 +#: git-submodule.sh:723 #, sh-format msgid "" "Submodule path '$displaypath' not initialized\n" @@ -12188,57 +12398,57 @@ msgstr "" "Chemin de sous-module '$displaypath' non initialisΓ©\n" "Peut-Γͺtre souhaitez-vous utiliser 'update --init' ?" -#: git-submodule.sh:718 +#: git-submodule.sh:736 #, sh-format msgid "Unable to find current revision in submodule path '$displaypath'" msgstr "" "Impossible de trouver la rΓ©vision courante dans le chemin de sous-module " "'$displaypath'" -#: git-submodule.sh:727 +#: git-submodule.sh:745 #, sh-format msgid "Unable to fetch in submodule path '$sm_path'" msgstr "Impossible de rapatrier dans le chemin de sous-module '$sm_path'" -#: git-submodule.sh:751 +#: git-submodule.sh:768 #, sh-format msgid "Unable to fetch in submodule path '$displaypath'" msgstr "Impossible de rapatrier dans le chemin de sous-module '$displaypath'" -#: git-submodule.sh:765 +#: git-submodule.sh:788 #, sh-format msgid "Unable to checkout '$sha1' in submodule path '$displaypath'" msgstr "" "Impossible d'extraire '$sha1' dans le chemin de sous-module '$displaypath'" -#: git-submodule.sh:766 +#: git-submodule.sh:789 #, sh-format msgid "Submodule path '$displaypath': checked out '$sha1'" msgstr "Chemin de sous-module '$displaypath' : '$sha1' extrait" -#: git-submodule.sh:770 +#: git-submodule.sh:793 #, sh-format msgid "Unable to rebase '$sha1' in submodule path '$displaypath'" msgstr "" "Impossible de rebaser '$sha1' dans le chemin de sous-module '$displaypath'" -#: git-submodule.sh:771 +#: git-submodule.sh:794 #, sh-format msgid "Submodule path '$displaypath': rebased into '$sha1'" msgstr "Chemin de sous-module '$displaypath' : rebasΓ© dans '$sha1'" -#: git-submodule.sh:776 +#: git-submodule.sh:799 #, sh-format msgid "Unable to merge '$sha1' in submodule path '$displaypath'" msgstr "" "Impossible de fusionner '$sha1' dans le chemin de sous-module '$displaypath'" -#: git-submodule.sh:777 +#: git-submodule.sh:800 #, sh-format msgid "Submodule path '$displaypath': merged in '$sha1'" msgstr "Chemin de sous-module '$displaypath' : fusionnΓ© dans '$sha1'" -#: git-submodule.sh:782 +#: git-submodule.sh:805 #, sh-format msgid "" "Execution of '$command $sha1' failed in submodule path '$prefix$sm_path'" @@ -12246,56 +12456,137 @@ msgstr "" "L'exΓ©cution de '$command $sha1' a Γ©chouΓ© dans le chemin de sous-module " "'$prefix$sm_path'" -#: git-submodule.sh:783 +#: git-submodule.sh:806 #, sh-format msgid "Submodule path '$prefix$sm_path': '$command $sha1'" msgstr "Chemin de sous-module '$prefix$sm_path' : '$command $sha1'" -#: git-submodule.sh:813 +#: git-submodule.sh:836 #, sh-format msgid "Failed to recurse into submodule path '$displaypath'" msgstr "Γchec de parcours dans le chemin du sous-module '$displaypath'" -#: git-submodule.sh:921 +#: git-submodule.sh:944 msgid "The --cached option cannot be used with the --files option" msgstr "L'option --cached ne peut pas Γͺtre utilisΓ©e avec l'option --files" -#: git-submodule.sh:973 +#: git-submodule.sh:996 #, sh-format msgid "unexpected mode $mod_dst" msgstr "mode $mod_dst inattendu" -#: git-submodule.sh:993 +#: git-submodule.sh:1016 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_src" msgstr " Attention : $display_name ne contient pas la validation $sha1_src" -#: git-submodule.sh:996 +#: git-submodule.sh:1019 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_dst" msgstr " Attention : $display_name ne contient pas la validation $sha1_dst" -#: git-submodule.sh:999 +#: git-submodule.sh:1022 #, sh-format msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst" msgstr "" " Attention : $display_name ne contient pas les validations $sha1_src et " "$sha1_dst" -#: git-submodule.sh:1024 +#: git-submodule.sh:1047 msgid "blob" msgstr "blob" -#: git-submodule.sh:1142 +#: git-submodule.sh:1165 #, sh-format msgid "Failed to recurse into submodule path '$sm_path'" msgstr "Γchec de parcours dans le chemin du sous-module '$sm_path'" -#: git-submodule.sh:1206 +#: git-submodule.sh:1229 #, sh-format msgid "Synchronizing submodule url for '$displaypath'" msgstr "Synchronisation de l'URL sous-module pour '$displaypath'" +#~ msgid "Forward-port local commits to the updated upstream head" +#~ msgstr "" +#~ "Reporter les validations locales sur le sommet mis Γ jour d'une branche " +#~ "amont" + +#~ msgid "unable to parse format" +#~ msgstr "impossible d'analyser le format" + +#~ msgid "improper format entered align:%s" +#~ msgstr "format non convenable align:%s" + +#~ msgid "Could not set core.worktree in %s" +#~ msgstr "Impossible de paramΓ©trer core.worktree dans %s" + +#~ msgid "" +#~ "push.default is unset; its implicit value has changed in\n" +#~ "Git 2.0 from 'matching' to 'simple'. To squelch this message\n" +#~ "and maintain the traditional behavior, use:\n" +#~ "\n" +#~ " git config --global push.default matching\n" +#~ "\n" +#~ "To squelch this message and adopt the new behavior now, use:\n" +#~ "\n" +#~ " git config --global push.default simple\n" +#~ "\n" +#~ "When push.default is set to 'matching', git will push local branches\n" +#~ "to the remote branches that already exist with the same name.\n" +#~ "\n" +#~ "Since Git 2.0, Git defaults to the more conservative 'simple'\n" +#~ "behavior, which only pushes the current branch to the corresponding\n" +#~ "remote branch that 'git pull' uses to update the current branch.\n" +#~ "\n" +#~ "See 'git help config' and search for 'push.default' for further " +#~ "information.\n" +#~ "(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n" +#~ "'current' instead of 'simple' if you sometimes use older versions of Git)" +#~ msgstr "" +#~ "push.default n'est pas dΓ©fini ; sa valeur implicite a changΓ© dans Git " +#~ "2.0\n" +#~ "de 'matching' vers 'simple'. Pour supprimer ce message et maintenir\n" +#~ "le comportement actuel aprΓ¨s la modification de la valeur de dΓ©faut, " +#~ "utilisez :\n" +#~ "\n" +#~ " git config --global push.default matching\n" +#~ "\n" +#~ "Pour supprimer ce message et adopter le nouveau comportement maintenant, " +#~ "utilisez :\n" +#~ "\n" +#~ " git config --global push.default simple\n" +#~ "\n" +#~ "Quand push.default vaudra 'matching', git poussera les branches locales\n" +#~ "sur les branches distantes qui existent dΓ©jΓ avec le mΓͺme nom.\n" +#~ "\n" +#~ "Depuis Git 2.0, Git utilise par dΓ©faut le comportement plus conservatif " +#~ "'simple'\n" +#~ "qui ne pousse la branche courante que vers la branche distante " +#~ "correspondante\n" +#~ "que 'git pull' utilise pour mettre Γ jour la branche courante.\n" +#~ " \n" +#~ "Voir 'git help config' et chercher 'push.default' pour plus " +#~ "d'information.\n" +#~ "(le mode 'simple' a Γ©tΓ© introduit dans Git 1.7.11. Utilisez le mode " +#~ "similaire\n" +#~ "'current' au lieu de 'simple' si vous utilisez de temps en temps " +#~ "d'anciennes versions de Git)" + +#~ msgid "check|on-demand|no" +#~ msgstr "check|on-demand|no" + +#~ msgid "Could not append '%s'" +#~ msgstr "Impossible d'ajouter '%s'" + +#~ msgid "Could not set '%s'" +#~ msgstr "Impossible de dΓ©finir '%s'" + +#~ msgid "Missing author: %s" +#~ msgstr "Auteur manquant : %s" + +#~ msgid "Testing " +#~ msgstr "Test en cours " + #~ msgid "unable to look up current user in the passwd file: %s" #~ msgstr "" #~ "impossible de rechercher l'utilisateur actuel dans le fichier de mots de " @@ -12369,9 +12660,6 @@ msgstr "Synchronisation de l'URL sous-module pour '$displaypath'" #~ msgid "unable to parse value '%s' for option %s" #~ msgstr "impossible d'analyser la valeur '%s' pour l'option %s" -#~ msgid "unable to resolve HEAD" -#~ msgstr "impossible de rΓ©soudre HEAD" - #~ msgid "-b and -B are mutually exclusive" #~ msgstr "-b et -B sont mutuellement exclusifs" @@ -12437,9 +12725,6 @@ msgstr "Synchronisation de l'URL sous-module pour '$displaypath'" #~ msgid "prune .git/worktrees" #~ msgstr "Γ©liminer .git/worktrees" -#~ msgid "--worktrees does not take extra arguments" -#~ msgstr "--worktrees n'accepte pas d'argument supplΓ©mentaire" - #~ msgid "The most commonly used git commands are:" #~ msgstr "Les commandes git les plus utilisΓ©es sont :" @@ -12470,9 +12755,6 @@ msgstr "Synchronisation de l'URL sous-module pour '$displaypath'" #~ msgid "force creation (when already exists)" #~ msgstr "forcer la crΓ©ation (mΓͺme si la cible existe)" -#~ msgid "Malformed ident string: '%s'" -#~ msgstr "ChaΓne ident mal formΓ©e : '%s'" - #~ msgid "slot" #~ msgstr "emplacement" @@ -12530,9 +12812,6 @@ msgstr "Synchronisation de l'URL sous-module pour '$displaypath'" #~ msgid "bug" #~ msgstr "bogue" -#~ msgid "ahead " -#~ msgstr "devant " - #~ msgid ", behind " #~ msgstr ", derriΓ¨re " diff --git a/po/git.pot b/po/git.pot index 068f4bbd10..72ef798cde 100644 --- a/po/git.pot +++ b/po/git.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2015-12-22 22:50+0800\n" +"POT-Creation-Date: 2016-03-16 00:16+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -29,7 +29,7 @@ msgid "" "as appropriate to mark resolution and make a commit." msgstr "" -#: advice.c:101 builtin/merge.c:1225 +#: advice.c:101 builtin/merge.c:1226 msgid "You have not concluded your merge (MERGE_HEAD exists)." msgstr "" @@ -71,7 +71,7 @@ msgstr "" msgid "archive format" msgstr "" -#: archive.c:430 builtin/log.c:1229 +#: archive.c:430 builtin/log.c:1232 msgid "prefix" msgstr "" @@ -79,11 +79,11 @@ msgstr "" msgid "prepend prefix to each pathname in the archive" msgstr "" -#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2535 -#: builtin/blame.c:2536 builtin/config.c:58 builtin/fast-export.c:987 -#: builtin/fast-export.c:989 builtin/grep.c:707 builtin/hash-object.c:99 -#: builtin/ls-files.c:446 builtin/ls-files.c:449 builtin/notes.c:395 -#: builtin/notes.c:558 builtin/read-tree.c:109 parse-options.h:153 +#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2547 +#: builtin/blame.c:2548 builtin/config.c:60 builtin/fast-export.c:987 +#: builtin/fast-export.c:989 builtin/grep.c:720 builtin/hash-object.c:100 +#: builtin/ls-files.c:459 builtin/ls-files.c:462 builtin/notes.c:398 +#: builtin/notes.c:561 builtin/read-tree.c:109 parse-options.h:153 msgid "file" msgstr "" @@ -115,7 +115,7 @@ msgstr "" msgid "list supported archive formats" msgstr "" -#: archive.c:451 builtin/archive.c:90 builtin/clone.c:77 +#: archive.c:451 builtin/archive.c:90 builtin/clone.c:78 msgid "repo" msgstr "" @@ -123,7 +123,7 @@ msgstr "" msgid "retrieve the archive from remote repository <repo>" msgstr "" -#: archive.c:453 builtin/archive.c:92 builtin/notes.c:479 +#: archive.c:453 builtin/archive.c:92 builtin/notes.c:482 msgid "command" msgstr "" @@ -131,87 +131,100 @@ msgstr "" msgid "path to the remote git-upload-archive command" msgstr "" -#: attr.c:265 +#: attr.c:263 msgid "" "Negative patterns are ignored in git attributes\n" "Use '\\!' for literal leading exclamation." msgstr "" -#: branch.c:61 +#: branch.c:53 +#, c-format +msgid "" +"\n" +"After fixing the error cause you may try to fix up\n" +"the remote tracking information by invoking\n" +"\"git branch --set-upstream-to=%s%s%s\"." +msgstr "" + +#: branch.c:67 #, c-format msgid "Not setting branch %s as its own upstream." msgstr "" -#: branch.c:84 +#: branch.c:93 #, c-format msgid "Branch %s set up to track remote branch %s from %s by rebasing." msgstr "" -#: branch.c:85 +#: branch.c:94 #, c-format msgid "Branch %s set up to track remote branch %s from %s." msgstr "" -#: branch.c:89 +#: branch.c:98 #, c-format msgid "Branch %s set up to track local branch %s by rebasing." msgstr "" -#: branch.c:90 +#: branch.c:99 #, c-format msgid "Branch %s set up to track local branch %s." msgstr "" -#: branch.c:95 +#: branch.c:104 #, c-format msgid "Branch %s set up to track remote ref %s by rebasing." msgstr "" -#: branch.c:96 +#: branch.c:105 #, c-format msgid "Branch %s set up to track remote ref %s." msgstr "" -#: branch.c:100 +#: branch.c:109 #, c-format msgid "Branch %s set up to track local ref %s by rebasing." msgstr "" -#: branch.c:101 +#: branch.c:110 #, c-format msgid "Branch %s set up to track local ref %s." msgstr "" -#: branch.c:134 +#: branch.c:119 +msgid "Unable to write upstream branch configuration" +msgstr "" + +#: branch.c:156 #, c-format msgid "Not tracking: ambiguous information for ref %s" msgstr "" -#: branch.c:163 +#: branch.c:185 #, c-format msgid "'%s' is not a valid branch name." msgstr "" -#: branch.c:168 +#: branch.c:190 #, c-format msgid "A branch named '%s' already exists." msgstr "" -#: branch.c:176 +#: branch.c:198 msgid "Cannot force update the current branch." msgstr "" -#: branch.c:196 +#: branch.c:218 #, c-format msgid "Cannot setup tracking information; starting point '%s' is not a branch." msgstr "" -#: branch.c:198 +#: branch.c:220 #, c-format msgid "the requested upstream branch '%s' does not exist" msgstr "" -#: branch.c:200 +#: branch.c:222 msgid "" "\n" "If you are planning on basing your work on an upstream\n" @@ -223,22 +236,22 @@ msgid "" "\"git push -u\" to set the upstream config as you push." msgstr "" -#: branch.c:244 +#: branch.c:266 #, c-format msgid "Not a valid object name: '%s'." msgstr "" -#: branch.c:264 +#: branch.c:286 #, c-format msgid "Ambiguous object name: '%s'." msgstr "" -#: branch.c:269 +#: branch.c:291 #, c-format msgid "Not a valid branch point: '%s'." msgstr "" -#: branch.c:322 +#: branch.c:344 #, c-format msgid "'%s' is already checked out at '%s'" msgstr "" @@ -262,10 +275,10 @@ msgstr "" msgid "Repository lacks these prerequisite commits:" msgstr "" -#: bundle.c:163 ref-filter.c:1372 sequencer.c:636 sequencer.c:1083 -#: builtin/blame.c:2734 builtin/commit.c:1045 builtin/log.c:334 -#: builtin/log.c:849 builtin/log.c:1461 builtin/log.c:1694 builtin/merge.c:358 -#: builtin/shortlog.c:158 +#: bundle.c:163 ref-filter.c:1462 sequencer.c:627 sequencer.c:1074 +#: builtin/blame.c:2754 builtin/commit.c:1045 builtin/log.c:334 +#: builtin/log.c:852 builtin/log.c:1467 builtin/log.c:1700 builtin/merge.c:358 +#: builtin/shortlog.c:170 msgid "revision walk setup failed" msgstr "" @@ -304,7 +317,7 @@ msgstr "" msgid "ref '%s' is excluded by the rev-list options" msgstr "" -#: bundle.c:443 builtin/log.c:157 builtin/log.c:1369 builtin/shortlog.c:261 +#: bundle.c:443 builtin/log.c:157 builtin/log.c:1372 builtin/shortlog.c:273 #, c-format msgid "unrecognized argument: %s" msgstr "" @@ -327,8 +340,8 @@ msgstr "" msgid "invalid color value: %.*s" msgstr "" -#: commit.c:40 builtin/am.c:452 builtin/am.c:488 builtin/am.c:1520 -#: builtin/am.c:2149 +#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1505 +#: builtin/am.c:2135 #, c-format msgid "could not parse %s" msgstr "" @@ -342,59 +355,64 @@ msgstr "" msgid "memory exhausted" msgstr "" -#: config.c:474 config.c:476 +#: config.c:475 config.c:477 #, c-format -msgid "bad config file line %d in %s" +msgid "bad config line %d in %s %s" msgstr "" -#: config.c:592 +#: config.c:593 #, c-format -msgid "bad numeric config value '%s' for '%s' in %s: %s" +msgid "bad numeric config value '%s' for '%s' in %s %s: %s" msgstr "" -#: config.c:594 +#: config.c:595 #, c-format msgid "bad numeric config value '%s' for '%s': %s" msgstr "" -#: config.c:679 +#: config.c:680 #, c-format msgid "failed to expand user dir in: '%s'" msgstr "" -#: config.c:757 config.c:768 +#: config.c:758 config.c:769 #, c-format msgid "bad zlib compression level %d" msgstr "" -#: config.c:890 +#: config.c:891 #, c-format msgid "invalid mode for object creation: %s" msgstr "" -#: config.c:1216 +#: config.c:1220 msgid "unable to parse command-line config" msgstr "" -#: config.c:1277 +#: config.c:1281 msgid "unknown error occured while reading the configuration files" msgstr "" -#: config.c:1601 +#: config.c:1629 #, c-format msgid "unable to parse '%s' from command-line config" msgstr "" -#: config.c:1603 +#: config.c:1631 #, c-format msgid "bad config variable '%s' in file '%s' at line %d" msgstr "" -#: config.c:1662 +#: config.c:1690 #, c-format msgid "%s has multiple values" msgstr "" +#: config.c:2226 +#, c-format +msgid "Could not set '%s' to '%s'" +msgstr "" + #: connected.c:69 msgid "Could not run 'git rev-list'" msgstr "" @@ -508,33 +526,33 @@ msgid "" "%s" msgstr "" -#: diff.c:3000 +#: diff.c:2997 #, c-format msgid "external diff died, stopping at %s" msgstr "" -#: diff.c:3396 +#: diff.c:3393 msgid "--follow requires exactly one pathspec" msgstr "" -#: diff.c:3559 +#: diff.c:3556 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" "%s" msgstr "" -#: diff.c:3573 +#: diff.c:3570 #, c-format msgid "Failed to parse --submodule option parameter: '%s'" msgstr "" -#: dir.c:1915 +#: dir.c:2004 msgid "failed to get kernel name and information" msgstr "" -#: dir.c:1998 -msgid "Untracked cache is disabled on this system." +#: dir.c:2123 +msgid "Untracked cache is disabled on this system or location." msgstr "" #: gpg-interface.c:166 gpg-interface.c:237 @@ -574,48 +592,48 @@ msgstr "" msgid "'%s': short read %s" msgstr "" -#: help.c:207 +#: help.c:205 #, c-format msgid "available git commands in '%s'" msgstr "" -#: help.c:214 +#: help.c:212 msgid "git commands available from elsewhere on your $PATH" msgstr "" -#: help.c:246 +#: help.c:244 msgid "These are common Git commands used in various situations:" msgstr "" -#: help.c:311 +#: help.c:309 #, c-format msgid "" "'%s' appears to be a git command, but we were not\n" "able to execute it. Maybe git-%s is broken?" msgstr "" -#: help.c:368 +#: help.c:366 msgid "Uh oh. Your system reports no Git commands at all." msgstr "" -#: help.c:390 +#: help.c:388 #, c-format msgid "" "WARNING: You called a Git command named '%s', which does not exist.\n" "Continuing under the assumption that you meant '%s'" msgstr "" -#: help.c:395 +#: help.c:393 #, c-format msgid "in %0.1f seconds automatically..." msgstr "" -#: help.c:402 +#: help.c:400 #, c-format msgid "git: '%s' is not a git command. See 'git --help'." msgstr "" -#: help.c:406 help.c:466 +#: help.c:404 help.c:464 msgid "" "\n" "Did you mean this?" @@ -625,7 +643,7 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: help.c:462 +#: help.c:460 #, c-format msgid "%s: %s - %s" msgstr "" @@ -634,8 +652,8 @@ msgstr "" msgid "failed to read the cache" msgstr "" -#: merge.c:94 builtin/am.c:2022 builtin/am.c:2057 builtin/checkout.c:376 -#: builtin/checkout.c:587 builtin/clone.c:722 +#: merge.c:94 builtin/am.c:2008 builtin/am.c:2043 builtin/checkout.c:376 +#: builtin/checkout.c:587 builtin/clone.c:730 msgid "unable to write new index file" msgstr "" @@ -653,233 +671,233 @@ msgstr "" msgid "error building trees" msgstr "" -#: merge-recursive.c:686 +#: merge-recursive.c:689 #, c-format msgid "failed to create path '%s'%s" msgstr "" -#: merge-recursive.c:697 +#: merge-recursive.c:700 #, c-format msgid "Removing %s to make room for subdirectory\n" msgstr "" -#: merge-recursive.c:711 merge-recursive.c:732 +#: merge-recursive.c:714 merge-recursive.c:735 msgid ": perhaps a D/F conflict?" msgstr "" -#: merge-recursive.c:722 +#: merge-recursive.c:725 #, c-format msgid "refusing to lose untracked file at '%s'" msgstr "" -#: merge-recursive.c:762 +#: merge-recursive.c:765 #, c-format msgid "cannot read object %s '%s'" msgstr "" -#: merge-recursive.c:764 +#: merge-recursive.c:767 #, c-format msgid "blob expected for %s '%s'" msgstr "" -#: merge-recursive.c:787 builtin/clone.c:369 +#: merge-recursive.c:790 builtin/clone.c:374 #, c-format msgid "failed to open '%s'" msgstr "" -#: merge-recursive.c:795 +#: merge-recursive.c:798 #, c-format msgid "failed to symlink '%s'" msgstr "" -#: merge-recursive.c:798 +#: merge-recursive.c:801 #, c-format msgid "do not know what to do with %06o %s '%s'" msgstr "" -#: merge-recursive.c:936 +#: merge-recursive.c:939 msgid "Failed to execute internal merge" msgstr "" -#: merge-recursive.c:940 +#: merge-recursive.c:943 #, c-format msgid "Unable to add %s to database" msgstr "" -#: merge-recursive.c:956 +#: merge-recursive.c:959 msgid "unsupported object type in the tree" msgstr "" -#: merge-recursive.c:1031 merge-recursive.c:1045 +#: merge-recursive.c:1034 merge-recursive.c:1048 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " "in tree." msgstr "" -#: merge-recursive.c:1037 merge-recursive.c:1050 +#: merge-recursive.c:1040 merge-recursive.c:1053 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " "in tree at %s." msgstr "" -#: merge-recursive.c:1091 +#: merge-recursive.c:1094 msgid "rename" msgstr "" -#: merge-recursive.c:1091 +#: merge-recursive.c:1094 msgid "renamed" msgstr "" -#: merge-recursive.c:1147 +#: merge-recursive.c:1150 #, c-format msgid "%s is a directory in %s adding as %s instead" msgstr "" -#: merge-recursive.c:1169 +#: merge-recursive.c:1172 #, c-format msgid "" "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s" "\"->\"%s\" in \"%s\"%s" msgstr "" -#: merge-recursive.c:1174 +#: merge-recursive.c:1177 msgid " (left unresolved)" msgstr "" -#: merge-recursive.c:1228 +#: merge-recursive.c:1231 #, c-format msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s" msgstr "" -#: merge-recursive.c:1258 +#: merge-recursive.c:1261 #, c-format msgid "Renaming %s to %s and %s to %s instead" msgstr "" -#: merge-recursive.c:1457 +#: merge-recursive.c:1460 #, c-format msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s" msgstr "" -#: merge-recursive.c:1467 +#: merge-recursive.c:1470 #, c-format msgid "Adding merged %s" msgstr "" -#: merge-recursive.c:1472 merge-recursive.c:1674 +#: merge-recursive.c:1475 merge-recursive.c:1677 #, c-format msgid "Adding as %s instead" msgstr "" -#: merge-recursive.c:1523 +#: merge-recursive.c:1526 #, c-format msgid "cannot read object %s" msgstr "" -#: merge-recursive.c:1526 +#: merge-recursive.c:1529 #, c-format msgid "object %s is not a blob" msgstr "" -#: merge-recursive.c:1578 +#: merge-recursive.c:1581 msgid "modify" msgstr "" -#: merge-recursive.c:1578 +#: merge-recursive.c:1581 msgid "modified" msgstr "" -#: merge-recursive.c:1588 +#: merge-recursive.c:1591 msgid "content" msgstr "" -#: merge-recursive.c:1595 +#: merge-recursive.c:1598 msgid "add/add" msgstr "" -#: merge-recursive.c:1629 +#: merge-recursive.c:1632 #, c-format msgid "Skipped %s (merged same as existing)" msgstr "" -#: merge-recursive.c:1643 +#: merge-recursive.c:1646 #, c-format msgid "Auto-merging %s" msgstr "" -#: merge-recursive.c:1647 git-submodule.sh:1025 +#: merge-recursive.c:1650 git-submodule.sh:1048 msgid "submodule" msgstr "" -#: merge-recursive.c:1648 +#: merge-recursive.c:1651 #, c-format msgid "CONFLICT (%s): Merge conflict in %s" msgstr "" -#: merge-recursive.c:1734 +#: merge-recursive.c:1737 #, c-format msgid "Removing %s" msgstr "" -#: merge-recursive.c:1759 +#: merge-recursive.c:1762 msgid "file/directory" msgstr "" -#: merge-recursive.c:1765 +#: merge-recursive.c:1768 msgid "directory/file" msgstr "" -#: merge-recursive.c:1770 +#: merge-recursive.c:1773 #, c-format msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s" msgstr "" -#: merge-recursive.c:1780 +#: merge-recursive.c:1783 #, c-format msgid "Adding %s" msgstr "" -#: merge-recursive.c:1797 +#: merge-recursive.c:1800 msgid "Fatal merge failure, shouldn't happen." msgstr "" -#: merge-recursive.c:1816 +#: merge-recursive.c:1819 msgid "Already up-to-date!" msgstr "" -#: merge-recursive.c:1825 +#: merge-recursive.c:1828 #, c-format msgid "merging of trees %s and %s failed" msgstr "" -#: merge-recursive.c:1855 +#: merge-recursive.c:1858 #, c-format msgid "Unprocessed path??? %s" msgstr "" -#: merge-recursive.c:1903 +#: merge-recursive.c:1906 msgid "Merging:" msgstr "" -#: merge-recursive.c:1916 +#: merge-recursive.c:1919 #, c-format msgid "found %u common ancestor:" msgid_plural "found %u common ancestors:" msgstr[0] "" msgstr[1] "" -#: merge-recursive.c:1953 +#: merge-recursive.c:1956 msgid "merge returned no commit" msgstr "" -#: merge-recursive.c:2010 +#: merge-recursive.c:2013 #, c-format msgid "Could not parse object '%s'" msgstr "" -#: merge-recursive.c:2021 builtin/merge.c:645 +#: merge-recursive.c:2024 builtin/merge.c:646 msgid "Unable to write index." msgstr "" @@ -993,12 +1011,12 @@ msgstr "" msgid "%s: pathspec magic not supported by this command: %s" msgstr "" -#: pathspec.c:432 +#: pathspec.c:433 #, c-format msgid "pathspec '%s' is beyond a symbolic link" msgstr "" -#: pathspec.c:441 +#: pathspec.c:442 msgid "" "There is nothing to exclude from by :(exclude) patterns.\n" "Perhaps you forgot to add either ':/' or '.' ?" @@ -1026,163 +1044,248 @@ msgid "" "Using version %i" msgstr "" -#: refs.c:543 builtin/merge.c:760 builtin/merge.c:871 builtin/merge.c:973 -#: builtin/merge.c:983 +#: refs.c:543 builtin/merge.c:761 builtin/merge.c:872 builtin/merge.c:974 +#: builtin/merge.c:984 #, c-format msgid "Could not open '%s' for writing" msgstr "" -#: refs/files-backend.c:2359 +#: refs/files-backend.c:2374 #, c-format msgid "could not delete reference %s: %s" msgstr "" -#: refs/files-backend.c:2362 +#: refs/files-backend.c:2377 #, c-format msgid "could not delete references: %s" msgstr "" -#: refs/files-backend.c:2371 +#: refs/files-backend.c:2386 #, c-format msgid "could not remove reference %s" msgstr "" -#: ref-filter.c:245 +#: ref-filter.c:55 #, c-format -msgid "format: %%(end) atom used without corresponding atom" +msgid "expected format: %%(color:<color>)" msgstr "" -#: ref-filter.c:704 +#: ref-filter.c:57 +#, c-format +msgid "unrecognized color: %%(color:%s)" +msgstr "" + +#: ref-filter.c:71 +#, c-format +msgid "unrecognized format: %%(%s)" +msgstr "" + +#: ref-filter.c:77 +#, c-format +msgid "%%(body) does not take arguments" +msgstr "" + +#: ref-filter.c:84 +#, c-format +msgid "%%(subject) does not take arguments" +msgstr "" + +#: ref-filter.c:101 #, c-format msgid "positive value expected contents:lines=%s" msgstr "" -#: ref-filter.c:833 +#: ref-filter.c:103 #, c-format -msgid "expected format: %%(color:<color>)" +msgid "unrecognized %%(contents) argument: %s" msgstr "" -#: ref-filter.c:835 -msgid "unable to parse format" +#: ref-filter.c:113 +#, c-format +msgid "unrecognized %%(objectname) argument: %s" msgstr "" -#: ref-filter.c:870 +#: ref-filter.c:135 #, c-format msgid "expected format: %%(align:<width>,<position>)" msgstr "" -#: ref-filter.c:893 +#: ref-filter.c:147 #, c-format -msgid "improper format entered align:%s" +msgid "unrecognized position:%s" msgstr "" -#: ref-filter.c:898 +#: ref-filter.c:151 +#, c-format +msgid "unrecognized width:%s" +msgstr "" + +#: ref-filter.c:157 +#, c-format +msgid "unrecognized %%(align) argument: %s" +msgstr "" + +#: ref-filter.c:161 #, c-format msgid "positive width expected with the %%(align) atom" msgstr "" -#: ref-filter.c:1219 +#: ref-filter.c:244 +#, c-format +msgid "malformed field name: %.*s" +msgstr "" + +#: ref-filter.c:270 +#, c-format +msgid "unknown field name: %.*s" +msgstr "" + +#: ref-filter.c:372 +#, c-format +msgid "format: %%(end) atom used without corresponding atom" +msgstr "" + +#: ref-filter.c:424 +#, c-format +msgid "malformed format string %s" +msgstr "" + +#: ref-filter.c:878 +msgid ":strip= requires a positive integer argument" +msgstr "" + +#: ref-filter.c:883 +#, c-format +msgid "ref '%s' does not have %ld components to :strip" +msgstr "" + +#: ref-filter.c:1046 +#, c-format +msgid "unknown %.*s format %s" +msgstr "" + +#: ref-filter.c:1066 ref-filter.c:1097 +#, c-format +msgid "missing object %s for %s" +msgstr "" + +#: ref-filter.c:1069 ref-filter.c:1100 +#, c-format +msgid "parse_object_buffer failed on %s for %s" +msgstr "" + +#: ref-filter.c:1311 #, c-format msgid "malformed object at '%s'" msgstr "" -#: ref-filter.c:1561 +#: ref-filter.c:1373 +#, c-format +msgid "ignoring ref with broken name %s" +msgstr "" + +#: ref-filter.c:1378 +#, c-format +msgid "ignoring broken ref %s" +msgstr "" + +#: ref-filter.c:1651 #, c-format msgid "format: %%(end) atom missing" msgstr "" -#: ref-filter.c:1615 +#: ref-filter.c:1705 #, c-format msgid "malformed object name %s" msgstr "" -#: remote.c:756 +#: remote.c:745 #, c-format msgid "Cannot fetch both %s and %s to %s" msgstr "" -#: remote.c:760 +#: remote.c:749 #, c-format msgid "%s usually tracks %s, not %s" msgstr "" -#: remote.c:764 +#: remote.c:753 #, c-format msgid "%s tracks both %s and %s" msgstr "" -#: remote.c:772 +#: remote.c:761 msgid "Internal error" msgstr "" -#: remote.c:1687 remote.c:1730 +#: remote.c:1677 remote.c:1720 msgid "HEAD does not point to a branch" msgstr "" -#: remote.c:1696 +#: remote.c:1686 #, c-format msgid "no such branch: '%s'" msgstr "" -#: remote.c:1699 +#: remote.c:1689 #, c-format msgid "no upstream configured for branch '%s'" msgstr "" -#: remote.c:1705 +#: remote.c:1695 #, c-format msgid "upstream branch '%s' not stored as a remote-tracking branch" msgstr "" -#: remote.c:1720 +#: remote.c:1710 #, c-format msgid "push destination '%s' on remote '%s' has no local tracking branch" msgstr "" -#: remote.c:1735 +#: remote.c:1725 #, c-format msgid "branch '%s' has no remote for pushing" msgstr "" -#: remote.c:1746 +#: remote.c:1736 #, c-format msgid "push refspecs for '%s' do not include '%s'" msgstr "" -#: remote.c:1759 +#: remote.c:1749 msgid "push has no destination (push.default is 'nothing')" msgstr "" -#: remote.c:1781 +#: remote.c:1771 msgid "cannot resolve 'simple' push to a single destination" msgstr "" -#: remote.c:2083 +#: remote.c:2073 #, c-format msgid "Your branch is based on '%s', but the upstream is gone.\n" msgstr "" -#: remote.c:2087 +#: remote.c:2077 msgid " (use \"git branch --unset-upstream\" to fixup)\n" msgstr "" -#: remote.c:2090 +#: remote.c:2080 #, c-format msgid "Your branch is up-to-date with '%s'.\n" msgstr "" -#: remote.c:2094 +#: remote.c:2084 #, c-format msgid "Your branch is ahead of '%s' by %d commit.\n" msgid_plural "Your branch is ahead of '%s' by %d commits.\n" msgstr[0] "" msgstr[1] "" -#: remote.c:2100 +#: remote.c:2090 msgid " (use \"git push\" to publish your local commits)\n" msgstr "" -#: remote.c:2103 +#: remote.c:2093 #, c-format msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n" msgid_plural "" @@ -1190,11 +1293,11 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: remote.c:2111 +#: remote.c:2101 msgid " (use \"git pull\" to update your local branch)\n" msgstr "" -#: remote.c:2114 +#: remote.c:2104 #, c-format msgid "" "Your branch and '%s' have diverged,\n" @@ -1205,28 +1308,28 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: remote.c:2124 +#: remote.c:2114 msgid " (use \"git pull\" to merge the remote branch into yours)\n" msgstr "" -#: revision.c:2193 +#: revision.c:2131 msgid "your current branch appears to be broken" msgstr "" -#: revision.c:2196 +#: revision.c:2134 #, c-format msgid "your current branch '%s' does not have any commits yet" msgstr "" -#: revision.c:2390 +#: revision.c:2328 msgid "--first-parent is incompatible with --bisect" msgstr "" -#: run-command.c:90 +#: run-command.c:92 msgid "open /dev/null failed" msgstr "" -#: run-command.c:92 +#: run-command.c:94 #, c-format msgid "dup2(%d,%d) failed" msgstr "" @@ -1249,242 +1352,256 @@ msgstr "" msgid "the receiving end does not support --atomic push" msgstr "" -#: sequencer.c:183 +#: sequencer.c:174 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'" msgstr "" -#: sequencer.c:186 +#: sequencer.c:177 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'\n" "and commit the result with 'git commit'" msgstr "" -#: sequencer.c:199 sequencer.c:842 sequencer.c:922 +#: sequencer.c:190 sequencer.c:833 sequencer.c:913 #, c-format msgid "Could not write to %s" msgstr "" -#: sequencer.c:202 +#: sequencer.c:193 #, c-format msgid "Error wrapping up %s" msgstr "" -#: sequencer.c:217 +#: sequencer.c:208 msgid "Your local changes would be overwritten by cherry-pick." msgstr "" -#: sequencer.c:219 +#: sequencer.c:210 msgid "Your local changes would be overwritten by revert." msgstr "" -#: sequencer.c:222 +#: sequencer.c:213 msgid "Commit your changes or stash them to proceed." msgstr "" #. TRANSLATORS: %s will be "revert" or "cherry-pick" -#: sequencer.c:309 +#: sequencer.c:300 #, c-format msgid "%s: Unable to write new index file" msgstr "" -#: sequencer.c:327 +#: sequencer.c:318 msgid "Could not resolve HEAD commit\n" msgstr "" -#: sequencer.c:347 +#: sequencer.c:338 msgid "Unable to update cache tree\n" msgstr "" -#: sequencer.c:399 +#: sequencer.c:390 #, c-format msgid "Could not parse commit %s\n" msgstr "" -#: sequencer.c:404 +#: sequencer.c:395 #, c-format msgid "Could not parse parent commit %s\n" msgstr "" -#: sequencer.c:469 +#: sequencer.c:460 msgid "Your index file is unmerged." msgstr "" -#: sequencer.c:488 +#: sequencer.c:479 #, c-format msgid "Commit %s is a merge but no -m option was given." msgstr "" -#: sequencer.c:496 +#: sequencer.c:487 #, c-format msgid "Commit %s does not have parent %d" msgstr "" -#: sequencer.c:500 +#: sequencer.c:491 #, c-format msgid "Mainline was specified but commit %s is not a merge." msgstr "" #. TRANSLATORS: The first %s will be "revert" or #. "cherry-pick", the second %s a SHA1 -#: sequencer.c:513 +#: sequencer.c:504 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "" -#: sequencer.c:517 +#: sequencer.c:508 #, c-format msgid "Cannot get commit message for %s" msgstr "" -#: sequencer.c:603 +#: sequencer.c:594 #, c-format msgid "could not revert %s... %s" msgstr "" -#: sequencer.c:604 +#: sequencer.c:595 #, c-format msgid "could not apply %s... %s" msgstr "" -#: sequencer.c:639 +#: sequencer.c:630 msgid "empty commit set passed" msgstr "" -#: sequencer.c:647 +#: sequencer.c:638 #, c-format msgid "git %s: failed to read the index" msgstr "" -#: sequencer.c:651 +#: sequencer.c:642 #, c-format msgid "git %s: failed to refresh the index" msgstr "" -#: sequencer.c:711 +#: sequencer.c:702 #, c-format msgid "Cannot %s during a %s" msgstr "" -#: sequencer.c:733 +#: sequencer.c:724 #, c-format msgid "Could not parse line %d." msgstr "" -#: sequencer.c:738 +#: sequencer.c:729 msgid "No commits parsed." msgstr "" -#: sequencer.c:750 +#: sequencer.c:741 #, c-format msgid "Could not open %s" msgstr "" -#: sequencer.c:754 +#: sequencer.c:745 #, c-format msgid "Could not read %s." msgstr "" -#: sequencer.c:761 +#: sequencer.c:752 #, c-format msgid "Unusable instruction sheet: %s" msgstr "" -#: sequencer.c:791 +#: sequencer.c:782 #, c-format msgid "Invalid key: %s" msgstr "" -#: sequencer.c:794 builtin/pull.c:47 builtin/pull.c:49 +#: sequencer.c:785 builtin/pull.c:50 builtin/pull.c:52 #, c-format msgid "Invalid value for %s: %s" msgstr "" -#: sequencer.c:804 +#: sequencer.c:795 #, c-format msgid "Malformed options sheet: %s" msgstr "" -#: sequencer.c:823 +#: sequencer.c:814 msgid "a cherry-pick or revert is already in progress" msgstr "" -#: sequencer.c:824 +#: sequencer.c:815 msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" msgstr "" -#: sequencer.c:828 +#: sequencer.c:819 #, c-format msgid "Could not create sequencer directory %s" msgstr "" -#: sequencer.c:844 sequencer.c:926 +#: sequencer.c:835 sequencer.c:917 #, c-format msgid "Error wrapping up %s." msgstr "" -#: sequencer.c:863 sequencer.c:996 +#: sequencer.c:854 sequencer.c:987 msgid "no cherry-pick or revert in progress" msgstr "" -#: sequencer.c:865 +#: sequencer.c:856 msgid "cannot resolve HEAD" msgstr "" -#: sequencer.c:867 +#: sequencer.c:858 msgid "cannot abort from a branch yet to be born" msgstr "" -#: sequencer.c:887 builtin/apply.c:4287 +#: sequencer.c:878 builtin/apply.c:4287 #, c-format msgid "cannot open %s: %s" msgstr "" -#: sequencer.c:890 +#: sequencer.c:881 #, c-format msgid "cannot read %s: %s" msgstr "" -#: sequencer.c:891 +#: sequencer.c:882 msgid "unexpected end of file" msgstr "" -#: sequencer.c:897 +#: sequencer.c:888 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "" -#: sequencer.c:919 +#: sequencer.c:910 #, c-format msgid "Could not format %s." msgstr "" -#: sequencer.c:1064 +#: sequencer.c:1055 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "" -#: sequencer.c:1067 +#: sequencer.c:1058 #, c-format msgid "%s: bad revision" msgstr "" -#: sequencer.c:1101 +#: sequencer.c:1092 msgid "Can't revert as initial commit" msgstr "" -#: sequencer.c:1102 +#: sequencer.c:1093 msgid "Can't cherry-pick into empty head" msgstr "" -#: setup.c:248 +#: setup.c:246 #, c-format msgid "failed to read %s" msgstr "" -#: sha1_name.c:463 +#: sha1_file.c:1080 +msgid "offset before end of packfile (broken .idx?)" +msgstr "" + +#: sha1_file.c:2459 +#, c-format +msgid "offset before start of pack index for %s (corrupt index?)" +msgstr "" + +#: sha1_file.c:2463 +#, c-format +msgid "offset beyond end of pack index for %s (truncated index?)" +msgstr "" + +#: sha1_name.c:462 msgid "" "Git normally never creates a ref that ends with 40 hex characters\n" "because it will be ignored when you just specify 40-hex. These refs\n" @@ -1497,60 +1614,84 @@ msgid "" "running \"git config advice.objectNameWarning false\"" msgstr "" -#: submodule.c:61 submodule.c:95 +#: submodule.c:62 submodule.c:96 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" msgstr "" -#: submodule.c:65 submodule.c:99 +#: submodule.c:66 submodule.c:100 #, c-format msgid "Could not find section in .gitmodules where path=%s" msgstr "" -#: submodule.c:73 +#: submodule.c:74 #, c-format msgid "Could not update .gitmodules entry %s" msgstr "" -#: submodule.c:106 +#: submodule.c:107 #, c-format msgid "Could not remove .gitmodules entry for %s" msgstr "" -#: submodule.c:117 +#: submodule.c:118 msgid "staging updated .gitmodules failed" msgstr "" -#: submodule.c:1040 +#: trailer.c:237 #, c-format -msgid "Could not set core.worktree in %s" +msgid "running trailer command '%s' failed" msgstr "" -#: trailer.c:491 trailer.c:495 trailer.c:499 trailer.c:553 trailer.c:557 -#: trailer.c:561 +#: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558 +#: trailer.c:562 #, c-format msgid "unknown value '%s' for key '%s'" msgstr "" -#: trailer.c:543 trailer.c:548 builtin/remote.c:296 +#: trailer.c:544 trailer.c:549 builtin/remote.c:289 #, c-format msgid "more than one %s" msgstr "" -#: trailer.c:581 +#: trailer.c:582 #, c-format msgid "empty trailer token in trailer '%.*s'" msgstr "" -#: trailer.c:701 +#: trailer.c:702 #, c-format msgid "could not read input file '%s'" msgstr "" -#: trailer.c:704 +#: trailer.c:705 msgid "could not read from stdin" msgstr "" -#: transport-helper.c:1025 +#: trailer.c:857 builtin/am.c:42 +#, c-format +msgid "could not stat %s" +msgstr "" + +#: trailer.c:859 +#, c-format +msgid "file %s is not a regular file" +msgstr "" + +#: trailer.c:861 +#, c-format +msgid "file %s is not writable by user" +msgstr "" + +#: trailer.c:873 +msgid "could not open temporary file" +msgstr "" + +#: trailer.c:912 +#, c-format +msgid "could not rename temporary file to %s" +msgstr "" + +#: transport-helper.c:1041 #, c-format msgid "Could not read ref %s" msgstr "" @@ -1588,47 +1729,47 @@ msgstr "" msgid "invalid '..' path segment" msgstr "" -#: wrapper.c:219 wrapper.c:362 +#: wrapper.c:222 wrapper.c:381 #, c-format msgid "could not open '%s' for reading and writing" msgstr "" -#: wrapper.c:221 wrapper.c:364 +#: wrapper.c:224 wrapper.c:383 #, c-format msgid "could not open '%s' for writing" msgstr "" -#: wrapper.c:223 wrapper.c:366 builtin/am.c:338 builtin/commit.c:1691 -#: builtin/merge.c:1074 builtin/pull.c:380 +#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/commit.c:1691 +#: builtin/merge.c:1075 builtin/pull.c:387 #, c-format msgid "could not open '%s' for reading" msgstr "" -#: wrapper.c:579 +#: wrapper.c:611 #, c-format msgid "unable to access '%s': %s" msgstr "" -#: wrapper.c:600 +#: wrapper.c:632 #, c-format msgid "unable to access '%s'" msgstr "" -#: wrapper.c:608 +#: wrapper.c:640 msgid "unable to get current working directory" msgstr "" -#: wrapper.c:635 +#: wrapper.c:667 #, c-format msgid "could not open %s for writing" msgstr "" -#: wrapper.c:646 builtin/am.c:425 +#: wrapper.c:678 builtin/am.c:410 #, c-format msgid "could not write to %s" msgstr "" -#: wrapper.c:652 +#: wrapper.c:684 #, c-format msgid "could not close %s" msgstr "" @@ -2070,7 +2211,11 @@ msgstr "" msgid "behind " msgstr "" -#: compat/precompose_utf8.c:56 builtin/clone.c:408 +#: wt-status.c:1680 wt-status.c:1683 +msgid "ahead " +msgstr "" + +#: compat/precompose_utf8.c:57 builtin/clone.c:413 #, c-format msgid "failed to unlink '%s'" msgstr "" @@ -2097,7 +2242,7 @@ msgstr "" msgid "Unstaged changes after refreshing the index:" msgstr "" -#: builtin/add.c:194 builtin/rev-parse.c:796 +#: builtin/add.c:194 builtin/rev-parse.c:797 msgid "Could not read the index" msgstr "" @@ -2132,15 +2277,15 @@ msgstr "" msgid "The following paths are ignored by one of your .gitignore files:\n" msgstr "" -#: builtin/add.c:249 builtin/clean.c:894 builtin/fetch.c:108 builtin/mv.c:110 -#: builtin/prune-packed.c:55 builtin/pull.c:182 builtin/push.c:543 -#: builtin/remote.c:1345 builtin/rm.c:268 builtin/send-pack.c:162 +#: builtin/add.c:249 builtin/clean.c:870 builtin/fetch.c:112 builtin/mv.c:111 +#: builtin/prune-packed.c:55 builtin/pull.c:189 builtin/push.c:511 +#: builtin/remote.c:1330 builtin/rm.c:268 builtin/send-pack.c:162 msgid "dry run" msgstr "" -#: builtin/add.c:250 builtin/apply.c:4571 builtin/check-ignore.c:19 +#: builtin/add.c:250 builtin/apply.c:4561 builtin/check-ignore.c:19 #: builtin/commit.c:1322 builtin/count-objects.c:85 builtin/fsck.c:558 -#: builtin/log.c:1645 builtin/mv.c:109 builtin/read-tree.c:114 +#: builtin/log.c:1651 builtin/mv.c:110 builtin/read-tree.c:114 msgid "be verbose" msgstr "" @@ -2148,7 +2293,7 @@ msgstr "" msgid "interactive picking" msgstr "" -#: builtin/add.c:253 builtin/checkout.c:1153 builtin/reset.c:286 +#: builtin/add.c:253 builtin/checkout.c:1155 builtin/reset.c:286 msgid "select hunks interactively" msgstr "" @@ -2215,171 +2360,166 @@ msgstr "" msgid "Maybe you wanted to say 'git add .'?\n" msgstr "" -#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:938 -#: builtin/commit.c:337 builtin/mv.c:130 builtin/reset.c:235 builtin/rm.c:298 -#: builtin/submodule--helper.c:40 +#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:914 +#: builtin/commit.c:337 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298 +#: builtin/submodule--helper.c:35 msgid "index file corrupt" msgstr "" -#: builtin/add.c:439 builtin/apply.c:4669 builtin/mv.c:279 builtin/rm.c:430 +#: builtin/add.c:439 builtin/apply.c:4659 builtin/mv.c:280 builtin/rm.c:430 msgid "Unable to write new index file" msgstr "" -#: builtin/am.c:42 -#, c-format -msgid "could not stat %s" -msgstr "" - -#: builtin/am.c:271 builtin/commit.c:738 builtin/merge.c:1077 +#: builtin/am.c:256 builtin/commit.c:738 builtin/merge.c:1078 #, c-format msgid "could not read '%s'" msgstr "" -#: builtin/am.c:445 +#: builtin/am.c:430 msgid "could not parse author script" msgstr "" -#: builtin/am.c:522 +#: builtin/am.c:507 #, c-format msgid "'%s' was deleted by the applypatch-msg hook" msgstr "" -#: builtin/am.c:563 builtin/notes.c:300 +#: builtin/am.c:548 builtin/notes.c:300 #, c-format msgid "Malformed input line: '%s'." msgstr "" -#: builtin/am.c:600 builtin/notes.c:315 +#: builtin/am.c:585 builtin/notes.c:315 #, c-format msgid "Failed to copy notes from '%s' to '%s'" msgstr "" -#: builtin/am.c:626 +#: builtin/am.c:611 msgid "fseek failed" msgstr "" -#: builtin/am.c:787 builtin/am.c:875 +#: builtin/am.c:772 builtin/am.c:860 #, c-format msgid "could not open '%s' for reading: %s" msgstr "" -#: builtin/am.c:794 +#: builtin/am.c:779 #, c-format msgid "could not open '%s' for writing: %s" msgstr "" -#: builtin/am.c:803 +#: builtin/am.c:788 #, c-format msgid "could not parse patch '%s'" msgstr "" -#: builtin/am.c:868 +#: builtin/am.c:853 msgid "Only one StGIT patch series can be applied at once" msgstr "" -#: builtin/am.c:916 +#: builtin/am.c:901 msgid "invalid timestamp" msgstr "" -#: builtin/am.c:919 builtin/am.c:927 +#: builtin/am.c:904 builtin/am.c:912 msgid "invalid Date line" msgstr "" -#: builtin/am.c:924 +#: builtin/am.c:909 msgid "invalid timezone offset" msgstr "" -#: builtin/am.c:1011 +#: builtin/am.c:996 msgid "Patch format detection failed." msgstr "" -#: builtin/am.c:1016 builtin/clone.c:373 +#: builtin/am.c:1001 builtin/clone.c:378 #, c-format msgid "failed to create directory '%s'" msgstr "" -#: builtin/am.c:1020 +#: builtin/am.c:1005 msgid "Failed to split patches." msgstr "" -#: builtin/am.c:1152 builtin/commit.c:363 +#: builtin/am.c:1137 builtin/commit.c:363 msgid "unable to write index file" msgstr "" -#: builtin/am.c:1203 +#: builtin/am.c:1188 #, c-format msgid "When you have resolved this problem, run \"%s --continue\"." msgstr "" -#: builtin/am.c:1204 +#: builtin/am.c:1189 #, c-format msgid "If you prefer to skip this patch, run \"%s --skip\" instead." msgstr "" -#: builtin/am.c:1205 +#: builtin/am.c:1190 #, c-format msgid "To restore the original branch and stop patching, run \"%s --abort\"." msgstr "" -#: builtin/am.c:1343 +#: builtin/am.c:1328 msgid "Patch is empty. Was it split wrong?" msgstr "" -#: builtin/am.c:1417 builtin/log.c:1347 +#: builtin/am.c:1402 builtin/log.c:1350 #, c-format msgid "invalid ident line: %s" msgstr "" -#: builtin/am.c:1444 +#: builtin/am.c:1429 #, c-format msgid "unable to parse commit %s" msgstr "" -#: builtin/am.c:1646 +#: builtin/am.c:1631 msgid "Repository lacks necessary blobs to fall back on 3-way merge." msgstr "" -#: builtin/am.c:1648 +#: builtin/am.c:1633 msgid "Using index info to reconstruct a base tree..." msgstr "" -#: builtin/am.c:1667 +#: builtin/am.c:1652 msgid "" "Did you hand edit your patch?\n" "It does not apply to blobs recorded in its index." msgstr "" -#: builtin/am.c:1673 +#: builtin/am.c:1658 msgid "Falling back to patching base and 3-way merge..." msgstr "" -#: builtin/am.c:1688 +#: builtin/am.c:1673 msgid "Failed to merge in the changes." msgstr "" -#: builtin/am.c:1712 builtin/merge.c:632 +#: builtin/am.c:1697 builtin/merge.c:633 msgid "git write-tree failed to write a tree" msgstr "" -#: builtin/am.c:1719 +#: builtin/am.c:1704 msgid "applying to an empty history" msgstr "" -#: builtin/am.c:1732 builtin/commit.c:1755 builtin/merge.c:829 -#: builtin/merge.c:854 +#: builtin/am.c:1717 builtin/commit.c:1755 builtin/merge.c:830 +#: builtin/merge.c:855 msgid "failed to write commit object" msgstr "" -#: builtin/am.c:1764 builtin/am.c:1768 +#: builtin/am.c:1749 builtin/am.c:1753 #, c-format msgid "cannot resume: %s does not exist." msgstr "" -#: builtin/am.c:1784 +#: builtin/am.c:1769 msgid "cannot be interactive without stdin connected to a terminal." msgstr "" -#: builtin/am.c:1789 +#: builtin/am.c:1774 msgid "Commit Body is:" msgstr "" @@ -2387,231 +2527,231 @@ msgstr "" #. in your translation. The program will only accept English #. input at this point. #. -#: builtin/am.c:1799 +#: builtin/am.c:1784 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: " msgstr "" -#: builtin/am.c:1849 +#: builtin/am.c:1834 #, c-format msgid "Dirty index: cannot apply patches (dirty: %s)" msgstr "" -#: builtin/am.c:1884 builtin/am.c:1955 +#: builtin/am.c:1869 builtin/am.c:1941 #, c-format msgid "Applying: %.*s" msgstr "" -#: builtin/am.c:1900 +#: builtin/am.c:1885 msgid "No changes -- Patch already applied." msgstr "" -#: builtin/am.c:1908 +#: builtin/am.c:1893 #, c-format msgid "Patch failed at %s %.*s" msgstr "" -#: builtin/am.c:1914 +#: builtin/am.c:1899 #, c-format msgid "The copy of the patch that failed is found in: %s" msgstr "" -#: builtin/am.c:1958 +#: builtin/am.c:1944 msgid "" "No changes - did you forget to use 'git add'?\n" "If there is nothing left to stage, chances are that something else\n" "already introduced the same changes; you might want to skip this patch." msgstr "" -#: builtin/am.c:1965 +#: builtin/am.c:1951 msgid "" "You still have unmerged paths in your index.\n" "Did you forget to use 'git add'?" msgstr "" -#: builtin/am.c:2073 builtin/am.c:2077 builtin/am.c:2089 builtin/reset.c:308 +#: builtin/am.c:2059 builtin/am.c:2063 builtin/am.c:2075 builtin/reset.c:308 #: builtin/reset.c:316 #, c-format msgid "Could not parse object '%s'." msgstr "" -#: builtin/am.c:2125 +#: builtin/am.c:2111 msgid "failed to clean index" msgstr "" -#: builtin/am.c:2159 +#: builtin/am.c:2145 msgid "" "You seem to have moved HEAD since the last 'am' failure.\n" "Not rewinding to ORIG_HEAD" msgstr "" -#: builtin/am.c:2220 +#: builtin/am.c:2206 #, c-format msgid "Invalid value for --patch-format: %s" msgstr "" -#: builtin/am.c:2253 +#: builtin/am.c:2239 msgid "git am [<options>] [(<mbox>|<Maildir>)...]" msgstr "" -#: builtin/am.c:2254 +#: builtin/am.c:2240 msgid "git am [<options>] (--continue | --skip | --abort)" msgstr "" -#: builtin/am.c:2260 +#: builtin/am.c:2246 msgid "run interactively" msgstr "" -#: builtin/am.c:2262 +#: builtin/am.c:2248 msgid "historical option -- no-op" msgstr "" -#: builtin/am.c:2264 +#: builtin/am.c:2250 msgid "allow fall back on 3way merging if needed" msgstr "" -#: builtin/am.c:2265 builtin/init-db.c:474 builtin/prune-packed.c:57 +#: builtin/am.c:2251 builtin/init-db.c:474 builtin/prune-packed.c:57 #: builtin/repack.c:171 msgid "be quiet" msgstr "" -#: builtin/am.c:2267 +#: builtin/am.c:2253 msgid "add a Signed-off-by line to the commit message" msgstr "" -#: builtin/am.c:2270 +#: builtin/am.c:2256 msgid "recode into utf8 (default)" msgstr "" -#: builtin/am.c:2272 +#: builtin/am.c:2258 msgid "pass -k flag to git-mailinfo" msgstr "" -#: builtin/am.c:2274 +#: builtin/am.c:2260 msgid "pass -b flag to git-mailinfo" msgstr "" -#: builtin/am.c:2276 +#: builtin/am.c:2262 msgid "pass -m flag to git-mailinfo" msgstr "" -#: builtin/am.c:2278 +#: builtin/am.c:2264 msgid "pass --keep-cr flag to git-mailsplit for mbox format" msgstr "" -#: builtin/am.c:2281 +#: builtin/am.c:2267 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr" msgstr "" -#: builtin/am.c:2284 +#: builtin/am.c:2270 msgid "strip everything before a scissors line" msgstr "" -#: builtin/am.c:2285 builtin/apply.c:4554 +#: builtin/am.c:2271 builtin/apply.c:4544 msgid "action" msgstr "" -#: builtin/am.c:2286 builtin/am.c:2289 builtin/am.c:2292 builtin/am.c:2295 -#: builtin/am.c:2298 builtin/am.c:2301 builtin/am.c:2304 builtin/am.c:2307 -#: builtin/am.c:2313 +#: builtin/am.c:2272 builtin/am.c:2275 builtin/am.c:2278 builtin/am.c:2281 +#: builtin/am.c:2284 builtin/am.c:2287 builtin/am.c:2290 builtin/am.c:2293 +#: builtin/am.c:2299 msgid "pass it through git-apply" msgstr "" -#: builtin/am.c:2294 builtin/apply.c:4578 +#: builtin/am.c:2280 builtin/apply.c:4568 msgid "root" msgstr "" -#: builtin/am.c:2297 builtin/am.c:2300 builtin/apply.c:4516 -#: builtin/apply.c:4519 builtin/clone.c:85 builtin/fetch.c:93 -#: builtin/pull.c:167 builtin/submodule--helper.c:78 -#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169 +#: builtin/am.c:2283 builtin/am.c:2286 builtin/apply.c:4506 +#: builtin/apply.c:4509 builtin/clone.c:86 builtin/fetch.c:95 +#: builtin/pull.c:171 builtin/submodule--helper.c:72 +#: builtin/submodule--helper.c:160 builtin/submodule--helper.c:163 msgid "path" msgstr "" -#: builtin/am.c:2303 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669 -#: builtin/grep.c:693 builtin/merge.c:198 builtin/pull.c:127 -#: builtin/repack.c:178 builtin/repack.c:182 builtin/show-branch.c:645 -#: builtin/show-ref.c:175 builtin/tag.c:340 parse-options.h:132 -#: parse-options.h:134 parse-options.h:244 +#: builtin/am.c:2289 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669 +#: builtin/grep.c:704 builtin/merge.c:198 builtin/pull.c:131 +#: builtin/pull.c:185 builtin/repack.c:178 builtin/repack.c:182 +#: builtin/show-branch.c:645 builtin/show-ref.c:175 builtin/tag.c:340 +#: parse-options.h:132 parse-options.h:134 parse-options.h:244 msgid "n" msgstr "" -#: builtin/am.c:2306 builtin/apply.c:4522 +#: builtin/am.c:2292 builtin/apply.c:4512 msgid "num" msgstr "" -#: builtin/am.c:2309 builtin/for-each-ref.c:37 builtin/replace.c:438 +#: builtin/am.c:2295 builtin/for-each-ref.c:37 builtin/replace.c:438 #: builtin/tag.c:372 msgid "format" msgstr "" -#: builtin/am.c:2310 +#: builtin/am.c:2296 msgid "format the patch(es) are in" msgstr "" -#: builtin/am.c:2316 +#: builtin/am.c:2302 msgid "override error message when patch failure occurs" msgstr "" -#: builtin/am.c:2318 +#: builtin/am.c:2304 msgid "continue applying patches after resolving a conflict" msgstr "" -#: builtin/am.c:2321 +#: builtin/am.c:2307 msgid "synonyms for --continue" msgstr "" -#: builtin/am.c:2324 +#: builtin/am.c:2310 msgid "skip the current patch" msgstr "" -#: builtin/am.c:2327 +#: builtin/am.c:2313 msgid "restore the original branch and abort the patching operation." msgstr "" -#: builtin/am.c:2331 +#: builtin/am.c:2317 msgid "lie about committer date" msgstr "" -#: builtin/am.c:2333 +#: builtin/am.c:2319 msgid "use current timestamp for author date" msgstr "" -#: builtin/am.c:2335 builtin/commit.c:1593 builtin/merge.c:225 -#: builtin/pull.c:155 builtin/revert.c:92 builtin/tag.c:355 +#: builtin/am.c:2321 builtin/commit.c:1593 builtin/merge.c:225 +#: builtin/pull.c:159 builtin/revert.c:92 builtin/tag.c:355 msgid "key-id" msgstr "" -#: builtin/am.c:2336 +#: builtin/am.c:2322 msgid "GPG-sign commits" msgstr "" -#: builtin/am.c:2339 +#: builtin/am.c:2325 msgid "(internal use for git-rebase)" msgstr "" -#: builtin/am.c:2354 +#: builtin/am.c:2340 msgid "" "The -b/--binary option has been a no-op for long time, and\n" "it will be removed. Please do not use it anymore." msgstr "" -#: builtin/am.c:2361 +#: builtin/am.c:2347 msgid "failed to read the index" msgstr "" -#: builtin/am.c:2376 +#: builtin/am.c:2362 #, c-format msgid "previous rebase directory %s still exists but mbox given." msgstr "" -#: builtin/am.c:2400 +#: builtin/am.c:2386 #, c-format msgid "" "Stray %s directory found.\n" "Use \"git am --abort\" to remove it." msgstr "" -#: builtin/am.c:2406 +#: builtin/am.c:2392 msgid "Resolve operation not in progress, we are not resuming." msgstr "" @@ -2950,131 +3090,131 @@ msgstr "" msgid "unable to read index file" msgstr "" -#: builtin/apply.c:4517 +#: builtin/apply.c:4507 msgid "don't apply changes matching the given path" msgstr "" -#: builtin/apply.c:4520 +#: builtin/apply.c:4510 msgid "apply changes matching the given path" msgstr "" -#: builtin/apply.c:4523 +#: builtin/apply.c:4513 msgid "remove <num> leading slashes from traditional diff paths" msgstr "" -#: builtin/apply.c:4526 +#: builtin/apply.c:4516 msgid "ignore additions made by the patch" msgstr "" -#: builtin/apply.c:4528 +#: builtin/apply.c:4518 msgid "instead of applying the patch, output diffstat for the input" msgstr "" -#: builtin/apply.c:4532 +#: builtin/apply.c:4522 msgid "show number of added and deleted lines in decimal notation" msgstr "" -#: builtin/apply.c:4534 +#: builtin/apply.c:4524 msgid "instead of applying the patch, output a summary for the input" msgstr "" -#: builtin/apply.c:4536 +#: builtin/apply.c:4526 msgid "instead of applying the patch, see if the patch is applicable" msgstr "" -#: builtin/apply.c:4538 +#: builtin/apply.c:4528 msgid "make sure the patch is applicable to the current index" msgstr "" -#: builtin/apply.c:4540 +#: builtin/apply.c:4530 msgid "apply a patch without touching the working tree" msgstr "" -#: builtin/apply.c:4542 +#: builtin/apply.c:4532 msgid "accept a patch that touches outside the working area" msgstr "" -#: builtin/apply.c:4544 +#: builtin/apply.c:4534 msgid "also apply the patch (use with --stat/--summary/--check)" msgstr "" -#: builtin/apply.c:4546 +#: builtin/apply.c:4536 msgid "attempt three-way merge if a patch does not apply" msgstr "" -#: builtin/apply.c:4548 +#: builtin/apply.c:4538 msgid "build a temporary index based on embedded index information" msgstr "" -#: builtin/apply.c:4550 builtin/checkout-index.c:198 builtin/ls-files.c:412 +#: builtin/apply.c:4541 builtin/checkout-index.c:169 builtin/ls-files.c:425 msgid "paths are separated with NUL character" msgstr "" -#: builtin/apply.c:4553 +#: builtin/apply.c:4543 msgid "ensure at least <n> lines of context match" msgstr "" -#: builtin/apply.c:4555 +#: builtin/apply.c:4545 msgid "detect new or modified lines that have whitespace errors" msgstr "" -#: builtin/apply.c:4558 builtin/apply.c:4561 +#: builtin/apply.c:4548 builtin/apply.c:4551 msgid "ignore changes in whitespace when finding context" msgstr "" -#: builtin/apply.c:4564 +#: builtin/apply.c:4554 msgid "apply the patch in reverse" msgstr "" -#: builtin/apply.c:4566 +#: builtin/apply.c:4556 msgid "don't expect at least one line of context" msgstr "" -#: builtin/apply.c:4568 +#: builtin/apply.c:4558 msgid "leave the rejected hunks in corresponding *.rej files" msgstr "" -#: builtin/apply.c:4570 +#: builtin/apply.c:4560 msgid "allow overlapping hunks" msgstr "" -#: builtin/apply.c:4573 +#: builtin/apply.c:4563 msgid "tolerate incorrectly detected missing new-line at the end of file" msgstr "" -#: builtin/apply.c:4576 +#: builtin/apply.c:4566 msgid "do not trust the line counts in the hunk headers" msgstr "" -#: builtin/apply.c:4579 +#: builtin/apply.c:4569 msgid "prepend <root> to all filenames" msgstr "" -#: builtin/apply.c:4601 +#: builtin/apply.c:4591 msgid "--3way outside a repository" msgstr "" -#: builtin/apply.c:4609 +#: builtin/apply.c:4599 msgid "--index outside a repository" msgstr "" -#: builtin/apply.c:4612 +#: builtin/apply.c:4602 msgid "--cached outside a repository" msgstr "" -#: builtin/apply.c:4631 +#: builtin/apply.c:4621 #, c-format msgid "can't open patch '%s'" msgstr "" -#: builtin/apply.c:4645 +#: builtin/apply.c:4635 #, c-format msgid "squelched %d whitespace error" msgid_plural "squelched %d whitespace errors" msgstr[0] "" msgstr[1] "" -#: builtin/apply.c:4651 builtin/apply.c:4661 +#: builtin/apply.c:4641 builtin/apply.c:4651 #, c-format msgid "%d line adds whitespace errors." msgid_plural "%d lines add whitespace errors." @@ -3128,103 +3268,111 @@ msgstr "" msgid "update BISECT_HEAD instead of checking out the current commit" msgstr "" -#: builtin/blame.c:32 +#: builtin/blame.c:33 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>" msgstr "" -#: builtin/blame.c:37 +#: builtin/blame.c:38 msgid "<rev-opts> are documented in git-rev-list(1)" msgstr "" -#: builtin/blame.c:2519 +#: builtin/blame.c:1782 +msgid "Blaming lines" +msgstr "" + +#: builtin/blame.c:2530 msgid "Show blame entries as we find them, incrementally" msgstr "" -#: builtin/blame.c:2520 +#: builtin/blame.c:2531 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "" -#: builtin/blame.c:2521 +#: builtin/blame.c:2532 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "" -#: builtin/blame.c:2522 +#: builtin/blame.c:2533 msgid "Show work cost statistics" msgstr "" -#: builtin/blame.c:2523 +#: builtin/blame.c:2534 +msgid "Force progress reporting" +msgstr "" + +#: builtin/blame.c:2535 msgid "Show output score for blame entries" msgstr "" -#: builtin/blame.c:2524 +#: builtin/blame.c:2536 msgid "Show original filename (Default: auto)" msgstr "" -#: builtin/blame.c:2525 +#: builtin/blame.c:2537 msgid "Show original linenumber (Default: off)" msgstr "" -#: builtin/blame.c:2526 +#: builtin/blame.c:2538 msgid "Show in a format designed for machine consumption" msgstr "" -#: builtin/blame.c:2527 +#: builtin/blame.c:2539 msgid "Show porcelain format with per-line commit information" msgstr "" -#: builtin/blame.c:2528 +#: builtin/blame.c:2540 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "" -#: builtin/blame.c:2529 +#: builtin/blame.c:2541 msgid "Show raw timestamp (Default: off)" msgstr "" -#: builtin/blame.c:2530 +#: builtin/blame.c:2542 msgid "Show long commit SHA1 (Default: off)" msgstr "" -#: builtin/blame.c:2531 +#: builtin/blame.c:2543 msgid "Suppress author name and timestamp (Default: off)" msgstr "" -#: builtin/blame.c:2532 +#: builtin/blame.c:2544 msgid "Show author email instead of name (Default: off)" msgstr "" -#: builtin/blame.c:2533 +#: builtin/blame.c:2545 msgid "Ignore whitespace differences" msgstr "" -#: builtin/blame.c:2534 +#: builtin/blame.c:2546 msgid "Spend extra cycles to find better match" msgstr "" -#: builtin/blame.c:2535 +#: builtin/blame.c:2547 msgid "Use revisions from <file> instead of calling git-rev-list" msgstr "" -#: builtin/blame.c:2536 +#: builtin/blame.c:2548 msgid "Use <file>'s contents as the final image" msgstr "" -#: builtin/blame.c:2537 builtin/blame.c:2538 +#: builtin/blame.c:2549 builtin/blame.c:2550 msgid "score" msgstr "" -#: builtin/blame.c:2537 +#: builtin/blame.c:2549 msgid "Find line copies within and across files" msgstr "" -#: builtin/blame.c:2538 +#: builtin/blame.c:2550 msgid "Find line movements within and across files" msgstr "" -#: builtin/blame.c:2539 +#: builtin/blame.c:2551 msgid "n,m" msgstr "" -#: builtin/blame.c:2539 +#: builtin/blame.c:2551 msgid "Process only line range n,m, counting from 1" msgstr "" @@ -3234,7 +3382,7 @@ msgstr "" #. takes 22 places, is the longest among various forms of #. relative timestamps, but your language may need more or #. fewer display columns. -#: builtin/blame.c:2620 +#: builtin/blame.c:2640 msgid "4 years, 11 months ago" msgstr "" @@ -3426,200 +3574,200 @@ msgstr "" msgid "Branch is renamed, but update of config-file failed" msgstr "" -#: builtin/branch.c:587 +#: builtin/branch.c:586 #, c-format msgid "could not write branch description template: %s" msgstr "" -#: builtin/branch.c:616 +#: builtin/branch.c:615 msgid "Generic options" msgstr "" -#: builtin/branch.c:618 +#: builtin/branch.c:617 msgid "show hash and subject, give twice for upstream branch" msgstr "" -#: builtin/branch.c:619 +#: builtin/branch.c:618 msgid "suppress informational messages" msgstr "" -#: builtin/branch.c:620 +#: builtin/branch.c:619 msgid "set up tracking mode (see git-pull(1))" msgstr "" -#: builtin/branch.c:622 +#: builtin/branch.c:621 msgid "change upstream info" msgstr "" -#: builtin/branch.c:626 +#: builtin/branch.c:625 msgid "use colored output" msgstr "" -#: builtin/branch.c:627 +#: builtin/branch.c:626 msgid "act on remote-tracking branches" msgstr "" -#: builtin/branch.c:629 builtin/branch.c:630 +#: builtin/branch.c:628 builtin/branch.c:629 msgid "print only branches that contain the commit" msgstr "" -#: builtin/branch.c:633 +#: builtin/branch.c:632 msgid "Specific git-branch actions:" msgstr "" -#: builtin/branch.c:634 +#: builtin/branch.c:633 msgid "list both remote-tracking and local branches" msgstr "" -#: builtin/branch.c:636 +#: builtin/branch.c:635 msgid "delete fully merged branch" msgstr "" -#: builtin/branch.c:637 +#: builtin/branch.c:636 msgid "delete branch (even if not merged)" msgstr "" -#: builtin/branch.c:638 +#: builtin/branch.c:637 msgid "move/rename a branch and its reflog" msgstr "" -#: builtin/branch.c:639 +#: builtin/branch.c:638 msgid "move/rename a branch, even if target exists" msgstr "" -#: builtin/branch.c:640 +#: builtin/branch.c:639 msgid "list branch names" msgstr "" -#: builtin/branch.c:641 +#: builtin/branch.c:640 msgid "create the branch's reflog" msgstr "" -#: builtin/branch.c:643 +#: builtin/branch.c:642 msgid "edit the description for the branch" msgstr "" -#: builtin/branch.c:644 +#: builtin/branch.c:643 msgid "force creation, move/rename, deletion" msgstr "" -#: builtin/branch.c:645 +#: builtin/branch.c:644 msgid "print only branches that are merged" msgstr "" -#: builtin/branch.c:646 +#: builtin/branch.c:645 msgid "print only branches that are not merged" msgstr "" -#: builtin/branch.c:647 +#: builtin/branch.c:646 msgid "list branches in columns" msgstr "" -#: builtin/branch.c:648 builtin/for-each-ref.c:38 builtin/tag.c:366 +#: builtin/branch.c:647 builtin/for-each-ref.c:38 builtin/tag.c:366 msgid "key" msgstr "" -#: builtin/branch.c:649 builtin/for-each-ref.c:39 builtin/tag.c:367 +#: builtin/branch.c:648 builtin/for-each-ref.c:39 builtin/tag.c:367 msgid "field name to sort on" msgstr "" -#: builtin/branch.c:651 builtin/for-each-ref.c:41 builtin/notes.c:398 -#: builtin/notes.c:401 builtin/notes.c:561 builtin/notes.c:564 +#: builtin/branch.c:650 builtin/for-each-ref.c:41 builtin/notes.c:401 +#: builtin/notes.c:404 builtin/notes.c:564 builtin/notes.c:567 #: builtin/tag.c:369 msgid "object" msgstr "" -#: builtin/branch.c:652 +#: builtin/branch.c:651 msgid "print only branches of the object" msgstr "" -#: builtin/branch.c:670 +#: builtin/branch.c:669 msgid "Failed to resolve HEAD as a valid ref." msgstr "" -#: builtin/branch.c:674 builtin/clone.c:697 +#: builtin/branch.c:673 builtin/clone.c:705 msgid "HEAD not found below refs/heads!" msgstr "" -#: builtin/branch.c:694 +#: builtin/branch.c:693 msgid "--column and --verbose are incompatible" msgstr "" -#: builtin/branch.c:705 builtin/branch.c:747 +#: builtin/branch.c:704 builtin/branch.c:746 msgid "branch name required" msgstr "" -#: builtin/branch.c:723 +#: builtin/branch.c:722 msgid "Cannot give description to detached HEAD" msgstr "" -#: builtin/branch.c:728 +#: builtin/branch.c:727 msgid "cannot edit description of more than one branch" msgstr "" -#: builtin/branch.c:735 +#: builtin/branch.c:734 #, c-format msgid "No commit on branch '%s' yet." msgstr "" -#: builtin/branch.c:738 +#: builtin/branch.c:737 #, c-format msgid "No branch named '%s'." msgstr "" -#: builtin/branch.c:753 +#: builtin/branch.c:752 msgid "too many branches for a rename operation" msgstr "" -#: builtin/branch.c:758 +#: builtin/branch.c:757 msgid "too many branches to set new upstream" msgstr "" -#: builtin/branch.c:762 +#: builtin/branch.c:761 #, c-format msgid "" "could not set upstream of HEAD to %s when it does not point to any branch." msgstr "" -#: builtin/branch.c:765 builtin/branch.c:787 builtin/branch.c:808 +#: builtin/branch.c:764 builtin/branch.c:786 builtin/branch.c:807 #, c-format msgid "no such branch '%s'" msgstr "" -#: builtin/branch.c:769 +#: builtin/branch.c:768 #, c-format msgid "branch '%s' does not exist" msgstr "" -#: builtin/branch.c:781 +#: builtin/branch.c:780 msgid "too many branches to unset upstream" msgstr "" -#: builtin/branch.c:785 +#: builtin/branch.c:784 msgid "could not unset upstream of HEAD when it does not point to any branch." msgstr "" -#: builtin/branch.c:791 +#: builtin/branch.c:790 #, c-format msgid "Branch '%s' has no upstream information" msgstr "" -#: builtin/branch.c:805 +#: builtin/branch.c:804 msgid "it does not make sense to create 'HEAD' manually" msgstr "" -#: builtin/branch.c:811 +#: builtin/branch.c:810 msgid "-a and -r options to 'git branch' do not make sense with a branch name" msgstr "" -#: builtin/branch.c:814 +#: builtin/branch.c:813 #, c-format msgid "" "The --set-upstream flag is deprecated and will be removed. Consider using --" "track or --set-upstream-to\n" msgstr "" -#: builtin/branch.c:831 +#: builtin/branch.c:830 #, c-format msgid "" "\n" @@ -3627,12 +3775,12 @@ msgid "" "\n" msgstr "" -#: builtin/branch.c:832 +#: builtin/branch.c:831 #, c-format msgid " git branch -d %s\n" msgstr "" -#: builtin/branch.c:833 +#: builtin/branch.c:832 #, c-format msgid " git branch --set-upstream-to %s\n" msgstr "" @@ -3724,7 +3872,7 @@ msgstr "" msgid "use .gitattributes only from the index" msgstr "" -#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:96 +#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:97 msgid "read file names from stdin" msgstr "" @@ -3732,7 +3880,7 @@ msgstr "" msgid "terminate input and output records by a NUL character" msgstr "" -#: builtin/check-ignore.c:18 builtin/checkout.c:1134 builtin/gc.c:325 +#: builtin/check-ignore.c:18 builtin/checkout.c:1136 builtin/gc.c:325 msgid "suppress progress reporting" msgstr "" @@ -3785,49 +3933,53 @@ msgstr "" msgid "no contacts specified" msgstr "" -#: builtin/checkout-index.c:126 +#: builtin/checkout-index.c:127 msgid "git checkout-index [<options>] [--] [<file>...]" msgstr "" -#: builtin/checkout-index.c:188 +#: builtin/checkout-index.c:144 +msgid "stage should be between 1 and 3 or all" +msgstr "" + +#: builtin/checkout-index.c:160 msgid "check out all files in the index" msgstr "" -#: builtin/checkout-index.c:189 +#: builtin/checkout-index.c:161 msgid "force overwrite of existing files" msgstr "" -#: builtin/checkout-index.c:191 +#: builtin/checkout-index.c:163 msgid "no warning for existing files and files not in index" msgstr "" -#: builtin/checkout-index.c:193 +#: builtin/checkout-index.c:165 msgid "don't checkout new files" msgstr "" -#: builtin/checkout-index.c:195 +#: builtin/checkout-index.c:167 msgid "update stat information in the index file" msgstr "" -#: builtin/checkout-index.c:201 +#: builtin/checkout-index.c:171 msgid "read list of paths from the standard input" msgstr "" -#: builtin/checkout-index.c:203 +#: builtin/checkout-index.c:173 msgid "write the content to temporary files" msgstr "" -#: builtin/checkout-index.c:204 builtin/column.c:30 +#: builtin/checkout-index.c:174 builtin/column.c:30 +#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169 #: builtin/submodule--helper.c:172 builtin/submodule--helper.c:175 -#: builtin/submodule--helper.c:178 builtin/submodule--helper.c:181 msgid "string" msgstr "" -#: builtin/checkout-index.c:205 +#: builtin/checkout-index.c:175 msgid "when creating files, prepend <string>" msgstr "" -#: builtin/checkout-index.c:208 +#: builtin/checkout-index.c:177 msgid "copy out the files from named stage" msgstr "" @@ -3907,37 +4059,41 @@ msgstr "" msgid "HEAD is now at" msgstr "" -#: builtin/checkout.c:668 +#: builtin/checkout.c:665 builtin/clone.c:659 +msgid "unable to update HEAD" +msgstr "" + +#: builtin/checkout.c:669 #, c-format msgid "Reset branch '%s'\n" msgstr "" -#: builtin/checkout.c:671 +#: builtin/checkout.c:672 #, c-format msgid "Already on '%s'\n" msgstr "" -#: builtin/checkout.c:675 +#: builtin/checkout.c:676 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "" -#: builtin/checkout.c:677 builtin/checkout.c:1066 +#: builtin/checkout.c:678 builtin/checkout.c:1068 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "" -#: builtin/checkout.c:679 +#: builtin/checkout.c:680 #, c-format msgid "Switched to branch '%s'\n" msgstr "" -#: builtin/checkout.c:731 +#: builtin/checkout.c:732 #, c-format msgid " ... and %d more.\n" msgstr "" -#: builtin/checkout.c:737 +#: builtin/checkout.c:738 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -3952,7 +4108,7 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: builtin/checkout.c:756 +#: builtin/checkout.c:757 #, c-format msgid "" "If you want to keep it by creating a new branch, this may be a good time\n" @@ -3969,162 +4125,162 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: builtin/checkout.c:792 +#: builtin/checkout.c:793 msgid "internal error in revision walk" msgstr "" -#: builtin/checkout.c:796 +#: builtin/checkout.c:797 msgid "Previous HEAD position was" msgstr "" -#: builtin/checkout.c:823 builtin/checkout.c:1061 +#: builtin/checkout.c:824 builtin/checkout.c:1063 msgid "You are on a branch yet to be born" msgstr "" -#: builtin/checkout.c:968 +#: builtin/checkout.c:969 #, c-format msgid "only one reference expected, %d given." msgstr "" -#: builtin/checkout.c:1007 builtin/worktree.c:213 +#: builtin/checkout.c:1009 builtin/worktree.c:211 #, c-format msgid "invalid reference: %s" msgstr "" -#: builtin/checkout.c:1036 +#: builtin/checkout.c:1038 #, c-format msgid "reference is not a tree: %s" msgstr "" -#: builtin/checkout.c:1075 +#: builtin/checkout.c:1077 msgid "paths cannot be used with switching branches" msgstr "" -#: builtin/checkout.c:1078 builtin/checkout.c:1082 +#: builtin/checkout.c:1080 builtin/checkout.c:1084 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "" -#: builtin/checkout.c:1086 builtin/checkout.c:1089 builtin/checkout.c:1094 -#: builtin/checkout.c:1097 +#: builtin/checkout.c:1088 builtin/checkout.c:1091 builtin/checkout.c:1096 +#: builtin/checkout.c:1099 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "" -#: builtin/checkout.c:1102 +#: builtin/checkout.c:1104 #, c-format msgid "Cannot switch branch to a non-commit '%s'" msgstr "" -#: builtin/checkout.c:1135 builtin/checkout.c:1137 builtin/clone.c:83 -#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:320 -#: builtin/worktree.c:322 +#: builtin/checkout.c:1137 builtin/checkout.c:1139 builtin/clone.c:84 +#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:318 +#: builtin/worktree.c:320 msgid "branch" msgstr "" -#: builtin/checkout.c:1136 +#: builtin/checkout.c:1138 msgid "create and checkout a new branch" msgstr "" -#: builtin/checkout.c:1138 +#: builtin/checkout.c:1140 msgid "create/reset and checkout a branch" msgstr "" -#: builtin/checkout.c:1139 +#: builtin/checkout.c:1141 msgid "create reflog for new branch" msgstr "" -#: builtin/checkout.c:1140 +#: builtin/checkout.c:1142 msgid "detach the HEAD at named commit" msgstr "" -#: builtin/checkout.c:1141 +#: builtin/checkout.c:1143 msgid "set upstream info for new branch" msgstr "" -#: builtin/checkout.c:1143 +#: builtin/checkout.c:1145 msgid "new-branch" msgstr "" -#: builtin/checkout.c:1143 +#: builtin/checkout.c:1145 msgid "new unparented branch" msgstr "" -#: builtin/checkout.c:1144 +#: builtin/checkout.c:1146 msgid "checkout our version for unmerged files" msgstr "" -#: builtin/checkout.c:1146 +#: builtin/checkout.c:1148 msgid "checkout their version for unmerged files" msgstr "" -#: builtin/checkout.c:1148 +#: builtin/checkout.c:1150 msgid "force checkout (throw away local modifications)" msgstr "" -#: builtin/checkout.c:1149 +#: builtin/checkout.c:1151 msgid "perform a 3-way merge with the new branch" msgstr "" -#: builtin/checkout.c:1150 builtin/merge.c:227 +#: builtin/checkout.c:1152 builtin/merge.c:227 msgid "update ignored files (default)" msgstr "" -#: builtin/checkout.c:1151 builtin/log.c:1266 parse-options.h:250 +#: builtin/checkout.c:1153 builtin/log.c:1269 parse-options.h:250 msgid "style" msgstr "" -#: builtin/checkout.c:1152 +#: builtin/checkout.c:1154 msgid "conflict style (merge or diff3)" msgstr "" -#: builtin/checkout.c:1155 +#: builtin/checkout.c:1157 msgid "do not limit pathspecs to sparse entries only" msgstr "" -#: builtin/checkout.c:1157 +#: builtin/checkout.c:1159 msgid "second guess 'git checkout <no-such-branch>'" msgstr "" -#: builtin/checkout.c:1159 +#: builtin/checkout.c:1161 msgid "do not check if another worktree is holding the given ref" msgstr "" -#: builtin/checkout.c:1160 builtin/clone.c:57 builtin/fetch.c:112 -#: builtin/merge.c:224 builtin/pull.c:109 builtin/push.c:558 +#: builtin/checkout.c:1162 builtin/clone.c:58 builtin/fetch.c:116 +#: builtin/merge.c:224 builtin/pull.c:113 builtin/push.c:526 #: builtin/send-pack.c:168 msgid "force progress reporting" msgstr "" -#: builtin/checkout.c:1191 +#: builtin/checkout.c:1193 msgid "-b, -B and --orphan are mutually exclusive" msgstr "" -#: builtin/checkout.c:1208 +#: builtin/checkout.c:1210 msgid "--track needs a branch name" msgstr "" -#: builtin/checkout.c:1213 +#: builtin/checkout.c:1215 msgid "Missing branch name; try -b" msgstr "" -#: builtin/checkout.c:1249 +#: builtin/checkout.c:1251 msgid "invalid path specification" msgstr "" -#: builtin/checkout.c:1256 +#: builtin/checkout.c:1258 #, c-format msgid "" "Cannot update paths and switch to branch '%s' at the same time.\n" "Did you intend to checkout '%s' which can not be resolved as commit?" msgstr "" -#: builtin/checkout.c:1261 +#: builtin/checkout.c:1263 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "" -#: builtin/checkout.c:1265 +#: builtin/checkout.c:1267 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." @@ -4160,7 +4316,7 @@ msgstr "" msgid "failed to remove %s" msgstr "" -#: builtin/clean.c:315 +#: builtin/clean.c:291 msgid "" "Prompt help:\n" "1 - select a numbered item\n" @@ -4168,7 +4324,7 @@ msgid "" " - (empty) select nothing" msgstr "" -#: builtin/clean.c:319 +#: builtin/clean.c:295 msgid "" "Prompt help:\n" "1 - select a single item\n" @@ -4180,36 +4336,36 @@ msgid "" " - (empty) finish selecting" msgstr "" -#: builtin/clean.c:535 +#: builtin/clean.c:511 #, c-format msgid "Huh (%s)?" msgstr "" -#: builtin/clean.c:677 +#: builtin/clean.c:653 #, c-format msgid "Input ignore patterns>> " msgstr "" -#: builtin/clean.c:714 +#: builtin/clean.c:690 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "" -#: builtin/clean.c:735 +#: builtin/clean.c:711 msgid "Select items to delete" msgstr "" #. TRANSLATORS: Make sure to keep [y/N] as is -#: builtin/clean.c:776 +#: builtin/clean.c:752 #, c-format msgid "Remove %s [y/N]? " msgstr "" -#: builtin/clean.c:801 +#: builtin/clean.c:777 msgid "Bye." msgstr "" -#: builtin/clean.c:809 +#: builtin/clean.c:785 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -4220,68 +4376,68 @@ msgid "" "? - help for prompt selection" msgstr "" -#: builtin/clean.c:836 +#: builtin/clean.c:812 msgid "*** Commands ***" msgstr "" -#: builtin/clean.c:837 +#: builtin/clean.c:813 msgid "What now" msgstr "" -#: builtin/clean.c:845 +#: builtin/clean.c:821 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "" msgstr[1] "" -#: builtin/clean.c:862 +#: builtin/clean.c:838 msgid "No more files to clean, exiting." msgstr "" -#: builtin/clean.c:893 +#: builtin/clean.c:869 msgid "do not print names of files removed" msgstr "" -#: builtin/clean.c:895 +#: builtin/clean.c:871 msgid "force" msgstr "" -#: builtin/clean.c:896 +#: builtin/clean.c:872 msgid "interactive cleaning" msgstr "" -#: builtin/clean.c:898 +#: builtin/clean.c:874 msgid "remove whole directories" msgstr "" -#: builtin/clean.c:899 builtin/describe.c:407 builtin/grep.c:709 -#: builtin/ls-files.c:443 builtin/name-rev.c:307 builtin/show-ref.c:182 +#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:722 +#: builtin/ls-files.c:456 builtin/name-rev.c:307 builtin/show-ref.c:182 msgid "pattern" msgstr "" -#: builtin/clean.c:900 +#: builtin/clean.c:876 msgid "add <pattern> to ignore rules" msgstr "" -#: builtin/clean.c:901 +#: builtin/clean.c:877 msgid "remove ignored files, too" msgstr "" -#: builtin/clean.c:903 +#: builtin/clean.c:879 msgid "remove only ignored files" msgstr "" -#: builtin/clean.c:921 +#: builtin/clean.c:897 msgid "-x and -X cannot be used together" msgstr "" -#: builtin/clean.c:925 +#: builtin/clean.c:901 msgid "" "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to " "clean" msgstr "" -#: builtin/clean.c:928 +#: builtin/clean.c:904 msgid "" "clean.requireForce defaults to true and neither -i, -n, nor -f given; " "refusing to clean" @@ -4291,263 +4447,286 @@ msgstr "" msgid "git clone [<options>] [--] <repo> [<dir>]" msgstr "" -#: builtin/clone.c:59 +#: builtin/clone.c:60 msgid "don't create a checkout" msgstr "" -#: builtin/clone.c:60 builtin/clone.c:62 builtin/init-db.c:469 +#: builtin/clone.c:61 builtin/clone.c:63 builtin/init-db.c:469 msgid "create a bare repository" msgstr "" -#: builtin/clone.c:64 +#: builtin/clone.c:65 msgid "create a mirror repository (implies bare)" msgstr "" -#: builtin/clone.c:66 +#: builtin/clone.c:67 msgid "to clone from a local repository" msgstr "" -#: builtin/clone.c:68 +#: builtin/clone.c:69 msgid "don't use local hardlinks, always copy" msgstr "" -#: builtin/clone.c:70 +#: builtin/clone.c:71 msgid "setup as shared repository" msgstr "" -#: builtin/clone.c:72 builtin/clone.c:74 +#: builtin/clone.c:73 builtin/clone.c:75 msgid "initialize submodules in the clone" msgstr "" -#: builtin/clone.c:75 builtin/init-db.c:466 +#: builtin/clone.c:76 builtin/init-db.c:466 msgid "template-directory" msgstr "" -#: builtin/clone.c:76 builtin/init-db.c:467 +#: builtin/clone.c:77 builtin/init-db.c:467 msgid "directory from which templates will be used" msgstr "" -#: builtin/clone.c:78 builtin/submodule--helper.c:179 +#: builtin/clone.c:79 builtin/submodule--helper.c:173 msgid "reference repository" msgstr "" -#: builtin/clone.c:80 +#: builtin/clone.c:81 msgid "use --reference only while cloning" msgstr "" -#: builtin/clone.c:81 builtin/column.c:26 builtin/merge-file.c:44 +#: builtin/clone.c:82 builtin/column.c:26 builtin/merge-file.c:44 msgid "name" msgstr "" -#: builtin/clone.c:82 +#: builtin/clone.c:83 msgid "use <name> instead of 'origin' to track upstream" msgstr "" -#: builtin/clone.c:84 +#: builtin/clone.c:85 msgid "checkout <branch> instead of the remote's HEAD" msgstr "" -#: builtin/clone.c:86 +#: builtin/clone.c:87 msgid "path to git-upload-pack on the remote" msgstr "" -#: builtin/clone.c:87 builtin/fetch.c:113 builtin/grep.c:654 -#: builtin/pull.c:186 +#: builtin/clone.c:88 builtin/fetch.c:117 builtin/grep.c:665 +#: builtin/pull.c:193 msgid "depth" msgstr "" -#: builtin/clone.c:88 +#: builtin/clone.c:89 msgid "create a shallow clone of that depth" msgstr "" -#: builtin/clone.c:90 +#: builtin/clone.c:91 msgid "clone only one branch, HEAD or --branch" msgstr "" -#: builtin/clone.c:91 builtin/init-db.c:475 +#: builtin/clone.c:92 builtin/init-db.c:475 msgid "gitdir" msgstr "" -#: builtin/clone.c:92 builtin/init-db.c:476 +#: builtin/clone.c:93 builtin/init-db.c:476 msgid "separate git dir from working tree" msgstr "" -#: builtin/clone.c:93 +#: builtin/clone.c:94 msgid "key=value" msgstr "" -#: builtin/clone.c:94 +#: builtin/clone.c:95 msgid "set config inside the new repository" msgstr "" -#: builtin/clone.c:300 +#: builtin/clone.c:96 builtin/fetch.c:131 builtin/push.c:536 +msgid "use IPv4 addresses only" +msgstr "" + +#: builtin/clone.c:98 builtin/fetch.c:133 builtin/push.c:538 +msgid "use IPv6 addresses only" +msgstr "" + +#: builtin/clone.c:239 +msgid "" +"No directory name could be guessed.\n" +"Please specify a directory on the command line" +msgstr "" + +#: builtin/clone.c:305 #, c-format msgid "reference repository '%s' as a linked checkout is not supported yet." msgstr "" -#: builtin/clone.c:302 +#: builtin/clone.c:307 #, c-format msgid "reference repository '%s' is not a local repository." msgstr "" -#: builtin/clone.c:307 +#: builtin/clone.c:312 #, c-format msgid "reference repository '%s' is shallow" msgstr "" -#: builtin/clone.c:310 +#: builtin/clone.c:315 #, c-format msgid "reference repository '%s' is grafted" msgstr "" -#: builtin/clone.c:375 builtin/diff.c:84 +#: builtin/clone.c:380 builtin/diff.c:84 #, c-format msgid "failed to stat '%s'" msgstr "" -#: builtin/clone.c:377 +#: builtin/clone.c:382 #, c-format msgid "%s exists and is not a directory" msgstr "" -#: builtin/clone.c:391 +#: builtin/clone.c:396 #, c-format msgid "failed to stat %s\n" msgstr "" -#: builtin/clone.c:413 +#: builtin/clone.c:418 #, c-format msgid "failed to create link '%s'" msgstr "" -#: builtin/clone.c:417 +#: builtin/clone.c:422 #, c-format msgid "failed to copy file to '%s'" msgstr "" -#: builtin/clone.c:442 builtin/clone.c:626 +#: builtin/clone.c:447 builtin/clone.c:631 #, c-format msgid "done.\n" msgstr "" -#: builtin/clone.c:454 +#: builtin/clone.c:459 msgid "" "Clone succeeded, but checkout failed.\n" "You can inspect what was checked out with 'git status'\n" "and retry the checkout with 'git checkout -f HEAD'\n" msgstr "" -#: builtin/clone.c:531 +#: builtin/clone.c:536 #, c-format msgid "Could not find remote branch %s to clone." msgstr "" -#: builtin/clone.c:621 +#: builtin/clone.c:626 #, c-format msgid "Checking connectivity... " msgstr "" -#: builtin/clone.c:624 +#: builtin/clone.c:629 msgid "remote did not send all necessary objects" msgstr "" -#: builtin/clone.c:688 +#: builtin/clone.c:647 +#, c-format +msgid "unable to update %s" +msgstr "" + +#: builtin/clone.c:696 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "" -#: builtin/clone.c:719 +#: builtin/clone.c:727 msgid "unable to checkout working tree" msgstr "" -#: builtin/clone.c:808 +#: builtin/clone.c:753 +msgid "unable to write parameters to config file" +msgstr "" + +#: builtin/clone.c:816 msgid "cannot repack to clean up" msgstr "" -#: builtin/clone.c:810 +#: builtin/clone.c:818 msgid "cannot unlink temporary alternates file" msgstr "" -#: builtin/clone.c:842 +#: builtin/clone.c:850 msgid "Too many arguments." msgstr "" -#: builtin/clone.c:846 +#: builtin/clone.c:854 msgid "You must specify a repository to clone." msgstr "" -#: builtin/clone.c:857 +#: builtin/clone.c:865 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "" -#: builtin/clone.c:860 +#: builtin/clone.c:868 msgid "--bare and --separate-git-dir are incompatible." msgstr "" -#: builtin/clone.c:873 +#: builtin/clone.c:881 #, c-format msgid "repository '%s' does not exist" msgstr "" -#: builtin/clone.c:879 builtin/fetch.c:1166 +#: builtin/clone.c:887 builtin/fetch.c:1174 #, c-format msgid "depth %s is not a positive number" msgstr "" -#: builtin/clone.c:889 +#: builtin/clone.c:897 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "" -#: builtin/clone.c:899 +#: builtin/clone.c:907 #, c-format msgid "working tree '%s' already exists." msgstr "" -#: builtin/clone.c:914 builtin/clone.c:925 builtin/submodule--helper.c:224 -#: builtin/worktree.c:221 builtin/worktree.c:248 +#: builtin/clone.c:922 builtin/clone.c:933 builtin/submodule--helper.c:218 +#: builtin/worktree.c:219 builtin/worktree.c:246 #, c-format msgid "could not create leading directories of '%s'" msgstr "" -#: builtin/clone.c:917 +#: builtin/clone.c:925 #, c-format msgid "could not create work tree dir '%s'" msgstr "" -#: builtin/clone.c:935 +#: builtin/clone.c:943 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "" -#: builtin/clone.c:937 +#: builtin/clone.c:945 #, c-format msgid "Cloning into '%s'...\n" msgstr "" -#: builtin/clone.c:975 +#: builtin/clone.c:984 msgid "--depth is ignored in local clones; use file:// instead." msgstr "" -#: builtin/clone.c:978 +#: builtin/clone.c:987 msgid "source repository is shallow, ignoring --local" msgstr "" -#: builtin/clone.c:983 +#: builtin/clone.c:992 msgid "--local is ignored" msgstr "" -#: builtin/clone.c:987 +#: builtin/clone.c:996 #, c-format msgid "Don't know how to clone %s" msgstr "" -#: builtin/clone.c:1036 builtin/clone.c:1044 +#: builtin/clone.c:1045 builtin/clone.c:1053 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "" -#: builtin/clone.c:1047 +#: builtin/clone.c:1056 msgid "You appear to have cloned an empty repository." msgstr "" @@ -4720,7 +4899,7 @@ msgstr "" msgid "could not lookup commit %s" msgstr "" -#: builtin/commit.c:702 builtin/shortlog.c:273 +#: builtin/commit.c:702 builtin/shortlog.c:285 #, c-format msgid "(reading log message from standard input)\n" msgstr "" @@ -4888,8 +5067,8 @@ msgstr "" msgid "show branch information" msgstr "" -#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:544 -#: builtin/worktree.c:423 +#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:512 +#: builtin/worktree.c:430 msgid "machine-readable output" msgstr "" @@ -4976,8 +5155,8 @@ msgstr "" msgid "override date for commit" msgstr "" -#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:392 -#: builtin/notes.c:555 builtin/tag.c:349 +#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:395 +#: builtin/notes.c:558 builtin/tag.c:349 msgid "message" msgstr "" @@ -5010,7 +5189,7 @@ msgstr "" msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "" -#: builtin/commit.c:1588 builtin/log.c:1216 builtin/revert.c:86 +#: builtin/commit.c:1588 builtin/log.c:1219 builtin/revert.c:86 msgid "add Signed-off-by:" msgstr "" @@ -5034,7 +5213,7 @@ msgstr "" msgid "include status in commit message template" msgstr "" -#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:156 +#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:160 #: builtin/revert.c:93 msgid "GPG sign commit" msgstr "" @@ -5122,139 +5301,143 @@ msgid "" "not exceeded, and then \"git reset HEAD\" to recover." msgstr "" -#: builtin/config.c:8 +#: builtin/config.c:9 msgid "git config [<options>]" msgstr "" -#: builtin/config.c:54 +#: builtin/config.c:56 msgid "Config file location" msgstr "" -#: builtin/config.c:55 +#: builtin/config.c:57 msgid "use global config file" msgstr "" -#: builtin/config.c:56 +#: builtin/config.c:58 msgid "use system config file" msgstr "" -#: builtin/config.c:57 +#: builtin/config.c:59 msgid "use repository config file" msgstr "" -#: builtin/config.c:58 +#: builtin/config.c:60 msgid "use given config file" msgstr "" -#: builtin/config.c:59 +#: builtin/config.c:61 msgid "blob-id" msgstr "" -#: builtin/config.c:59 +#: builtin/config.c:61 msgid "read config from given blob object" msgstr "" -#: builtin/config.c:60 +#: builtin/config.c:62 msgid "Action" msgstr "" -#: builtin/config.c:61 +#: builtin/config.c:63 msgid "get value: name [value-regex]" msgstr "" -#: builtin/config.c:62 +#: builtin/config.c:64 msgid "get all values: key [value-regex]" msgstr "" -#: builtin/config.c:63 +#: builtin/config.c:65 msgid "get values for regexp: name-regex [value-regex]" msgstr "" -#: builtin/config.c:64 +#: builtin/config.c:66 msgid "get value specific for the URL: section[.var] URL" msgstr "" -#: builtin/config.c:65 +#: builtin/config.c:67 msgid "replace all matching variables: name value [value_regex]" msgstr "" -#: builtin/config.c:66 +#: builtin/config.c:68 msgid "add a new variable: name value" msgstr "" -#: builtin/config.c:67 +#: builtin/config.c:69 msgid "remove a variable: name [value-regex]" msgstr "" -#: builtin/config.c:68 +#: builtin/config.c:70 msgid "remove all matches: name [value-regex]" msgstr "" -#: builtin/config.c:69 +#: builtin/config.c:71 msgid "rename section: old-name new-name" msgstr "" -#: builtin/config.c:70 +#: builtin/config.c:72 msgid "remove a section: name" msgstr "" -#: builtin/config.c:71 +#: builtin/config.c:73 msgid "list all" msgstr "" -#: builtin/config.c:72 +#: builtin/config.c:74 msgid "open an editor" msgstr "" -#: builtin/config.c:73 +#: builtin/config.c:75 msgid "find the color configured: slot [default]" msgstr "" -#: builtin/config.c:74 +#: builtin/config.c:76 msgid "find the color setting: slot [stdout-is-tty]" msgstr "" -#: builtin/config.c:75 +#: builtin/config.c:77 msgid "Type" msgstr "" -#: builtin/config.c:76 +#: builtin/config.c:78 msgid "value is \"true\" or \"false\"" msgstr "" -#: builtin/config.c:77 +#: builtin/config.c:79 msgid "value is decimal number" msgstr "" -#: builtin/config.c:78 +#: builtin/config.c:80 msgid "value is --bool or --int" msgstr "" -#: builtin/config.c:79 +#: builtin/config.c:81 msgid "value is a path (file or directory name)" msgstr "" -#: builtin/config.c:80 +#: builtin/config.c:82 msgid "Other" msgstr "" -#: builtin/config.c:81 +#: builtin/config.c:83 msgid "terminate values with NUL byte" msgstr "" -#: builtin/config.c:82 +#: builtin/config.c:84 msgid "show variable names only" msgstr "" -#: builtin/config.c:83 +#: builtin/config.c:85 msgid "respect include directives on lookup" msgstr "" -#: builtin/config.c:303 +#: builtin/config.c:86 +msgid "show origin of config (file, standard input, blob, command line)" +msgstr "" + +#: builtin/config.c:328 msgid "unable to parse default color value" msgstr "" -#: builtin/config.c:441 +#: builtin/config.c:469 #, c-format msgid "" "# This is Git's per-user configuration file.\n" @@ -5264,7 +5447,7 @@ msgid "" "#\temail = %s\n" msgstr "" -#: builtin/config.c:575 +#: builtin/config.c:611 #, c-format msgid "cannot create configuration file %s" msgstr "" @@ -5508,247 +5691,251 @@ msgstr "" msgid "git fetch --all [<options>]" msgstr "" -#: builtin/fetch.c:90 builtin/pull.c:162 +#: builtin/fetch.c:92 builtin/pull.c:166 msgid "fetch from all remotes" msgstr "" -#: builtin/fetch.c:92 builtin/pull.c:165 +#: builtin/fetch.c:94 builtin/pull.c:169 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "" -#: builtin/fetch.c:94 builtin/pull.c:168 +#: builtin/fetch.c:96 builtin/pull.c:172 msgid "path to upload pack on remote end" msgstr "" -#: builtin/fetch.c:95 builtin/pull.c:170 +#: builtin/fetch.c:97 builtin/pull.c:174 msgid "force overwrite of local branch" msgstr "" -#: builtin/fetch.c:97 +#: builtin/fetch.c:99 msgid "fetch from multiple remotes" msgstr "" -#: builtin/fetch.c:99 builtin/pull.c:172 +#: builtin/fetch.c:101 builtin/pull.c:176 msgid "fetch all tags and associated objects" msgstr "" -#: builtin/fetch.c:101 +#: builtin/fetch.c:103 msgid "do not fetch all tags (--no-tags)" msgstr "" -#: builtin/fetch.c:103 builtin/pull.c:175 +#: builtin/fetch.c:105 +msgid "number of submodules fetched in parallel" +msgstr "" + +#: builtin/fetch.c:107 builtin/pull.c:179 msgid "prune remote-tracking branches no longer on remote" msgstr "" -#: builtin/fetch.c:104 builtin/pull.c:178 +#: builtin/fetch.c:108 builtin/pull.c:182 msgid "on-demand" msgstr "" -#: builtin/fetch.c:105 builtin/pull.c:179 +#: builtin/fetch.c:109 builtin/pull.c:183 msgid "control recursive fetching of submodules" msgstr "" -#: builtin/fetch.c:109 builtin/pull.c:184 +#: builtin/fetch.c:113 builtin/pull.c:191 msgid "keep downloaded pack" msgstr "" -#: builtin/fetch.c:111 +#: builtin/fetch.c:115 msgid "allow updating of HEAD ref" msgstr "" -#: builtin/fetch.c:114 builtin/pull.c:187 +#: builtin/fetch.c:118 builtin/pull.c:194 msgid "deepen history of shallow clone" msgstr "" -#: builtin/fetch.c:116 builtin/pull.c:190 +#: builtin/fetch.c:120 builtin/pull.c:197 msgid "convert to a complete repository" msgstr "" -#: builtin/fetch.c:118 builtin/log.c:1233 +#: builtin/fetch.c:122 builtin/log.c:1236 msgid "dir" msgstr "" -#: builtin/fetch.c:119 +#: builtin/fetch.c:123 msgid "prepend this to submodule path output" msgstr "" -#: builtin/fetch.c:122 +#: builtin/fetch.c:126 msgid "default mode for recursion" msgstr "" -#: builtin/fetch.c:124 builtin/pull.c:193 +#: builtin/fetch.c:128 builtin/pull.c:200 msgid "accept refs that update .git/shallow" msgstr "" -#: builtin/fetch.c:125 builtin/pull.c:195 +#: builtin/fetch.c:129 builtin/pull.c:202 msgid "refmap" msgstr "" -#: builtin/fetch.c:126 builtin/pull.c:196 +#: builtin/fetch.c:130 builtin/pull.c:203 msgid "specify fetch refmap" msgstr "" -#: builtin/fetch.c:378 +#: builtin/fetch.c:386 msgid "Couldn't find remote ref HEAD" msgstr "" -#: builtin/fetch.c:458 +#: builtin/fetch.c:466 #, c-format msgid "object %s not found" msgstr "" -#: builtin/fetch.c:463 +#: builtin/fetch.c:471 msgid "[up to date]" msgstr "" -#: builtin/fetch.c:477 +#: builtin/fetch.c:485 #, c-format msgid "! %-*s %-*s -> %s (can't fetch in current branch)" msgstr "" -#: builtin/fetch.c:478 builtin/fetch.c:566 +#: builtin/fetch.c:486 builtin/fetch.c:574 msgid "[rejected]" msgstr "" -#: builtin/fetch.c:489 +#: builtin/fetch.c:497 msgid "[tag update]" msgstr "" -#: builtin/fetch.c:491 builtin/fetch.c:526 builtin/fetch.c:544 +#: builtin/fetch.c:499 builtin/fetch.c:534 builtin/fetch.c:552 msgid " (unable to update local ref)" msgstr "" -#: builtin/fetch.c:509 +#: builtin/fetch.c:517 msgid "[new tag]" msgstr "" -#: builtin/fetch.c:512 +#: builtin/fetch.c:520 msgid "[new branch]" msgstr "" -#: builtin/fetch.c:515 +#: builtin/fetch.c:523 msgid "[new ref]" msgstr "" -#: builtin/fetch.c:561 +#: builtin/fetch.c:569 msgid "unable to update local ref" msgstr "" -#: builtin/fetch.c:561 +#: builtin/fetch.c:569 msgid "forced update" msgstr "" -#: builtin/fetch.c:568 +#: builtin/fetch.c:576 msgid "(non-fast-forward)" msgstr "" -#: builtin/fetch.c:602 builtin/fetch.c:843 +#: builtin/fetch.c:610 builtin/fetch.c:851 #, c-format msgid "cannot open %s: %s\n" msgstr "" -#: builtin/fetch.c:611 +#: builtin/fetch.c:619 #, c-format msgid "%s did not send all necessary objects\n" msgstr "" -#: builtin/fetch.c:629 +#: builtin/fetch.c:637 #, c-format msgid "reject %s because shallow roots are not allowed to be updated" msgstr "" -#: builtin/fetch.c:716 builtin/fetch.c:808 +#: builtin/fetch.c:724 builtin/fetch.c:816 #, c-format msgid "From %.*s\n" msgstr "" -#: builtin/fetch.c:727 +#: builtin/fetch.c:735 #, c-format msgid "" "some local refs could not be updated; try running\n" " 'git remote prune %s' to remove any old, conflicting branches" msgstr "" -#: builtin/fetch.c:779 +#: builtin/fetch.c:787 #, c-format msgid " (%s will become dangling)" msgstr "" -#: builtin/fetch.c:780 +#: builtin/fetch.c:788 #, c-format msgid " (%s has become dangling)" msgstr "" -#: builtin/fetch.c:812 +#: builtin/fetch.c:820 msgid "[deleted]" msgstr "" -#: builtin/fetch.c:813 builtin/remote.c:1040 +#: builtin/fetch.c:821 builtin/remote.c:1025 msgid "(none)" msgstr "" -#: builtin/fetch.c:833 +#: builtin/fetch.c:841 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "" -#: builtin/fetch.c:852 +#: builtin/fetch.c:860 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "" -#: builtin/fetch.c:855 +#: builtin/fetch.c:863 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "" -#: builtin/fetch.c:911 +#: builtin/fetch.c:920 #, c-format msgid "Don't know how to fetch from %s" msgstr "" -#: builtin/fetch.c:1072 +#: builtin/fetch.c:1080 #, c-format msgid "Fetching %s\n" msgstr "" -#: builtin/fetch.c:1074 builtin/remote.c:96 +#: builtin/fetch.c:1082 builtin/remote.c:96 #, c-format msgid "Could not fetch %s" msgstr "" -#: builtin/fetch.c:1092 +#: builtin/fetch.c:1100 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." msgstr "" -#: builtin/fetch.c:1115 +#: builtin/fetch.c:1123 msgid "You need to specify a tag name." msgstr "" -#: builtin/fetch.c:1157 +#: builtin/fetch.c:1165 msgid "--depth and --unshallow cannot be used together" msgstr "" -#: builtin/fetch.c:1159 +#: builtin/fetch.c:1167 msgid "--unshallow on a complete repository does not make sense" msgstr "" -#: builtin/fetch.c:1179 +#: builtin/fetch.c:1187 msgid "fetch --all does not take a repository argument" msgstr "" -#: builtin/fetch.c:1181 +#: builtin/fetch.c:1189 msgid "fetch --all does not make sense with refspecs" msgstr "" -#: builtin/fetch.c:1192 +#: builtin/fetch.c:1200 #, c-format msgid "No such remote or remote group: %s" msgstr "" -#: builtin/fetch.c:1200 +#: builtin/fetch.c:1208 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "" @@ -5963,259 +6150,273 @@ msgstr "" msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]" msgstr "" -#: builtin/grep.c:218 +#: builtin/grep.c:219 #, c-format msgid "grep: failed to create thread: %s" msgstr "" -#: builtin/grep.c:441 builtin/grep.c:476 +#: builtin/grep.c:277 +#, c-format +msgid "invalid number of threads specified (%d) for %s" +msgstr "" + +#: builtin/grep.c:452 builtin/grep.c:487 #, c-format msgid "unable to read tree (%s)" msgstr "" -#: builtin/grep.c:491 +#: builtin/grep.c:502 #, c-format msgid "unable to grep from object of type %s" msgstr "" -#: builtin/grep.c:547 +#: builtin/grep.c:558 #, c-format msgid "switch `%c' expects a numerical value" msgstr "" -#: builtin/grep.c:564 +#: builtin/grep.c:575 #, c-format msgid "cannot open '%s'" msgstr "" -#: builtin/grep.c:633 +#: builtin/grep.c:644 msgid "search in index instead of in the work tree" msgstr "" -#: builtin/grep.c:635 +#: builtin/grep.c:646 msgid "find in contents not managed by git" msgstr "" -#: builtin/grep.c:637 +#: builtin/grep.c:648 msgid "search in both tracked and untracked files" msgstr "" -#: builtin/grep.c:639 +#: builtin/grep.c:650 msgid "ignore files specified via '.gitignore'" msgstr "" -#: builtin/grep.c:642 +#: builtin/grep.c:653 msgid "show non-matching lines" msgstr "" -#: builtin/grep.c:644 +#: builtin/grep.c:655 msgid "case insensitive matching" msgstr "" -#: builtin/grep.c:646 +#: builtin/grep.c:657 msgid "match patterns only at word boundaries" msgstr "" -#: builtin/grep.c:648 +#: builtin/grep.c:659 msgid "process binary files as text" msgstr "" -#: builtin/grep.c:650 +#: builtin/grep.c:661 msgid "don't match patterns in binary files" msgstr "" -#: builtin/grep.c:653 +#: builtin/grep.c:664 msgid "process binary files with textconv filters" msgstr "" -#: builtin/grep.c:655 +#: builtin/grep.c:666 msgid "descend at most <depth> levels" msgstr "" -#: builtin/grep.c:659 +#: builtin/grep.c:670 msgid "use extended POSIX regular expressions" msgstr "" -#: builtin/grep.c:662 +#: builtin/grep.c:673 msgid "use basic POSIX regular expressions (default)" msgstr "" -#: builtin/grep.c:665 +#: builtin/grep.c:676 msgid "interpret patterns as fixed strings" msgstr "" -#: builtin/grep.c:668 +#: builtin/grep.c:679 msgid "use Perl-compatible regular expressions" msgstr "" -#: builtin/grep.c:671 +#: builtin/grep.c:682 msgid "show line numbers" msgstr "" -#: builtin/grep.c:672 +#: builtin/grep.c:683 msgid "don't show filenames" msgstr "" -#: builtin/grep.c:673 +#: builtin/grep.c:684 msgid "show filenames" msgstr "" -#: builtin/grep.c:675 +#: builtin/grep.c:686 msgid "show filenames relative to top directory" msgstr "" -#: builtin/grep.c:677 +#: builtin/grep.c:688 msgid "show only filenames instead of matching lines" msgstr "" -#: builtin/grep.c:679 +#: builtin/grep.c:690 msgid "synonym for --files-with-matches" msgstr "" -#: builtin/grep.c:682 +#: builtin/grep.c:693 msgid "show only the names of files without match" msgstr "" -#: builtin/grep.c:684 +#: builtin/grep.c:695 msgid "print NUL after filenames" msgstr "" -#: builtin/grep.c:686 +#: builtin/grep.c:697 msgid "show the number of matches instead of matching lines" msgstr "" -#: builtin/grep.c:687 +#: builtin/grep.c:698 msgid "highlight matches" msgstr "" -#: builtin/grep.c:689 +#: builtin/grep.c:700 msgid "print empty line between matches from different files" msgstr "" -#: builtin/grep.c:691 +#: builtin/grep.c:702 msgid "show filename only once above matches from same file" msgstr "" -#: builtin/grep.c:694 +#: builtin/grep.c:705 msgid "show <n> context lines before and after matches" msgstr "" -#: builtin/grep.c:697 +#: builtin/grep.c:708 msgid "show <n> context lines before matches" msgstr "" -#: builtin/grep.c:699 +#: builtin/grep.c:710 msgid "show <n> context lines after matches" msgstr "" -#: builtin/grep.c:700 +#: builtin/grep.c:712 +msgid "use <n> worker threads" +msgstr "" + +#: builtin/grep.c:713 msgid "shortcut for -C NUM" msgstr "" -#: builtin/grep.c:703 +#: builtin/grep.c:716 msgid "show a line with the function name before matches" msgstr "" -#: builtin/grep.c:705 +#: builtin/grep.c:718 msgid "show the surrounding function" msgstr "" -#: builtin/grep.c:708 +#: builtin/grep.c:721 msgid "read patterns from file" msgstr "" -#: builtin/grep.c:710 +#: builtin/grep.c:723 msgid "match <pattern>" msgstr "" -#: builtin/grep.c:712 +#: builtin/grep.c:725 msgid "combine patterns specified with -e" msgstr "" -#: builtin/grep.c:724 +#: builtin/grep.c:737 msgid "indicate hit with exit status without output" msgstr "" -#: builtin/grep.c:726 +#: builtin/grep.c:739 msgid "show only matches from files that match all patterns" msgstr "" -#: builtin/grep.c:728 +#: builtin/grep.c:741 msgid "show parse tree for grep expression" msgstr "" -#: builtin/grep.c:732 +#: builtin/grep.c:745 msgid "pager" msgstr "" -#: builtin/grep.c:732 +#: builtin/grep.c:745 msgid "show matching files in the pager" msgstr "" -#: builtin/grep.c:735 +#: builtin/grep.c:748 msgid "allow calling of grep(1) (ignored by this build)" msgstr "" -#: builtin/grep.c:793 +#: builtin/grep.c:811 msgid "no pattern given." msgstr "" -#: builtin/grep.c:851 +#: builtin/grep.c:843 builtin/index-pack.c:1475 +#, c-format +msgid "invalid number of threads specified (%d)" +msgstr "" + +#: builtin/grep.c:873 msgid "--open-files-in-pager only works on the worktree" msgstr "" -#: builtin/grep.c:877 +#: builtin/grep.c:899 msgid "--cached or --untracked cannot be used with --no-index." msgstr "" -#: builtin/grep.c:882 +#: builtin/grep.c:904 msgid "--no-index or --untracked cannot be used with revs." msgstr "" -#: builtin/grep.c:885 +#: builtin/grep.c:907 msgid "--[no-]exclude-standard cannot be used for tracked contents." msgstr "" -#: builtin/grep.c:893 +#: builtin/grep.c:915 msgid "both --cached and trees are given." msgstr "" -#: builtin/hash-object.c:80 +#: builtin/hash-object.c:81 msgid "" "git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] " "[--] <file>..." msgstr "" -#: builtin/hash-object.c:81 +#: builtin/hash-object.c:82 msgid "git hash-object --stdin-paths" msgstr "" -#: builtin/hash-object.c:92 +#: builtin/hash-object.c:93 msgid "type" msgstr "" -#: builtin/hash-object.c:92 +#: builtin/hash-object.c:93 msgid "object type" msgstr "" -#: builtin/hash-object.c:93 +#: builtin/hash-object.c:94 msgid "write the object into the object database" msgstr "" -#: builtin/hash-object.c:95 +#: builtin/hash-object.c:96 msgid "read the object from stdin" msgstr "" -#: builtin/hash-object.c:97 +#: builtin/hash-object.c:98 msgid "store file as is without filters" msgstr "" -#: builtin/hash-object.c:98 +#: builtin/hash-object.c:99 msgid "" "just hash any random garbage to create corrupt objects for debugging Git" msgstr "" -#: builtin/hash-object.c:99 +#: builtin/hash-object.c:100 msgid "process file as it were from this path" msgstr "" @@ -6266,75 +6467,75 @@ msgstr "" msgid "failed to exec '%s': %s" msgstr "" -#: builtin/help.c:208 +#: builtin/help.c:205 #, c-format msgid "" "'%s': path for unsupported man viewer.\n" "Please consider using 'man.<tool>.cmd' instead." msgstr "" -#: builtin/help.c:220 +#: builtin/help.c:217 #, c-format msgid "" "'%s': cmd for supported man viewer.\n" "Please consider using 'man.<tool>.path' instead." msgstr "" -#: builtin/help.c:337 +#: builtin/help.c:334 #, c-format msgid "'%s': unknown man viewer." msgstr "" -#: builtin/help.c:354 +#: builtin/help.c:351 msgid "no man viewer handled the request" msgstr "" -#: builtin/help.c:362 +#: builtin/help.c:359 msgid "no info viewer handled the request" msgstr "" -#: builtin/help.c:411 +#: builtin/help.c:408 msgid "Defining attributes per path" msgstr "" -#: builtin/help.c:412 +#: builtin/help.c:409 msgid "Everyday Git With 20 Commands Or So" msgstr "" -#: builtin/help.c:413 +#: builtin/help.c:410 msgid "A Git glossary" msgstr "" -#: builtin/help.c:414 +#: builtin/help.c:411 msgid "Specifies intentionally untracked files to ignore" msgstr "" -#: builtin/help.c:415 +#: builtin/help.c:412 msgid "Defining submodule properties" msgstr "" -#: builtin/help.c:416 +#: builtin/help.c:413 msgid "Specifying revisions and ranges for Git" msgstr "" -#: builtin/help.c:417 +#: builtin/help.c:414 msgid "A tutorial introduction to Git (for version 1.5.1 or newer)" msgstr "" -#: builtin/help.c:418 +#: builtin/help.c:415 msgid "An overview of recommended workflows with Git" msgstr "" -#: builtin/help.c:430 +#: builtin/help.c:427 msgid "The common Git guides are:\n" msgstr "" -#: builtin/help.c:451 builtin/help.c:468 +#: builtin/help.c:448 builtin/help.c:465 #, c-format msgid "usage: %s%s" msgstr "" -#: builtin/help.c:484 +#: builtin/help.c:481 #, c-format msgid "`git %s' is aliased to `%s'" msgstr "" @@ -6570,60 +6771,55 @@ msgstr "" msgid "bad pack.indexversion=%<PRIu32>" msgstr "" -#: builtin/index-pack.c:1475 -#, c-format -msgid "invalid number of threads specified (%d)" -msgstr "" - -#: builtin/index-pack.c:1479 builtin/index-pack.c:1663 +#: builtin/index-pack.c:1479 builtin/index-pack.c:1664 #, c-format msgid "no threads support, ignoring %s" msgstr "" -#: builtin/index-pack.c:1537 +#: builtin/index-pack.c:1538 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "" -#: builtin/index-pack.c:1539 +#: builtin/index-pack.c:1540 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "" -#: builtin/index-pack.c:1586 +#: builtin/index-pack.c:1587 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" msgstr[0] "" msgstr[1] "" -#: builtin/index-pack.c:1593 +#: builtin/index-pack.c:1594 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" msgstr[0] "" msgstr[1] "" -#: builtin/index-pack.c:1623 +#: builtin/index-pack.c:1624 msgid "Cannot come back to cwd" msgstr "" -#: builtin/index-pack.c:1675 builtin/index-pack.c:1678 -#: builtin/index-pack.c:1690 builtin/index-pack.c:1694 +#: builtin/index-pack.c:1676 builtin/index-pack.c:1679 +#: builtin/index-pack.c:1691 builtin/index-pack.c:1695 #, c-format msgid "bad %s" msgstr "" -#: builtin/index-pack.c:1708 +#: builtin/index-pack.c:1709 msgid "--fix-thin cannot be used without --stdin" msgstr "" -#: builtin/index-pack.c:1712 builtin/index-pack.c:1721 +#: builtin/index-pack.c:1713 builtin/index-pack.c:1722 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "" -#: builtin/index-pack.c:1729 +#: builtin/index-pack.c:1730 msgid "--verify with no packfile name given" msgstr "" @@ -6745,22 +6941,30 @@ msgstr "" #: builtin/interpret-trailers.c:15 msgid "" -"git interpret-trailers [--trim-empty] [(--trailer <token>[(=|:)<value>])...] " -"[<file>...]" +"git interpret-trailers [--in-place] [--trim-empty] [(--trailer " +"<token>[(=|:)<value>])...] [<file>...]" msgstr "" -#: builtin/interpret-trailers.c:25 +#: builtin/interpret-trailers.c:26 +msgid "edit files in place" +msgstr "" + +#: builtin/interpret-trailers.c:27 msgid "trim empty trailers" msgstr "" -#: builtin/interpret-trailers.c:26 +#: builtin/interpret-trailers.c:28 msgid "trailer" msgstr "" -#: builtin/interpret-trailers.c:27 +#: builtin/interpret-trailers.c:29 msgid "trailer(s) to add" msgstr "" +#: builtin/interpret-trailers.c:42 +msgid "no input file given for in-place editing" +msgstr "" + #: builtin/log.c:43 msgid "git log [<options>] [<revision-range>] [[--] <path>...]" msgstr "" @@ -6814,325 +7018,372 @@ msgstr "" msgid "Unknown type: %d" msgstr "" -#: builtin/log.c:714 +#: builtin/log.c:715 msgid "format.headers without value" msgstr "" -#: builtin/log.c:798 +#: builtin/log.c:801 msgid "name of output directory is too long" msgstr "" -#: builtin/log.c:813 +#: builtin/log.c:816 #, c-format msgid "Cannot open patch file %s" msgstr "" -#: builtin/log.c:827 +#: builtin/log.c:830 msgid "Need exactly one range." msgstr "" -#: builtin/log.c:837 +#: builtin/log.c:840 msgid "Not a range." msgstr "" -#: builtin/log.c:943 +#: builtin/log.c:946 msgid "Cover letter needs email format" msgstr "" -#: builtin/log.c:1022 +#: builtin/log.c:1025 #, c-format msgid "insane in-reply-to: %s" msgstr "" -#: builtin/log.c:1050 +#: builtin/log.c:1053 msgid "git format-patch [<options>] [<since> | <revision-range>]" msgstr "" -#: builtin/log.c:1095 +#: builtin/log.c:1098 msgid "Two output directories?" msgstr "" -#: builtin/log.c:1211 +#: builtin/log.c:1214 msgid "use [PATCH n/m] even with a single patch" msgstr "" -#: builtin/log.c:1214 +#: builtin/log.c:1217 msgid "use [PATCH] even with multiple patches" msgstr "" -#: builtin/log.c:1218 +#: builtin/log.c:1221 msgid "print patches to standard out" msgstr "" -#: builtin/log.c:1220 +#: builtin/log.c:1223 msgid "generate a cover letter" msgstr "" -#: builtin/log.c:1222 +#: builtin/log.c:1225 msgid "use simple number sequence for output file names" msgstr "" -#: builtin/log.c:1223 +#: builtin/log.c:1226 msgid "sfx" msgstr "" -#: builtin/log.c:1224 +#: builtin/log.c:1227 msgid "use <sfx> instead of '.patch'" msgstr "" -#: builtin/log.c:1226 +#: builtin/log.c:1229 msgid "start numbering patches at <n> instead of 1" msgstr "" -#: builtin/log.c:1228 +#: builtin/log.c:1231 msgid "mark the series as Nth re-roll" msgstr "" -#: builtin/log.c:1230 +#: builtin/log.c:1233 msgid "Use [<prefix>] instead of [PATCH]" msgstr "" -#: builtin/log.c:1233 +#: builtin/log.c:1236 msgid "store resulting files in <dir>" msgstr "" -#: builtin/log.c:1236 +#: builtin/log.c:1239 msgid "don't strip/add [PATCH]" msgstr "" -#: builtin/log.c:1239 +#: builtin/log.c:1242 msgid "don't output binary diffs" msgstr "" -#: builtin/log.c:1241 +#: builtin/log.c:1244 msgid "output all-zero hash in From header" msgstr "" -#: builtin/log.c:1243 +#: builtin/log.c:1246 msgid "don't include a patch matching a commit upstream" msgstr "" -#: builtin/log.c:1245 +#: builtin/log.c:1248 msgid "show patch format instead of default (patch + stat)" msgstr "" -#: builtin/log.c:1247 +#: builtin/log.c:1250 msgid "Messaging" msgstr "" -#: builtin/log.c:1248 +#: builtin/log.c:1251 msgid "header" msgstr "" -#: builtin/log.c:1249 +#: builtin/log.c:1252 msgid "add email header" msgstr "" -#: builtin/log.c:1250 builtin/log.c:1252 +#: builtin/log.c:1253 builtin/log.c:1255 msgid "email" msgstr "" -#: builtin/log.c:1250 +#: builtin/log.c:1253 msgid "add To: header" msgstr "" -#: builtin/log.c:1252 +#: builtin/log.c:1255 msgid "add Cc: header" msgstr "" -#: builtin/log.c:1254 +#: builtin/log.c:1257 msgid "ident" msgstr "" -#: builtin/log.c:1255 +#: builtin/log.c:1258 msgid "set From address to <ident> (or committer ident if absent)" msgstr "" -#: builtin/log.c:1257 +#: builtin/log.c:1260 msgid "message-id" msgstr "" -#: builtin/log.c:1258 +#: builtin/log.c:1261 msgid "make first mail a reply to <message-id>" msgstr "" -#: builtin/log.c:1259 builtin/log.c:1262 +#: builtin/log.c:1262 builtin/log.c:1265 msgid "boundary" msgstr "" -#: builtin/log.c:1260 +#: builtin/log.c:1263 msgid "attach the patch" msgstr "" -#: builtin/log.c:1263 +#: builtin/log.c:1266 msgid "inline the patch" msgstr "" -#: builtin/log.c:1267 +#: builtin/log.c:1270 msgid "enable message threading, styles: shallow, deep" msgstr "" -#: builtin/log.c:1269 +#: builtin/log.c:1272 msgid "signature" msgstr "" -#: builtin/log.c:1270 +#: builtin/log.c:1273 msgid "add a signature" msgstr "" -#: builtin/log.c:1272 +#: builtin/log.c:1275 msgid "add a signature from a file" msgstr "" -#: builtin/log.c:1273 +#: builtin/log.c:1276 msgid "don't print the patch filenames" msgstr "" -#: builtin/log.c:1362 +#: builtin/log.c:1365 msgid "-n and -k are mutually exclusive." msgstr "" -#: builtin/log.c:1364 +#: builtin/log.c:1367 msgid "--subject-prefix and -k are mutually exclusive." msgstr "" -#: builtin/log.c:1372 +#: builtin/log.c:1375 msgid "--name-only does not make sense" msgstr "" -#: builtin/log.c:1374 +#: builtin/log.c:1377 msgid "--name-status does not make sense" msgstr "" -#: builtin/log.c:1376 +#: builtin/log.c:1379 msgid "--check does not make sense" msgstr "" -#: builtin/log.c:1401 +#: builtin/log.c:1407 msgid "standard output, or directory, which one?" msgstr "" -#: builtin/log.c:1403 +#: builtin/log.c:1409 #, c-format msgid "Could not create directory '%s'" msgstr "" -#: builtin/log.c:1500 +#: builtin/log.c:1506 #, c-format msgid "unable to read signature file '%s'" msgstr "" -#: builtin/log.c:1563 +#: builtin/log.c:1569 msgid "Failed to create output files" msgstr "" -#: builtin/log.c:1611 +#: builtin/log.c:1617 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" msgstr "" -#: builtin/log.c:1665 +#: builtin/log.c:1671 #, c-format msgid "" "Could not find a tracked remote branch, please specify <upstream> manually.\n" msgstr "" -#: builtin/log.c:1676 builtin/log.c:1678 builtin/log.c:1690 +#: builtin/log.c:1682 builtin/log.c:1684 builtin/log.c:1696 #, c-format msgid "Unknown commit %s" msgstr "" -#: builtin/ls-files.c:358 +#: builtin/ls-files.c:378 msgid "git ls-files [<options>] [<file>...]" msgstr "" -#: builtin/ls-files.c:415 +#: builtin/ls-files.c:427 msgid "identify the file status with tags" msgstr "" -#: builtin/ls-files.c:417 +#: builtin/ls-files.c:429 msgid "use lowercase letters for 'assume unchanged' files" msgstr "" -#: builtin/ls-files.c:419 +#: builtin/ls-files.c:431 msgid "show cached files in the output (default)" msgstr "" -#: builtin/ls-files.c:421 +#: builtin/ls-files.c:433 msgid "show deleted files in the output" msgstr "" -#: builtin/ls-files.c:423 +#: builtin/ls-files.c:435 msgid "show modified files in the output" msgstr "" -#: builtin/ls-files.c:425 +#: builtin/ls-files.c:437 msgid "show other files in the output" msgstr "" -#: builtin/ls-files.c:427 +#: builtin/ls-files.c:439 msgid "show ignored files in the output" msgstr "" -#: builtin/ls-files.c:430 +#: builtin/ls-files.c:442 msgid "show staged contents' object name in the output" msgstr "" -#: builtin/ls-files.c:432 +#: builtin/ls-files.c:444 msgid "show files on the filesystem that need to be removed" msgstr "" -#: builtin/ls-files.c:434 +#: builtin/ls-files.c:446 msgid "show 'other' directories' names only" msgstr "" -#: builtin/ls-files.c:437 +#: builtin/ls-files.c:448 +msgid "show line endings of files" +msgstr "" + +#: builtin/ls-files.c:450 msgid "don't show empty directories" msgstr "" -#: builtin/ls-files.c:440 +#: builtin/ls-files.c:453 msgid "show unmerged files in the output" msgstr "" -#: builtin/ls-files.c:442 +#: builtin/ls-files.c:455 msgid "show resolve-undo information" msgstr "" -#: builtin/ls-files.c:444 +#: builtin/ls-files.c:457 msgid "skip files matching pattern" msgstr "" -#: builtin/ls-files.c:447 +#: builtin/ls-files.c:460 msgid "exclude patterns are read from <file>" msgstr "" -#: builtin/ls-files.c:450 +#: builtin/ls-files.c:463 msgid "read additional per-directory exclude patterns in <file>" msgstr "" -#: builtin/ls-files.c:452 +#: builtin/ls-files.c:465 msgid "add the standard git exclusions" msgstr "" -#: builtin/ls-files.c:455 +#: builtin/ls-files.c:468 msgid "make the output relative to the project top directory" msgstr "" -#: builtin/ls-files.c:458 +#: builtin/ls-files.c:471 msgid "if any <file> is not in the index, treat this as an error" msgstr "" -#: builtin/ls-files.c:459 +#: builtin/ls-files.c:472 msgid "tree-ish" msgstr "" -#: builtin/ls-files.c:460 +#: builtin/ls-files.c:473 msgid "pretend that paths removed since <tree-ish> are still present" msgstr "" -#: builtin/ls-files.c:462 +#: builtin/ls-files.c:475 msgid "show debugging data" msgstr "" +#: builtin/ls-remote.c:7 +msgid "" +"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n" +" [-q | --quiet] [--exit-code] [--get-url]\n" +" [--symref] [<repository> [<refs>...]]" +msgstr "" + +#: builtin/ls-remote.c:50 +msgid "do not print remote URL" +msgstr "" + +#: builtin/ls-remote.c:51 builtin/ls-remote.c:53 +msgid "exec" +msgstr "" + +#: builtin/ls-remote.c:52 builtin/ls-remote.c:54 +msgid "path of git-upload-pack on the remote host" +msgstr "" + +#: builtin/ls-remote.c:56 +msgid "limit to tags" +msgstr "" + +#: builtin/ls-remote.c:57 +msgid "limit to heads" +msgstr "" + +#: builtin/ls-remote.c:58 +msgid "do not show peeled tags" +msgstr "" + +#: builtin/ls-remote.c:60 +msgid "take url.<base>.insteadOf into account" +msgstr "" + +#: builtin/ls-remote.c:62 +msgid "exit with exit code 2 if no matching refs are found" +msgstr "" + +#: builtin/ls-remote.c:64 +msgid "show underlying ref in addition to the object pointed by it" +msgstr "" + #: builtin/ls-tree.c:28 msgid "git ls-tree [<options>] <tree-ish> [<path>...]" msgstr "" @@ -7200,31 +7451,31 @@ msgstr "" msgid "Available custom strategies are:" msgstr "" -#: builtin/merge.c:193 builtin/pull.c:119 +#: builtin/merge.c:193 builtin/pull.c:123 msgid "do not show a diffstat at the end of the merge" msgstr "" -#: builtin/merge.c:196 builtin/pull.c:122 +#: builtin/merge.c:196 builtin/pull.c:126 msgid "show a diffstat at the end of the merge" msgstr "" -#: builtin/merge.c:197 builtin/pull.c:125 +#: builtin/merge.c:197 builtin/pull.c:129 msgid "(synonym to --stat)" msgstr "" -#: builtin/merge.c:199 builtin/pull.c:128 +#: builtin/merge.c:199 builtin/pull.c:132 msgid "add (at most <n>) entries from shortlog to merge commit message" msgstr "" -#: builtin/merge.c:202 builtin/pull.c:131 +#: builtin/merge.c:202 builtin/pull.c:135 msgid "create a single commit instead of doing a merge" msgstr "" -#: builtin/merge.c:204 builtin/pull.c:134 +#: builtin/merge.c:204 builtin/pull.c:138 msgid "perform a commit if the merge succeeds (default)" msgstr "" -#: builtin/merge.c:206 builtin/pull.c:137 +#: builtin/merge.c:206 builtin/pull.c:141 msgid "edit message before committing" msgstr "" @@ -7232,7 +7483,7 @@ msgstr "" msgid "allow fast-forward (default)" msgstr "" -#: builtin/merge.c:209 builtin/pull.c:143 +#: builtin/merge.c:209 builtin/pull.c:147 msgid "abort if fast-forward is not possible" msgstr "" @@ -7240,20 +7491,20 @@ msgstr "" msgid "Verify that the named commit has a valid GPG signature" msgstr "" -#: builtin/merge.c:214 builtin/notes.c:767 builtin/pull.c:148 +#: builtin/merge.c:214 builtin/notes.c:770 builtin/pull.c:152 #: builtin/revert.c:89 msgid "strategy" msgstr "" -#: builtin/merge.c:215 builtin/pull.c:149 +#: builtin/merge.c:215 builtin/pull.c:153 msgid "merge strategy to use" msgstr "" -#: builtin/merge.c:216 builtin/pull.c:152 +#: builtin/merge.c:216 builtin/pull.c:156 msgid "option=value" msgstr "" -#: builtin/merge.c:217 builtin/pull.c:153 +#: builtin/merge.c:217 builtin/pull.c:157 msgid "option for selected merge strategy" msgstr "" @@ -7291,8 +7542,8 @@ msgstr "" msgid "Squash commit -- not updating HEAD\n" msgstr "" -#: builtin/merge.c:344 builtin/merge.c:763 builtin/merge.c:975 -#: builtin/merge.c:988 +#: builtin/merge.c:344 builtin/merge.c:764 builtin/merge.c:976 +#: builtin/merge.c:989 #, c-format msgid "Could not write to '%s'" msgstr "" @@ -7310,41 +7561,41 @@ msgstr "" msgid "No merge message -- not updating HEAD\n" msgstr "" -#: builtin/merge.c:447 +#: builtin/merge.c:448 #, c-format msgid "'%s' does not point to a commit" msgstr "" -#: builtin/merge.c:537 +#: builtin/merge.c:538 #, c-format msgid "Bad branch.%s.mergeoptions string: %s" msgstr "" -#: builtin/merge.c:656 +#: builtin/merge.c:657 msgid "Not handling anything other than two heads merge." msgstr "" -#: builtin/merge.c:670 +#: builtin/merge.c:671 #, c-format msgid "Unknown option for merge-recursive: -X%s" msgstr "" -#: builtin/merge.c:683 +#: builtin/merge.c:684 #, c-format msgid "unable to write %s" msgstr "" -#: builtin/merge.c:772 +#: builtin/merge.c:773 #, c-format msgid "Could not read from '%s'" msgstr "" -#: builtin/merge.c:781 +#: builtin/merge.c:782 #, c-format msgid "Not committing merge; use 'git commit' to complete the merge.\n" msgstr "" -#: builtin/merge.c:787 +#: builtin/merge.c:788 #, c-format msgid "" "Please enter a commit message to explain why this merge is necessary,\n" @@ -7354,157 +7605,157 @@ msgid "" "the commit.\n" msgstr "" -#: builtin/merge.c:811 +#: builtin/merge.c:812 msgid "Empty commit message." msgstr "" -#: builtin/merge.c:823 +#: builtin/merge.c:824 #, c-format msgid "Wonderful.\n" msgstr "" -#: builtin/merge.c:878 +#: builtin/merge.c:879 #, c-format msgid "Automatic merge failed; fix conflicts and then commit the result.\n" msgstr "" -#: builtin/merge.c:894 +#: builtin/merge.c:895 #, c-format msgid "'%s' is not a commit" msgstr "" -#: builtin/merge.c:935 +#: builtin/merge.c:936 msgid "No current branch." msgstr "" -#: builtin/merge.c:937 +#: builtin/merge.c:938 msgid "No remote for the current branch." msgstr "" -#: builtin/merge.c:939 +#: builtin/merge.c:940 msgid "No default upstream defined for the current branch." msgstr "" -#: builtin/merge.c:944 +#: builtin/merge.c:945 #, c-format msgid "No remote-tracking branch for %s from %s" msgstr "" -#: builtin/merge.c:1079 +#: builtin/merge.c:1080 #, c-format msgid "could not close '%s'" msgstr "" -#: builtin/merge.c:1206 +#: builtin/merge.c:1207 msgid "There is no merge to abort (MERGE_HEAD missing)." msgstr "" -#: builtin/merge.c:1222 +#: builtin/merge.c:1223 msgid "" "You have not concluded your merge (MERGE_HEAD exists).\n" "Please, commit your changes before you merge." msgstr "" -#: builtin/merge.c:1229 +#: builtin/merge.c:1230 msgid "" "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n" "Please, commit your changes before you merge." msgstr "" -#: builtin/merge.c:1232 +#: builtin/merge.c:1233 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)." msgstr "" -#: builtin/merge.c:1241 +#: builtin/merge.c:1242 msgid "You cannot combine --squash with --no-ff." msgstr "" -#: builtin/merge.c:1249 +#: builtin/merge.c:1250 msgid "No commit specified and merge.defaultToUpstream not set." msgstr "" -#: builtin/merge.c:1266 +#: builtin/merge.c:1267 msgid "Squash commit into empty head not supported yet" msgstr "" -#: builtin/merge.c:1268 +#: builtin/merge.c:1269 msgid "Non-fast-forward commit does not make sense into an empty head" msgstr "" -#: builtin/merge.c:1274 +#: builtin/merge.c:1275 #, c-format msgid "%s - not something we can merge" msgstr "" -#: builtin/merge.c:1276 +#: builtin/merge.c:1277 msgid "Can merge only exactly one commit into empty head" msgstr "" -#: builtin/merge.c:1331 +#: builtin/merge.c:1332 #, c-format msgid "Commit %s has an untrusted GPG signature, allegedly by %s." msgstr "" -#: builtin/merge.c:1334 +#: builtin/merge.c:1335 #, c-format msgid "Commit %s has a bad GPG signature allegedly by %s." msgstr "" -#: builtin/merge.c:1337 +#: builtin/merge.c:1338 #, c-format msgid "Commit %s does not have a GPG signature." msgstr "" -#: builtin/merge.c:1340 +#: builtin/merge.c:1341 #, c-format msgid "Commit %s has a good GPG signature by %s\n" msgstr "" -#: builtin/merge.c:1423 +#: builtin/merge.c:1424 #, c-format msgid "Updating %s..%s\n" msgstr "" -#: builtin/merge.c:1460 +#: builtin/merge.c:1461 #, c-format msgid "Trying really trivial in-index merge...\n" msgstr "" -#: builtin/merge.c:1467 +#: builtin/merge.c:1468 #, c-format msgid "Nope.\n" msgstr "" -#: builtin/merge.c:1499 +#: builtin/merge.c:1500 msgid "Not possible to fast-forward, aborting." msgstr "" -#: builtin/merge.c:1522 builtin/merge.c:1601 +#: builtin/merge.c:1523 builtin/merge.c:1602 #, c-format msgid "Rewinding the tree to pristine...\n" msgstr "" -#: builtin/merge.c:1526 +#: builtin/merge.c:1527 #, c-format msgid "Trying merge strategy %s...\n" msgstr "" -#: builtin/merge.c:1592 +#: builtin/merge.c:1593 #, c-format msgid "No merge strategy handled the merge.\n" msgstr "" -#: builtin/merge.c:1594 +#: builtin/merge.c:1595 #, c-format msgid "Merge with strategy %s failed.\n" msgstr "" -#: builtin/merge.c:1603 +#: builtin/merge.c:1604 #, c-format msgid "Using the %s to prepare resolving by hand.\n" msgstr "" -#: builtin/merge.c:1615 +#: builtin/merge.c:1616 #, c-format msgid "Automatic merge went well; stopped before committing as requested\n" msgstr "" @@ -7587,19 +7838,19 @@ msgstr "" msgid "set labels for file1/orig-file/file2" msgstr "" -#: builtin/mktree.c:64 +#: builtin/mktree.c:65 msgid "git mktree [-z] [--missing] [--batch]" msgstr "" -#: builtin/mktree.c:150 +#: builtin/mktree.c:152 msgid "input is NUL terminated" msgstr "" -#: builtin/mktree.c:151 builtin/write-tree.c:24 +#: builtin/mktree.c:153 builtin/write-tree.c:24 msgid "allow missing objects" msgstr "" -#: builtin/mktree.c:152 +#: builtin/mktree.c:154 msgid "allow creation of more than one tree" msgstr "" @@ -7607,90 +7858,90 @@ msgstr "" msgid "git mv [<options>] <source>... <destination>" msgstr "" -#: builtin/mv.c:69 +#: builtin/mv.c:70 #, c-format msgid "Directory %s is in index and no submodule?" msgstr "" -#: builtin/mv.c:71 +#: builtin/mv.c:72 msgid "Please stage your changes to .gitmodules or stash them to proceed" msgstr "" -#: builtin/mv.c:89 +#: builtin/mv.c:90 #, c-format msgid "%.*s is in index" msgstr "" -#: builtin/mv.c:111 +#: builtin/mv.c:112 msgid "force move/rename even if target exists" msgstr "" -#: builtin/mv.c:112 +#: builtin/mv.c:113 msgid "skip move/rename errors" msgstr "" -#: builtin/mv.c:151 +#: builtin/mv.c:152 #, c-format msgid "destination '%s' is not a directory" msgstr "" -#: builtin/mv.c:162 +#: builtin/mv.c:163 #, c-format msgid "Checking rename of '%s' to '%s'\n" msgstr "" -#: builtin/mv.c:166 +#: builtin/mv.c:167 msgid "bad source" msgstr "" -#: builtin/mv.c:169 +#: builtin/mv.c:170 msgid "can not move directory into itself" msgstr "" -#: builtin/mv.c:172 +#: builtin/mv.c:173 msgid "cannot move directory over file" msgstr "" -#: builtin/mv.c:181 +#: builtin/mv.c:182 msgid "source directory is empty" msgstr "" -#: builtin/mv.c:206 +#: builtin/mv.c:207 msgid "not under version control" msgstr "" -#: builtin/mv.c:209 +#: builtin/mv.c:210 msgid "destination exists" msgstr "" -#: builtin/mv.c:217 +#: builtin/mv.c:218 #, c-format msgid "overwriting '%s'" msgstr "" -#: builtin/mv.c:220 +#: builtin/mv.c:221 msgid "Cannot overwrite" msgstr "" -#: builtin/mv.c:223 +#: builtin/mv.c:224 msgid "multiple sources for the same target" msgstr "" -#: builtin/mv.c:225 +#: builtin/mv.c:226 msgid "destination directory does not exist" msgstr "" -#: builtin/mv.c:232 +#: builtin/mv.c:233 #, c-format msgid "%s, source=%s, destination=%s" msgstr "" -#: builtin/mv.c:253 +#: builtin/mv.c:254 #, c-format msgid "Renaming %s to %s\n" msgstr "" -#: builtin/mv.c:256 builtin/remote.c:728 builtin/repack.c:365 +#: builtin/mv.c:257 builtin/remote.c:714 builtin/repack.c:365 #, c-format msgid "renaming '%s' failed" msgstr "" @@ -7883,9 +8134,9 @@ msgid "could not open or read '%s'" msgstr "" #: builtin/notes.c:253 builtin/notes.c:304 builtin/notes.c:306 -#: builtin/notes.c:366 builtin/notes.c:421 builtin/notes.c:507 -#: builtin/notes.c:512 builtin/notes.c:590 builtin/notes.c:653 -#: builtin/notes.c:877 builtin/tag.c:456 +#: builtin/notes.c:369 builtin/notes.c:424 builtin/notes.c:510 +#: builtin/notes.c:515 builtin/notes.c:593 builtin/notes.c:656 +#: builtin/notes.c:880 builtin/tag.c:456 #, c-format msgid "Failed to resolve '%s' as a valid ref." msgstr "" @@ -7900,146 +8151,146 @@ msgstr "" msgid "Cannot read note data from non-blob object '%s'." msgstr "" -#: builtin/notes.c:359 builtin/notes.c:414 builtin/notes.c:490 -#: builtin/notes.c:502 builtin/notes.c:578 builtin/notes.c:646 -#: builtin/notes.c:942 +#: builtin/notes.c:362 builtin/notes.c:417 builtin/notes.c:493 +#: builtin/notes.c:505 builtin/notes.c:581 builtin/notes.c:649 +#: builtin/notes.c:945 msgid "too many parameters" msgstr "" -#: builtin/notes.c:372 builtin/notes.c:659 +#: builtin/notes.c:375 builtin/notes.c:662 #, c-format msgid "No note found for object %s." msgstr "" -#: builtin/notes.c:393 builtin/notes.c:556 +#: builtin/notes.c:396 builtin/notes.c:559 msgid "note contents as a string" msgstr "" -#: builtin/notes.c:396 builtin/notes.c:559 +#: builtin/notes.c:399 builtin/notes.c:562 msgid "note contents in a file" msgstr "" -#: builtin/notes.c:399 builtin/notes.c:562 +#: builtin/notes.c:402 builtin/notes.c:565 msgid "reuse and edit specified note object" msgstr "" -#: builtin/notes.c:402 builtin/notes.c:565 +#: builtin/notes.c:405 builtin/notes.c:568 msgid "reuse specified note object" msgstr "" -#: builtin/notes.c:405 builtin/notes.c:568 +#: builtin/notes.c:408 builtin/notes.c:571 msgid "allow storing empty note" msgstr "" -#: builtin/notes.c:406 builtin/notes.c:477 +#: builtin/notes.c:409 builtin/notes.c:480 msgid "replace existing notes" msgstr "" -#: builtin/notes.c:431 +#: builtin/notes.c:434 #, c-format msgid "" "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite " "existing notes" msgstr "" -#: builtin/notes.c:446 builtin/notes.c:525 +#: builtin/notes.c:449 builtin/notes.c:528 #, c-format msgid "Overwriting existing notes for object %s\n" msgstr "" -#: builtin/notes.c:457 builtin/notes.c:618 builtin/notes.c:882 +#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:885 #, c-format msgid "Removing note for object %s\n" msgstr "" -#: builtin/notes.c:478 +#: builtin/notes.c:481 msgid "read objects from stdin" msgstr "" -#: builtin/notes.c:480 +#: builtin/notes.c:483 msgid "load rewriting config for <command> (implies --stdin)" msgstr "" -#: builtin/notes.c:498 +#: builtin/notes.c:501 msgid "too few parameters" msgstr "" -#: builtin/notes.c:519 +#: builtin/notes.c:522 #, c-format msgid "" "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite " "existing notes" msgstr "" -#: builtin/notes.c:531 +#: builtin/notes.c:534 #, c-format msgid "Missing notes on source object %s. Cannot copy." msgstr "" -#: builtin/notes.c:583 +#: builtin/notes.c:586 #, c-format msgid "" "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n" "Please use 'git notes add -f -m/-F/-c/-C' instead.\n" msgstr "" -#: builtin/notes.c:764 +#: builtin/notes.c:767 msgid "General options" msgstr "" -#: builtin/notes.c:766 +#: builtin/notes.c:769 msgid "Merge options" msgstr "" -#: builtin/notes.c:768 +#: builtin/notes.c:771 msgid "" "resolve notes conflicts using the given strategy (manual/ours/theirs/union/" "cat_sort_uniq)" msgstr "" -#: builtin/notes.c:770 +#: builtin/notes.c:773 msgid "Committing unmerged notes" msgstr "" -#: builtin/notes.c:772 +#: builtin/notes.c:775 msgid "finalize notes merge by committing unmerged notes" msgstr "" -#: builtin/notes.c:774 +#: builtin/notes.c:777 msgid "Aborting notes merge resolution" msgstr "" -#: builtin/notes.c:776 +#: builtin/notes.c:779 msgid "abort notes merge" msgstr "" -#: builtin/notes.c:853 +#: builtin/notes.c:856 #, c-format msgid "A notes merge into %s is already in-progress at %s" msgstr "" -#: builtin/notes.c:880 +#: builtin/notes.c:883 #, c-format msgid "Object %s has no note\n" msgstr "" -#: builtin/notes.c:892 +#: builtin/notes.c:895 msgid "attempt to remove non-existent note is not an error" msgstr "" -#: builtin/notes.c:895 +#: builtin/notes.c:898 msgid "read object names from the standard input" msgstr "" -#: builtin/notes.c:976 +#: builtin/notes.c:979 msgid "notes-ref" msgstr "" -#: builtin/notes.c:977 +#: builtin/notes.c:980 msgid "use notes from <notes-ref>" msgstr "" -#: builtin/notes.c:1012 builtin/remote.c:1647 +#: builtin/notes.c:1015 builtin/remote.c:1626 #, c-format msgid "Unknown subcommand: %s" msgstr "" @@ -8059,165 +8310,165 @@ msgstr "" msgid "deflate error (%d)" msgstr "" -#: builtin/pack-objects.c:771 +#: builtin/pack-objects.c:772 msgid "Writing objects" msgstr "" -#: builtin/pack-objects.c:1011 +#: builtin/pack-objects.c:1012 msgid "disabling bitmap writing, as some objects are not being packed" msgstr "" -#: builtin/pack-objects.c:2171 +#: builtin/pack-objects.c:2172 msgid "Compressing objects" msgstr "" -#: builtin/pack-objects.c:2568 +#: builtin/pack-objects.c:2558 #, c-format msgid "unsupported index version %s" msgstr "" -#: builtin/pack-objects.c:2572 +#: builtin/pack-objects.c:2562 #, c-format msgid "bad index version '%s'" msgstr "" -#: builtin/pack-objects.c:2602 +#: builtin/pack-objects.c:2592 msgid "do not show progress meter" msgstr "" -#: builtin/pack-objects.c:2604 +#: builtin/pack-objects.c:2594 msgid "show progress meter" msgstr "" -#: builtin/pack-objects.c:2606 +#: builtin/pack-objects.c:2596 msgid "show progress meter during object writing phase" msgstr "" -#: builtin/pack-objects.c:2609 +#: builtin/pack-objects.c:2599 msgid "similar to --all-progress when progress meter is shown" msgstr "" -#: builtin/pack-objects.c:2610 +#: builtin/pack-objects.c:2600 msgid "version[,offset]" msgstr "" -#: builtin/pack-objects.c:2611 +#: builtin/pack-objects.c:2601 msgid "write the pack index file in the specified idx format version" msgstr "" -#: builtin/pack-objects.c:2614 +#: builtin/pack-objects.c:2604 msgid "maximum size of each output pack file" msgstr "" -#: builtin/pack-objects.c:2616 +#: builtin/pack-objects.c:2606 msgid "ignore borrowed objects from alternate object store" msgstr "" -#: builtin/pack-objects.c:2618 +#: builtin/pack-objects.c:2608 msgid "ignore packed objects" msgstr "" -#: builtin/pack-objects.c:2620 +#: builtin/pack-objects.c:2610 msgid "limit pack window by objects" msgstr "" -#: builtin/pack-objects.c:2622 +#: builtin/pack-objects.c:2612 msgid "limit pack window by memory in addition to object limit" msgstr "" -#: builtin/pack-objects.c:2624 +#: builtin/pack-objects.c:2614 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "" -#: builtin/pack-objects.c:2626 +#: builtin/pack-objects.c:2616 msgid "reuse existing deltas" msgstr "" -#: builtin/pack-objects.c:2628 +#: builtin/pack-objects.c:2618 msgid "reuse existing objects" msgstr "" -#: builtin/pack-objects.c:2630 +#: builtin/pack-objects.c:2620 msgid "use OFS_DELTA objects" msgstr "" -#: builtin/pack-objects.c:2632 +#: builtin/pack-objects.c:2622 msgid "use threads when searching for best delta matches" msgstr "" -#: builtin/pack-objects.c:2634 +#: builtin/pack-objects.c:2624 msgid "do not create an empty pack output" msgstr "" -#: builtin/pack-objects.c:2636 +#: builtin/pack-objects.c:2626 msgid "read revision arguments from standard input" msgstr "" -#: builtin/pack-objects.c:2638 +#: builtin/pack-objects.c:2628 msgid "limit the objects to those that are not yet packed" msgstr "" -#: builtin/pack-objects.c:2641 +#: builtin/pack-objects.c:2631 msgid "include objects reachable from any reference" msgstr "" -#: builtin/pack-objects.c:2644 +#: builtin/pack-objects.c:2634 msgid "include objects referred by reflog entries" msgstr "" -#: builtin/pack-objects.c:2647 +#: builtin/pack-objects.c:2637 msgid "include objects referred to by the index" msgstr "" -#: builtin/pack-objects.c:2650 +#: builtin/pack-objects.c:2640 msgid "output pack to stdout" msgstr "" -#: builtin/pack-objects.c:2652 +#: builtin/pack-objects.c:2642 msgid "include tag objects that refer to objects to be packed" msgstr "" -#: builtin/pack-objects.c:2654 +#: builtin/pack-objects.c:2644 msgid "keep unreachable objects" msgstr "" -#: builtin/pack-objects.c:2655 parse-options.h:142 +#: builtin/pack-objects.c:2645 parse-options.h:142 msgid "time" msgstr "" -#: builtin/pack-objects.c:2656 +#: builtin/pack-objects.c:2646 msgid "unpack unreachable objects newer than <time>" msgstr "" -#: builtin/pack-objects.c:2659 +#: builtin/pack-objects.c:2649 msgid "create thin packs" msgstr "" -#: builtin/pack-objects.c:2661 +#: builtin/pack-objects.c:2651 msgid "create packs suitable for shallow fetches" msgstr "" -#: builtin/pack-objects.c:2663 +#: builtin/pack-objects.c:2653 msgid "ignore packs that have companion .keep file" msgstr "" -#: builtin/pack-objects.c:2665 +#: builtin/pack-objects.c:2655 msgid "pack compression level" msgstr "" -#: builtin/pack-objects.c:2667 +#: builtin/pack-objects.c:2657 msgid "do not hide commits by grafts" msgstr "" -#: builtin/pack-objects.c:2669 +#: builtin/pack-objects.c:2659 msgid "use a bitmap index if available to speed up counting objects" msgstr "" -#: builtin/pack-objects.c:2671 +#: builtin/pack-objects.c:2661 msgid "write a bitmap index together with the pack index" msgstr "" -#: builtin/pack-objects.c:2762 +#: builtin/pack-objects.c:2752 msgid "Counting objects" msgstr "" @@ -8261,65 +8512,69 @@ msgstr "" msgid "cannot prune in a precious-objects repo" msgstr "" -#: builtin/pull.c:69 +#: builtin/pull.c:72 msgid "git pull [<options>] [<repository> [<refspec>...]]" msgstr "" -#: builtin/pull.c:113 +#: builtin/pull.c:117 msgid "Options related to merging" msgstr "" -#: builtin/pull.c:116 +#: builtin/pull.c:120 msgid "incorporate changes by rebasing rather than merging" msgstr "" -#: builtin/pull.c:140 builtin/revert.c:105 +#: builtin/pull.c:144 builtin/revert.c:105 msgid "allow fast-forward" msgstr "" -#: builtin/pull.c:146 +#: builtin/pull.c:150 msgid "verify that the named commit has a valid GPG signature" msgstr "" -#: builtin/pull.c:160 +#: builtin/pull.c:164 msgid "Options related to fetching" msgstr "" -#: builtin/pull.c:268 +#: builtin/pull.c:186 +msgid "number of submodules pulled in parallel" +msgstr "" + +#: builtin/pull.c:275 #, c-format msgid "Invalid value for pull.ff: %s" msgstr "" -#: builtin/pull.c:352 +#: builtin/pull.c:359 msgid "Cannot pull with rebase: You have unstaged changes." msgstr "" -#: builtin/pull.c:358 +#: builtin/pull.c:365 msgid "Additionally, your index contains uncommitted changes." msgstr "" -#: builtin/pull.c:360 +#: builtin/pull.c:367 msgid "Cannot pull with rebase: Your index contains uncommitted changes." msgstr "" -#: builtin/pull.c:436 +#: builtin/pull.c:443 msgid "" "There is no candidate for rebasing against among the refs that you just " "fetched." msgstr "" -#: builtin/pull.c:438 +#: builtin/pull.c:445 msgid "" "There are no candidates for merging among the refs that you just fetched." msgstr "" -#: builtin/pull.c:439 +#: builtin/pull.c:446 msgid "" "Generally this means that you provided a wildcard refspec which had no\n" "matches on the remote end." msgstr "" -#: builtin/pull.c:442 +#: builtin/pull.c:449 #, c-format msgid "" "You asked to pull from the remote '%s', but did not specify\n" @@ -8327,27 +8582,27 @@ msgid "" "for your current branch, you must specify a branch on the command line." msgstr "" -#: builtin/pull.c:447 +#: builtin/pull.c:454 msgid "You are not currently on a branch." msgstr "" -#: builtin/pull.c:449 builtin/pull.c:464 +#: builtin/pull.c:456 builtin/pull.c:471 msgid "Please specify which branch you want to rebase against." msgstr "" -#: builtin/pull.c:451 builtin/pull.c:466 +#: builtin/pull.c:458 builtin/pull.c:473 msgid "Please specify which branch you want to merge with." msgstr "" -#: builtin/pull.c:452 builtin/pull.c:467 +#: builtin/pull.c:459 builtin/pull.c:474 msgid "See git-pull(1) for details." msgstr "" -#: builtin/pull.c:462 +#: builtin/pull.c:469 msgid "There is no tracking information for the current branch." msgstr "" -#: builtin/pull.c:471 +#: builtin/pull.c:478 #, c-format msgid "" "If you wish to set tracking information for this branch you can do so with:\n" @@ -8355,18 +8610,18 @@ msgid "" " git branch --set-upstream-to=%s/<branch> %s\n" msgstr "" -#: builtin/pull.c:476 +#: builtin/pull.c:483 #, c-format msgid "" "Your configuration specifies to merge with the ref '%s'\n" "from the remote, but no such ref was fetched." msgstr "" -#: builtin/pull.c:830 +#: builtin/pull.c:841 msgid "Updating an unborn branch with changes added to the index." msgstr "" -#: builtin/pull.c:859 +#: builtin/pull.c:870 #, c-format msgid "" "fetch updated the current branch head.\n" @@ -8374,7 +8629,7 @@ msgid "" "commit %s." msgstr "" -#: builtin/pull.c:864 +#: builtin/pull.c:875 #, c-format msgid "" "Cannot fast-forward your working tree.\n" @@ -8385,11 +8640,11 @@ msgid "" "to recover." msgstr "" -#: builtin/pull.c:879 +#: builtin/pull.c:890 msgid "Cannot merge multiple branches into empty head." msgstr "" -#: builtin/pull.c:883 +#: builtin/pull.c:894 msgid "Cannot rebase onto multiple branches." msgstr "" @@ -8397,21 +8652,21 @@ msgstr "" msgid "git push [<options>] [<repository> [<refspec>...]]" msgstr "" -#: builtin/push.c:88 +#: builtin/push.c:89 msgid "tag shorthand without <tag>" msgstr "" -#: builtin/push.c:98 +#: builtin/push.c:99 msgid "--delete only accepts plain target ref names" msgstr "" -#: builtin/push.c:142 +#: builtin/push.c:143 msgid "" "\n" "To choose either option permanently, see push.default in 'git help config'." msgstr "" -#: builtin/push.c:145 +#: builtin/push.c:146 #, c-format msgid "" "The upstream branch of your current branch does not match\n" @@ -8426,7 +8681,7 @@ msgid "" "%s" msgstr "" -#: builtin/push.c:160 +#: builtin/push.c:161 #, c-format msgid "" "You are not currently on a branch.\n" @@ -8436,7 +8691,7 @@ msgid "" " git push %s HEAD:<name-of-remote-branch>\n" msgstr "" -#: builtin/push.c:174 +#: builtin/push.c:175 #, c-format msgid "" "The current branch %s has no upstream branch.\n" @@ -8445,12 +8700,12 @@ msgid "" " git push --set-upstream %s %s\n" msgstr "" -#: builtin/push.c:182 +#: builtin/push.c:183 #, c-format msgid "The current branch %s has multiple upstream branches, refusing to push." msgstr "" -#: builtin/push.c:185 +#: builtin/push.c:186 #, c-format msgid "" "You are pushing to remote '%s', which is not the upstream of\n" @@ -8458,37 +8713,12 @@ msgid "" "to update which remote branch." msgstr "" -#: builtin/push.c:208 -msgid "" -"push.default is unset; its implicit value has changed in\n" -"Git 2.0 from 'matching' to 'simple'. To squelch this message\n" -"and maintain the traditional behavior, use:\n" -"\n" -" git config --global push.default matching\n" -"\n" -"To squelch this message and adopt the new behavior now, use:\n" -"\n" -" git config --global push.default simple\n" -"\n" -"When push.default is set to 'matching', git will push local branches\n" -"to the remote branches that already exist with the same name.\n" -"\n" -"Since Git 2.0, Git defaults to the more conservative 'simple'\n" -"behavior, which only pushes the current branch to the corresponding\n" -"remote branch that 'git pull' uses to update the current branch.\n" -"\n" -"See 'git help config' and search for 'push.default' for further " -"information.\n" -"(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n" -"'current' instead of 'simple' if you sometimes use older versions of Git)" -msgstr "" - -#: builtin/push.c:275 +#: builtin/push.c:242 msgid "" "You didn't specify any refspecs to push, and push.default is \"nothing\"." msgstr "" -#: builtin/push.c:282 +#: builtin/push.c:249 msgid "" "Updates were rejected because the tip of your current branch is behind\n" "its remote counterpart. Integrate the remote changes (e.g.\n" @@ -8496,7 +8726,7 @@ msgid "" "See the 'Note about fast-forwards' in 'git push --help' for details." msgstr "" -#: builtin/push.c:288 +#: builtin/push.c:255 msgid "" "Updates were rejected because a pushed branch tip is behind its remote\n" "counterpart. Check out this branch and integrate the remote changes\n" @@ -8504,7 +8734,7 @@ msgid "" "See the 'Note about fast-forwards' in 'git push --help' for details." msgstr "" -#: builtin/push.c:294 +#: builtin/push.c:261 msgid "" "Updates were rejected because the remote contains work that you do\n" "not have locally. This is usually caused by another repository pushing\n" @@ -8513,33 +8743,33 @@ msgid "" "See the 'Note about fast-forwards' in 'git push --help' for details." msgstr "" -#: builtin/push.c:301 +#: builtin/push.c:268 msgid "Updates were rejected because the tag already exists in the remote." msgstr "" -#: builtin/push.c:304 +#: builtin/push.c:271 msgid "" "You cannot update a remote ref that points at a non-commit object,\n" "or update a remote ref to make it point at a non-commit object,\n" "without using the '--force' option.\n" msgstr "" -#: builtin/push.c:363 +#: builtin/push.c:331 #, c-format msgid "Pushing to %s\n" msgstr "" -#: builtin/push.c:367 +#: builtin/push.c:335 #, c-format msgid "failed to push some refs to '%s'" msgstr "" -#: builtin/push.c:397 +#: builtin/push.c:365 #, c-format msgid "bad repository '%s'" msgstr "" -#: builtin/push.c:398 +#: builtin/push.c:366 msgid "" "No configured push destination.\n" "Either specify the URL from the command-line or configure a remote " @@ -8552,104 +8782,100 @@ msgid "" " git push <name>\n" msgstr "" -#: builtin/push.c:413 +#: builtin/push.c:381 msgid "--all and --tags are incompatible" msgstr "" -#: builtin/push.c:414 +#: builtin/push.c:382 msgid "--all can't be combined with refspecs" msgstr "" -#: builtin/push.c:419 +#: builtin/push.c:387 msgid "--mirror and --tags are incompatible" msgstr "" -#: builtin/push.c:420 +#: builtin/push.c:388 msgid "--mirror can't be combined with refspecs" msgstr "" -#: builtin/push.c:425 +#: builtin/push.c:393 msgid "--all and --mirror are incompatible" msgstr "" -#: builtin/push.c:537 +#: builtin/push.c:505 msgid "repository" msgstr "" -#: builtin/push.c:538 builtin/send-pack.c:161 +#: builtin/push.c:506 builtin/send-pack.c:161 msgid "push all refs" msgstr "" -#: builtin/push.c:539 builtin/send-pack.c:163 +#: builtin/push.c:507 builtin/send-pack.c:163 msgid "mirror all refs" msgstr "" -#: builtin/push.c:541 +#: builtin/push.c:509 msgid "delete refs" msgstr "" -#: builtin/push.c:542 +#: builtin/push.c:510 msgid "push tags (can't be used with --all or --mirror)" msgstr "" -#: builtin/push.c:545 builtin/send-pack.c:164 +#: builtin/push.c:513 builtin/send-pack.c:164 msgid "force updates" msgstr "" -#: builtin/push.c:547 builtin/send-pack.c:175 +#: builtin/push.c:515 builtin/send-pack.c:175 msgid "refname>:<expect" msgstr "" -#: builtin/push.c:548 builtin/send-pack.c:176 +#: builtin/push.c:516 builtin/send-pack.c:176 msgid "require old value of ref to be at this value" msgstr "" -#: builtin/push.c:550 -msgid "check|on-demand|no" -msgstr "" - -#: builtin/push.c:551 +#: builtin/push.c:519 msgid "control recursive pushing of submodules" msgstr "" -#: builtin/push.c:553 builtin/send-pack.c:169 +#: builtin/push.c:521 builtin/send-pack.c:169 msgid "use thin pack" msgstr "" -#: builtin/push.c:554 builtin/push.c:555 builtin/send-pack.c:158 +#: builtin/push.c:522 builtin/push.c:523 builtin/send-pack.c:158 #: builtin/send-pack.c:159 msgid "receive pack program" msgstr "" -#: builtin/push.c:556 +#: builtin/push.c:524 msgid "set upstream for git pull/status" msgstr "" -#: builtin/push.c:559 +#: builtin/push.c:527 msgid "prune locally removed refs" msgstr "" -#: builtin/push.c:561 +#: builtin/push.c:529 msgid "bypass pre-push hook" msgstr "" -#: builtin/push.c:562 +#: builtin/push.c:530 msgid "push missing but relevant tags" msgstr "" -#: builtin/push.c:565 builtin/send-pack.c:166 +#: builtin/push.c:533 builtin/send-pack.c:166 msgid "GPG sign the push" msgstr "" -#: builtin/push.c:567 builtin/send-pack.c:170 +#: builtin/push.c:535 builtin/send-pack.c:170 msgid "request atomic transaction on remote side" msgstr "" -#: builtin/push.c:577 +#: builtin/push.c:549 msgid "--delete is incompatible with --all, --mirror and --tags" msgstr "" -#: builtin/push.c:579 +#: builtin/push.c:551 msgid "--delete doesn't make sense without any refs" msgstr "" @@ -8724,12 +8950,12 @@ msgstr "" msgid "debug unpack-trees" msgstr "" -#: builtin/reflog.c:428 +#: builtin/reflog.c:423 #, c-format msgid "'%s' for '%s' is not a valid timestamp" msgstr "" -#: builtin/reflog.c:545 builtin/reflog.c:550 +#: builtin/reflog.c:540 builtin/reflog.c:545 #, c-format msgid "'%s' is not a valid timestamp" msgstr "" @@ -8865,55 +9091,45 @@ msgstr "" msgid "specifying branches to track makes sense only with fetch mirrors" msgstr "" -#: builtin/remote.c:193 builtin/remote.c:643 +#: builtin/remote.c:190 builtin/remote.c:633 #, c-format msgid "remote %s already exists." msgstr "" -#: builtin/remote.c:197 builtin/remote.c:647 +#: builtin/remote.c:194 builtin/remote.c:637 #, c-format msgid "'%s' is not a valid remote name" msgstr "" -#: builtin/remote.c:241 +#: builtin/remote.c:234 #, c-format msgid "Could not setup master '%s'" msgstr "" -#: builtin/remote.c:341 +#: builtin/remote.c:336 #, c-format msgid "Could not get fetch map for refspec %s" msgstr "" -#: builtin/remote.c:442 builtin/remote.c:450 +#: builtin/remote.c:437 builtin/remote.c:445 msgid "(matching)" msgstr "" -#: builtin/remote.c:454 +#: builtin/remote.c:449 msgid "(delete)" msgstr "" -#: builtin/remote.c:594 builtin/remote.c:600 builtin/remote.c:606 -#, c-format -msgid "Could not append '%s' to '%s'" -msgstr "" - -#: builtin/remote.c:636 builtin/remote.c:775 builtin/remote.c:875 +#: builtin/remote.c:626 builtin/remote.c:761 builtin/remote.c:858 #, c-format msgid "No such remote: %s" msgstr "" -#: builtin/remote.c:653 +#: builtin/remote.c:643 #, c-format msgid "Could not rename config section '%s' to '%s'" msgstr "" -#: builtin/remote.c:659 builtin/remote.c:827 -#, c-format -msgid "Could not remove config section '%s'" -msgstr "" - -#: builtin/remote.c:674 +#: builtin/remote.c:663 #, c-format msgid "" "Not updating non-default fetch refspec\n" @@ -8921,27 +9137,17 @@ msgid "" "\tPlease update the configuration manually if necessary." msgstr "" -#: builtin/remote.c:680 -#, c-format -msgid "Could not append '%s'" -msgstr "" - -#: builtin/remote.c:691 -#, c-format -msgid "Could not set '%s'" -msgstr "" - -#: builtin/remote.c:713 +#: builtin/remote.c:699 #, c-format msgid "deleting '%s' failed" msgstr "" -#: builtin/remote.c:747 +#: builtin/remote.c:733 #, c-format msgid "creating '%s' failed" msgstr "" -#: builtin/remote.c:813 +#: builtin/remote.c:796 msgid "" "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n" "to delete it, use:" @@ -8951,275 +9157,280 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: builtin/remote.c:928 +#: builtin/remote.c:810 +#, c-format +msgid "Could not remove config section '%s'" +msgstr "" + +#: builtin/remote.c:911 #, c-format msgid " new (next fetch will store in remotes/%s)" msgstr "" -#: builtin/remote.c:931 +#: builtin/remote.c:914 msgid " tracked" msgstr "" -#: builtin/remote.c:933 +#: builtin/remote.c:916 msgid " stale (use 'git remote prune' to remove)" msgstr "" -#: builtin/remote.c:935 +#: builtin/remote.c:918 msgid " ???" msgstr "" -#: builtin/remote.c:976 +#: builtin/remote.c:959 #, c-format msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch" msgstr "" -#: builtin/remote.c:983 +#: builtin/remote.c:967 #, c-format -msgid "rebases onto remote %s" +msgid "rebases interactively onto remote %s" msgstr "" -#: builtin/remote.c:986 +#: builtin/remote.c:971 #, c-format msgid " merges with remote %s" msgstr "" -#: builtin/remote.c:987 +#: builtin/remote.c:972 msgid " and with remote" msgstr "" -#: builtin/remote.c:989 +#: builtin/remote.c:974 #, c-format msgid "merges with remote %s" msgstr "" -#: builtin/remote.c:990 +#: builtin/remote.c:975 msgid " and with remote" msgstr "" -#: builtin/remote.c:1036 +#: builtin/remote.c:1021 msgid "create" msgstr "" -#: builtin/remote.c:1039 +#: builtin/remote.c:1024 msgid "delete" msgstr "" -#: builtin/remote.c:1043 +#: builtin/remote.c:1028 msgid "up to date" msgstr "" -#: builtin/remote.c:1046 +#: builtin/remote.c:1031 msgid "fast-forwardable" msgstr "" -#: builtin/remote.c:1049 +#: builtin/remote.c:1034 msgid "local out of date" msgstr "" -#: builtin/remote.c:1056 +#: builtin/remote.c:1041 #, c-format msgid " %-*s forces to %-*s (%s)" msgstr "" -#: builtin/remote.c:1059 +#: builtin/remote.c:1044 #, c-format msgid " %-*s pushes to %-*s (%s)" msgstr "" -#: builtin/remote.c:1063 +#: builtin/remote.c:1048 #, c-format msgid " %-*s forces to %s" msgstr "" -#: builtin/remote.c:1066 +#: builtin/remote.c:1051 #, c-format msgid " %-*s pushes to %s" msgstr "" -#: builtin/remote.c:1134 +#: builtin/remote.c:1119 msgid "do not query remotes" msgstr "" -#: builtin/remote.c:1161 +#: builtin/remote.c:1146 #, c-format msgid "* remote %s" msgstr "" -#: builtin/remote.c:1162 +#: builtin/remote.c:1147 #, c-format msgid " Fetch URL: %s" msgstr "" -#: builtin/remote.c:1163 builtin/remote.c:1314 +#: builtin/remote.c:1148 builtin/remote.c:1299 msgid "(no URL)" msgstr "" -#: builtin/remote.c:1172 builtin/remote.c:1174 +#: builtin/remote.c:1157 builtin/remote.c:1159 #, c-format msgid " Push URL: %s" msgstr "" -#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180 +#: builtin/remote.c:1161 builtin/remote.c:1163 builtin/remote.c:1165 #, c-format msgid " HEAD branch: %s" msgstr "" -#: builtin/remote.c:1182 +#: builtin/remote.c:1167 #, c-format msgid "" " HEAD branch (remote HEAD is ambiguous, may be one of the following):\n" msgstr "" -#: builtin/remote.c:1194 +#: builtin/remote.c:1179 #, c-format msgid " Remote branch:%s" msgid_plural " Remote branches:%s" msgstr[0] "" msgstr[1] "" -#: builtin/remote.c:1197 builtin/remote.c:1224 +#: builtin/remote.c:1182 builtin/remote.c:1209 msgid " (status not queried)" msgstr "" -#: builtin/remote.c:1206 +#: builtin/remote.c:1191 msgid " Local branch configured for 'git pull':" msgid_plural " Local branches configured for 'git pull':" msgstr[0] "" msgstr[1] "" -#: builtin/remote.c:1214 +#: builtin/remote.c:1199 msgid " Local refs will be mirrored by 'git push'" msgstr "" -#: builtin/remote.c:1221 +#: builtin/remote.c:1206 #, c-format msgid " Local ref configured for 'git push'%s:" msgid_plural " Local refs configured for 'git push'%s:" msgstr[0] "" msgstr[1] "" -#: builtin/remote.c:1242 +#: builtin/remote.c:1227 msgid "set refs/remotes/<name>/HEAD according to remote" msgstr "" -#: builtin/remote.c:1244 +#: builtin/remote.c:1229 msgid "delete refs/remotes/<name>/HEAD" msgstr "" -#: builtin/remote.c:1259 +#: builtin/remote.c:1244 msgid "Cannot determine remote HEAD" msgstr "" -#: builtin/remote.c:1261 +#: builtin/remote.c:1246 msgid "Multiple remote HEAD branches. Please choose one explicitly with:" msgstr "" -#: builtin/remote.c:1271 +#: builtin/remote.c:1256 #, c-format msgid "Could not delete %s" msgstr "" -#: builtin/remote.c:1279 +#: builtin/remote.c:1264 #, c-format msgid "Not a valid ref: %s" msgstr "" -#: builtin/remote.c:1281 +#: builtin/remote.c:1266 #, c-format msgid "Could not setup %s" msgstr "" -#: builtin/remote.c:1299 +#: builtin/remote.c:1284 #, c-format msgid " %s will become dangling!" msgstr "" -#: builtin/remote.c:1300 +#: builtin/remote.c:1285 #, c-format msgid " %s has become dangling!" msgstr "" -#: builtin/remote.c:1310 +#: builtin/remote.c:1295 #, c-format msgid "Pruning %s" msgstr "" -#: builtin/remote.c:1311 +#: builtin/remote.c:1296 #, c-format msgid "URL: %s" msgstr "" -#: builtin/remote.c:1327 +#: builtin/remote.c:1312 #, c-format msgid " * [would prune] %s" msgstr "" -#: builtin/remote.c:1330 +#: builtin/remote.c:1315 #, c-format msgid " * [pruned] %s" msgstr "" -#: builtin/remote.c:1375 +#: builtin/remote.c:1360 msgid "prune remotes after fetching" msgstr "" -#: builtin/remote.c:1441 builtin/remote.c:1498 builtin/remote.c:1566 +#: builtin/remote.c:1423 builtin/remote.c:1477 builtin/remote.c:1545 #, c-format msgid "No such remote '%s'" msgstr "" -#: builtin/remote.c:1461 +#: builtin/remote.c:1439 msgid "add branch" msgstr "" -#: builtin/remote.c:1468 +#: builtin/remote.c:1446 msgid "no remote specified" msgstr "" -#: builtin/remote.c:1485 +#: builtin/remote.c:1463 msgid "query push URLs rather than fetch URLs" msgstr "" -#: builtin/remote.c:1487 +#: builtin/remote.c:1465 msgid "return all URLs" msgstr "" -#: builtin/remote.c:1515 +#: builtin/remote.c:1493 #, c-format msgid "no URLs configured for remote '%s'" msgstr "" -#: builtin/remote.c:1541 +#: builtin/remote.c:1519 msgid "manipulate push URLs" msgstr "" -#: builtin/remote.c:1543 +#: builtin/remote.c:1521 msgid "add URL" msgstr "" -#: builtin/remote.c:1545 +#: builtin/remote.c:1523 msgid "delete URLs" msgstr "" -#: builtin/remote.c:1552 +#: builtin/remote.c:1530 msgid "--add --delete doesn't make sense" msgstr "" -#: builtin/remote.c:1592 +#: builtin/remote.c:1571 #, c-format msgid "Invalid old URL pattern: %s" msgstr "" -#: builtin/remote.c:1600 +#: builtin/remote.c:1579 #, c-format msgid "No such URL found: %s" msgstr "" -#: builtin/remote.c:1602 +#: builtin/remote.c:1581 msgid "Will not delete all non-push URLs" msgstr "" -#: builtin/remote.c:1616 +#: builtin/remote.c:1595 msgid "be verbose; must be placed before a subcommand" msgstr "" @@ -9517,7 +9728,7 @@ msgstr "" msgid "Could not write new index file." msgstr "" -#: builtin/rev-list.c:354 +#: builtin/rev-list.c:350 msgid "rev-list does not support display of notes" msgstr "" @@ -9747,28 +9958,23 @@ msgstr "" msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]" msgstr "" -#: builtin/shortlog.c:131 -#, c-format -msgid "Missing author: %s" -msgstr "" - -#: builtin/shortlog.c:230 +#: builtin/shortlog.c:242 msgid "sort output according to the number of commits per author" msgstr "" -#: builtin/shortlog.c:232 +#: builtin/shortlog.c:244 msgid "Suppress commit descriptions, only provides commit count" msgstr "" -#: builtin/shortlog.c:234 +#: builtin/shortlog.c:246 msgid "Show the email address of each author" msgstr "" -#: builtin/shortlog.c:235 +#: builtin/shortlog.c:247 msgid "w[,i1[,i2]]" msgstr "" -#: builtin/shortlog.c:236 +#: builtin/shortlog.c:248 msgid "Linewrap output" msgstr "" @@ -9903,79 +10109,79 @@ msgid "skip and remove all lines starting with comment character" msgstr "" #: builtin/stripspace.c:38 -msgid "prepend comment character and blank to each line" +msgid "prepend comment character and space to each line" msgstr "" -#: builtin/submodule--helper.c:79 builtin/submodule--helper.c:167 +#: builtin/submodule--helper.c:73 builtin/submodule--helper.c:161 msgid "alternative anchor for relative paths" msgstr "" -#: builtin/submodule--helper.c:84 +#: builtin/submodule--helper.c:78 msgid "git submodule--helper list [--prefix=<path>] [<path>...]" msgstr "" -#: builtin/submodule--helper.c:114 +#: builtin/submodule--helper.c:108 msgid "git submodule--helper name <path>" msgstr "" -#: builtin/submodule--helper.c:120 +#: builtin/submodule--helper.c:114 #, c-format msgid "no submodule mapping found in .gitmodules for path '%s'" msgstr "" -#: builtin/submodule--helper.c:170 +#: builtin/submodule--helper.c:164 msgid "where the new submodule will be cloned to" msgstr "" -#: builtin/submodule--helper.c:173 +#: builtin/submodule--helper.c:167 msgid "name of the new submodule" msgstr "" -#: builtin/submodule--helper.c:176 +#: builtin/submodule--helper.c:170 msgid "url where to clone the submodule from" msgstr "" -#: builtin/submodule--helper.c:182 +#: builtin/submodule--helper.c:176 msgid "depth for shallow clones" msgstr "" -#: builtin/submodule--helper.c:188 +#: builtin/submodule--helper.c:182 msgid "" "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference " "<repository>] [--name <name>] [--url <url>][--depth <depth>] [--] [<path>...]" msgstr "" -#: builtin/submodule--helper.c:202 builtin/submodule--helper.c:208 -#: builtin/submodule--helper.c:216 +#: builtin/submodule--helper.c:196 builtin/submodule--helper.c:202 +#: builtin/submodule--helper.c:210 #, c-format msgid "could not create directory '%s'" msgstr "" -#: builtin/submodule--helper.c:204 +#: builtin/submodule--helper.c:198 #, c-format msgid "clone of '%s' into submodule path '%s' failed" msgstr "" -#: builtin/submodule--helper.c:227 +#: builtin/submodule--helper.c:221 #, c-format msgid "cannot open file '%s'" msgstr "" -#: builtin/submodule--helper.c:232 +#: builtin/submodule--helper.c:226 #, c-format msgid "could not close file %s" msgstr "" -#: builtin/submodule--helper.c:247 +#: builtin/submodule--helper.c:241 #, c-format msgid "could not get submodule directory for '%s'" msgstr "" -#: builtin/submodule--helper.c:273 +#: builtin/submodule--helper.c:267 msgid "fatal: submodule--helper subcommand must be called with a subcommand" msgstr "" -#: builtin/submodule--helper.c:280 +#: builtin/submodule--helper.c:274 #, c-format msgid "fatal: '%s' is not a valid submodule--helper subcommand" msgstr "" @@ -10207,188 +10413,201 @@ msgstr "" msgid "Unpacking objects" msgstr "" -#: builtin/update-index.c:70 +#: builtin/update-index.c:79 #, c-format msgid "failed to create directory %s" msgstr "" -#: builtin/update-index.c:76 +#: builtin/update-index.c:85 #, c-format msgid "failed to stat %s" msgstr "" -#: builtin/update-index.c:86 +#: builtin/update-index.c:95 #, c-format msgid "failed to create file %s" msgstr "" -#: builtin/update-index.c:94 +#: builtin/update-index.c:103 #, c-format msgid "failed to delete file %s" msgstr "" -#: builtin/update-index.c:101 builtin/update-index.c:203 +#: builtin/update-index.c:110 builtin/update-index.c:212 #, c-format msgid "failed to delete directory %s" msgstr "" -#: builtin/update-index.c:124 +#: builtin/update-index.c:133 #, c-format -msgid "Testing " +msgid "Testing mtime in '%s' " msgstr "" -#: builtin/update-index.c:136 +#: builtin/update-index.c:145 msgid "directory stat info does not change after adding a new file" msgstr "" -#: builtin/update-index.c:149 +#: builtin/update-index.c:158 msgid "directory stat info does not change after adding a new directory" msgstr "" -#: builtin/update-index.c:162 +#: builtin/update-index.c:171 msgid "directory stat info changes after updating a file" msgstr "" -#: builtin/update-index.c:173 +#: builtin/update-index.c:182 msgid "directory stat info changes after adding a file inside subdirectory" msgstr "" -#: builtin/update-index.c:184 +#: builtin/update-index.c:193 msgid "directory stat info does not change after deleting a file" msgstr "" -#: builtin/update-index.c:197 +#: builtin/update-index.c:206 msgid "directory stat info does not change after deleting a directory" msgstr "" -#: builtin/update-index.c:204 +#: builtin/update-index.c:213 msgid " OK" msgstr "" -#: builtin/update-index.c:564 +#: builtin/update-index.c:575 msgid "git update-index [<options>] [--] [<file>...]" msgstr "" -#: builtin/update-index.c:918 +#: builtin/update-index.c:930 msgid "continue refresh even when index needs update" msgstr "" -#: builtin/update-index.c:921 +#: builtin/update-index.c:933 msgid "refresh: ignore submodules" msgstr "" -#: builtin/update-index.c:924 +#: builtin/update-index.c:936 msgid "do not ignore new files" msgstr "" -#: builtin/update-index.c:926 +#: builtin/update-index.c:938 msgid "let files replace directories and vice-versa" msgstr "" -#: builtin/update-index.c:928 +#: builtin/update-index.c:940 msgid "notice files missing from worktree" msgstr "" -#: builtin/update-index.c:930 +#: builtin/update-index.c:942 msgid "refresh even if index contains unmerged entries" msgstr "" -#: builtin/update-index.c:933 +#: builtin/update-index.c:945 msgid "refresh stat information" msgstr "" -#: builtin/update-index.c:937 +#: builtin/update-index.c:949 msgid "like --refresh, but ignore assume-unchanged setting" msgstr "" -#: builtin/update-index.c:941 +#: builtin/update-index.c:953 msgid "<mode>,<object>,<path>" msgstr "" -#: builtin/update-index.c:942 +#: builtin/update-index.c:954 msgid "add the specified entry to the index" msgstr "" -#: builtin/update-index.c:946 +#: builtin/update-index.c:958 msgid "(+/-)x" msgstr "" -#: builtin/update-index.c:947 +#: builtin/update-index.c:959 msgid "override the executable bit of the listed files" msgstr "" -#: builtin/update-index.c:951 +#: builtin/update-index.c:963 msgid "mark files as \"not changing\"" msgstr "" -#: builtin/update-index.c:954 +#: builtin/update-index.c:966 msgid "clear assumed-unchanged bit" msgstr "" -#: builtin/update-index.c:957 +#: builtin/update-index.c:969 msgid "mark files as \"index-only\"" msgstr "" -#: builtin/update-index.c:960 +#: builtin/update-index.c:972 msgid "clear skip-worktree bit" msgstr "" -#: builtin/update-index.c:963 +#: builtin/update-index.c:975 msgid "add to index only; do not add content to object database" msgstr "" -#: builtin/update-index.c:965 +#: builtin/update-index.c:977 msgid "remove named paths even if present in worktree" msgstr "" -#: builtin/update-index.c:967 +#: builtin/update-index.c:979 msgid "with --stdin: input lines are terminated by null bytes" msgstr "" -#: builtin/update-index.c:969 +#: builtin/update-index.c:981 msgid "read list of paths to be updated from standard input" msgstr "" -#: builtin/update-index.c:973 +#: builtin/update-index.c:985 msgid "add entries from standard input to the index" msgstr "" -#: builtin/update-index.c:977 +#: builtin/update-index.c:989 msgid "repopulate stages #2 and #3 for the listed paths" msgstr "" -#: builtin/update-index.c:981 +#: builtin/update-index.c:993 msgid "only update entries that differ from HEAD" msgstr "" -#: builtin/update-index.c:985 +#: builtin/update-index.c:997 msgid "ignore files missing from worktree" msgstr "" -#: builtin/update-index.c:988 +#: builtin/update-index.c:1000 msgid "report actions to standard output" msgstr "" -#: builtin/update-index.c:990 +#: builtin/update-index.c:1002 msgid "(for porcelains) forget saved unresolved conflicts" msgstr "" -#: builtin/update-index.c:994 +#: builtin/update-index.c:1006 msgid "write index in this format" msgstr "" -#: builtin/update-index.c:996 +#: builtin/update-index.c:1008 msgid "enable or disable split index" msgstr "" -#: builtin/update-index.c:998 +#: builtin/update-index.c:1010 msgid "enable/disable untracked cache" msgstr "" -#: builtin/update-index.c:1000 +#: builtin/update-index.c:1012 +msgid "test if the filesystem supports untracked cache" +msgstr "" + +#: builtin/update-index.c:1014 msgid "enable untracked cache without testing the filesystem" msgstr "" +#: builtin/update-index.c:1134 +msgid "Untracked cache disabled" +msgstr "" + +#: builtin/update-index.c:1146 +#, c-format +msgid "Untracked cache enabled for '%s'" +msgstr "" + #: builtin/update-ref.c:9 msgid "git update-ref [<options>] -d <refname> [<old-val>]" msgstr "" @@ -10504,33 +10723,33 @@ msgstr "" msgid "'%s' already exists" msgstr "" -#: builtin/worktree.c:235 +#: builtin/worktree.c:233 #, c-format msgid "could not create directory of '%s'" msgstr "" -#: builtin/worktree.c:271 +#: builtin/worktree.c:269 #, c-format msgid "Preparing %s (identifier %s)" msgstr "" -#: builtin/worktree.c:319 +#: builtin/worktree.c:317 msgid "checkout <branch> even if already checked out in other worktree" msgstr "" -#: builtin/worktree.c:321 +#: builtin/worktree.c:319 msgid "create a new branch" msgstr "" -#: builtin/worktree.c:323 +#: builtin/worktree.c:321 msgid "create or reset a branch" msgstr "" -#: builtin/worktree.c:324 +#: builtin/worktree.c:322 msgid "detach HEAD at named commit" msgstr "" -#: builtin/worktree.c:331 +#: builtin/worktree.c:329 msgid "-b, -B, and --detach are mutually exclusive" msgstr "" @@ -10550,7 +10769,7 @@ msgstr "" msgid "only useful for debugging" msgstr "" -#: credential-cache--daemon.c:255 +#: credential-cache--daemon.c:262 msgid "print debugging messages to stderr" msgstr "" @@ -10561,6 +10780,10 @@ msgid "" "to read about a specific subcommand or concept." msgstr "" +#: http.c:321 +msgid "Public key pinning not supported with cURL < 7.44.0" +msgstr "" + #: common-cmds.h:9 msgid "start a working area (see also: git help tutorial)" msgstr "" @@ -10642,7 +10865,7 @@ msgid "Update remote refs along with associated objects" msgstr "" #: common-cmds.h:32 -msgid "Forward-port local commits to the updated upstream head" +msgid "Reapply commits on top of another base tip" msgstr "" #: common-cmds.h:33 @@ -11295,108 +11518,108 @@ msgstr "" msgid "Submodule '$name' ($url) unregistered for path '$displaypath'" msgstr "" -#: git-submodule.sh:705 +#: git-submodule.sh:723 #, sh-format msgid "" "Submodule path '$displaypath' not initialized\n" "Maybe you want to use 'update --init'?" msgstr "" -#: git-submodule.sh:718 +#: git-submodule.sh:736 #, sh-format msgid "Unable to find current revision in submodule path '$displaypath'" msgstr "" -#: git-submodule.sh:727 +#: git-submodule.sh:745 #, sh-format msgid "Unable to fetch in submodule path '$sm_path'" msgstr "" -#: git-submodule.sh:751 +#: git-submodule.sh:768 #, sh-format msgid "Unable to fetch in submodule path '$displaypath'" msgstr "" -#: git-submodule.sh:765 +#: git-submodule.sh:788 #, sh-format msgid "Unable to checkout '$sha1' in submodule path '$displaypath'" msgstr "" -#: git-submodule.sh:766 +#: git-submodule.sh:789 #, sh-format msgid "Submodule path '$displaypath': checked out '$sha1'" msgstr "" -#: git-submodule.sh:770 +#: git-submodule.sh:793 #, sh-format msgid "Unable to rebase '$sha1' in submodule path '$displaypath'" msgstr "" -#: git-submodule.sh:771 +#: git-submodule.sh:794 #, sh-format msgid "Submodule path '$displaypath': rebased into '$sha1'" msgstr "" -#: git-submodule.sh:776 +#: git-submodule.sh:799 #, sh-format msgid "Unable to merge '$sha1' in submodule path '$displaypath'" msgstr "" -#: git-submodule.sh:777 +#: git-submodule.sh:800 #, sh-format msgid "Submodule path '$displaypath': merged in '$sha1'" msgstr "" -#: git-submodule.sh:782 +#: git-submodule.sh:805 #, sh-format msgid "" "Execution of '$command $sha1' failed in submodule path '$prefix$sm_path'" msgstr "" -#: git-submodule.sh:783 +#: git-submodule.sh:806 #, sh-format msgid "Submodule path '$prefix$sm_path': '$command $sha1'" msgstr "" -#: git-submodule.sh:813 +#: git-submodule.sh:836 #, sh-format msgid "Failed to recurse into submodule path '$displaypath'" msgstr "" -#: git-submodule.sh:921 +#: git-submodule.sh:944 msgid "The --cached option cannot be used with the --files option" msgstr "" -#: git-submodule.sh:973 +#: git-submodule.sh:996 #, sh-format msgid "unexpected mode $mod_dst" msgstr "" -#: git-submodule.sh:993 +#: git-submodule.sh:1016 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_src" msgstr "" -#: git-submodule.sh:996 +#: git-submodule.sh:1019 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_dst" msgstr "" -#: git-submodule.sh:999 +#: git-submodule.sh:1022 #, sh-format msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst" msgstr "" -#: git-submodule.sh:1024 +#: git-submodule.sh:1047 msgid "blob" msgstr "" -#: git-submodule.sh:1142 +#: git-submodule.sh:1165 #, sh-format msgid "Failed to recurse into submodule path '$sm_path'" msgstr "" -#: git-submodule.sh:1206 +#: git-submodule.sh:1229 #, sh-format msgid "Synchronizing submodule url for '$displaypath'" msgstr "" @@ -57,8 +57,8 @@ msgid "" msgstr "" "Project-Id-Version: git\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2015-12-22 22:50+0800\n" -"PO-Revision-Date: 2016-01-03 18:50+0900\n" +"POT-Creation-Date: 2016-03-16 00:16+0800\n" +"PO-Revision-Date: 2016-03-16 10:30+0900\n" "Last-Translator: Changwoo Ryu <cwryu@debian.org>\n" "Language-Team: Git Korean translation <http://github.com/changwoo/git-l10n-" "ko>\n" @@ -81,7 +81,7 @@ msgstr "" "μμ
ν΄λμμ λ¬Έμ λ₯Ό λ°λ‘μ‘μ λ€μ, 'git add/rm <νμΌ>'μ μ μ ν\n" "μ¬μ©ν΄ ν΄κ²° νμνκ³ μ»€λ°νμμμ€." -#: advice.c:101 builtin/merge.c:1225 +#: advice.c:101 builtin/merge.c:1226 msgid "You have not concluded your merge (MERGE_HEAD exists)." msgstr "λ³ν© μμ
μ λ€ λ§μΉμ§ μμμ΅λλ€ (MERGE_HEAD νμΌμ΄ μμ΅λλ€)." @@ -125,7 +125,7 @@ msgstr "νμ" msgid "archive format" msgstr "μμΆ νμ" -#: archive.c:430 builtin/log.c:1229 +#: archive.c:430 builtin/log.c:1232 msgid "prefix" msgstr "μ λμ΄" @@ -133,10 +133,10 @@ msgstr "μ λμ΄" msgid "prepend prefix to each pathname in the archive" msgstr "μμΉ΄μ΄λΈμ κ° κ²½λ‘ μ΄λ¦μ μμ μ§μ ν κ²½λ‘λ₯Ό λΆμ
λλ€" -#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2535 builtin/blame.c:2536 -#: builtin/config.c:58 builtin/fast-export.c:987 builtin/fast-export.c:989 -#: builtin/grep.c:707 builtin/hash-object.c:99 builtin/ls-files.c:446 -#: builtin/ls-files.c:449 builtin/notes.c:395 builtin/notes.c:558 +#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2547 builtin/blame.c:2548 +#: builtin/config.c:60 builtin/fast-export.c:987 builtin/fast-export.c:989 +#: builtin/grep.c:720 builtin/hash-object.c:100 builtin/ls-files.c:459 +#: builtin/ls-files.c:462 builtin/notes.c:398 builtin/notes.c:561 #: builtin/read-tree.c:109 parse-options.h:153 msgid "file" msgstr "νμΌ" @@ -169,7 +169,7 @@ msgstr "λ μκ² μμΆ" msgid "list supported archive formats" msgstr "μ§μνλ μμΆ νμμ λͺ©λ‘μ νμν©λλ€" -#: archive.c:451 builtin/archive.c:90 builtin/clone.c:77 +#: archive.c:451 builtin/archive.c:90 builtin/clone.c:78 msgid "repo" msgstr "μ μ₯μ" @@ -177,7 +177,7 @@ msgstr "μ μ₯μ" msgid "retrieve the archive from remote repository <repo>" msgstr "μ격 μ μ₯μ <μ μ₯μ>μμ μμΉ΄μ΄λΈλ₯Ό κ°μ Έμ΅λλ€" -#: archive.c:453 builtin/archive.c:92 builtin/notes.c:479 +#: archive.c:453 builtin/archive.c:92 builtin/notes.c:482 msgid "command" msgstr "λͺ
λ Ή" @@ -185,7 +185,7 @@ msgstr "λͺ
λ Ή" msgid "path to the remote git-upload-archive command" msgstr "μ격 git-upload-archive λͺ
λ Ήμ κ²½λ‘" -#: attr.c:265 +#: attr.c:263 msgid "" "Negative patterns are ignored in git attributes\n" "Use '\\!' for literal leading exclamation." @@ -193,87 +193,104 @@ msgstr "" "git attributesμμ λ°λ ν¨ν΄μ 무μλ©λλ€.\n" "μμ λλνλ₯Ό μ°λ €λ©΄ '\\!'λ₯Ό μ¬μ©νμμμ€." -#: branch.c:61 +#: branch.c:53 +#, c-format +msgid "" +"\n" +"After fixing the error cause you may try to fix up\n" +"the remote tracking information by invoking\n" +"\"git branch --set-upstream-to=%s%s%s\"." +msgstr "" +"\n" +"μ€λ₯λ₯Ό μμ ν λ€μ μ격 μΆμ μ 보λ₯Ό\n" +"\"git branch --set-upstream-to=%s%s%s\" λͺ
λ Ήμ\n" +"μ€νν΄ μμ ν μ μμ΅λλ€." + +#: branch.c:67 #, c-format msgid "Not setting branch %s as its own upstream." msgstr "%s λΈλμΉλ₯Ό μμ μ μ
μ€νΈλ¦ΌμΌλ‘ μ§μ νμ§ μμ." -#: branch.c:84 +#: branch.c:93 #, c-format msgid "Branch %s set up to track remote branch %s from %s by rebasing." msgstr "" "%s λΈλμΉκ° λ¦¬λ² μ΄μ€λ₯Ό ν΅ν΄ 리λͺ¨νΈμ %s λΈλμΉλ₯Ό (%sμμ) λ°λΌκ°λλ‘ μ€μ λμ" "μ΅λλ€." -#: branch.c:85 +#: branch.c:94 #, c-format msgid "Branch %s set up to track remote branch %s from %s." msgstr "%s λΈλμΉκ° 리λͺ¨νΈμ %s λΈλμΉλ₯Ό (%sμμ) λ°λΌκ°λλ‘ μ€μ λμμ΅λλ€." -#: branch.c:89 +#: branch.c:98 #, c-format msgid "Branch %s set up to track local branch %s by rebasing." msgstr "" "%s λΈλμΉκ° λ¦¬λ² μ΄μ€λ₯Ό ν΅ν΄ 리λͺ¨νΈμ %s λΈλμΉλ₯Ό λ°λΌκ°λλ‘ μ€μ λμμ΅λλ€." -#: branch.c:90 +#: branch.c:99 #, c-format msgid "Branch %s set up to track local branch %s." msgstr "%s λΈλμΉκ° %s λΈλμΉλ₯Ό λ°λΌκ°λλ‘ μ€μ λμμ΅λλ€." -#: branch.c:95 +#: branch.c:104 #, c-format msgid "Branch %s set up to track remote ref %s by rebasing." msgstr "" "%s λΈλμΉκ° λ¦¬λ² μ΄μ€λ₯Ό ν΅ν΄ 리λͺ¨νΈμ %s λ νΌλ°μ€λ₯Ό λ°λΌκ°λλ‘ μ€μ λμμ΅λλ€." -#: branch.c:96 +#: branch.c:105 #, c-format msgid "Branch %s set up to track remote ref %s." msgstr "%s λΈλμΉκ° 리λͺ¨νΈμ %s λ νΌλ°μ€λ₯Ό λ°λΌκ°λλ‘ μ€μ λμμ΅λλ€." -#: branch.c:100 +#: branch.c:109 #, c-format msgid "Branch %s set up to track local ref %s by rebasing." msgstr "" "%s λΈλμΉκ° λ¦¬λ² μ΄μ€λ₯Ό ν΅ν΄ λ‘컬μ %s λ νΌλ°μ€λ₯Ό λ°λΌκ°λλ‘ μ€μ λμμ΅λλ€." -#: branch.c:101 +#: branch.c:110 #, c-format msgid "Branch %s set up to track local ref %s." msgstr "%s λΈλμΉκ° λ‘컬μ %s λ νΌλ°μ€λ₯Ό λ°λΌκ°λλ‘ μ€μ λμμ΅λλ€." -#: branch.c:134 +#: branch.c:119 +msgid "Unable to write upstream branch configuration" +msgstr "μ
μ€νΈλ¦Ό λΈλμΉ μ€μ μ μΈ μ μμ΅λλ€" + +#: branch.c:156 #, c-format msgid "Not tracking: ambiguous information for ref %s" msgstr "λ°λΌκ°μ§ μμ: %s λ νΌλ°μ€μ λν΄ μ λ§€ν μ 보" -#: branch.c:163 +#: branch.c:185 #, c-format msgid "'%s' is not a valid branch name." msgstr "'%s'μ(λ) μ¬λ°λ₯Έ λΈλμΉ μ΄λ¦μ΄ μλλλ€." -#: branch.c:168 +#: branch.c:190 #, c-format msgid "A branch named '%s' already exists." msgstr "μ΄λ¦μ΄ '%s'μΈ λΈλμΉκ° μ΄λ―Έ μμ΅λλ€." -#: branch.c:176 +#: branch.c:198 msgid "Cannot force update the current branch." msgstr "νμ¬ λΈλμΉλ₯Ό κ°μ λ‘ μ
λ°μ΄νΈν μ μμ΅λλ€." -#: branch.c:196 +#: branch.c:218 #, c-format msgid "Cannot setup tracking information; starting point '%s' is not a branch." msgstr "" "λ°λΌκ°κΈ° μ 보λ₯Ό μ€μ ν μ μμ΅λλ€. μμ μμΉ '%s'μ΄(κ°) λΈλμΉκ° μλλλ€." -#: branch.c:198 +#: branch.c:220 #, c-format msgid "the requested upstream branch '%s' does not exist" msgstr "μμ²ν μ
μ€νΈλ¦Ό '%s' λΈλμΉκ° μμ΅λλ€" -#: branch.c:200 +#: branch.c:222 msgid "" "\n" "If you are planning on basing your work on an upstream\n" @@ -291,22 +308,22 @@ msgstr "" "μ λ‘컬 λΈλμΉλ₯Ό κ±°κΈ°μ ν΄λΉνλ 리λͺ¨νΈ λΈλμΉλ‘ pushνλ €λ©΄,\n" "\"git push -u\"λ‘ pushνλ μ
μ€νΈλ¦Όμ μ€μ ν μ μμ΅λλ€." -#: branch.c:244 +#: branch.c:266 #, c-format msgid "Not a valid object name: '%s'." msgstr "μ¬λ°λ₯Έ μ€λΈμ νΈ μ΄λ¦μ΄ μλλλ€: '%s'." -#: branch.c:264 +#: branch.c:286 #, c-format msgid "Ambiguous object name: '%s'." msgstr "μ λ§€ν μ€λΈμ νΈ μ΄λ¦: '%s'." -#: branch.c:269 +#: branch.c:291 #, c-format msgid "Not a valid branch point: '%s'." msgstr "μ¬λ°λ₯Έ λΈλμΉ μμΉκ° μλλλ€: '%s'." -#: branch.c:322 +#: branch.c:344 #, c-format msgid "'%s' is already checked out at '%s'" msgstr "'%s'μ(λ) μ΄λ―Έ '%s' μμΉμ λ°μμ Έ μμ΅λλ€" @@ -330,10 +347,10 @@ msgstr "'%s'μ(λ₯Ό) μ΄ μ μμ΅λλ€" msgid "Repository lacks these prerequisite commits:" msgstr "μ μ₯μμ νμμ μΈ λ€μ 컀λ°μ΄ μμ΅λλ€:" -#: bundle.c:163 ref-filter.c:1372 sequencer.c:636 sequencer.c:1083 -#: builtin/blame.c:2734 builtin/commit.c:1045 builtin/log.c:334 -#: builtin/log.c:849 builtin/log.c:1461 builtin/log.c:1694 builtin/merge.c:358 -#: builtin/shortlog.c:158 +#: bundle.c:163 ref-filter.c:1462 sequencer.c:627 sequencer.c:1074 +#: builtin/blame.c:2754 builtin/commit.c:1045 builtin/log.c:334 +#: builtin/log.c:852 builtin/log.c:1467 builtin/log.c:1700 builtin/merge.c:358 +#: builtin/shortlog.c:170 msgid "revision walk setup failed" msgstr "리λΉμ walk μ€λΉκ° μ€ν¨νμ΅λλ€" @@ -370,7 +387,7 @@ msgstr "rev-list λͺ
λ Ήμ΄ μ£½μμ΅λλ€" msgid "ref '%s' is excluded by the rev-list options" msgstr "rev-list μ΅μ
μμ '%s' λ νΌλ°μ€κ° μ μΈλμμ΅λλ€" -#: bundle.c:443 builtin/log.c:157 builtin/log.c:1369 builtin/shortlog.c:261 +#: bundle.c:443 builtin/log.c:157 builtin/log.c:1372 builtin/shortlog.c:273 #, c-format msgid "unrecognized argument: %s" msgstr "μ μ μλ μΈμ: %s" @@ -393,8 +410,8 @@ msgstr "index-pack λͺ
λ Ήμ΄ μ£½μμ΅λλ€" msgid "invalid color value: %.*s" msgstr "μλͺ»λ μ κ°: %.*s" -#: commit.c:40 builtin/am.c:452 builtin/am.c:488 builtin/am.c:1520 -#: builtin/am.c:2149 +#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1505 +#: builtin/am.c:2135 #, c-format msgid "could not parse %s" msgstr "parse %sμ(λ₯Ό) νμ±ν μ μμ΅λλ€" @@ -408,59 +425,64 @@ msgstr "%s %s, 컀λ°μ΄ μλλλ€" msgid "memory exhausted" msgstr "λ©λͺ¨λ¦¬ λ°λ₯λ¨" -#: config.c:474 config.c:476 +#: config.c:475 config.c:477 #, c-format -msgid "bad config file line %d in %s" -msgstr "%2$s νμΌ %1$dλ² μ€μ μλͺ»λ μ€μ " +msgid "bad config line %d in %s %s" +msgstr "%2$s %3$s %1$dλ² μ€μ μλͺ»λ μ€μ " -#: config.c:592 +#: config.c:593 #, c-format -msgid "bad numeric config value '%s' for '%s' in %s: %s" -msgstr "μλͺ»λ μμΉ μ€μ κ° '%s' (ν€ '%s', %s νμΌ): %s" +msgid "bad numeric config value '%s' for '%s' in %s %s: %s" +msgstr "μλͺ»λ μμΉ μ€μ κ° '%s' (ν€ '%s', %s %s): %s" -#: config.c:594 +#: config.c:595 #, c-format msgid "bad numeric config value '%s' for '%s': %s" msgstr "μλͺ»λ μμΉ μ€μ κ° '%s' (ν€ '%s'): %s" -#: config.c:679 +#: config.c:680 #, c-format msgid "failed to expand user dir in: '%s'" msgstr "λ€μμ μ¬μ©μ λλ ν°λ¦¬ νμ₯μ μ€ν¨: '%s'" -#: config.c:757 config.c:768 +#: config.c:758 config.c:769 #, c-format msgid "bad zlib compression level %d" msgstr "%dλ²μ μ¬λ°λ₯Έ zlib μμΆ λ¨κ³κ° μλλλ€" -#: config.c:890 +#: config.c:891 #, c-format msgid "invalid mode for object creation: %s" msgstr "μ€λΈμ νΈ μμ± λͺ¨λκ° μ¬λ°λ₯΄μ§ μμ΅λλ€: %s" -#: config.c:1216 +#: config.c:1220 msgid "unable to parse command-line config" msgstr "λͺ
λ Ήν μ€μ μ νμ±ν μ μμ΅λλ€" -#: config.c:1277 +#: config.c:1281 msgid "unknown error occured while reading the configuration files" msgstr "μ€μ νμΌμ μ½λ μ€ μ μ μλ μ€λ₯κ° μκ²Όμ΅λλ€" -#: config.c:1601 +#: config.c:1629 #, c-format msgid "unable to parse '%s' from command-line config" msgstr "λͺ
λ Ήν μ€μ μμ '%s'μ(λ₯Ό) μ€μ ν μ μμ΅λλ€" -#: config.c:1603 +#: config.c:1631 #, c-format msgid "bad config variable '%s' in file '%s' at line %d" msgstr "'%2$s' νμΌμ %3$dλ² μ€ '%1$s' μ€μ λ³μκ° μλͺ»λμμ΅λλ€" -#: config.c:1662 +#: config.c:1690 #, c-format msgid "%s has multiple values" msgstr "%sμ(λ) μ¬λ¬ κ° κ°μ΄ μμ΅λλ€" +#: config.c:2226 +#, c-format +msgid "Could not set '%s' to '%s'" +msgstr "'%s'μ(λ₯Ό) '%s'μ μ€μ ν μ μμ΅λλ€" + #: connected.c:69 msgid "Could not run 'git rev-list'" msgstr "'git rev-list'λ₯Ό μ€νν μ μμ΅λλ€" @@ -567,16 +589,16 @@ msgstr "" "'diff.submodule' μ€μ λ³μμ μ€λ₯:\n" "%s'" -#: diff.c:3000 +#: diff.c:2997 #, c-format msgid "external diff died, stopping at %s" msgstr "μΈλΆ diff νλ‘κ·Έλ¨μ΄ μ£½μ, %s μμΉμμ λ©μΆ€" -#: diff.c:3396 +#: diff.c:3393 msgid "--follow requires exactly one pathspec" msgstr "--follow μ΅μ
μλ μ νν νλμ κ²½λ‘λͺ
μΈκ° νμν©λλ€" -#: diff.c:3559 +#: diff.c:3556 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" @@ -585,18 +607,18 @@ msgstr "" "--dirstat/-X μ΅μ
νλΌλ―Έν°λ₯Ό νμ±νλλ° μ€ν¨νμ΅λλ€:\n" "%s" -#: diff.c:3573 +#: diff.c:3570 #, c-format msgid "Failed to parse --submodule option parameter: '%s'" msgstr "--submodule μ΅μ
νλΌλ―Έν° νμ±μ μ€ν¨νμ΅λλ€: '%s'" -#: dir.c:1915 +#: dir.c:2004 msgid "failed to get kernel name and information" msgstr "컀λ μ΄λ¦κ³Ό μ 보λ₯Ό κ°μ Έμ€λλ° μ€ν¨νμ΅λλ€" -#: dir.c:1998 -msgid "Untracked cache is disabled on this system." -msgstr "μ΄ μμ€ν
μμλ μΆμ λμ§ μλ μΊμλ₯Ό μ¬μ©νμ§ μμ΅λλ€." +#: dir.c:2123 +msgid "Untracked cache is disabled on this system or location." +msgstr "μ΄ μμ€ν
λλ μμΉμμλ μΆμ λμ§ μλ μΊμλ₯Ό μ¬μ©νμ§ μμ΅λλ€." #: gpg-interface.c:166 gpg-interface.c:237 msgid "could not run gpg." @@ -635,20 +657,20 @@ msgstr "'%s': %s" msgid "'%s': short read %s" msgstr "'%s': %sμμ μ½λ€κ° μλ¦Ό" -#: help.c:207 +#: help.c:205 #, c-format msgid "available git commands in '%s'" msgstr "'%s'μ μλ κΉ λͺ
λ Ή" -#: help.c:214 +#: help.c:212 msgid "git commands available from elsewhere on your $PATH" msgstr "λ€λ₯Έ $PATHμ μλ κΉ λͺ
λ Ή" -#: help.c:246 +#: help.c:244 msgid "These are common Git commands used in various situations:" msgstr "λ€μμ μ¬λ¬κ°μ§ μν©μμ μμ£Ό μ¬μ©νλ κΉ λͺ
λ Ήμ
λλ€:" -#: help.c:311 +#: help.c:309 #, c-format msgid "" "'%s' appears to be a git command, but we were not\n" @@ -657,11 +679,11 @@ msgstr "" "'%s'μ(λ) κΉ λͺ
λ ΉμΌλ‘ 보μ΄μ§λ§, μ€νν μ\n" "μμ΅λλ€. μλ§λ git-%s λ§κ°μ§ κ² κ°μ΅λλ€." -#: help.c:368 +#: help.c:366 msgid "Uh oh. Your system reports no Git commands at all." msgstr "μ΄λΌλΌ. μμ€ν
μ κΉ λͺ
λ Ήμ΄ νλλ μλ€κ³ λμ΅λλ€." -#: help.c:390 +#: help.c:388 #, c-format msgid "" "WARNING: You called a Git command named '%s', which does not exist.\n" @@ -670,17 +692,17 @@ msgstr "" "κ²½κ³ : μ΄λ¦μ΄ '%s'μΈ κΉ λͺ
λ Ήμ μ€ννμ§λ§, κ·Έ λͺ
λ Ήμ΄ μμ΅λλ€.\n" "μλμΌλ‘ '%s' λͺ
λ Ήμ΄λΌκ³ κ°μ νκ³ κ³μν©λλ€" -#: help.c:395 +#: help.c:393 #, c-format msgid "in %0.1f seconds automatically..." msgstr "(%0.1fμ΄ λ€μ)..." -#: help.c:402 +#: help.c:400 #, c-format msgid "git: '%s' is not a git command. See 'git --help'." msgstr "git: '%s'μ(λ) κΉ λͺ
λ Ήμ΄ μλλλ€. 'git --help'λ₯Ό μ°Έκ³ νμμμ€." -#: help.c:406 help.c:466 +#: help.c:404 help.c:464 msgid "" "\n" "Did you mean this?" @@ -691,7 +713,7 @@ msgstr[0] "" "\n" "λ€μμ μλνμ κ² μλμλμ?" -#: help.c:462 +#: help.c:460 #, c-format msgid "%s: %s - %s" msgstr "%s: %s - %s" @@ -700,8 +722,8 @@ msgstr "%s: %s - %s" msgid "failed to read the cache" msgstr "μΊμλ₯Ό μ½λλ° μ€ν¨νμ΅λλ€" -#: merge.c:94 builtin/am.c:2022 builtin/am.c:2057 builtin/checkout.c:376 -#: builtin/checkout.c:587 builtin/clone.c:722 +#: merge.c:94 builtin/am.c:2008 builtin/am.c:2043 builtin/checkout.c:376 +#: builtin/checkout.c:587 builtin/clone.c:730 msgid "unable to write new index file" msgstr "μ μΈλ±μ€ νμΌμ μΈ μ μμ΅λλ€" @@ -719,64 +741,64 @@ msgstr "'%s' κ²½λ‘μ λν΄ addinfo_cacheκ° μ€ν¨νμ΅λλ€" msgid "error building trees" msgstr "νΈλ¦¬ λΉλμ μ€λ₯" -#: merge-recursive.c:686 +#: merge-recursive.c:689 #, c-format msgid "failed to create path '%s'%s" msgstr "'%s' κ²½λ‘ λ§λ€κΈ°μ μ€ν¨νμ΅λλ€%s" -#: merge-recursive.c:697 +#: merge-recursive.c:700 #, c-format msgid "Removing %s to make room for subdirectory\n" msgstr "νμ λλ ν°λ¦¬μ 곡κ°μ λ§λλ €κ³ %sμ(λ₯Ό) μ κ±°ν©λλ€\n" -#: merge-recursive.c:711 merge-recursive.c:732 +#: merge-recursive.c:714 merge-recursive.c:735 msgid ": perhaps a D/F conflict?" msgstr ": μλ§λ D/F μΆ©λ?" -#: merge-recursive.c:722 +#: merge-recursive.c:725 #, c-format msgid "refusing to lose untracked file at '%s'" msgstr "'%s' μμΉμ μΆμ λμ§ μλ νμΌμ μκΈ°λ₯Ό κ±°λΆν©λλ€" -#: merge-recursive.c:762 +#: merge-recursive.c:765 #, c-format msgid "cannot read object %s '%s'" msgstr "%s '%s' μ€λΈμ νΈλ₯Ό μ½μ μ μμ" -#: merge-recursive.c:764 +#: merge-recursive.c:767 #, c-format msgid "blob expected for %s '%s'" msgstr "%s '%s'μ λν΄ λΈλ‘μ μμ" -#: merge-recursive.c:787 builtin/clone.c:369 +#: merge-recursive.c:790 builtin/clone.c:374 #, c-format msgid "failed to open '%s'" msgstr "'%s'μ(λ₯Ό) μ¬λλ° μ€ν¨" -#: merge-recursive.c:795 +#: merge-recursive.c:798 #, c-format msgid "failed to symlink '%s'" msgstr "'%s' μ¬λ³Όλ¦ λ§ν¬μ μ€ν¨" -#: merge-recursive.c:798 +#: merge-recursive.c:801 #, c-format msgid "do not know what to do with %06o %s '%s'" msgstr "λ€μμ μ΄λ»κ² ν μ§ μ μ μμ΅λλ€: %06o %s '%s'" -#: merge-recursive.c:936 +#: merge-recursive.c:939 msgid "Failed to execute internal merge" msgstr "λ΄λΆ λ³ν© μ€νμ μ€ν¨" -#: merge-recursive.c:940 +#: merge-recursive.c:943 #, c-format msgid "Unable to add %s to database" msgstr "%sμ(λ₯Ό) λ°μ΄ν°λ² μ΄μ€μ μΆκ°ν μ μμ΅λλ€" -#: merge-recursive.c:956 +#: merge-recursive.c:959 msgid "unsupported object type in the tree" msgstr "νΈλ¦¬μμ μ§μνμ§ μλ μ€λΈμ νΈ μ’
λ₯" -#: merge-recursive.c:1031 merge-recursive.c:1045 +#: merge-recursive.c:1034 merge-recursive.c:1048 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -784,7 +806,7 @@ msgid "" msgstr "" "μΆ©λ! (%s/μμ ): %s (μμΉ %s) λ° %s (%sμμ) μμ . %s λ²μ μ %s νΈλ¦¬μ λ¨μ." -#: merge-recursive.c:1037 merge-recursive.c:1050 +#: merge-recursive.c:1040 merge-recursive.c:1053 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -793,20 +815,20 @@ msgstr "" "μΆ©λ! (%s/μμ ): %s (μμΉ %s) λ° %s (μμΉ %s) μμ . %s λ²μ μ %s νΈλ¦¬μ " "%s(μΌ)λ‘ λ¨μ." -#: merge-recursive.c:1091 +#: merge-recursive.c:1094 msgid "rename" msgstr "μ΄λ¦λ°κΎΈκΈ°" -#: merge-recursive.c:1091 +#: merge-recursive.c:1094 msgid "renamed" msgstr "μ΄λ¦λ°κΏ" -#: merge-recursive.c:1147 +#: merge-recursive.c:1150 #, c-format msgid "%s is a directory in %s adding as %s instead" msgstr "%sμ(λ) %sμ μλ λλ ν°λ¦¬λ‘ %s(μΌ)λ‘ μ΄λ¦μ λ°κΏλλ€" -#: merge-recursive.c:1169 +#: merge-recursive.c:1172 #, c-format msgid "" "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s" @@ -815,145 +837,145 @@ msgstr "" "μΆ©λ! (μ΄λ¦λ°κΎΈκΈ°/μ΄λ¦λ°κΎΈκΈ°): \"%3$s\" λΈλμΉμμ μ΄λ¦λ°κΎΈκΈ° \"%1$s\"->" "\"%2$s\" \"%6$s\" λΈλμΉμμ μ΄λ¦ λ°κΎΈκΈ° \"%4$s\"->\"%5$s\"%7$s" -#: merge-recursive.c:1174 +#: merge-recursive.c:1177 msgid " (left unresolved)" msgstr " (ν΄κ²°λμ§ μμ)" -#: merge-recursive.c:1228 +#: merge-recursive.c:1231 #, c-format msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s" msgstr "" "μΆ©λ! (rename/rename): μ΄λ¦ λ°κΎΈκΈ° %s->%s (μμΉ %s). μ΄λ¦ λ°κΎΈκΈ° %s->%s (μ" "μΉ %s)" -#: merge-recursive.c:1258 +#: merge-recursive.c:1261 #, c-format msgid "Renaming %s to %s and %s to %s instead" msgstr "λμ μ΄λ¦μ %sμμ %s(μΌ)λ‘ λ°κΎΈκ³ %sμμ %s(μΌ)λ‘ λ°κΏλλ€" -#: merge-recursive.c:1457 +#: merge-recursive.c:1460 #, c-format msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s" msgstr "μΆ©λ! (rename/add): μ΄λ¦ λ°κΎΈκΈ° %s->%s (μμΉ %s). %s μΆκ° (μμΉ %s)" -#: merge-recursive.c:1467 +#: merge-recursive.c:1470 #, c-format msgid "Adding merged %s" msgstr "λ³ν©λ %sμ(λ₯Ό) μΆκ°ν©λλ€" -#: merge-recursive.c:1472 merge-recursive.c:1674 +#: merge-recursive.c:1475 merge-recursive.c:1677 #, c-format msgid "Adding as %s instead" msgstr "λμ %s(μΌ)λ‘ μΆκ°ν©λλ€" -#: merge-recursive.c:1523 +#: merge-recursive.c:1526 #, c-format msgid "cannot read object %s" msgstr "%s μ€λΈμ νΈλ₯Ό μ½μ μ μμ΅λλ€" -#: merge-recursive.c:1526 +#: merge-recursive.c:1529 #, c-format msgid "object %s is not a blob" msgstr "%s μ€λΈμ νΈλ λΈλ‘μ΄ μλλλ€" -#: merge-recursive.c:1578 +#: merge-recursive.c:1581 msgid "modify" msgstr "μμ " -#: merge-recursive.c:1578 +#: merge-recursive.c:1581 msgid "modified" msgstr "μμ λ¨" -#: merge-recursive.c:1588 +#: merge-recursive.c:1591 msgid "content" msgstr "λ΄μ©" -#: merge-recursive.c:1595 +#: merge-recursive.c:1598 msgid "add/add" msgstr "μΆκ°/μΆκ°" -#: merge-recursive.c:1629 +#: merge-recursive.c:1632 #, c-format msgid "Skipped %s (merged same as existing)" msgstr "건λλ°κΈ°: %s (κΈ°μ‘΄κ³Ό κ°κ² λ³ν©)" -#: merge-recursive.c:1643 +#: merge-recursive.c:1646 #, c-format msgid "Auto-merging %s" msgstr "μλ λ³ν©: %s" -#: merge-recursive.c:1647 git-submodule.sh:1025 +#: merge-recursive.c:1650 git-submodule.sh:1048 msgid "submodule" msgstr "νμ λͺ¨λ" -#: merge-recursive.c:1648 +#: merge-recursive.c:1651 #, c-format msgid "CONFLICT (%s): Merge conflict in %s" msgstr "μΆ©λ! (%s): %sμ λ³ν© μΆ©λ" -#: merge-recursive.c:1734 +#: merge-recursive.c:1737 #, c-format msgid "Removing %s" msgstr "μ κ±°: %s" -#: merge-recursive.c:1759 +#: merge-recursive.c:1762 msgid "file/directory" msgstr "νμΌ/λλ ν°λ¦¬" -#: merge-recursive.c:1765 +#: merge-recursive.c:1768 msgid "directory/file" msgstr "λλ ν°λ¦¬/νμΌ" -#: merge-recursive.c:1770 +#: merge-recursive.c:1773 #, c-format msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s" msgstr "" "μΆ©λ! (%s): μ΄λ¦μ΄ %sμΈ λλ ν°λ¦¬κ° %sμ μμ΅λλ€. %sμ(λ₯Ό) %s(μΌ)λ‘ μΆκ°ν©λ" "λ€" -#: merge-recursive.c:1780 +#: merge-recursive.c:1783 #, c-format msgid "Adding %s" msgstr "μΆκ°: %s" -#: merge-recursive.c:1797 +#: merge-recursive.c:1800 msgid "Fatal merge failure, shouldn't happen." msgstr "μΉλͺ
μ μΈ λ³ν© μ€ν¨, μΌμ΄λ μ μλ μν©." -#: merge-recursive.c:1816 +#: merge-recursive.c:1819 msgid "Already up-to-date!" msgstr "μ΄λ―Έ μ
λ°μ΄νΈ μνμ
λλ€!" -#: merge-recursive.c:1825 +#: merge-recursive.c:1828 #, c-format msgid "merging of trees %s and %s failed" msgstr "%s λ° %s νΈλ¦¬μ λ³ν©μ΄ μ€ν¨νμ΅λλ€" -#: merge-recursive.c:1855 +#: merge-recursive.c:1858 #, c-format msgid "Unprocessed path??? %s" msgstr "μ²λ¦¬λμ§ μμ κ²½λ‘??? %s" -#: merge-recursive.c:1903 +#: merge-recursive.c:1906 msgid "Merging:" msgstr "λ³ν©:" -#: merge-recursive.c:1916 +#: merge-recursive.c:1919 #, c-format msgid "found %u common ancestor:" msgid_plural "found %u common ancestors:" msgstr[0] "κ³Όκ±°μ κ³΅ν΅ μ»€λ° %uκ° λ°κ²¬:" -#: merge-recursive.c:1953 +#: merge-recursive.c:1956 msgid "merge returned no commit" msgstr "λ³ν© κ²°κ³Όμ 컀λ°μ΄ μμ΅λλ€" -#: merge-recursive.c:2010 +#: merge-recursive.c:2013 #, c-format msgid "Could not parse object '%s'" msgstr "'%s' μ€λΈμ νΈλ₯Ό νμ±ν μ μμ΅λλ€" -#: merge-recursive.c:2021 builtin/merge.c:645 +#: merge-recursive.c:2024 builtin/merge.c:646 msgid "Unable to write index." msgstr "μΈλ±μ€λ₯Ό μΈ μ μμ΅λλ€." @@ -1068,12 +1090,12 @@ msgstr "κ²½λ‘λͺ
μΈ '%s'μ(λ) ''%.*s' νμ λͺ¨λ μμ μμ΅λλ€" msgid "%s: pathspec magic not supported by this command: %s" msgstr "%s: κ²½λ‘λͺ
μΈ μ§μμ΄κ° μ΄ λͺ
λ Ήμ΄μμ μ§μνμ§ μμ΅λλ€: %s" -#: pathspec.c:432 +#: pathspec.c:433 #, c-format msgid "pathspec '%s' is beyond a symbolic link" msgstr "'%s' κ²½λ‘λͺ
μΈλ μ¬λ³Όλ¦ λ§ν¬ μλμ μμ΅λλ€" -#: pathspec.c:441 +#: pathspec.c:442 msgid "" "There is nothing to exclude from by :(exclude) patterns.\n" "Perhaps you forgot to add either ':/' or '.' ?" @@ -1107,173 +1129,258 @@ msgstr "" "GIT_INDEX_VERSIONμ΄ μ€μ λμμ§λ§, μ΄ κ°μ΄ μλͺ»λμμ΅λλ€.\n" "%i λ²μ μ μ¬μ©ν©λλ€" -#: refs.c:543 builtin/merge.c:760 builtin/merge.c:871 builtin/merge.c:973 -#: builtin/merge.c:983 +#: refs.c:543 builtin/merge.c:761 builtin/merge.c:872 builtin/merge.c:974 +#: builtin/merge.c:984 #, c-format msgid "Could not open '%s' for writing" msgstr "'%s'μ(λ₯Ό) μ°κΈ°μ©μΌλ‘ μ΄ μ μμ΅λλ€" -#: refs/files-backend.c:2359 +#: refs/files-backend.c:2374 #, c-format msgid "could not delete reference %s: %s" msgstr "%s λ νΌλ°μ€λ₯Ό μμ ν μ μμ΅λλ€: %s" -#: refs/files-backend.c:2362 +#: refs/files-backend.c:2377 #, c-format msgid "could not delete references: %s" msgstr "λ νΌλ°μ€λ₯Ό μμ ν μ μμ΅λλ€: %s" -#: refs/files-backend.c:2371 +#: refs/files-backend.c:2386 #, c-format msgid "could not remove reference %s" msgstr "%s λ νΌλ°μ€λ₯Ό μ κ±°ν μ μμ΅λλ€" -#: ref-filter.c:245 +#: ref-filter.c:55 #, c-format -msgid "format: %%(end) atom used without corresponding atom" -msgstr "νμ: %%(end) μν°μ΄ λμλλ μν° μμ΄ μ¬μ©λμμ΅λλ€" +msgid "expected format: %%(color:<color>)" +msgstr "μμν νμ: %%(color:<μ>)" -#: ref-filter.c:704 +#: ref-filter.c:57 +#, c-format +msgid "unrecognized color: %%(color:%s)" +msgstr "μΈμν μ μλ μ: %%(color:%s)" + +#: ref-filter.c:71 +#, c-format +msgid "unrecognized format: %%(%s)" +msgstr "μ μ μλ νμ: %%(%s)" + +#: ref-filter.c:77 +#, c-format +msgid "%%(body) does not take arguments" +msgstr "%%(body)μ μΈμλ₯Ό λ°μ§ μμ΅λλ€" + +#: ref-filter.c:84 +#, c-format +msgid "%%(subject) does not take arguments" +msgstr "%%(subject)μ μΈμλ₯Ό λ°μ§ μμ΅λλ€" + +#: ref-filter.c:101 #, c-format msgid "positive value expected contents:lines=%s" msgstr "'contents:lines=%s'μμ 0λ³΄λ€ ν° κ°μ΄ μμΌ ν©λλ€" -#: ref-filter.c:833 +#: ref-filter.c:103 #, c-format -msgid "expected format: %%(color:<color>)" -msgstr "μμν νμ: %%(color:<μ>)" +msgid "unrecognized %%(contents) argument: %s" +msgstr "μ μ μλ %%(contents) μΈμ: %s" -#: ref-filter.c:835 -msgid "unable to parse format" -msgstr "νμμ νμ±ν μ μμ΅λλ€" +#: ref-filter.c:113 +#, c-format +msgid "unrecognized %%(objectname) argument: %s" +msgstr "μ μ μλ %%(objectname) μΈμ: %s" -#: ref-filter.c:870 +#: ref-filter.c:135 #, c-format msgid "expected format: %%(align:<width>,<position>)" msgstr "μμν νμ: %%(align:<λλΉ>,<μμΉ>)" -#: ref-filter.c:893 +#: ref-filter.c:147 #, c-format -msgid "improper format entered align:%s" -msgstr "align:%s μλͺ»λ νμμ΄ μ
λ ₯λμμ΅λλ€" +msgid "unrecognized position:%s" +msgstr "μΈμν μ μλ μμΉ:%s" -#: ref-filter.c:898 +#: ref-filter.c:151 +#, c-format +msgid "unrecognized width:%s" +msgstr "μΈμν μ μλ λλΉ:%s" + +#: ref-filter.c:157 +#, c-format +msgid "unrecognized %%(align) argument: %s" +msgstr "μΈμν μ μλ %%(align) μΈμ:%s" + +#: ref-filter.c:161 #, c-format msgid "positive width expected with the %%(align) atom" msgstr "%%(align) μν°μ λλΉκ° 0λ³΄λ€ μ»€μΌ ν©λλ€" -#: ref-filter.c:1219 +#: ref-filter.c:244 +#, c-format +msgid "malformed field name: %.*s" +msgstr "μλͺ»λ νμμ νλ μ΄λ¦: %.*s" + +#: ref-filter.c:270 +#, c-format +msgid "unknown field name: %.*s" +msgstr "μ μ μλ νλ μ΄λ¦: %.*s" + +#: ref-filter.c:372 +#, c-format +msgid "format: %%(end) atom used without corresponding atom" +msgstr "νμ: %%(end) μν°μ΄ λμλλ μν° μμ΄ μ¬μ©λμμ΅λλ€" + +#: ref-filter.c:424 +#, c-format +msgid "malformed format string %s" +msgstr "μλͺ»λ νμμ λ¬Έμμ΄ %s" + +#: ref-filter.c:878 +msgid ":strip= requires a positive integer argument" +msgstr ":strip= λͺ
λ Ήμλ 0λ³΄λ€ ν° μ μ μΈμκ° νμν©λλ€" + +#: ref-filter.c:883 +#, c-format +msgid "ref '%s' does not have %ld components to :strip" +msgstr "'%s' λ νΌλ°μ€μ :stripν κ΅¬μ± μμ %ldκ°κ° μμ΅λλ€" + +#: ref-filter.c:1046 +#, c-format +msgid "unknown %.*s format %s" +msgstr "μ μ μλ %.*s νμ %s" + +#: ref-filter.c:1066 ref-filter.c:1097 +#, c-format +msgid "missing object %s for %s" +msgstr "μλ μ€λΈμ νΈ %s, %sμ λν΄" + +#: ref-filter.c:1069 ref-filter.c:1100 +#, c-format +msgid "parse_object_buffer failed on %s for %s" +msgstr "%sμ parse_object_buffer μ€ν¨ (%sμ λν΄)" + +#: ref-filter.c:1311 #, c-format msgid "malformed object at '%s'" msgstr "'%s'μ μλͺ»λ νμμ μ€λΈμ νΈ" -#: ref-filter.c:1561 +#: ref-filter.c:1373 +#, c-format +msgid "ignoring ref with broken name %s" +msgstr "λ§κ°μ§ μ΄λ¦ %sμ λ νΌλ°μ€λ₯Ό 무μν©λλ€" + +#: ref-filter.c:1378 +#, c-format +msgid "ignoring broken ref %s" +msgstr "λ§κ°μ§ λ νΌλ°μ€ %s 무μ" + +#: ref-filter.c:1651 #, c-format msgid "format: %%(end) atom missing" msgstr "νμ: %%(end) μν°μ΄ μμ΅λλ€" -#: ref-filter.c:1615 +#: ref-filter.c:1705 #, c-format msgid "malformed object name %s" msgstr "μλͺ»λ νμμ μ€λΈμ νΈ μ΄λ¦ %s" -#: remote.c:756 +#: remote.c:745 #, c-format msgid "Cannot fetch both %s and %s to %s" msgstr "%s λ° %sμ(λ₯Ό) λͺ¨λ %sμ κ°μ Έμ¬ μ μμ΅λλ€" -#: remote.c:760 +#: remote.c:749 #, c-format msgid "%s usually tracks %s, not %s" msgstr "%sμ(λ) λ³΄ν΅ %sμ(λ₯Ό) μΆμ νκ³ , %sμ(λ₯Ό) μΆμ νμ§ μμ΅λλ€" -#: remote.c:764 +#: remote.c:753 #, c-format msgid "%s tracks both %s and %s" msgstr "%sμ(λ) %s λ° %s λͺ¨λ μΆμ ν©λλ€" -#: remote.c:772 +#: remote.c:761 msgid "Internal error" msgstr "λ΄λΆ μ€λ₯" -#: remote.c:1687 remote.c:1730 +#: remote.c:1677 remote.c:1720 msgid "HEAD does not point to a branch" msgstr "HEADκ° λΈλμΉλ₯Ό κ°λ¦¬ν€μ§ μμ΅λλ€" -#: remote.c:1696 +#: remote.c:1686 #, c-format msgid "no such branch: '%s'" msgstr "κ·Έλ° λΈλμΉκ° μμ΅λλ€: '%s'" -#: remote.c:1699 +#: remote.c:1689 #, c-format msgid "no upstream configured for branch '%s'" msgstr "'%s' λΈλμΉμ λν΄ μ
μ€νΈλ¦Όμ μ€μ νμ§ μμμ΅λλ€" -#: remote.c:1705 +#: remote.c:1695 #, c-format msgid "upstream branch '%s' not stored as a remote-tracking branch" msgstr "μ
μ€νΈλ¦Ό '%s' λΈλμΉκ° 리λͺ¨νΈ μΆμ λΈλμΉλ‘ μ μ₯λμ§ μμμ΅λλ€" -#: remote.c:1720 +#: remote.c:1710 #, c-format msgid "push destination '%s' on remote '%s' has no local tracking branch" msgstr "리λͺ¨νΈ '%2$s'μ νΈμ λμ '%1$s'μ λ‘컬 μΆμ λΈλμΉκ° μμ΅λλ€" -#: remote.c:1735 +#: remote.c:1725 #, c-format msgid "branch '%s' has no remote for pushing" msgstr "'%s' λΈλμΉμ νΈμ 리λͺ¨νΈκ° μμ΅λλ€" -#: remote.c:1746 +#: remote.c:1736 #, c-format msgid "push refspecs for '%s' do not include '%s'" msgstr "'%s'μ λν νΈμ λ νΌλ°μ€λͺ
μΈμ '%s'μ΄(κ°) λ€μ΄ μμ§ μμ΅λλ€" -#: remote.c:1759 +#: remote.c:1749 msgid "push has no destination (push.default is 'nothing')" msgstr "νΈμμ λμμ΄ μμ΅λλ€ (push.defaultκ° 'nothing'μ
λλ€)" -#: remote.c:1781 +#: remote.c:1771 msgid "cannot resolve 'simple' push to a single destination" msgstr "νλμ λμμ λν΄ 'simple' νΈμλ₯Ό μ²λ¦¬ν μ μμ΅λλ€" -#: remote.c:2083 +#: remote.c:2073 #, c-format msgid "Your branch is based on '%s', but the upstream is gone.\n" msgstr "νμ¬ λΈλμΉκ° '%s' κΈ°λ°μ΄μ§λ§, μ
μ€νΈλ¦Όμ΄ μμ΄μ‘μ΅λλ€.\n" -#: remote.c:2087 +#: remote.c:2077 msgid " (use \"git branch --unset-upstream\" to fixup)\n" msgstr " (λ°λ‘μ‘μΌλ €λ©΄ \"git branch --unset-upstream\"μ μ¬μ©νμμμ€)\n" -#: remote.c:2090 +#: remote.c:2080 #, c-format msgid "Your branch is up-to-date with '%s'.\n" msgstr "λΈλμΉκ° '%s'μ λ§κ² μ
λ°μ΄νΈλ μνμ
λλ€.\n" -#: remote.c:2094 +#: remote.c:2084 #, c-format msgid "Your branch is ahead of '%s' by %d commit.\n" msgid_plural "Your branch is ahead of '%s' by %d commits.\n" msgstr[0] "λΈλμΉκ° '%s'λ³΄λ€ %dκ° μ»€λ°λ§νΌ μμ μμ΅λλ€.\n" -#: remote.c:2100 +#: remote.c:2090 msgid " (use \"git push\" to publish your local commits)\n" msgstr " (λ‘컬μ μλ 컀λ°μ μ μΆνλ €λ©΄ \"git push\"λ₯Ό μ¬μ©νμμμ€)\n" -#: remote.c:2103 +#: remote.c:2093 #, c-format msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n" msgid_plural "" "Your branch is behind '%s' by %d commits, and can be fast-forwarded.\n" msgstr[0] "λΈλμΉκ° '%s'λ³΄λ€ %dκ° μ»€λ° λ€μ μκ³ , μμΌλ‘ λ릴 μ μμ΅λλ€.\n" -#: remote.c:2111 +#: remote.c:2101 msgid " (use \"git pull\" to update your local branch)\n" msgstr " (λ‘컬 λΈλμΉλ₯Ό μ
λ°μ΄νΈνλ €λ©΄ \"git pull\"μ μ¬μ©νμμμ€)\n" -#: remote.c:2114 +#: remote.c:2104 #, c-format msgid "" "Your branch and '%s' have diverged,\n" @@ -1285,29 +1392,29 @@ msgstr[0] "" "νμ¬ λΈλμΉμ '%s'μ΄(κ°) κ°λΌμ‘μ΅λλ€,\n" "λ€λ₯Έ 컀λ°μ΄ κ°κ° %dκ°μ %dκ° μμ΅λλ€.\n" -#: remote.c:2124 +#: remote.c:2114 msgid " (use \"git pull\" to merge the remote branch into yours)\n" msgstr "" " (리λͺ¨νΈμ λΈλμΉλ₯Ό νμ¬ λΈλμΉλ‘ λ³ν©νλ €λ©΄ \"git pull\"μ μ¬μ©νμμμ€)\n" -#: revision.c:2193 +#: revision.c:2131 msgid "your current branch appears to be broken" msgstr "νμ¬ λΈλμΉκ° λ§κ°μ§ κ²μ²λΌ 보μ
λλ€" -#: revision.c:2196 +#: revision.c:2134 #, c-format msgid "your current branch '%s' does not have any commits yet" msgstr "νμ¬ '%s' λΈλμΉμ μμ§ μ무 컀λ°λ μμ΅λλ€" -#: revision.c:2390 +#: revision.c:2328 msgid "--first-parent is incompatible with --bisect" msgstr "--first-parent μ΅μ
μ --bisect μ΅μ
κ³Ό νΈνλμ§ μμ΅λλ€" -#: run-command.c:90 +#: run-command.c:92 msgid "open /dev/null failed" msgstr "/dev/null μ΄κΈ° μ€ν¨" -#: run-command.c:92 +#: run-command.c:94 #, c-format msgid "dup2(%d,%d) failed" msgstr "dup2(%d,%d) μ€ν¨" @@ -1331,7 +1438,7 @@ msgstr "" msgid "the receiving end does not support --atomic push" msgstr "λ°λ μͺ½μμ --atomic νΈμλ₯Ό μ§μνμ§ μμ΅λλ€" -#: sequencer.c:183 +#: sequencer.c:174 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'" @@ -1339,7 +1446,7 @@ msgstr "" "μ΄ μΆ©λμ ν΄κ²°ν λ€μ, λ°λ‘μ‘μ κ²½λ‘λ₯Ό\n" "'git add <κ²½λ‘>' λλ 'git rm <κ²½λ‘>'λ‘ νμνμμμ€" -#: sequencer.c:186 +#: sequencer.c:177 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'\n" @@ -1349,230 +1456,244 @@ msgstr "" "'git add <κ²½λ‘>' λλ 'git rm <κ²½λ‘>'λ‘ νμνμμμ€.\n" "κ·Έλ¦¬κ³ κ²°κ³Όλ¬Όμ 'git commit'μΌλ‘ 컀λ°νμμμ€" -#: sequencer.c:199 sequencer.c:842 sequencer.c:922 +#: sequencer.c:190 sequencer.c:833 sequencer.c:913 #, c-format msgid "Could not write to %s" msgstr "%sμ μΈ μ μμ΅λλ€" -#: sequencer.c:202 +#: sequencer.c:193 #, c-format msgid "Error wrapping up %s" msgstr "%s μ κ·Έλλ° μ€λ₯" -#: sequencer.c:217 +#: sequencer.c:208 msgid "Your local changes would be overwritten by cherry-pick." msgstr "λ‘컬 λ³κ²½ μ¬νμ cherry-pick λλ¬Έμ λμ΄ μ°κ² λ©λλ€." -#: sequencer.c:219 +#: sequencer.c:210 msgid "Your local changes would be overwritten by revert." msgstr "λ‘컬 λ³κ²½ μ¬νμ revert λλ¬Έμ λμ΄ μ°κ² λ©λλ€." -#: sequencer.c:222 +#: sequencer.c:213 msgid "Commit your changes or stash them to proceed." msgstr "λ³κ²½ μ¬νμ μ€ν
μ΄μ§νκ±°λ μ€νμν λ€μ κ³μνμμμ€." #. TRANSLATORS: %s will be "revert" or "cherry-pick" -#: sequencer.c:309 +#: sequencer.c:300 #, c-format msgid "%s: Unable to write new index file" msgstr "%s: μ μΈλ±μ€ νμΌμ μΈ μ μμ΅λλ€" -#: sequencer.c:327 +#: sequencer.c:318 msgid "Could not resolve HEAD commit\n" msgstr "HEAD 컀λ°μ μ²λ¦¬ν μ μμ΅λλ€\n" -#: sequencer.c:347 +#: sequencer.c:338 msgid "Unable to update cache tree\n" msgstr "μΊμ νΈλ¦¬λ₯Ό μ
λ°μ΄νΈν μ μμ΅λλ€\n" -#: sequencer.c:399 +#: sequencer.c:390 #, c-format msgid "Could not parse commit %s\n" msgstr "%s 컀λ°μ νμ±ν μ μμ΅λλ€\n" -#: sequencer.c:404 +#: sequencer.c:395 #, c-format msgid "Could not parse parent commit %s\n" msgstr "%s μ΄μ 컀λ°μ νμ±ν μ μμ΅λλ€\n" -#: sequencer.c:469 +#: sequencer.c:460 msgid "Your index file is unmerged." msgstr "μΈλ±μ€ νμΌμ΄ λ³ν©λμ§ μμμ΅λλ€." -#: sequencer.c:488 +#: sequencer.c:479 #, c-format msgid "Commit %s is a merge but no -m option was given." msgstr "%s 컀λ°μ λ³ν©μ΄μ§λ§ -m μ΅μ
μ΄ μ£Όμ΄μ§μ§ μμμ΅λλ€." # FIXME: "parent %d" λ²νΈκ° λ¬΄μ¨ μλ―Έ? -#: sequencer.c:496 +#: sequencer.c:487 #, c-format msgid "Commit %s does not have parent %d" msgstr "Commit %s 컀λ°μ μ΄μ μ»€λ° %dμ΄(κ°) μμ΅λλ€" -#: sequencer.c:500 +#: sequencer.c:491 #, c-format msgid "Mainline was specified but commit %s is not a merge." msgstr "λ©μΈλΌμΈμ μ§μ νμ§λ§ %s 컀λ°μ΄ λ³ν© 컀λ°μ΄ μλλλ€." #. TRANSLATORS: The first %s will be "revert" or #. "cherry-pick", the second %s a SHA1 -#: sequencer.c:513 +#: sequencer.c:504 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "%s: %s μ΄μ 컀λ°μ νμ±ν μ μμ΅λλ€" -#: sequencer.c:517 +#: sequencer.c:508 #, c-format msgid "Cannot get commit message for %s" msgstr "%sμ λν μ»€λ° λ©μμ§λ₯Ό κ°μ Έμ¬ μ μμ΅λλ€" -#: sequencer.c:603 +#: sequencer.c:594 #, c-format msgid "could not revert %s... %s" msgstr "λ€μμ λλ릴(revert) μ μμ΅λλ€: %s... %s" -#: sequencer.c:604 +#: sequencer.c:595 #, c-format msgid "could not apply %s... %s" msgstr "λ€μμ μ μ©ν (apply) μ μμ΅λλ€: %s... %s" -#: sequencer.c:639 +#: sequencer.c:630 msgid "empty commit set passed" msgstr "λΉ μ»€λ° λͺ¨μμ 건λ λλλ€" -#: sequencer.c:647 +#: sequencer.c:638 #, c-format msgid "git %s: failed to read the index" msgstr "git %s: μΈλ±μ€ μ½κΈ°μ μ€ν¨νμ΅λλ€" -#: sequencer.c:651 +#: sequencer.c:642 #, c-format msgid "git %s: failed to refresh the index" msgstr "git %s: μΈλ±μ€ μλ‘ κ³ μΉ¨μ μ€ν¨νμ΅λλ€" -#: sequencer.c:711 +#: sequencer.c:702 #, c-format msgid "Cannot %s during a %s" msgstr "%2$s λμ %1$s ν μ μμ΅λλ€" -#: sequencer.c:733 +#: sequencer.c:724 #, c-format msgid "Could not parse line %d." msgstr "%dλ² μ€μ νμ±ν μ μμ΅λλ€." -#: sequencer.c:738 +#: sequencer.c:729 msgid "No commits parsed." msgstr "νμ±ν 컀λ°μ΄ μμ΅λλ€." -#: sequencer.c:750 +#: sequencer.c:741 #, c-format msgid "Could not open %s" msgstr "%sμ(λ₯Ό) μ΄ μ μμ΅λλ€" -#: sequencer.c:754 +#: sequencer.c:745 #, c-format msgid "Could not read %s." msgstr "%sμ(λ₯Ό) μ½μ μ μμ΅λλ€." -#: sequencer.c:761 +#: sequencer.c:752 #, c-format msgid "Unusable instruction sheet: %s" msgstr "μ¬μ© λΆκ°λ₯ μΈμ€νΈλμ
νμΌ: %s" -#: sequencer.c:791 +#: sequencer.c:782 #, c-format msgid "Invalid key: %s" msgstr "μλͺ»λ ν€: %s" -#: sequencer.c:794 builtin/pull.c:47 builtin/pull.c:49 +#: sequencer.c:785 builtin/pull.c:50 builtin/pull.c:52 #, c-format msgid "Invalid value for %s: %s" msgstr "%sμ κ°μ΄ μ¬λ°λ₯΄μ§ μμ΅λλ€: %s" -#: sequencer.c:804 +#: sequencer.c:795 #, c-format msgid "Malformed options sheet: %s" msgstr "νμμ΄ μλͺ»λ μ΅μ
νμΌ: %s" -#: sequencer.c:823 +#: sequencer.c:814 msgid "a cherry-pick or revert is already in progress" msgstr "μ΄λ―Έ μ»€λ° λΉΌμ€κΈ°(cherry-pick) λλ λλ리기(revert)κ° μ§ν μ€μ
λλ€" -#: sequencer.c:824 +#: sequencer.c:815 msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" msgstr "\"git cherry-pick (--continue | --quit | --abort)\" λͺ
λ Ήμ ν΄ λ³΄μμμ€" -#: sequencer.c:828 +#: sequencer.c:819 #, c-format msgid "Could not create sequencer directory %s" msgstr "%s μνμ λλ ν°λ¦¬λ₯Ό λ§λ€ μ μμ΅λλ€" -#: sequencer.c:844 sequencer.c:926 +#: sequencer.c:835 sequencer.c:917 #, c-format msgid "Error wrapping up %s." msgstr "%s μ κ·Έλλ° μ€λ₯." -#: sequencer.c:863 sequencer.c:996 +#: sequencer.c:854 sequencer.c:987 msgid "no cherry-pick or revert in progress" msgstr "λΉΌμ€κΈ°(cherry-pick) λλ λλ리기(revert)κ° μ§ν μ€μ΄μ§ μμ΅λλ€" -#: sequencer.c:865 +#: sequencer.c:856 msgid "cannot resolve HEAD" msgstr "HEADλ₯Ό κ΅¬ν΄ μ¬ μ μμ΅λλ€" -#: sequencer.c:867 +#: sequencer.c:858 msgid "cannot abort from a branch yet to be born" msgstr "μλ‘ λ§λ€κ³ μλ λΈλμΉμμ μ€μ§ν μ μμ΅λλ€" -#: sequencer.c:887 builtin/apply.c:4287 +#: sequencer.c:878 builtin/apply.c:4287 #, c-format msgid "cannot open %s: %s" msgstr "%sμ(λ₯Ό) μ΄ μ μμ΅λλ€: %s" -#: sequencer.c:890 +#: sequencer.c:881 #, c-format msgid "cannot read %s: %s" msgstr "%sμ(λ₯Ό) μ½μ μ μμ΅λλ€: %s" -#: sequencer.c:891 +#: sequencer.c:882 msgid "unexpected end of file" msgstr "μμμΉ λͺ»νκ² νμΌμ΄ λλ¬μ΅λλ€" -#: sequencer.c:897 +#: sequencer.c:888 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "λΉΌμ€κΈ° μ μ μ μ₯ν HEAD νμΌμ΄('%s') μμλμμ΅λλ€" -#: sequencer.c:919 +#: sequencer.c:910 #, c-format msgid "Could not format %s." msgstr "%sμ ν¬λ§€ν
ν μ μμ΅λλ€." -#: sequencer.c:1064 +#: sequencer.c:1055 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "%s: %s 컀λ°μ λΉΌμ¬ μ μμ΅λλ€" -#: sequencer.c:1067 +#: sequencer.c:1058 #, c-format msgid "%s: bad revision" msgstr "%s: μλͺ»λ 리λΉμ " -#: sequencer.c:1101 +#: sequencer.c:1092 msgid "Can't revert as initial commit" msgstr "μ΅μ΄μ 컀λ°μ λλ릴 μ μμ΅λλ€" -#: sequencer.c:1102 +#: sequencer.c:1093 msgid "Can't cherry-pick into empty head" msgstr "λΉ ν€λλ‘ μ»€λ°μ λΉΌμ¬ μ μμ΅λλ€." -#: setup.c:248 +#: setup.c:246 #, c-format msgid "failed to read %s" msgstr "%sμ(λ₯Ό) μ½λλ° μ€ν¨νμ΅λλ€" -#: sha1_name.c:463 +#: sha1_file.c:1080 +msgid "offset before end of packfile (broken .idx?)" +msgstr "μ€νμ
μ΄ λ¬Άμ νμΌ μμ
λλ€ (λ§κ°μ§ .idx?)" + +#: sha1_file.c:2459 +#, c-format +msgid "offset before start of pack index for %s (corrupt index?)" +msgstr "μ€νμ
μ΄ %sμ λ¬Άμ μΈλ±μ€ μμλ³΄λ€ μμ
λλ€ (λ§κ°μ§ μΈλ±μ€?)" + +#: sha1_file.c:2463 +#, c-format +msgid "offset beyond end of pack index for %s (truncated index?)" +msgstr "μ€νμ
μ΄ %sμ λ¬Άμ μΈλ±μ€ λλ³΄λ€ λ€μ
λλ€ (λ§κ°μ§ μΈλ±μ€?)" + +#: sha1_name.c:462 msgid "" "Git normally never creates a ref that ends with 40 hex characters\n" "because it will be ignored when you just specify 40-hex. These refs\n" @@ -1594,61 +1715,85 @@ msgstr "" "νμΈν΄ 보μκ³ μλͺ» λ§λ€μ΄μ§ κ²μ΄λ©΄ μ§μ°μμμ€. μ΄ λ©μμ§λ₯Ό λ³΄κ³ μΆμ§\n" "μμΌλ©΄ \"git config advice.objectNameWarning false\" λͺ
λ Ήμ μ¬μ©νμμμ€." -#: submodule.c:61 submodule.c:95 +#: submodule.c:62 submodule.c:96 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" msgstr "" "λ³ν©νμ§ μμ .gitmodulesλ₯Ό λ°κΏ μ μμ΅λλ€. λ³ν© μΆ©λμ λ¨Όμ ν΄κ²°νμμμ€" -#: submodule.c:65 submodule.c:99 +#: submodule.c:66 submodule.c:100 #, c-format msgid "Could not find section in .gitmodules where path=%s" msgstr "κ²½λ‘κ° %sμΌ λ .gitmodulesμ μΉμ
μ μ°Ύμ μ μμ΅λλ€" -#: submodule.c:73 +#: submodule.c:74 #, c-format msgid "Could not update .gitmodules entry %s" msgstr ".gitmodules νλͺ© %sμ(λ₯Ό) μ
λ°μ΄νΈν μ μμ΅λλ€" -#: submodule.c:106 +#: submodule.c:107 #, c-format msgid "Could not remove .gitmodules entry for %s" msgstr "%sμ λν .gitmodules νλͺ©μ μ κ±°ν μ μμ΅λλ€" -#: submodule.c:117 +#: submodule.c:118 msgid "staging updated .gitmodules failed" msgstr "μ
λ°μ΄νΈν .gitmodulesλ₯Ό 컀λ°ν μ¬νμΌλ‘ νμνλλ° μ€ν¨" -#: submodule.c:1040 +#: trailer.c:237 #, c-format -msgid "Could not set core.worktree in %s" -msgstr "%sμμ core.worktreeλ₯Ό μ€μ ν μ μμ΅λλ€" +msgid "running trailer command '%s' failed" +msgstr "νΈλ μΌλ¬ λͺ
λ Ή '%s' μ€ν μ€ν¨" -#: trailer.c:491 trailer.c:495 trailer.c:499 trailer.c:553 trailer.c:557 -#: trailer.c:561 +#: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558 +#: trailer.c:562 #, c-format msgid "unknown value '%s' for key '%s'" msgstr "μ μ μλ κ° '%s', ν€ '%s'" -#: trailer.c:543 trailer.c:548 builtin/remote.c:296 +#: trailer.c:544 trailer.c:549 builtin/remote.c:289 #, c-format msgid "more than one %s" msgstr "%sμ΄(κ°) μ¬λ¬κ°μ
λλ€" -#: trailer.c:581 +#: trailer.c:582 #, c-format msgid "empty trailer token in trailer '%.*s'" msgstr "νΈλ μΌλ¬ '%.*s'μμ λΉ νΈλ μΌλ¬ ν ν°" -#: trailer.c:701 +#: trailer.c:702 #, c-format msgid "could not read input file '%s'" msgstr "'%s' μ
λ ₯ νμΌμ μ½μ μ μμ΅λλ€" -#: trailer.c:704 +#: trailer.c:705 msgid "could not read from stdin" msgstr "νμ€ μ
λ ₯μμ μ½μ μ μμ΅λλ€" -#: transport-helper.c:1025 +#: trailer.c:857 builtin/am.c:42 +#, c-format +msgid "could not stat %s" +msgstr "%sμ λν΄ stat()ν μ μμ΅λλ€" + +#: trailer.c:859 +#, c-format +msgid "file %s is not a regular file" +msgstr "'%s' νμΌμ΄ μΌλ° νμΌμ΄ μλλλ€" + +#: trailer.c:861 +#, c-format +msgid "file %s is not writable by user" +msgstr "μ¬μ©μκ° %s νμΌμ μΈ μ μμ΅λλ€" + +#: trailer.c:873 +msgid "could not open temporary file" +msgstr "μμ νμΌμ μ΄ μ μμ΅λλ€: %s" + +#: trailer.c:912 +#, c-format +msgid "could not rename temporary file to %s" +msgstr "μμ νμΌ μ΄λ¦μ '%s'(μΌ)λ‘ λ°κΏ μ μμ΅λλ€" + +#: transport-helper.c:1041 #, c-format msgid "Could not read ref %s" msgstr "%s λ νΌλ°μ€λ₯Ό μ½μ μ μμ΅λλ€" @@ -1686,47 +1831,47 @@ msgstr "μλͺ»λ ν¬νΈ λ²νΈ" msgid "invalid '..' path segment" msgstr "κ²½λ‘μμ μλͺ»λ '..' λΆλΆ" -#: wrapper.c:219 wrapper.c:362 +#: wrapper.c:222 wrapper.c:381 #, c-format msgid "could not open '%s' for reading and writing" msgstr "μ½κΈ°μ μ°κΈ°μ©μΌλ‘ '%s'μ(λ₯Ό) μ΄ μ μμ΅λλ€" -#: wrapper.c:221 wrapper.c:364 +#: wrapper.c:224 wrapper.c:383 #, c-format msgid "could not open '%s' for writing" msgstr "'%s'μ(λ₯Ό) μ°κΈ°μ©μΌλ‘ μ΄ μ μμ΅λλ€" -#: wrapper.c:223 wrapper.c:366 builtin/am.c:338 builtin/commit.c:1691 -#: builtin/merge.c:1074 builtin/pull.c:380 +#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/commit.c:1691 +#: builtin/merge.c:1075 builtin/pull.c:387 #, c-format msgid "could not open '%s' for reading" msgstr "'%s'μ(λ₯Ό) μ½κΈ°μ©μΌλ‘ μ΄ μ μμ΅λλ€" -#: wrapper.c:579 +#: wrapper.c:611 #, c-format msgid "unable to access '%s': %s" msgstr "'%s'μ μ κ·Όν μ μμ΅λλ€: %s" -#: wrapper.c:600 +#: wrapper.c:632 #, c-format msgid "unable to access '%s'" msgstr "'%s'μ μ κ·Όν μ μμ΅λλ€" -#: wrapper.c:608 +#: wrapper.c:640 msgid "unable to get current working directory" msgstr "νμ¬ μμ
λλ ν°λ¦¬λ₯Ό κ°μ Έμ¬ μ μμ΅λλ€" -#: wrapper.c:635 +#: wrapper.c:667 #, c-format msgid "could not open %s for writing" msgstr "%sμ(λ₯Ό) μ°κΈ°μ©μΌλ‘ μ΄ μ μμ΅λλ€" -#: wrapper.c:646 builtin/am.c:425 +#: wrapper.c:678 builtin/am.c:410 #, c-format msgid "could not write to %s" msgstr "%sμ μΈ μ μμ΅λλ€" -#: wrapper.c:652 +#: wrapper.c:684 #, c-format msgid "could not close %s" msgstr "%sμ(λ₯Ό) λ«μ μ μμ΅λλ€" @@ -2185,9 +2330,13 @@ msgstr "μμ" #: wt-status.c:1677 wt-status.c:1685 msgid "behind " -msgstr "λ€μ: " +msgstr "λ€μ λ€μ: " + +#: wt-status.c:1680 wt-status.c:1683 +msgid "ahead " +msgstr "λ€μ μμ: " -#: compat/precompose_utf8.c:56 builtin/clone.c:408 +#: compat/precompose_utf8.c:57 builtin/clone.c:413 #, c-format msgid "failed to unlink '%s'" msgstr "'%s' νμΌ μμ μ μ€ν¨νμ΅λλ€" @@ -2214,7 +2363,7 @@ msgstr "'%s' μ κ±°\n" msgid "Unstaged changes after refreshing the index:" msgstr "μΈλ±μ€λ₯Ό μλ‘ κ³ μΉ λ€μ μ»€λ° νμνμ§ μμ λ³κ²½ μ¬ν:" -#: builtin/add.c:194 builtin/rev-parse.c:796 +#: builtin/add.c:194 builtin/rev-parse.c:797 msgid "Could not read the index" msgstr "μΈλ±μ€λ₯Ό μ½μ μ μμ΅λλ€" @@ -2249,15 +2398,15 @@ msgstr "'%s'μ(λ₯Ό) μ μ©ν μ μμ΅λλ€" msgid "The following paths are ignored by one of your .gitignore files:\n" msgstr "λ€μ κ²½λ‘λ .gitignore νμΌ μ€ νλ λλ¬Έμ 무μν©λλ€:\n" -#: builtin/add.c:249 builtin/clean.c:894 builtin/fetch.c:108 builtin/mv.c:110 -#: builtin/prune-packed.c:55 builtin/pull.c:182 builtin/push.c:543 -#: builtin/remote.c:1345 builtin/rm.c:268 builtin/send-pack.c:162 +#: builtin/add.c:249 builtin/clean.c:870 builtin/fetch.c:112 builtin/mv.c:111 +#: builtin/prune-packed.c:55 builtin/pull.c:189 builtin/push.c:511 +#: builtin/remote.c:1330 builtin/rm.c:268 builtin/send-pack.c:162 msgid "dry run" msgstr "κ°μ§λ‘ μ€ν" -#: builtin/add.c:250 builtin/apply.c:4571 builtin/check-ignore.c:19 +#: builtin/add.c:250 builtin/apply.c:4561 builtin/check-ignore.c:19 #: builtin/commit.c:1322 builtin/count-objects.c:85 builtin/fsck.c:558 -#: builtin/log.c:1645 builtin/mv.c:109 builtin/read-tree.c:114 +#: builtin/log.c:1651 builtin/mv.c:110 builtin/read-tree.c:114 msgid "be verbose" msgstr "μμΈν νμ" @@ -2265,7 +2414,7 @@ msgstr "μμΈν νμ" msgid "interactive picking" msgstr "λνμμΌλ‘ κ³ λ¦
λλ€" -#: builtin/add.c:253 builtin/checkout.c:1153 builtin/reset.c:286 +#: builtin/add.c:253 builtin/checkout.c:1155 builtin/reset.c:286 msgid "select hunks interactively" msgstr "λνμμΌλ‘ λ³κ²½λ λΆλΆμ μ νν©λλ€" @@ -2333,136 +2482,131 @@ msgstr "μ무 κ²λ μ§μ νμ§ μμμΌλ―λ‘ μ무 κ²λ μΆκ°νμ§ μ msgid "Maybe you wanted to say 'git add .'?\n" msgstr "'git add .' λͺ
λ Ήμ μ€ννλ €κ³ ν κ² μλμμ΅λκΉ?\n" -#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:938 -#: builtin/commit.c:337 builtin/mv.c:130 builtin/reset.c:235 builtin/rm.c:298 -#: builtin/submodule--helper.c:40 +#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:914 +#: builtin/commit.c:337 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298 +#: builtin/submodule--helper.c:35 msgid "index file corrupt" msgstr "μΈλ±μ€ νμΌμ΄ μμλμμ΅λλ€" -#: builtin/add.c:439 builtin/apply.c:4669 builtin/mv.c:279 builtin/rm.c:430 +#: builtin/add.c:439 builtin/apply.c:4659 builtin/mv.c:280 builtin/rm.c:430 msgid "Unable to write new index file" msgstr "μ μΈλ±μ€ νμΌμ μΈ μ μμ΅λλ€" -#: builtin/am.c:42 -#, c-format -msgid "could not stat %s" -msgstr "%sμ λν΄ stat()ν μ μμ΅λλ€" - -#: builtin/am.c:271 builtin/commit.c:738 builtin/merge.c:1077 +#: builtin/am.c:256 builtin/commit.c:738 builtin/merge.c:1078 #, c-format msgid "could not read '%s'" msgstr "'%s'μμ μ½μ μ μμ΅λλ€" -#: builtin/am.c:445 +#: builtin/am.c:430 msgid "could not parse author script" msgstr "μμ±μ μ€ν¬λ¦½νΈλ₯Ό νμ±ν μ μμ΅λλ€" -#: builtin/am.c:522 +#: builtin/am.c:507 #, c-format msgid "'%s' was deleted by the applypatch-msg hook" msgstr "applypatch-msg ν
λλ¬Έμ '%s'μ΄(κ°) μμ λμμ΅λλ€." -#: builtin/am.c:563 builtin/notes.c:300 +#: builtin/am.c:548 builtin/notes.c:300 #, c-format msgid "Malformed input line: '%s'." msgstr "μλͺ»λ νμμ μ
λ ₯ μ€: '%s'." -#: builtin/am.c:600 builtin/notes.c:315 +#: builtin/am.c:585 builtin/notes.c:315 #, c-format msgid "Failed to copy notes from '%s' to '%s'" msgstr "'%s'μμ '%s'(μΌ)λ‘ λ
ΈνΈλ₯Ό 볡μ¬νλλ° μ€ν¨νμ΅λλ€" -#: builtin/am.c:626 +#: builtin/am.c:611 msgid "fseek failed" msgstr "fseek μ€ν¨" -#: builtin/am.c:787 builtin/am.c:875 +#: builtin/am.c:772 builtin/am.c:860 #, c-format msgid "could not open '%s' for reading: %s" msgstr "'%s'μ(λ₯Ό) μ½κΈ°μ©μΌλ‘ μ΄ μ μμ΅λλ€: %s" -#: builtin/am.c:794 +#: builtin/am.c:779 #, c-format msgid "could not open '%s' for writing: %s" msgstr "'%s'μ(λ₯Ό) μ°κΈ°μ©μΌλ‘ μ΄ μ μμ΅λλ€: %s" -#: builtin/am.c:803 +#: builtin/am.c:788 #, c-format msgid "could not parse patch '%s'" msgstr "'%s' ν¨μΉλ₯Ό νμ±ν μ μμ΅λλ€" -#: builtin/am.c:868 +#: builtin/am.c:853 msgid "Only one StGIT patch series can be applied at once" msgstr "νλ²μ νλμ StGIT ν¨μΉ μ리μ¦λ§ μ μ©ν μ μμ΅λλ€" -#: builtin/am.c:916 +#: builtin/am.c:901 msgid "invalid timestamp" msgstr "μκ°μ΄ μλͺ»λμμ΅λλ€" -#: builtin/am.c:919 builtin/am.c:927 +#: builtin/am.c:904 builtin/am.c:912 msgid "invalid Date line" msgstr "Date μ€μ΄ μλͺ»λμμ΅λλ€" -#: builtin/am.c:924 +#: builtin/am.c:909 msgid "invalid timezone offset" msgstr "μκ°λ μ€νμ
μ΄ μλͺ»λμμ΅λλ€" -#: builtin/am.c:1011 +#: builtin/am.c:996 msgid "Patch format detection failed." msgstr "ν¨μΉ νμ κ²μμ΄ μ€ν¨νμ΅λλ€." -#: builtin/am.c:1016 builtin/clone.c:373 +#: builtin/am.c:1001 builtin/clone.c:378 #, c-format msgid "failed to create directory '%s'" msgstr "'%s' λλ ν°λ¦¬ λ§λ€κΈ°κ° μ€ν¨νμ΅λλ€" -#: builtin/am.c:1020 +#: builtin/am.c:1005 msgid "Failed to split patches." msgstr "ν¨μΉλ₯Ό μͺΌκ°λλ° μ€ν¨νμ΅λλ€." -#: builtin/am.c:1152 builtin/commit.c:363 +#: builtin/am.c:1137 builtin/commit.c:363 msgid "unable to write index file" msgstr "μΈλ±μ€ νμΌμ μΈ μ μμ΅λλ€" -#: builtin/am.c:1203 +#: builtin/am.c:1188 #, c-format msgid "When you have resolved this problem, run \"%s --continue\"." msgstr "μ΄ λ¬Έμ λ₯Ό ν΄κ²°νμ λ \"%s --continue\"λ₯Ό μ€ννμμμ€." -#: builtin/am.c:1204 +#: builtin/am.c:1189 #, c-format msgid "If you prefer to skip this patch, run \"%s --skip\" instead." msgstr "μ΄ ν¨μΉλ₯Ό 건λλ°λ €λ©΄, κ·Έ λμ \"%s --skip\"μ μ€ννμμμ€." -#: builtin/am.c:1205 +#: builtin/am.c:1190 #, c-format msgid "To restore the original branch and stop patching, run \"%s --abort\"." msgstr "" "μλ λΈλμΉλ₯Ό 볡ꡬνκ³ ν¨μΉ μ μ©μ μ€μ§νλ €λ©΄ \"%s --abort\"λ₯Ό μ€ννμμμ€." -#: builtin/am.c:1343 +#: builtin/am.c:1328 msgid "Patch is empty. Was it split wrong?" msgstr "ν¨μΉκ° λΉμ΄ μμ΅λλ€. μλͺ» μͺΌκ°μ§μ§ μμλμ?" -#: builtin/am.c:1417 builtin/log.c:1347 +#: builtin/am.c:1402 builtin/log.c:1350 #, c-format msgid "invalid ident line: %s" msgstr "μλͺ»λ μ μ μ€: %s" -#: builtin/am.c:1444 +#: builtin/am.c:1429 #, c-format msgid "unable to parse commit %s" msgstr "%s 컀λ°μ νμ±ν μ μμ΅λλ€" -#: builtin/am.c:1646 +#: builtin/am.c:1631 msgid "Repository lacks necessary blobs to fall back on 3-way merge." msgstr "μ μ₯μμ 3-λ°©ν₯ λ³ν©μΌλ‘ λμ ν λ νμν λΈλ‘μ΄ μμ΅λλ€." -#: builtin/am.c:1648 +#: builtin/am.c:1633 msgid "Using index info to reconstruct a base tree..." msgstr "μΈλ±μ€ μ 보λ₯Ό μ¬μ©ν΄ κΈ°λ³Έ νΈλ¦¬λ₯Ό λ€μ λ§λλλ€..." -#: builtin/am.c:1667 +#: builtin/am.c:1652 msgid "" "Did you hand edit your patch?\n" "It does not apply to blobs recorded in its index." @@ -2470,38 +2614,38 @@ msgstr "" "ν¨μΉλ₯Ό μ§μ νΈμ§νμ
¨μ΅λκΉ?\n" "μ΄ ν¨μΉλ μΈλ±μ€μ κΈ°λ‘λ λΈλ‘μλ μ μ©λμ§ μμ΅λλ€." -#: builtin/am.c:1673 +#: builtin/am.c:1658 msgid "Falling back to patching base and 3-way merge..." msgstr "λ² μ΄μ€ ν¨μΉ μ μ© λ° 3-λ°©ν₯ λ³ν©μΌλ‘ λμ ν©λλ€..." -#: builtin/am.c:1688 +#: builtin/am.c:1673 msgid "Failed to merge in the changes." msgstr "λ³κ²½ μ¬νμμ λ³ν©νλλ° μ€ν¨νμ΅λλ€." -#: builtin/am.c:1712 builtin/merge.c:632 +#: builtin/am.c:1697 builtin/merge.c:633 msgid "git write-tree failed to write a tree" msgstr "git write-treeκ° νΈλ¦¬λ₯Ό μ°λλ° μ€ν¨νμ΅λλ€" -#: builtin/am.c:1719 +#: builtin/am.c:1704 msgid "applying to an empty history" msgstr "λΉ μ»€λ° λ΄μμ λν΄ μ μ©ν©λλ€" -#: builtin/am.c:1732 builtin/commit.c:1755 builtin/merge.c:829 -#: builtin/merge.c:854 +#: builtin/am.c:1717 builtin/commit.c:1755 builtin/merge.c:830 +#: builtin/merge.c:855 msgid "failed to write commit object" msgstr "μ»€λ° μ€λΈμ νΈλ₯Ό μ°λλ° μ€ν¨νμ΅λλ€" -#: builtin/am.c:1764 builtin/am.c:1768 +#: builtin/am.c:1749 builtin/am.c:1753 #, c-format msgid "cannot resume: %s does not exist." msgstr "λ€μ μμν μ μμ΅λλ€: %sμ΄(κ°) μμ΅λλ€." -#: builtin/am.c:1784 +#: builtin/am.c:1769 msgid "cannot be interactive without stdin connected to a terminal." msgstr "" "ν°λ―Έλμ νμ€ μ
λ ₯μ΄ μ°κ²°λμ§ μμ μνμμ λννμΌλ‘ μ€νν μ μμ΅λλ€." -#: builtin/am.c:1789 +#: builtin/am.c:1774 msgid "Commit Body is:" msgstr "μ»€λ° λ³Έλ¬Έμ:" @@ -2509,35 +2653,35 @@ msgstr "μ»€λ° λ³Έλ¬Έμ:" #. in your translation. The program will only accept English #. input at this point. #. -#: builtin/am.c:1799 +#: builtin/am.c:1784 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: " msgstr "μ μ©? μ[y]/μλμ€[n]/νΈμ§[e]/ν¨μΉ 보기[v]/λͺ¨λ μ μ©[a]: " -#: builtin/am.c:1849 +#: builtin/am.c:1834 #, c-format msgid "Dirty index: cannot apply patches (dirty: %s)" msgstr "λ³κ²½λ μΈλ±μ€: ν¨μΉλ₯Ό μ μ©ν μ μμ΅λλ€ (dirty: %s)" -#: builtin/am.c:1884 builtin/am.c:1955 +#: builtin/am.c:1869 builtin/am.c:1941 #, c-format msgid "Applying: %.*s" msgstr "μ μ©νλ μ€: %.*s" -#: builtin/am.c:1900 +#: builtin/am.c:1885 msgid "No changes -- Patch already applied." msgstr "λ³κ²½ μ¬ν μμ -- ν¨μΉκ° μ΄λ―Έ μ μ©λμμ΅λλ€." -#: builtin/am.c:1908 +#: builtin/am.c:1893 #, c-format msgid "Patch failed at %s %.*s" msgstr "ν¨μΉκ° %s %.*s μμΉμμ μ€ν¨νμ΅λλ€" -#: builtin/am.c:1914 +#: builtin/am.c:1899 #, c-format msgid "The copy of the patch that failed is found in: %s" msgstr "μ€ν¨ν ν¨μΉμ 볡μ¬λ³Έμ΄ λ€μ μμΉμ μμ΅λλ€: %s" -#: builtin/am.c:1958 +#: builtin/am.c:1944 msgid "" "No changes - did you forget to use 'git add'?\n" "If there is nothing left to stage, chances are that something else\n" @@ -2547,7 +2691,7 @@ msgstr "" "컀λ°μΌλ‘ νμν μ¬νμ΄ λ¨μ μμ§ μμΌλ©΄, μ΄λ―Έ κ°μ ν¨μΉμμ μ μ©λ\n" "κ²½μ°μΌ μλ μμ΅λλ€. κ·Έλ° κ²½μ°μλ μ΄ ν¨μΉλ₯Ό 건λλ°λ©΄ λ©λλ€." -#: builtin/am.c:1965 +#: builtin/am.c:1951 msgid "" "You still have unmerged paths in your index.\n" "Did you forget to use 'git add'?" @@ -2555,17 +2699,17 @@ msgstr "" "μΈλ±μ€μ λ³ν©νμ§ μμ κ²½λ‘κ° λ¨μ μμ΅λλ€.\n" "'git add' μ¬μ©μ μμ§ μμΌμ
¨μ΅λκΉ?" -#: builtin/am.c:2073 builtin/am.c:2077 builtin/am.c:2089 builtin/reset.c:308 +#: builtin/am.c:2059 builtin/am.c:2063 builtin/am.c:2075 builtin/reset.c:308 #: builtin/reset.c:316 #, c-format msgid "Could not parse object '%s'." msgstr "'%s' μ€λΈμ νΈλ₯Ό νμ±ν μ μμ΅λλ€." -#: builtin/am.c:2125 +#: builtin/am.c:2111 msgid "failed to clean index" msgstr "μΈλ±μ€ μ§μ°κΈ°μ μ€ν¨νμ΅λλ€" -#: builtin/am.c:2159 +#: builtin/am.c:2145 msgid "" "You seem to have moved HEAD since the last 'am' failure.\n" "Not rewinding to ORIG_HEAD" @@ -2573,155 +2717,155 @@ msgstr "" "λ§μ§λ§ 'am' μ€ν¨ μ΄ν HEADλ₯Ό μκΈ΄ κ² κ°μ΅λλ€.\n" "ORIG_HEADλ‘ λλλ¦¬μ§ μμ΅λλ€." -#: builtin/am.c:2220 +#: builtin/am.c:2206 #, c-format msgid "Invalid value for --patch-format: %s" msgstr "--patch-format μ΅μ
μ λν΄ μλͺ»λ κ°: %s" -#: builtin/am.c:2253 +#: builtin/am.c:2239 msgid "git am [<options>] [(<mbox>|<Maildir>)...]" msgstr "git am [<μ΅μ
>] [(<mbox>|<Maildir>)...]" -#: builtin/am.c:2254 +#: builtin/am.c:2240 msgid "git am [<options>] (--continue | --skip | --abort)" msgstr "git am [<μ΅μ
>] (--continue | --skip | --abort)" -#: builtin/am.c:2260 +#: builtin/am.c:2246 msgid "run interactively" msgstr "λννμΌλ‘ μ€νν©λλ€" -#: builtin/am.c:2262 +#: builtin/am.c:2248 msgid "historical option -- no-op" msgstr "μ무 λμλ νμ§ μμ΅λλ€ (κ³Όκ±°λΆν° μμλ μ΅μ
)" -#: builtin/am.c:2264 +#: builtin/am.c:2250 msgid "allow fall back on 3way merging if needed" msgstr "νμνλ©΄ 3-λ°©ν₯ λ³ν©μΌλ‘ λμ νλλ‘ νμ©ν©λλ€" -#: builtin/am.c:2265 builtin/init-db.c:474 builtin/prune-packed.c:57 +#: builtin/am.c:2251 builtin/init-db.c:474 builtin/prune-packed.c:57 #: builtin/repack.c:171 msgid "be quiet" msgstr "κ°λ΅ν νμν©λλ€" -#: builtin/am.c:2267 +#: builtin/am.c:2253 msgid "add a Signed-off-by line to the commit message" msgstr "μ»€λ° λ©μμ§μ Signed-off-by μ€μ λ¨κΉλλ€" -#: builtin/am.c:2270 +#: builtin/am.c:2256 msgid "recode into utf8 (default)" msgstr "UTF-8 μΈμ½λ©μΌλ‘ λ³νν©λλ€ (κΈ°λ³Έκ°)" -#: builtin/am.c:2272 +#: builtin/am.c:2258 msgid "pass -k flag to git-mailinfo" msgstr "git-mailinfoμ -k μ΅μ
μ μλλ€" -#: builtin/am.c:2274 +#: builtin/am.c:2260 msgid "pass -b flag to git-mailinfo" msgstr "git-mailinfoμ -b μ΅μ
μ μλλ€" -#: builtin/am.c:2276 +#: builtin/am.c:2262 msgid "pass -m flag to git-mailinfo" msgstr "git-mailinfoμ -m μ΅μ
μ μλλ€" -#: builtin/am.c:2278 +#: builtin/am.c:2264 msgid "pass --keep-cr flag to git-mailsplit for mbox format" msgstr "mbox νμμ λν΄ git-mailsplitμ --keep-cr μ΅μ
μ μ¬μ©ν©λλ€" -#: builtin/am.c:2281 +#: builtin/am.c:2267 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr" msgstr "" "am.keepcrμ 무κ΄νκ² git-mailsplitμ --keep-cr μ΅μ
μ μ¬μ©νμ§ μμ΅λλ€." -#: builtin/am.c:2284 +#: builtin/am.c:2270 msgid "strip everything before a scissors line" msgstr "μ μ·¨μ μμ λͺ¨λ μ¬νμ 무μν©λλ€" -#: builtin/am.c:2285 builtin/apply.c:4554 +#: builtin/am.c:2271 builtin/apply.c:4544 msgid "action" msgstr "λμ" -#: builtin/am.c:2286 builtin/am.c:2289 builtin/am.c:2292 builtin/am.c:2295 -#: builtin/am.c:2298 builtin/am.c:2301 builtin/am.c:2304 builtin/am.c:2307 -#: builtin/am.c:2313 +#: builtin/am.c:2272 builtin/am.c:2275 builtin/am.c:2278 builtin/am.c:2281 +#: builtin/am.c:2284 builtin/am.c:2287 builtin/am.c:2290 builtin/am.c:2293 +#: builtin/am.c:2299 msgid "pass it through git-apply" msgstr "git-applyμ λκΉλλ€" -#: builtin/am.c:2294 builtin/apply.c:4578 +#: builtin/am.c:2280 builtin/apply.c:4568 msgid "root" msgstr "μ΅μμ" -#: builtin/am.c:2297 builtin/am.c:2300 builtin/apply.c:4516 -#: builtin/apply.c:4519 builtin/clone.c:85 builtin/fetch.c:93 -#: builtin/pull.c:167 builtin/submodule--helper.c:78 -#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169 +#: builtin/am.c:2283 builtin/am.c:2286 builtin/apply.c:4506 +#: builtin/apply.c:4509 builtin/clone.c:86 builtin/fetch.c:95 +#: builtin/pull.c:171 builtin/submodule--helper.c:72 +#: builtin/submodule--helper.c:160 builtin/submodule--helper.c:163 msgid "path" msgstr "κ²½λ‘" -#: builtin/am.c:2303 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669 -#: builtin/grep.c:693 builtin/merge.c:198 builtin/pull.c:127 +#: builtin/am.c:2289 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669 +#: builtin/grep.c:704 builtin/merge.c:198 builtin/pull.c:131 builtin/pull.c:185 #: builtin/repack.c:178 builtin/repack.c:182 builtin/show-branch.c:645 #: builtin/show-ref.c:175 builtin/tag.c:340 parse-options.h:132 #: parse-options.h:134 parse-options.h:244 msgid "n" msgstr "n" -#: builtin/am.c:2306 builtin/apply.c:4522 +#: builtin/am.c:2292 builtin/apply.c:4512 msgid "num" msgstr "κ°μ" -#: builtin/am.c:2309 builtin/for-each-ref.c:37 builtin/replace.c:438 +#: builtin/am.c:2295 builtin/for-each-ref.c:37 builtin/replace.c:438 #: builtin/tag.c:372 msgid "format" msgstr "νμ" -#: builtin/am.c:2310 +#: builtin/am.c:2296 msgid "format the patch(es) are in" msgstr "ν¨μΉμ νμ" -#: builtin/am.c:2316 +#: builtin/am.c:2302 msgid "override error message when patch failure occurs" msgstr "ν¨μΉ μ€ν¨κ° λ°μνμ λ μ€λ₯ λ©μμ§ λμ μ¬μ©ν©λλ€" -#: builtin/am.c:2318 +#: builtin/am.c:2304 msgid "continue applying patches after resolving a conflict" msgstr "μΆ©λμ ν΄κ²°ν λ€μ ν¨μΉ μ μ©μ κ³μν©λλ€" -#: builtin/am.c:2321 +#: builtin/am.c:2307 msgid "synonyms for --continue" msgstr "--continue μ΅μ
κ³Ό λμΌ" -#: builtin/am.c:2324 +#: builtin/am.c:2310 msgid "skip the current patch" msgstr "νμ¬ ν¨μΉ 건λλ°κΈ°" -#: builtin/am.c:2327 +#: builtin/am.c:2313 msgid "restore the original branch and abort the patching operation." msgstr "μλ λΈλμΉλ₯Ό 볡ꡬνκ³ ν¨μΉ μ μ© μμ
μ μ€μ§ν©λλ€." # NOTE: μ΅μ
μ μλ―Έλ μ΄κ² λ§λ€. μλ¬Έμμλ μ¬μ©μκ° # --committer-date-is-author-dateλΌλ μ΅μ
μ λ³΄κ³ μλ―Έλ₯Ό μ μ μλ€κ³ κ°μ νκ³ μλ€. -#: builtin/am.c:2331 +#: builtin/am.c:2317 msgid "lie about committer date" msgstr "μ»€λ―Έν° μκ°μ μμ±μ μκ°μΌλ‘ λ£μ΅λλ€" -#: builtin/am.c:2333 +#: builtin/am.c:2319 msgid "use current timestamp for author date" msgstr "νμ¬ μκ°μ μμ±μ μκ°μΌλ‘ μ¬μ©ν©λλ€" -#: builtin/am.c:2335 builtin/commit.c:1593 builtin/merge.c:225 -#: builtin/pull.c:155 builtin/revert.c:92 builtin/tag.c:355 +#: builtin/am.c:2321 builtin/commit.c:1593 builtin/merge.c:225 +#: builtin/pull.c:159 builtin/revert.c:92 builtin/tag.c:355 msgid "key-id" msgstr "ν€-ID" -#: builtin/am.c:2336 +#: builtin/am.c:2322 msgid "GPG-sign commits" msgstr "GPG μλͺ
컀λ°" -#: builtin/am.c:2339 +#: builtin/am.c:2325 msgid "(internal use for git-rebase)" msgstr "(git-rebaseλ₯Ό μν λ΄λΆ μ©λ)" -#: builtin/am.c:2354 +#: builtin/am.c:2340 msgid "" "The -b/--binary option has been a no-op for long time, and\n" "it will be removed. Please do not use it anymore." @@ -2729,16 +2873,16 @@ msgstr "" "-b/--binary μ΅μ
μ μ€λ μκ° λμ μ무 λμλ νμ§ μμμΌλ―λ‘, μ΄\n" "μ΅μ
μ μ κ±°λ μμ μ
λλ€. μ΄μ μ¬μ©νμ§ λ§μμμ€." -#: builtin/am.c:2361 +#: builtin/am.c:2347 msgid "failed to read the index" msgstr "μΈλ±μ€ μ½κΈ°μ μ€ν¨νμ΅λλ€" -#: builtin/am.c:2376 +#: builtin/am.c:2362 #, c-format msgid "previous rebase directory %s still exists but mbox given." msgstr "μ΄μ λ¦¬λ² μ΄μ€ λλ ν°λ¦¬ %sμ΄(κ°) μμ§ μκ³ mboxλ₯Ό μ§μ νμ΅λλ€." -#: builtin/am.c:2400 +#: builtin/am.c:2386 #, c-format msgid "" "Stray %s directory found.\n" @@ -2747,7 +2891,7 @@ msgstr "" "λ²μ΄λ %s λλ ν°λ¦¬κ° λ°κ²¬λμμ΅λλ€.\n" "μ κ±°νλ €λ©΄ \"git am --abort\"λ₯Ό μ¬μ©νμμμ€." -#: builtin/am.c:2406 +#: builtin/am.c:2392 msgid "Resolve operation not in progress, we are not resuming." msgstr "ν΄μ μμ
μ΄ μ§ν μ€μ
λλ€. λ€μ μμνμ§ μμ΅λλ€." @@ -2783,17 +2927,21 @@ msgstr "ν¨μΉμ %dλ² μ€μ νμΌ μ΄λ¦μ μ°Ύμ μ μμ΅λλ€" #: builtin/apply.c:940 #, c-format msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d" -msgstr "git apply: μλͺ»λ git-diff - %2$dλ² μ€μμ /dev/nullμ κΈ°λνμ§λ§, '%1$s'μ΄(κ°) μμ΅λλ€" +msgstr "" +"git apply: μλͺ»λ git-diff - %2$dλ² μ€μμ /dev/nullμ κΈ°λνμ§λ§, '%1$s'μ΄" +"(κ°) μμ΅λλ€" #: builtin/apply.c:944 #, c-format msgid "git apply: bad git-diff - inconsistent new filename on line %d" -msgstr "git apply: μλͺ»λ git-diff - %dλ² μ€μ μ νμΌ μ΄λ¦μ΄ μ¬λ°λ₯΄μ§ μμ΅λλ€" +msgstr "" +"git apply: μλͺ»λ git-diff - %dλ² μ€μ μ νμΌ μ΄λ¦μ΄ μ¬λ°λ₯΄μ§ μμ΅λλ€" #: builtin/apply.c:945 #, c-format msgid "git apply: bad git-diff - inconsistent old filename on line %d" -msgstr "git apply: μλͺ»λ git-diff - %dλ² μ€μ μμ νμΌ μ΄λ¦μ΄ μ¬λ°λ₯΄μ§ μμ΅λλ€" +msgstr "" +"git apply: μλͺ»λ git-diff - %dλ² μ€μ μμ νμΌ μ΄λ¦μ΄ μ¬λ°λ₯΄μ§ μμ΅λλ€" #: builtin/apply.c:952 #, c-format @@ -3089,130 +3237,130 @@ msgstr "μΈμν μ μλ μ
λ ₯" msgid "unable to read index file" msgstr "μΈλ±μ€ νμΌμ μ½μ μ μμ΅λλ€" -#: builtin/apply.c:4517 +#: builtin/apply.c:4507 msgid "don't apply changes matching the given path" msgstr "μ£Όμ΄μ§ κ²½λ‘μ ν΄λΉνλ λ³κ²½ μ¬νμ μ μ©νμ§ μμ΅λλ€" -#: builtin/apply.c:4520 +#: builtin/apply.c:4510 msgid "apply changes matching the given path" msgstr "μ£Όμ΄μ§ κ²½λ‘μ ν΄λΉνλ λ³κ²½ μ¬νμ μ μ©ν©λλ€" -#: builtin/apply.c:4523 +#: builtin/apply.c:4513 msgid "remove <num> leading slashes from traditional diff paths" msgstr "μ ν΅μ μΈ diff κ²½λ‘ μμ <κ°μ>κ°μ μ μ¬λμ(/)λ₯Ό μ κ±°ν©λλ€" -#: builtin/apply.c:4526 +#: builtin/apply.c:4516 msgid "ignore additions made by the patch" msgstr "ν¨μΉμμ μΆκ°νλ νμΌμ 무μν©λλ€" -#: builtin/apply.c:4528 +#: builtin/apply.c:4518 msgid "instead of applying the patch, output diffstat for the input" msgstr "ν¨μΉλ₯Ό μ μ©νλ λμ , μ
λ ₯μ λν diffstatμ μΆλ ₯ν©λλ€" -#: builtin/apply.c:4532 +#: builtin/apply.c:4522 msgid "show number of added and deleted lines in decimal notation" msgstr "μμ§μλ‘ μΆκ° λ° μμ ν μ€ μλ₯Ό νμν©λλ€" -#: builtin/apply.c:4534 +#: builtin/apply.c:4524 msgid "instead of applying the patch, output a summary for the input" msgstr "ν¨μΉλ₯Ό μ μ©νλ λμ , μ
λ ₯μ λν μμ½μ μΆλ ₯ν©λλ€" -#: builtin/apply.c:4536 +#: builtin/apply.c:4526 msgid "instead of applying the patch, see if the patch is applicable" msgstr "ν¨μΉλ₯Ό μ μ©νλ λμ , ν¨μΉλ₯Ό μ μ© κ°λ₯νμ§ νμΈν©λλ€" -#: builtin/apply.c:4538 +#: builtin/apply.c:4528 msgid "make sure the patch is applicable to the current index" msgstr "νμ¬ μΈλ±μ€μμ ν¨μΉκ° μ μ© κ°λ₯νμ§ νμΈν©λλ€" -#: builtin/apply.c:4540 +#: builtin/apply.c:4530 msgid "apply a patch without touching the working tree" msgstr "μμ
ν΄λλ₯Ό λ°κΎΈμ§ μκ³ ν¨μΉλ₯Ό μ μ©ν©λλ€" -#: builtin/apply.c:4542 +#: builtin/apply.c:4532 msgid "accept a patch that touches outside the working area" msgstr "μμ
μμ λ°μ νμΌμ λ°κΎΈλ ν¨μΉλ₯Ό νμ©ν©λλ€" -#: builtin/apply.c:4544 +#: builtin/apply.c:4534 msgid "also apply the patch (use with --stat/--summary/--check)" msgstr "κ·Έλ¦¬κ³ ν¨μΉλ μ μ©ν©λλ€ (--stat/--summary/--check μ΅μ
κ³Ό κ°μ΄ μ¬μ©)" -#: builtin/apply.c:4546 +#: builtin/apply.c:4536 msgid "attempt three-way merge if a patch does not apply" msgstr "ν¨μΉλ₯Ό μ μ©νμ§ μμΌλ©΄ 3-λ°©ν₯ λ³ν©μ μλν©λλ€" -#: builtin/apply.c:4548 +#: builtin/apply.c:4538 msgid "build a temporary index based on embedded index information" msgstr "λ΄μ₯ μΈλ±μ€ μ 보λ₯Ό μ¬μ©ν΄ μμ μΈλ±μ€λ₯Ό λ§λλλ€" -#: builtin/apply.c:4550 builtin/checkout-index.c:198 builtin/ls-files.c:412 +#: builtin/apply.c:4541 builtin/checkout-index.c:169 builtin/ls-files.c:425 msgid "paths are separated with NUL character" msgstr "κ²½λ‘λ₯Ό NUL λ¬Έμλ‘ κ΅¬λΆν©λλ€" -#: builtin/apply.c:4553 +#: builtin/apply.c:4543 msgid "ensure at least <n> lines of context match" msgstr "μ΅μν <n>μ€μ΄ 컨ν
μ€νΈμ μΌμΉνλμ§ νμΈν©λλ€" -#: builtin/apply.c:4555 +#: builtin/apply.c:4545 msgid "detect new or modified lines that have whitespace errors" msgstr "곡백 μ€λ₯κ° μλ μΆκ°λκ±°λ μμ λ μ€μ μ°Ύμ΅λλ€" -#: builtin/apply.c:4558 builtin/apply.c:4561 +#: builtin/apply.c:4548 builtin/apply.c:4551 msgid "ignore changes in whitespace when finding context" msgstr "컨ν
μ€νΈλ₯Ό μ°Ύμ λ 곡백 λ³κ²½ μ¬νμ 무μν©λλ€" -#: builtin/apply.c:4564 +#: builtin/apply.c:4554 msgid "apply the patch in reverse" msgstr "ν¨μΉλ₯Ό λ°λ μμλ‘ μ μ©ν©λλ€" -#: builtin/apply.c:4566 +#: builtin/apply.c:4556 msgid "don't expect at least one line of context" msgstr "μ΅μνμ 컨ν
μ€νΈ ν μ€λ μμ΄ μ μ©ν©λλ€" -#: builtin/apply.c:4568 +#: builtin/apply.c:4558 msgid "leave the rejected hunks in corresponding *.rej files" msgstr "κ±°λΆλ ν¨μΉ λΆλΆμ λμλλ *.rej νμΌμ λ¨κ²¨λ‘λλ€" -#: builtin/apply.c:4570 +#: builtin/apply.c:4560 msgid "allow overlapping hunks" msgstr "ν¨μΉ λΆλΆμ΄ κ²Ήμ³λ νμ©ν©λλ€" -#: builtin/apply.c:4573 +#: builtin/apply.c:4563 msgid "tolerate incorrectly detected missing new-line at the end of file" msgstr "νμΌ λμ μ€λ°κΏμ΄ λΉ μ‘μμ μλͺ» κ²μν κ²½μ°μ 무μν©λλ€" -#: builtin/apply.c:4576 +#: builtin/apply.c:4566 msgid "do not trust the line counts in the hunk headers" msgstr "ν¨μΉ λΆλΆμ ν€λμ μ€ μλ₯Ό μ μ©νμ§ μμ΅λλ€" -#: builtin/apply.c:4579 +#: builtin/apply.c:4569 msgid "prepend <root> to all filenames" msgstr "λͺ¨λ νμΌ μ΄λ¦μ <μ΅μμ>λ₯Ό μμ λΆμ
λλ€" -#: builtin/apply.c:4601 +#: builtin/apply.c:4591 msgid "--3way outside a repository" msgstr "μ μ₯μ λ°μμ --3way μ΅μ
μ¬μ©" -#: builtin/apply.c:4609 +#: builtin/apply.c:4599 msgid "--index outside a repository" msgstr "μ μ₯μ λ°μμ --index μ΅μ
μ¬μ©" -#: builtin/apply.c:4612 +#: builtin/apply.c:4602 msgid "--cached outside a repository" msgstr "μ μ₯μ λ°μμ --cached μ΅μ
μ¬μ©" -#: builtin/apply.c:4631 +#: builtin/apply.c:4621 #, c-format msgid "can't open patch '%s'" msgstr "'%s' ν¨μΉλ₯Ό μ΄ μ μμ΅λλ€" -#: builtin/apply.c:4645 +#: builtin/apply.c:4635 #, c-format msgid "squelched %d whitespace error" msgid_plural "squelched %d whitespace errors" msgstr[0] "곡백 μ€λ₯ %dκ°λ₯Ό λμ΄κ°λλ€" -#: builtin/apply.c:4651 builtin/apply.c:4661 +#: builtin/apply.c:4641 builtin/apply.c:4651 #, c-format msgid "%d line adds whitespace errors." msgid_plural "%d lines add whitespace errors." @@ -3265,103 +3413,111 @@ msgstr "'git bisect next'λ₯Ό μνν©λλ€" msgid "update BISECT_HEAD instead of checking out the current commit" msgstr "νμ¬ μ»€λ°μ κ°μ Έμ€λ λμ BISECT_HEADλ₯Ό μ
λ°μ΄νΈν©λλ€" -#: builtin/blame.c:32 +#: builtin/blame.c:33 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>" msgstr "git blame [<μ΅μ
>] [<리λΉμ -μ΅μ
>] [<리λΉμ >] [--] <νμΌ>" -#: builtin/blame.c:37 +#: builtin/blame.c:38 msgid "<rev-opts> are documented in git-rev-list(1)" msgstr "<리λΉμ -μ΅μ
>μ git-rev-list(1)μ μ€λͺ
λμ΄ μμ΅λλ€" -#: builtin/blame.c:2519 +#: builtin/blame.c:1782 +msgid "Blaming lines" +msgstr "λΈλ μ μ€" + +#: builtin/blame.c:2530 msgid "Show blame entries as we find them, incrementally" -msgstr "blame νλͺ©μ μ°Ύμλ§μ μ μ§μ μΌλ‘ νμν©λλ€" +msgstr "λΈλ μ νλͺ©μ μ°Ύμλ§μ μ μ§μ μΌλ‘ νμν©λλ€" -#: builtin/blame.c:2520 +#: builtin/blame.c:2531 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "κ°μ₯μ리 컀λ°μ λν΄ λΉ SHA-1μ νμν©λλ€ (κΈ°λ³Έκ°: κΊΌμ§)" -#: builtin/blame.c:2521 +#: builtin/blame.c:2532 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "μ΅μμ 컀λ°μ κ°μ₯μ리 컀λ°μΌλ‘ μ·¨κΈνμ§ μμ΅λλ€ (κΈ°λ³Έκ°: κΊΌμ§)" -#: builtin/blame.c:2522 +#: builtin/blame.c:2533 msgid "Show work cost statistics" msgstr "μμ
λΉμ© ν΅κ³λ₯Ό νμν©λλ€" -#: builtin/blame.c:2523 +#: builtin/blame.c:2534 +msgid "Force progress reporting" +msgstr "κ°μ λ‘ μ§ν μν©μ νμν©λλ€" + +#: builtin/blame.c:2535 msgid "Show output score for blame entries" -msgstr "blame νλͺ©μ λν΄ μΆλ ₯ μ μλ₯Ό νμν©λλ€" +msgstr "λΈλ μ νλͺ©μ λν΄ μΆλ ₯ μ μλ₯Ό νμν©λλ€" -#: builtin/blame.c:2524 +#: builtin/blame.c:2536 msgid "Show original filename (Default: auto)" msgstr "μλ νμΌ μ΄λ¦ νμ (κΈ°λ³Έκ°: μλ)" -#: builtin/blame.c:2525 +#: builtin/blame.c:2537 msgid "Show original linenumber (Default: off)" msgstr "μλ μ€ λ²νΈ νμ (κΈ°λ³Έκ°: νμ§ μμ)" -#: builtin/blame.c:2526 +#: builtin/blame.c:2538 msgid "Show in a format designed for machine consumption" msgstr "μ»΄ν¨ν° μ²λ¦¬μ©μΌλ‘ μ€κ³λ νμμΌλ‘ νμν©λλ€" -#: builtin/blame.c:2527 +#: builtin/blame.c:2539 msgid "Show porcelain format with per-line commit information" msgstr "μ€λ§λ€ μ»€λ° μ λ³΄κ° νμλλ μ¬μ©μμ© νμμΌλ‘ νμν©λλ€" -#: builtin/blame.c:2528 +#: builtin/blame.c:2540 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "git-annotateμ λμΌν νμμ μ¬μ©ν©λλ€ (κΈ°λ³Έκ°: κΊΌμ§)" -#: builtin/blame.c:2529 +#: builtin/blame.c:2541 msgid "Show raw timestamp (Default: off)" msgstr "λ΄λΆ νμμΌλ‘ μκ°μ νμν©λλ€ (κΈ°λ³Έκ°: κΊΌμ§)" -#: builtin/blame.c:2530 +#: builtin/blame.c:2542 msgid "Show long commit SHA1 (Default: off)" msgstr "κΈΈκ² μ»€λ° SHA1μ νμν©λλ€ (κΈ°λ³Έκ°: κΊΌμ§)" -#: builtin/blame.c:2531 +#: builtin/blame.c:2543 msgid "Suppress author name and timestamp (Default: off)" msgstr "μμ±μ μ΄λ¦κ³Ό μκ°μ νμνμ§ μμ΅λλ€ (κΈ°λ³Έκ°: κΊΌμ§)" -#: builtin/blame.c:2532 +#: builtin/blame.c:2544 msgid "Show author email instead of name (Default: off)" msgstr "μμ±μ μ΄λ¦ λμ μ μ μλ©μΌμ νμν©λλ€ (κΈ°λ³Έκ°: κΊΌμ§)" -#: builtin/blame.c:2533 +#: builtin/blame.c:2545 msgid "Ignore whitespace differences" msgstr "곡백 λ¬Έμ μ°¨μ΄μ μ 무μν©λλ€" -#: builtin/blame.c:2534 +#: builtin/blame.c:2546 msgid "Spend extra cycles to find better match" msgstr "λ μΌμΉνλ νλͺ©μ μ°Ύλλ° λ μκ°μ μλͺ¨ν©λλ€" -#: builtin/blame.c:2535 +#: builtin/blame.c:2547 msgid "Use revisions from <file> instead of calling git-rev-list" msgstr "git-rev-listλ₯Ό νΈμΆνλ λμ <νμΌ>μμ 리λΉμ μ μ¬μ©ν©λλ€" -#: builtin/blame.c:2536 +#: builtin/blame.c:2548 msgid "Use <file>'s contents as the final image" msgstr "<νμΌ>μ λ΄μ©μ μ΅μ’
μ΄λ―Έμ§λ‘ μ¬μ©ν©λλ€" -#: builtin/blame.c:2537 builtin/blame.c:2538 +#: builtin/blame.c:2549 builtin/blame.c:2550 msgid "score" msgstr "μ μ" -#: builtin/blame.c:2537 +#: builtin/blame.c:2549 msgid "Find line copies within and across files" msgstr "νμΌ λ΄λΆμ νμΌ μ¬μ΄μ 볡μ¬λ μ€μ μ°Ύμ΅λλ€" -#: builtin/blame.c:2538 +#: builtin/blame.c:2550 msgid "Find line movements within and across files" msgstr "νμΌ λ΄λΆμ νμΌ μ¬μ΄μ μκ²¨μ§ μ€μ μ°Ύμ΅λλ€" -#: builtin/blame.c:2539 +#: builtin/blame.c:2551 msgid "n,m" msgstr "n,m" -#: builtin/blame.c:2539 +#: builtin/blame.c:2551 msgid "Process only line range n,m, counting from 1" msgstr "n,mμ€ (1λ² μ€λΆν° μμ) μ¬μ΄μ λ²μλ§ μ²λ¦¬" @@ -3371,7 +3527,7 @@ msgstr "n,mμ€ (1λ² μ€λΆν° μμ) μ¬μ΄μ λ²μλ§ μ²λ¦¬" #. takes 22 places, is the longest among various forms of #. relative timestamps, but your language may need more or #. fewer display columns. -#: builtin/blame.c:2620 +#: builtin/blame.c:2640 msgid "4 years, 11 months ago" msgstr "4λ
11λ¬ μ " @@ -3569,214 +3725,223 @@ msgstr "λΈλμΉ μ΄λ¦μ %s(μΌ)λ‘ λ°κΎΈμ§λ§, HEADλ₯Ό μ
λ°μ΄νΈνμ§ msgid "Branch is renamed, but update of config-file failed" msgstr "λΈλμΉμ μ΄λ¦μ λ°κΎΈμ§λ§, config-file μ
λ°μ΄νΈκ° μ€ν¨νμ΅λλ€" -#: builtin/branch.c:587 +#: builtin/branch.c:586 #, c-format msgid "could not write branch description template: %s" msgstr "λΈλμΉ μ€λͺ
μμμ μΈ μ μμ΅λλ€: %s" -#: builtin/branch.c:616 +#: builtin/branch.c:615 msgid "Generic options" msgstr "μΌλ° μ΅μ
" # FIXME: give twice? -#: builtin/branch.c:618 +#: builtin/branch.c:617 msgid "show hash and subject, give twice for upstream branch" msgstr "ν΄μμ μ λͺ©μ νμνκ³ , μ
μ€νΈλ¦Ό λΈλμΉμ λν μμΉλ₯Ό νμν©λλ€" -#: builtin/branch.c:619 +#: builtin/branch.c:618 msgid "suppress informational messages" msgstr "μ¬λ¬κ°μ§ μλ΄ λ©μμ§λ₯Ό νμνμ§ μμ΅λλ€" -#: builtin/branch.c:620 +#: builtin/branch.c:619 msgid "set up tracking mode (see git-pull(1))" msgstr "μΆμ λͺ¨λλ₯Ό μ€μ ν©λλ€ (git-pull(1) μ°Έκ³ )" -#: builtin/branch.c:622 +#: builtin/branch.c:621 msgid "change upstream info" msgstr "μ
μ€νΈλ¦Ό μ 보λ₯Ό λ°κΏλλ€" -#: builtin/branch.c:626 +#: builtin/branch.c:625 msgid "use colored output" msgstr "μ¬λ¬ μμΌλ‘ μΆλ ₯ν©λλ€" -#: builtin/branch.c:627 +#: builtin/branch.c:626 msgid "act on remote-tracking branches" msgstr "리λͺ¨νΈ μΆμ λΈλμΉμ λν΄ λμν©λλ€" -#: builtin/branch.c:629 builtin/branch.c:630 +#: builtin/branch.c:628 builtin/branch.c:629 msgid "print only branches that contain the commit" msgstr "컀λ°μ΄ μλ λΈλμΉλ§ νμν©λλ€" -#: builtin/branch.c:633 +#: builtin/branch.c:632 msgid "Specific git-branch actions:" msgstr "νΉμ git-branch λμ:" -#: builtin/branch.c:634 +#: builtin/branch.c:633 msgid "list both remote-tracking and local branches" msgstr "리λͺ¨νΈμ λ‘컬μ λΈλμΉ λͺ©λ‘μ λͺ¨λ νμν©λλ€" -#: builtin/branch.c:636 +#: builtin/branch.c:635 msgid "delete fully merged branch" msgstr "μμ ν λ³ν©λ λΈλμΉλ₯Ό μμ ν©λλ€" -#: builtin/branch.c:637 +#: builtin/branch.c:636 msgid "delete branch (even if not merged)" msgstr "λΈλμΉλ₯Ό μμ ν©λλ€ (λ³ν©λμ§ μμλλΌλ)" -#: builtin/branch.c:638 +#: builtin/branch.c:637 msgid "move/rename a branch and its reflog" msgstr "λΈλμΉμ κ·Έ reflogλ₯Ό μκΈ°κ±°λ μ΄λ¦μ λ°κΏλλ€" -#: builtin/branch.c:639 +#: builtin/branch.c:638 msgid "move/rename a branch, even if target exists" msgstr "λμμ΄ μ΄λ―Έ μλλΌλ λΈλμΉλ₯Ό μκΈ°κ±°λ μ΄λ¦μ λ°κΏλλ€" -#: builtin/branch.c:640 +#: builtin/branch.c:639 msgid "list branch names" msgstr "λΈλμΉ μ΄λ¦ λͺ©λ‘μ νμν©λλ€" -#: builtin/branch.c:641 +#: builtin/branch.c:640 msgid "create the branch's reflog" msgstr "λΈλμΉμ reflogλ₯Ό λ§λλλ€" -#: builtin/branch.c:643 +#: builtin/branch.c:642 msgid "edit the description for the branch" msgstr "λΈλμΉμ μ€λͺ
μ νΈμ§ν©λλ€" -#: builtin/branch.c:644 +#: builtin/branch.c:643 msgid "force creation, move/rename, deletion" msgstr "κ°μ λ‘ λ§λ€κ³ , μκΈ°κ±°λ μ΄λ¦μ λ°κΎΈκ³ , μμ ν©λλ€" -#: builtin/branch.c:645 +#: builtin/branch.c:644 msgid "print only branches that are merged" msgstr "λ³ν©λλ λΈλμΉλ§ νμν©λλ€" -#: builtin/branch.c:646 +#: builtin/branch.c:645 msgid "print only branches that are not merged" msgstr "λ³ν©λμ§ μλ λΈλμΉλ§ νμν©λλ€" -#: builtin/branch.c:647 +#: builtin/branch.c:646 msgid "list branches in columns" msgstr "λͺ©λ‘μ μ¬λ¬ μ΄λ‘ νμν©λλ€" -#: builtin/branch.c:648 builtin/for-each-ref.c:38 builtin/tag.c:366 +#: builtin/branch.c:647 builtin/for-each-ref.c:38 builtin/tag.c:366 msgid "key" msgstr "ν€" -#: builtin/branch.c:649 builtin/for-each-ref.c:39 builtin/tag.c:367 +#: builtin/branch.c:648 builtin/for-each-ref.c:39 builtin/tag.c:367 msgid "field name to sort on" msgstr "μ λ ¬ν κΈ°μ€μ΄ λλ νλ μ΄λ¦" -#: builtin/branch.c:651 builtin/for-each-ref.c:41 builtin/notes.c:398 -#: builtin/notes.c:401 builtin/notes.c:561 builtin/notes.c:564 +#: builtin/branch.c:650 builtin/for-each-ref.c:41 builtin/notes.c:401 +#: builtin/notes.c:404 builtin/notes.c:564 builtin/notes.c:567 #: builtin/tag.c:369 msgid "object" msgstr "μ€λΈμ νΈ" -#: builtin/branch.c:652 +#: builtin/branch.c:651 msgid "print only branches of the object" msgstr "ν΄λΉ μ€λΈμ νΈμ λΈλμΉλ§ νμν©λλ€" -#: builtin/branch.c:670 +#: builtin/branch.c:669 msgid "Failed to resolve HEAD as a valid ref." msgstr "HEADλ₯Ό μ¬λ°λ₯Έ λ νΌλ°μ€λ‘ ꡬν΄λ΄λλ° μ€ν¨νμ΅λλ€." -#: builtin/branch.c:674 builtin/clone.c:697 +#: builtin/branch.c:673 builtin/clone.c:705 msgid "HEAD not found below refs/heads!" msgstr "λ νΌλ°μ€/ν€λ μλμ HEADκ° μμ΅λλ€!" -#: builtin/branch.c:694 +#: builtin/branch.c:693 msgid "--column and --verbose are incompatible" msgstr "--column λ° --verbose μ΅μ
μ νΈνλμ§ μμ΅λλ€" -#: builtin/branch.c:705 builtin/branch.c:747 +#: builtin/branch.c:704 builtin/branch.c:746 msgid "branch name required" msgstr "λΈλμΉ μ΄λ¦μ΄ νμν©λλ€" -#: builtin/branch.c:723 +#: builtin/branch.c:722 msgid "Cannot give description to detached HEAD" msgstr "λΆλ¦¬λ HEADμ λν μ€λͺ
μ λΆμ¬ν μ μμ΅λλ€" -#: builtin/branch.c:728 +#: builtin/branch.c:727 msgid "cannot edit description of more than one branch" msgstr "μ¬λ¬ λΈλμΉμ λν μ€λͺ
μ νΈμ§ν μ μμ΅λλ€" -#: builtin/branch.c:735 +#: builtin/branch.c:734 #, c-format msgid "No commit on branch '%s' yet." msgstr "μμ§ '%s' λΈλμΉμ 컀λ°μ΄ μμ΅λλ€." -#: builtin/branch.c:738 +#: builtin/branch.c:737 #, c-format msgid "No branch named '%s'." msgstr "μ΄λ¦μ΄ '%s'μΈ λΈλμΉκ° μμ΅λλ€." -#: builtin/branch.c:753 +#: builtin/branch.c:752 msgid "too many branches for a rename operation" msgstr "μ΄λ¦ λ°κΎΈκΈ° μμ
μ λν΄ λΈλμΉκ° λ무 λ§μ΅λλ€" -#: builtin/branch.c:758 +#: builtin/branch.c:757 msgid "too many branches to set new upstream" msgstr "μ μ
μ€νΈλ¦Όμ μ€μ νλλ° λΈλμΉκ° λ무 λ§μ΅λλ€" -#: builtin/branch.c:762 +#: builtin/branch.c:761 #, c-format msgid "" "could not set upstream of HEAD to %s when it does not point to any branch." -msgstr "HEADμ μ
μ€νΈλ¦Όμ %s(μΌ)λ‘ μ€μ ν μ μμ΅λλ€. μ΄λ€ λΈλμΉλ κ°λ¦¬ν€μ§ μμ΅λλ€." +msgstr "" +"HEADμ μ
μ€νΈλ¦Όμ %s(μΌ)λ‘ μ€μ ν μ μμ΅λλ€. μ΄λ€ λΈλμΉλ κ°λ¦¬ν€μ§ μμ΅λ" +"λ€." -#: builtin/branch.c:765 builtin/branch.c:787 builtin/branch.c:808 +#: builtin/branch.c:764 builtin/branch.c:786 builtin/branch.c:807 #, c-format msgid "no such branch '%s'" msgstr "κ·Έλ° λΈλμΉκ° ('%s') μμ΅λλ€" -#: builtin/branch.c:769 +#: builtin/branch.c:768 #, c-format msgid "branch '%s' does not exist" msgstr "'%s' λΈλμΉκ° μμ΅λλ€" -#: builtin/branch.c:781 +#: builtin/branch.c:780 msgid "too many branches to unset upstream" msgstr "μ
μ€νΈλ¦Ό μ€μ μ ν΄μ νλλ° λΈλμΉκ° λ무 λ§μ΅λλ€" -#: builtin/branch.c:785 +#: builtin/branch.c:784 msgid "could not unset upstream of HEAD when it does not point to any branch." -msgstr "HEADμ μ
μ€νΈλ¦Ό μ€μ μ ν΄μ ν μ μμ΅λλ€. μ΄λ€ λΈλμΉλ κ°λ¦¬ν€μ§ μμ΅λλ€." +msgstr "" +"HEADμ μ
μ€νΈλ¦Ό μ€μ μ ν΄μ ν μ μμ΅λλ€. μ΄λ€ λΈλμΉλ κ°λ¦¬ν€μ§ μμ΅λλ€." -#: builtin/branch.c:791 +#: builtin/branch.c:790 #, c-format msgid "Branch '%s' has no upstream information" msgstr "'%s' λΈλμΉμ μ
μ€νΈλ¦Ό μ λ³΄κ° μμ΅λλ€" -#: builtin/branch.c:805 +#: builtin/branch.c:804 msgid "it does not make sense to create 'HEAD' manually" msgstr "'HEAD'λ₯Ό μλμΌλ‘ λ§λλ 건 μλ€κ° λ§μ§ μμ΅λλ€" -#: builtin/branch.c:811 +#: builtin/branch.c:810 msgid "-a and -r options to 'git branch' do not make sense with a branch name" -msgstr "'git branch'μ λν΄ -a λ° -r μ΅μ
μ λΈλμΉ μ΄λ¦κ³Ό κ°μ΄ μ°λ©΄ μλ€κ° λ§μ§ μμ΅λλ€" +msgstr "" +"'git branch'μ λν΄ -a λ° -r μ΅μ
μ λΈλμΉ μ΄λ¦κ³Ό κ°μ΄ μ°λ©΄ μλ€κ° λ§μ§ μμ΅" +"λλ€" -#: builtin/branch.c:814 +#: builtin/branch.c:813 #, c-format msgid "" "The --set-upstream flag is deprecated and will be removed. Consider using --" "track or --set-upstream-to\n" -msgstr "--set-upstream μ΅μ
μ λ μ΄μ μ¬μ©λμ§ μκ³ μ κ±°λ μμ μ
λλ€. --track λλ --set-upstream-to μ΅μ
μ μ¬μ©ν΄ 보μμμ€\n" +msgstr "" +"--set-upstream μ΅μ
μ λ μ΄μ μ¬μ©λμ§ μκ³ μ κ±°λ μμ μ
λλ€. --track λλ " +"--set-upstream-to μ΅μ
μ μ¬μ©ν΄ 보μμμ€\n" -#: builtin/branch.c:831 +#: builtin/branch.c:830 #, c-format msgid "" "\n" "If you wanted to make '%s' track '%s', do this:\n" "\n" -msgstr "\n'%s'μ(λ₯Ό) λ§λ€κ³ '%s'μ(λ₯Ό) μΆμ νκ² νλ €λ©΄, λ€μμ νμμμ€:\n" +msgstr "" +"\n" +"'%s'μ(λ₯Ό) λ§λ€κ³ '%s'μ(λ₯Ό) μΆμ νκ² νλ €λ©΄, λ€μμ νμμμ€:\n" -#: builtin/branch.c:832 +#: builtin/branch.c:831 #, c-format msgid " git branch -d %s\n" msgstr " git branch -d %s\n" -#: builtin/branch.c:833 +#: builtin/branch.c:832 #, c-format msgid " git branch --set-upstream-to %s\n" msgstr " git branch --set-upstream-to %s\n" @@ -3848,7 +4013,8 @@ msgstr "νμ€ μ
λ ₯μμ μ
λ ₯λ μ€λΈμ νΈμ μ 보λ₯Ό νμν©λλ€" #: builtin/cat-file.c:484 msgid "follow in-tree symlinks (used with --batch or --batch-check)" -msgstr "νΈλ¦¬ λ΄λΆμ μ¬λ³Όλ¦ λ§ν¬λ₯Ό λ°λΌκ°λλ€ (--batch λλ --batch-checkμ κ°μ΄ μ¬μ©)" +msgstr "" +"νΈλ¦¬ λ΄λΆμ μ¬λ³Όλ¦ λ§ν¬λ₯Ό λ°λΌκ°λλ€ (--batch λλ --batch-checkμ κ°μ΄ μ¬μ©)" #: builtin/cat-file.c:486 msgid "show all objects with --batch or --batch-check" @@ -3870,7 +4036,7 @@ msgstr "νμΌμ μ€μ λ λͺ¨λ μμ±μ νμν©λλ€" msgid "use .gitattributes only from the index" msgstr "μΈλ±μ€μμλ§ .gitattributesλ₯Ό μ¬μ©ν©λλ€" -#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:96 +#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:97 msgid "read file names from stdin" msgstr "νμ€ μ
λ ₯μμ νμΌ μ΄λ¦μ μ½μ΅λλ€" @@ -3878,7 +4044,7 @@ msgstr "νμ€ μ
λ ₯μμ νμΌ μ΄λ¦μ μ½μ΅λλ€" msgid "terminate input and output records by a NUL character" msgstr "NUL λ¬Έμλ₯Ό κΈ°μ€μΌλ‘ μλ£ μ
λ ₯ λ° μΆλ ₯μ λ©μΆ₯λλ€" -#: builtin/check-ignore.c:18 builtin/checkout.c:1134 builtin/gc.c:325 +#: builtin/check-ignore.c:18 builtin/checkout.c:1136 builtin/gc.c:325 msgid "suppress progress reporting" msgstr "μ§ν μν© νμλ₯Ό νμ§ μμ΅λλ€" @@ -3931,49 +4097,53 @@ msgstr "μ°λ½μ²λ₯Ό νμ±ν μ μμ΅λλ€: %s" msgid "no contacts specified" msgstr "μ°λ½μ²λ₯Ό μ§μ νμ§ μμμ΅λλ€" -#: builtin/checkout-index.c:126 +#: builtin/checkout-index.c:127 msgid "git checkout-index [<options>] [--] [<file>...]" msgstr "git checkout-index [<μ΅μ
>] [--] [<νμΌ>...]" -#: builtin/checkout-index.c:188 +#: builtin/checkout-index.c:144 +msgid "stage should be between 1 and 3 or all" +msgstr "μ€ν
μ΄μ§λ 1μμ 3 μ¬μ΄μ κ°μ΄κ±°λ allμ΄μ΄μΌ ν©λλ€" + +#: builtin/checkout-index.c:160 msgid "check out all files in the index" msgstr "μΈλ±μ€μ λͺ¨λ νμΌμ κ°μ Έμ΅λλ€" -#: builtin/checkout-index.c:189 +#: builtin/checkout-index.c:161 msgid "force overwrite of existing files" msgstr "κΈ°μ‘΄ νμΌμ κ°μ λ‘ λμ΄ μλλ€" -#: builtin/checkout-index.c:191 +#: builtin/checkout-index.c:163 msgid "no warning for existing files and files not in index" msgstr "κΈ°μ‘΄ νμΌκ³Ό μΈλ±μ€μ μλ νμΌμ λν΄ κ²½κ³ νμ§ μμ΅λλ€" -#: builtin/checkout-index.c:193 +#: builtin/checkout-index.c:165 msgid "don't checkout new files" msgstr "μ νμΌμ κ°μ Έμ€μ§ μμ΅λλ€" -#: builtin/checkout-index.c:195 +#: builtin/checkout-index.c:167 msgid "update stat information in the index file" msgstr "μΈλ±μ€ νμΌμ stat μ 보λ₯Ό μ
λ°μ΄νΈν©λλ€" -#: builtin/checkout-index.c:201 +#: builtin/checkout-index.c:171 msgid "read list of paths from the standard input" msgstr "νμ€ μ
λ ₯μμ κ²½λ‘μ λͺ©λ‘μ μ½μ΅λλ€" -#: builtin/checkout-index.c:203 +#: builtin/checkout-index.c:173 msgid "write the content to temporary files" msgstr "λ΄μ©μ μμ νμΌμ μλλ€" -#: builtin/checkout-index.c:204 builtin/column.c:30 +#: builtin/checkout-index.c:174 builtin/column.c:30 +#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169 #: builtin/submodule--helper.c:172 builtin/submodule--helper.c:175 -#: builtin/submodule--helper.c:178 builtin/submodule--helper.c:181 msgid "string" msgstr "λ¬Έμμ΄" -#: builtin/checkout-index.c:205 +#: builtin/checkout-index.c:175 msgid "when creating files, prepend <string>" msgstr "νμΌμ λ§λ€ λ, μμ <λ¬Έμμ΄>μ λΆμ
λλ€" -#: builtin/checkout-index.c:208 +#: builtin/checkout-index.c:177 msgid "copy out the files from named stage" msgstr "μ§μ ν μ€ν
μ΄μ§μμ νμΌμ 볡μ¬ν΄ μ΅λλ€" @@ -4053,37 +4223,41 @@ msgstr "'%s'μ λν΄ reflogν μ μμ΅λλ€: %s\n" msgid "HEAD is now at" msgstr "HEADμ νμ¬ μμΉλ" -#: builtin/checkout.c:668 +#: builtin/checkout.c:665 builtin/clone.c:659 +msgid "unable to update HEAD" +msgstr "HEADλ₯Ό μ
λ°μ΄νΈν μ μμ΅λλ€" + +#: builtin/checkout.c:669 #, c-format msgid "Reset branch '%s'\n" msgstr "'%s' λΈλμΉ λ¦¬μ
\n" -#: builtin/checkout.c:671 +#: builtin/checkout.c:672 #, c-format msgid "Already on '%s'\n" msgstr "μ΄λ―Έ '%s'μ μμ΅λλ€\n" -#: builtin/checkout.c:675 +#: builtin/checkout.c:676 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "'%s' λΈλμΉλ‘ μ ννκ³ λ¦¬μ
ν©λλ€\n" -#: builtin/checkout.c:677 builtin/checkout.c:1066 +#: builtin/checkout.c:678 builtin/checkout.c:1068 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "μλ‘ λ§λ '%s' λΈλμΉλ‘ μ νν©λλ€\n" -#: builtin/checkout.c:679 +#: builtin/checkout.c:680 #, c-format msgid "Switched to branch '%s'\n" msgstr "'%s' λΈλμΉλ‘ μ νν©λλ€\n" -#: builtin/checkout.c:731 +#: builtin/checkout.c:732 #, c-format msgid " ... and %d more.\n" msgstr " ... κ·Έλ¦¬κ³ %dκ° λ.\n" -#: builtin/checkout.c:737 +#: builtin/checkout.c:738 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -4101,7 +4275,7 @@ msgstr[0] "" "\n" "%s\n" -#: builtin/checkout.c:756 +#: builtin/checkout.c:757 #, c-format msgid "" "If you want to keep it by creating a new branch, this may be a good time\n" @@ -4122,151 +4296,151 @@ msgstr[0] "" " git branch <μ-λΈλμΉ-μ΄λ¦> %s\n" "\n" -#: builtin/checkout.c:792 +#: builtin/checkout.c:793 msgid "internal error in revision walk" msgstr "리λΉμ walkμ λ΄λΆ μ€λ₯" -#: builtin/checkout.c:796 +#: builtin/checkout.c:797 msgid "Previous HEAD position was" msgstr "μ΄μ HEAD μμΉλ" -#: builtin/checkout.c:823 builtin/checkout.c:1061 +#: builtin/checkout.c:824 builtin/checkout.c:1063 msgid "You are on a branch yet to be born" msgstr "νμ¬ μμΉκ° λ§λ€ μμ μΈ λΈλμΉμ μμ΅λλ€" -#: builtin/checkout.c:968 +#: builtin/checkout.c:969 #, c-format msgid "only one reference expected, %d given." msgstr "νλμ λ νΌλ°μ€λ§ μ§μ ν΄μΌ νμ§λ§ %dκ°λ₯Ό μ§μ νμ΅λλ€." -#: builtin/checkout.c:1007 builtin/worktree.c:213 +#: builtin/checkout.c:1009 builtin/worktree.c:211 #, c-format msgid "invalid reference: %s" msgstr "μλͺ»λ λ νΌλ°μ€: %s" -#: builtin/checkout.c:1036 +#: builtin/checkout.c:1038 #, c-format msgid "reference is not a tree: %s" msgstr "λ νΌλ°μ€κ° νΈλ¦¬κ° μλλλ€: %s" -#: builtin/checkout.c:1075 +#: builtin/checkout.c:1077 msgid "paths cannot be used with switching branches" msgstr "λΈλμΉλ₯Ό μ ννλλ° κ²½λ‘λ₯Ό μ¬μ©ν μ μμ΅λλ€" -#: builtin/checkout.c:1078 builtin/checkout.c:1082 +#: builtin/checkout.c:1080 builtin/checkout.c:1084 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "'%s' μ΅μ
μ λΈλμΉλ₯Ό μ νν λ μΈ μ μμ΅λλ€" -#: builtin/checkout.c:1086 builtin/checkout.c:1089 builtin/checkout.c:1094 -#: builtin/checkout.c:1097 +#: builtin/checkout.c:1088 builtin/checkout.c:1091 builtin/checkout.c:1096 +#: builtin/checkout.c:1099 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "'%s' μ΅μ
μ '%s' μ΅μ
κ³Ό κ°μ΄ μΈ μ μμ΅λλ€" -#: builtin/checkout.c:1102 +#: builtin/checkout.c:1104 #, c-format msgid "Cannot switch branch to a non-commit '%s'" msgstr "λΈλμΉλ₯Ό 컀λ°μ΄ μλ '%s'(μΌ)λ‘ μ νν μ μμ΅λλ€" -#: builtin/checkout.c:1135 builtin/checkout.c:1137 builtin/clone.c:83 -#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:320 -#: builtin/worktree.c:322 +#: builtin/checkout.c:1137 builtin/checkout.c:1139 builtin/clone.c:84 +#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:318 +#: builtin/worktree.c:320 msgid "branch" msgstr "λΈλμΉ" -#: builtin/checkout.c:1136 +#: builtin/checkout.c:1138 msgid "create and checkout a new branch" msgstr "μ λΈλμΉλ₯Ό λ§λ€κ³ κ°μ Έμ΅λλ€" -#: builtin/checkout.c:1138 +#: builtin/checkout.c:1140 msgid "create/reset and checkout a branch" msgstr "λΈλμΉλ₯Ό λ§λ€κ±°λ 리μ
νκ³ κ°μ Έμ΅λλ€" -#: builtin/checkout.c:1139 +#: builtin/checkout.c:1141 msgid "create reflog for new branch" msgstr "μ λΈλμΉμ λν reflogλ₯Ό λ§λλλ€" -#: builtin/checkout.c:1140 +#: builtin/checkout.c:1142 msgid "detach the HEAD at named commit" msgstr "μ§μ ν 컀λ°μμ HEADλ₯Ό λΆλ¦¬ν©λλ€" -#: builtin/checkout.c:1141 +#: builtin/checkout.c:1143 msgid "set upstream info for new branch" msgstr "μ λΈλμΉμ λν μ
μ€νΈλ¦Ό μ 보λ₯Ό μ€μ ν©λλ€" -#: builtin/checkout.c:1143 +#: builtin/checkout.c:1145 msgid "new-branch" msgstr "μ-λΈλμΉ" -#: builtin/checkout.c:1143 +#: builtin/checkout.c:1145 msgid "new unparented branch" msgstr "μμ λΈλμΉκ° μλ μ λΈλμΉ" -#: builtin/checkout.c:1144 +#: builtin/checkout.c:1146 msgid "checkout our version for unmerged files" msgstr "λ³ν©λμ§ μμ νμΌμ λν΄ μ°λ¦¬μͺ½ λ²μ μ κ°μ Έμ΅λλ€" -#: builtin/checkout.c:1146 +#: builtin/checkout.c:1148 msgid "checkout their version for unmerged files" msgstr "λ³ν©λμ§ μμ νμΌμ λν΄ μλνΈ λ²μ μ κ°μ Έμ΅λλ€" -#: builtin/checkout.c:1148 +#: builtin/checkout.c:1150 msgid "force checkout (throw away local modifications)" msgstr "κ°μ λ‘ μ²΄ν¬μμν©λλ€ (λ‘컬μμ μμ ν μ¬νμ λ²λ¦½λλ€)" -#: builtin/checkout.c:1149 +#: builtin/checkout.c:1151 msgid "perform a 3-way merge with the new branch" msgstr "μ λΈλμΉμ λν΄ 3-λ°©ν₯ λ³ν©μ μνν©λλ€" -#: builtin/checkout.c:1150 builtin/merge.c:227 +#: builtin/checkout.c:1152 builtin/merge.c:227 msgid "update ignored files (default)" msgstr "무μνλ νμΌμ μ
λ°μ΄νΈν©λλ€ (κΈ°λ³Έκ°)" -#: builtin/checkout.c:1151 builtin/log.c:1266 parse-options.h:250 +#: builtin/checkout.c:1153 builtin/log.c:1269 parse-options.h:250 msgid "style" msgstr "μ€νμΌ" -#: builtin/checkout.c:1152 +#: builtin/checkout.c:1154 msgid "conflict style (merge or diff3)" msgstr "μΆ©λ μ€νμΌ (merge λλ diff3)" # FIXME: μλ―Έ λΆλͺ
-#: builtin/checkout.c:1155 +#: builtin/checkout.c:1157 msgid "do not limit pathspecs to sparse entries only" msgstr "κ²½λ‘λͺ
μΈλ₯Ό λλ¬Έ νλͺ©μλ§ μ ννμ§ μμ΅λλ€" -#: builtin/checkout.c:1157 +#: builtin/checkout.c:1159 msgid "second guess 'git checkout <no-such-branch>'" msgstr "'git checkout <μλ-λΈλμΉ>'μ λν΄ μΆμΈ‘ν©λλ€" -#: builtin/checkout.c:1159 +#: builtin/checkout.c:1161 msgid "do not check if another worktree is holding the given ref" msgstr "λ€λ₯Έ μμ
ν΄λμ μ£Όμ΄μ§ λ νΌλ°μ€κ° μλμ§ νμΈνμ§ μμ΅λλ€" -#: builtin/checkout.c:1160 builtin/clone.c:57 builtin/fetch.c:112 -#: builtin/merge.c:224 builtin/pull.c:109 builtin/push.c:558 +#: builtin/checkout.c:1162 builtin/clone.c:58 builtin/fetch.c:116 +#: builtin/merge.c:224 builtin/pull.c:113 builtin/push.c:526 #: builtin/send-pack.c:168 msgid "force progress reporting" msgstr "κ°μ λ‘ μ§ν μν©μ νμν©λλ€" -#: builtin/checkout.c:1191 +#: builtin/checkout.c:1193 msgid "-b, -B and --orphan are mutually exclusive" msgstr "-b, -B λ° --orphan μ΅μ
μ μλ‘ νΈνλμ§ μμ΅λλ€" -#: builtin/checkout.c:1208 +#: builtin/checkout.c:1210 msgid "--track needs a branch name" msgstr "--track μ΅μ
μ λΈλμΉ μ΄λ¦μ΄ νμν©λλ€" -#: builtin/checkout.c:1213 +#: builtin/checkout.c:1215 msgid "Missing branch name; try -b" msgstr "λΈλμΉ μ΄λ¦μ΄ μμ΅λλ€. -b μ΅μ
μ μ¬μ©ν΄ 보μμμ€" -#: builtin/checkout.c:1249 +#: builtin/checkout.c:1251 msgid "invalid path specification" msgstr "κ²½λ‘ λͺ
μΈκ° μλͺ»λμμ΅λλ€" -#: builtin/checkout.c:1256 +#: builtin/checkout.c:1258 #, c-format msgid "" "Cannot update paths and switch to branch '%s' at the same time.\n" @@ -4275,12 +4449,12 @@ msgstr "" "λμμ κ²½λ‘λ₯Ό μ
λ°μ΄νΈνκ³ '%s' λΈλμΉλ‘ μ νν μ μμ΅λλ€.\n" "컀λ°μ νμΈν μ μλ '%s'μ(λ₯Ό) κ°μ Έμ€λ €κ³ νμ
¨μ΅λκΉ?" -#: builtin/checkout.c:1261 +#: builtin/checkout.c:1263 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "git checkout: --detach μ΅μ
μ κ²½λ‘ μΈμλ₯Ό λ°μ§ μμ΅λλ€ '%s'" -#: builtin/checkout.c:1265 +#: builtin/checkout.c:1267 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." @@ -4319,7 +4493,7 @@ msgstr "%s μ μ₯μ 건λλΈ μμ \n" msgid "failed to remove %s" msgstr "%s μ κ±°μ μ€ν¨νμ΅λλ€" -#: builtin/clean.c:315 +#: builtin/clean.c:291 msgid "" "Prompt help:\n" "1 - select a numbered item\n" @@ -4331,7 +4505,7 @@ msgstr "" "foo - μ μΌν μ λμ΄μ ν΄λΉνλ νλͺ© μ ν\n" " - (λΉ μ
λ ₯) μ ννμ§ μμ" -#: builtin/clean.c:319 +#: builtin/clean.c:295 msgid "" "Prompt help:\n" "1 - select a single item\n" @@ -4351,36 +4525,36 @@ msgstr "" "* - λͺ¨λ νλͺ© μ ν\n" " - (λΉ μ
λ ₯) μ ν λ§μΉ¨" -#: builtin/clean.c:535 +#: builtin/clean.c:511 #, c-format msgid "Huh (%s)?" msgstr "μ΄λΌλΌ (%s)?" -#: builtin/clean.c:677 +#: builtin/clean.c:653 #, c-format msgid "Input ignore patterns>> " msgstr "무μν ν¨ν΄μ μ
λ ₯νμμμ€>> " -#: builtin/clean.c:714 +#: builtin/clean.c:690 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "κ²½κ³ : λ€μμ ν΄λΉνλ νλͺ©μ μ°Ύμ μ μμ΅λλ€: %s" -#: builtin/clean.c:735 +#: builtin/clean.c:711 msgid "Select items to delete" msgstr "μμ ν νλͺ©μ μ ννμμμ€" #. TRANSLATORS: Make sure to keep [y/N] as is -#: builtin/clean.c:776 +#: builtin/clean.c:752 #, c-format msgid "Remove %s [y/N]? " msgstr "%s μ κ±°ν©λκΉ [y/N]? " -#: builtin/clean.c:801 +#: builtin/clean.c:777 msgid "Bye." msgstr "λ." -#: builtin/clean.c:809 +#: builtin/clean.c:785 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -4398,215 +4572,236 @@ msgstr "" "help - μ΄ νλ©΄ νμ\n" "? - ν둬ννΈ μ ν λμλ§" -#: builtin/clean.c:836 +#: builtin/clean.c:812 msgid "*** Commands ***" msgstr "*** λͺ
λ Ή ***" -#: builtin/clean.c:837 +#: builtin/clean.c:813 msgid "What now" msgstr "무μμ ν κΉμ" -#: builtin/clean.c:845 +#: builtin/clean.c:821 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "λ€μ νλͺ©μ μ κ±°ν μμ μ
λλ€:" -#: builtin/clean.c:862 +#: builtin/clean.c:838 msgid "No more files to clean, exiting." msgstr "μ§μΈ νμΌμ΄ μ΄μ μμΌλ―λ‘ λλ
λλ€." -#: builtin/clean.c:893 +#: builtin/clean.c:869 msgid "do not print names of files removed" msgstr "μ κ±°ν νμΌ μ΄λ¦μ νμνμ§ μμ΅λλ€" -#: builtin/clean.c:895 +#: builtin/clean.c:871 msgid "force" msgstr "κ°μ " -#: builtin/clean.c:896 +#: builtin/clean.c:872 msgid "interactive cleaning" msgstr "λνν μ§μ°κΈ°" -#: builtin/clean.c:898 +#: builtin/clean.c:874 msgid "remove whole directories" msgstr "μ 체 λλ ν°λ¦¬ μ κ±°" -#: builtin/clean.c:899 builtin/describe.c:407 builtin/grep.c:709 -#: builtin/ls-files.c:443 builtin/name-rev.c:307 builtin/show-ref.c:182 +#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:722 +#: builtin/ls-files.c:456 builtin/name-rev.c:307 builtin/show-ref.c:182 msgid "pattern" msgstr "ν¨ν΄" -#: builtin/clean.c:900 +#: builtin/clean.c:876 msgid "add <pattern> to ignore rules" msgstr "κ·μΉμ 무μνλ €λ©΄ <ν¨ν΄>μ μΆκ°νμμμ€" -#: builtin/clean.c:901 +#: builtin/clean.c:877 msgid "remove ignored files, too" msgstr "무μν νμΌλ μ κ±°" -#: builtin/clean.c:903 +#: builtin/clean.c:879 msgid "remove only ignored files" msgstr "무μν νμΌλ§ μ κ±°" -#: builtin/clean.c:921 +#: builtin/clean.c:897 msgid "-x and -X cannot be used together" msgstr "-x λ° -X μ΅μ
μ κ°μ΄ μΈ μ μμ΅λλ€" -#: builtin/clean.c:925 +#: builtin/clean.c:901 msgid "" "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to " "clean" -msgstr "clean.requireForceκ° trueλ‘ μ€μ λμκ³ -i, -n, -f μ΅μ
μ€ νλλ μ°μ§ μμμ΅λλ€. μ§μ°μ§ μμ΅λλ€" +msgstr "" +"clean.requireForceκ° trueλ‘ μ€μ λμκ³ -i, -n, -f μ΅μ
μ€ νλλ μ°μ§ μμμ΅" +"λλ€. μ§μ°μ§ μμ΅λλ€" -#: builtin/clean.c:928 +#: builtin/clean.c:904 msgid "" "clean.requireForce defaults to true and neither -i, -n, nor -f given; " "refusing to clean" -msgstr "clean.requireForce κΈ°λ³Έκ°μ΄ trueμ΄κ³ -i, -n, -f μ΅μ
μ€ νλλ μ°μ§ μμμ΅λλ€. μ§μ°μ§ μμ΅λλ€" +msgstr "" +"clean.requireForce κΈ°λ³Έκ°μ΄ trueμ΄κ³ -i, -n, -f μ΅μ
μ€ νλλ μ°μ§ μμμ΅λ" +"λ€. μ§μ°μ§ μμ΅λλ€" #: builtin/clone.c:37 msgid "git clone [<options>] [--] <repo> [<dir>]" msgstr "git clone [<μ΅μ
>] [--] <μ μ₯μ> [<λλ ν°λ¦¬>]" -#: builtin/clone.c:59 +#: builtin/clone.c:60 msgid "don't create a checkout" msgstr "체ν¬μμμ λ§λ€μ§ μμ΅λλ€" -#: builtin/clone.c:60 builtin/clone.c:62 builtin/init-db.c:469 +#: builtin/clone.c:61 builtin/clone.c:63 builtin/init-db.c:469 msgid "create a bare repository" msgstr "κ°λ΅ν μ μ₯μλ₯Ό λ§λλλ€" -#: builtin/clone.c:64 +#: builtin/clone.c:65 msgid "create a mirror repository (implies bare)" msgstr "λ―Έλ¬ μ μ₯μλ₯Ό λ§λλλ€ (κ°λ΅ν μ μ₯μλ‘ μ·¨κΈ)" -#: builtin/clone.c:66 +#: builtin/clone.c:67 msgid "to clone from a local repository" msgstr "λ‘컬 μ μ₯μμμ 볡μ ν©λλ€" -#: builtin/clone.c:68 +#: builtin/clone.c:69 msgid "don't use local hardlinks, always copy" msgstr "λ‘컬 νλλ§ν¬λ₯Ό μ¬μ©νμ§ μκ³ , νμ 볡μ¬ν©λλ€" -#: builtin/clone.c:70 +#: builtin/clone.c:71 msgid "setup as shared repository" msgstr "곡μ μ μ₯μλ‘ μ€μ ν©λλ€" -#: builtin/clone.c:72 builtin/clone.c:74 +#: builtin/clone.c:73 builtin/clone.c:75 msgid "initialize submodules in the clone" msgstr "볡μ ν κ²°κ³Όλ¬Όμμ νμ λͺ¨λμ μ΄κΈ°νν©λλ€" -#: builtin/clone.c:75 builtin/init-db.c:466 +#: builtin/clone.c:76 builtin/init-db.c:466 msgid "template-directory" msgstr "μμ-λλ ν°λ¦¬" -#: builtin/clone.c:76 builtin/init-db.c:467 +#: builtin/clone.c:77 builtin/init-db.c:467 msgid "directory from which templates will be used" msgstr "μμμ μ¬μ©ν λλ ν°λ¦¬ μμΉ" -#: builtin/clone.c:78 builtin/submodule--helper.c:179 +#: builtin/clone.c:79 builtin/submodule--helper.c:173 msgid "reference repository" msgstr "λ νΌλ°μ€ μ μ₯μ" -#: builtin/clone.c:80 +#: builtin/clone.c:81 msgid "use --reference only while cloning" msgstr "볡μ ν κ²½μ°μλ§ --referenceλ₯Ό μ¬μ©ν©λλ€" -#: builtin/clone.c:81 builtin/column.c:26 builtin/merge-file.c:44 +#: builtin/clone.c:82 builtin/column.c:26 builtin/merge-file.c:44 msgid "name" msgstr "μ΄λ¦" -#: builtin/clone.c:82 +#: builtin/clone.c:83 msgid "use <name> instead of 'origin' to track upstream" msgstr "μ
μ€νΈλ¦Ό μΆμ μ 'origin' λμ <μ΄λ¦>μ μ¬μ©ν©λλ€" -#: builtin/clone.c:84 +#: builtin/clone.c:85 msgid "checkout <branch> instead of the remote's HEAD" msgstr "리λͺ¨νΈμ HEAD λμ <λΈλμΉ>λ₯Ό κ°μ Έμ΅λλ€" -#: builtin/clone.c:86 +#: builtin/clone.c:87 msgid "path to git-upload-pack on the remote" msgstr "리λͺ¨νΈμ git-upload-pack κ²½λ‘" -#: builtin/clone.c:87 builtin/fetch.c:113 builtin/grep.c:654 builtin/pull.c:186 +#: builtin/clone.c:88 builtin/fetch.c:117 builtin/grep.c:665 builtin/pull.c:193 msgid "depth" msgstr "κΉμ΄" -#: builtin/clone.c:88 +#: builtin/clone.c:89 msgid "create a shallow clone of that depth" msgstr "μ§μ ν κΉμ΄μ μμ 볡μ λ₯Ό λ§λλλ€" -#: builtin/clone.c:90 +#: builtin/clone.c:91 msgid "clone only one branch, HEAD or --branch" msgstr "νλμ λΈλμΉλ§ 볡μ ν©λλ€ (HEAD λλ --branchλ‘ μ§μ )" -#: builtin/clone.c:91 builtin/init-db.c:475 +#: builtin/clone.c:92 builtin/init-db.c:475 msgid "gitdir" msgstr "gitdir" -#: builtin/clone.c:92 builtin/init-db.c:476 +#: builtin/clone.c:93 builtin/init-db.c:476 msgid "separate git dir from working tree" msgstr "κΉ λλ ν°λ¦¬λ₯Ό μμ
ν΄λμ λ³κ°μ μμΉμ λμ΅λλ€" -#: builtin/clone.c:93 +#: builtin/clone.c:94 msgid "key=value" msgstr "ν€=κ°" -#: builtin/clone.c:94 +#: builtin/clone.c:95 msgid "set config inside the new repository" msgstr "μ μ μ₯μ μμμ μ€μ ν©λλ€" -#: builtin/clone.c:300 +#: builtin/clone.c:96 builtin/fetch.c:131 builtin/push.c:536 +msgid "use IPv4 addresses only" +msgstr "IPv4 μ£Όμλ§ μ¬μ©ν©λλ€" + +#: builtin/clone.c:98 builtin/fetch.c:133 builtin/push.c:538 +msgid "use IPv6 addresses only" +msgstr "IPv6 μ£Όμλ§ μ¬μ©ν©λλ€" + +#: builtin/clone.c:239 +msgid "" +"No directory name could be guessed.\n" +"Please specify a directory on the command line" +msgstr "" +"λλ ν°λ¦¬ μ΄λ¦μ μμλΌ μ μμ΅λλ€.\n" +"λͺ
λ Ήνμμ λλ ν°λ¦¬λ₯Ό μ§μ νμμμ€" + +#: builtin/clone.c:305 #, c-format msgid "reference repository '%s' as a linked checkout is not supported yet." -msgstr "λ νΌλ°μ€ '%s' μ μ₯μλ₯Ό μ°κ²°λ 체ν¬μμμΌλ‘ μ°κΈ°λ μμ§ μ§μνμ§ μμ΅λλ€." +msgstr "" +"λ νΌλ°μ€ '%s' μ μ₯μλ₯Ό μ°κ²°λ 체ν¬μμμΌλ‘ μ°κΈ°λ μμ§ μ§μνμ§ μμ΅λλ€." -#: builtin/clone.c:302 +#: builtin/clone.c:307 #, c-format msgid "reference repository '%s' is not a local repository." msgstr "λ νΌλ°μ€ '%s' μ μ₯μκ° λ‘컬 μ μ₯μκ° μλλλ€." -#: builtin/clone.c:307 +#: builtin/clone.c:312 #, c-format msgid "reference repository '%s' is shallow" msgstr "λ νΌλ°μ€ '%s' μ μ₯μκ° μμ μ μ₯μμ
λλ€" -#: builtin/clone.c:310 +#: builtin/clone.c:315 #, c-format msgid "reference repository '%s' is grafted" msgstr "λ νΌλ°μ€ '%s' μ μ₯μκ° λΆμ΄ μλ μ μ₯μμ
λλ€" -#: builtin/clone.c:375 builtin/diff.c:84 +#: builtin/clone.c:380 builtin/diff.c:84 #, c-format msgid "failed to stat '%s'" msgstr "'%s'μ λν΄ stat()μ΄ μ€ν¨νμ΅λλ€" -#: builtin/clone.c:377 +#: builtin/clone.c:382 #, c-format msgid "%s exists and is not a directory" msgstr "'%s'μ΄(κ°) μμ§λ§ λλ ν°λ¦¬κ° μλλλ€" -#: builtin/clone.c:391 +#: builtin/clone.c:396 #, c-format msgid "failed to stat %s\n" msgstr "'%s'μ λν΄ stat()μ΄ μ€ν¨νμ΅λλ€\n" -#: builtin/clone.c:413 +#: builtin/clone.c:418 #, c-format msgid "failed to create link '%s'" msgstr "'%s' λ§ν¬λ₯Ό λ§λλλ° μ€ν¨νμ΅λλ€" -#: builtin/clone.c:417 +#: builtin/clone.c:422 #, c-format msgid "failed to copy file to '%s'" msgstr "νμΌμ '%s'(μΌ)λ‘ λ³΅μ¬νλλ° μ€ν¨νμ΅λλ€" -#: builtin/clone.c:442 builtin/clone.c:626 +#: builtin/clone.c:447 builtin/clone.c:631 #, c-format msgid "done.\n" msgstr "μλ£.\n" -#: builtin/clone.c:454 +#: builtin/clone.c:459 msgid "" "Clone succeeded, but checkout failed.\n" "You can inspect what was checked out with 'git status'\n" @@ -4616,117 +4811,127 @@ msgstr "" "'git status' λͺ
λ ΉμΌλ‘ 무μμ 체ν¬μμνλμ§ μ΄ν΄λ³Ό μ μκ³ \n" "'git checkout -f HEAD'λ‘ μ²΄ν¬μμμ λ€μ ν μ μμ΅λλ€\n" -#: builtin/clone.c:531 +#: builtin/clone.c:536 #, c-format msgid "Could not find remote branch %s to clone." msgstr "볡μ ν 리λͺ¨νΈμ %s λΈλμΉλ₯Ό μ°Ύμ μ μμ΅λλ€." -#: builtin/clone.c:621 +#: builtin/clone.c:626 #, c-format msgid "Checking connectivity... " msgstr "μ°κ²°μ νμΈνλ μ€μ
λλ€..." -#: builtin/clone.c:624 +#: builtin/clone.c:629 msgid "remote did not send all necessary objects" msgstr "리λͺ¨νΈμμ νμν μ€λΈμ νΈλ₯Ό λͺ¨λ 보λ΄μ§ μμμ΅λλ€" -#: builtin/clone.c:688 +#: builtin/clone.c:647 +#, c-format +msgid "unable to update %s" +msgstr "%sμ(λ₯Ό) μ
λ°μ΄νΈν μ μμ΅λλ€" + +#: builtin/clone.c:696 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "리λͺ¨νΈ HEADκ° μλ λ νΌλ°μ€λ₯Ό μ°Έκ³ νλ―λ‘, 체ν¬μμν μ μμ΅λλ€.\n" -#: builtin/clone.c:719 +#: builtin/clone.c:727 msgid "unable to checkout working tree" msgstr "μμ
ν΄λλ₯Ό 체ν¬μμν μ μμ΅λλ€" -#: builtin/clone.c:808 +#: builtin/clone.c:753 +msgid "unable to write parameters to config file" +msgstr "νλΌλ―Έν°λ₯Ό μ€μ νμΌμ μΈ μ μμ΅λλ€" + +#: builtin/clone.c:816 msgid "cannot repack to clean up" msgstr "μ 리μ©μΌλ‘ repackν μ μμ΅λλ€" -#: builtin/clone.c:810 +#: builtin/clone.c:818 msgid "cannot unlink temporary alternates file" msgstr "보쑰 μμ νμΌμ μμ ν μ μμ΅λλ€" -#: builtin/clone.c:842 +#: builtin/clone.c:850 msgid "Too many arguments." msgstr "λ무 μΈμκ° λ§μ΅λλ€." -#: builtin/clone.c:846 +#: builtin/clone.c:854 msgid "You must specify a repository to clone." msgstr "볡μ ν μ μ₯μλ₯Ό μ§μ ν΄μΌ ν©λλ€." -#: builtin/clone.c:857 +#: builtin/clone.c:865 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "--bare λ° --origin %s μ΅μ
μ νΈνλμ§ μμ΅λλ€." -#: builtin/clone.c:860 +#: builtin/clone.c:868 msgid "--bare and --separate-git-dir are incompatible." msgstr "--bare λ° --separate-git-dir μ΅μ
μ νΈνλμ§ μμ΅λλ€." -#: builtin/clone.c:873 +#: builtin/clone.c:881 #, c-format msgid "repository '%s' does not exist" msgstr "'%s' μ μ₯μκ° μμ΅λλ€" -#: builtin/clone.c:879 builtin/fetch.c:1166 +#: builtin/clone.c:887 builtin/fetch.c:1174 #, c-format msgid "depth %s is not a positive number" msgstr "κΉμ΄κ°(%s) 0λ³΄λ€ ν° μκ° μλλλ€" -#: builtin/clone.c:889 +#: builtin/clone.c:897 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "λμ κ²½λ‘κ°('%s') μ΄λ―Έ μκ³ λΉ λλ ν°λ¦¬κ° μλλλ€." -#: builtin/clone.c:899 +#: builtin/clone.c:907 #, c-format msgid "working tree '%s' already exists." msgstr "μμ
ν΄λκ°('%s') μ΄λ―Έ μμ΅λλ€." -#: builtin/clone.c:914 builtin/clone.c:925 builtin/submodule--helper.c:224 -#: builtin/worktree.c:221 builtin/worktree.c:248 +#: builtin/clone.c:922 builtin/clone.c:933 builtin/submodule--helper.c:218 +#: builtin/worktree.c:219 builtin/worktree.c:246 #, c-format msgid "could not create leading directories of '%s'" msgstr "'%s'μ μ λλ ν°λ¦¬λ₯Ό λ§λ€ μ μμ΅λλ€" -#: builtin/clone.c:917 +#: builtin/clone.c:925 #, c-format msgid "could not create work tree dir '%s'" msgstr "μμ
λλ ν°λ¦¬λ₯Ό('%s') λ§λ€ μ μμ΅λλ€" -#: builtin/clone.c:935 +#: builtin/clone.c:943 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "κ°λ΅ν μ μ₯μλ‘('%s') 볡μ ν©λλ€...\n" -#: builtin/clone.c:937 +#: builtin/clone.c:945 #, c-format msgid "Cloning into '%s'...\n" msgstr "'%s'μ 볡μ ν©λλ€...\n" -#: builtin/clone.c:975 +#: builtin/clone.c:984 msgid "--depth is ignored in local clones; use file:// instead." -msgstr "--depth μ΅μ
μ λ‘컬 볡μ μμ 무μλ©λλ€. λμ μ 'file://'μ μ¬μ©νμμμ€." +msgstr "" +"--depth μ΅μ
μ λ‘컬 볡μ μμ 무μλ©λλ€. λμ μ 'file://'μ μ¬μ©νμμμ€." -#: builtin/clone.c:978 +#: builtin/clone.c:987 msgid "source repository is shallow, ignoring --local" msgstr "μλ³Έ μ μ₯μκ° μμ μ μ₯μμ΄λ―λ‘, --local μ΅μ
μ 무μν©λλ€" -#: builtin/clone.c:983 +#: builtin/clone.c:992 msgid "--local is ignored" msgstr "--local μ΅μ
μ 무μλ©λλ€" -#: builtin/clone.c:987 +#: builtin/clone.c:996 #, c-format msgid "Don't know how to clone %s" msgstr "%sμ 볡μ λ°©λ²μ μμ§ λͺ»ν©λλ€" -#: builtin/clone.c:1036 builtin/clone.c:1044 +#: builtin/clone.c:1045 builtin/clone.c:1053 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "리λͺ¨νΈμ %s λΈλμΉκ° μ
μ€νΈλ¦Ό %sμ μμ΅λλ€" -#: builtin/clone.c:1047 +#: builtin/clone.c:1056 msgid "You appear to have cloned an empty repository." msgstr "λΉ μ μ₯μλ₯Ό 볡μ ν κ²μ²λΌ 보μ
λλ€." @@ -4938,7 +5143,7 @@ msgstr "" msgid "could not lookup commit %s" msgstr "%s 컀λ°μ μ°Ύμλ³Ό μ μμ΅λλ€" -#: builtin/commit.c:702 builtin/shortlog.c:273 +#: builtin/commit.c:702 builtin/shortlog.c:285 #, c-format msgid "(reading log message from standard input)\n" msgstr "(νμ€ μ
λ ₯μμ λ‘κ·Έ λ©μμ§λ₯Ό μ½μ)\n" @@ -5105,7 +5310,8 @@ msgstr "κΈ°λ°νλ€μ... λ§μ§λ§μ λ³κ²½λ μΈλ±μ€λ‘ λ°κΏλλ€." #: builtin/commit.c:1197 msgid "Explicit paths specified without -i or -o; assuming --only paths..." -msgstr "-i λλ -o μμ΄ λͺ
μμ μΈ κ²½λ‘λ₯Ό μ§μ νμ΅λλ€. --only κ²½λ‘λ₯Ό κ°μ ν©λλ€..." +msgstr "" +"-i λλ -o μμ΄ λͺ
μμ μΈ κ²½λ‘λ₯Ό μ§μ νμ΅λλ€. --only κ²½λ‘λ₯Ό κ°μ ν©λλ€..." #: builtin/commit.c:1209 builtin/tag.c:475 #, c-format @@ -5124,8 +5330,8 @@ msgstr "μνλ₯Ό κ°λ΅νκ² νμν©λλ€" msgid "show branch information" msgstr "λΈλμΉ μ 보λ₯Ό νμν©λλ€" -#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:544 -#: builtin/worktree.c:423 +#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:512 +#: builtin/worktree.c:430 msgid "machine-readable output" msgstr "μ»΄ν¨ν°κ° μ½μ μ μλ νμ" @@ -5144,7 +5350,8 @@ msgstr "λͺ¨λ" #: builtin/commit.c:1337 builtin/commit.c:1617 msgid "show untracked files, optional modes: all, normal, no. (Default: all)" -msgstr "μΆμ λμ§ μλ νμΌμ νμν©λλ€. μΆκ° μ΅μ
: all, normal, no (κΈ°λ³Έκ°: all)" +msgstr "" +"μΆμ λμ§ μλ νμΌμ νμν©λλ€. μΆκ° μ΅μ
: all, normal, no (κΈ°λ³Έκ°: all)" #: builtin/commit.c:1340 msgid "show ignored files" @@ -5158,7 +5365,9 @@ msgstr "μΈμ " msgid "" "ignore changes to submodules, optional when: all, dirty, untracked. " "(Default: all)" -msgstr "νμ λͺ¨λμ λ³κ²½μ 무μν©λλ€. μΆκ° μ΅μ
: all, dirty, untracked. (κΈ°λ³Έκ°: all)" +msgstr "" +"νμ λͺ¨λμ λ³κ²½μ 무μν©λλ€. μΆκ° μ΅μ
: all, dirty, untracked. (κΈ°λ³Έκ°: " +"all)" #: builtin/commit.c:1344 msgid "list untracked files in columns" @@ -5212,8 +5421,8 @@ msgstr "μκ°" msgid "override date for commit" msgstr "컀λ°μ μκ°μ μ§μ ν©λλ€" -#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:392 -#: builtin/notes.c:555 builtin/tag.c:349 +#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:395 +#: builtin/notes.c:558 builtin/tag.c:349 msgid "message" msgstr "λ©μμ§" @@ -5246,7 +5455,7 @@ msgstr "μ§μ ν 컀λ°μ ν©μΉλλ° autosquash νμ λ©μμ§λ₯Ό μ¬μ©ν msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "컀λ°μ λ΄κ° μμ±ν κ²μΌλ‘ λ§λλλ€ (-C/-c/--amendμ κ°μ΄ μ¬μ©)" -#: builtin/commit.c:1588 builtin/log.c:1216 builtin/revert.c:86 +#: builtin/commit.c:1588 builtin/log.c:1219 builtin/revert.c:86 msgid "add Signed-off-by:" msgstr "Signed-off-by: μ€μ μΆκ°ν©λλ€" @@ -5270,7 +5479,7 @@ msgstr "λ©μμ§μμ 곡백과 #μ£Όμμ μ§μλλ€" msgid "include status in commit message template" msgstr "μ»€λ° λ©μμ§ μμμ μνλ₯Ό ν¬ν¨ν©λλ€" -#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:156 +#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:160 #: builtin/revert.c:93 msgid "GPG sign commit" msgstr "GPG μλͺ
컀λ°" @@ -5361,139 +5570,143 @@ msgstr "" "μμ΅λλ€. λμ€ν¬κ° κ½ μ°¨μ§ μμκ³ μ ν μ©λμ λμ΄κ°μ§\n" "μμλμ§ νμΈνμμμ€. κ·Έλ¦¬κ³ 'git reset HEAD'λ‘ λ³΅κ΅¬νμμμ€." -#: builtin/config.c:8 +#: builtin/config.c:9 msgid "git config [<options>]" msgstr "git config [<μ΅μ
>]" -#: builtin/config.c:54 +#: builtin/config.c:56 msgid "Config file location" msgstr "μ€μ νμΌ μμΉ" -#: builtin/config.c:55 +#: builtin/config.c:57 msgid "use global config file" msgstr "κ³΅ν΅ μ€μ νμΌμ μ¬μ©ν©λλ€" -#: builtin/config.c:56 +#: builtin/config.c:58 msgid "use system config file" msgstr "μμ€ν
μ€μ νμΌμ μ¬μ©ν©λλ€" -#: builtin/config.c:57 +#: builtin/config.c:59 msgid "use repository config file" msgstr "μ μ₯μ μ€μ νμΌμ μ¬μ©ν©λλ€" -#: builtin/config.c:58 +#: builtin/config.c:60 msgid "use given config file" msgstr "μ§μ ν μ€μ νμΌμ μ¬μ©ν©λλ€" -#: builtin/config.c:59 +#: builtin/config.c:61 msgid "blob-id" msgstr "λΈλ‘-id" -#: builtin/config.c:59 +#: builtin/config.c:61 msgid "read config from given blob object" msgstr "μ§μ ν λΈλ‘ μ€λΈμ νΈμμ μ€μ μ μ½μ΅λλ€" -#: builtin/config.c:60 +#: builtin/config.c:62 msgid "Action" msgstr "λμ" -#: builtin/config.c:61 +#: builtin/config.c:63 msgid "get value: name [value-regex]" msgstr "κ°μ κ°μ Έμ΅λλ€: <μ΄λ¦> [<κ°-μ κ·μ>]" -#: builtin/config.c:62 +#: builtin/config.c:64 msgid "get all values: key [value-regex]" msgstr "λͺ¨λ κ°μ κ°μ Έμ΅λλ€: <ν€> [<κ°-μ κ·μ>]" -#: builtin/config.c:63 +#: builtin/config.c:65 msgid "get values for regexp: name-regex [value-regex]" msgstr "μ κ·μμ λν κ°μ κ°μ Έμ΅λλ€: <μ΄λ¦-μ κ·μ> [<κ°-μ κ·μ>]" -#: builtin/config.c:64 +#: builtin/config.c:66 msgid "get value specific for the URL: section[.var] URL" msgstr "<URL>μ νΉμ λλ κ°μ κ°μ Έμ΅λλ€: <μΉμ
>[.<λ³μ>] <URL>" -#: builtin/config.c:65 +#: builtin/config.c:67 msgid "replace all matching variables: name value [value_regex]" msgstr "ν΄λΉνλ λ³μλ₯Ό λͺ¨λ μ κ±°ν©λλ€: <μ΄λ¦> <κ°> [<κ°-μ κ·μ>]" -#: builtin/config.c:66 +#: builtin/config.c:68 msgid "add a new variable: name value" msgstr "μ λ³μλ₯Ό μΆκ°ν©λλ€: <μ΄λ¦> <κ°>" -#: builtin/config.c:67 +#: builtin/config.c:69 msgid "remove a variable: name [value-regex]" msgstr "λ³μλ₯Ό μ κ±°ν©λλ€: <μ΄λ¦> [<κ°-μ κ·μ>]" -#: builtin/config.c:68 +#: builtin/config.c:70 msgid "remove all matches: name [value-regex]" msgstr "ν΄λΉνλ νλͺ©μ λͺ¨λ μ κ±°ν©λλ€: <μ΄λ¦> [<κ°-μ κ·μ>]" -#: builtin/config.c:69 +#: builtin/config.c:71 msgid "rename section: old-name new-name" msgstr "μΉμ
μ μ΄λ¦μ λ°κΏλλ€: <μ-μ΄λ¦> <μ-μ΄λ¦>" -#: builtin/config.c:70 +#: builtin/config.c:72 msgid "remove a section: name" msgstr "μΉμ
μ μ κ±°ν©λλ€: <μ΄λ¦>" -#: builtin/config.c:71 +#: builtin/config.c:73 msgid "list all" msgstr "μ 체 λͺ©λ‘μ νμν©λλ€" -#: builtin/config.c:72 +#: builtin/config.c:74 msgid "open an editor" msgstr "νΈμ§κΈ°λ₯Ό μ½λλ€" -#: builtin/config.c:73 +#: builtin/config.c:75 msgid "find the color configured: slot [default]" msgstr "μ€μ ν μμ μ°Ύμ΅λλ€: slot [<κΈ°λ³Έκ°>]" -#: builtin/config.c:74 +#: builtin/config.c:76 msgid "find the color setting: slot [stdout-is-tty]" msgstr "μ μ€μ μ μ°Ύμ΅λλ€: slot [<νμ€μΆλ ₯μ΄-TTYμΈμ§-μ¬λΆ>]" -#: builtin/config.c:75 +#: builtin/config.c:77 msgid "Type" msgstr "κ° μ’
λ₯" -#: builtin/config.c:76 +#: builtin/config.c:78 msgid "value is \"true\" or \"false\"" msgstr "κ°μ΄ \"true\" λλ \"false\"μ
λλ€" -#: builtin/config.c:77 +#: builtin/config.c:79 msgid "value is decimal number" msgstr "κ°μ΄ μμ§μμ
λλ€" -#: builtin/config.c:78 +#: builtin/config.c:80 msgid "value is --bool or --int" msgstr "κ°μ΄ --bool λλ --intμ
λλ€" -#: builtin/config.c:79 +#: builtin/config.c:81 msgid "value is a path (file or directory name)" msgstr "κ°μ΄ κ²½λ‘(νμΌ λλ λλ ν°λ¦¬ μ΄λ¦)μ
λλ€" -#: builtin/config.c:80 +#: builtin/config.c:82 msgid "Other" msgstr "κΈ°ν" -#: builtin/config.c:81 +#: builtin/config.c:83 msgid "terminate values with NUL byte" msgstr "κ°μ NUL λ°μ΄νΈλ‘ λλ
λλ€" -#: builtin/config.c:82 +#: builtin/config.c:84 msgid "show variable names only" msgstr "λ³μ μ΄λ¦λ§ νμν©λλ€" -#: builtin/config.c:83 +#: builtin/config.c:85 msgid "respect include directives on lookup" msgstr "μ°Ύμλ³Ό λ include μ§μμ΄λ₯Ό κ³ λ €ν©λλ€" -#: builtin/config.c:303 +#: builtin/config.c:86 +msgid "show origin of config (file, standard input, blob, command line)" +msgstr "μ€μ μ μΆμ²λ₯Ό νμν©λλ€ (νμΌ, νμ€ μ
λ ₯, λΈλ‘, λͺ
λ Ήν)" + +#: builtin/config.c:328 msgid "unable to parse default color value" msgstr "κΈ°λ³Έ μ κ°μ νμ±ν μ μμ΅λλ€" -#: builtin/config.c:441 +#: builtin/config.c:469 #, c-format msgid "" "# This is Git's per-user configuration file.\n" @@ -5508,7 +5721,7 @@ msgstr "" "#\tname = %s\n" "#\temail = %s\n" -#: builtin/config.c:575 +#: builtin/config.c:611 #, c-format msgid "cannot create configuration file %s" msgstr "%s μ€μ νμΌμ λ§λ€ μ μμ΅λλ€" @@ -5758,161 +5971,165 @@ msgstr "git fetch --multiple [<μ΅μ
>] [(<μ μ₯μ> | <κ·Έλ£Ή>)...]" msgid "git fetch --all [<options>]" msgstr "git fetch --all [<μ΅μ
>]" -#: builtin/fetch.c:90 builtin/pull.c:162 +#: builtin/fetch.c:92 builtin/pull.c:166 msgid "fetch from all remotes" msgstr "λͺ¨λ 리λͺ¨νΈμμ κ°μ Έμ΅λλ€" -#: builtin/fetch.c:92 builtin/pull.c:165 +#: builtin/fetch.c:94 builtin/pull.c:169 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "λμ΄μ°μ§ λ§κ³ .git/FETCH_HEADμ λ§λΆμ
λλ€" -#: builtin/fetch.c:94 builtin/pull.c:168 +#: builtin/fetch.c:96 builtin/pull.c:172 msgid "path to upload pack on remote end" msgstr "리λͺ¨νΈ μͺ½μ λ¬Άμμ μ
λ‘λν κ²½λ‘" -#: builtin/fetch.c:95 builtin/pull.c:170 +#: builtin/fetch.c:97 builtin/pull.c:174 msgid "force overwrite of local branch" msgstr "λ‘컬 λΈλμΉλ₯Ό κ°μ λ‘ λμ΄μλλ€" -#: builtin/fetch.c:97 +#: builtin/fetch.c:99 msgid "fetch from multiple remotes" msgstr "μ¬λ¬ 리λͺ¨νΈμμ κ°μ Έμ΅λλ€" -#: builtin/fetch.c:99 builtin/pull.c:172 +#: builtin/fetch.c:101 builtin/pull.c:176 msgid "fetch all tags and associated objects" msgstr "λͺ¨λ νκ·Έμ κ΄λ ¨ μ€λΈμ νΈλ₯Ό κ°μ Έμ΅λλ€" -#: builtin/fetch.c:101 +#: builtin/fetch.c:103 msgid "do not fetch all tags (--no-tags)" msgstr "λͺ¨λ νκ·Έλ₯Ό κ°μ Έμ€μ§ μμ΅λλ€ (--no-tags)" -#: builtin/fetch.c:103 builtin/pull.c:175 +#: builtin/fetch.c:105 +msgid "number of submodules fetched in parallel" +msgstr "λ³λ ¬μ μΌλ‘ λ°μμ€λ νμλͺ¨λ κ°μ" + +#: builtin/fetch.c:107 builtin/pull.c:179 msgid "prune remote-tracking branches no longer on remote" msgstr "리λͺ¨νΈμ μ΄μ μλ 리λͺ¨νΈ μΆμ λΈλμΉλ₯Ό μλΌλ
λλ€" -#: builtin/fetch.c:104 builtin/pull.c:178 +#: builtin/fetch.c:108 builtin/pull.c:182 msgid "on-demand" msgstr "μ£Όλ¬Έν" -#: builtin/fetch.c:105 builtin/pull.c:179 +#: builtin/fetch.c:109 builtin/pull.c:183 msgid "control recursive fetching of submodules" msgstr "νμ λͺ¨λ μ¬κ·μ μΌλ‘ κ°μ Έμ€κΈ° λ°©μμ μ€μ ν©λλ€" -#: builtin/fetch.c:109 builtin/pull.c:184 +#: builtin/fetch.c:113 builtin/pull.c:191 msgid "keep downloaded pack" msgstr "λ€μ΄λ‘λν λ¬Άμμ 보쑴ν©λλ€" -#: builtin/fetch.c:111 +#: builtin/fetch.c:115 msgid "allow updating of HEAD ref" msgstr "HEAD λ νΌλ°μ€ μ
λ°μ΄νΈλ₯Ό νμ©ν©λλ€" -#: builtin/fetch.c:114 builtin/pull.c:187 +#: builtin/fetch.c:118 builtin/pull.c:194 msgid "deepen history of shallow clone" msgstr "μμ 볡μ μ μ»€λ° λ΄μμ κΉκ² λ§λλλ€" -#: builtin/fetch.c:116 builtin/pull.c:190 +#: builtin/fetch.c:120 builtin/pull.c:197 msgid "convert to a complete repository" msgstr "μμ ν μ μ₯μλ‘ μ νν©λλ€" -#: builtin/fetch.c:118 builtin/log.c:1233 +#: builtin/fetch.c:122 builtin/log.c:1236 msgid "dir" msgstr "λλ ν°λ¦¬" -#: builtin/fetch.c:119 +#: builtin/fetch.c:123 msgid "prepend this to submodule path output" msgstr "νμ λͺ¨λ κ²½λ‘ μΆλ ₯μ μμ μ΄ λλ ν°λ¦¬λ₯Ό λΆμ
λλ€" -#: builtin/fetch.c:122 +#: builtin/fetch.c:126 msgid "default mode for recursion" msgstr "μ¬κ· κΈ°λ³Έ λͺ¨λ" -#: builtin/fetch.c:124 builtin/pull.c:193 +#: builtin/fetch.c:128 builtin/pull.c:200 msgid "accept refs that update .git/shallow" msgstr ".git/shallowλ₯Ό μ
λ°μ΄νΈνλ λ νΌλ°μ€λ₯Ό νμ©ν©λλ€" -#: builtin/fetch.c:125 builtin/pull.c:195 +#: builtin/fetch.c:129 builtin/pull.c:202 msgid "refmap" msgstr "λ νΌλ°μ€λ§΅" -#: builtin/fetch.c:126 builtin/pull.c:196 +#: builtin/fetch.c:130 builtin/pull.c:203 msgid "specify fetch refmap" msgstr "λ νΌλ°μ€λ§΅ κ°μ Έμ€κΈ°λ₯Ό μ§μ ν©λλ€" -#: builtin/fetch.c:378 +#: builtin/fetch.c:386 msgid "Couldn't find remote ref HEAD" msgstr "리λͺ¨νΈ λ νΌλ°μ€ HEADλ₯Ό μ°Ύμ μ μμ΅λλ€" -#: builtin/fetch.c:458 +#: builtin/fetch.c:466 #, c-format msgid "object %s not found" msgstr "%s μ€λΈμ νΈκ° μμ΅λλ€" -#: builtin/fetch.c:463 +#: builtin/fetch.c:471 msgid "[up to date]" msgstr "[μ΅μ μν]" -#: builtin/fetch.c:477 +#: builtin/fetch.c:485 #, c-format msgid "! %-*s %-*s -> %s (can't fetch in current branch)" msgstr "! %-*s %-*s -> %s (νμ¬ λΈλμΉμμ κ°μ Έμ¬ μ μμ)" -#: builtin/fetch.c:478 builtin/fetch.c:566 +#: builtin/fetch.c:486 builtin/fetch.c:574 msgid "[rejected]" msgstr "[κ±°λΆλ¨]" -#: builtin/fetch.c:489 +#: builtin/fetch.c:497 msgid "[tag update]" msgstr "[νκ·Έ μ
λ°μ΄νΈ]" -#: builtin/fetch.c:491 builtin/fetch.c:526 builtin/fetch.c:544 +#: builtin/fetch.c:499 builtin/fetch.c:534 builtin/fetch.c:552 msgid " (unable to update local ref)" msgstr " (λ‘컬 λ νΌλ°μ€λ₯Ό μ
λ°μ΄νΈν μ μμ)" -#: builtin/fetch.c:509 +#: builtin/fetch.c:517 msgid "[new tag]" msgstr "[μλ‘μ΄ νκ·Έ]" -#: builtin/fetch.c:512 +#: builtin/fetch.c:520 msgid "[new branch]" msgstr "[μλ‘μ΄ λΈλμΉ]" -#: builtin/fetch.c:515 +#: builtin/fetch.c:523 msgid "[new ref]" msgstr "[μλ‘μ΄ λ νΌλ°μ€]" -#: builtin/fetch.c:561 +#: builtin/fetch.c:569 msgid "unable to update local ref" msgstr "λ‘컬 λ νΌλ°μ€λ₯Ό μ
λ°μ΄νΈν μ μμ΅λλ€" -#: builtin/fetch.c:561 +#: builtin/fetch.c:569 msgid "forced update" msgstr "κ°μ μ
λ°μ΄νΈ" -#: builtin/fetch.c:568 +#: builtin/fetch.c:576 msgid "(non-fast-forward)" msgstr "(μ λ°©ν₯ μ§νμ΄ μλ)" -#: builtin/fetch.c:602 builtin/fetch.c:843 +#: builtin/fetch.c:610 builtin/fetch.c:851 #, c-format msgid "cannot open %s: %s\n" msgstr "%sμ(λ₯Ό) μ΄ μ μμ΅λλ€: %s\n" -#: builtin/fetch.c:611 +#: builtin/fetch.c:619 #, c-format msgid "%s did not send all necessary objects\n" msgstr "%sμ΄(κ°) λͺ¨λ νμν μ€λΈμ νΈλ₯Ό 보λ΄μ§ μμμ΅λλ€\n" -#: builtin/fetch.c:629 +#: builtin/fetch.c:637 #, c-format msgid "reject %s because shallow roots are not allowed to be updated" msgstr "μμ μ΅μμμ μ
λ°μ΄νΈκ° νμ©λμ§ μμΌλ―λ‘ %sμ(λ₯Ό) κ±°λΆν©λλ€" -#: builtin/fetch.c:716 builtin/fetch.c:808 +#: builtin/fetch.c:724 builtin/fetch.c:816 #, c-format msgid "From %.*s\n" msgstr "%.*s URLμμ\n" -#: builtin/fetch.c:727 +#: builtin/fetch.c:735 #, c-format msgid "" "some local refs could not be updated; try running\n" @@ -5921,55 +6138,55 @@ msgstr "" "μ
λ°μ΄νΈν μ μλ λ‘컬 λ νΌλ°μ€κ° μμ΅λλ€. κ³Όκ±° μΆ©λ λΈλμΉλ₯Ό\n" " μ κ±°νλ €λ©΄ 'git remote prune %s' λͺ
λ Ήμ μ€νν΄ λ³΄μμμ€" -#: builtin/fetch.c:779 +#: builtin/fetch.c:787 #, c-format msgid " (%s will become dangling)" msgstr " (%s λ νΌλ°μ€κ° μ°κ²°μ΄ λμ΄μ§κ² λ©λλ€)" -#: builtin/fetch.c:780 +#: builtin/fetch.c:788 #, c-format msgid " (%s has become dangling)" msgstr " (%s λ νΌλ°μ€κ° μ°κ²°μ΄ λμ΄μ‘μ΅λλ€)" -#: builtin/fetch.c:812 +#: builtin/fetch.c:820 msgid "[deleted]" msgstr "[μμ λ¨]" -#: builtin/fetch.c:813 builtin/remote.c:1040 +#: builtin/fetch.c:821 builtin/remote.c:1025 msgid "(none)" msgstr "(μμ)" -#: builtin/fetch.c:833 +#: builtin/fetch.c:841 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "κ°λ΅ν μ μ₯μκ° μλ μ μ₯μμ νμ¬ %s λΈλμΉλ‘ κ°μ Έμ€κΈ°λ₯Ό κ±°μ ν©λλ€" -#: builtin/fetch.c:852 +#: builtin/fetch.c:860 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "\"%s\" μ΅μ
μ \"%s\" κ°μ %sμ λν΄ μ¬λ°λ₯΄μ§ μμ΅λλ€" -#: builtin/fetch.c:855 +#: builtin/fetch.c:863 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "\"%s\" μ΅μ
μ '%s'μ λν΄ λ¬΄μλ©λλ€\n" -#: builtin/fetch.c:911 +#: builtin/fetch.c:920 #, c-format msgid "Don't know how to fetch from %s" msgstr "'%s'μμ κ°μ Έμ€λ λ°©λ²μ μ μ μμ΅λλ€" -#: builtin/fetch.c:1072 +#: builtin/fetch.c:1080 #, c-format msgid "Fetching %s\n" msgstr "%sμ(λ₯Ό) κ°μ Έμ€λ μ€\n" -#: builtin/fetch.c:1074 builtin/remote.c:96 +#: builtin/fetch.c:1082 builtin/remote.c:96 #, c-format msgid "Could not fetch %s" msgstr "%sμ(λ₯Ό) κ°μ Έμ¬ μ μμ΅λλ€" -#: builtin/fetch.c:1092 +#: builtin/fetch.c:1100 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." @@ -5977,32 +6194,33 @@ msgstr "" "리λͺ¨νΈ μ μ₯μλ₯Ό μ§μ νμ§ μμμ΅λλ€. μ 리λΉμ μ κ°μ Έμ¬ μ μλ\n" "URLμ΄λ 리λͺ¨νΈ μ΄λ¦μ μ§μ νμμμ€." -#: builtin/fetch.c:1115 +#: builtin/fetch.c:1123 msgid "You need to specify a tag name." msgstr "νκ·Έ μ΄λ¦μ μ§μ ν΄μΌ ν©λλ€." -#: builtin/fetch.c:1157 +#: builtin/fetch.c:1165 msgid "--depth and --unshallow cannot be used together" msgstr "--depth λ° --unshallow μ΅μ
μ κ°μ΄ μΈ μ μμ΅λλ€" -#: builtin/fetch.c:1159 +#: builtin/fetch.c:1167 msgid "--unshallow on a complete repository does not make sense" -msgstr "μμ ν μ μ₯μμ λν΄ --unshallow μ΅μ
μ μ¬μ©νλ 건 μλ€κ° λ§μ§ μμ΅λλ€" +msgstr "" +"μμ ν μ μ₯μμ λν΄ --unshallow μ΅μ
μ μ¬μ©νλ 건 μλ€κ° λ§μ§ μμ΅λλ€" -#: builtin/fetch.c:1179 +#: builtin/fetch.c:1187 msgid "fetch --all does not take a repository argument" msgstr "fetch --all λͺ
λ Ήμ μ μ₯μ μΈμκ° μμ΅λλ€" -#: builtin/fetch.c:1181 +#: builtin/fetch.c:1189 msgid "fetch --all does not make sense with refspecs" msgstr "fetch --all λͺ
λ Ήμ λ νΌλ°μ€λͺ
μΈ μΈμμ κ°μ΄ μ°λ©΄ μλ€κ° λ§μ§ μμ΅λλ€" -#: builtin/fetch.c:1192 +#: builtin/fetch.c:1200 #, c-format msgid "No such remote or remote group: %s" msgstr "κ·Έλ° λ¦¬λͺ¨νΈλ 리λͺ¨νΈ κ·Έλ£Ήμ΄ μμ΅λλ€: %s" -#: builtin/fetch.c:1200 +#: builtin/fetch.c:1208 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "κ·Έλ£Ήμ κ°μ Έμ€κ³ λ νΌλ°μ€λͺ
μΈλ₯Ό μ§μ νλ©΄ μλ€κ° λ§μ§ μμ΅λλ€" @@ -6212,235 +6430,253 @@ msgstr "μλ κ΄λ¦¬ μμ
μ \"git help gc\" λ΄μ©μ μ°Έκ³ νμμμ€.\n" #, c-format msgid "" "gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)" -msgstr "κ°λΉμ§μ»¬λ ν°κ° μ΄λ―Έ '%s' μ»΄ν¨ν°μμ %<PRIuMAX> PIDλ‘ μ€ν μ€μ
λλ€ (μλλ©΄ --forceλ₯Ό μ¬μ©νμμμ€)" +msgstr "" +"κ°λΉμ§μ»¬λ ν°κ° μ΄λ―Έ '%s' μ»΄ν¨ν°μμ %<PRIuMAX> PIDλ‘ μ€ν μ€μ
λλ€ (μλλ©΄ --" +"forceλ₯Ό μ¬μ©νμμμ€)" #: builtin/gc.c:441 msgid "" "There are too many unreachable loose objects; run 'git prune' to remove them." -msgstr "λμ¨ν μ€λΈμ νΈκ° λ무 λ§μ΅λλ€. μ κ±°νλ €λ©΄ 'git prune'μ μ€ννμμμ€." +msgstr "" +"λμ¨ν μ€λΈμ νΈκ° λ무 λ§μ΅λλ€. μ κ±°νλ €λ©΄ 'git prune'μ μ€ννμμμ€." #: builtin/grep.c:23 msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]" msgstr "git grep [<μ΅μ
>] [-e] <ν¨ν΄> [<리λΉμ >...] [[--] <κ²½λ‘>...]" -#: builtin/grep.c:218 +#: builtin/grep.c:219 #, c-format msgid "grep: failed to create thread: %s" msgstr "grep: μ€λ λλ₯Ό λ§λλλ° μ€ν¨νμ΅λλ€: %s" -#: builtin/grep.c:441 builtin/grep.c:476 +#: builtin/grep.c:277 +#, c-format +msgid "invalid number of threads specified (%d) for %s" +msgstr "μλͺ»λ μ€λ λ μλ₯Ό %2$sμ λν΄ μ§μ νμ΅λλ€ (%1$d)" + +#: builtin/grep.c:452 builtin/grep.c:487 #, c-format msgid "unable to read tree (%s)" msgstr "νΈλ¦¬λ₯Ό μ½μ μ μμ΅λλ€ (%s)" -#: builtin/grep.c:491 +#: builtin/grep.c:502 #, c-format msgid "unable to grep from object of type %s" msgstr "μ’
λ₯κ° %sμΈ μ€λΈμ νΈμμ grepμ ν μ μμ΅λλ€" -#: builtin/grep.c:547 +#: builtin/grep.c:558 #, c-format msgid "switch `%c' expects a numerical value" msgstr "`%c' μ΅μ
μλ μ«μ κ°μ΄ μμΌ ν©λλ€" -#: builtin/grep.c:564 +#: builtin/grep.c:575 #, c-format msgid "cannot open '%s'" msgstr "'%s'μ(λ₯Ό) μ΄ μ μμ΅λλ€" -#: builtin/grep.c:633 +#: builtin/grep.c:644 msgid "search in index instead of in the work tree" msgstr "μμ
ν΄λ λμ μ μΈλ±μ€μμ κ²μν©λλ€" -#: builtin/grep.c:635 +#: builtin/grep.c:646 msgid "find in contents not managed by git" msgstr "κΉμΌλ‘ κ΄λ¦¬νμ§ μμ λ΄μ©μμ μ°Ύμ΅λλ€" -#: builtin/grep.c:637 +#: builtin/grep.c:648 msgid "search in both tracked and untracked files" msgstr "μΆμ λλ νμΌκ³Ό μΆμ λμ§ μλ νμΌ λͺ¨λμμ κ²μν©λλ€" -#: builtin/grep.c:639 +#: builtin/grep.c:650 msgid "ignore files specified via '.gitignore'" msgstr "'.gitignore'λ‘ μ§μ ν νμΌμ 무μν©λλ€" -#: builtin/grep.c:642 +#: builtin/grep.c:653 msgid "show non-matching lines" msgstr "μΌμΉνμ§ μλ μ€μ νμν©λλ€" -#: builtin/grep.c:644 +#: builtin/grep.c:655 msgid "case insensitive matching" msgstr "λμλ¬Έμ ꡬλ³νμ§ μκ³ λ§μΆ₯λλ€" -#: builtin/grep.c:646 +#: builtin/grep.c:657 msgid "match patterns only at word boundaries" msgstr "λ¨μ΄ κ²½κ³ λΆλΆμ λν΄μλ§ ν¨ν΄μ λ§μΆ₯λλ€" -#: builtin/grep.c:648 +#: builtin/grep.c:659 msgid "process binary files as text" msgstr "λ°μ΄λ리 νμΌμ ν
μ€νΈλ‘ μ²λ¦¬ν©λλ€" -#: builtin/grep.c:650 +#: builtin/grep.c:661 msgid "don't match patterns in binary files" msgstr "λ°μ΄λ리 νμΌμμ ν¨ν΄μ λ§μΆμ§ μμ΅λλ€" -#: builtin/grep.c:653 +#: builtin/grep.c:664 msgid "process binary files with textconv filters" msgstr "textconv νν°λ₯Ό μ¬μ©ν΄ λ°μ΄λ리 νμΌμ μ²λ¦¬ν©λλ€" -#: builtin/grep.c:655 +#: builtin/grep.c:666 msgid "descend at most <depth> levels" msgstr "μ΅λ <κΉμ΄> λ¨κ³λ§νΌ λ΄λ €κ°λλ€" -#: builtin/grep.c:659 +#: builtin/grep.c:670 msgid "use extended POSIX regular expressions" msgstr "POSIX νμ₯ μ κ·μμ μ¬μ©ν©λλ€" -#: builtin/grep.c:662 +#: builtin/grep.c:673 msgid "use basic POSIX regular expressions (default)" msgstr "κΈ°λ³Έ POSIX μ κ·μμ μ¬μ©ν©λλ€ (κΈ°λ³Έκ°)" -#: builtin/grep.c:665 +#: builtin/grep.c:676 msgid "interpret patterns as fixed strings" msgstr "ν¨ν΄μ κ³ μ λ¬Έμμ΄λ‘ ν΄μν©λλ€" -#: builtin/grep.c:668 +#: builtin/grep.c:679 msgid "use Perl-compatible regular expressions" msgstr "νκ³Ό νΈνλλ μ κ·μμ μ¬μ©ν©λλ€" -#: builtin/grep.c:671 +#: builtin/grep.c:682 msgid "show line numbers" msgstr "μ€ λ²νΈλ₯Ό νμν©λλ€" -#: builtin/grep.c:672 +#: builtin/grep.c:683 msgid "don't show filenames" msgstr "νμΌ μ΄λ¦μ νμνμ§ μμ΅λλ€" -#: builtin/grep.c:673 +#: builtin/grep.c:684 msgid "show filenames" msgstr "νμΌ μ΄λ¦μ νμν©λλ€" -#: builtin/grep.c:675 +#: builtin/grep.c:686 msgid "show filenames relative to top directory" msgstr "νμΌ μ΄λ¦μ μ΅μμ λλ ν°λ¦¬ μλ κ²½λ‘λ‘ νμν©λλ€" -#: builtin/grep.c:677 +#: builtin/grep.c:688 msgid "show only filenames instead of matching lines" msgstr "μΌμΉνλ μ€μ νμνμ§ μκ³ νμΌ μ΄λ¦λ§ νμν©λλ€" -#: builtin/grep.c:679 +#: builtin/grep.c:690 msgid "synonym for --files-with-matches" msgstr "--files-with-matches μ΅μ
κ³Ό λμΌ" -#: builtin/grep.c:682 +#: builtin/grep.c:693 msgid "show only the names of files without match" msgstr "μΌμΉνμ§ μλ νμΌμ μ΄λ¦λ§ νμν©λλ€" -#: builtin/grep.c:684 +#: builtin/grep.c:695 msgid "print NUL after filenames" msgstr "νμΌ μ΄λ¦ λ€μμ NULμ μΆλ ₯ν©λλ€" -#: builtin/grep.c:686 +#: builtin/grep.c:697 msgid "show the number of matches instead of matching lines" msgstr "μΌμΉνλ μ€μ νμνμ§ μκ³ μΌμΉνλ μλ₯Ό νμν©λλ€" -#: builtin/grep.c:687 +#: builtin/grep.c:698 msgid "highlight matches" msgstr "μΌμΉνλ λΆλΆμ κ°μ‘°ν©λλ€" -#: builtin/grep.c:689 +#: builtin/grep.c:700 msgid "print empty line between matches from different files" msgstr "λ€λ₯Έ νμΌ μ¬μ΄μ μΌμΉνλ λΆλΆμ μ¬μ΄μ λΉ μ€μ μΆλ ₯ν©λλ€" -#: builtin/grep.c:691 +#: builtin/grep.c:702 msgid "show filename only once above matches from same file" msgstr "κ°μ νμΌμμ μ¬λ¬ κ°κ° μΌμΉνλ©΄ νμΌ μ΄λ¦μ ν λ²λ§ νμν©λλ€" -#: builtin/grep.c:694 +#: builtin/grep.c:705 msgid "show <n> context lines before and after matches" msgstr "μΌμΉνλ λΆλΆ μλ€μ 컨ν
μ€νΈλ₯Ό <n>μ€ νμν©λλ€" -#: builtin/grep.c:697 +#: builtin/grep.c:708 msgid "show <n> context lines before matches" msgstr "μΌμΉνλ λΆλΆ μμ 컨ν
μ€νΈλ₯Ό <n>μ€ νμν©λλ€" -#: builtin/grep.c:699 +#: builtin/grep.c:710 msgid "show <n> context lines after matches" msgstr "μΌμΉνλ λΆλΆ λ€μ 컨ν
μ€νΈλ₯Ό <n>μ€ νμν©λλ€" -#: builtin/grep.c:700 +#: builtin/grep.c:712 +msgid "use <n> worker threads" +msgstr "<n>κ°μ μμ
μ€λ λλ₯Ό μ¬μ©ν©λλ€" + +#: builtin/grep.c:713 msgid "shortcut for -C NUM" msgstr "-C NUM μ΅μ
μ μ€μ" -#: builtin/grep.c:703 +#: builtin/grep.c:716 msgid "show a line with the function name before matches" msgstr "μΌμΉ νλͺ© μμ ν¨μ μ΄λ¦ μ€μ νμν©λλ€" -#: builtin/grep.c:705 +#: builtin/grep.c:718 msgid "show the surrounding function" msgstr "λ€μ΄ μλ ν¨μλ₯Ό νμν©λλ€" -#: builtin/grep.c:708 +#: builtin/grep.c:721 msgid "read patterns from file" msgstr "νμΌμμ ν¨ν΄μ μ½μ΅λλ€" -#: builtin/grep.c:710 +#: builtin/grep.c:723 msgid "match <pattern>" msgstr "<ν¨ν΄>κ³Ό μΌμΉ" -#: builtin/grep.c:712 +#: builtin/grep.c:725 msgid "combine patterns specified with -e" msgstr "-e μ΅μ
μΌλ‘ μ§μ ν ν¨ν΄μ κ²°ν©ν©λλ€" -#: builtin/grep.c:724 +#: builtin/grep.c:737 msgid "indicate hit with exit status without output" msgstr "μΆλ ₯νμ§ μκ³ μΌμΉνλ νλͺ©μ exit() μν λ²νΈλ‘ 리ν΄ν©λλ€" -#: builtin/grep.c:726 +#: builtin/grep.c:739 msgid "show only matches from files that match all patterns" msgstr "λͺ¨λ ν¨ν΄κ³Ό μΌμΉνλ νμΌμ μΌμΉνλ λΆλΆλ§ νμν©λλ€" -#: builtin/grep.c:728 +#: builtin/grep.c:741 msgid "show parse tree for grep expression" msgstr "grep ννμμ λν νμ± νΈλ¦¬λ₯Ό νμν©λλ€" -#: builtin/grep.c:732 +#: builtin/grep.c:745 msgid "pager" msgstr "νμ΄μ " -#: builtin/grep.c:732 +#: builtin/grep.c:745 msgid "show matching files in the pager" msgstr "μΌμΉνλ νμΌμ νμ΄μ νλ‘κ·Έλ¨μμ νμν©λλ€" -#: builtin/grep.c:735 +#: builtin/grep.c:748 msgid "allow calling of grep(1) (ignored by this build)" msgstr "grep(1) μ€νμ νμ©ν©λλ€ (μ΄ λΉλμμλ 무μ)" -#: builtin/grep.c:793 +#: builtin/grep.c:811 msgid "no pattern given." msgstr "ν¨ν΄μ μ§μ νμ§ μμμ΅λλ€." -#: builtin/grep.c:851 +#: builtin/grep.c:843 builtin/index-pack.c:1475 +#, c-format +msgid "invalid number of threads specified (%d)" +msgstr "μλͺ»λ μ€λ λ μλ₯Ό μ§μ νμ΅λλ€ (%d)" + +#: builtin/grep.c:873 msgid "--open-files-in-pager only works on the worktree" msgstr "--open-files-in-pager μ΅μ
μ μμ
ν΄λμμλ§ λμν©λλ€" -#: builtin/grep.c:877 +#: builtin/grep.c:899 msgid "--cached or --untracked cannot be used with --no-index." -msgstr "--cached λλ --untracked μ΅μ
μ --no-index μ΅μ
κ³Ό κ°μ΄ μΈ μ μμ΅λλ€." +msgstr "" +"--cached λλ --untracked μ΅μ
μ --no-index μ΅μ
κ³Ό κ°μ΄ μΈ μ μμ΅λλ€." -#: builtin/grep.c:882 +#: builtin/grep.c:904 msgid "--no-index or --untracked cannot be used with revs." msgstr "--no-index λλ --untracked μ΅μ
μ 리λΉμ κ³Ό κ°μ΄ μΈ μ μμ΅λλ€." -#: builtin/grep.c:885 +#: builtin/grep.c:907 msgid "--[no-]exclude-standard cannot be used for tracked contents." msgstr "--[no-]exclude-standard μ΅μ
μ μΆμ λλ λ΄μ©μ λν΄ μΈ μ μμ΅λλ€." -#: builtin/grep.c:893 +#: builtin/grep.c:915 msgid "both --cached and trees are given." msgstr "--cached μ΅μ
κ³Ό νΈλ¦¬λ₯Ό λͺ¨λ μ§μ νμ΅λλ€." -#: builtin/hash-object.c:80 +#: builtin/hash-object.c:81 msgid "" "git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] " "[--] <file>..." @@ -6448,36 +6684,36 @@ msgstr "" "git hash-object [-t <μ’
λ₯>] [-w] [--path=<νμΌ> | --no-filters] [--stdin] " "[--] <νμΌ>..." -#: builtin/hash-object.c:81 +#: builtin/hash-object.c:82 msgid "git hash-object --stdin-paths" msgstr "git hash-object --stdin-paths" -#: builtin/hash-object.c:92 +#: builtin/hash-object.c:93 msgid "type" msgstr "μ’
λ₯" -#: builtin/hash-object.c:92 +#: builtin/hash-object.c:93 msgid "object type" msgstr "μ€λΈμ νΈ μ’
λ₯" -#: builtin/hash-object.c:93 +#: builtin/hash-object.c:94 msgid "write the object into the object database" msgstr "μ€λΈμ νΈλ₯Ό μ€λΈμ νΈ λ°μ΄ν°λ² μ΄μ€λ‘ μλλ€" -#: builtin/hash-object.c:95 +#: builtin/hash-object.c:96 msgid "read the object from stdin" msgstr "νμ€ μ
λ ₯μμ μ€λΈμ νΈλ₯Ό μ½μ΅λλ€" -#: builtin/hash-object.c:97 +#: builtin/hash-object.c:98 msgid "store file as is without filters" msgstr "νμΌμ νν° μμ΄ κ·Έλλ‘ μ μ₯ν©λλ€" -#: builtin/hash-object.c:98 +#: builtin/hash-object.c:99 msgid "" "just hash any random garbage to create corrupt objects for debugging Git" msgstr "μμμ μ°λ κΈ° λ°μ΄ν°λ₯Ό ν΄μν΄ μμλ μ€λΈμ νΈλ₯Ό λ§λλλ€ (λλ²κΉ
μ©)" -#: builtin/hash-object.c:99 +#: builtin/hash-object.c:100 msgid "process file as it were from this path" msgstr "νμΌμ΄ μ΄ κ²½λ‘μμ μ¨ κ²μ²λΌ μ²λ¦¬ν©λλ€" @@ -6528,7 +6764,7 @@ msgstr "emacsclient '%d' λ²μ μ λ무 κ³Όκ±° (< 22) λ²μ μ
λλ€." msgid "failed to exec '%s': %s" msgstr "μ€ν μ€ν¨: '%s': %s" -#: builtin/help.c:208 +#: builtin/help.c:205 #, c-format msgid "" "'%s': path for unsupported man viewer.\n" @@ -6537,7 +6773,7 @@ msgstr "" "'%s': μ§μνμ§ μλ 맨 νμ΄μ§ 보기 νλ‘κ·Έλ¨ κ²½λ‘.\n" "λμ μ 'man.<λꡬ>.cmd' μ΅μ
μ μ¬μ©ν΄ 보μμμ€." -#: builtin/help.c:220 +#: builtin/help.c:217 #, c-format msgid "" "'%s': cmd for supported man viewer.\n" @@ -6546,61 +6782,61 @@ msgstr "" "'%s': μ§μνμ§ μλ 맨 νμ΄μ§ 보기 νλ‘κ·Έλ¨ λͺ
λ Ή.\n" "λμ μ 'man.<λꡬ>.path' μ΅μ
μ μ¬μ©ν΄ 보μμμ€." -#: builtin/help.c:337 +#: builtin/help.c:334 #, c-format msgid "'%s': unknown man viewer." msgstr "'%s': μ μ μλ 맨 νμ΄μ§ 보기 νλ‘κ·Έλ¨." -#: builtin/help.c:354 +#: builtin/help.c:351 msgid "no man viewer handled the request" msgstr "μμ²μ μ²λ¦¬ν 맨 νμ΄μ§ 보기 νλ‘κ·Έλ¨μ΄ μμ΅λλ€" -#: builtin/help.c:362 +#: builtin/help.c:359 msgid "no info viewer handled the request" msgstr "μμ²μ μ²λ¦¬ν μΈν¬ νμ΄μ§ 보기 νλ‘κ·Έλ¨μ΄ μμ΅λλ€" -#: builtin/help.c:411 +#: builtin/help.c:408 msgid "Defining attributes per path" msgstr "κ²½λ‘λ§λ€ μμ± μ μνκΈ°" -#: builtin/help.c:412 +#: builtin/help.c:409 msgid "Everyday Git With 20 Commands Or So" msgstr "λ§€μΌλ§€μΌ μ¬μ©νλ 20κ° λ΄μΈμ κΉ λͺ
λ Ή" -#: builtin/help.c:413 +#: builtin/help.c:410 msgid "A Git glossary" msgstr "κΉ μ©μ΄ μ¬μ " -#: builtin/help.c:414 +#: builtin/help.c:411 msgid "Specifies intentionally untracked files to ignore" msgstr "μλμ μΌλ‘ μΆμ νμ§ μλ νμΌμ 무μνκ² μ§μ νκΈ°" -#: builtin/help.c:415 +#: builtin/help.c:412 msgid "Defining submodule properties" msgstr "νμ λͺ¨λ μμ± μ μνκΈ°" -#: builtin/help.c:416 +#: builtin/help.c:413 msgid "Specifying revisions and ranges for Git" msgstr "κΉμ 리λΉμ λ° λ²μλ₯Ό μ§μ νκΈ°" -#: builtin/help.c:417 +#: builtin/help.c:414 msgid "A tutorial introduction to Git (for version 1.5.1 or newer)" msgstr "κΉ λ°λΌνκΈ° μλ΄μ (λ²μ 1.5.1 μ΄ν)" -#: builtin/help.c:418 +#: builtin/help.c:415 msgid "An overview of recommended workflows with Git" msgstr "μΆμ²νλ κΉ νμ© μμ
μμμ κ°μ" -#: builtin/help.c:430 +#: builtin/help.c:427 msgid "The common Git guides are:\n" msgstr "μμ£Ό μ¬μ©νλ κΉ μλ΄μλ λ€μκ³Ό κ°μ΅λλ€:\n" -#: builtin/help.c:451 builtin/help.c:468 +#: builtin/help.c:448 builtin/help.c:465 #, c-format msgid "usage: %s%s" msgstr "μ¬μ©λ²: %s%s" -#: builtin/help.c:484 +#: builtin/help.c:481 #, c-format msgid "`git %s' is aliased to `%s'" msgstr "`git %s' λͺ
λ Ήμ `%s' λͺ
λ Ήμ λ¨μΆμ
λλ€" @@ -6833,58 +7069,53 @@ msgstr "μΈλ±μ€ νμΌμ μ μ₯ν μ μμ΅λλ€" msgid "bad pack.indexversion=%<PRIu32>" msgstr "μλͺ»λ pack.indexversion=%<PRIu32>" -#: builtin/index-pack.c:1475 -#, c-format -msgid "invalid number of threads specified (%d)" -msgstr "μλͺ»λ μ€λ λ μλ₯Ό μ§μ νμ΅λλ€ (%d)" - -#: builtin/index-pack.c:1479 builtin/index-pack.c:1663 +#: builtin/index-pack.c:1479 builtin/index-pack.c:1664 #, c-format msgid "no threads support, ignoring %s" msgstr "μ€λ λ κΈ°λ₯μ΄ μμ΅λλ€. %s 무μ" -#: builtin/index-pack.c:1537 +#: builtin/index-pack.c:1538 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "κΈ°μ‘΄ '%s' λ¬Άμ νμΌμ μ΄ μ μμ΅λλ€" -#: builtin/index-pack.c:1539 +#: builtin/index-pack.c:1540 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "'%s'μ λν κΈ°μ‘΄ λ¬Άμ idx νμΌμ μ΄ μ μμ΅λλ€" -#: builtin/index-pack.c:1586 +#: builtin/index-pack.c:1587 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" msgstr[0] "λΈν μλ: μ€λΈμ νΈ %dκ°" -#: builtin/index-pack.c:1593 +#: builtin/index-pack.c:1594 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" msgstr[0] "μ²΄μΈ κΈΈμ΄ = %d: μ€λΈμ νΈ %luκ°" -#: builtin/index-pack.c:1623 +#: builtin/index-pack.c:1624 msgid "Cannot come back to cwd" msgstr "νμ¬ λλ ν°λ¦¬λ‘ λμμ¬ μ μμ΅λλ€" -#: builtin/index-pack.c:1675 builtin/index-pack.c:1678 -#: builtin/index-pack.c:1690 builtin/index-pack.c:1694 +#: builtin/index-pack.c:1676 builtin/index-pack.c:1679 +#: builtin/index-pack.c:1691 builtin/index-pack.c:1695 #, c-format msgid "bad %s" msgstr "μλͺ»λ %s" -#: builtin/index-pack.c:1708 +#: builtin/index-pack.c:1709 msgid "--fix-thin cannot be used without --stdin" msgstr "--fix-thin μ΅μ
μ --stdin μ΅μ
κ³Ό κ°μ΄ μΈ μ μμ΅λλ€" -#: builtin/index-pack.c:1712 builtin/index-pack.c:1721 +#: builtin/index-pack.c:1713 builtin/index-pack.c:1722 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "'%s' λ¬ΆμνμΌ μ΄λ¦μ΄ '.pack'μΌλ‘ λλμ§ μμ΅λλ€" -#: builtin/index-pack.c:1729 +#: builtin/index-pack.c:1730 msgid "--verify with no packfile name given" msgstr "--verify μ΅μ
μ λ¬ΆμνμΌ μ΄λ¦μ μ§μ νμ§ μμμ΅λλ€" @@ -7010,24 +7241,32 @@ msgstr "μμ
ν΄λ '%s'μ μ κ·Όν μ μμ΅λλ€" #: builtin/interpret-trailers.c:15 msgid "" -"git interpret-trailers [--trim-empty] [(--trailer <token>[(=|:)<value>])...] " -"[<file>...]" +"git interpret-trailers [--in-place] [--trim-empty] [(--trailer " +"<token>[(=|:)<value>])...] [<file>...]" msgstr "" -"git interpret-trailers [--trim-empty] [(--trailer <ν ν°>[(=|:)<κ°>])...] [<ν" -"μΌ>...]" +"git interpret-trailers [--in-place] [--trim-empty] [(--trailer <ν ν°>[(=|:)<" +"κ°>])...] [<νμΌ>...]" -#: builtin/interpret-trailers.c:25 +#: builtin/interpret-trailers.c:26 +msgid "edit files in place" +msgstr "νμΌμ μ§μ νΈμ§ν©λλ€" + +#: builtin/interpret-trailers.c:27 msgid "trim empty trailers" msgstr "λΉ νΈλ μΌλ¬λ₯Ό μλΌλ
λλ€" -#: builtin/interpret-trailers.c:26 +#: builtin/interpret-trailers.c:28 msgid "trailer" msgstr "νΈλ μΌλ¬" -#: builtin/interpret-trailers.c:27 +#: builtin/interpret-trailers.c:29 msgid "trailer(s) to add" msgstr "μΆκ°ν νΈλ μΌλ¬" +#: builtin/interpret-trailers.c:42 +msgid "no input file given for in-place editing" +msgstr "νμΌ μ§μ νΈμ§μ μ
λ ₯ νμΌμ μ§μ νμ§ μμμ΅λλ€" + #: builtin/log.c:43 msgid "git log [<options>] [<revision-range>] [[--] <path>...]" msgstr "git log [<μ΅μ
>] [<리λΉμ -λ²μ>] [[--] <κ²½λ‘>...]" @@ -7081,325 +7320,377 @@ msgstr "%s μ€λΈμ νΈλ₯Ό μ½μ μ μμ΅λλ€" msgid "Unknown type: %d" msgstr "μ μ μλ μ’
λ₯: %d" -#: builtin/log.c:714 +#: builtin/log.c:715 msgid "format.headers without value" msgstr "format.headers μ€μ μ κ°μ΄ μμ" -#: builtin/log.c:798 +#: builtin/log.c:801 msgid "name of output directory is too long" msgstr "μΆλ ₯ λλ ν°λ¦¬μ μ΄λ¦μ΄ λ무 κΉλλ€" -#: builtin/log.c:813 +#: builtin/log.c:816 #, c-format msgid "Cannot open patch file %s" msgstr "%s ν¨μΉ νμΌμ μ΄ μ μμ΅λλ€" -#: builtin/log.c:827 +#: builtin/log.c:830 msgid "Need exactly one range." msgstr "μ νν νλμ λ²μκ° νμν©λλ€." -#: builtin/log.c:837 +#: builtin/log.c:840 msgid "Not a range." msgstr "λ²μκ° μλλλ€." -#: builtin/log.c:943 +#: builtin/log.c:946 msgid "Cover letter needs email format" msgstr "컀λ²λ ν°λ μ μλ©μΌ νμμ΄μ΄μΌ ν©λλ€" -#: builtin/log.c:1022 +#: builtin/log.c:1025 #, c-format msgid "insane in-reply-to: %s" msgstr "μ μ λκ° in-reply-to ν€λ: %s" -#: builtin/log.c:1050 +#: builtin/log.c:1053 msgid "git format-patch [<options>] [<since> | <revision-range>]" msgstr "git format-patch [<μ΅μ
>] [<μμμκ°> | <리λΉμ -λ²μ>]" -#: builtin/log.c:1095 +#: builtin/log.c:1098 msgid "Two output directories?" msgstr "μΆλ ₯ λλ ν°λ¦¬κ° λκ°?" -#: builtin/log.c:1211 +#: builtin/log.c:1214 msgid "use [PATCH n/m] even with a single patch" msgstr "νλμ ν¨μΉμ λν΄μλ [PATCh n/m]μ λΆμ
λλ€" -#: builtin/log.c:1214 +#: builtin/log.c:1217 msgid "use [PATCH] even with multiple patches" msgstr "μ¬λ¬ κ° ν¨μΉμ λν΄μλ [PATCH]λ₯Ό λΆμ
λλ€" -#: builtin/log.c:1218 +#: builtin/log.c:1221 msgid "print patches to standard out" msgstr "ν¨μΉλ₯Ό νμ€ μΆλ ₯μΌλ‘ νμν©λλ€" -#: builtin/log.c:1220 +#: builtin/log.c:1223 msgid "generate a cover letter" msgstr "컀λ²λ ν°λ₯Ό λ§λλλ€" -#: builtin/log.c:1222 +#: builtin/log.c:1225 msgid "use simple number sequence for output file names" msgstr "μΆλ ₯ νμΌ μ΄λ¦μ κ°λ¨ν μΌλ ¨ λ²νΈλ₯Ό μ¬μ©ν©λλ€" -#: builtin/log.c:1223 +#: builtin/log.c:1226 msgid "sfx" msgstr "νμ₯μ" -#: builtin/log.c:1224 +#: builtin/log.c:1227 msgid "use <sfx> instead of '.patch'" msgstr "'.patch' λμ <νμ₯μ>λ₯Ό μ¬μ©ν©λλ€" -#: builtin/log.c:1226 +#: builtin/log.c:1229 msgid "start numbering patches at <n> instead of 1" msgstr "ν¨μΉ λ²νΈλ₯Ό 1 λμ <n>μμ μμν©λλ€" -#: builtin/log.c:1228 +#: builtin/log.c:1231 msgid "mark the series as Nth re-roll" msgstr "μ리μ¦λ₯Ό Nλ²μ§Έ re-rollλ‘ νμν©λλ€" -#: builtin/log.c:1230 +#: builtin/log.c:1233 msgid "Use [<prefix>] instead of [PATCH]" msgstr "[PATCH] λμ [<μ λμ΄>]λ₯Ό μ¬μ©ν©λλ€" -#: builtin/log.c:1233 +#: builtin/log.c:1236 msgid "store resulting files in <dir>" msgstr "κ²°κ³Ό νμΌμ <λλ ν°λ¦¬>μ μ μ₯ν©λλ€" -#: builtin/log.c:1236 +#: builtin/log.c:1239 msgid "don't strip/add [PATCH]" msgstr "[PATCH]λ₯Ό μλ₯΄κ±°λ μΆκ°νμ§ μμ΅λλ€" -#: builtin/log.c:1239 +#: builtin/log.c:1242 msgid "don't output binary diffs" msgstr "λ°μ΄λ리 diffλ₯Ό λ§λ€μ§ μμ΅λλ€" -#: builtin/log.c:1241 +#: builtin/log.c:1244 msgid "output all-zero hash in From header" msgstr "From ν€λμμ λͺ¨λ 0μΈ ν΄μλ₯Ό μΆλ ₯ν©λλ€" -#: builtin/log.c:1243 +#: builtin/log.c:1246 msgid "don't include a patch matching a commit upstream" msgstr "μ
μ€νΈλ¦Όμ μλ ν¨μΉλ₯Ό ν¬ν¨νμ§ μμ΅λλ€" -#: builtin/log.c:1245 +#: builtin/log.c:1248 msgid "show patch format instead of default (patch + stat)" msgstr "κΈ°λ³Έκ° (ν¨μΉ + ν΅κ³) λμ ν¨μΉ νμμ νμν©λλ€" -#: builtin/log.c:1247 +#: builtin/log.c:1250 msgid "Messaging" msgstr "λ©μμ§" -#: builtin/log.c:1248 +#: builtin/log.c:1251 msgid "header" msgstr "ν€λ" -#: builtin/log.c:1249 +#: builtin/log.c:1252 msgid "add email header" msgstr "μ μλ©μΌ ν€λ" -#: builtin/log.c:1250 builtin/log.c:1252 +#: builtin/log.c:1253 builtin/log.c:1255 msgid "email" msgstr "μ μλ©μΌ" -#: builtin/log.c:1250 +#: builtin/log.c:1253 msgid "add To: header" msgstr "To: ν€λλ₯Ό μΆκ°ν©λλ€" -#: builtin/log.c:1252 +#: builtin/log.c:1255 msgid "add Cc: header" msgstr "Cc: ν€λλ₯Ό μΆκ°ν©λλ€" -#: builtin/log.c:1254 +#: builtin/log.c:1257 msgid "ident" msgstr "μ μ" -#: builtin/log.c:1255 +#: builtin/log.c:1258 msgid "set From address to <ident> (or committer ident if absent)" msgstr "<μ μ>μμ From μ£Όμλ₯Ό μ€μ ν©λλ€ (μμΌλ©΄ μ»€λ―Έν° μ£Όμ μ μ μ¬μ©)" -#: builtin/log.c:1257 +#: builtin/log.c:1260 msgid "message-id" msgstr "λ©μμ§-ID" -#: builtin/log.c:1258 +#: builtin/log.c:1261 msgid "make first mail a reply to <message-id>" msgstr "첫 λ©μΌμ <λ©μμ§-ID>μ λν λ΅μ₯ λ©μΌλ‘ λ§λλλ€" -#: builtin/log.c:1259 builtin/log.c:1262 +#: builtin/log.c:1262 builtin/log.c:1265 msgid "boundary" msgstr "κ²½κ³" -#: builtin/log.c:1260 +#: builtin/log.c:1263 msgid "attach the patch" msgstr "ν¨μΉλ₯Ό 첨λΆν©λλ€" -#: builtin/log.c:1263 +#: builtin/log.c:1266 msgid "inline the patch" msgstr "ν¨μΉλ₯Ό λ³Έλ¬Έμ ν¬ν¨ν©λλ€" -#: builtin/log.c:1267 +#: builtin/log.c:1270 msgid "enable message threading, styles: shallow, deep" msgstr "λ©μμ§μ μ€λ λλ₯Ό μ¬μ©, μ€νμΌ: shallow, deep" -#: builtin/log.c:1269 +#: builtin/log.c:1272 msgid "signature" msgstr "μλͺ
" -#: builtin/log.c:1270 +#: builtin/log.c:1273 msgid "add a signature" msgstr "μλͺ
μ μΆκ°ν©λλ€" -#: builtin/log.c:1272 +#: builtin/log.c:1275 msgid "add a signature from a file" msgstr "νμΌμμ μλͺ
μ μΆκ°ν©λλ€" -#: builtin/log.c:1273 +#: builtin/log.c:1276 msgid "don't print the patch filenames" msgstr "ν¨μΉ νμΌ μ΄λ¦μ νμνμ§ μμ΅λλ€" -#: builtin/log.c:1362 +#: builtin/log.c:1365 msgid "-n and -k are mutually exclusive." msgstr "-n λ° -k μ΅μ
μ νλλ§ μ¨μΌ ν©λλ€." -#: builtin/log.c:1364 +#: builtin/log.c:1367 msgid "--subject-prefix and -k are mutually exclusive." msgstr "--subject-prefix λ° -k μ΅μ
μ νλλ§ μ¨μΌ ν©λλ€." -#: builtin/log.c:1372 +#: builtin/log.c:1375 msgid "--name-only does not make sense" msgstr "--name-only μ΅μ
μ μλ€κ° λ§μ§ μμ΅λλ€" -#: builtin/log.c:1374 +#: builtin/log.c:1377 msgid "--name-status does not make sense" msgstr "--name-status μ΅μ
μ μλ€κ° λ§μ§ μμ΅λλ€" -#: builtin/log.c:1376 +#: builtin/log.c:1379 msgid "--check does not make sense" msgstr "--check μ΅μ
μ μλ€κ° λ§μ§ μμ΅λλ€" -#: builtin/log.c:1401 +#: builtin/log.c:1407 msgid "standard output, or directory, which one?" msgstr "νμ€ μΆλ ₯μ΄λ λλ ν°λ¦¬ μ€μ νλλ§ μ§μ ν΄μΌ ν©λλ€." -#: builtin/log.c:1403 +#: builtin/log.c:1409 #, c-format msgid "Could not create directory '%s'" msgstr "'%s' λλ ν°λ¦¬λ₯Ό λ§λ€ μ μμ΅λλ€" -#: builtin/log.c:1500 +#: builtin/log.c:1506 #, c-format msgid "unable to read signature file '%s'" msgstr "'%s' μλͺ
νμΌμ μ½μ μ μμ΅λλ€" -#: builtin/log.c:1563 +#: builtin/log.c:1569 msgid "Failed to create output files" msgstr "μΆλ ₯ νμΌμ λ§λλλ° μ€ν¨νμ΅λλ€" -#: builtin/log.c:1611 +#: builtin/log.c:1617 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" msgstr "git cherry [-v] [<μ
μ€νΈλ¦Ό> [<ν€λ> [<νκ³κ°>]]]" -#: builtin/log.c:1665 +#: builtin/log.c:1671 #, c-format msgid "" "Could not find a tracked remote branch, please specify <upstream> manually.\n" -msgstr "μΆμ λλ 리λͺ¨νΈ λΈλμΉλ₯Ό μ°Ύμ μ μμ΅λλ€. <μ
μ€νΈλ¦Ό>μ μλμΌλ‘ μ§μ νμμμ€.\n" +msgstr "" +"μΆμ λλ 리λͺ¨νΈ λΈλμΉλ₯Ό μ°Ύμ μ μμ΅λλ€. <μ
μ€νΈλ¦Ό>μ μλμΌλ‘ μ§μ νμμ" +"μ€.\n" -#: builtin/log.c:1676 builtin/log.c:1678 builtin/log.c:1690 +#: builtin/log.c:1682 builtin/log.c:1684 builtin/log.c:1696 #, c-format msgid "Unknown commit %s" msgstr "μ μ μλ μ»€λ° %s" -#: builtin/ls-files.c:358 +#: builtin/ls-files.c:378 msgid "git ls-files [<options>] [<file>...]" msgstr "git ls-files [<μ΅μ
>] [<νμΌ>...]" -#: builtin/ls-files.c:415 +#: builtin/ls-files.c:427 msgid "identify the file status with tags" msgstr "νμΌ μνλ₯Ό νκ·Έμ κ°μ΄ νμν©λλ€" -#: builtin/ls-files.c:417 +#: builtin/ls-files.c:429 msgid "use lowercase letters for 'assume unchanged' files" msgstr "'λ³κ²½λμ§ μμλ€κ³ κ°μ ' νμΌμ μλ¬Έμλ₯Ό μ¬μ©ν©λλ€" -#: builtin/ls-files.c:419 +#: builtin/ls-files.c:431 msgid "show cached files in the output (default)" msgstr "μΆλ ₯μ μΊμλ νμΌμ νμν©λλ€ (κΈ°λ³Έκ°)" -#: builtin/ls-files.c:421 +#: builtin/ls-files.c:433 msgid "show deleted files in the output" msgstr "μΆλ ₯μ μμ λ νμΌμ νμν©λλ€" -#: builtin/ls-files.c:423 +#: builtin/ls-files.c:435 msgid "show modified files in the output" msgstr "μΆλ ₯μ μμ λ νμΌμ νμν©λλ€" -#: builtin/ls-files.c:425 +#: builtin/ls-files.c:437 msgid "show other files in the output" msgstr "μΆλ ₯μ κΈ°ν νμΌμ νμν©λλ€" -#: builtin/ls-files.c:427 +#: builtin/ls-files.c:439 msgid "show ignored files in the output" msgstr "μΆλ ₯μ 무μλ νμΌμ νμν©λλ€" -#: builtin/ls-files.c:430 +#: builtin/ls-files.c:442 msgid "show staged contents' object name in the output" msgstr "μΆλ ₯μ μ»€λ° νμλ λ΄μ©μ μ€λΈμ νΈ μ΄λ¦μ νμν©λλ€" -#: builtin/ls-files.c:432 +#: builtin/ls-files.c:444 msgid "show files on the filesystem that need to be removed" msgstr "νμΌ μμ€ν
μμ μ κ±°ν΄μΌ νλ νμΌμ νμν©λλ€" -#: builtin/ls-files.c:434 +#: builtin/ls-files.c:446 msgid "show 'other' directories' names only" msgstr "κΈ°ν λλ ν°λ¦¬μ μ΄λ¦λ§ νμν©λλ€" -#: builtin/ls-files.c:437 +#: builtin/ls-files.c:448 +msgid "show line endings of files" +msgstr "νμΌμ μ€ λμ νμν©λλ€" + +#: builtin/ls-files.c:450 msgid "don't show empty directories" msgstr "λΉ λλ ν°λ¦¬ νμνμ§ μκΈ°" -#: builtin/ls-files.c:440 +#: builtin/ls-files.c:453 msgid "show unmerged files in the output" msgstr "μΆλ ₯μ λ³ν©νμ§ μμ νμΌμ νμν©λλ€" -#: builtin/ls-files.c:442 +#: builtin/ls-files.c:455 msgid "show resolve-undo information" msgstr "resolve-undo μ 보λ₯Ό νμν©λλ€" -#: builtin/ls-files.c:444 +#: builtin/ls-files.c:457 msgid "skip files matching pattern" msgstr "ν¨ν΄μ μΌμΉνλ νμΌμ 건λλλλ€" -#: builtin/ls-files.c:447 +#: builtin/ls-files.c:460 msgid "exclude patterns are read from <file>" msgstr "μ μΈν ν¨ν΄μ <νμΌ>μμ μ½μ΅λλ€" -#: builtin/ls-files.c:450 +#: builtin/ls-files.c:463 msgid "read additional per-directory exclude patterns in <file>" msgstr "<νμΌ>μμ μΆκ°μ μΈ λλ ν λ¦¬λ³ μ μΈ ν¨ν΄μ μ½μ΅λλ€" -#: builtin/ls-files.c:452 +#: builtin/ls-files.c:465 msgid "add the standard git exclusions" msgstr "νμ€ κΉ μ μΈ ν¨ν΄μ μΆκ°ν©λλ€" -#: builtin/ls-files.c:455 +#: builtin/ls-files.c:468 msgid "make the output relative to the project top directory" msgstr "μ΅μμ λλ ν 리 μλ κ²½λ‘λ‘ μΆλ ₯ν©λλ€" -#: builtin/ls-files.c:458 +#: builtin/ls-files.c:471 msgid "if any <file> is not in the index, treat this as an error" msgstr "<νμΌ>μ΄ μΈλ±μ€ μμ μμΌλ©΄ μ€λ₯λ‘ μ·¨κΈν©λλ€" -#: builtin/ls-files.c:459 +#: builtin/ls-files.c:472 msgid "tree-ish" msgstr "νΈλ¦¬-λ°μ" -#: builtin/ls-files.c:460 +#: builtin/ls-files.c:473 msgid "pretend that paths removed since <tree-ish> are still present" msgstr "<νΈλ¦¬-λ°μ> λ€λ‘ μ κ±°ν κ²½λ‘κ° μλ€κ³ κ°μ ν©λλ€" -#: builtin/ls-files.c:462 +#: builtin/ls-files.c:475 msgid "show debugging data" msgstr "λλ²κΉ
λ°μ΄ν°λ₯Ό νμν©λλ€" +#: builtin/ls-remote.c:7 +msgid "" +"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n" +" [-q | --quiet] [--exit-code] [--get-url]\n" +" [--symref] [<repository> [<refs>...]]" +msgstr "" +"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<μ€ν>]\n" +" [-q | --quiet] [--exit-code] [--get-url]\n" +" [--symref] [<μ μ₯μ> [<λ νΌλ°μ€>...]]" + +#: builtin/ls-remote.c:50 +msgid "do not print remote URL" +msgstr "μ격 URLμ νμνμ§ μμ΅λλ€" + +#: builtin/ls-remote.c:51 builtin/ls-remote.c:53 +msgid "exec" +msgstr "μ€ν" + +#: builtin/ls-remote.c:52 builtin/ls-remote.c:54 +msgid "path of git-upload-pack on the remote host" +msgstr "μ격 νΈμ€νΈμ git-upload-pack κ²½λ‘" + +#: builtin/ls-remote.c:56 +msgid "limit to tags" +msgstr "νκ·Έμ νμ " + +#: builtin/ls-remote.c:57 +msgid "limit to heads" +msgstr "ν€λμ νμ " + +#: builtin/ls-remote.c:58 +msgid "do not show peeled tags" +msgstr "λ²κ²¨μ§ νκ·Έλ₯Ό νμνμ§ μμ΅λλ€" + +#: builtin/ls-remote.c:60 +msgid "take url.<base>.insteadOf into account" +msgstr "url.<λ² μ΄μ€>.insteadOf μ€μ μ κ³ λ €ν©λλ€" + +#: builtin/ls-remote.c:62 +msgid "exit with exit code 2 if no matching refs are found" +msgstr "ν΄λΉνλ λ νΌλ°μ€κ° μμΌλ©΄ μ½λ 2λ²μΌλ‘ λλ
λλ€" + +#: builtin/ls-remote.c:64 +msgid "show underlying ref in addition to the object pointed by it" +msgstr "λ νΌλ°μ€μ λ νΌλ°μ€κ° κ°λ¦¬ν€λ μ€λΈμ νΈλ₯Ό νμν©λλ€" + #: builtin/ls-tree.c:28 msgid "git ls-tree [<options>] <tree-ish> [<path>...]" msgstr "git ls-tree [<μ΅μ
>] <νΈλ¦¬-λ°μ> [<κ²½λ‘>...]" @@ -7467,31 +7758,31 @@ msgstr "μ¬μ© κ°λ₯ν μ λ΅μ:" msgid "Available custom strategies are:" msgstr "μ¬μ© κ°λ₯ν μ¬μ©μ μ€μ μ λ΅μ:" -#: builtin/merge.c:193 builtin/pull.c:119 +#: builtin/merge.c:193 builtin/pull.c:123 msgid "do not show a diffstat at the end of the merge" msgstr "λ³ν©μ΄ λλ λ diffstatμ νμνμ§ μμ΅λλ€" -#: builtin/merge.c:196 builtin/pull.c:122 +#: builtin/merge.c:196 builtin/pull.c:126 msgid "show a diffstat at the end of the merge" msgstr "λ³ν©μ΄ λλ λ diffstatμ νμν©λλ€" -#: builtin/merge.c:197 builtin/pull.c:125 +#: builtin/merge.c:197 builtin/pull.c:129 msgid "(synonym to --stat)" msgstr "(--stat μ΅μ
κ³Ό λμΌ)" -#: builtin/merge.c:199 builtin/pull.c:128 +#: builtin/merge.c:199 builtin/pull.c:132 msgid "add (at most <n>) entries from shortlog to merge commit message" msgstr "λ³ν© 컀λ°μ λ©μμ§μ shortlog νλͺ©μ (μ΅λ <n>κ°) μΆκ°ν©λλ€" -#: builtin/merge.c:202 builtin/pull.c:131 +#: builtin/merge.c:202 builtin/pull.c:135 msgid "create a single commit instead of doing a merge" msgstr "λ³ν©νλ λμ νλμ 컀λ°μ λ§λλλ€" -#: builtin/merge.c:204 builtin/pull.c:134 +#: builtin/merge.c:204 builtin/pull.c:138 msgid "perform a commit if the merge succeeds (default)" msgstr "λ³ν©μ΄ μ±κ³΅νλ©΄ 컀λ°μ ν©λλ€ (κΈ°λ³Έκ°)" -#: builtin/merge.c:206 builtin/pull.c:137 +#: builtin/merge.c:206 builtin/pull.c:141 msgid "edit message before committing" msgstr "μ»€λ° μ μ λ©μμ§λ₯Ό νΈμ§ν©λλ€" @@ -7499,7 +7790,7 @@ msgstr "μ»€λ° μ μ λ©μμ§λ₯Ό νΈμ§ν©λλ€" msgid "allow fast-forward (default)" msgstr "μ λ°©ν₯ μ§νμ νμ©ν©λλ€ (κΈ°λ³Έκ°)" -#: builtin/merge.c:209 builtin/pull.c:143 +#: builtin/merge.c:209 builtin/pull.c:147 msgid "abort if fast-forward is not possible" msgstr "μ λ°©ν₯ μ§νμ΄ λΆκ°λ₯νλ©΄ μ€μ§ν©λλ€" @@ -7507,20 +7798,20 @@ msgstr "μ λ°©ν₯ μ§νμ΄ λΆκ°λ₯νλ©΄ μ€μ§ν©λλ€" msgid "Verify that the named commit has a valid GPG signature" msgstr "μ΄λ¦ λΆμΈ 컀λ°μ μ¬λ°λ₯Έ GPG μλͺ
μ΄ μλμ§ κ²μ¦ν©λλ€" -#: builtin/merge.c:214 builtin/notes.c:767 builtin/pull.c:148 +#: builtin/merge.c:214 builtin/notes.c:770 builtin/pull.c:152 #: builtin/revert.c:89 msgid "strategy" msgstr "μ λ΅" -#: builtin/merge.c:215 builtin/pull.c:149 +#: builtin/merge.c:215 builtin/pull.c:153 msgid "merge strategy to use" msgstr "μ¬μ©ν λ³ν© μ λ΅" -#: builtin/merge.c:216 builtin/pull.c:152 +#: builtin/merge.c:216 builtin/pull.c:156 msgid "option=value" msgstr "μ΅μ
=κ°" -#: builtin/merge.c:217 builtin/pull.c:153 +#: builtin/merge.c:217 builtin/pull.c:157 msgid "option for selected merge strategy" msgstr "μ νν λ³ν© μ λ΅μ λν μ΅μ
" @@ -7558,8 +7849,8 @@ msgstr " (ν©μΉ λ΄μ©μ΄ μμ΅λλ€)" msgid "Squash commit -- not updating HEAD\n" msgstr "μ»€λ° ν©μΉκΈ° -- HEADλ₯Ό μ
λ°μ΄νΈνμ§ μμ΅λλ€\n" -#: builtin/merge.c:344 builtin/merge.c:763 builtin/merge.c:975 -#: builtin/merge.c:988 +#: builtin/merge.c:344 builtin/merge.c:764 builtin/merge.c:976 +#: builtin/merge.c:989 #, c-format msgid "Could not write to '%s'" msgstr "'%s'μ μΈ μ μμ΅λλ€" @@ -7577,41 +7868,42 @@ msgstr "SQUASH_MSGλ₯Ό λ§μΉλ μ€" msgid "No merge message -- not updating HEAD\n" msgstr "λ³ν© λ©μμ§κ° μμ΅λλ€ -- HEADλ₯Ό μ
λ°μ΄νΈνμ§ μμ΅λλ€\n" -#: builtin/merge.c:447 +#: builtin/merge.c:448 #, c-format msgid "'%s' does not point to a commit" msgstr "'%s'μ΄(κ°) 컀λ°μ κ°λ¦¬ν€μ§ μμ΅λλ€" -#: builtin/merge.c:537 +#: builtin/merge.c:538 #, c-format msgid "Bad branch.%s.mergeoptions string: %s" msgstr "μλͺ»λ branch.%s.mergeoptions λ¬Έμμ΄: %s" -#: builtin/merge.c:656 +#: builtin/merge.c:657 msgid "Not handling anything other than two heads merge." msgstr "λ κ°μ ν€λ λ³ν© μΈμλ μ²λ¦¬νμ§ μμ΅λλ€." -#: builtin/merge.c:670 +#: builtin/merge.c:671 #, c-format msgid "Unknown option for merge-recursive: -X%s" msgstr "merge-recursiveμ λν΄ μ μ μλ μ΅μ
: -X%s" -#: builtin/merge.c:683 +#: builtin/merge.c:684 #, c-format msgid "unable to write %s" msgstr "%sμ μΈ μ μμ΅λλ€" -#: builtin/merge.c:772 +#: builtin/merge.c:773 #, c-format msgid "Could not read from '%s'" msgstr "'%s'μμ μ½μ μ μμ΅λλ€" -#: builtin/merge.c:781 +#: builtin/merge.c:782 #, c-format msgid "Not committing merge; use 'git commit' to complete the merge.\n" -msgstr "λ³ν©μ 컀λ°νμ§ μμ΅λλ€. λ³ν©μ λ§μΉλ €λ©΄ 'git commit'μ μ¬μ©νμμμ€.\n" +msgstr "" +"λ³ν©μ 컀λ°νμ§ μμ΅λλ€. λ³ν©μ λ§μΉλ €λ©΄ 'git commit'μ μ¬μ©νμμμ€.\n" -#: builtin/merge.c:787 +#: builtin/merge.c:788 #, c-format msgid "" "Please enter a commit message to explain why this merge is necessary,\n" @@ -7627,52 +7919,52 @@ msgstr "" "'%c' λ¬Έμλ‘ μμνλ μ€μ 무μλκ³ , λ©μμ§κ° λΉμ΄ μμΌλ©΄ 컀λ°μ\n" "μ€μ§ν©λλ€.\n" -#: builtin/merge.c:811 +#: builtin/merge.c:812 msgid "Empty commit message." msgstr "λΉ μ»€λ° λ©μμ§." -#: builtin/merge.c:823 +#: builtin/merge.c:824 #, c-format msgid "Wonderful.\n" msgstr "νλ₯ν©λλ€.\n" -#: builtin/merge.c:878 +#: builtin/merge.c:879 #, c-format msgid "Automatic merge failed; fix conflicts and then commit the result.\n" msgstr "μλ λ³ν©μ΄ μ€ν¨νμ΅λλ€. μΆ©λμ λ°λ‘μ‘κ³ κ²°κ³Όλ¬Όμ 컀λ°νμμμ€.\n" -#: builtin/merge.c:894 +#: builtin/merge.c:895 #, c-format msgid "'%s' is not a commit" msgstr "'%s'μ(λ) 컀λ°μ΄ μλλλ€" -#: builtin/merge.c:935 +#: builtin/merge.c:936 msgid "No current branch." msgstr "νμ¬ λΈλμΉκ° μμ΅λλ€." -#: builtin/merge.c:937 +#: builtin/merge.c:938 msgid "No remote for the current branch." msgstr "νμ¬ λΈλμΉμ λν 리λͺ¨νΈκ° μμ΅λλ€." -#: builtin/merge.c:939 +#: builtin/merge.c:940 msgid "No default upstream defined for the current branch." msgstr "νμ¬ λΈλμΉμ λν΄ κΈ°λ³Έ μ
μ€νΈλ¦Όμ μ§μ νμ§ μμμ΅λλ€." -#: builtin/merge.c:944 +#: builtin/merge.c:945 #, c-format msgid "No remote-tracking branch for %s from %s" msgstr "리λͺ¨νΈ %2$sμμ %1$sμ λν 리λͺ¨νΈ μΆμ λΈλμΉκ° μμ΅λλ€" -#: builtin/merge.c:1079 +#: builtin/merge.c:1080 #, c-format msgid "could not close '%s'" msgstr "'%s'μ(λ₯Ό) λ«μ μ μμ΅λλ€" -#: builtin/merge.c:1206 +#: builtin/merge.c:1207 msgid "There is no merge to abort (MERGE_HEAD missing)." msgstr "μ€μ§ν λ³ν© μμ
μ΄ μμ΅λλ€. (MERGE_HEADκ° μμ)" -#: builtin/merge.c:1222 +#: builtin/merge.c:1223 msgid "" "You have not concluded your merge (MERGE_HEAD exists).\n" "Please, commit your changes before you merge." @@ -7680,7 +7972,7 @@ msgstr "" "λ³ν©μ λ§μΉμ§ μμμ΅λλ€. (MERGE_HEAD μμ)\n" "λ³ν©νκΈ° μ μ λ³κ²½ μ¬νμ 컀λ°νμμμ€." -#: builtin/merge.c:1229 +#: builtin/merge.c:1230 msgid "" "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n" "Please, commit your changes before you merge." @@ -7688,100 +7980,100 @@ msgstr "" "μ»€λ° λΉΌμ€κΈ°λ₯Ό λ§μΉμ§ μμμ΅λλ€. (COMMIT_PICK_HEAD μμ)\n" "λ³ν©νκΈ° μ μ λ³κ²½ μ¬νμ 컀λ°νμμμ€." -#: builtin/merge.c:1232 +#: builtin/merge.c:1233 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)." msgstr "μ»€λ° λΉΌμ€κΈ°λ₯Ό λ§μΉμ§ μμμ΅λλ€. (CHERRY_PICK_HEAD μμ)" -#: builtin/merge.c:1241 +#: builtin/merge.c:1242 msgid "You cannot combine --squash with --no-ff." msgstr "--squash μ΅μ
μ --no-ff μ΅μ
κ³Ό κ°μ΄ μΈ μ μμ΅λλ€." -#: builtin/merge.c:1249 +#: builtin/merge.c:1250 msgid "No commit specified and merge.defaultToUpstream not set." msgstr "컀λ°μ μ§μ νμ§ μμκ³ merge.defaultToUpstreamλ₯Ό μ€μ νμ§ μμμ΅λλ€." -#: builtin/merge.c:1266 +#: builtin/merge.c:1267 msgid "Squash commit into empty head not supported yet" msgstr "λΉ ν€λλ‘ μ»€λ°μ ν©μΉκΈ°λ μ§μνμ§ μμ΅λλ€" -#: builtin/merge.c:1268 +#: builtin/merge.c:1269 msgid "Non-fast-forward commit does not make sense into an empty head" msgstr "μ λ°©ν₯μ΄ μλ 컀λ°μ λΉ ν€λμμλ μλ€κ° λ§μ§ μμ΅λλ€" -#: builtin/merge.c:1274 +#: builtin/merge.c:1275 #, c-format msgid "%s - not something we can merge" msgstr "%s - λ³ν©ν μ μλ νλͺ©μ΄ μλλλ€" -#: builtin/merge.c:1276 +#: builtin/merge.c:1277 msgid "Can merge only exactly one commit into empty head" msgstr "λΉ ν€λμλ μ νν νλμ 컀λ°λ§ λ³ν©ν μ μμ΅λλ€" -#: builtin/merge.c:1331 +#: builtin/merge.c:1332 #, c-format msgid "Commit %s has an untrusted GPG signature, allegedly by %s." msgstr "%s 컀λ°μ μ λ’°νμ§ μλ (μλͺ
μκ° %sλΌκ³ νλ) GPG μλͺ
μ΄ μμ΅λλ€." -#: builtin/merge.c:1334 +#: builtin/merge.c:1335 #, c-format msgid "Commit %s has a bad GPG signature allegedly by %s." msgstr "%s 컀λ°μ μλͺ»λ (μλͺ
μκ° %sλΌκ³ νλ) GPG μλͺ
μ΄ μμ΅λλ€." -#: builtin/merge.c:1337 +#: builtin/merge.c:1338 #, c-format msgid "Commit %s does not have a GPG signature." msgstr "%s 컀λ°μ GPG μλͺ
μ΄ μμ΅λλ€." -#: builtin/merge.c:1340 +#: builtin/merge.c:1341 #, c-format msgid "Commit %s has a good GPG signature by %s\n" msgstr "%s 컀λ°μ %sμ μ¬λ°λ₯Έ GPG μλͺ
μ΄ μμ΅λλ€\n" -#: builtin/merge.c:1423 +#: builtin/merge.c:1424 #, c-format msgid "Updating %s..%s\n" msgstr "μ
λ°μ΄νΈ μ€ %s..%s\n" -#: builtin/merge.c:1460 +#: builtin/merge.c:1461 #, c-format msgid "Trying really trivial in-index merge...\n" msgstr "μμ£Ό κ°λ¨ν μΈλ±μ€ λ΄λΆ λ³ν©μ μλν©λλ€...\n" -#: builtin/merge.c:1467 +#: builtin/merge.c:1468 #, c-format msgid "Nope.\n" msgstr "μλ.\n" -#: builtin/merge.c:1499 +#: builtin/merge.c:1500 msgid "Not possible to fast-forward, aborting." msgstr "μ λ°©ν₯μ΄ λΆκ°λ₯νλ―λ‘, μ€μ§ν©λλ€." -#: builtin/merge.c:1522 builtin/merge.c:1601 +#: builtin/merge.c:1523 builtin/merge.c:1602 #, c-format msgid "Rewinding the tree to pristine...\n" msgstr "νΈλ¦¬λ₯Ό λ³Έλ μμΉλ‘ λλ립λλ€...\n" -#: builtin/merge.c:1526 +#: builtin/merge.c:1527 #, c-format msgid "Trying merge strategy %s...\n" msgstr "λ³ν© μ λ΅ %s μλ...\n" -#: builtin/merge.c:1592 +#: builtin/merge.c:1593 #, c-format msgid "No merge strategy handled the merge.\n" msgstr "λ³ν©μ μ²λ¦¬ν μ λ΅μ΄ μμ΅λλ€.\n" -#: builtin/merge.c:1594 +#: builtin/merge.c:1595 #, c-format msgid "Merge with strategy %s failed.\n" msgstr "μ λ΅ %s(μΌ)λ‘ λ³ν©μ΄ μ€ν¨νμ΅λλ€.\n" -#: builtin/merge.c:1603 +#: builtin/merge.c:1604 #, c-format msgid "Using the %s to prepare resolving by hand.\n" msgstr "μλ ν΄κ²°μ μ€λΉλ₯Ό μν΄ %s μ λ΅μ μ¬μ©ν©λλ€.\n" -#: builtin/merge.c:1615 +#: builtin/merge.c:1616 #, c-format msgid "Automatic merge went well; stopped before committing as requested\n" msgstr "μλ λ³ν©μ΄ μ μ§νλμμ΅λλ€. μμ²νλλ‘ μ»€λ° μ μ μ€μ§ν©λλ€\n" @@ -7830,7 +8122,9 @@ msgstr "<λ νΌλ°μ€>μ reflogμμ <컀λ°>μ΄ λΆλ¦¬λ μμΉλ₯Ό μ°Ύμ΅λ msgid "" "git merge-file [<options>] [-L <name1> [-L <orig> [-L <name2>]]] <file1> " "<orig-file> <file2>" -msgstr "git merge-file [<μ΅μ
>] [-L <μ΄λ¦1> [-L <orig> [-L <μ΄λ¦2>]]] <νμΌ1> <λ³Έλ-νμΌ> <νμΌ2>" +msgstr "" +"git merge-file [<μ΅μ
>] [-L <μ΄λ¦1> [-L <orig> [-L <μ΄λ¦2>]]] <νμΌ1> <λ³Έλ-" +"νμΌ> <νμΌ2>" #: builtin/merge-file.c:33 msgid "send results to standard output" @@ -7864,19 +8158,19 @@ msgstr "μΆ©λμ λν΄ κ²½κ³ νμ§ μμ΅λλ€" msgid "set labels for file1/orig-file/file2" msgstr "<νμΌ1>/<λ³Έλ-νμΌ>/<νμΌ2>μ λν λ μ΄λΈμ μ€μ ν©λλ€" -#: builtin/mktree.c:64 +#: builtin/mktree.c:65 msgid "git mktree [-z] [--missing] [--batch]" msgstr "git mktree [-z] [--missing] [--batch]" -#: builtin/mktree.c:150 +#: builtin/mktree.c:152 msgid "input is NUL terminated" msgstr "μ
λ ₯μ΄ NULλ‘ λλ©λλ€" -#: builtin/mktree.c:151 builtin/write-tree.c:24 +#: builtin/mktree.c:153 builtin/write-tree.c:24 msgid "allow missing objects" msgstr "μλ μ€λΈμ νΈλ₯Ό νμ©ν©λλ€" -#: builtin/mktree.c:152 +#: builtin/mktree.c:154 msgid "allow creation of more than one tree" msgstr "μ¬λ¬κ° νΈλ¦¬ λ§λ€κΈ°λ₯Ό νμ©ν©λλ€" @@ -7884,90 +8178,90 @@ msgstr "μ¬λ¬κ° νΈλ¦¬ λ§λ€κΈ°λ₯Ό νμ©ν©λλ€" msgid "git mv [<options>] <source>... <destination>" msgstr "git mv [<μ΅μ
>] <μλ³Έ>... <λμ>" -#: builtin/mv.c:69 +#: builtin/mv.c:70 #, c-format msgid "Directory %s is in index and no submodule?" msgstr "%s λλ ν°λ¦¬κ° μΈλ±μ€μ μκ³ νμ λͺ¨λμ΄ μμ΅λλ€?" -#: builtin/mv.c:71 +#: builtin/mv.c:72 msgid "Please stage your changes to .gitmodules or stash them to proceed" msgstr "κ³μνλ €λ©΄ .gitmodulesμ λ³κ²½ μ¬νμ μ€ν
μ΄μ§μ λ£κ±°λ stash νμμμ€" -#: builtin/mv.c:89 +#: builtin/mv.c:90 #, c-format msgid "%.*s is in index" msgstr "%.*sμ΄(κ°) μΈλ±μ€μ μμ΅λλ€" -#: builtin/mv.c:111 +#: builtin/mv.c:112 msgid "force move/rename even if target exists" msgstr "λμμ΄ μ΄λ―Έ μμ΄λ κ°μ λ‘ μκΈ°κΈ°/μ΄λ¦ λ°κΎΈκΈ°λ₯Ό ν©λλ€" -#: builtin/mv.c:112 +#: builtin/mv.c:113 msgid "skip move/rename errors" msgstr "μκΈ°κΈ°/μ΄λ¦ λ°κΎΈκΈ° μ€λ₯λ₯Ό 건λ λλλ€" -#: builtin/mv.c:151 +#: builtin/mv.c:152 #, c-format msgid "destination '%s' is not a directory" msgstr "λμμ΄ ('%s') λλ ν°λ¦¬κ° μλλλ€" -#: builtin/mv.c:162 +#: builtin/mv.c:163 #, c-format msgid "Checking rename of '%s' to '%s'\n" msgstr "'%s'μ(λ₯Ό) '%s'(μΌ)λ‘ μ΄λ¦ λ°κΎΈκΈ°ν©λλ€\n" -#: builtin/mv.c:166 +#: builtin/mv.c:167 msgid "bad source" msgstr "μλͺ»λ μλ³Έ" -#: builtin/mv.c:169 +#: builtin/mv.c:170 msgid "can not move directory into itself" msgstr "λλ ν°λ¦¬λ₯Ό μκΈ° μμ μΌλ‘ μκΈΈ μ μμ΅λλ€" -#: builtin/mv.c:172 +#: builtin/mv.c:173 msgid "cannot move directory over file" msgstr "λλ ν°λ¦¬λ₯Ό νμΌλ‘ μκΈΈ μ μμ΅λλ€" -#: builtin/mv.c:181 +#: builtin/mv.c:182 msgid "source directory is empty" msgstr "μλ³Έ λλ ν°λ¦¬κ° λΉμ΄ μμ΅λλ€" -#: builtin/mv.c:206 +#: builtin/mv.c:207 msgid "not under version control" msgstr "λ²μ 컨νΈλ‘€ μ€μ΄ μλλλ€" -#: builtin/mv.c:209 +#: builtin/mv.c:210 msgid "destination exists" msgstr "λμμ΄ μμ΅λλ€" -#: builtin/mv.c:217 +#: builtin/mv.c:218 #, c-format msgid "overwriting '%s'" msgstr "'%s' λμ΄μ°κΈ°" -#: builtin/mv.c:220 +#: builtin/mv.c:221 msgid "Cannot overwrite" msgstr "λμ΄μΈ μ μμ΅λλ€" -#: builtin/mv.c:223 +#: builtin/mv.c:224 msgid "multiple sources for the same target" msgstr "λμΌν λμμ λν΄ μ¬λ¬ κ° μλ³Έ" -#: builtin/mv.c:225 +#: builtin/mv.c:226 msgid "destination directory does not exist" msgstr "λμ λλ ν°λ¦¬κ° μμ΅λλ€" -#: builtin/mv.c:232 +#: builtin/mv.c:233 #, c-format msgid "%s, source=%s, destination=%s" msgstr "%s, μλ³Έ=%s, λμ=%s" -#: builtin/mv.c:253 +#: builtin/mv.c:254 #, c-format msgid "Renaming %s to %s\n" msgstr "μ΄λ¦ λ°κΎΈκΈ°, '%s'μμ '%s'(μΌ)λ‘\n" -#: builtin/mv.c:256 builtin/remote.c:728 builtin/repack.c:365 +#: builtin/mv.c:257 builtin/remote.c:714 builtin/repack.c:365 #, c-format msgid "renaming '%s' failed" msgstr "'%s'μ μ΄λ¦ λ°κΎΈκΈ°κ° μ€ν¨νμ΅λλ€" @@ -8026,7 +8320,8 @@ msgstr "" #: builtin/notes.c:27 msgid "git notes [--ref <notes-ref>] copy [-f] <from-object> <to-object>" -msgstr "git notes [--ref <λ
ΈνΈ-λ νΌλ°μ€>] copy [-f] <μλ³Έ-μ€λΈμ νΈ> <λμ-μ€λΈμ νΈ>" +msgstr "" +"git notes [--ref <λ
ΈνΈ-λ νΌλ°μ€>] copy [-f] <μλ³Έ-μ€λΈμ νΈ> <λμ-μ€λΈμ νΈ>" #: builtin/notes.c:28 msgid "" @@ -8047,7 +8342,8 @@ msgstr "git notes [--ref <notes-ref>] show [<μ€λΈμ νΈ>]" #: builtin/notes.c:31 msgid "" "git notes [--ref <notes-ref>] merge [-v | -q] [-s <strategy>] <notes-ref>" -msgstr "git notes [--ref <λ
ΈνΈ-λ νΌλ°μ€>] merge [-v | -q] [-s <μ λ΅>] <λ
ΈνΈ-λ νΌλ°μ€>" +msgstr "" +"git notes [--ref <λ
ΈνΈ-λ νΌλ°μ€>] merge [-v | -q] [-s <μ λ΅>] <λ
ΈνΈ-λ νΌλ°μ€>" #: builtin/notes.c:32 msgid "git notes merge --commit [-v | -q]" @@ -8164,9 +8460,9 @@ msgid "could not open or read '%s'" msgstr "'%s'μ(λ₯Ό) μ΄κ±°λ μ½μ μ μμ΅λλ€" #: builtin/notes.c:253 builtin/notes.c:304 builtin/notes.c:306 -#: builtin/notes.c:366 builtin/notes.c:421 builtin/notes.c:507 -#: builtin/notes.c:512 builtin/notes.c:590 builtin/notes.c:653 -#: builtin/notes.c:877 builtin/tag.c:456 +#: builtin/notes.c:369 builtin/notes.c:424 builtin/notes.c:510 +#: builtin/notes.c:515 builtin/notes.c:593 builtin/notes.c:656 +#: builtin/notes.c:880 builtin/tag.c:456 #, c-format msgid "Failed to resolve '%s' as a valid ref." msgstr "'%s'μ(λ₯Ό) μ¬λ°λ₯Έ λ νΌλ°μ€λ‘ μμλ΄λλ° μ€ν¨νμ΅λλ€." @@ -8181,83 +8477,87 @@ msgstr "'%s' μ€λΈμ νΈ μ½κΈ°μ μ€ν¨νμ΅λλ€." msgid "Cannot read note data from non-blob object '%s'." msgstr "λΈλ‘μ΄ μλ '%s' μ€λΈμ νΈμ λν΄ λ
ΈνΈ λ°μ΄ν°λ₯Ό μ½μ μ μμ΅λλ€." -#: builtin/notes.c:359 builtin/notes.c:414 builtin/notes.c:490 -#: builtin/notes.c:502 builtin/notes.c:578 builtin/notes.c:646 -#: builtin/notes.c:942 +#: builtin/notes.c:362 builtin/notes.c:417 builtin/notes.c:493 +#: builtin/notes.c:505 builtin/notes.c:581 builtin/notes.c:649 +#: builtin/notes.c:945 msgid "too many parameters" msgstr "νλΌλ―Έν°κ° λ무 λ§μ΅λλ€" -#: builtin/notes.c:372 builtin/notes.c:659 +#: builtin/notes.c:375 builtin/notes.c:662 #, c-format msgid "No note found for object %s." msgstr "%s μ€λΈμ νΈμ λν΄ λ
ΈνΈκ° μμ΅λλ€." -#: builtin/notes.c:393 builtin/notes.c:556 +#: builtin/notes.c:396 builtin/notes.c:559 msgid "note contents as a string" msgstr "λ¬Έμμ΄λ‘ λ
ΈνΈ λ΄μ©" -#: builtin/notes.c:396 builtin/notes.c:559 +#: builtin/notes.c:399 builtin/notes.c:562 msgid "note contents in a file" msgstr "νμΌ μμ λ
ΈνΈ λ΄μ©" -#: builtin/notes.c:399 builtin/notes.c:562 +#: builtin/notes.c:402 builtin/notes.c:565 msgid "reuse and edit specified note object" msgstr "μ§μ ν λ
ΈνΈ μ€λΈμ νΈλ₯Ό μ¬μ¬μ©νκ³ νΈμ§ν©λλ€" -#: builtin/notes.c:402 builtin/notes.c:565 +#: builtin/notes.c:405 builtin/notes.c:568 msgid "reuse specified note object" msgstr "μ§μ ν λ
ΈνΈ μ€λΈμ νΈλ₯Ό μ¬μ¬μ©ν©λλ€" -#: builtin/notes.c:405 builtin/notes.c:568 +#: builtin/notes.c:408 builtin/notes.c:571 msgid "allow storing empty note" msgstr "λΉ λ
ΈνΈ μ μ₯μ νμ©ν©λλ€" -#: builtin/notes.c:406 builtin/notes.c:477 +#: builtin/notes.c:409 builtin/notes.c:480 msgid "replace existing notes" msgstr "κΈ°μ‘΄ λ
ΈνΈλ₯Ό λ°κΏλλ€" -#: builtin/notes.c:431 +#: builtin/notes.c:434 #, c-format msgid "" "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite " "existing notes" -msgstr "λ
ΈνΈλ₯Ό μΆκ°ν μ μμ΅λλ€. %s μ€λΈμ νΈμ λν κΈ°μ‘΄ λ
ΈνΈκ° μμ΅λλ€. κΈ°μ‘΄ λ
ΈνΈλ₯Ό λμ΄μ°λ €λ©΄ '-f' μ΅μ
μ μ¬μ©νμμμ€" +msgstr "" +"λ
ΈνΈλ₯Ό μΆκ°ν μ μμ΅λλ€. %s μ€λΈμ νΈμ λν κΈ°μ‘΄ λ
ΈνΈκ° μμ΅λλ€. κΈ°μ‘΄ λ
ΈνΈ" +"λ₯Ό λμ΄μ°λ €λ©΄ '-f' μ΅μ
μ μ¬μ©νμμμ€" -#: builtin/notes.c:446 builtin/notes.c:525 +#: builtin/notes.c:449 builtin/notes.c:528 #, c-format msgid "Overwriting existing notes for object %s\n" msgstr "%s μ€λΈμ νΈμ λν κΈ°μ‘΄ λ
ΈνΈλ₯Ό λμ΄μλλ€\n" -#: builtin/notes.c:457 builtin/notes.c:618 builtin/notes.c:882 +#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:885 #, c-format msgid "Removing note for object %s\n" msgstr "%s μ€λΈμ νΈμ λν λ
ΈνΈλ₯Ό μ κ±°ν©λλ€\n" -#: builtin/notes.c:478 +#: builtin/notes.c:481 msgid "read objects from stdin" msgstr "νμ€ μ
λ ₯μμ μ€λΈμ νΈλ₯Ό μ½μ΅λλ€" -#: builtin/notes.c:480 +#: builtin/notes.c:483 msgid "load rewriting config for <command> (implies --stdin)" msgstr "<λͺ
λ Ή>μ λν λ€μμ°κΈ° μ€μ μ μ½μ΄λ€μ
λλ€ (--stdin μ΅μ
ν¬ν¨)" -#: builtin/notes.c:498 +#: builtin/notes.c:501 msgid "too few parameters" msgstr "νλΌλ―Έν°κ° λ무 μ μ΅λλ€" -#: builtin/notes.c:519 +#: builtin/notes.c:522 #, c-format msgid "" "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite " "existing notes" -msgstr "λ
ΈνΈλ₯Ό 볡μ¬ν μ μμ΅λλ€. %s μ€λΈμ νΈμ λν κΈ°μ‘΄ λ
ΈνΈκ° μμ΅λλ€. κΈ°μ‘΄ λ
ΈνΈλ₯Ό λμ΄μ°λ €λ©΄ '-f' μ΅μ
μ μ¬μ©νμμμ€" +msgstr "" +"λ
ΈνΈλ₯Ό 볡μ¬ν μ μμ΅λλ€. %s μ€λΈμ νΈμ λν κΈ°μ‘΄ λ
ΈνΈκ° μμ΅λλ€. κΈ°μ‘΄ λ
ΈνΈ" +"λ₯Ό λμ΄μ°λ €λ©΄ '-f' μ΅μ
μ μ¬μ©νμμμ€" -#: builtin/notes.c:531 +#: builtin/notes.c:534 #, c-format msgid "Missing notes on source object %s. Cannot copy." msgstr "μλ³Έ %s μ€λΈμ νΈμ λν λ
ΈνΈκ° μμ΅λλ€. 볡μ¬ν μ μμ΅λλ€." -#: builtin/notes.c:583 +#: builtin/notes.c:586 #, c-format msgid "" "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n" @@ -8266,63 +8566,65 @@ msgstr "" "-m/-F/-c/-C μ΅μ
μ 'edit' νμ λͺ
λ Ήμ λν΄ μ¬μ©μ κΆνμ§ μμ΅λλ€.\n" "λμ μ 'git notes add -f -m/-F/-c/-C' λͺ
λ Ήμ μ¬μ©νμμμ€.\n" -#: builtin/notes.c:764 +#: builtin/notes.c:767 msgid "General options" msgstr "μΌλ° μ΅μ
" -#: builtin/notes.c:766 +#: builtin/notes.c:769 msgid "Merge options" msgstr "λ³ν© μ΅μ
" -#: builtin/notes.c:768 +#: builtin/notes.c:771 msgid "" "resolve notes conflicts using the given strategy (manual/ours/theirs/union/" "cat_sort_uniq)" -msgstr "μ£Όμ΄μ§ μ λ΅μ μ¬μ©ν΄ λ
ΈνΈ μΆ©λμ ν΄κ²°ν©λλ€ (manual/ours/theirs/union/cat_sort_uniq)" +msgstr "" +"μ£Όμ΄μ§ μ λ΅μ μ¬μ©ν΄ λ
ΈνΈ μΆ©λμ ν΄κ²°ν©λλ€ (manual/ours/theirs/union/" +"cat_sort_uniq)" -#: builtin/notes.c:770 +#: builtin/notes.c:773 msgid "Committing unmerged notes" msgstr "λ³ν©νμ§ μμ λ
ΈνΈ 컀λ°" -#: builtin/notes.c:772 +#: builtin/notes.c:775 msgid "finalize notes merge by committing unmerged notes" msgstr "λ³ν©νμ§ μμ λ
ΈνΈλ₯Ό 컀λ°ν΄ λ
ΈνΈ λ³ν©μ λ§μΉ©λλ€" -#: builtin/notes.c:774 +#: builtin/notes.c:777 msgid "Aborting notes merge resolution" msgstr "λ
ΈνΈ λ³ν© ν΄κ²° μ€μ§" -#: builtin/notes.c:776 +#: builtin/notes.c:779 msgid "abort notes merge" msgstr "λ
ΈνΈ λ³ν©μ μ€μ§ν©λλ€" -#: builtin/notes.c:853 +#: builtin/notes.c:856 #, c-format msgid "A notes merge into %s is already in-progress at %s" msgstr "%s μμΉλ‘ λ
ΈνΈ λ³ν©μ΄ μ΄λ―Έ %sμμ μ§νμ€μ
λλ€" -#: builtin/notes.c:880 +#: builtin/notes.c:883 #, c-format msgid "Object %s has no note\n" msgstr "%s μ€λΈμ νΈμ λ
ΈνΈκ° μμ΅λλ€\n" -#: builtin/notes.c:892 +#: builtin/notes.c:895 msgid "attempt to remove non-existent note is not an error" msgstr "μλ λ
ΈνΈλ₯Ό μ κ±°νλ €λ μλλ₯Ό μ€λ₯κ° μλ κ²μΌλ‘ μ·¨κΈν©λλ€" -#: builtin/notes.c:895 +#: builtin/notes.c:898 msgid "read object names from the standard input" msgstr "νμ€ μ
λ ₯μμ μ€λΈμ νΈ μ΄λ¦μ μ½μ΅λλ€" -#: builtin/notes.c:976 +#: builtin/notes.c:979 msgid "notes-ref" msgstr "λ
ΈνΈ-λ νΌλ°μ€" -#: builtin/notes.c:977 +#: builtin/notes.c:980 msgid "use notes from <notes-ref>" msgstr "<λ
ΈνΈ-λ νΌλ°μ€>μμ λ
ΈνΈλ₯Ό μ¬μ©ν©λλ€" -#: builtin/notes.c:1012 builtin/remote.c:1647 +#: builtin/notes.c:1015 builtin/remote.c:1626 #, c-format msgid "Unknown subcommand: %s" msgstr "μ μ μλ νμ λͺ
λ Ή: %s" @@ -8345,166 +8647,166 @@ msgstr "" msgid "deflate error (%d)" msgstr "deflate μ€λ₯ (%d)" -#: builtin/pack-objects.c:771 +#: builtin/pack-objects.c:772 msgid "Writing objects" msgstr "μ€λΈμ νΈ μ°λ μ€" -#: builtin/pack-objects.c:1011 +#: builtin/pack-objects.c:1012 msgid "disabling bitmap writing, as some objects are not being packed" msgstr "λ¬Άμμ λ€μ΄μμ§ μμ μ€λΈμ νΈκ° μμΌλ―λ‘, λΉνΈλ§΅ μ°κΈ°λ₯Ό νμ§ μμ΅λλ€" -#: builtin/pack-objects.c:2171 +#: builtin/pack-objects.c:2172 msgid "Compressing objects" msgstr "μ€λΈμ νΈ μμΆνλ μ€" -#: builtin/pack-objects.c:2568 +#: builtin/pack-objects.c:2558 #, c-format msgid "unsupported index version %s" msgstr "μ§μνμ§ μλ μΈλ±μ€ λ²μ %s" -#: builtin/pack-objects.c:2572 +#: builtin/pack-objects.c:2562 #, c-format msgid "bad index version '%s'" msgstr "μλͺ»λ μΈλ±μ€ λ²μ '%s'" -#: builtin/pack-objects.c:2602 +#: builtin/pack-objects.c:2592 msgid "do not show progress meter" msgstr "μ§νλ₯ μ νμνμ§ μμ΅λλ€" -#: builtin/pack-objects.c:2604 +#: builtin/pack-objects.c:2594 msgid "show progress meter" msgstr "μ§νλ₯ μ νμν©λλ€" -#: builtin/pack-objects.c:2606 +#: builtin/pack-objects.c:2596 msgid "show progress meter during object writing phase" msgstr "μ€λΈμ νΈ μ°κΈ° λ¨κ³μμ μ§νλ₯ μ νμν©λλ€" -#: builtin/pack-objects.c:2609 +#: builtin/pack-objects.c:2599 msgid "similar to --all-progress when progress meter is shown" msgstr "μ§νλ₯ μ΄ νμλ λ --all-progressμ λΉμ·ν©λλ€" -#: builtin/pack-objects.c:2610 +#: builtin/pack-objects.c:2600 msgid "version[,offset]" msgstr "λ²μ [,μ€νμ
]" -#: builtin/pack-objects.c:2611 +#: builtin/pack-objects.c:2601 msgid "write the pack index file in the specified idx format version" msgstr "μ§μ ν λ²μ μ μΈλ±μ€ νμμ λ°λΌ λ¬Άμ μΈλ±μ€ νμΌμ μλλ€" -#: builtin/pack-objects.c:2614 +#: builtin/pack-objects.c:2604 msgid "maximum size of each output pack file" msgstr "μΆλ ₯ λ¬Άμ νμΌμ μ΅λ ν¬κΈ°" -#: builtin/pack-objects.c:2616 +#: builtin/pack-objects.c:2606 msgid "ignore borrowed objects from alternate object store" msgstr "보쑰 μ€λΈμ νΈ μ μ₯μμμ λΉλ €μ¨ μ€λΈμ νΈλ₯Ό 무μν©λλ€" -#: builtin/pack-objects.c:2618 +#: builtin/pack-objects.c:2608 msgid "ignore packed objects" msgstr "λ¬Άμ μ€λΈμ νΈλ₯Ό 무μν©λλ€" -#: builtin/pack-objects.c:2620 +#: builtin/pack-objects.c:2610 msgid "limit pack window by objects" msgstr "λ¬Άμ μλμ°λ₯Ό μ€λΈμ νΈ λ¨μλ‘ μ νν©λλ€" -#: builtin/pack-objects.c:2622 +#: builtin/pack-objects.c:2612 msgid "limit pack window by memory in addition to object limit" msgstr "λ¬Άμ μλμ°λ₯Ό μ€λΈμ νΈ λ¨μμ μΆκ°λ‘ λ©λͺ¨λ¦¬ λ¨μλ‘ μ νν©λλ€" -#: builtin/pack-objects.c:2624 +#: builtin/pack-objects.c:2614 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "κ²°κ³Όλ¬Ό λ¬Άμμμ νμ©λλ μ΅λ κΈΈμ΄μ λΈν 체μΈ" -#: builtin/pack-objects.c:2626 +#: builtin/pack-objects.c:2616 msgid "reuse existing deltas" msgstr "κΈ°μ‘΄ λΈνλ₯Ό μ¬μ¬μ©ν©λλ€" -#: builtin/pack-objects.c:2628 +#: builtin/pack-objects.c:2618 msgid "reuse existing objects" msgstr "κΈ°μ‘΄ μ€λΈμ νΈλ₯Ό μ¬μ¬μ©ν©λλ€" -#: builtin/pack-objects.c:2630 +#: builtin/pack-objects.c:2620 msgid "use OFS_DELTA objects" msgstr "OFS_DELTA μ€λΈμ νΈλ₯Ό μ¬μ©ν©λλ€" -#: builtin/pack-objects.c:2632 +#: builtin/pack-objects.c:2622 msgid "use threads when searching for best delta matches" msgstr "μ΅μμ λΈν μΌμΉλ₯Ό κ²μνλλ° μ€λ λλ₯Ό μ¬μ©ν©λλ€" -#: builtin/pack-objects.c:2634 +#: builtin/pack-objects.c:2624 msgid "do not create an empty pack output" msgstr "λΉ λ¬Άμ μΆλ ₯μ λ§λ€μ§ μμ΅λλ€" -#: builtin/pack-objects.c:2636 +#: builtin/pack-objects.c:2626 msgid "read revision arguments from standard input" msgstr "νμ€ μ
λ ₯μμ 리λΉμ μΈμλ₯Ό μ½μ΅λλ€" -#: builtin/pack-objects.c:2638 +#: builtin/pack-objects.c:2628 msgid "limit the objects to those that are not yet packed" msgstr "λ¬Άμ§ μλ μ€λΈμ νΈ μλ₯Ό μ νν©λλ€" -#: builtin/pack-objects.c:2641 +#: builtin/pack-objects.c:2631 msgid "include objects reachable from any reference" msgstr "λͺ¨λ λ νΌλ°μ€μμ μ κ·Ό κ°λ₯ν μ€λΈμ νΈλ₯Ό ν¬ν¨ν©λλ€" -#: builtin/pack-objects.c:2644 +#: builtin/pack-objects.c:2634 msgid "include objects referred by reflog entries" msgstr "reflog νλͺ©μμ λ νΌλ°μ€ν μ μλ μ€λΈμ νΈλ₯Ό ν¬ν¨ν©λλ€" -#: builtin/pack-objects.c:2647 +#: builtin/pack-objects.c:2637 msgid "include objects referred to by the index" msgstr "μΈλ±μ€μμ< λ νΌλ°μ€νλ μ€λΈμ νΈλ₯Ό ν¬ν¨ν©λλ€" -#: builtin/pack-objects.c:2650 +#: builtin/pack-objects.c:2640 msgid "output pack to stdout" msgstr "λ¬Άμμ νμ€ μΆλ ₯μΌλ‘ μΆλ ₯ν©λλ€" -#: builtin/pack-objects.c:2652 +#: builtin/pack-objects.c:2642 msgid "include tag objects that refer to objects to be packed" msgstr "λ¬Άμμ λ€μ΄κ° μ€λΈμ νΈλ₯Ό λ νΌλ°μ€νλ νκ·Έ μ€λΈμ νΈλ₯Ό ν¬ν¨ν©λλ€" -#: builtin/pack-objects.c:2654 +#: builtin/pack-objects.c:2644 msgid "keep unreachable objects" msgstr "μ κ·Ό λΆκ°λ₯ μ€λΈμ νΈλ₯Ό 보쑴ν©λλ€" -#: builtin/pack-objects.c:2655 parse-options.h:142 +#: builtin/pack-objects.c:2645 parse-options.h:142 msgid "time" msgstr "μκ°" -#: builtin/pack-objects.c:2656 +#: builtin/pack-objects.c:2646 msgid "unpack unreachable objects newer than <time>" msgstr "<μκ°>λ³΄λ€ μλ‘μ΄ μ κ·Ό λΆκ°λ₯ μ€λΈμ νΈμ λ¬Άμμ νλλ€" -#: builtin/pack-objects.c:2659 +#: builtin/pack-objects.c:2649 msgid "create thin packs" msgstr "μμ λ¬Άμμ λ§λλλ€" -#: builtin/pack-objects.c:2661 +#: builtin/pack-objects.c:2651 msgid "create packs suitable for shallow fetches" msgstr "μμ κ°μ Έμ€κΈ°μ μ ν©ν λ¬Άμμ λ§λλλ€" -#: builtin/pack-objects.c:2663 +#: builtin/pack-objects.c:2653 msgid "ignore packs that have companion .keep file" msgstr "ν΄λΉνλ .keep νμΌμ΄ μλ λ¬Άμμ 무μν©λλ€" -#: builtin/pack-objects.c:2665 +#: builtin/pack-objects.c:2655 msgid "pack compression level" msgstr "λ¬Άμ μμΆ λ¨κ³" # FIXME: graft? -#: builtin/pack-objects.c:2667 +#: builtin/pack-objects.c:2657 msgid "do not hide commits by grafts" msgstr "λΆμ΄ μλ 컀λ°μ μ¨κΈ°μ§ μμ΅λλ€" -#: builtin/pack-objects.c:2669 +#: builtin/pack-objects.c:2659 msgid "use a bitmap index if available to speed up counting objects" msgstr "κ°λ₯νλ©΄ λΉνΈλ§΅ μΈλ±μ€λ₯Ό μ¬μ©ν΄ μ€λΈμ νΈ μΈκΈ° μλλ₯Ό λμ
λλ€" -#: builtin/pack-objects.c:2671 +#: builtin/pack-objects.c:2661 msgid "write a bitmap index together with the pack index" msgstr "λ¬Άμ μΈλ±μ€μ κ°μ΄ λΉνΈλ§΅ μΈλ±μ€λ₯Ό μλλ€" -#: builtin/pack-objects.c:2762 +#: builtin/pack-objects.c:2752 msgid "Counting objects" msgstr "μ€λΈμ νΈ κ°μ μΈλ μ€" @@ -8548,59 +8850,65 @@ msgstr "<μκ°>λ³΄λ€ μ€λ λ μ€λΈμ νΈκ° λ§λ£λ©λλ€" msgid "cannot prune in a precious-objects repo" msgstr "precious-objects μ μ₯μμμ μλΌλΌ μ μμ΅λλ€" -#: builtin/pull.c:69 +#: builtin/pull.c:72 msgid "git pull [<options>] [<repository> [<refspec>...]]" msgstr "git pull [<μ΅μ
>] [<μ μ₯μ> [<λ νΌλ°μ€λͺ
μΈ>...]]" -#: builtin/pull.c:113 +#: builtin/pull.c:117 msgid "Options related to merging" msgstr "λ³ν© κ΄λ ¨ μ΅μ
" -#: builtin/pull.c:116 +#: builtin/pull.c:120 msgid "incorporate changes by rebasing rather than merging" msgstr "λ³κ²½ μ¬νμ μ μ©ν λ λ³ν©νλ λμ λ¦¬λ² μ΄μ€ν©λλ€" -#: builtin/pull.c:140 builtin/revert.c:105 +#: builtin/pull.c:144 builtin/revert.c:105 msgid "allow fast-forward" msgstr "μ λ°©ν₯ μ§νμ νμ©ν©λλ€" -#: builtin/pull.c:146 +#: builtin/pull.c:150 msgid "verify that the named commit has a valid GPG signature" msgstr "μ§μ ν 컀λ°μ μ¬λ°λ₯Έ GPG μλͺ
μ΄ μλμ§ κ²μ¦ν©λλ€" -#: builtin/pull.c:160 +#: builtin/pull.c:164 msgid "Options related to fetching" msgstr "κ°μ Έμ€κΈ° κ΄λ ¨ μ΅μ
" -#: builtin/pull.c:268 +#: builtin/pull.c:186 +msgid "number of submodules pulled in parallel" +msgstr "λ³λ ¬μ μΌλ‘ νμ μ€νν νμλͺ¨λ κ°μ" + +#: builtin/pull.c:275 #, c-format msgid "Invalid value for pull.ff: %s" msgstr "pull.ffμ λν΄ μλͺ»λ κ°: %s" -#: builtin/pull.c:352 +#: builtin/pull.c:359 msgid "Cannot pull with rebase: You have unstaged changes." -msgstr "λ¦¬λ² μ΄μ€λ‘ νμ ν μ μμ΅λλ€: μ€ν
μ΄μ§νμ§ μμ λ³κ²½ μ¬νμ΄ μμ΅λλ€." +msgstr "" +"λ¦¬λ² μ΄μ€λ‘ νμ ν μ μμ΅λλ€: μ€ν
μ΄μ§νμ§ μμ λ³κ²½ μ¬νμ΄ μμ΅λλ€." -#: builtin/pull.c:358 +#: builtin/pull.c:365 msgid "Additionally, your index contains uncommitted changes." msgstr "μΆκ°λ‘, μΈλ±μ€μ 컀λ°νμ§ μμ λ³κ²½ μ¬νμ΄ μμ΅λλ€." -#: builtin/pull.c:360 +#: builtin/pull.c:367 msgid "Cannot pull with rebase: Your index contains uncommitted changes." -msgstr "λ¦¬λ² μ΄μ€λ‘ νμ ν μ μμ΅λλ€: μΈλ±μ€μ 컀λ°νμ§ μμ λ³κ²½ μ¬νμ΄ μμ΅λλ€." +msgstr "" +"λ¦¬λ² μ΄μ€λ‘ νμ ν μ μμ΅λλ€: μΈλ±μ€μ 컀λ°νμ§ μμ λ³κ²½ μ¬νμ΄ μμ΅λλ€." -#: builtin/pull.c:436 +#: builtin/pull.c:443 msgid "" "There is no candidate for rebasing against among the refs that you just " "fetched." msgstr "κ°μ Έμ¨ λ νΌλ°μ€ μ€μ λ¦¬λ² μ΄μ€ν λμ νλ³΄κ° μμ΅λλ€." -#: builtin/pull.c:438 +#: builtin/pull.c:445 msgid "" "There are no candidates for merging among the refs that you just fetched." msgstr "κ°μ Έμ¨ λ νΌλ°μ€ μ€μ λ³ν©ν λμ νλ³΄κ° μμ΅λλ€." -#: builtin/pull.c:439 +#: builtin/pull.c:446 msgid "" "Generally this means that you provided a wildcard refspec which had no\n" "matches on the remote end." @@ -8608,7 +8916,7 @@ msgstr "" "λ³΄ν΅ μ΄λ° κ²½μ°λ 리λͺ¨νΈ μͺ½μλ μλ μμΌλμΉ΄λ λ νΌλ°μ€λͺ
μΈκ°\n" "μ£Όμ΄μ‘μ λ μΌμ΄λ©λλ€." -#: builtin/pull.c:442 +#: builtin/pull.c:449 #, c-format msgid "" "You asked to pull from the remote '%s', but did not specify\n" @@ -8619,27 +8927,27 @@ msgstr "" "μ΄ λ¦¬λͺ¨νΈλ νμ¬ λΈλμΉμ λν΄ κΈ°λ³ΈμΌλ‘ μ€μ λ 리λͺ¨νΈκ°\n" "μλκΈ° λλ¬Έμ, λͺ
λ Ήνμμ λΈλμΉλ₯Ό μ§μ ν΄μΌ ν©λλ€." -#: builtin/pull.c:447 +#: builtin/pull.c:454 msgid "You are not currently on a branch." msgstr "νμ¬ μ΄λ€ λΈλμΉ μμλ μμ§ μμ΅λλ€." -#: builtin/pull.c:449 builtin/pull.c:464 +#: builtin/pull.c:456 builtin/pull.c:471 msgid "Please specify which branch you want to rebase against." msgstr "μ΄λ€ λΈλμΉλ₯Ό λμμΌλ‘ λ¦¬λ² μ΄μ€ν μ§ μ§μ νμμμ€." -#: builtin/pull.c:451 builtin/pull.c:466 +#: builtin/pull.c:458 builtin/pull.c:473 msgid "Please specify which branch you want to merge with." msgstr "μ΄λ€ λΈλμΉλ₯Ό λμμΌλ‘ λ³ν©ν μ§ μ§μ νμμμ€." -#: builtin/pull.c:452 builtin/pull.c:467 +#: builtin/pull.c:459 builtin/pull.c:474 msgid "See git-pull(1) for details." msgstr "μμΈν μ 보λ git-pull(1) νμ΄μ§λ₯Ό μ°Έκ³ νμμμ€." -#: builtin/pull.c:462 +#: builtin/pull.c:469 msgid "There is no tracking information for the current branch." msgstr "νμ¬ λΈλμΉμ μΆμ μ λ³΄κ° μμ΅λλ€." -#: builtin/pull.c:471 +#: builtin/pull.c:478 #, c-format msgid "" "If you wish to set tracking information for this branch you can do so with:\n" @@ -8650,7 +8958,7 @@ msgstr "" "\n" " git branch --set-upstream-to=%s/<λΈλμΉ> %s\n" -#: builtin/pull.c:476 +#: builtin/pull.c:483 #, c-format msgid "" "Your configuration specifies to merge with the ref '%s'\n" @@ -8659,11 +8967,11 @@ msgstr "" "μ€μ μμ 리λͺ¨νΈμ '%s' λ νΌλ°μ€μ λ³ν©νλλ‘ μ§μ νμ§λ§,\n" "κ·Έλ° λ νΌλ°μ€λ₯Ό κ°μ Έμ€μ§ μμμ΅λλ€." -#: builtin/pull.c:830 +#: builtin/pull.c:841 msgid "Updating an unborn branch with changes added to the index." msgstr "λ§λ€μ΄μ§μ§ μμ λΈλμΉλ₯Ό μΈλ±μ€μ μΆκ°λ λ³κ²½ μ¬νμΌλ‘ μ
λ°μ΄νΈν©λλ€." -#: builtin/pull.c:859 +#: builtin/pull.c:870 #, c-format msgid "" "fetch updated the current branch head.\n" @@ -8674,7 +8982,7 @@ msgstr "" "μμ
ν΄λλ₯Ό %s 컀λ°μμ μ λ°©ν₯\n" "μ§νν©λλ€." -#: builtin/pull.c:864 +#: builtin/pull.c:875 #, c-format msgid "" "Cannot fast-forward your working tree.\n" @@ -8691,11 +8999,11 @@ msgstr "" "$ git reset --hard\n" "볡ꡬλ©λλ€." -#: builtin/pull.c:879 +#: builtin/pull.c:890 msgid "Cannot merge multiple branches into empty head." msgstr "μ¬λ¬ λΈλμΉλ₯Ό λΉ ν€λλ‘ λ³ν©ν μ μμ΅λλ€." -#: builtin/pull.c:883 +#: builtin/pull.c:894 msgid "Cannot rebase onto multiple branches." msgstr "μ¬λ¬ λΈλμΉλ‘ λ¦¬λ² μ΄μ€ν μ μμ΅λλ€." @@ -8703,21 +9011,24 @@ msgstr "μ¬λ¬ λΈλμΉλ‘ λ¦¬λ² μ΄μ€ν μ μμ΅λλ€." msgid "git push [<options>] [<repository> [<refspec>...]]" msgstr "git push [<μ΅μ
>] [<μ μ₯μ> [<λ νΌλ°μ€λͺ
μΈ>...]]" -#: builtin/push.c:88 +#: builtin/push.c:89 msgid "tag shorthand without <tag>" msgstr "<νκ·Έ> μμ΄ νκ·Έ μ€μ" -#: builtin/push.c:98 +#: builtin/push.c:99 msgid "--delete only accepts plain target ref names" msgstr "--delete μ΅μ
μ μΌλ° λμ λ νΌλ°μ€ μ΄λ¦λ§ λ°μ΅λλ€" -#: builtin/push.c:142 +#: builtin/push.c:143 msgid "" "\n" "To choose either option permanently, see push.default in 'git help config'." -msgstr "\nμ΄λ ν μͺ½ μ΅μ
λ§ κ³μ μ ννλ €λ©΄, 'git help config'μμ push.defaultλ₯Ό μ°Έκ³ νμμμ€." +msgstr "" +"\n" +"μ΄λ ν μͺ½ μ΅μ
λ§ κ³μ μ ννλ €λ©΄, 'git help config'μμ push.defaultλ₯Ό μ°Έκ³ " +"νμμμ€." -#: builtin/push.c:145 +#: builtin/push.c:146 #, c-format msgid "" "The upstream branch of your current branch does not match\n" @@ -8742,7 +9053,7 @@ msgstr "" " git push %s %s\n" "%s" -#: builtin/push.c:160 +#: builtin/push.c:161 #, c-format msgid "" "You are not currently on a branch.\n" @@ -8757,7 +9068,7 @@ msgstr "" "\n" " git push %s HEAD:<name-of-remote-branch>\n" -#: builtin/push.c:174 +#: builtin/push.c:175 #, c-format msgid "" "The current branch %s has no upstream branch.\n" @@ -8771,12 +9082,12 @@ msgstr "" "\n" " git push --set-upstream %s %s\n" -#: builtin/push.c:182 +#: builtin/push.c:183 #, c-format msgid "The current branch %s has multiple upstream branches, refusing to push." msgstr "νμ¬ λΈλμΉ %sμ μ¬λ¬ μ
μ€νΈλ¦Ό λΈλμΉκ° μμ΅λλ€. νΈμλ₯Ό κ±°μ ν©λλ€." -#: builtin/push.c:185 +#: builtin/push.c:186 #, c-format msgid "" "You are pushing to remote '%s', which is not the upstream of\n" @@ -8787,58 +9098,13 @@ msgstr "" "'%s' λΈλμΉμ μ
μ€νΈλ¦Όμ΄ μλλλ€. μ΄λ€ 리λͺ¨νΈ λΈλμΉμ 무μμ\n" "νΈμν μ§ μ€μ νμ§ μμμ΅λλ€." -#: builtin/push.c:208 -msgid "" -"push.default is unset; its implicit value has changed in\n" -"Git 2.0 from 'matching' to 'simple'. To squelch this message\n" -"and maintain the traditional behavior, use:\n" -"\n" -" git config --global push.default matching\n" -"\n" -"To squelch this message and adopt the new behavior now, use:\n" -"\n" -" git config --global push.default simple\n" -"\n" -"When push.default is set to 'matching', git will push local branches\n" -"to the remote branches that already exist with the same name.\n" -"\n" -"Since Git 2.0, Git defaults to the more conservative 'simple'\n" -"behavior, which only pushes the current branch to the corresponding\n" -"remote branch that 'git pull' uses to update the current branch.\n" -"\n" -"See 'git help config' and search for 'push.default' for further " -"information.\n" -"(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n" -"'current' instead of 'simple' if you sometimes use older versions of Git)" -msgstr "" -"push.defaultλ₯Ό μ€μ νμ§ μμμ΅λλ€. 묡μμ κ°μ κΉ 2.0μμ\n" -"'matching'μμ 'simple'λ‘ λ°λμμ΅λλ€. μ΄ λ©μμ§λ₯Ό νμνμ§\n" -"μκ³ κ³Όκ±°μ λμμ μ μ§νλ €λ©΄ λ€μκ³Ό κ°μ΄ νμμμ€:\n" -"\n" -" git config --global push.default matching\n" -"\n" -"μ΄ λ©μμ§λ₯Ό νμνμ§ μκ³ μ λμμ λ°μλ€μ΄λ €λ©΄ λ€μκ³Ό κ°μ΄\n" -"νμμμ€:\n" -"\n" -" git config --global push.default simple\n" -"\n" -"push.defaultκ° 'matching'μΌλ‘ μ€μ λλ©΄, λ‘컬 λΈλμΉλ₯Ό μ΄λ―Έ κ°μ μ΄λ¦μ΄\n" -"μλ 리λͺ¨νΈ λΈλμΉλ‘ νΈμν©λλ€.\n" -"\n" -"κΉ 2.0λΆν° λ 보μμ μΈ 'simple' λμμ΄ κΈ°λ³Έκ°μ
λλ€. μ¬κΈ°μλ νμ¬\n" -"λΈλμΉλ₯Ό 'git pull'μμ νμ¬ λΈλμΉλ₯Ό μ
λ°μ΄νΈν λ μ¬μ©νλ ν΄λΉ\n" -"리λͺ¨νΈ λΈλμΉλ‘ νΈμν©λλ€.\n" -"\n" -"λ μμΈν μ 보λ 'git help config'μμ 'push.default' μ€λͺ
μ 보μμμ€.\n" -"('simple' λͺ¨λλ κΉ 1.7.11μ μΆκ°λμμ΅λλ€. κ³Όκ±° λ²μ μ κΉμ μ¬μ©νκ²\n" -"λλ©΄ λΉμ·ν 'current' λͺ¨λλ₯Ό μ¬μ©νμμμ€.)" - -#: builtin/push.c:275 +#: builtin/push.c:242 msgid "" "You didn't specify any refspecs to push, and push.default is \"nothing\"." -msgstr "νΈμν λ νΌλ°μ€λͺ
μΈλ₯Ό μ§μ νμ§ μμκ³ , push.default κ°μ΄ 'nothing'μ
λλ€." +msgstr "" +"νΈμν λ νΌλ°μ€λͺ
μΈλ₯Ό μ§μ νμ§ μμκ³ , push.default κ°μ΄ 'nothing'μ
λλ€." -#: builtin/push.c:282 +#: builtin/push.c:249 msgid "" "Updates were rejected because the tip of your current branch is behind\n" "its remote counterpart. Integrate the remote changes (e.g.\n" @@ -8851,7 +9117,7 @@ msgstr "" "μμΈν μ 보λ 'git push --help'μ \"Note about fast-forwards' λΆλΆμ\n" "μ°Έκ³ νμμμ€." -#: builtin/push.c:288 +#: builtin/push.c:255 msgid "" "Updates were rejected because a pushed branch tip is behind its remote\n" "counterpart. Check out this branch and integrate the remote changes\n" @@ -8864,7 +9130,7 @@ msgstr "" "μμΈν μ 보λ 'git push --help'μ \"Note about fast-forwards' λΆλΆμ\n" "μ°Έκ³ νμμμ€." -#: builtin/push.c:294 +#: builtin/push.c:261 msgid "" "Updates were rejected because the remote contains work that you do\n" "not have locally. This is usually caused by another repository pushing\n" @@ -8880,11 +9146,11 @@ msgstr "" "μμΈν μ 보λ 'git push --help'μ \"Note about fast-forwards' λΆλΆμ\n" "μ°Έκ³ νμμμ€." -#: builtin/push.c:301 +#: builtin/push.c:268 msgid "Updates were rejected because the tag already exists in the remote." msgstr "리λͺ¨νΈμ νκ·Έκ° μ΄λ―Έ μκΈ° λλ¬Έμ μ
λ°μ΄νΈκ° κ±°λΆλμμ΅λλ€." -#: builtin/push.c:304 +#: builtin/push.c:271 msgid "" "You cannot update a remote ref that points at a non-commit object,\n" "or update a remote ref to make it point at a non-commit object,\n" @@ -8894,22 +9160,22 @@ msgstr "" "λ νΌλ°μ€λ₯Ό μ
λ°μ΄νΈνκ±°λ, 컀λ°μ΄ μλ μ€λΈμ νΈλ₯Ό κ°λ¦¬ν€λλ‘\n" "μ
λ°μ΄νΈν μ μμ΅λλ€.\n" -#: builtin/push.c:363 +#: builtin/push.c:331 #, c-format msgid "Pushing to %s\n" msgstr "λ€μμ νΈμ: %s\n" -#: builtin/push.c:367 +#: builtin/push.c:335 #, c-format msgid "failed to push some refs to '%s'" msgstr "λ νΌλ°μ€λ₯Ό '%s'μ νΈμνλλ° μ€ν¨νμ΅λλ€" -#: builtin/push.c:397 +#: builtin/push.c:365 #, c-format msgid "bad repository '%s'" msgstr "μλͺ»λ μ μ₯μ '%s'" -#: builtin/push.c:398 +#: builtin/push.c:366 msgid "" "No configured push destination.\n" "Either specify the URL from the command-line or configure a remote " @@ -8930,104 +9196,100 @@ msgstr "" "\n" " git push <name>\n" -#: builtin/push.c:413 +#: builtin/push.c:381 msgid "--all and --tags are incompatible" msgstr "--all λ° --tags μ΅μ
μ νΈνλμ§ μμ΅λλ€" -#: builtin/push.c:414 +#: builtin/push.c:382 msgid "--all can't be combined with refspecs" msgstr "--all μ΅μ
μ λ νΌλ°μ€λͺ
μΈμ κ°μ΄ μΈ μ μμ΅λλ€" -#: builtin/push.c:419 +#: builtin/push.c:387 msgid "--mirror and --tags are incompatible" msgstr "--mirror λ° --tags μ΅μ
μ νΈνλμ§ μμ΅λλ€" -#: builtin/push.c:420 +#: builtin/push.c:388 msgid "--mirror can't be combined with refspecs" msgstr "--mirror μ΅μ
μ λ νΌλ°μ€λͺ
μΈμ κ°μ΄ μΈ μ μμ΅λλ€" -#: builtin/push.c:425 +#: builtin/push.c:393 msgid "--all and --mirror are incompatible" msgstr "--all λ° --mirror μ΅μ
μ νΈνλμ§ μμ΅λλ€" -#: builtin/push.c:537 +#: builtin/push.c:505 msgid "repository" msgstr "μ μ₯μ" -#: builtin/push.c:538 builtin/send-pack.c:161 +#: builtin/push.c:506 builtin/send-pack.c:161 msgid "push all refs" msgstr "λͺ¨λ λ νΌλ°μ€ νΈμνκΈ°" -#: builtin/push.c:539 builtin/send-pack.c:163 +#: builtin/push.c:507 builtin/send-pack.c:163 msgid "mirror all refs" msgstr "λͺ¨λ λ νΌλ°μ€ λ―Έλ¬" -#: builtin/push.c:541 +#: builtin/push.c:509 msgid "delete refs" msgstr "λ νΌλ°μ€ μμ " -#: builtin/push.c:542 +#: builtin/push.c:510 msgid "push tags (can't be used with --all or --mirror)" msgstr "νκ·Έ νΈμνκΈ° (--all λλ --mirror μ΅μ
κ³Ό κ°μ΄ μΈ μ μμ)" -#: builtin/push.c:545 builtin/send-pack.c:164 +#: builtin/push.c:513 builtin/send-pack.c:164 msgid "force updates" msgstr "κ°μ λ‘ μ
λ°μ΄νΈ" -#: builtin/push.c:547 builtin/send-pack.c:175 +#: builtin/push.c:515 builtin/send-pack.c:175 msgid "refname>:<expect" msgstr "λ νΌλ°μ€μ΄λ¦>:<μμ" -#: builtin/push.c:548 builtin/send-pack.c:176 +#: builtin/push.c:516 builtin/send-pack.c:176 msgid "require old value of ref to be at this value" msgstr "λ νΌλ°μ€μ κ³Όκ±° κ°μ΄ μ΄ κ°μ΄μ΄μΌ ν©λλ€" -#: builtin/push.c:550 -msgid "check|on-demand|no" -msgstr "check|on-demand|no" - -#: builtin/push.c:551 +#: builtin/push.c:519 msgid "control recursive pushing of submodules" msgstr "μ¬κ·μ νμ λͺ¨λ νΈμ λ°©μμ μ€μ ν©λλ€" -#: builtin/push.c:553 builtin/send-pack.c:169 +#: builtin/push.c:521 builtin/send-pack.c:169 msgid "use thin pack" msgstr "μμ λ¬Άμμ μ¬μ©ν©λλ€" -#: builtin/push.c:554 builtin/push.c:555 builtin/send-pack.c:158 +#: builtin/push.c:522 builtin/push.c:523 builtin/send-pack.c:158 #: builtin/send-pack.c:159 msgid "receive pack program" msgstr "receive pack νλ‘κ·Έλ¨" -#: builtin/push.c:556 +#: builtin/push.c:524 msgid "set upstream for git pull/status" msgstr "git pull/statusμ λν μ
μ€νΈλ¦Όμ μ€μ ν©λλ€" -#: builtin/push.c:559 +#: builtin/push.c:527 msgid "prune locally removed refs" msgstr "λ‘컬μμ μ κ±°ν λ νΌλ°μ€λ₯Ό μλΌλ
λλ€" -#: builtin/push.c:561 +#: builtin/push.c:529 msgid "bypass pre-push hook" msgstr "νΈμ μ νν¬λ₯Ό 건λλλλ€" -#: builtin/push.c:562 +#: builtin/push.c:530 msgid "push missing but relevant tags" msgstr "λΉ μ‘μ§λ§ κ΄λ ¨λ νκ·Έλ₯Ό νΈμν©λλ€" -#: builtin/push.c:565 builtin/send-pack.c:166 +#: builtin/push.c:533 builtin/send-pack.c:166 msgid "GPG sign the push" msgstr "νΈμμ GPG μλͺ
" -#: builtin/push.c:567 builtin/send-pack.c:170 +#: builtin/push.c:535 builtin/send-pack.c:170 msgid "request atomic transaction on remote side" msgstr "리λͺ¨νΈ μͺ½μ μμ νΈλμμ
μ μμ²ν©λλ€" -#: builtin/push.c:577 +#: builtin/push.c:549 msgid "--delete is incompatible with --all, --mirror and --tags" msgstr "--delete μ΅μ
μ --all, --mirror, --tags μ΅μ
κ³Ό νΈνλμ§ μμ΅λλ€" -#: builtin/push.c:579 +#: builtin/push.c:551 msgid "--delete doesn't make sense without any refs" msgstr "--delete μ΅μ
μ λ νΌλ°μ€ μμ΄ μλ€κ° λ§μ§ μμ΅λλ€" @@ -9036,7 +9298,10 @@ msgid "" "git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) " "[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--" "index-output=<file>] (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])" -msgstr "git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<μ λμ΄>) [-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--index-output=<νμΌ>] (--empty | <νΈλ¦¬-λ°μ> [<νΈλ¦¬-λ°μ2> [<νΈλ¦¬-λ°μ3>]])" +msgstr "" +"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<μ λμ΄>) " +"[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--" +"index-output=<νμΌ>] (--empty | <νΈλ¦¬-λ°μ> [<νΈλ¦¬-λ°μ2> [<νΈλ¦¬-λ°μ3>]])" #: builtin/read-tree.c:110 msgid "write resulting index to <file>" @@ -9102,12 +9367,12 @@ msgstr "λλ¬Έ 체ν¬μμ νν° μ μ©μ 건λλλλ€" msgid "debug unpack-trees" msgstr "unpack-trees λλ²κΉ
" -#: builtin/reflog.c:428 +#: builtin/reflog.c:423 #, c-format msgid "'%s' for '%s' is not a valid timestamp" msgstr "'%s' κ°μ΄ '%s'μ λν΄ μ¬λ°λ₯Έ μκ° κ°μ΄ μλλλ€" -#: builtin/reflog.c:545 builtin/reflog.c:550 +#: builtin/reflog.c:540 builtin/reflog.c:545 #, c-format msgid "'%s' is not a valid timestamp" msgstr "'%s'μ(λ) μ¬λ°λ₯Έ μκ° κ°μ΄ μλλλ€" @@ -9248,55 +9513,45 @@ msgstr "--mirror μ΅μ
κ³Ό κ°μ΄ λ§μ€ν° λΈλμΉλ₯Ό μ§μ νλ©΄ μλ€κ° msgid "specifying branches to track makes sense only with fetch mirrors" msgstr "λ§μ€ν° λΈλμΉλ₯Ό μ§μ μ fetch λ―Έλ¬μμλ§ μλ€κ° λ§μ΅λλ€" -#: builtin/remote.c:193 builtin/remote.c:643 +#: builtin/remote.c:190 builtin/remote.c:633 #, c-format msgid "remote %s already exists." msgstr "%s 리λͺ¨νΈκ° μ΄λ―Έ μμ΅λλ€." -#: builtin/remote.c:197 builtin/remote.c:647 +#: builtin/remote.c:194 builtin/remote.c:637 #, c-format msgid "'%s' is not a valid remote name" msgstr "'%s'μ(λ) μ¬λ°λ₯Έ 리λͺ¨νΈ μ΄λ¦μ΄ μλλλ€" -#: builtin/remote.c:241 +#: builtin/remote.c:234 #, c-format msgid "Could not setup master '%s'" msgstr "λ§μ€ν° '%s'μ(λ₯Ό) μ€μ ν μ μμ΅λλ€" -#: builtin/remote.c:341 +#: builtin/remote.c:336 #, c-format msgid "Could not get fetch map for refspec %s" msgstr "%s λ νΌλ°μ€λͺ
μΈμ λν κ°μ Έμ€κΈ° λ§΅μ μ»μ μ μμ΅λλ€" -#: builtin/remote.c:442 builtin/remote.c:450 +#: builtin/remote.c:437 builtin/remote.c:445 msgid "(matching)" msgstr "(μΌμΉ)" -#: builtin/remote.c:454 +#: builtin/remote.c:449 msgid "(delete)" msgstr "(μμ )" -#: builtin/remote.c:594 builtin/remote.c:600 builtin/remote.c:606 -#, c-format -msgid "Could not append '%s' to '%s'" -msgstr "'%s'μ(λ₯Ό) '%s'μ μΆκ°ν μ μμ΅λλ€" - -#: builtin/remote.c:636 builtin/remote.c:775 builtin/remote.c:875 +#: builtin/remote.c:626 builtin/remote.c:761 builtin/remote.c:858 #, c-format msgid "No such remote: %s" msgstr "κ·Έλ° λ¦¬λͺ¨νΈκ° μμ΅λλ€: %s" -#: builtin/remote.c:653 +#: builtin/remote.c:643 #, c-format msgid "Could not rename config section '%s' to '%s'" msgstr "μ€μ μΉμ
μ '%s'μμ '%s'(μΌ)λ‘ λ°κΏ μ μμ΅λλ€" -#: builtin/remote.c:659 builtin/remote.c:827 -#, c-format -msgid "Could not remove config section '%s'" -msgstr "μ€μ μΉμ
'%s'μ(λ₯Ό) μ κ±°ν μ μμ΅λλ€" - -#: builtin/remote.c:674 +#: builtin/remote.c:663 #, c-format msgid "" "Not updating non-default fetch refspec\n" @@ -9307,27 +9562,17 @@ msgstr "" "\t%s\n" "\tνμνλ©΄ μ€μ μ μλμΌλ‘ μ
λ°μ΄νΈνμμμ€." -#: builtin/remote.c:680 -#, c-format -msgid "Could not append '%s'" -msgstr "'%s'μ λ§λΆμΌ μ μμ΅λλ€" - -#: builtin/remote.c:691 -#, c-format -msgid "Could not set '%s'" -msgstr "'%s'μ(λ₯Ό) μ€μ ν μ μμ΅λλ€" - -#: builtin/remote.c:713 +#: builtin/remote.c:699 #, c-format msgid "deleting '%s' failed" msgstr "'%s' μμ κ° μ€ν¨νμ΅λλ€" -#: builtin/remote.c:747 +#: builtin/remote.c:733 #, c-format msgid "creating '%s' failed" msgstr "'%s' λ§λ€κΈ°κ° μ€ν¨νμ΅λλ€" -#: builtin/remote.c:813 +#: builtin/remote.c:796 msgid "" "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n" "to delete it, use:" @@ -9335,275 +9580,282 @@ msgid_plural "" "Note: Some branches outside the refs/remotes/ hierarchy were not removed;\n" "to delete them, use:" msgstr[0] "" -"μλ¦Ό: λ νΌλ°μ€/리λͺ¨νΈ/ κ³μΈ΅ ꡬ쑰 λ°μ μλ μΌλΆ λΈλμΉκ° μ κ±°λμ§ μμμ΅λλ€.\n" +"μλ¦Ό: λ νΌλ°μ€/리λͺ¨νΈ/ κ³μΈ΅ ꡬ쑰 λ°μ μλ μΌλΆ λΈλμΉκ° μ κ±°λμ§ μμμ΅λ" +"λ€.\n" "μμ νλ €λ©΄ λ€μμ μ¬μ©νμμμ€:" -#: builtin/remote.c:928 +#: builtin/remote.c:810 +#, c-format +msgid "Could not remove config section '%s'" +msgstr "μ€μ μΉμ
'%s'μ(λ₯Ό) μ κ±°ν μ μμ΅λλ€" + +#: builtin/remote.c:911 #, c-format msgid " new (next fetch will store in remotes/%s)" msgstr " μ νλͺ© (λ€μ κ°μ Έμ€κΈ°λ remotes/%s μλ μ μ₯λ©λλ€)" -#: builtin/remote.c:931 +#: builtin/remote.c:914 msgid " tracked" msgstr " μΆμ λ¨" -#: builtin/remote.c:933 +#: builtin/remote.c:916 msgid " stale (use 'git remote prune' to remove)" msgstr " μ€λλ¨ (μ κ±°νλ €λ©΄ 'git remote prune'μ μ¬μ©νμμμ€)" -#: builtin/remote.c:935 +#: builtin/remote.c:918 msgid " ???" msgstr " ???" -#: builtin/remote.c:976 +#: builtin/remote.c:959 #, c-format msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch" msgstr "μλͺ»λ branch.%s.merge κ°. μ¬λ¬ κ° λΈλμΉλ‘ λ¦¬λ² μ΄μ€ν μ μμ΅λλ€" -#: builtin/remote.c:983 +#: builtin/remote.c:967 #, c-format -msgid "rebases onto remote %s" -msgstr "λ¦¬λ² μ΄μ€: 리λͺ¨νΈ %s" +msgid "rebases interactively onto remote %s" +msgstr "리λͺ¨νΈ %s μλ‘ λνμμΌλ‘ λ¦¬λ² μ΄μ€ν©λλ€" -#: builtin/remote.c:986 +#: builtin/remote.c:971 #, c-format msgid " merges with remote %s" msgstr " λ³ν©: 리λͺ¨νΈ %s" -#: builtin/remote.c:987 +#: builtin/remote.c:972 msgid " and with remote" msgstr " κ·Έλ¦¬κ³ λ¦¬λͺ¨νΈ" -#: builtin/remote.c:989 +#: builtin/remote.c:974 #, c-format msgid "merges with remote %s" msgstr "λ³ν©: 리λͺ¨νΈ %s" -#: builtin/remote.c:990 +#: builtin/remote.c:975 msgid " and with remote" msgstr " κ·Έλ¦¬κ³ λ¦¬λͺ¨νΈ" -#: builtin/remote.c:1036 +#: builtin/remote.c:1021 msgid "create" msgstr "λ§λ€κΈ°" -#: builtin/remote.c:1039 +#: builtin/remote.c:1024 msgid "delete" msgstr "μμ " -#: builtin/remote.c:1043 +#: builtin/remote.c:1028 msgid "up to date" msgstr "μ΅μ μν" -#: builtin/remote.c:1046 +#: builtin/remote.c:1031 msgid "fast-forwardable" msgstr "μ λ°©ν₯ μ§ν κ°λ₯" -#: builtin/remote.c:1049 +#: builtin/remote.c:1034 msgid "local out of date" msgstr "λ‘μ»¬μ΄ λ€λ¨μ΄μ§" -#: builtin/remote.c:1056 +#: builtin/remote.c:1041 #, c-format msgid " %-*s forces to %-*s (%s)" msgstr " %-*sμμ %-*s(μΌ)λ‘ κ°μ (%s)" -#: builtin/remote.c:1059 +#: builtin/remote.c:1044 #, c-format msgid " %-*s pushes to %-*s (%s)" msgstr " %-*sμμ %-*s(μΌ)λ‘ νΈμ (%s)" -#: builtin/remote.c:1063 +#: builtin/remote.c:1048 #, c-format msgid " %-*s forces to %s" msgstr " %-*sμμ %s(μΌ)λ‘ κ°μ " -#: builtin/remote.c:1066 +#: builtin/remote.c:1051 #, c-format msgid " %-*s pushes to %s" msgstr " %-*sμμ %s(μΌ)λ‘ νΈμ" -#: builtin/remote.c:1134 +#: builtin/remote.c:1119 msgid "do not query remotes" msgstr "리λͺ¨νΈμ μ§μνμ§ μμ΅λλ€" -#: builtin/remote.c:1161 +#: builtin/remote.c:1146 #, c-format msgid "* remote %s" msgstr "* 리λͺ¨νΈ %s" -#: builtin/remote.c:1162 +#: builtin/remote.c:1147 #, c-format msgid " Fetch URL: %s" msgstr " κ°μ Έμ€κΈ° URL: %s" -#: builtin/remote.c:1163 builtin/remote.c:1314 +#: builtin/remote.c:1148 builtin/remote.c:1299 msgid "(no URL)" msgstr "(URL μμ)" -#: builtin/remote.c:1172 builtin/remote.c:1174 +#: builtin/remote.c:1157 builtin/remote.c:1159 #, c-format msgid " Push URL: %s" msgstr " νΈμ URL: %s" -#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180 +#: builtin/remote.c:1161 builtin/remote.c:1163 builtin/remote.c:1165 #, c-format msgid " HEAD branch: %s" msgstr " HEAD λΈλμΉ: %s" -#: builtin/remote.c:1182 +#: builtin/remote.c:1167 #, c-format msgid "" " HEAD branch (remote HEAD is ambiguous, may be one of the following):\n" msgstr " HEAD λΈλμΉ (리λͺ¨νΈ HEADλ μ λ§€νκ³ , λ€μ μ€ νλμΌ μ μμ΅λλ€):\n" -#: builtin/remote.c:1194 +#: builtin/remote.c:1179 #, c-format msgid " Remote branch:%s" msgid_plural " Remote branches:%s" msgstr[0] " 리λͺ¨νΈ λΈλμΉ:%s" -#: builtin/remote.c:1197 builtin/remote.c:1224 +#: builtin/remote.c:1182 builtin/remote.c:1209 msgid " (status not queried)" msgstr " (μνλ₯Ό μ§μνμ§ μμ)" -#: builtin/remote.c:1206 +#: builtin/remote.c:1191 msgid " Local branch configured for 'git pull':" msgid_plural " Local branches configured for 'git pull':" msgstr[0] " 'git pull'μ μ¬μ©ν λ‘컬 λΈλμΉλ₯Ό μ€μ :" -#: builtin/remote.c:1214 +#: builtin/remote.c:1199 msgid " Local refs will be mirrored by 'git push'" msgstr " λ‘컬 λ νΌλ°μ€λ₯Ό 'git push'λ‘ λ―Έλ¬λ§ν μμ " -#: builtin/remote.c:1221 +#: builtin/remote.c:1206 #, c-format msgid " Local ref configured for 'git push'%s:" msgid_plural " Local refs configured for 'git push'%s:" msgstr[0] " λ‘컬 λ νΌλ°μ€λ₯Ό 'git push'λ‘ λ―Έλ¬λ§%s:" -#: builtin/remote.c:1242 +#: builtin/remote.c:1227 msgid "set refs/remotes/<name>/HEAD according to remote" msgstr "λ νΌλ°μ€/리λͺ¨νΈ/<μ΄λ¦>/HEAD κ°μ 리λͺ¨νΈμ λ§κ² μ€μ ν©λλ€" -#: builtin/remote.c:1244 +#: builtin/remote.c:1229 msgid "delete refs/remotes/<name>/HEAD" msgstr "λ νΌλ°μ€/리λͺ¨νΈ/<μ΄λ¦>/HEAD κ°μ μμ ν©λλ€" -#: builtin/remote.c:1259 +#: builtin/remote.c:1244 msgid "Cannot determine remote HEAD" msgstr "리λͺ¨νΈ HEADλ₯Ό κ²°μ ν μ μμ΅λλ€" -#: builtin/remote.c:1261 +#: builtin/remote.c:1246 msgid "Multiple remote HEAD branches. Please choose one explicitly with:" -msgstr "리λͺ¨νΈ HEAD λΈλμΉκ° μ¬λ¬κ°μ
λλ€. λ€μ μ€ νλλ₯Ό λͺ
μμ μΌλ‘ μ§μ νμμμ€:" +msgstr "" +"리λͺ¨νΈ HEAD λΈλμΉκ° μ¬λ¬κ°μ
λλ€. λ€μ μ€ νλλ₯Ό λͺ
μμ μΌλ‘ μ§μ νμμμ€:" -#: builtin/remote.c:1271 +#: builtin/remote.c:1256 #, c-format msgid "Could not delete %s" msgstr "%sμ(λ₯Ό) μμ ν μ μμ΅λλ€" -#: builtin/remote.c:1279 +#: builtin/remote.c:1264 #, c-format msgid "Not a valid ref: %s" msgstr "μ¬λ°λ₯Έ λ νΌλ°μ€κ° μλλλ€: %s" -#: builtin/remote.c:1281 +#: builtin/remote.c:1266 #, c-format msgid "Could not setup %s" msgstr "%sμ(λ₯Ό) μ€μ ν μ μμ΅λλ€" -#: builtin/remote.c:1299 +#: builtin/remote.c:1284 #, c-format msgid " %s will become dangling!" msgstr " %sμ μ°κ²°μ΄ λμ΄μ§λλ€!" -#: builtin/remote.c:1300 +#: builtin/remote.c:1285 #, c-format msgid " %s has become dangling!" msgstr " %sμ μ°κ²°μ΄ λμ΄μ‘μ΅λλ€!" -#: builtin/remote.c:1310 +#: builtin/remote.c:1295 #, c-format msgid "Pruning %s" msgstr "μλΌλ: %s" -#: builtin/remote.c:1311 +#: builtin/remote.c:1296 #, c-format msgid "URL: %s" msgstr "URL: %s" -#: builtin/remote.c:1327 +#: builtin/remote.c:1312 #, c-format msgid " * [would prune] %s" msgstr " * [μλΌλΌ μμ ] %s" -#: builtin/remote.c:1330 +#: builtin/remote.c:1315 #, c-format msgid " * [pruned] %s" msgstr " * [μλΌλ] %s" -#: builtin/remote.c:1375 +#: builtin/remote.c:1360 msgid "prune remotes after fetching" msgstr "κ°μ Έμ¨ νμ 리λͺ¨νΈλ₯Ό μλΌλ
λλ€" -#: builtin/remote.c:1441 builtin/remote.c:1498 builtin/remote.c:1566 +#: builtin/remote.c:1423 builtin/remote.c:1477 builtin/remote.c:1545 #, c-format msgid "No such remote '%s'" msgstr "κ·Έλ° λ¦¬λͺ¨νΈκ° μμ΅λλ€ ('%s')" -#: builtin/remote.c:1461 +#: builtin/remote.c:1439 msgid "add branch" msgstr "λΈλμΉλ₯Ό μΆκ°ν©λλ€" -#: builtin/remote.c:1468 +#: builtin/remote.c:1446 msgid "no remote specified" msgstr "리λͺ¨νΈλ₯Ό μ§μ νμ§ μμμ΅λλ€" -#: builtin/remote.c:1485 +#: builtin/remote.c:1463 msgid "query push URLs rather than fetch URLs" msgstr "κ°μ Έμ€κΈ° URLμ΄ μλλΌ νΈμ URLμ μ§μν©λλ€" -#: builtin/remote.c:1487 +#: builtin/remote.c:1465 msgid "return all URLs" msgstr "λͺ¨λ URLμ 리ν΄ν©λλ€" -#: builtin/remote.c:1515 +#: builtin/remote.c:1493 #, c-format msgid "no URLs configured for remote '%s'" msgstr "'%s' 리λͺ¨νΈμ λν URLμ μ€μ νμ§ μμμ΅λλ€" -#: builtin/remote.c:1541 +#: builtin/remote.c:1519 msgid "manipulate push URLs" msgstr "νΈμ URLμ μ§μ ν©λλ€" -#: builtin/remote.c:1543 +#: builtin/remote.c:1521 msgid "add URL" msgstr "URLμ μΆκ°ν©λλ€" -#: builtin/remote.c:1545 +#: builtin/remote.c:1523 msgid "delete URLs" msgstr "URLμ μμ ν©λλ€" -#: builtin/remote.c:1552 +#: builtin/remote.c:1530 msgid "--add --delete doesn't make sense" msgstr "--add --delete μ΅μ
μ λλ€ μ°λ©΄ μ λ©λλ€" -#: builtin/remote.c:1592 +#: builtin/remote.c:1571 #, c-format msgid "Invalid old URL pattern: %s" msgstr "μλͺ»λ μ€λμ URL ν¨ν΄: %s" -#: builtin/remote.c:1600 +#: builtin/remote.c:1579 #, c-format msgid "No such URL found: %s" msgstr "κ·Έλ° URLμ΄ μμ΅λλ€: %s" -#: builtin/remote.c:1602 +#: builtin/remote.c:1581 msgid "Will not delete all non-push URLs" msgstr "νΈμμ©μ΄ μλ λͺ¨λ URLμ μμ νμ§ μμ΅λλ€" -#: builtin/remote.c:1616 +#: builtin/remote.c:1595 msgid "be verbose; must be placed before a subcommand" msgstr "μμΈν νμν©λλ€ (νμ λͺ
λ Ή μμ μμΌ ν©λλ€)" @@ -9649,7 +9901,8 @@ msgstr "λλ΅μμκ°" #: builtin/repack.c:177 msgid "with -A, do not loosen objects older than this" -msgstr "-Aμ μΆκ°λ‘, μ§μ ν μκ°λ³΄λ€ μ€λλ μ€λΈμ νΈλ₯Ό λμ¨νκ² λ§λ€μ§ μμ΅λλ€" +msgstr "" +"-Aμ μΆκ°λ‘, μ§μ ν μκ°λ³΄λ€ μ€λλ μ€λΈμ νΈλ₯Ό λμ¨νκ² λ§λ€μ§ μμ΅λλ€" #: builtin/repack.c:179 msgid "size of the window used for delta compression" @@ -9724,7 +9977,9 @@ msgstr "μ»€λ° '%s'μ μλͺ»λ νμμ λ³ν©νκ·Έ" msgid "" "original commit '%s' contains mergetag '%s' that is discarded; use --edit " "instead of --graft" -msgstr "λ³Έλ μ»€λ° '%s'μ λ²λ €μ§ λ³ν©νκ·Έ '%s'μ΄(κ°) λ€μ΄ μμ΅λλ€. --graft λμ --edit μ΅μ
μ μ¬μ©νμμμ€" +msgstr "" +"λ³Έλ μ»€λ° '%s'μ λ²λ €μ§ λ³ν©νκ·Έ '%s'μ΄(κ°) λ€μ΄ μμ΅λλ€. --graft λμ --" +"edit μ΅μ
μ μ¬μ©νμμμ€" #: builtin/replace.c:401 #, c-format @@ -9872,7 +10127,9 @@ msgstr "--patch μ΅μ
μ --{hard,mixed,soft} μ΅μ
κ³Ό νΈνλμ§ μμ΅λλ #: builtin/reset.c:331 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead." -msgstr "--mixed μ΅μ
μ κ²½λ‘μ κ°μ΄ μ°κΈ°λ μ κ±°λ μμ μ
λλ€. λμ μ 'git reset -- <κ²½λ‘>'λ₯Ό μ¬μ©νμμμ€." +msgstr "" +"--mixed μ΅μ
μ κ²½λ‘μ κ°μ΄ μ°κΈ°λ μ κ±°λ μμ μ
λλ€. λμ μ 'git reset -- <κ²½" +"λ‘>'λ₯Ό μ¬μ©νμμμ€." #: builtin/reset.c:333 #, c-format @@ -9901,7 +10158,7 @@ msgstr "μΈλ±μ€ νμΌμ '%s' 리λΉμ μΌλ‘ 리μ
ν μ μμ΅λλ€." msgid "Could not write new index file." msgstr "μ μΈλ±μ€ νμΌμ μΈ μ μμ΅λλ€." -#: builtin/rev-list.c:354 +#: builtin/rev-list.c:350 msgid "rev-list does not support display of notes" msgstr "rev-listλ λ
ΈνΈ νμλ₯Ό μ§μνμ§ μμ΅λλ€" @@ -9933,7 +10190,8 @@ msgstr "" " or: git rev-parse --sq-quote [<μΈμ>...]\n" " or: git rev-parse [<μ΅μ
>] [<μΈμ>...]\n" "\n" -"첫λ²μ§Έ μ¬μ©λ°©λ²μ λν΄ μμΈν μκ³ μΆμΌλ©΄, \"git rev-parse --parseopt -h\"λ₯Ό\n" +"첫λ²μ§Έ μ¬μ©λ°©λ²μ λν΄ μμΈν μκ³ μΆμΌλ©΄, \"git rev-parse --parseopt -h" +"\"λ₯Ό\n" "μ€νν΄ λ³΄μμμ€." #: builtin/revert.c:22 @@ -10040,7 +10298,9 @@ msgstr[0] "" msgid "" "\n" "(use 'rm -rf' if you really want to remove it including all of its history)" -msgstr "\n(μ λ§λ‘ κ·Έ μ»€λ° λ΄μκΉμ§ ν¬ν¨ν΄ μ κ±°νλ €λ©΄ 'rm -rf'λ₯Ό μ¬μ©νμμμ€)" +msgstr "" +"\n" +"(μ λ§λ‘ κ·Έ μ»€λ° λ΄μκΉμ§ ν¬ν¨ν΄ μ κ±°νλ €λ©΄ 'rm -rf'λ₯Ό μ¬μ©νμμμ€)" #: builtin/rm.c:230 msgid "" @@ -10070,7 +10330,9 @@ msgstr[0] "λ€μ νμΌμ΄ μΈλ±μ€μ μ€ν
μ΄μ§ν λ³κ²½ μ¬νμ΄ μμ΅ msgid "" "\n" "(use --cached to keep the file, or -f to force removal)" -msgstr "\n(νμΌμ μ μ§νλ €λ©΄ --cached μ΅μ
, κ°μ λ‘ μ κ±°νλ €λ©΄ -f μ΅μ
μ μ¬μ©νμμμ€)" +msgstr "" +"\n" +"(νμΌμ μ μ§νλ €λ©΄ --cached μ΅μ
, κ°μ λ‘ μ κ±°νλ €λ©΄ -f μ΅μ
μ μ¬μ©νμμμ€)" #: builtin/rm.c:251 msgid "the following file has local modifications:" @@ -10118,7 +10380,9 @@ msgid "" "[<ref>...]\n" " --all and explicit <ref> specification are mutually exclusive." msgstr "" -"git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-receive-pack>] [--verbose] [--thin] [--atomic] [<νΈμ€νΈ>:]<λλ ν°λ¦¬> [<λ νΌλ°μ€>...]\n" +"git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-" +"receive-pack>] [--verbose] [--thin] [--atomic] [<νΈμ€νΈ>:]<λλ ν°λ¦¬> [<λ νΌλ°" +"μ€>...]\n" " --all μ΅μ
κ³Ό λͺ
μμ μΈ <λ νΌλ°μ€> λͺ
μΈ μ€ νλλ§ μ¬μ©ν μ μμ΅λλ€." #: builtin/send-pack.c:160 @@ -10141,28 +10405,23 @@ msgstr "리λͺ¨νΈ λμ νλ‘κ·Έλ¨μ μνλ₯Ό νμν©λλ€" msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]" msgstr "git shortlog [<μ΅μ
>] [<리λΉμ -λ²μ>] [[--] [<κ²½λ‘>...]]" -#: builtin/shortlog.c:131 -#, c-format -msgid "Missing author: %s" -msgstr "μμ±μ μ λ³΄κ° μμ΅λλ€: %s" - -#: builtin/shortlog.c:230 +#: builtin/shortlog.c:242 msgid "sort output according to the number of commits per author" msgstr "μμ±μλ³ μ»€λ° μμ λ°λΌ μ λ ¬ν©λλ€" -#: builtin/shortlog.c:232 +#: builtin/shortlog.c:244 msgid "Suppress commit descriptions, only provides commit count" msgstr "μ»€λ° μ€λͺ
μ μλ΅νκ³ , μ»€λ° μλ§ νμν©λλ€" -#: builtin/shortlog.c:234 +#: builtin/shortlog.c:246 msgid "Show the email address of each author" msgstr "μμ±μμ μ μλ©μΌ μ£Όμλ₯Ό νμν©λλ€" -#: builtin/shortlog.c:235 +#: builtin/shortlog.c:247 msgid "w[,i1[,i2]]" msgstr "w[,i1[,i2]]" -#: builtin/shortlog.c:236 +#: builtin/shortlog.c:248 msgid "Linewrap output" msgstr "μ€λ°κΏ μΆλ ₯" @@ -10303,43 +10562,43 @@ msgid "skip and remove all lines starting with comment character" msgstr "μ£Όμ λ¬Έμλ‘ μμνλ λͺ¨λ μ€μ 건λλ°κ³ μ κ±°ν©λλ€" #: builtin/stripspace.c:38 -msgid "prepend comment character and blank to each line" -msgstr "κ° μ€μ μμ μ£Όμ λ¬Έμλ₯Ό λΆμ΄κ³ λΉ μ€λ‘ λ§λλλ€" +msgid "prepend comment character and space to each line" +msgstr "κ° μ€μ μμ μ£Όμ λ¬Έμμ 곡백μ λΆμ
λλ€" -#: builtin/submodule--helper.c:79 builtin/submodule--helper.c:167 +#: builtin/submodule--helper.c:73 builtin/submodule--helper.c:161 msgid "alternative anchor for relative paths" msgstr "μλ κ²½λ‘μ μ¬μ©ν λλ€λ₯Έ κΈ°μ€" -#: builtin/submodule--helper.c:84 +#: builtin/submodule--helper.c:78 msgid "git submodule--helper list [--prefix=<path>] [<path>...]" msgstr "git submodule--helper list [--prefix=<κ²½λ‘>] [<κ²½λ‘>...]" -#: builtin/submodule--helper.c:114 +#: builtin/submodule--helper.c:108 msgid "git submodule--helper name <path>" msgstr "git submodule--helper name <κ²½λ‘>" -#: builtin/submodule--helper.c:120 +#: builtin/submodule--helper.c:114 #, c-format msgid "no submodule mapping found in .gitmodules for path '%s'" msgstr "κ²½λ‘ '%s'μ λν΄ .gitmodulesμ μλ νμλͺ¨λ λ§€νμ΄ μμ΅λλ€" -#: builtin/submodule--helper.c:170 +#: builtin/submodule--helper.c:164 msgid "where the new submodule will be cloned to" msgstr "μ νμ λͺ¨λμ 볡μ ν λμ μμΉ" -#: builtin/submodule--helper.c:173 +#: builtin/submodule--helper.c:167 msgid "name of the new submodule" msgstr "μ νμ λͺ¨λ μ΄λ¦" -#: builtin/submodule--helper.c:176 +#: builtin/submodule--helper.c:170 msgid "url where to clone the submodule from" msgstr "νμ λͺ¨λμ 볡μ ν΄ μ¬ URL" -#: builtin/submodule--helper.c:182 +#: builtin/submodule--helper.c:176 msgid "depth for shallow clones" msgstr "μμ 볡μ μ μ¬μ©ν κΉμ΄" -#: builtin/submodule--helper.c:188 +#: builtin/submodule--helper.c:182 msgid "" "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference " "<repository>] [--name <name>] [--url <url>][--depth <depth>] [--] [<path>...]" @@ -10347,38 +10606,38 @@ msgstr "" "git submodule--helper clone [--prefix=<κ²½λ‘>] [--quiet] [--reference <μ μ₯μ" ">] [--name <μ΄λ¦>] [--url <URL>][--depth <κΉμ΄>] [--] [<κ²½λ‘>...]" -#: builtin/submodule--helper.c:202 builtin/submodule--helper.c:208 -#: builtin/submodule--helper.c:216 +#: builtin/submodule--helper.c:196 builtin/submodule--helper.c:202 +#: builtin/submodule--helper.c:210 #, c-format msgid "could not create directory '%s'" msgstr "'%s' λλ ν°λ¦¬λ₯Ό λ§λ€ μ μμ΅λλ€" -#: builtin/submodule--helper.c:204 +#: builtin/submodule--helper.c:198 #, c-format msgid "clone of '%s' into submodule path '%s' failed" msgstr "'%s'μμ νμ λͺ¨λ κ²½λ‘ '%s'μ 볡μ νλλ° μ€ν¨νμ΅λλ€" -#: builtin/submodule--helper.c:227 +#: builtin/submodule--helper.c:221 #, c-format msgid "cannot open file '%s'" msgstr "'%s' νμΌμ μ΄ μ μμ΅λλ€" -#: builtin/submodule--helper.c:232 +#: builtin/submodule--helper.c:226 #, c-format msgid "could not close file %s" msgstr "%s νμΌμ λ«μ μ μμ΅λλ€" -#: builtin/submodule--helper.c:247 +#: builtin/submodule--helper.c:241 #, c-format msgid "could not get submodule directory for '%s'" msgstr "'%s'μ λν νμ λͺ¨λ λλ ν°λ¦¬λ₯Ό κ°μ Έμ¬ μ μμ΅λλ€" -#: builtin/submodule--helper.c:273 +#: builtin/submodule--helper.c:267 msgid "fatal: submodule--helper subcommand must be called with a subcommand" msgstr "" "μΉλͺ
μ μ΄μ: submodule--helper νμ λͺ
λ Ήμ νμ λͺ
λ ΉμΌλ‘ νΈμΆν΄μΌ ν©λλ€" -#: builtin/submodule--helper.c:280 +#: builtin/submodule--helper.c:274 #, c-format msgid "fatal: '%s' is not a valid submodule--helper subcommand" msgstr "μΉλͺ
μ μ΄μ: '%s'μ(λ) μ¬λ°λ₯Έ submodule--helper νμ λͺ
λ Ήμ΄ μλλλ€" @@ -10622,188 +10881,202 @@ msgstr "νκ·Έ '%s' μ
λ°μ΄νΈ (κ³Όκ±° %s)\n" msgid "Unpacking objects" msgstr "μ€λΈμ νΈ λ¬Άμ νΈλ μ€" -#: builtin/update-index.c:70 +#: builtin/update-index.c:79 #, c-format msgid "failed to create directory %s" msgstr "%s λλ ν°λ¦¬ λ§λ€κΈ° μ€ν¨νμ΅λλ€" -#: builtin/update-index.c:76 +#: builtin/update-index.c:85 #, c-format msgid "failed to stat %s" msgstr "%sμ stat()νλλ° μ€ν¨νμ΅λλ€" -#: builtin/update-index.c:86 +#: builtin/update-index.c:95 #, c-format msgid "failed to create file %s" msgstr "%s νμΌμ λ§λλλ° μ€ν¨νμ΅λλ€" -#: builtin/update-index.c:94 +#: builtin/update-index.c:103 #, c-format msgid "failed to delete file %s" msgstr "%s νμΌμ μμ νλλ° μ€ν¨νμ΅λλ€" -#: builtin/update-index.c:101 builtin/update-index.c:203 +#: builtin/update-index.c:110 builtin/update-index.c:212 #, c-format msgid "failed to delete directory %s" msgstr "%s λλ ν°λ¦¬λ₯Ό μμ νλλ° μ€ν¨νμ΅λλ€" -#: builtin/update-index.c:124 +#: builtin/update-index.c:133 #, c-format -msgid "Testing " -msgstr "ν
μ€νΈμ€ " +msgid "Testing mtime in '%s' " +msgstr "'%s' μμ μμ μκ°μ νμΈνλ μ€μ
λλ€" -#: builtin/update-index.c:136 +#: builtin/update-index.c:145 msgid "directory stat info does not change after adding a new file" msgstr "μ νμΌμ μΆκ°ν νμ λλ ν°λ¦¬ μ λ³΄κ° λ°λμ§ μμμ΅λλ€" -#: builtin/update-index.c:149 +#: builtin/update-index.c:158 msgid "directory stat info does not change after adding a new directory" msgstr "μ λλ ν°λ¦¬λ₯Ό μΆκ°ν νμ λλ ν°λ¦¬ μ λ³΄κ° λ°λμ§ μμμ΅λλ€" -#: builtin/update-index.c:162 +#: builtin/update-index.c:171 msgid "directory stat info changes after updating a file" msgstr "νμΌμ μ
λ°μ΄νΈν νμ λλ ν°λ¦¬ μ λ³΄κ° λ°λμ§ μμμ΅λλ€" -#: builtin/update-index.c:173 +#: builtin/update-index.c:182 msgid "directory stat info changes after adding a file inside subdirectory" msgstr "νμ λλ ν°λ¦¬μ νμΌμ μΆκ°ν νμ λλ ν°λ¦¬ μ λ³΄κ° λ°λμ§ μμμ΅λλ€" -#: builtin/update-index.c:184 +#: builtin/update-index.c:193 msgid "directory stat info does not change after deleting a file" msgstr "νμΌμ μμ ν νμ λλ ν°λ¦¬ μ λ³΄κ° λ°λμ§ μμμ΅λλ€" -#: builtin/update-index.c:197 +#: builtin/update-index.c:206 msgid "directory stat info does not change after deleting a directory" msgstr "λλ ν°λ¦¬λ₯Ό μμ ν νμ λλ ν°λ¦¬ μ λ³΄κ° λ°λμ§ μμμ΅λλ€" -#: builtin/update-index.c:204 +#: builtin/update-index.c:213 msgid " OK" msgstr " μ€μΌμ΄" -#: builtin/update-index.c:564 +#: builtin/update-index.c:575 msgid "git update-index [<options>] [--] [<file>...]" msgstr "git update-index [<μ΅μ
>] [--] [<νμΌ>...]" -#: builtin/update-index.c:918 +#: builtin/update-index.c:930 msgid "continue refresh even when index needs update" msgstr "μΈλ±μ€μ μ
λ°μ΄νΈκ° νμνλλΌλ μλ‘ κ³ μΉ¨μ κ³μν©λλ€" -#: builtin/update-index.c:921 +#: builtin/update-index.c:933 msgid "refresh: ignore submodules" msgstr "μλ‘ κ³ μΉ¨: νμ λͺ¨λ 무μ" -#: builtin/update-index.c:924 +#: builtin/update-index.c:936 msgid "do not ignore new files" msgstr "μ νμΌμ 무μν μ μμ΅λλ€" -#: builtin/update-index.c:926 +#: builtin/update-index.c:938 msgid "let files replace directories and vice-versa" msgstr "λλ ν°λ¦¬λ₯Ό νμΌλ‘, λλ κ·Έ λ°λλ‘ λ°κΏ μ μκ² νμ©ν©λλ€" -#: builtin/update-index.c:928 +#: builtin/update-index.c:940 msgid "notice files missing from worktree" msgstr "μμ
ν΄λμμ μλ¦Ό νμΌμ΄ μμ΅λλ€" -#: builtin/update-index.c:930 +#: builtin/update-index.c:942 msgid "refresh even if index contains unmerged entries" msgstr "μΈλ±μ€μ λ³ν©νμ§ μμ νλͺ©μ΄ μμ΄λ μλ‘ κ³ μΉ©λλ€" -#: builtin/update-index.c:933 +#: builtin/update-index.c:945 msgid "refresh stat information" msgstr "νμΌ μ 보λ₯Ό μλ‘ κ³ μΉ©λλ€" -#: builtin/update-index.c:937 +#: builtin/update-index.c:949 msgid "like --refresh, but ignore assume-unchanged setting" msgstr "--refreshμ λμΌνμ§λ§, assume-unchanged μ€μ μ 무μν©λλ€" -#: builtin/update-index.c:941 +#: builtin/update-index.c:953 msgid "<mode>,<object>,<path>" msgstr "<λͺ¨λ>,<μ€λΈμ νΈ>,<κ²½λ‘>" -#: builtin/update-index.c:942 +#: builtin/update-index.c:954 msgid "add the specified entry to the index" msgstr "μ§μ ν νλͺ©μ μΈλ±μ€μ μΆκ°ν©λλ€" -#: builtin/update-index.c:946 +#: builtin/update-index.c:958 msgid "(+/-)x" msgstr "(+/-)x" -#: builtin/update-index.c:947 +#: builtin/update-index.c:959 msgid "override the executable bit of the listed files" msgstr "λͺ©λ‘μ νμΌμμ μ€ν κ°λ₯ λΉνΈλ₯Ό λ°κΏλλ€" -#: builtin/update-index.c:951 +#: builtin/update-index.c:963 msgid "mark files as \"not changing\"" msgstr "νμΌμ \"λ°κΎΈμ§ μμ\"μΌλ‘ νμν©λλ€" -#: builtin/update-index.c:954 +#: builtin/update-index.c:966 msgid "clear assumed-unchanged bit" msgstr "λ°κΎΈμ§ μμμΌλ‘ κ°μ (assumed-unchanged) λΉνΈλ₯Ό μ§μλλ€" -#: builtin/update-index.c:957 +#: builtin/update-index.c:969 msgid "mark files as \"index-only\"" msgstr "νμΌμ μΈλ±μ€ μ μ©μΌλ‘ (\"index-only\") νμν©λλ€" -#: builtin/update-index.c:960 +#: builtin/update-index.c:972 msgid "clear skip-worktree bit" msgstr "μμ
ν΄λ 건λλ°κΈ° (skip-worktree) λΉνΈλ₯Ό μ§μλλ€" -#: builtin/update-index.c:963 +#: builtin/update-index.c:975 msgid "add to index only; do not add content to object database" -msgstr "μΈλ±μ€μλ§ μΆκ°ν©λλ€. λ΄μ©μ μ€λΈμ νΈ λ°μ΄ν°λ² μ΄μ€μ μΆκ°νμ§ μμ΅λλ€" +msgstr "" +"μΈλ±μ€μλ§ μΆκ°ν©λλ€. λ΄μ©μ μ€λΈμ νΈ λ°μ΄ν°λ² μ΄μ€μ μΆκ°νμ§ μμ΅λλ€" -#: builtin/update-index.c:965 +#: builtin/update-index.c:977 msgid "remove named paths even if present in worktree" msgstr "μμ
ν΄λμ μμ΄λ ν΄λΉ κ²½λ‘λ₯Ό μ κ±°ν©λλ€" -#: builtin/update-index.c:967 +#: builtin/update-index.c:979 msgid "with --stdin: input lines are terminated by null bytes" msgstr "--stdinκ³Ό κ°μ΄ μ¬μ©: μ
λ ₯ μ€μ NUL λ°μ΄νΈλ‘ λλ©λλ€" -#: builtin/update-index.c:969 +#: builtin/update-index.c:981 msgid "read list of paths to be updated from standard input" msgstr "νμ€ μ
λ ₯μμ μ
λ°μ΄νΈν κ²½λ‘μ λͺ©λ‘μ μ½μ΅λλ€" -#: builtin/update-index.c:973 +#: builtin/update-index.c:985 msgid "add entries from standard input to the index" msgstr "νμ€ μ
λ ₯μμ μ½μ νλͺ©μ μΈλ±μ€μ μΆκ°ν©λλ€" -#: builtin/update-index.c:977 +#: builtin/update-index.c:989 msgid "repopulate stages #2 and #3 for the listed paths" msgstr "κ²½λ‘ λͺ©λ‘μ λν΄ #2 λ° #3 μ€ν
μ΄μ§μ λ€μ ν©λλ€" -#: builtin/update-index.c:981 +#: builtin/update-index.c:993 msgid "only update entries that differ from HEAD" msgstr "HEADμ λ€λ₯Έ νλͺ©λ§ μ
λ°μ΄νΈν©λλ€" -#: builtin/update-index.c:985 +#: builtin/update-index.c:997 msgid "ignore files missing from worktree" msgstr "μμ
ν΄λμ μλ νμΌμ 무μν©λλ€" -#: builtin/update-index.c:988 +#: builtin/update-index.c:1000 msgid "report actions to standard output" msgstr "νμ€ μΆλ ₯μ λμμ μ립λλ€" -#: builtin/update-index.c:990 +#: builtin/update-index.c:1002 msgid "(for porcelains) forget saved unresolved conflicts" msgstr "μ μ₯ν ν΄κ²°λμ§ μμ μΆ©λμ 무μν©λλ€ (μ¬μ©μμ© λͺ
λ Ή μ©λ)" -#: builtin/update-index.c:994 +#: builtin/update-index.c:1006 msgid "write index in this format" msgstr "μΈλ±μ€λ₯Ό μ΄ νμμΌλ‘ μλλ€" -#: builtin/update-index.c:996 +#: builtin/update-index.c:1008 msgid "enable or disable split index" msgstr "μ€νλ¦Ώ μΈλ±μ€λ₯Ό μΌκ±°λ λλλ€" -#: builtin/update-index.c:998 +#: builtin/update-index.c:1010 msgid "enable/disable untracked cache" msgstr "μΆμ νμ§ μλ μΊμ μ¬μ©μ μΌκ±°λ λλλ€" -#: builtin/update-index.c:1000 +#: builtin/update-index.c:1012 +msgid "test if the filesystem supports untracked cache" +msgstr "νμΌ μμ€ν
μ΄ μΆμ νμ§ μλ μΊμλ₯Ό μ§μνλμ§ κ²μ¬ν©λλ€" + +#: builtin/update-index.c:1014 msgid "enable untracked cache without testing the filesystem" msgstr "νμΌ μμ€ν
ν
μ€νΈ μμ΄ μΆμ νμ§ μλ μΊμλ₯Ό μ¬μ©ν©λλ€" +#: builtin/update-index.c:1134 +msgid "Untracked cache disabled" +msgstr "μΆμ λμ§ μλ μΊμλ₯Ό μ¬μ©νμ§ μμ΅λλ€" + +#: builtin/update-index.c:1146 +#, c-format +msgid "Untracked cache enabled for '%s'" +msgstr "'%s'μ λν΄ μΆμ λμ§ μλ μΊμλ₯Ό μ¬μ©νμ§ μμ΅λλ€" + #: builtin/update-ref.c:9 msgid "git update-ref [<options>] -d <refname> [<old-val>]" msgstr "git update-ref [<μ΅μ
>] -d <λ νΌλ°μ€μ΄λ¦> [<κ³Όκ±°-κ°>]" @@ -10919,33 +11192,33 @@ msgstr "μ κ±°μ μ€ν¨νμ΅λλ€: %s" msgid "'%s' already exists" msgstr "'%s'μ΄(κ°) μ΄λ―Έ μμ΅λλ€" -#: builtin/worktree.c:235 +#: builtin/worktree.c:233 #, c-format msgid "could not create directory of '%s'" msgstr "'%s'μ λλ ν°λ¦¬λ₯Ό λ§λ€ μ μμ΅λλ€" -#: builtin/worktree.c:271 +#: builtin/worktree.c:269 #, c-format msgid "Preparing %s (identifier %s)" msgstr "%s μ€λΉ μ€ (ID %s)" -#: builtin/worktree.c:319 +#: builtin/worktree.c:317 msgid "checkout <branch> even if already checked out in other worktree" msgstr "λ€λ₯Έ μμ
ν΄λμμ 체ν¬μμνλλΌλ <λΈλμΉ>λ₯Ό 체ν¬μμν©λλ€" -#: builtin/worktree.c:321 +#: builtin/worktree.c:319 msgid "create a new branch" msgstr "μ λΈλμΉλ₯Ό λ§λλλ€" -#: builtin/worktree.c:323 +#: builtin/worktree.c:321 msgid "create or reset a branch" msgstr "λΈλμΉλ₯Ό λ§λ€κ±°λ 리μ
ν©λλ€" -#: builtin/worktree.c:324 +#: builtin/worktree.c:322 msgid "detach HEAD at named commit" msgstr "HEADλ₯Ό ν΄λΉ 컀λ°μμ λΆλ¦¬ν©λλ€" -#: builtin/worktree.c:331 +#: builtin/worktree.c:329 msgid "-b, -B, and --detach are mutually exclusive" msgstr "-b, -B, --detach μ΅μ
μ€ νλλ§ μΈ μ μμ΅λλ€" @@ -10965,7 +11238,7 @@ msgstr "νμ λλ ν°λ¦¬ <μ λμ΄>μ λν΄ νΈλ¦¬ μ€λΈμ νΈλ₯Ό μλλ msgid "only useful for debugging" msgstr "λλ²κΉ
μ©λλ‘λ§ μ¬μ©" -#: credential-cache--daemon.c:255 +#: credential-cache--daemon.c:262 msgid "print debugging messages to stderr" msgstr "λλ²κΉ
λ©μμ§λ₯Ό νμ€μ€λ₯λ‘ μΆλ ₯ν©λλ€" @@ -10979,6 +11252,10 @@ msgstr "" "λͺ©λ‘μ λ³Ό μ μμ΅λλ€. νΉμ νμ λͺ
λ Ήμ΄λ κ°λ
μ λν΄ μ½μ΄ λ³΄λ €λ©΄ 'git help\n" "<λͺ
λ Ή>' λλ 'git help <κ°λ
>' λͺ
λ Ήμ μ€ννμμμ€." +#: http.c:321 +msgid "Public key pinning not supported with cURL < 7.44.0" +msgstr "κ³΅κ° ν€ κ³ μ μ cURL 7.44.0 μ λ²μ μμλ μ§μνμ§ μμ΅λλ€" + #: common-cmds.h:9 msgid "start a working area (see also: git help tutorial)" msgstr "μμ
κ³΅κ° μμ (μ°Έκ³ : git help tutorial)" @@ -11060,8 +11337,8 @@ msgid "Update remote refs along with associated objects" msgstr "μ격 λ νΌλ°μ€ λ° κ·Έμ κ΄λ ¨λ μ€λΈμ νΈλ₯Ό μ
λ°μ΄νΈν©λλ€" #: common-cmds.h:32 -msgid "Forward-port local commits to the updated upstream head" -msgstr "λ‘컬 컀λ°μ μ
λ°μ΄νΈλ μ
μ€νΈλ¦Ό head λ€μμ λ§μΆ° λ£μ΅λλ€" +msgid "Reapply commits on top of another base tip" +msgstr "컀λ°μ λ€λ₯Έ λ² μ΄μ€ λμ μ΅μμμμ μ μ©ν©λλ€" #: common-cmds.h:33 msgid "Reset current HEAD to the specified state" @@ -11312,7 +11589,8 @@ msgid "" msgstr "" "μ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ©΄, \"\"git rebase --continue\"λ₯Ό μ€ννμμμ€.\n" "μ΄ ν¨μΉλ₯Ό 건λλ°λ €λ©΄, λμ μ \"git rebase --skip\"μ μ€ννμμμ€.\n" -"μλ λΈλμΉλ₯Ό 체ν¬μμνκ³ λ¦¬λ² μ΄μ€λ₯Ό μ€μ§νλ €λ©΄, \"git rebase --abort\"λ₯Ό μ€ννμμμ€." +"μλ λΈλμΉλ₯Ό 체ν¬μμνκ³ λ¦¬λ² μ΄μ€λ₯Ό μ€μ§νλ €λ©΄, \"git rebase --abort\"λ₯Ό μ€" +"ννμμμ€." #: git-rebase.sh:165 msgid "Applied autostash." @@ -11685,7 +11963,9 @@ msgstr "'$prefix$displaypath' μ
λ ₯" #: git-submodule.sh:437 #, sh-format msgid "Stopping at '$prefix$displaypath'; script returned non-zero status." -msgstr "'$prefix$displaypath' μμΉμμ λ©μΆ€. μ€ν¬λ¦½νΈμμ 0μ΄ μλ μνλ₯Ό 리ν΄νμ΅λλ€." +msgstr "" +"'$prefix$displaypath' μμΉμμ λ©μΆ€. μ€ν¬λ¦½νΈμμ 0μ΄ μλ μνλ₯Ό 리ν΄νμ΅λ" +"λ€." #: git-submodule.sh:483 #, sh-format @@ -11705,7 +11985,8 @@ msgstr "'$displaypath' κ²½λ‘μ ($url) λν΄ λ±λ‘λ '$name' νμ λͺ¨λ" #: git-submodule.sh:511 #, sh-format msgid "Failed to register update mode for submodule path '$displaypath'" -msgstr "νμ λͺ¨λ κ²½λ‘ '$displaypath'μ λν΄ μ
λ°μ΄νΈ λͺ¨λλ₯Ό λ±λ‘νλλ° μ€ν¨νμ΅λλ€" +msgstr "" +"νμ λͺ¨λ κ²½λ‘ '$displaypath'μ λν΄ μ
λ°μ΄νΈ λͺ¨λλ₯Ό λ±λ‘νλλ° μ€ν¨νμ΅λλ€" #: git-submodule.sh:549 #, sh-format @@ -11728,7 +12009,9 @@ msgstr "(μ λ§λ‘ κ·Έ μ»€λ° λ΄μκΉμ§ ν¬ν¨ν΄ μ κ±°νλ €λ©΄ 'rm -rf'λ₯Ό msgid "" "Submodule work tree '$displaypath' contains local modifications; use '-f' to " "discard them" -msgstr "νμ λͺ¨λ μμ
ν΄λμ ('$displaypath') λ‘컬 μμ μ¬νμ΄ μμ΅λλ€. λ²λ¦¬λ €λ©΄ '-f'λ₯Ό μ¬μ©νμμμ€" +msgstr "" +"νμ λͺ¨λ μμ
ν΄λμ ('$displaypath') λ‘컬 μμ μ¬νμ΄ μμ΅λλ€. λ²λ¦¬λ €λ©΄ '-" +"f'λ₯Ό μ¬μ©νμμμ€" #: git-submodule.sh:576 #, sh-format @@ -11748,9 +12031,10 @@ msgstr "λΉ νμ λͺ¨λ λλ ν°λ¦¬λ₯Ό ('$displaypath') λ§λ€ μ μμ΅λλ #: git-submodule.sh:589 #, sh-format msgid "Submodule '$name' ($url) unregistered for path '$displaypath'" -msgstr "'$name' νμ λͺ¨λμ΄ ($url) '$displaypath' κ²½λ‘μ λν΄ λ±λ‘λμ§ μμμ΅λλ€" +msgstr "" +"'$name' νμ λͺ¨λμ΄ ($url) '$displaypath' κ²½λ‘μ λν΄ λ±λ‘λμ§ μμμ΅λλ€" -#: git-submodule.sh:705 +#: git-submodule.sh:723 #, sh-format msgid "" "Submodule path '$displaypath' not initialized\n" @@ -11759,101 +12043,103 @@ msgstr "" "νμ λͺ¨λ κ²½λ‘κ° ('$displaypath') μ΄κΈ°νλμ§ μμμ΅λλ€\n" "μλ§λ 'update --init'μ΄ νμν©λλ€?" -#: git-submodule.sh:718 +#: git-submodule.sh:736 #, sh-format msgid "Unable to find current revision in submodule path '$displaypath'" msgstr "νμ λͺ¨λ κ²½λ‘μμ ('$displaypath') νμ¬ λ¦¬λΉμ μ μ°Ύμ μ μμ΅λλ€" -#: git-submodule.sh:727 +#: git-submodule.sh:745 #, sh-format msgid "Unable to fetch in submodule path '$sm_path'" msgstr "νμ λͺ¨λ κ²½λ‘ '$sm_path'μμ κ°μ Έμ¬ μ μμ΅λλ€" -#: git-submodule.sh:751 +#: git-submodule.sh:768 #, sh-format msgid "Unable to fetch in submodule path '$displaypath'" msgstr "νμ λͺ¨λ κ²½λ‘ '$displaypath'μμ κ°μ Έμ¬ μ μμ΅λλ€" -#: git-submodule.sh:765 +#: git-submodule.sh:788 #, sh-format msgid "Unable to checkout '$sha1' in submodule path '$displaypath'" msgstr "νμ λͺ¨λ κ²½λ‘ '$displaypath'μμ '$sha1'μ(λ₯Ό) 체ν¬μμν μ μμ΅λλ€" -#: git-submodule.sh:766 +#: git-submodule.sh:789 #, sh-format msgid "Submodule path '$displaypath': checked out '$sha1'" msgstr "νμ λͺ¨λ κ²½λ‘ '$displaypath': '$sha1' 체ν¬μμ" -#: git-submodule.sh:770 +#: git-submodule.sh:793 #, sh-format msgid "Unable to rebase '$sha1' in submodule path '$displaypath'" msgstr "νμ λͺ¨λ κ²½λ‘ '$displaypath'μμ '$sha1'μ(λ₯Ό) λ¦¬λ² μ΄μ€ν μ μμ΅λλ€" -#: git-submodule.sh:771 +#: git-submodule.sh:794 #, sh-format msgid "Submodule path '$displaypath': rebased into '$sha1'" msgstr "νμ λͺ¨λ κ²½λ‘ '$displaypath': '$sha1'(μΌ)λ‘ λ¦¬λ² μ΄μ€" -#: git-submodule.sh:776 +#: git-submodule.sh:799 #, sh-format msgid "Unable to merge '$sha1' in submodule path '$displaypath'" msgstr "νμ λͺ¨λ κ²½λ‘ '$displaypath'μμ '$sha1' λ³ν©ν μ μμ΅λλ€" -#: git-submodule.sh:777 +#: git-submodule.sh:800 #, sh-format msgid "Submodule path '$displaypath': merged in '$sha1'" msgstr "νμ λͺ¨λ κ²½λ‘ '$displaypath': '$sha1'μμ λ³ν©" -#: git-submodule.sh:782 +#: git-submodule.sh:805 #, sh-format msgid "" "Execution of '$command $sha1' failed in submodule path '$prefix$sm_path'" -msgstr "νμ λͺ¨λ κ²½λ‘ '$prefix$sm_path'μμ '$command $sha1' μ€νμ΄ μ€ν¨νμ΅λλ€" +msgstr "" +"νμ λͺ¨λ κ²½λ‘ '$prefix$sm_path'μμ '$command $sha1' μ€νμ΄ μ€ν¨νμ΅λλ€" -#: git-submodule.sh:783 +#: git-submodule.sh:806 #, sh-format msgid "Submodule path '$prefix$sm_path': '$command $sha1'" msgstr "νμ λͺ¨λ κ²½λ‘ '$prefix$sm_path': '$command $sha1'" -#: git-submodule.sh:813 +#: git-submodule.sh:836 #, sh-format msgid "Failed to recurse into submodule path '$displaypath'" msgstr "μ¬κ·μ μΌλ‘ νμ λͺ¨λ κ²½λ‘ '$displaypath'μ λ€μ΄κ°λλ° μ€ν¨νμ΅λλ€" -#: git-submodule.sh:921 +#: git-submodule.sh:944 msgid "The --cached option cannot be used with the --files option" msgstr "--cached μ΅μ
μ --files μ΅μ
κ³Ό κ°μ΄ μΈ μ μμ΅λλ€" -#: git-submodule.sh:973 +#: git-submodule.sh:996 #, sh-format msgid "unexpected mode $mod_dst" msgstr "μμμΉ λͺ»ν λͺ¨λ $mod_dst" -#: git-submodule.sh:993 +#: git-submodule.sh:1016 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_src" msgstr " κ²½κ³ : '$display_name'μ '$sha1_src' 컀λ°μ΄ λ€μ΄μμ§ μμ΅λλ€" -#: git-submodule.sh:996 +#: git-submodule.sh:1019 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_dst" msgstr " κ²½κ³ : '$display_name'μ '$sha1_dst' 컀λ°μ΄ λ€μ΄μμ§ μμ΅λλ€" -#: git-submodule.sh:999 +#: git-submodule.sh:1022 #, sh-format msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst" -msgstr " κ²½κ³ : '$display_name'μ '$sha1_src' λ° '$sha1_dst' 컀λ°μ΄ λ€μ΄μμ§ μμ΅λλ€" +msgstr "" +" κ²½κ³ : '$display_name'μ '$sha1_src' λ° '$sha1_dst' 컀λ°μ΄ λ€μ΄μμ§ μμ΅λλ€" -#: git-submodule.sh:1024 +#: git-submodule.sh:1047 msgid "blob" msgstr "λΈλ‘" -#: git-submodule.sh:1142 +#: git-submodule.sh:1165 #, sh-format msgid "Failed to recurse into submodule path '$sm_path'" msgstr "μ¬κ·μ μΌλ‘ νμ λͺ¨λ κ²½λ‘ '$sm_path'μ λ€μ΄κ°λλ° μ€ν¨νμ΅λλ€" -#: git-submodule.sh:1206 +#: git-submodule.sh:1229 #, sh-format msgid "Synchronizing submodule url for '$displaypath'" msgstr "νμ λͺ¨λ URLμ '$displaypath'μ λν΄ λκΈ°ν" diff --git a/po/pt_PT.po b/po/pt_PT.po index 689ad1b0fe..321b553877 100644 --- a/po/pt_PT.po +++ b/po/pt_PT.po @@ -2,333 +2,667 @@ # Copyright (C) 2012 Marco Sousa <marcomsousa AT gmail.com> # This file is distributed under the same license as the Git package. # Contributers: -# - Marco Sousa <marcomsousa AT gmail.com> -# +# - Marco Sousa <marcomsousa AT gmail.com> +# Vasco Almeida <vasco13almeida@gmail.com>, 2016. msgid "" msgstr "" "Project-Id-Version: Git\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2012-05-08 16:06+0800\n" -"PO-Revision-Date: 2012-05-14 21:17+0100\n" -"Last-Translator: Marco Sousa <marcomsousa AT gmail.com>\n" +"POT-Creation-Date: 2016-03-16 00:16+0800\n" +"PO-Revision-Date: 2016-03-22 16:00+0000\n" +"Last-Translator: Vasco Almeida <vasco13almeida@gmail.com>\n" "Language-Team: Portuguese\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Virtaal 0.7.1\n" -#: advice.c:40 +#: advice.c:55 #, c-format msgid "hint: %.*s\n" -msgstr "dica: %.*s\n" +msgstr "sugestΓ£o: %.*s\n" -#. -#. * Message used both when 'git commit' fails and when -#. * other commands doing a merge do. -#. -#: advice.c:70 +#: advice.c:88 +msgid "" +"Fix them up in the work tree, and then use 'git add/rm <file>'\n" +"as appropriate to mark resolution and make a commit." +msgstr "" +"Corrija-os na Γ‘rvore de trabalho e use 'git add/rm <ficheiro>'\n" +"conforme apropriado para marcΓ‘-los como resolvidos e faΓ§a commit." + +#: advice.c:101 builtin/merge.c:1226 +msgid "You have not concluded your merge (MERGE_HEAD exists)." +msgstr "Merge nΓ£o concluΓdo (MERGE_HEAD presente)." + +#: advice.c:103 +msgid "Please, commit your changes before merging." +msgstr "FaΓ§a commit das suas alteraΓ§Γ΅es antes de efetuar merge." + +#: advice.c:104 +msgid "Exiting because of unfinished merge." +msgstr "A terminar por causa de merge incompleto." + +#: archive.c:12 +msgid "git archive [<options>] <tree-ish> [<path>...]" +msgstr "git archive [<opΓ§Γ΅es>] <Γ‘rvore> [<caminho>...]" + +#: archive.c:13 +msgid "git archive --list" +msgstr "git archive --list" + +#: archive.c:14 msgid "" -"Fix them up in the work tree,\n" -"and then use 'git add/rm <file>' as\n" -"appropriate to mark resolution and make a commit,\n" -"or use 'git commit -a'." +"git archive --remote <repo> [--exec <cmd>] [<options>] <tree-ish> [<path>...]" msgstr "" +"git archive --remote <repo> [--exec <cmd>] [<opΓ§Γ΅es>] <tree-ish> " +"[<caminho>...]" -#: bundle.c:36 +#: archive.c:15 +msgid "git archive --remote <repo> [--exec <cmd>] --list" +msgstr "git archive --remote <repo> [--exec <cmd>] --list" + +#: archive.c:344 builtin/add.c:137 builtin/add.c:420 builtin/rm.c:327 #, c-format -msgid "'%s' does not look like a v2 bundle file" +msgid "pathspec '%s' did not match any files" +msgstr "o especificador de caminho '%s' nΓ£o corresponde a nenhum ficheiro" + +#: archive.c:429 +msgid "fmt" +msgstr "fmt" + +#: archive.c:429 +msgid "archive format" +msgstr "formato do arquivo" + +#: archive.c:430 builtin/log.c:1232 +msgid "prefix" +msgstr "prefixo" + +#: archive.c:431 +msgid "prepend prefix to each pathname in the archive" +msgstr "preceder o prefixo a cada nome de caminho dentro do arquivo" + +#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2547 +#: builtin/blame.c:2548 builtin/config.c:60 builtin/fast-export.c:987 +#: builtin/fast-export.c:989 builtin/grep.c:720 builtin/hash-object.c:100 +#: builtin/ls-files.c:459 builtin/ls-files.c:462 builtin/notes.c:398 +#: builtin/notes.c:561 builtin/read-tree.c:109 parse-options.h:153 +msgid "file" +msgstr "ficheiro" + +#: archive.c:433 builtin/archive.c:89 +msgid "write the archive to this file" +msgstr "escrever o arquivo para este ficheiro" + +#: archive.c:435 +msgid "read .gitattributes in working directory" +msgstr "ler .gitattributes do diretΓ³rio de trabalho" + +#: archive.c:436 +msgid "report archived files on stderr" +msgstr "listar ficheiros arquivados para stderr" + +#: archive.c:437 +msgid "store only" +msgstr "armazenar apenas" + +#: archive.c:438 +msgid "compress faster" +msgstr "compressΓ£o rΓ‘pida" + +#: archive.c:446 +msgid "compress better" +msgstr "compressΓ£o Γ³tima" + +#: archive.c:449 +msgid "list supported archive formats" +msgstr "listar formatos de arquivo suportados" + +#: archive.c:451 builtin/archive.c:90 builtin/clone.c:78 +msgid "repo" +msgstr "repo" + +#: archive.c:452 builtin/archive.c:91 +msgid "retrieve the archive from remote repository <repo>" +msgstr "obter o arquivo a partir do repositΓ³rio remoto <repo>" + +#: archive.c:453 builtin/archive.c:92 builtin/notes.c:482 +msgid "command" +msgstr "comando" + +#: archive.c:454 builtin/archive.c:93 +msgid "path to the remote git-upload-archive command" +msgstr "caminho para o comando git-upload-archive no remoto" + +#: attr.c:263 +msgid "" +"Negative patterns are ignored in git attributes\n" +"Use '\\!' for literal leading exclamation." msgstr "" +"Os padrΓ΅es negativos sΓ£o ignorados nos atributos do git\n" +"Use '\\!' para uma exclamaΓ§Γ£o literal Γ esquerda." -#: bundle.c:63 +#: branch.c:53 +#, c-format +msgid "" +"\n" +"After fixing the error cause you may try to fix up\n" +"the remote tracking information by invoking\n" +"\"git branch --set-upstream-to=%s%s%s\"." +msgstr "" +"\n" +"ApΓ³s resolver a causa do problema, pode tentar corrigir\n" +"o ramo remoto que deve ser seguido invocando\n" +"\"git branch --set-upstream-to=%s%s%s\"." + +#: branch.c:67 +#, c-format +msgid "Not setting branch %s as its own upstream." +msgstr "O ramo %s nΓ£o foi configurado com ramo a montante dele prΓ³prio." + +#: branch.c:93 +#, c-format +msgid "Branch %s set up to track remote branch %s from %s by rebasing." +msgstr "Ramo %s configurado para seguir o ramo remoto %s de %s por rebase." + +#: branch.c:94 +#, c-format +msgid "Branch %s set up to track remote branch %s from %s." +msgstr "Ramo %s configurado para seguir o ramo remoto %s de %s." + +#: branch.c:98 +#, c-format +msgid "Branch %s set up to track local branch %s by rebasing." +msgstr "Ramo %s configurado para seguir o ramo local %s por rebase." + +#: branch.c:99 +#, c-format +msgid "Branch %s set up to track local branch %s." +msgstr "Ramo %s configurado para seguir o ramo local %s." + +#: branch.c:104 +#, c-format +msgid "Branch %s set up to track remote ref %s by rebasing." +msgstr "Ramo %s configurado para seguir a referΓͺncia remota %s por rebase." + +#: branch.c:105 +#, c-format +msgid "Branch %s set up to track remote ref %s." +msgstr "Ramo %s configurado para seguir a referΓͺncia remota %s." + +#: branch.c:109 +#, c-format +msgid "Branch %s set up to track local ref %s by rebasing." +msgstr "Ramo %s configurado para seguir a referΓͺncia local %s por rebase." + +#: branch.c:110 +#, c-format +msgid "Branch %s set up to track local ref %s." +msgstr "Ramo %s configurado para seguir a referΓͺncia local %s." + +#: branch.c:119 +msgid "Unable to write upstream branch configuration" +msgstr "NΓ£o foi possΓvel escrever a configuraΓ§Γ£o do ramo a montante" + +#: branch.c:156 +#, c-format +msgid "Not tracking: ambiguous information for ref %s" +msgstr "NΓ£o seguido: informaΓ§Γ£o da referΓͺncia %s ambΓgua" + +#: branch.c:185 +#, c-format +msgid "'%s' is not a valid branch name." +msgstr "'%s' nΓ£o Γ© um nome vΓ‘lido para um ramo." + +#: branch.c:190 +#, c-format +msgid "A branch named '%s' already exists." +msgstr "JΓ‘ existe um ramo designado '%s'." + +#: branch.c:198 +msgid "Cannot force update the current branch." +msgstr "NΓ£o Γ© possΓvel forΓ§ar a atualizaΓ§Γ£o do ramo atual." + +#: branch.c:218 +#, c-format +msgid "Cannot setup tracking information; starting point '%s' is not a branch." +msgstr "" +"NΓ£o Γ© possΓvel configurar ramo a seguir; o ponto inicial '%s' nΓ£o Γ© um ramo." + +#: branch.c:220 +#, c-format +msgid "the requested upstream branch '%s' does not exist" +msgstr "o ramo a montante solicitado '%s' nΓ£o existe" + +#: branch.c:222 +msgid "" +"\n" +"If you are planning on basing your work on an upstream\n" +"branch that already exists at the remote, you may need to\n" +"run \"git fetch\" to retrieve it.\n" +"\n" +"If you are planning to push out a new local branch that\n" +"will track its remote counterpart, you may want to use\n" +"\"git push -u\" to set the upstream config as you push." +msgstr "" +"\n" +"Se pretende efetuar rebase do seu trabalho sobre um ramo\n" +"a montante que jΓ‘ existe no remoto, pode ser necessΓ‘rio\n" +"executar \"git fetch\" para obtΓͺ-lo.\n" +"\n" +"Se pretende publicar um novo ramo local que irΓ‘ seguir\n" +"o seu homΓ³logo remoto, pode usar \"git push -u\" para configurar\n" +"o respetivo ramo a montante, ao mesmo tempo que publica." + +#: branch.c:266 +#, c-format +msgid "Not a valid object name: '%s'." +msgstr "Nome de objeto invΓ‘lido: '%s'." + +#: branch.c:286 +#, c-format +msgid "Ambiguous object name: '%s'." +msgstr "Nome de objeto ambΓguo: '%s'." + +#: branch.c:291 +#, c-format +msgid "Not a valid branch point: '%s'." +msgstr "Ponto no ramo invΓ‘lido: '%s'." + +#: branch.c:344 +#, c-format +msgid "'%s' is already checked out at '%s'" +msgstr "'%s' jΓ‘ extraΓdo em '%s'" + +#: bundle.c:34 +#, c-format +msgid "'%s' does not look like a v2 bundle file" +msgstr "'%s' nΓ£o parece ser um ficheiro bundle v2" + +#: bundle.c:61 #, c-format msgid "unrecognized header: %s%s (%d)" msgstr "cabeΓ§alho nΓ£o reconhecido: %s%s (%d)" -#: bundle.c:89 -#: builtin/commit.c:753 +#: bundle.c:87 builtin/commit.c:766 #, c-format msgid "could not open '%s'" -msgstr "nΓ£o Γ© possivel abrir '%s'" +msgstr "nΓ£o Γ© possΓvel abrir '%s'" -#: bundle.c:140 +#: bundle.c:139 msgid "Repository lacks these prerequisite commits:" -msgstr "" +msgstr "O repositΓ³rio nΓ£o possuΓ estes commits prΓ©-requisitados:" -#: bundle.c:164 -#: sequencer.c:533 -#: sequencer.c:965 -#: builtin/log.c:289 -#: builtin/log.c:719 -#: builtin/log.c:1335 -#: builtin/log.c:1554 -#: builtin/merge.c:347 -#: builtin/shortlog.c:181 +#: bundle.c:163 ref-filter.c:1462 sequencer.c:627 sequencer.c:1074 +#: builtin/blame.c:2754 builtin/commit.c:1045 builtin/log.c:334 +#: builtin/log.c:852 builtin/log.c:1467 builtin/log.c:1700 builtin/merge.c:358 +#: builtin/shortlog.c:170 msgid "revision walk setup failed" -msgstr "" +msgstr "falha ao configurar percurso de revisΓ΅es" -#: bundle.c:186 +#: bundle.c:185 #, c-format -msgid "The bundle contains %d ref" -msgid_plural "The bundle contains %d refs" -msgstr[0] "" -msgstr[1] "" +msgid "The bundle contains this ref:" +msgid_plural "The bundle contains these %d refs:" +msgstr[0] "O bundle contΓ©m esta referΓͺncia:" +msgstr[1] "O bundle contΓ©m estas %d referΓͺncias:" #: bundle.c:192 +msgid "The bundle records a complete history." +msgstr "O pacote regista um histΓ³rico completo." + +#: bundle.c:194 #, c-format -msgid "The bundle requires this ref" -msgid_plural "The bundle requires these %d refs" -msgstr[0] "" -msgstr[1] "" +msgid "The bundle requires this ref:" +msgid_plural "The bundle requires these %d refs:" +msgstr[0] "O bundle requer esta referΓͺncia:" +msgstr[1] "O bundle requer estas %d referΓͺncias:" + +#: bundle.c:253 +msgid "Could not spawn pack-objects" +msgstr "NΓ£o foi possΓvel lanΓ§ar pack-objects" -#: bundle.c:290 +#: bundle.c:264 +msgid "pack-objects died" +msgstr "pack-objects terminou inesperadamente" + +#: bundle.c:304 msgid "rev-list died" -msgstr "rev-list morreu" +msgstr "rev-list terminou inesperadamente" -#: bundle.c:296 -#: builtin/log.c:1231 -#: builtin/shortlog.c:284 +#: bundle.c:353 #, c-format -msgid "unrecognized argument: %s" -msgstr "argumento nΓ£o reconhecido: %s" +msgid "ref '%s' is excluded by the rev-list options" +msgstr "a referΓͺncia '%s' Γ© excluΓda pelas opΓ§Γ΅es de rev-list" -#: bundle.c:331 +#: bundle.c:443 builtin/log.c:157 builtin/log.c:1372 builtin/shortlog.c:273 #, c-format -msgid "ref '%s' is excluded by the rev-list options" -msgstr "" +msgid "unrecognized argument: %s" +msgstr "argumento nΓ£o reconhecido: %s" -#: bundle.c:376 +#: bundle.c:449 msgid "Refusing to create empty bundle." -msgstr "" - -#: bundle.c:394 -msgid "Could not spawn pack-objects" -msgstr "NΓ£o foi possΓvel pawn pack-objects" - -#: bundle.c:412 -msgid "pack-objects died" -msgstr "" +msgstr "CriaΓ§Γ£o de bundle vazio recusada." -#: bundle.c:415 +#: bundle.c:459 #, c-format msgid "cannot create '%s'" -msgstr "nΓ£o consegue crear '%s'" +msgstr "nΓ£o Γ© possΓvel criar '%s'" -#: bundle.c:437 +#: bundle.c:480 msgid "index-pack died" -msgstr "" +msgstr "index-pack terminou inesperadamente" + +#: color.c:275 +#, c-format +msgid "invalid color value: %.*s" +msgstr "valor de cor invΓ‘lido: %.*s" -#: commit.c:48 +#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1505 +#: builtin/am.c:2135 #, c-format msgid "could not parse %s" -msgstr "nΓ£o consigo parsear %s" +msgstr "nΓ£o foi possΓvel analisar %s" -#: commit.c:50 +#: commit.c:42 #, c-format msgid "%s %s is not a commit!" msgstr "%s %s nΓ£o Γ© um commit!" -#: compat/obstack.c:406 -#: compat/obstack.c:408 +#: compat/obstack.c:406 compat/obstack.c:408 msgid "memory exhausted" msgstr "memΓ³ria esgotada" -#: connected.c:39 +#: config.c:475 config.c:477 +#, fuzzy, c-format +msgid "bad config line %d in %s %s" +msgstr "linha %d de configuraΓ§Γ£o incorreta em %s %s" + +#: config.c:593 +#, c-format +msgid "bad numeric config value '%s' for '%s' in %s %s: %s" +msgstr "valor numΓ©rico '%s' da configuraΓ§Γ£o '%s' em %s %s incorreto: %s" + +#: config.c:595 +#, c-format +msgid "bad numeric config value '%s' for '%s': %s" +msgstr "valor numΓ©rico '%s' da configuraΓ§Γ£o '%s' incorreto: %s" + +#: config.c:680 +#, c-format +msgid "failed to expand user dir in: '%s'" +msgstr "falha ao expandir diretΓ³rio de utilizador em: '%s'" + +#: config.c:758 config.c:769 +#, c-format +msgid "bad zlib compression level %d" +msgstr "nΓvel de compressΓ£o zlib %d incorreto" + +#: config.c:891 +#, c-format +msgid "invalid mode for object creation: %s" +msgstr "modo invΓ‘lido para criaΓ§Γ£o de objeto: %s" + +#: config.c:1220 +msgid "unable to parse command-line config" +msgstr "nΓ£o Γ© possΓvel analisar configuraΓ§Γ£o de linha de comandos" + +#: config.c:1281 +msgid "unknown error occured while reading the configuration files" +msgstr "" +"ocorreu um erro desconhecido durante a leitura dos ficheiros de configuraΓ§Γ£o" + +#: config.c:1629 +#, c-format +msgid "unable to parse '%s' from command-line config" +msgstr "nΓ£o Γ© possΓvel analisar '%s' da configuraΓ§Γ£o de linha de comandos" + +#: config.c:1631 +#, c-format +msgid "bad config variable '%s' in file '%s' at line %d" +msgstr "variΓ‘vel de configuraΓ§Γ£o '%s' incorreta no ficheiro '%s' na linha %d" + +#: config.c:1690 +#, c-format +msgid "%s has multiple values" +msgstr "%s tem mΓΊltiplos valores" + +#: config.c:2226 +#, c-format +msgid "Could not set '%s' to '%s'" +msgstr "NΓ£o foi possΓvel definir '%s' como '%s'" + +#: connected.c:69 msgid "Could not run 'git rev-list'" msgstr "NΓ£o foi possΓvel executar 'git rev-list'" -#: connected.c:48 +#: connected.c:89 #, c-format msgid "failed write to rev-list: %s" -msgstr "" +msgstr "falha ao escrever para rev-list: %s" -#: connected.c:56 +#: connected.c:97 #, c-format msgid "failed to close rev-list's stdin: %s" -msgstr "" +msgstr "falha ao fechar stdin de rev-list: %s" #: date.c:95 msgid "in the future" -msgstr "" +msgstr "no futuro" #: date.c:101 #, c-format msgid "%lu second ago" msgid_plural "%lu seconds ago" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "hΓ‘ %lu segundo atrΓ‘s" +msgstr[1] "hΓ‘ %lu segundos atrΓ‘s" #: date.c:108 #, c-format msgid "%lu minute ago" msgid_plural "%lu minutes ago" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "hΓ‘ %lu minuto atrΓ‘s" +msgstr[1] "hΓ‘ %lu minutos atrΓ‘s" #: date.c:115 #, c-format msgid "%lu hour ago" msgid_plural "%lu hours ago" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "hΓ‘ %lu hora atrΓ‘s" +msgstr[1] "hΓ‘ %lu horas atrΓ‘s" #: date.c:122 #, c-format msgid "%lu day ago" msgid_plural "%lu days ago" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "hΓ‘ %lu dia atrΓ‘s" +msgstr[1] "hΓ‘ %lu dias atrΓ‘s" #: date.c:128 #, c-format msgid "%lu week ago" msgid_plural "%lu weeks ago" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "hΓ‘ %lu semana atrΓ‘s" +msgstr[1] "hΓ‘ %lu semanas atrΓ‘s" #: date.c:135 #, c-format msgid "%lu month ago" msgid_plural "%lu months ago" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "hΓ‘ %lu mΓͺs atrΓ‘s" +msgstr[1] "hΓ‘ %lu meses atrΓ‘s" #: date.c:146 #, c-format msgid "%lu year" msgid_plural "%lu years" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%lu ano" +msgstr[1] "%lu anos" +#. TRANSLATORS: "%s" is "<n> years" #: date.c:149 #, c-format msgid "%s, %lu month ago" msgid_plural "%s, %lu months ago" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "hΓ‘ %s e %lu mΓͺs" +msgstr[1] "hΓ‘ %s e %lu meses" -#: date.c:154 -#: date.c:159 +#: date.c:154 date.c:159 #, c-format msgid "%lu year ago" msgid_plural "%lu years ago" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "hΓ‘ %lu ano atrΓ‘s" +msgstr[1] "hΓ‘ %lu anos atrΓ‘s" -#: diff.c:105 +#: diffcore-order.c:24 #, c-format -msgid " Failed to parse dirstat cut-off percentage '%.*s'\n" -msgstr "" +msgid "failed to read orderfile '%s'" +msgstr "falha ao ler o ficheiro de comando '%s'" -#: diff.c:110 +#: diffcore-rename.c:536 +msgid "Performing inexact rename detection" +msgstr "DeteΓ§Γ£o de mudanΓ§a de nome inexata em curso" + +#: diff.c:115 #, c-format -msgid " Unknown dirstat parameter '%.*s'\n" -msgstr "" +msgid " Failed to parse dirstat cut-off percentage '%s'\n" +msgstr " Falha ao analisar percentagem limite de dirstat '%s'\n" -#: diff.c:210 +#: diff.c:120 +#, c-format +msgid " Unknown dirstat parameter '%s'\n" +msgstr " ParΓ’metro de dirstat desconhecido '%s'\n" + +#: diff.c:215 +#, c-format +msgid "Unknown value for 'diff.submodule' config variable: '%s'" +msgstr "Valor desconhecido na variΓ‘vel de configuraΓ§Γ£o 'diff.submodule': '%s'" + +#: diff.c:267 #, c-format msgid "" "Found errors in 'diff.dirstat' config variable:\n" "%s" msgstr "" +"Erros encontrados na variΓ‘vel de configuraΓ§Γ£o 'diff.dirstat':\n" +"%s" -#: diff.c:1400 -msgid " 0 files changed\n" -msgstr " 0 ficheros modificados\n" - -#: diff.c:1404 -#, c-format -msgid " %d file changed" -msgid_plural " %d files changed" -msgstr[0] " %d ficheiro modificado" -msgstr[1] " %d ficheiros modificados" - -#: diff.c:1421 +#: diff.c:2997 #, c-format -msgid ", %d insertion(+)" -msgid_plural ", %d insertions(+)" -msgstr[0] ", %d adiΓ§Γ£o(+)" -msgstr[1] ", %d adiΓ§Γ΅es(+)" +msgid "external diff died, stopping at %s" +msgstr "o diff externo terminou inesperadamente, interrompido em %s" -#: diff.c:1432 -#, c-format -msgid ", %d deletion(-)" -msgid_plural ", %d deletions(-)" -msgstr[0] ", %d eliminado(-)" -msgstr[1] ", %d eliminados(-)" +#: diff.c:3393 +msgid "--follow requires exactly one pathspec" +msgstr "--follow requer exatamente um ΓΊnico especificador de caminho" -#: diff.c:3478 +#: diff.c:3556 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" "%s" msgstr "" +"Falha ao analisar parΓ’metro da opΓ§Γ£o --dirstat/-X:\n" +"%s" + +#: diff.c:3570 +#, c-format +msgid "Failed to parse --submodule option parameter: '%s'" +msgstr "Falha ao analisar parΓ’metro da opΓ§Γ£o --submodule: '%s'" + +#: dir.c:2004 +msgid "failed to get kernel name and information" +msgstr "falha ao obter nome e informaΓ§Γ£o do kernel" -#: gpg-interface.c:59 +#: dir.c:2123 +msgid "Untracked cache is disabled on this system or location." +msgstr "A cache nΓ£o controlada estΓ‘ desativada neste sistema ou localizaΓ§Γ£o." + +#: gpg-interface.c:166 gpg-interface.c:237 msgid "could not run gpg." -msgstr "nΓ£o consegue ejecutar gpg." +msgstr "nΓ£o foi possΓvel executar gpg." -#: gpg-interface.c:71 +#: gpg-interface.c:178 msgid "gpg did not accept the data" -msgstr "" +msgstr "gpg nΓ£o aceitou os dados" -#: gpg-interface.c:82 +#: gpg-interface.c:189 msgid "gpg failed to sign the data" -msgstr "" +msgstr "gpg nΓ£o assinou os dados" + +#: gpg-interface.c:222 +#, c-format +msgid "could not create temporary file '%s': %s" +msgstr "nΓ£o foi possΓvel criar ficheiro temporΓ‘rio '%s': %s" + +#: gpg-interface.c:225 +#, c-format +msgid "failed writing detached signature to '%s': %s" +msgstr "falha ao escrever assinatura destacada em '%s': %s" -#: grep.c:1280 +#: grep.c:1718 #, c-format msgid "'%s': unable to read %s" -msgstr "" +msgstr "'%s': nΓ£o foi possΓvel ler %s" -#: grep.c:1297 +#: grep.c:1735 #, c-format msgid "'%s': %s" msgstr "'%s': %s" -#: grep.c:1308 +#: grep.c:1746 #, c-format msgid "'%s': short read %s" -msgstr "" +msgstr "'%s': leitura truncada %s" -#: help.c:207 +#: help.c:205 #, c-format msgid "available git commands in '%s'" -msgstr "" +msgstr "comandos do git disponΓvel em '%s'" -#: help.c:214 +#: help.c:212 msgid "git commands available from elsewhere on your $PATH" -msgstr "" +msgstr "comandos do git disponΓveis noutras localizaΓ§Γ΅es em $PATH" + +#: help.c:244 +msgid "These are common Git commands used in various situations:" +msgstr "Estes sΓ£o comandos do Git comuns usados em diversas situaΓ§Γ΅es:" -#: help.c:270 +#: help.c:309 #, c-format msgid "" "'%s' appears to be a git command, but we were not\n" "able to execute it. Maybe git-%s is broken?" msgstr "" +"'%s' parece ser um comando do git, mas nΓ£o Γ© possΓvel\n" +"executΓ‘-lo. Talvez git-%s esteja danificado?" -#: help.c:327 +#: help.c:366 msgid "Uh oh. Your system reports no Git commands at all." -msgstr "" +msgstr "Ai ai. NΓ£o hΓ‘ nenhum comando do Git disponΓvel no sistema." -#: help.c:349 +#: help.c:388 #, c-format msgid "" "WARNING: You called a Git command named '%s', which does not exist.\n" "Continuing under the assumption that you meant '%s'" msgstr "" +"AVISO: Invocou um comando do Git designado '%s' que nΓ£o existe.\n" +"Continuando, assumindo que queria dizer '%s'" -#: help.c:354 +#: help.c:393 #, c-format msgid "in %0.1f seconds automatically..." -msgstr "" +msgstr "automaticamente em %0.1f..." -#: help.c:361 +#: help.c:400 #, c-format msgid "git: '%s' is not a git command. See 'git --help'." -msgstr "" +msgstr "git: '%s' nΓ£o Γ© um comando do git. Consulte 'git --help'." -#: help.c:365 +#: help.c:404 help.c:464 msgid "" "\n" "Did you mean this?" @@ -336,23 +670,699 @@ msgid_plural "" "\n" "Did you mean one of these?" msgstr[0] "" +"\n" +"Queria dizer isto?" msgstr[1] "" +"\n" +"Queria dizer deste?" + +#: help.c:460 +#, c-format +msgid "%s: %s - %s" +msgstr "%s: %s - %s" + +#: merge.c:41 +msgid "failed to read the cache" +msgstr "falha ao ler a cache" + +#: merge.c:94 builtin/am.c:2008 builtin/am.c:2043 builtin/checkout.c:376 +#: builtin/checkout.c:587 builtin/clone.c:730 +msgid "unable to write new index file" +msgstr "nΓ£o foi possΓvel escrever novo ficheiro de Γndice" + +#: merge-recursive.c:189 +#, c-format +msgid "(bad commit)\n" +msgstr "(commit incorreto)\n" + +#: merge-recursive.c:209 +#, c-format +msgid "addinfo_cache failed for path '%s'" +msgstr "addinfo_cache falhou no caminho '%s'" + +#: merge-recursive.c:270 +msgid "error building trees" +msgstr "erro ao construir Γ‘rvores" + +#: merge-recursive.c:689 +#, c-format +msgid "failed to create path '%s'%s" +msgstr "falha ao criar o caminho '%s'%s" + +#: merge-recursive.c:700 +#, c-format +msgid "Removing %s to make room for subdirectory\n" +msgstr "A remover %s para criar espaΓ§o para o subdiretΓ³rio\n" + +#: merge-recursive.c:714 merge-recursive.c:735 +msgid ": perhaps a D/F conflict?" +msgstr ": talvez um conflito D/F?" + +#: merge-recursive.c:725 +#, c-format +msgid "refusing to lose untracked file at '%s'" +msgstr "recusando-se a perder ficheiro nΓ£o controlado em '%s'" + +#: merge-recursive.c:765 +#, c-format +msgid "cannot read object %s '%s'" +msgstr "nΓ£o Γ© possΓvel ler o objeto %s: '%s'" + +#: merge-recursive.c:767 +#, c-format +msgid "blob expected for %s '%s'" +msgstr "blob para %s '%s' esperado" + +#: merge-recursive.c:790 builtin/clone.c:374 +#, c-format +msgid "failed to open '%s'" +msgstr "falha ao abrir '%s'" + +#: merge-recursive.c:798 +#, c-format +msgid "failed to symlink '%s'" +msgstr "falha ao criar a ligaΓ§Γ£o simbΓ³lica '%s'" + +#: merge-recursive.c:801 +#, c-format +msgid "do not know what to do with %06o %s '%s'" +msgstr "nΓ£o sei o que fazer com %06o %s '%s'" + +#: merge-recursive.c:939 +msgid "Failed to execute internal merge" +msgstr "Falha ao executar merge interno" + +#: merge-recursive.c:943 +#, c-format +msgid "Unable to add %s to database" +msgstr "NΓ£o Γ© possΓvel adicionar %s Γ base de dados" + +#: merge-recursive.c:959 +msgid "unsupported object type in the tree" +msgstr "tipo de objeto sem suporte encontrado na Γ‘rvore" + +#: merge-recursive.c:1034 merge-recursive.c:1048 +#, c-format +msgid "" +"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " +"in tree." +msgstr "" +"CONFLITO (%s/eliminar): %s eliminado em %s e %s em %s. VersΓ£o de %s de %s " +"deixada na Γ‘rvore." + +#: merge-recursive.c:1040 merge-recursive.c:1053 +#, c-format +msgid "" +"CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " +"in tree at %s." +msgstr "" +"CONFLITO (%s/eliminar): %s eliminado em %s e %s em %s. VersΓ£o de %s de %s " +"deixada na Γ‘rvore em %s." + +#: merge-recursive.c:1094 +msgid "rename" +msgstr "mudar nome" + +#: merge-recursive.c:1094 +msgid "renamed" +msgstr "nome mudado" + +#: merge-recursive.c:1150 +#, c-format +msgid "%s is a directory in %s adding as %s instead" +msgstr "%s Γ© um diretΓ³rio em %s adicionando %s no seu lugar" + +#: merge-recursive.c:1172 +#, c-format +msgid "" +"CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s" +"\"->\"%s\" in \"%s\"%s" +msgstr "" +"CONFLITO (mudar nome/mudar nome): Mudar o nome \"%s\"->\"%s\" no ramo \"%s\" " +"mudar o nome \"%s\"->\"%s\" em \"%s\"%s" + +#: merge-recursive.c:1177 +msgid " (left unresolved)" +msgstr " (por resolver)" + +#: merge-recursive.c:1231 +#, c-format +msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s" +msgstr "" +"CONFLITO (mudar nome/mudar nome): Mudar de nome %s->%s em %s. Mudar o nome " +"%s->%s em %s" + +#: merge-recursive.c:1261 +#, c-format +msgid "Renaming %s to %s and %s to %s instead" +msgstr "A mudar o nome de %s para %s e de %s para %s, em alternativa" + +#: merge-recursive.c:1460 +#, c-format +msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s" +msgstr "" +"CONFLITO (mudar nome/adicionar): Mudar o nome %s->%s em %s. %s adicionado em " +"%s" + +#: merge-recursive.c:1470 +#, c-format +msgid "Adding merged %s" +msgstr "A adicionar %s integrado" + +#: merge-recursive.c:1475 merge-recursive.c:1677 +#, c-format +msgid "Adding as %s instead" +msgstr "A adicionar como %s, em alternativa." + +#: merge-recursive.c:1526 +#, c-format +msgid "cannot read object %s" +msgstr "nΓ£o foi possΓvel ler o objeto %s" + +#: merge-recursive.c:1529 +#, c-format +msgid "object %s is not a blob" +msgstr "o objeto %s nΓ£o Γ© um blob" + +#: merge-recursive.c:1581 +msgid "modify" +msgstr "modificar" + +#: merge-recursive.c:1581 +msgid "modified" +msgstr "modificado" + +#: merge-recursive.c:1591 +msgid "content" +msgstr "conteΓΊdo" + +#: merge-recursive.c:1598 +msgid "add/add" +msgstr "adicionar/adicionar" + +#: merge-recursive.c:1632 +#, c-format +msgid "Skipped %s (merged same as existing)" +msgstr "%s ignorado (integrado Γ© igual ao existente)" + +#: merge-recursive.c:1646 +#, c-format +msgid "Auto-merging %s" +msgstr "Merge automΓ‘tico de %s" + +#: merge-recursive.c:1650 git-submodule.sh:1048 +msgid "submodule" +msgstr "submΓ³dulo" + +#: merge-recursive.c:1651 +#, c-format +msgid "CONFLICT (%s): Merge conflict in %s" +msgstr "CONFLITO (%s): conflito de merge em %s" + +#: merge-recursive.c:1737 +#, c-format +msgid "Removing %s" +msgstr "A remover %s" + +#: merge-recursive.c:1762 +msgid "file/directory" +msgstr "ficheiro/diretΓ³rio" + +#: merge-recursive.c:1768 +msgid "directory/file" +msgstr "diretΓ³rio/ficheiro" + +#: merge-recursive.c:1773 +#, c-format +msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s" +msgstr "" +"CONFLITO (%s): HΓ‘ um diretΓ³rio designado %s em %s. A adicionar %s como %s" + +#: merge-recursive.c:1783 +#, c-format +msgid "Adding %s" +msgstr "A adicionar %s" + +#: merge-recursive.c:1800 +msgid "Fatal merge failure, shouldn't happen." +msgstr "Falha de merge fatal, nΓ£o devia acontecer." + +#: merge-recursive.c:1819 +msgid "Already up-to-date!" +msgstr "JΓ‘ estΓ‘ atualizado!" + +#: merge-recursive.c:1828 +#, c-format +msgid "merging of trees %s and %s failed" +msgstr "falha ao realizar merge das Γ‘rvores %s e %s" + +#: merge-recursive.c:1858 +#, c-format +msgid "Unprocessed path??? %s" +msgstr "Caminho nΓ£o processado??? %s" + +#: merge-recursive.c:1906 +msgid "Merging:" +msgstr "A realizar merge:" + +#: merge-recursive.c:1919 +#, c-format +msgid "found %u common ancestor:" +msgid_plural "found %u common ancestors:" +msgstr[0] "%u antecessor comum encontrado:" +msgstr[1] "%u antecessores comuns encontrados:" + +#: merge-recursive.c:1956 +msgid "merge returned no commit" +msgstr "merge nΓ£o retornou nenhum commit" + +#: merge-recursive.c:2013 +#, c-format +msgid "Could not parse object '%s'" +msgstr "NΓ£o foi possΓvel analisar o objeto '%s'" + +#: merge-recursive.c:2024 builtin/merge.c:646 +msgid "Unable to write index." +msgstr "NΓ£o Γ© possΓvel escrever no Γndice." + +#: notes-utils.c:41 +msgid "Cannot commit uninitialized/unreferenced notes tree" +msgstr "" +"NΓ£o Γ© possΓvel fazer commit de Γ‘rvore de notas nΓ£o inicializada ou nΓ£o " +"referenciada" + +#: notes-utils.c:100 +#, c-format +msgid "Bad notes.rewriteMode value: '%s'" +msgstr "Valor de notes.rewriteMode incorreto: '%s'" + +#: notes-utils.c:110 +#, c-format +msgid "Refusing to rewrite notes in %s (outside of refs/notes/)" +msgstr "Recusando-se a reescrever notas em %s (fora de refs/notes/)" + +#. TRANSLATORS: The first %s is the name of the +#. environment variable, the second %s is its value +#: notes-utils.c:137 +#, c-format +msgid "Bad %s value: '%s'" +msgstr "Valor incorreto de %s: '%s'" + +#: object.c:242 +#, c-format +msgid "unable to parse object: %s" +msgstr "nΓ£o foi possΓvel analisar o objeto: %s" + +#: parse-options.c:570 +msgid "..." +msgstr "..." + +#: parse-options.c:588 +#, c-format +msgid "usage: %s" +msgstr "utilizaΓ§Γ£o: %s" + +#. TRANSLATORS: the colon here should align with the +#. one in "usage: %s" translation +#: parse-options.c:592 +#, c-format +msgid " or: %s" +msgstr " ou: %s" + +#: parse-options.c:595 +#, c-format +msgid " %s" +msgstr " %s" + +#: parse-options.c:629 +msgid "-NUM" +msgstr "-NUM" + +#: parse-options-cb.c:108 +#, c-format +msgid "malformed object name '%s'" +msgstr "nome do objeto malformado '%s'" + +#: path.c:752 +#, c-format +msgid "Could not make %s writable by group" +msgstr "NΓ£o foi possΓvel dar permissΓ£o de escrita ao grupo a %s" + +#: pathspec.c:133 +msgid "global 'glob' and 'noglob' pathspec settings are incompatible" +msgstr "" +"as definiΓ§Γ΅es globais 'glob' e 'noglob' de especificador de caminho " +"(pathspec) sΓ£o incompatΓveis" + +#: pathspec.c:143 +msgid "" +"global 'literal' pathspec setting is incompatible with all other global " +"pathspec settings" +msgstr "" +"a definiΓ§Γ£o global de especificador de caminho 'literal' Γ© incompatΓvel com " +"todas as outras definiΓ§Γ΅es globais de especificador de caminho (pathspec)" + +#: pathspec.c:177 +msgid "invalid parameter for pathspec magic 'prefix'" +msgstr "parΓ’metro invΓ‘lido na mΓ‘gica 'prefix' do especificador de caminho" + +#: pathspec.c:183 +#, c-format +msgid "Invalid pathspec magic '%.*s' in '%s'" +msgstr "MΓ‘gica do especificador de caminho '%.*s' invΓ‘lida em '%s'" + +#: pathspec.c:187 +#, c-format +msgid "Missing ')' at the end of pathspec magic in '%s'" +msgstr "Falta um ')' no final da mΓ‘gica do especificador de caminho em '%s'" + +#: pathspec.c:205 +#, c-format +msgid "Unimplemented pathspec magic '%c' in '%s'" +msgstr "MΓ‘gica de especificador de caminho '%c' em '%s' nΓ£o implementada" + +#: pathspec.c:230 +#, c-format +msgid "%s: 'literal' and 'glob' are incompatible" +msgstr "%s: 'literal' e 'glob' sΓ£o incompatΓveis" + +#: pathspec.c:241 +#, c-format +msgid "%s: '%s' is outside repository" +msgstr "%s: '%s' estΓ‘ fora do repositΓ³rio" + +#: pathspec.c:291 +#, c-format +msgid "Pathspec '%s' is in submodule '%.*s'" +msgstr "O caminho '%s' estΓ‘ dentro do submΓ³dulo '%.*s'" + +#: pathspec.c:353 +#, c-format +msgid "%s: pathspec magic not supported by this command: %s" +msgstr "" +"%s: mΓ‘gica de especificador de caminho nΓ£o suportada por este comando: %s" + +#: pathspec.c:433 +#, c-format +msgid "pathspec '%s' is beyond a symbolic link" +msgstr "o especificador de caminho '%s' Γ© indicado por uma ligaΓ§Γ£o simbΓ³lica" + +#: pathspec.c:442 +msgid "" +"There is nothing to exclude from by :(exclude) patterns.\n" +"Perhaps you forgot to add either ':/' or '.' ?" +msgstr "" +"NΓ£o hΓ‘ nada para excluir de acordo com o padrΓ£o :(excluir).\n" +"Talvez se tenha esquecido de acrescentar ':/' ou '.' ?" + +#: pretty.c:969 +msgid "unable to parse --pretty format" +msgstr "nΓ£o foi possΓvel analisar o formato de --pretty" + +#: progress.c:235 +msgid "done" +msgstr "concluΓdo" + +#: read-cache.c:1281 +#, c-format +msgid "" +"index.version set, but the value is invalid.\n" +"Using version %i" +msgstr "" +"index.version definido, mas com valor invΓ‘lido.\n" +"A usar a versΓ£o %i" + +#: read-cache.c:1291 +#, c-format +msgid "" +"GIT_INDEX_VERSION set, but the value is invalid.\n" +"Using version %i" +msgstr "" +"GIT_INDEX_VERSION definido, mas com valor invΓ‘lido.\n" +"A usar a versΓ£o %i" + +#: refs.c:543 builtin/merge.c:761 builtin/merge.c:872 builtin/merge.c:974 +#: builtin/merge.c:984 +#, c-format +msgid "Could not open '%s' for writing" +msgstr "NΓ£o foi possΓvel abrir '%s' para escrita" + +#: refs/files-backend.c:2374 +#, c-format +msgid "could not delete reference %s: %s" +msgstr "nΓ£o foi possΓvel eliminar a referΓͺncia %s: %s" + +#: refs/files-backend.c:2377 +#, c-format +msgid "could not delete references: %s" +msgstr "nΓ£o foi possΓvel eliminar as referΓͺncias: %s" + +#: refs/files-backend.c:2386 +#, c-format +msgid "could not remove reference %s" +msgstr "nΓ£o foi possΓvel eliminar a referΓͺncia %s" + +#: ref-filter.c:55 +#, c-format +msgid "expected format: %%(color:<color>)" +msgstr "formato esperado: %%(color:<cor>)" + +#: ref-filter.c:57 +#, c-format +msgid "unrecognized color: %%(color:%s)" +msgstr "cor nΓ£o reconhecida: %%(color:%s)" + +#: ref-filter.c:71 +#, c-format +msgid "unrecognized format: %%(%s)" +msgstr "formato nΓ£o reconhecido: %%(%s)" + +#: ref-filter.c:77 +#, c-format +msgid "%%(body) does not take arguments" +msgstr "%%(body) nΓ£o leva argumentos" + +#: ref-filter.c:84 +#, c-format +msgid "%%(subject) does not take arguments" +msgstr "%%(subject) nΓ£o leva argumentos" + +#: ref-filter.c:101 +#, c-format +msgid "positive value expected contents:lines=%s" +msgstr "valor positivo esperado contents:lines=%s" + +#: ref-filter.c:103 +#, c-format +msgid "unrecognized %%(contents) argument: %s" +msgstr "argumento de %%(contents) nΓ£o reconhecido: %s" + +#: ref-filter.c:113 +#, c-format +msgid "unrecognized %%(objectname) argument: %s" +msgstr "argumento de %%(objectname) nΓ£o reconhecido: %s" + +#: ref-filter.c:135 +#, c-format +msgid "expected format: %%(align:<width>,<position>)" +msgstr "formato esperado: %%(align:<largura>,<posiΓ§Γ£o>)" + +#: ref-filter.c:147 +#, c-format +msgid "unrecognized position:%s" +msgstr "posiΓ§Γ£o nΓ£o reconhecida:%s" + +#: ref-filter.c:151 +#, c-format +msgid "unrecognized width:%s" +msgstr "largura nΓ£o reconhecida:%s" + +#: ref-filter.c:157 +#, c-format +msgid "unrecognized %%(align) argument: %s" +msgstr "argumento de %%(align) nΓ£o reconhecido: %s" + +#: ref-filter.c:161 +#, c-format +msgid "positive width expected with the %%(align) atom" +msgstr "largura positiva esperada com o Γ‘tomo %%(algn)" + +#: ref-filter.c:244 +#, c-format +msgid "malformed field name: %.*s" +msgstr "nome de ficheiro malformado: %.*s" + +#: ref-filter.c:270 +#, c-format +msgid "unknown field name: %.*s" +msgstr "nome do campo desconhecido: %.*s" + +#: ref-filter.c:372 +#, c-format +msgid "format: %%(end) atom used without corresponding atom" +msgstr "formato: Γ‘tomo %%(end) utilizado sem Γ‘tomo correspondente" -#: remote.c:1607 +#: ref-filter.c:424 +#, c-format +msgid "malformed format string %s" +msgstr "cadeia malformada %s" + +#: ref-filter.c:878 +msgid ":strip= requires a positive integer argument" +msgstr ":strip= requer um inteiro positivo como argumento" + +#: ref-filter.c:883 +#, c-format +msgid "ref '%s' does not have %ld components to :strip" +msgstr "a referΓͺncia '%s' nΓ£o tem %ld componentes como se indica em :strip" + +#: ref-filter.c:1046 +#, c-format +msgid "unknown %.*s format %s" +msgstr "formato de %.*s desconhecido %s" + +#: ref-filter.c:1066 ref-filter.c:1097 +#, c-format +msgid "missing object %s for %s" +msgstr "falta o objeto %s de %s" + +#: ref-filter.c:1069 ref-filter.c:1100 +#, c-format +msgid "parse_object_buffer failed on %s for %s" +msgstr "falha ao invocar parse_object_buffer sobre %s de %s" + +#: ref-filter.c:1311 +#, c-format +msgid "malformed object at '%s'" +msgstr "objeto malformado em '%s'" + +#: ref-filter.c:1373 +#, c-format +msgid "ignoring ref with broken name %s" +msgstr "a referΓͺncia %s com nome danificado foi ignorada" + +#: ref-filter.c:1378 +#, c-format +msgid "ignoring broken ref %s" +msgstr "a referΓͺncia %s danificada foi ignorada" + +#: ref-filter.c:1651 +#, c-format +msgid "format: %%(end) atom missing" +msgstr "formato: falta Γ‘tomo %%(end)" + +#: ref-filter.c:1705 +#, c-format +msgid "malformed object name %s" +msgstr "nome de objeto malformado %s" + +#: remote.c:745 +#, c-format +msgid "Cannot fetch both %s and %s to %s" +msgstr "NΓ£o Γ© possΓvel obter %s e %s ao mesmo tempo para %s" + +#: remote.c:749 +#, c-format +msgid "%s usually tracks %s, not %s" +msgstr "%s geralmente segue %s, nΓ£o %s" + +#: remote.c:753 +#, c-format +msgid "%s tracks both %s and %s" +msgstr "%s segue %s e %s em simultΓ’neo" + +#: remote.c:761 +msgid "Internal error" +msgstr "Erro interno" + +#: remote.c:1677 remote.c:1720 +msgid "HEAD does not point to a branch" +msgstr "HEAD nΓ£o aponta para um ramo" + +#: remote.c:1686 +#, c-format +msgid "no such branch: '%s'" +msgstr "ramo inexistente: '%s'" + +#: remote.c:1689 +#, c-format +msgid "no upstream configured for branch '%s'" +msgstr "nenhum ramo a montante configurado para o ramo '%s'" + +#: remote.c:1695 +#, c-format +msgid "upstream branch '%s' not stored as a remote-tracking branch" +msgstr "o ramo a montante '%s' nΓ£o estΓ‘ guardado como um ramo remoto seguido" + +#: remote.c:1710 +#, c-format +msgid "push destination '%s' on remote '%s' has no local tracking branch" +msgstr "" +"o destino de publicaΓ§Γ£o '%s' no remoto '%s' nΓ£o Γ© seguido por nenhum ramo " +"local" + +#: remote.c:1725 +#, c-format +msgid "branch '%s' has no remote for pushing" +msgstr "o ramo '%s' nΓ£o tem nenhum remoto para publicar" + +#: remote.c:1736 +#, c-format +msgid "push refspecs for '%s' do not include '%s'" +msgstr "" +"'%2$s' nΓ£o faz parte dos especificadores de referΓͺncia de '%1$s' para " +"publicaΓ§Γ£o" + +#: remote.c:1749 +msgid "push has no destination (push.default is 'nothing')" +msgstr "publicaΓ§Γ£o sem destino (push.default Γ© 'nothing')" + +#: remote.c:1771 +msgid "cannot resolve 'simple' push to a single destination" +msgstr "nΓ£o Γ© possΓvel resolver a publicaΓ§Γ£o 'simple' num ΓΊnico destino" + +#: remote.c:2073 +#, c-format +msgid "Your branch is based on '%s', but the upstream is gone.\n" +msgstr "A base do seu ramo Γ© '%s', mas o ramo a montante desapareceu.\n" + +#: remote.c:2077 +msgid " (use \"git branch --unset-upstream\" to fixup)\n" +msgstr " (use \"git branch --unset-upstream\" para corrigir)\n" + +#: remote.c:2080 +#, c-format +msgid "Your branch is up-to-date with '%s'.\n" +msgstr "O seu ramo estΓ‘ atualizado com '%s'.\n" + +#: remote.c:2084 #, c-format msgid "Your branch is ahead of '%s' by %d commit.\n" msgid_plural "Your branch is ahead of '%s' by %d commits.\n" -msgstr[0] "A sua rama estΓ‘ Γ frente de '%s' pelo commit %d.\n" -msgstr[1] "A sua rama estΓ‘ Γ frente de '%s' pelos commites %d.\n" +msgstr[0] "O seu ramo estΓ‘ Γ frente de '%s' por %d commit.\n" +msgstr[1] "O seu ramo estΓ‘ Γ frente de '%s' por %d commits.\n" -#: remote.c:1613 +#: remote.c:2090 +msgid " (use \"git push\" to publish your local commits)\n" +msgstr " (use \"git push\" para publicar os commits locais)\n" + +#: remote.c:2093 #, c-format msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n" -msgid_plural "Your branch is behind '%s' by %d commits, and can be fast-forwarded.\n" +msgid_plural "" +"Your branch is behind '%s' by %d commits, and can be fast-forwarded.\n" msgstr[0] "" +"O seu ramo estΓ‘ atrΓ‘s de '%s' por %d commit, podendo ser atualizado com " +"avanΓ§o rΓ‘pido.\n" msgstr[1] "" +"O seu ramo estΓ‘ atrΓ‘s de '%s' por %d commits, podendo ser atualizado com " +"avanΓ§o rΓ‘pido.\n" -#: remote.c:1621 +#: remote.c:2101 +msgid " (use \"git pull\" to update your local branch)\n" +msgstr " (use \"git pull\" para atualizar o seu ramo local)\n" + +#: remote.c:2104 #, c-format msgid "" "Your branch and '%s' have diverged,\n" @@ -361,1264 +1371,2924 @@ msgid_plural "" "Your branch and '%s' have diverged,\n" "and have %d and %d different commits each, respectively.\n" msgstr[0] "" +"O seu ramo e '%s' divergiram,\n" +"tendo cada um %d e %d commit diferente, respetivamente.\n" msgstr[1] "" +"O seu ramo e '%s' divergiram,\n" +"tendo cada um %d e %d commits diferentes, respetivamente.\n" + +#: remote.c:2114 +msgid " (use \"git pull\" to merge the remote branch into yours)\n" +msgstr " (use \"git pull\" para incorporar o ramo remoto no seu)\n" + +#: revision.c:2131 +msgid "your current branch appears to be broken" +msgstr "o ramo atual parece estar danificado" -#: sequencer.c:121 -#: builtin/merge.c:865 -#: builtin/merge.c:978 -#: builtin/merge.c:1088 -#: builtin/merge.c:1098 +#: revision.c:2134 #, c-format -msgid "Could not open '%s' for writing" -msgstr "" +msgid "your current branch '%s' does not have any commits yet" +msgstr "o ramo atual '%s' ainda nΓ£o contΓ©m nenhum commit" + +#: revision.c:2328 +msgid "--first-parent is incompatible with --bisect" +msgstr "--first-parent Γ© incompatΓvel com --bisect" -#: sequencer.c:123 -#: builtin/merge.c:333 -#: builtin/merge.c:868 -#: builtin/merge.c:1090 -#: builtin/merge.c:1103 +#: run-command.c:92 +msgid "open /dev/null failed" +msgstr "falha ao abrir /dev/null" + +#: run-command.c:94 #, c-format -msgid "Could not write to '%s'" -msgstr "NΓ£o foi possΓvel escrever para '%s'" +msgid "dup2(%d,%d) failed" +msgstr "dup2(%d,%d) falhou" + +#: send-pack.c:295 +msgid "failed to sign the push certificate" +msgstr "falha ao assinar o certificado de publicaΓ§Γ£o" -#: sequencer.c:144 +#: send-pack.c:404 +msgid "the receiving end does not support --signed push" +msgstr "o recetor nΓ£o suporta publicaΓ§Γ£o com --signed" + +#: send-pack.c:406 +msgid "" +"not sending a push certificate since the receiving end does not support --" +"signed push" +msgstr "" +"certificado de publicaΓ§Γ£o nΓ£o enviado uma vez que o recetor nΓ£o suporta " +"publicaΓ§Γ£o com --signed" + +#: send-pack.c:418 +msgid "the receiving end does not support --atomic push" +msgstr "o recetor nΓ£o suporta publicaΓ§Γ£o com --atomic" + +#: sequencer.c:174 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'" msgstr "" +"depois de resolver os conflitos, marque os caminhos corrigidos\n" +"com 'git add <caminhos>' ou 'git rm <caminhos>'" -#: sequencer.c:147 +#: sequencer.c:177 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'\n" "and commit the result with 'git commit'" msgstr "" +"depois de resolver os conflitos, marque os caminhos corrigidos\n" +"com 'git add <caminhos>' ou 'git rm <caminhos>'\n" +"e faΓ§a commit do resultado com 'git commit'" -#: sequencer.c:160 -#: sequencer.c:741 -#: sequencer.c:824 +#: sequencer.c:190 sequencer.c:833 sequencer.c:913 #, c-format msgid "Could not write to %s" -msgstr "NΓ£o foi possΓvel gravar para %s" +msgstr "NΓ£o foi possΓvel escrever em %s" -#: sequencer.c:163 -#, c-format +#: sequencer.c:193 +#, fuzzy, c-format msgid "Error wrapping up %s" -msgstr "" +msgstr "Erro ao isolar %s" -#: sequencer.c:178 +#: sequencer.c:208 msgid "Your local changes would be overwritten by cherry-pick." -msgstr "" +msgstr "As suas alteraΓ§Γ΅es locais serΓ£o substituΓdas por cherry-pick." -#: sequencer.c:180 +#: sequencer.c:210 msgid "Your local changes would be overwritten by revert." -msgstr "" +msgstr "As suas alteraΓ§Γ΅es locais serΓ£o substituΓdas por revert." -#: sequencer.c:183 +#: sequencer.c:213 msgid "Commit your changes or stash them to proceed." -msgstr "" +msgstr "FaΓ§a commit ou stash das suas alteraΓ§Γ΅es para continuar." #. TRANSLATORS: %s will be "revert" or "cherry-pick" -#: sequencer.c:233 +#: sequencer.c:300 #, c-format msgid "%s: Unable to write new index file" -msgstr "" +msgstr "%s: NΓ£o foi possΓvel escrever novo ficheiro de Γndice" -#: sequencer.c:261 +#: sequencer.c:318 msgid "Could not resolve HEAD commit\n" -msgstr "" +msgstr "NΓ£o foi possΓvel resolver o commit HEAD\n" -#: sequencer.c:282 +#: sequencer.c:338 msgid "Unable to update cache tree\n" -msgstr "" +msgstr "NΓ£o foi possΓvel atualizar a Γ‘rvore de cache\n" -#: sequencer.c:323 +#: sequencer.c:390 #, c-format msgid "Could not parse commit %s\n" -msgstr "NΓ£o foi possΓvel analisar commit %s\n" +msgstr "NΓ£o foi possΓvel analisar o commit %s\n" -#: sequencer.c:328 +#: sequencer.c:395 #, c-format msgid "Could not parse parent commit %s\n" -msgstr "NΓ£o foi possΓvel analisar commit parent %s\n" +msgstr "NΓ£o foi possΓvel analisar o commit pai %s\n" -#: sequencer.c:358 +#: sequencer.c:460 msgid "Your index file is unmerged." -msgstr "O seu ficheiro de Γndice Γ© nΓ£o fundido." +msgstr "Ficheiro de Γndice nΓ£o integrado." -#: sequencer.c:361 -msgid "You do not have a valid HEAD" -msgstr "VocΓͺ nΓ£o tem uma HEAD vΓ‘lida" - -#: sequencer.c:376 +#: sequencer.c:479 #, c-format msgid "Commit %s is a merge but no -m option was given." -msgstr "" +msgstr "O commit %s Γ© um merge mas nenhuma opΓ§Γ£o -m fornecida." -#: sequencer.c:384 +#: sequencer.c:487 #, c-format msgid "Commit %s does not have parent %d" -msgstr "" +msgstr "O commit %s nΓ£o tem o pai %d" -#: sequencer.c:388 +#: sequencer.c:491 #, c-format msgid "Mainline was specified but commit %s is not a merge." -msgstr "" +msgstr "Linha principal especificada mas o commit %s nΓ£o Γ© um merge." #. TRANSLATORS: The first %s will be "revert" or #. "cherry-pick", the second %s a SHA1 -#: sequencer.c:399 +#: sequencer.c:504 #, c-format msgid "%s: cannot parse parent commit %s" -msgstr "" +msgstr "%s: nΓ£o foi possΓvel analisar o commit pai %s" -#: sequencer.c:403 +#: sequencer.c:508 #, c-format msgid "Cannot get commit message for %s" -msgstr "NΓ£o Γ© possΓvel obter mensagem commit para %s" +msgstr "NΓ£o Γ© possΓvel obter a mensagem de commit de %s" -#: sequencer.c:491 +#: sequencer.c:594 #, c-format msgid "could not revert %s... %s" -msgstr "" +msgstr "nΓ£o foi possΓvel reverter %s... %s" -#: sequencer.c:492 +#: sequencer.c:595 #, c-format msgid "could not apply %s... %s" -msgstr "" +msgstr "nΓ£o foi possΓvel aplicar %s... %s" -#: sequencer.c:536 +#: sequencer.c:630 msgid "empty commit set passed" -msgstr "passado commit com o set vazio" +msgstr "o conjunto de commits especificado estΓ‘ vazio" -#: sequencer.c:544 +#: sequencer.c:638 #, c-format msgid "git %s: failed to read the index" -msgstr "" +msgstr "git %s: falha ao ler o Γndice" -#: sequencer.c:549 +#: sequencer.c:642 #, c-format msgid "git %s: failed to refresh the index" -msgstr "" +msgstr "git %s: falha ao atualizar o Γndice" -#: sequencer.c:607 +#: sequencer.c:702 #, c-format msgid "Cannot %s during a %s" -msgstr "NΓ£o foi possΓvel abrir %s durante um %s" +msgstr "NΓ£o foi possΓvel efetuar %s durante %s" -#: sequencer.c:629 +#: sequencer.c:724 #, c-format msgid "Could not parse line %d." -msgstr "NΓ£o foi possΓvel parsear linha %d." +msgstr "NΓ£o foi possΓvel analisar a linha %d." -#: sequencer.c:634 +#: sequencer.c:729 msgid "No commits parsed." -msgstr "Nenhum commit parseado." +msgstr "Nenhum commit analisado." -#: sequencer.c:647 +#: sequencer.c:741 #, c-format msgid "Could not open %s" msgstr "NΓ£o foi possΓvel abrir %s" -#: sequencer.c:651 +#: sequencer.c:745 #, c-format msgid "Could not read %s." msgstr "NΓ£o foi possΓvel ler %s." -#: sequencer.c:658 +#: sequencer.c:752 #, c-format msgid "Unusable instruction sheet: %s" -msgstr "" +msgstr "Folha de instruΓ§Γ΅es inutilizΓ‘vel: %s" -#: sequencer.c:686 +#: sequencer.c:782 #, c-format msgid "Invalid key: %s" -msgstr "" +msgstr "Chave invΓ‘lida: %s" -#: sequencer.c:689 +#: sequencer.c:785 builtin/pull.c:50 builtin/pull.c:52 #, c-format msgid "Invalid value for %s: %s" -msgstr "Valor invΓ‘lido para %s: %s" +msgstr "Valor invΓ‘lido de %s: %s" -#: sequencer.c:701 +#: sequencer.c:795 #, c-format msgid "Malformed options sheet: %s" -msgstr "" +msgstr "Folha de opΓ§Γ΅es malformada: %s" -#: sequencer.c:722 +#: sequencer.c:814 msgid "a cherry-pick or revert is already in progress" -msgstr "" +msgstr "cherry-pick ou revert em curso" -#: sequencer.c:723 +#: sequencer.c:815 msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" -msgstr "" +msgstr "tente \"git cherry-pick (--continue | --quit |--abort)\"" -#: sequencer.c:727 +#: sequencer.c:819 #, c-format msgid "Could not create sequencer directory %s" -msgstr "" +msgstr "NΓ£o foi possΓvel criar o diretΓ³rio do sequenciador %s" -#: sequencer.c:743 -#: sequencer.c:828 -#, c-format +#: sequencer.c:835 sequencer.c:917 +#, fuzzy, c-format msgid "Error wrapping up %s." -msgstr "" +msgstr "Erro ao isolar %s." -#: sequencer.c:762 -#: sequencer.c:896 +#: sequencer.c:854 sequencer.c:987 msgid "no cherry-pick or revert in progress" -msgstr "" +msgstr "nenhum cherry-pick ou revert em curso" -#: sequencer.c:764 +#: sequencer.c:856 msgid "cannot resolve HEAD" -msgstr "" +msgstr "nΓ£o Γ© possΓvel resolver HEAD" -#: sequencer.c:766 +#: sequencer.c:858 msgid "cannot abort from a branch yet to be born" -msgstr "" +msgstr "nΓ£o Γ© possΓvel abortar um ramo ainda nΓ£o criado" -#: sequencer.c:788 -#: builtin/apply.c:3682 +#: sequencer.c:878 builtin/apply.c:4287 #, c-format msgid "cannot open %s: %s" -msgstr "nΓ£o foi possΓvel abrir %s: %s" +msgstr "nΓ£o Γ© possΓvel abrir %s: %s" -#: sequencer.c:791 +#: sequencer.c:881 #, c-format msgid "cannot read %s: %s" -msgstr "nΓ£o foi possΓvel ler %s: %s" +msgstr "nΓ£o Γ© possΓvel ler %s: %s" -#: sequencer.c:792 +#: sequencer.c:882 msgid "unexpected end of file" -msgstr "" +msgstr "fim de ficheiro inesperado" -#: sequencer.c:798 +#: sequencer.c:888 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" -msgstr "" +msgstr "o ficheiro HEAD de pre-cherry-pick '%s' estΓ‘ corrompido" -#: sequencer.c:821 +#: sequencer.c:910 #, c-format msgid "Could not format %s." -msgstr "NΓ£o foi possΓvel formatear %s." +msgstr "NΓ£o foi possΓvel formatar %s." + +#: sequencer.c:1055 +#, c-format +msgid "%s: can't cherry-pick a %s" +msgstr "%s: nΓ£o Γ© possΓvel efetuar cherry-pick de %s" -#: sequencer.c:983 +#: sequencer.c:1058 +#, c-format +msgid "%s: bad revision" +msgstr "%s: revisΓ£o incorreta" + +#: sequencer.c:1092 msgid "Can't revert as initial commit" -msgstr "" +msgstr "NΓ£o Γ© possΓvel reverter como commit inicial" -#: sequencer.c:984 +#: sequencer.c:1093 msgid "Can't cherry-pick into empty head" -msgstr "" +msgstr "NΓ£o Γ© possΓvel efetuar cherry-pick numa cabeΓ§a vazia" -#: sha1_name.c:864 -msgid "HEAD does not point to a branch" -msgstr "" +#: setup.c:246 +#, c-format +msgid "failed to read %s" +msgstr "falha ao ler %s" + +#: sha1_file.c:1080 +msgid "offset before end of packfile (broken .idx?)" +msgstr "offset antes do fim do ficheiro de pacote (.idx danificado?)" -#: sha1_name.c:867 +#: sha1_file.c:2459 #, c-format -msgid "No such branch: '%s'" -msgstr "NΓ£o existe rama '%s'" +msgid "offset before start of pack index for %s (corrupt index?)" +msgstr "offset antes do inΓcio do Γndice do pacote %s (Γndice corrompido?)" -#: sha1_name.c:869 +#: sha1_file.c:2463 #, c-format -msgid "No upstream configured for branch '%s'" +msgid "offset beyond end of pack index for %s (truncated index?)" +msgstr "offset depois do fim do Γndice do pacote %s (Γndice truncado?)" + +#: sha1_name.c:462 +msgid "" +"Git normally never creates a ref that ends with 40 hex characters\n" +"because it will be ignored when you just specify 40-hex. These refs\n" +"may be created by mistake. For example,\n" +"\n" +" git checkout -b $br $(git rev-parse ...)\n" +"\n" +"where \"$br\" is somehow empty and a 40-hex ref is created. Please\n" +"examine these refs and maybe delete them. Turn this message off by\n" +"running \"git config advice.objectNameWarning false\"" +msgstr "" +"Normalmente o Git nunca cria referΓͺncias que terminem em 40 caracteres " +"hexadecimais,\n" +"pois uma referΓͺncia destas seria ignorada se indicasse sΓ³ 40 caracteres " +"hexadecimais.\n" +"Estas referΓͺncias podem ser criadas por engano. Como no exemplo,\n" +"\n" +" git checkout -b $br $(git rev-parse ...)\n" +"\n" +"onde \"$br\" estΓ‘ vazio e Γ© criada uma referΓͺncia de 40 caracteres " +"hexadecimais.\n" +"Analise estas referΓͺncias e elimine-as se desejar. Desative esta\n" +"mensagem executando \"git config advice.objectNameWarning false\"" + +#: submodule.c:62 submodule.c:96 +msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" msgstr "" +"NΓ£o Γ© possΓvel alterar .gitmodules nΓ£o integrado, resolva os conflitos do " +"merge primeiro" + +#: submodule.c:66 submodule.c:100 +#, c-format +msgid "Could not find section in .gitmodules where path=%s" +msgstr "SecΓ§Γ£o de .gitmodules cujo path=%s nΓ£o encontrada" + +#: submodule.c:74 +#, c-format +msgid "Could not update .gitmodules entry %s" +msgstr "NΓ£o foi possΓvel atualizar o elemento %s de .gitmodules" + +#: submodule.c:107 +#, c-format +msgid "Could not remove .gitmodules entry for %s" +msgstr "NΓ£o foi possΓvel remover o elemento %s de .gitmodules" -#: sha1_name.c:872 +#: submodule.c:118 +msgid "staging updated .gitmodules failed" +msgstr "falha ao preparar .gitmodules atualizado" + +#: trailer.c:237 +#, c-format +msgid "running trailer command '%s' failed" +msgstr "falha ao executar o comando trailer '%s'" + +#: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558 +#: trailer.c:562 #, c-format -msgid "Upstream branch '%s' not stored as a remote-tracking branch" +msgid "unknown value '%s' for key '%s'" +msgstr "valor desconhecido '%s' da chave '%s'" + +#: trailer.c:544 trailer.c:549 builtin/remote.c:289 +#, c-format +msgid "more than one %s" +msgstr "mais do que um %s" + +#: trailer.c:582 +#, c-format +msgid "empty trailer token in trailer '%.*s'" msgstr "" -#: wt-status.c:135 +#: trailer.c:702 +#, c-format +msgid "could not read input file '%s'" +msgstr "nΓ£o foi possΓvel ler o ficheiro de entrada '%s'" + +#: trailer.c:705 +msgid "could not read from stdin" +msgstr "nΓ£o foi possΓvel ler da entrada padrΓ£o" + +#: trailer.c:857 builtin/am.c:42 +#, c-format +msgid "could not stat %s" +msgstr "nΓ£o foi possΓvel obter stat de %s" + +#: trailer.c:859 +#, c-format +msgid "file %s is not a regular file" +msgstr "o ficheiro %s nΓ£o Γ© um ficheiro regular" + +#: trailer.c:861 +#, c-format +msgid "file %s is not writable by user" +msgstr "o ficheiro %s nΓ£o pode ser escrito pelo utilizador" + +#: trailer.c:873 +msgid "could not open temporary file" +msgstr "nΓ£o foi possΓvel abrir ficheiro temporΓ‘rio" + +#: trailer.c:912 +#, c-format +msgid "could not rename temporary file to %s" +msgstr "nΓ£o foi possΓvel mudar o nome do ficheiro temporΓ‘rio para %s" + +#: transport-helper.c:1041 +#, c-format +msgid "Could not read ref %s" +msgstr "NΓ£o foi possΓvel ler a referΓͺncia %s" + +#: unpack-trees.c:203 +msgid "Checking out files" +msgstr "A extrair ficheiros" + +#: urlmatch.c:120 +msgid "invalid URL scheme name or missing '://' suffix" +msgstr "nome de esquema de URL invΓ‘lido ou falta do sufixo '://'" + +#: urlmatch.c:144 urlmatch.c:297 urlmatch.c:356 +#, c-format +msgid "invalid %XX escape sequence" +msgstr "sequencia de escape %XX invΓ‘lida" + +#: urlmatch.c:172 +msgid "missing host and scheme is not 'file:'" +msgstr "sistema anfitriΓ£o nΓ£o indicado e o esquema nΓ£o Γ© do tipo 'file:'" + +#: urlmatch.c:189 +msgid "a 'file:' URL may not have a port number" +msgstr "um URL do tipo 'file:' nΓ£o pode ter um nΓΊmero de porta" + +#: urlmatch.c:199 +msgid "invalid characters in host name" +msgstr "caracteres invΓ‘lidos no nome do anfitriΓ£o" + +#: urlmatch.c:244 urlmatch.c:255 +msgid "invalid port number" +msgstr "nΓΊmero de porta invΓ‘lido" + +#: urlmatch.c:322 +msgid "invalid '..' path segment" +msgstr "segmento de caminho '..' invΓ‘lido" + +#: wrapper.c:222 wrapper.c:381 +#, c-format +msgid "could not open '%s' for reading and writing" +msgstr "nΓ£o foi possΓvel abrir '%s' para leitura e escrita" + +#: wrapper.c:224 wrapper.c:383 +#, c-format +msgid "could not open '%s' for writing" +msgstr "nΓ£o foi possΓvel abrir '%s' para escrita" + +#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/commit.c:1691 +#: builtin/merge.c:1075 builtin/pull.c:387 +#, c-format +msgid "could not open '%s' for reading" +msgstr "nΓ£o foi possΓvel abrir '%s' para leitura" + +#: wrapper.c:611 +#, c-format +msgid "unable to access '%s': %s" +msgstr "nΓ£o Γ© possΓvel aceder a '%s': %s" + +#: wrapper.c:632 +#, c-format +msgid "unable to access '%s'" +msgstr "nΓ£o Γ© possΓvel aceder a '%s'" + +#: wrapper.c:640 +msgid "unable to get current working directory" +msgstr "nΓ£o Γ© possΓvel de obter o diretΓ³rio de trabalho atual" + +#: wrapper.c:667 +#, c-format +msgid "could not open %s for writing" +msgstr "nΓ£o foi possΓvel abrir %s para escrita" + +#: wrapper.c:678 builtin/am.c:410 +#, c-format +msgid "could not write to %s" +msgstr "nΓ£o foi possΓvel escrever para %s" + +#: wrapper.c:684 +#, c-format +msgid "could not close %s" +msgstr "nΓ£o foi possΓvel fechar %s" + +#: wt-status.c:149 msgid "Unmerged paths:" -msgstr "caminhos nΓ£o fundidos:" +msgstr "Caminhos nΓ£o integrados:" -#: wt-status.c:141 -#: wt-status.c:158 +#: wt-status.c:176 wt-status.c:203 #, c-format msgid " (use \"git reset %s <file>...\" to unstage)" -msgstr "" +msgstr " (use \"git reset %s <ficheiro>...\" para retirar do Γndice)" -#: wt-status.c:143 -#: wt-status.c:160 +#: wt-status.c:178 wt-status.c:205 msgid " (use \"git rm --cached <file>...\" to unstage)" -msgstr "" +msgstr " (use \"git rm --cached <ficheiro>...\" para retirar do Γndice)" + +#: wt-status.c:182 +msgid " (use \"git add <file>...\" to mark resolution)" +msgstr " (use \"git add <ficheiro>...\" para marcar como resolvido)" -#: wt-status.c:144 +#: wt-status.c:184 wt-status.c:188 msgid " (use \"git add/rm <file>...\" as appropriate to mark resolution)" -msgstr " (usa \"git add/rm <ficheiro>...\" para marcar como resolvido)" +msgstr "" +" (use \"git add/rm <ficheiro>...\" conforme apropriado para marcar como " +"resolvido)" + +#: wt-status.c:186 +msgid " (use \"git rm <file>...\" to mark resolution)" +msgstr " (use \"git rm <ficheiro>...\" para marcar como resolvido)" -#: wt-status.c:152 +#: wt-status.c:197 wt-status.c:880 msgid "Changes to be committed:" -msgstr "MudanΓ§as a serem commitadas" +msgstr "AlteraΓ§Γ΅es incluΓdas no prΓ³ximo commit:" -#: wt-status.c:170 +#: wt-status.c:215 wt-status.c:889 msgid "Changes not staged for commit:" -msgstr "" +msgstr "AlteraΓ§Γ΅es nΓ£o preparadas para commit:" -#: wt-status.c:174 +#: wt-status.c:219 msgid " (use \"git add <file>...\" to update what will be committed)" -msgstr " (usa \"git add <ficheiro>...\" para actualizar o que vai ser commitado)" +msgstr "" +" (use \"git add <ficheiro>...\" para atualizar o que serΓ‘ incluΓdo no " +"commit)" -#: wt-status.c:176 +#: wt-status.c:221 msgid " (use \"git add/rm <file>...\" to update what will be committed)" -msgstr " (usa \"git add/rm <ficheiro>...\" para actualizar o que vai ser commitado)" +msgstr "" +" (use \"git add/rm <ficheiro>...\" para atualizar o que serΓ‘ incluΓdo no " +"commit)" -#: wt-status.c:177 -msgid " (use \"git checkout -- <file>...\" to discard changes in working directory)" +#: wt-status.c:222 +msgid "" +" (use \"git checkout -- <file>...\" to discard changes in working directory)" msgstr "" +" (use \"git checkout -- <ficheiro>...\" para descartar alteraΓ§Γ΅es no " +"diretΓ³rio de trabalho)" -#: wt-status.c:179 +#: wt-status.c:224 msgid " (commit or discard the untracked or modified content in submodules)" msgstr "" +" (faΓ§a commit ou descarte o conteΓΊdo modificado ou nΓ£o controlado nos " +"submΓ³dulos)" -#: wt-status.c:188 -#, c-format -msgid "%s files:" -msgstr "%s ficheros:" - -#: wt-status.c:191 +#: wt-status.c:236 #, c-format msgid " (use \"git %s <file>...\" to include in what will be committed)" -msgstr "" - -#: wt-status.c:208 -msgid "bug" -msgstr "erro" +msgstr " (use \"git %s <ficheiro>...\" para incluir no prΓ³ximo commit)" -#: wt-status.c:213 +#: wt-status.c:251 msgid "both deleted:" -msgstr "eliminados em ambos:" +msgstr "eliminado por ambos:" -#: wt-status.c:214 +#: wt-status.c:253 msgid "added by us:" msgstr "adicionado por nΓ³s:" -#: wt-status.c:215 +#: wt-status.c:255 msgid "deleted by them:" -msgstr "eliminados por eles:" +msgstr "eliminado por eles:" -#: wt-status.c:216 +#: wt-status.c:257 msgid "added by them:" -msgstr "adicionados por eles:" +msgstr "adicionado por eles:" -#: wt-status.c:217 +#: wt-status.c:259 msgid "deleted by us:" -msgstr "eliminados por nΓ³s:" +msgstr "eliminado por nΓ³s:" -#: wt-status.c:218 +#: wt-status.c:261 msgid "both added:" -msgstr "adicionados em ambos:" +msgstr "adicionado por ambos:" -#: wt-status.c:219 +#: wt-status.c:263 msgid "both modified:" -msgstr "modificados em ambos:" +msgstr "modificado por ambos:" + +#: wt-status.c:265 +#, c-format +msgid "bug: unhandled unmerged status %x" +msgstr "" + +#: wt-status.c:273 +msgid "new file:" +msgstr "novo ficheiro:" + +#: wt-status.c:275 +msgid "copied:" +msgstr "copiado:" + +#: wt-status.c:277 +msgid "deleted:" +msgstr "eliminado:" + +#: wt-status.c:279 +msgid "modified:" +msgstr "modificado:" -#: wt-status.c:249 +#: wt-status.c:281 +msgid "renamed:" +msgstr "nome mudado:" + +#: wt-status.c:283 +msgid "typechange:" +msgstr "tipo alterado:" + +#: wt-status.c:285 +msgid "unknown:" +msgstr "desconhecido:" + +#: wt-status.c:287 +msgid "unmerged:" +msgstr "nΓ£o integrado:" + +#: wt-status.c:369 msgid "new commits, " msgstr "novos commits, " -#: wt-status.c:251 +#: wt-status.c:371 msgid "modified content, " msgstr "conteΓΊdo modificado, " -#: wt-status.c:253 +#: wt-status.c:373 msgid "untracked content, " -msgstr "conteΓΊdo nΓ£o seguido" +msgstr "conteΓΊdo nΓ£o controlado, " -#: wt-status.c:267 +#: wt-status.c:390 #, c-format -msgid "new file: %s" -msgstr "novo ficheiro: %s" +msgid "bug: unhandled diff status %c" +msgstr "" + +#: wt-status.c:754 +msgid "Submodules changed but not updated:" +msgstr "SubmΓ³dulos alterados mas nΓ£o atualizados:" -#: wt-status.c:270 +#: wt-status.c:756 +msgid "Submodule changes to be committed:" +msgstr "AlteraΓ§Γ΅es em submΓ³dulos incluΓdas no prΓ³ximo commit:" + +#: wt-status.c:837 +msgid "" +"Do not touch the line above.\n" +"Everything below will be removed." +msgstr "" +"NΓ£o altere a linha acima.\n" +"Tudo o que estiver abaixo serΓ‘ removido." + +#: wt-status.c:948 +msgid "You have unmerged paths." +msgstr "HΓ‘ caminhos nΓ£o integrados." + +#: wt-status.c:951 +msgid " (fix conflicts and run \"git commit\")" +msgstr " (corrija os conflitos e execute \"git commit\")" + +#: wt-status.c:954 +msgid "All conflicts fixed but you are still merging." +msgstr "Todos os conflitos foram corrigidos mas o merge continua em curso." + +#: wt-status.c:957 +msgid " (use \"git commit\" to conclude merge)" +msgstr " (use \"git commit\" para concluir o merge)" + +#: wt-status.c:967 +msgid "You are in the middle of an am session." +msgstr "SessΓ£o am em curso." + +#: wt-status.c:970 +msgid "The current patch is empty." +msgstr "O patch atual estΓ‘ vazio." + +#: wt-status.c:974 +msgid " (fix conflicts and then run \"git am --continue\")" +msgstr " (corrija os conflitos e execute \"git am --continue\")" + +#: wt-status.c:976 +msgid " (use \"git am --skip\" to skip this patch)" +msgstr " (use \"git am --skip\" para ignorar este patch)" + +#: wt-status.c:978 +msgid " (use \"git am --abort\" to restore the original branch)" +msgstr " (use \"git am --abort\" para restaurar o ramo original)" + +#: wt-status.c:1105 +msgid "No commands done." +msgstr "Nenhum comando concluΓdo." + +#: wt-status.c:1108 #, c-format -msgid "copied: %s -> %s" -msgstr "copiado: %s -> %s" +msgid "Last command done (%d command done):" +msgid_plural "Last commands done (%d commands done):" +msgstr[0] "Γltimo comando concluΓdo (%d comando concluΓdo):" +msgstr[1] "Γltimos comandos concluΓdos (%d comandos concluΓdos):" -#: wt-status.c:273 +#: wt-status.c:1119 #, c-format -msgid "deleted: %s" -msgstr "eliminado: %s" +msgid " (see more in file %s)" +msgstr " (veja mais no ficheiro %s)" -#: wt-status.c:276 +#: wt-status.c:1124 +msgid "No commands remaining." +msgstr "Nenhum comando por concluir." + +#: wt-status.c:1127 #, c-format -msgid "modified: %s" -msgstr "modificado: %s" +msgid "Next command to do (%d remaining command):" +msgid_plural "Next commands to do (%d remaining commands):" +msgstr[0] "PrΓ³ximo comando a executar (%d comando restante):" +msgstr[1] "PrΓ³ximos comandos a executar (%d comandos restantes):" -#: wt-status.c:279 +#: wt-status.c:1135 +msgid " (use \"git rebase --edit-todo\" to view and edit)" +msgstr " (use \"git rebase --edit-todo\" para visualizar e editar)" + +#: wt-status.c:1148 #, c-format -msgid "renamed: %s -> %s" -msgstr "mudado de nome: %s -> %s" +msgid "You are currently rebasing branch '%s' on '%s'." +msgstr "A realizar rebase do ramo '%s' sobre '%s'." + +#: wt-status.c:1153 +msgid "You are currently rebasing." +msgstr "Rebase em curso." + +#: wt-status.c:1167 +msgid " (fix conflicts and then run \"git rebase --continue\")" +msgstr " (corrija os conflitos e execute \"git rebase --continue\")" + +#: wt-status.c:1169 +msgid " (use \"git rebase --skip\" to skip this patch)" +msgstr " (use \"git rebase --skip\" para ignorar este patch)" + +#: wt-status.c:1171 +msgid " (use \"git rebase --abort\" to check out the original branch)" +msgstr " (use \"git rebase --abort\" para restaurar o ramo original)" -#: wt-status.c:282 +#: wt-status.c:1177 +msgid " (all conflicts fixed: run \"git rebase --continue\")" +msgstr "" +" (todos os conflitos foram corrigidos: execute \"git rebase --continue\")" + +#: wt-status.c:1181 #, c-format -msgid "typechange: %s" +msgid "" +"You are currently splitting a commit while rebasing branch '%s' on '%s'." msgstr "" +"A dividir um commit ao mesmo tempo que efetua rebase do ramo '%s' sobre '%s'." -#: wt-status.c:285 +#: wt-status.c:1186 +msgid "You are currently splitting a commit during a rebase." +msgstr "A dividir um commit durante um rebase." + +#: wt-status.c:1189 +msgid " (Once your working directory is clean, run \"git rebase --continue\")" +msgstr "" +" (Assim que o diretΓ³rio de trabalho estiver limpo, execute \"git rebase --" +"continue\")" + +#: wt-status.c:1193 #, c-format -msgid "unknown: %s" -msgstr "desconhecido: %s" +msgid "You are currently editing a commit while rebasing branch '%s' on '%s'." +msgstr "" +"A editar um commit ao mesmo tempo que efetua rebase do ramo '%s' sobre '%s'." + +#: wt-status.c:1198 +msgid "You are currently editing a commit during a rebase." +msgstr "A editar um commit durante um rebase." + +#: wt-status.c:1201 +msgid " (use \"git commit --amend\" to amend the current commit)" +msgstr " (use \"git commit --amend\" para emendar o commit atual)" + +#: wt-status.c:1203 +msgid "" +" (use \"git rebase --continue\" once you are satisfied with your changes)" +msgstr "" +" (use \"git rebase --continue\" assim que estiver satisfeito com as " +"alteraΓ§Γ΅es)" -#: wt-status.c:288 +#: wt-status.c:1213 #, c-format -msgid "unmerged: %s" -msgstr "nΓ£o fundidos: %s" +msgid "You are currently cherry-picking commit %s." +msgstr "A realizar cherry-pick do commit %s." + +#: wt-status.c:1218 +msgid " (fix conflicts and run \"git cherry-pick --continue\")" +msgstr " (corrija os conflitos e execute \"git cherry-pick --continue\")" + +#: wt-status.c:1221 +msgid " (all conflicts fixed: run \"git cherry-pick --continue\")" +msgstr "" +" (todos os conflitos foram corrigidos: execute \"git cherry-pick --continue" +"\")" + +#: wt-status.c:1223 +msgid " (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)" +msgstr "" +" (use \"git cherry-pick --abort\" para cancelar a operaΓ§Γ£o de cherry-pick)" -#: wt-status.c:291 +#: wt-status.c:1232 #, c-format -msgid "bug: unhandled diff status %c" +msgid "You are currently reverting commit %s." +msgstr "A reverter o commit %s." + +#: wt-status.c:1237 +msgid " (fix conflicts and run \"git revert --continue\")" +msgstr " (corrija dos conflitos e execute \"git revert --continue\")" + +#: wt-status.c:1240 +msgid " (all conflicts fixed: run \"git revert --continue\")" msgstr "" +" (todos os conflitos foram corrigidos: execute \"git revert --continue\")" + +#: wt-status.c:1242 +msgid " (use \"git revert --abort\" to cancel the revert operation)" +msgstr " (use \"git rever --abort\" para cancelar a operaΓ§Γ£o de reversΓ£o)" + +#: wt-status.c:1253 +#, c-format +msgid "You are currently bisecting, started from branch '%s'." +msgstr "BissecΓ§Γ£o em curso, iniciada a partir do ramo '%s'." + +#: wt-status.c:1257 +msgid "You are currently bisecting." +msgstr "BissecΓ§Γ£o em curso." -#: wt-status.c:737 +#: wt-status.c:1260 +msgid " (use \"git bisect reset\" to get back to the original branch)" +msgstr " (use \"git bisect reset\" para voltar ao ramo original)" + +#: wt-status.c:1438 msgid "On branch " -msgstr "Na rama" +msgstr "No ramo " + +#: wt-status.c:1444 +msgid "interactive rebase in progress; onto " +msgstr "rebase interativo em curso; sobre " + +#: wt-status.c:1446 +msgid "rebase in progress; onto " +msgstr "rebase em curso; sobre " -#: wt-status.c:744 +#: wt-status.c:1451 +msgid "HEAD detached at " +msgstr "HEAD destacada em " + +#: wt-status.c:1453 +msgid "HEAD detached from " +msgstr "HEAD destacada de " + +#: wt-status.c:1456 msgid "Not currently on any branch." -msgstr "NΓ£o estΓ‘ em nenhuma rama." +msgstr "NΓ£o se encontra em nenhum ramo neste momento." -#: wt-status.c:755 +#: wt-status.c:1474 msgid "Initial commit" msgstr "Commit inicial" -#: wt-status.c:769 -msgid "Untracked" -msgstr "NΓ£o seguido" +#: wt-status.c:1488 +msgid "Untracked files" +msgstr "Ficheiros nΓ£o controlados" -#: wt-status.c:771 -msgid "Ignored" -msgstr "Ignorado" +#: wt-status.c:1490 +msgid "Ignored files" +msgstr "Ficheiros ignorados" -#: wt-status.c:773 +#: wt-status.c:1494 #, c-format -msgid "Untracked files not listed%s" +msgid "" +"It took %.2f seconds to enumerate untracked files. 'status -uno'\n" +"may speed it up, but you have to be careful not to forget to add\n" +"new files yourself (see 'git help status')." msgstr "" +"A enumeraΓ§Γ£o dos ficheiros nΓ£o controlados demorou %.2f segundos\n" +"a concluir. 'status -uno' pode acelerar o processo, mas deve ter\n" +"cuidado de nΓ£o se esquecer de adicionar novos ficheiros\n" +"(consulte 'git help status')." + +#: wt-status.c:1500 +#, c-format +msgid "Untracked files not listed%s" +msgstr "Ficheiros nΓ£o controlados nΓ£o listados%s" -#: wt-status.c:775 +#: wt-status.c:1502 msgid " (use -u option to show untracked files)" -msgstr "" +msgstr " (use a opΓ§Γ£o -u para mostrar os ficheiros nΓ£o controlados)" -#: wt-status.c:781 +#: wt-status.c:1508 msgid "No changes" -msgstr "Sem mudanΓ§as" +msgstr "Sem alteraΓ§Γ΅es" -#: wt-status.c:785 +#: wt-status.c:1513 #, c-format -msgid "no changes added to commit%s\n" -msgstr "nenhuma alteraΓ§Γ£o adicionado ao commit%s\n" +msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n" +msgstr "" +"nenhuma alteraΓ§Γ£o adicionada para commit (use \"git add\" e/ou \"git commit -" +"a\")\n" -#: wt-status.c:787 -msgid " (use \"git add\" and/or \"git commit -a\")" -msgstr " (usa \"git add\" e/ou \"git commit -a\")" +#: wt-status.c:1516 +#, c-format +msgid "no changes added to commit\n" +msgstr "nenhuma alteraΓ§Γ£o adicionada para commit\n" -#: wt-status.c:789 +#: wt-status.c:1519 #, c-format -msgid "nothing added to commit but untracked files present%s\n" +msgid "" +"nothing added to commit but untracked files present (use \"git add\" to " +"track)\n" msgstr "" +"nΓ£o foi adicionado nada para commit, mas existem ficheiros nΓ£o controlados " +"(use \"git add\" para controlΓ‘-los)\n" -#: wt-status.c:791 -msgid " (use \"git add\" to track)" -msgstr " (usa \"git add\" para seguir)" - -#: wt-status.c:793 -#: wt-status.c:796 -#: wt-status.c:799 +#: wt-status.c:1522 #, c-format -msgid "nothing to commit%s\n" -msgstr "nada para fazer commit%s\n" - -#: wt-status.c:794 -msgid " (create/copy files and use \"git add\" to track)" +msgid "nothing added to commit but untracked files present\n" msgstr "" +"nΓ£o foi adicionado nada para commit, mas existem ficheiros nΓ£o controlados\n" -#: wt-status.c:797 -msgid " (use -u to show untracked files)" +#: wt-status.c:1525 +#, c-format +msgid "nothing to commit (create/copy files and use \"git add\" to track)\n" msgstr "" +"nΓ£o hΓ‘ nada para fazer commit (crie/copie ficheiros e use \"git add\" para " +"controlΓ‘-los)\n" + +#: wt-status.c:1528 wt-status.c:1533 +#, c-format +msgid "nothing to commit\n" +msgstr "nΓ£o hΓ‘ nada para fazer commit\n" -#: wt-status.c:800 -msgid " (working directory clean)" -msgstr " (directΓ³rio de trabalho vacio)" +#: wt-status.c:1531 +#, c-format +msgid "nothing to commit (use -u to show untracked files)\n" +msgstr "" +"nΓ£o hΓ‘ nada para fazer commit (use -u para mostrar os ficheiros nΓ£o " +"controlados)\n" -#: wt-status.c:908 -msgid "HEAD (no branch)" -msgstr "HEAD (NΓ£o Γ© rama)" +#: wt-status.c:1535 +#, c-format +msgid "nothing to commit, working directory clean\n" +msgstr "nΓ£o hΓ‘ nada para fazer commit, diretΓ³rio de trabalho limpo\n" -#: wt-status.c:914 +#: wt-status.c:1642 msgid "Initial commit on " msgstr "Commit inicial em " -#: wt-status.c:929 +#: wt-status.c:1646 +msgid "HEAD (no branch)" +msgstr "HEAD (nenhum ramo)" + +#: wt-status.c:1675 +msgid "gone" +msgstr "desaparecido" + +#: wt-status.c:1677 wt-status.c:1685 msgid "behind " msgstr "atrΓ‘s " -#: wt-status.c:932 -#: wt-status.c:935 +#: wt-status.c:1680 wt-status.c:1683 msgid "ahead " -msgstr "a frente " +msgstr "Γ frente " + +#: compat/precompose_utf8.c:57 builtin/clone.c:413 +#, c-format +msgid "failed to unlink '%s'" +msgstr "falha ao invocar unlink de '%s'" -#: wt-status.c:937 -msgid ", behind " -msgstr ", atrΓ‘s " +#: builtin/add.c:22 +msgid "git add [<options>] [--] <pathspec>..." +msgstr "git add [<opΓ§Γ΅es>] [--] <caminho>..." -#: builtin/add.c:62 +#: builtin/add.c:65 #, c-format msgid "unexpected diff status %c" -msgstr "" +msgstr "diff status inesperado %c" -#: builtin/add.c:67 -#: builtin/commit.c:282 +#: builtin/add.c:70 builtin/commit.c:278 msgid "updating files failed" -msgstr "Falou a atualizaΓ§Γ£o dos ficheiros" +msgstr "falha ao atualizar os ficheiros" -#: builtin/add.c:77 +#: builtin/add.c:80 #, c-format msgid "remove '%s'\n" -msgstr "eliminar '%s'\n" +msgstr "remover '%s'\n" -#: builtin/add.c:176 -#, c-format -msgid "Path '%s' is in submodule '%.*s'" -msgstr "" - -#: builtin/add.c:192 +#: builtin/add.c:134 msgid "Unstaged changes after refreshing the index:" -msgstr "" - -#: builtin/add.c:195 -#: builtin/add.c:456 -#: builtin/rm.c:186 -#, c-format -msgid "pathspec '%s' did not match any files" -msgstr "" - -#: builtin/add.c:209 -#, c-format -msgid "'%s' is beyond a symbolic link" -msgstr "" +msgstr "AlteraΓ§Γ΅es nΓ£o preparadas depois de atualizar o Γndice:" -#: builtin/add.c:276 +#: builtin/add.c:194 builtin/rev-parse.c:797 msgid "Could not read the index" -msgstr "NΓ£o foi possΓvel ler o indΓce" +msgstr "NΓ£o foi possΓvel ler o Γndice" -#: builtin/add.c:286 +#: builtin/add.c:205 #, c-format msgid "Could not open '%s' for writing." -msgstr "NΓ£o foi possΓvel abrir '%s' para escrever." +msgstr "NΓ£o foi possΓvel abrir '%s' para escrita." -#: builtin/add.c:290 +#: builtin/add.c:209 msgid "Could not write patch" -msgstr "NΓ£o consegue escrever patch" +msgstr "NΓ£o foi possΓvel escrever patch" -#: builtin/add.c:295 +#: builtin/add.c:212 +msgid "editing patch failed" +msgstr "falha ao editar patch" + +#: builtin/add.c:215 #, c-format msgid "Could not stat '%s'" -msgstr "" +msgstr "NΓ£o foi possΓvel obter stat de '%s'" -#: builtin/add.c:297 +#: builtin/add.c:217 msgid "Empty patch. Aborted." -msgstr "Patch vazio. Aborted." +msgstr "Patch vazio. Abortado." -#: builtin/add.c:303 +#: builtin/add.c:222 #, c-format msgid "Could not apply '%s'" -msgstr "NΓ£o foi possΓvel aplicar o '%s'" +msgstr "NΓ£o foi possΓvel aplicar '%s'" -#: builtin/add.c:312 +#: builtin/add.c:232 msgid "The following paths are ignored by one of your .gitignore files:\n" +msgstr "Os seguintes caminhos estΓ£o ignorados por algum ficheiro .gitignore:\n" + +#: builtin/add.c:249 builtin/clean.c:870 builtin/fetch.c:112 builtin/mv.c:111 +#: builtin/prune-packed.c:55 builtin/pull.c:189 builtin/push.c:511 +#: builtin/remote.c:1330 builtin/rm.c:268 builtin/send-pack.c:162 +msgid "dry run" +msgstr "simular aΓ§Γ£o" + +#: builtin/add.c:250 builtin/apply.c:4561 builtin/check-ignore.c:19 +#: builtin/commit.c:1322 builtin/count-objects.c:85 builtin/fsck.c:558 +#: builtin/log.c:1651 builtin/mv.c:110 builtin/read-tree.c:114 +msgid "be verbose" +msgstr "ser verboso" + +#: builtin/add.c:252 +msgid "interactive picking" +msgstr "seleΓ§Γ£o interativa" + +#: builtin/add.c:253 builtin/checkout.c:1155 builtin/reset.c:286 +msgid "select hunks interactively" +msgstr "selecionar blocos interativamente" + +#: builtin/add.c:254 +msgid "edit current diff and apply" +msgstr "editar o diff atual e aplicΓ‘-lo" + +#: builtin/add.c:255 +msgid "allow adding otherwise ignored files" +msgstr "permitir adicionar ficheiros ignorados" + +#: builtin/add.c:256 +msgid "update tracked files" +msgstr "atualizar ficheiros controlados" + +#: builtin/add.c:257 +msgid "record only the fact that the path will be added later" +msgstr "registar apenas o facto de que o caminho serΓ‘ adicionado mais tarde" + +#: builtin/add.c:258 +msgid "add changes from all tracked and untracked files" msgstr "" +"adicionar alteraΓ§Γ΅es de todos os ficheiros controlados ou nΓ£o controlados" -#: builtin/add.c:352 -#, c-format -msgid "Use -f if you really want to add them.\n" +#: builtin/add.c:261 +msgid "ignore paths removed in the working tree (same as --no-all)" msgstr "" +"ignorar caminhos removidos na Γ‘rvore de trabalho (o mesmo que --no-all)" -#: builtin/add.c:353 -msgid "no files added" -msgstr "nenhum ficheiros adicionado" +#: builtin/add.c:263 +msgid "don't add, only refresh the index" +msgstr "nΓ£o adicionar, apenas atualizar o Γndice" + +#: builtin/add.c:264 +msgid "just skip files which cannot be added because of errors" +msgstr "ignorar ficheiros que nΓ£o podem ser adicionados por causa de erros" + +#: builtin/add.c:265 +msgid "check if - even missing - files are ignored in dry run" +msgstr "verificar quais os ficheiros ignorados na simulaΓ§Γ£o" + +#: builtin/add.c:287 +#, c-format +msgid "Use -f if you really want to add them.\n" +msgstr "Use -f se deseja mesmo adicionΓ‘-los.\n" -#: builtin/add.c:359 +#: builtin/add.c:294 msgid "adding files failed" -msgstr "falhou a adicionar ficheiros" +msgstr "falha ao adicionar ficheiros" -#: builtin/add.c:391 +#: builtin/add.c:330 msgid "-A and -u are mutually incompatible" -msgstr "" +msgstr "-A e -u sΓ£o mutuamente incompatΓveis" -#: builtin/add.c:393 +#: builtin/add.c:337 msgid "Option --ignore-missing can only be used together with --dry-run" -msgstr "" +msgstr "A opΓ§Γ£o --ignore-missing sΓ³ pode ser usada em conjunto com --dry-run" -#: builtin/add.c:413 +#: builtin/add.c:352 #, c-format msgid "Nothing specified, nothing added.\n" -msgstr "" +msgstr "NΓ£o foi especificado nada, nada adicionado.\n" -#: builtin/add.c:414 +#: builtin/add.c:353 #, c-format msgid "Maybe you wanted to say 'git add .'?\n" -msgstr "" +msgstr "Queria dizer 'git add .'?\n" -#: builtin/add.c:420 -#: builtin/clean.c:95 -#: builtin/commit.c:342 -#: builtin/mv.c:82 -#: builtin/rm.c:162 +#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:914 +#: builtin/commit.c:337 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298 +#: builtin/submodule--helper.c:35 msgid "index file corrupt" -msgstr "ficheiro index corrupto" +msgstr "ficheiro de Γndice corrompido" -#: builtin/add.c:476 -#: builtin/apply.c:4093 -#: builtin/mv.c:229 -#: builtin/rm.c:260 +#: builtin/add.c:439 builtin/apply.c:4659 builtin/mv.c:280 builtin/rm.c:430 msgid "Unable to write new index file" +msgstr "NΓ£o foi possΓvel escrever novo ficheiro de Γndice" + +#: builtin/am.c:256 builtin/commit.c:738 builtin/merge.c:1078 +#, c-format +msgid "could not read '%s'" +msgstr "nΓ£o foi possΓvel ler '%s'" + +#: builtin/am.c:430 +msgid "could not parse author script" +msgstr "nΓ£o foi possΓvel analisar o autor do script" + +#: builtin/am.c:507 +#, c-format +msgid "'%s' was deleted by the applypatch-msg hook" +msgstr "'%s' foi eliminado pelo hook applypatch-msg" + +#: builtin/am.c:548 builtin/notes.c:300 +#, c-format +msgid "Malformed input line: '%s'." +msgstr "Linha de entrada malformada: '%s'." + +#: builtin/am.c:585 builtin/notes.c:315 +#, c-format +msgid "Failed to copy notes from '%s' to '%s'" +msgstr "Falha ao copiar notas de '%s' para '%s'" + +#: builtin/am.c:611 +msgid "fseek failed" +msgstr "falha ao invocar fseek" + +#: builtin/am.c:772 builtin/am.c:860 +#, c-format +msgid "could not open '%s' for reading: %s" +msgstr "nΓ£o foi possΓvel abrir '%s' para leitura: %s" + +#: builtin/am.c:779 +#, c-format +msgid "could not open '%s' for writing: %s" +msgstr "nΓ£o foi possΓvel abrir '%s' para escrita: %s" + +#: builtin/am.c:788 +#, c-format +msgid "could not parse patch '%s'" +msgstr "nΓ£o foi possΓvel analisar o patch '%s'" + +#: builtin/am.c:853 +msgid "Only one StGIT patch series can be applied at once" +msgstr "SΓ³ pode ser aplicada uma sΓ©rie de patches StGIT duma sΓ³ vez" + +#: builtin/am.c:901 +msgid "invalid timestamp" +msgstr "carimbo de data/hora invΓ‘lido" + +#: builtin/am.c:904 builtin/am.c:912 +msgid "invalid Date line" +msgstr "linha de Data invΓ‘lida" + +#: builtin/am.c:909 +msgid "invalid timezone offset" +msgstr "mudanΓ§a de fuso horΓ‘rio invΓ‘lida" + +#: builtin/am.c:996 +msgid "Patch format detection failed." +msgstr "Falha ao detetar o formato do patch." + +#: builtin/am.c:1001 builtin/clone.c:378 +#, c-format +msgid "failed to create directory '%s'" +msgstr "falha ao criar o diretΓ³rio '%s'" + +#: builtin/am.c:1005 +msgid "Failed to split patches." +msgstr "Falha ao dividir patches." + +#: builtin/am.c:1137 builtin/commit.c:363 +msgid "unable to write index file" +msgstr "nΓ£o Γ© possΓvel escrever o ficheiro de Γndice" + +#: builtin/am.c:1188 +#, c-format +msgid "When you have resolved this problem, run \"%s --continue\"." +msgstr "ApΓ³s resolver este problema, execute \"%s --continue\"." + +#: builtin/am.c:1189 +#, c-format +msgid "If you prefer to skip this patch, run \"%s --skip\" instead." +msgstr "Se preferir ignorar este patch, execute \"%s --skip\"." + +#: builtin/am.c:1190 +#, c-format +msgid "To restore the original branch and stop patching, run \"%s --abort\"." +msgstr "" +"Para restaurar o ramo original e interromper a aplicaΓ§Γ£o dos patches, " +"execute \"%s --abort\"." + +#: builtin/am.c:1328 +msgid "Patch is empty. Was it split wrong?" +msgstr "O patch estΓ‘ vazio. Foi dividido incorretamente?" + +#: builtin/am.c:1402 builtin/log.c:1350 +#, c-format +msgid "invalid ident line: %s" +msgstr "linha de identidade invΓ‘lida: %s" + +#: builtin/am.c:1429 +#, c-format +msgid "unable to parse commit %s" +msgstr "nΓ£o foi possΓvel analisar o commit %s" + +#: builtin/am.c:1631 +msgid "Repository lacks necessary blobs to fall back on 3-way merge." +msgstr "" +"O repositΓ³rio nΓ£o tem os blobs necessΓ‘rios para recorrer a merge com 3 " +"pontos." + +#: builtin/am.c:1633 +msgid "Using index info to reconstruct a base tree..." +msgstr "A usar informaΓ§Γ£o do Γndice para reconstruir uma Γ‘rvore de base..." + +#: builtin/am.c:1652 +msgid "" +"Did you hand edit your patch?\n" +"It does not apply to blobs recorded in its index." msgstr "" +"Editou o patch manualmente?\n" +"NΓ£o Γ© possΓvel aplicΓ‘-lo aos blobs registados no Γndice." + +#: builtin/am.c:1658 +msgid "Falling back to patching base and 3-way merge..." +msgstr "" +"A recorrer a uma de base para aplicaΓ§Γ£o de patches e merge com 3 pontos..." + +#: builtin/am.c:1673 +msgid "Failed to merge in the changes." +msgstr "Falha ao efetuar merge das alteraΓ§Γ΅es." + +#: builtin/am.c:1697 builtin/merge.c:633 +msgid "git write-tree failed to write a tree" +msgstr "git write-tree falhou ao escrever uma Γ‘rvore" + +#: builtin/am.c:1704 +msgid "applying to an empty history" +msgstr "a aplicar a um histΓ³rico vazio" + +#: builtin/am.c:1717 builtin/commit.c:1755 builtin/merge.c:830 +#: builtin/merge.c:855 +msgid "failed to write commit object" +msgstr "falha ao escrever objeto de commit" + +#: builtin/am.c:1749 builtin/am.c:1753 +#, c-format +msgid "cannot resume: %s does not exist." +msgstr "nΓ£o Γ© possΓvel continuar: %s nΓ£o existe." + +#: builtin/am.c:1769 +msgid "cannot be interactive without stdin connected to a terminal." +msgstr "" +"nΓ£o Γ© possΓvel entrar em modo interativo sem um entrada padrΓ£o conectada a " +"um terminal." + +#: builtin/am.c:1774 +msgid "Commit Body is:" +msgstr "Corpo do commit:" + +#. TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a] +#. in your translation. The program will only accept English +#. input at this point. +#. +#: builtin/am.c:1784 +msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: " +msgstr "Aplicar? [y]sim/[n]Γ£o/[e]ditar/[v]er patch/[a]ceitar todos: " + +#: builtin/am.c:1834 +#, c-format +msgid "Dirty index: cannot apply patches (dirty: %s)" +msgstr "Γndice modificado: nΓ£o Γ© possΓvel aplicar patches (modificado: %s)" -#: builtin/apply.c:106 +#: builtin/am.c:1869 builtin/am.c:1941 +#, c-format +msgid "Applying: %.*s" +msgstr "A aplicar: %.*s" + +#: builtin/am.c:1885 +msgid "No changes -- Patch already applied." +msgstr "Nenhuma alteraΓ§Γ£o -- JΓ‘ foi aplicado o patch." + +#: builtin/am.c:1893 +#, c-format +msgid "Patch failed at %s %.*s" +msgstr "Falha ao aplicar o patch em %s %.*s" + +#: builtin/am.c:1899 +#, c-format +msgid "The copy of the patch that failed is found in: %s" +msgstr "A cΓ³pia do patch que falhou encontra-se em: %s" + +#: builtin/am.c:1944 +msgid "" +"No changes - did you forget to use 'git add'?\n" +"If there is nothing left to stage, chances are that something else\n" +"already introduced the same changes; you might want to skip this patch." +msgstr "" +"Sem alteraΓ§Γ΅es - esqueceu-se de usar 'git add'?\n" +"Se nΓ£o hΓ‘ nada por preparar, provavelmente essas mesmas alteraΓ§Γ΅es\n" +"jΓ‘ foram introduzidas; pode querer ignorar este patch." + +#: builtin/am.c:1951 +msgid "" +"You still have unmerged paths in your index.\n" +"Did you forget to use 'git add'?" +msgstr "" +"Ainda hΓ‘ caminhos nΓ£o integrados no Γndice.\n" +"Esqueceu-se de usar 'git add'?" + +#: builtin/am.c:2059 builtin/am.c:2063 builtin/am.c:2075 builtin/reset.c:308 +#: builtin/reset.c:316 +#, c-format +msgid "Could not parse object '%s'." +msgstr "NΓ£o foi possΓvel analisar o objeto '%s'." + +#: builtin/am.c:2111 +msgid "failed to clean index" +msgstr "falha ao limpar o Γndice" + +#: builtin/am.c:2145 +msgid "" +"You seem to have moved HEAD since the last 'am' failure.\n" +"Not rewinding to ORIG_HEAD" +msgstr "" +"Parece que a HEAD foi movida desde a ΓΊltima vez que o 'am' falhou.\n" +"NΓ£o recuando a ORIG_HEAD" + +#: builtin/am.c:2206 +#, c-format +msgid "Invalid value for --patch-format: %s" +msgstr "Valor invΓ‘lido de --patch-format: %s" + +#: builtin/am.c:2239 +msgid "git am [<options>] [(<mbox>|<Maildir>)...]" +msgstr "git am [<opΓ§Γ΅es>] [(<mbox>|<Maildir>)...]" + +#: builtin/am.c:2240 +msgid "git am [<options>] (--continue | --skip | --abort)" +msgstr "git am [<opΓ§Γ΅es>] (--continue | --skip | --abort)" + +#: builtin/am.c:2246 +msgid "run interactively" +msgstr "executar interativamente" + +#: builtin/am.c:2248 +msgid "historical option -- no-op" +msgstr "opΓ§Γ£o histΓ³rica -- sem-aΓ§Γ£o" + +#: builtin/am.c:2250 +msgid "allow fall back on 3way merging if needed" +msgstr "permitir recorrer a merge com 3 pontos se necessΓ‘rio" + +#: builtin/am.c:2251 builtin/init-db.c:474 builtin/prune-packed.c:57 +#: builtin/repack.c:171 +msgid "be quiet" +msgstr "silencioso" + +#: builtin/am.c:2253 +msgid "add a Signed-off-by line to the commit message" +msgstr "adicionar uma linha com Signed-of-by no fim da mensagem de commit" + +#: builtin/am.c:2256 +msgid "recode into utf8 (default)" +msgstr "recodificar em utf8 (predefiniΓ§Γ£o)" + +#: builtin/am.c:2258 +msgid "pass -k flag to git-mailinfo" +msgstr "passar a opΓ§Γ£o -k ao git-mailinfo" + +#: builtin/am.c:2260 +msgid "pass -b flag to git-mailinfo" +msgstr "passar a opΓ§Γ£o -b ao git-mailinfo" + +#: builtin/am.c:2262 +msgid "pass -m flag to git-mailinfo" +msgstr "passar a opΓ§Γ£o -m ao git-mailinfo" + +#: builtin/am.c:2264 +msgid "pass --keep-cr flag to git-mailsplit for mbox format" +msgstr "passar a opΓ§Γ£o --keep-cr ao gitmailsplit para formato de mbox" + +#: builtin/am.c:2267 +msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr" +msgstr "" +"nΓ£o passar a opΓ§Γ£o --keep-cr ao git-mailsplit independentemente de am.keepcr" + +#: builtin/am.c:2270 +msgid "strip everything before a scissors line" +msgstr "retirar todo o conteΓΊdo antes da linha de tesoura" + +#: builtin/am.c:2271 builtin/apply.c:4544 +msgid "action" +msgstr "aΓ§Γ£o" + +#: builtin/am.c:2272 builtin/am.c:2275 builtin/am.c:2278 builtin/am.c:2281 +#: builtin/am.c:2284 builtin/am.c:2287 builtin/am.c:2290 builtin/am.c:2293 +#: builtin/am.c:2299 +msgid "pass it through git-apply" +msgstr "transmitir ao git-apply" + +#: builtin/am.c:2280 builtin/apply.c:4568 +msgid "root" +msgstr "raiz" + +#: builtin/am.c:2283 builtin/am.c:2286 builtin/apply.c:4506 +#: builtin/apply.c:4509 builtin/clone.c:86 builtin/fetch.c:95 +#: builtin/pull.c:171 builtin/submodule--helper.c:72 +#: builtin/submodule--helper.c:160 builtin/submodule--helper.c:163 +msgid "path" +msgstr "caminho" + +#: builtin/am.c:2289 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669 +#: builtin/grep.c:704 builtin/merge.c:198 builtin/pull.c:131 +#: builtin/pull.c:185 builtin/repack.c:178 builtin/repack.c:182 +#: builtin/show-branch.c:645 builtin/show-ref.c:175 builtin/tag.c:340 +#: parse-options.h:132 parse-options.h:134 parse-options.h:244 +msgid "n" +msgstr "n" + +#: builtin/am.c:2292 builtin/apply.c:4512 +msgid "num" +msgstr "num" + +#: builtin/am.c:2295 builtin/for-each-ref.c:37 builtin/replace.c:438 +#: builtin/tag.c:372 +msgid "format" +msgstr "formato" + +#: builtin/am.c:2296 +msgid "format the patch(es) are in" +msgstr "formato de apresentaΓ§Γ£o de patches" + +#: builtin/am.c:2302 +msgid "override error message when patch failure occurs" +msgstr "substituir a mensagem de erro quando a aplicaΓ§Γ£o do patch falha" + +#: builtin/am.c:2304 +msgid "continue applying patches after resolving a conflict" +msgstr "continuar a aplicar os patches depois de resolver os conflitos" + +#: builtin/am.c:2307 +msgid "synonyms for --continue" +msgstr "sinΓ³nimo de --continue" + +#: builtin/am.c:2310 +msgid "skip the current patch" +msgstr "ignorar o patch atual" + +#: builtin/am.c:2313 +msgid "restore the original branch and abort the patching operation." +msgstr "restaurar o ramo original e abortar a operaΓ§Γ£o de patch" + +#: builtin/am.c:2317 +msgid "lie about committer date" +msgstr "mentir sobre a data de commit" + +#: builtin/am.c:2319 +msgid "use current timestamp for author date" +msgstr "usar a data e hora atual como data de autor" + +#: builtin/am.c:2321 builtin/commit.c:1593 builtin/merge.c:225 +#: builtin/pull.c:159 builtin/revert.c:92 builtin/tag.c:355 +msgid "key-id" +msgstr "id-chave" + +#: builtin/am.c:2322 +msgid "GPG-sign commits" +msgstr "assinar os commits com GPG" + +#: builtin/am.c:2325 +msgid "(internal use for git-rebase)" +msgstr "(uso interno de git-rebase)" + +#: builtin/am.c:2340 +msgid "" +"The -b/--binary option has been a no-op for long time, and\n" +"it will be removed. Please do not use it anymore." +msgstr "" +"A opΓ§Γ£o -b/--binary hΓ‘ muito que Γ© ignorada e serΓ‘\n" +"futuramente removida. Por favor nΓ£o a use." + +#: builtin/am.c:2347 +msgid "failed to read the index" +msgstr "falha ao ler o Γndice" + +#: builtin/am.c:2362 +#, c-format +msgid "previous rebase directory %s still exists but mbox given." +msgstr "" +"o diretΓ³rio de rebesa anterior %s ainda existe, mas foi fornecida uma mbox." + +#: builtin/am.c:2386 +#, c-format +msgid "" +"Stray %s directory found.\n" +"Use \"git am --abort\" to remove it." +msgstr "" +"DiretΓ³rio abandonado %s encontrado.\n" +"Use \"git am --abort\" para o remover." + +#: builtin/am.c:2392 +msgid "Resolve operation not in progress, we are not resuming." +msgstr "A operaΓ§Γ£o de resoluΓ§Γ£o nΓ£o estΓ‘ em curso, nΓ£o retomando." + +#: builtin/apply.c:59 +msgid "git apply [<options>] [<patch>...]" +msgstr "git apply [<opΓ§Γ΅es>] [<patch>...]" + +#: builtin/apply.c:111 #, c-format msgid "unrecognized whitespace option '%s'" -msgstr "espaΓ§o em braco nΓ£o reconhecido: '%s'" +msgstr "opΓ§Γ£o de espaΓ§o em branco nΓ£o reconhecida '%s'" -#: builtin/apply.c:121 +#: builtin/apply.c:126 #, c-format msgid "unrecognized whitespace ignore option '%s'" -msgstr "" +msgstr "opΓ§Γ£o de ignorar espaΓ§o em branco nΓ£o reconhecida '%s'" -#: builtin/apply.c:815 +#: builtin/apply.c:818 #, c-format msgid "Cannot prepare timestamp regexp %s" -msgstr "" +msgstr "NΓ£o Γ© possΓvel preparar a regexp de carimbo de data/hora %s" -#: builtin/apply.c:824 +#: builtin/apply.c:827 #, c-format msgid "regexec returned %d for input: %s" -msgstr "" +msgstr "regexec retornou %d para a entra: %s" -#: builtin/apply.c:905 +#: builtin/apply.c:908 #, c-format msgid "unable to find filename in patch at line %d" -msgstr "" +msgstr "nΓ£o foi possΓvel encontrar o nome do ficheiro no patch na linha %d" -#: builtin/apply.c:934 +#: builtin/apply.c:940 #, c-format msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d" msgstr "" +"git apply: git-diff incorreto - esperava-se /dev/null, obteve-se %s na linha " +"%d" + +#: builtin/apply.c:944 +#, c-format +msgid "git apply: bad git-diff - inconsistent new filename on line %d" +msgstr "" +"git apply: git-diff incorreto - o nome do novo ficheiro na linha %d Γ© " +"inconsistente" -#: builtin/apply.c:937 +#: builtin/apply.c:945 #, c-format -msgid "git apply: bad git-diff - inconsistent %s filename on line %d" +msgid "git apply: bad git-diff - inconsistent old filename on line %d" msgstr "" +"git apply: git-diff incorreto - o nome do ficheiro antigo na linha %d Γ© " +"inconsistente" -#: builtin/apply.c:944 +#: builtin/apply.c:952 #, c-format msgid "git apply: bad git-diff - expected /dev/null on line %d" -msgstr "" +msgstr "git apply: git-diff incorreto - esperava-se /dev/null na linha %d" -#: builtin/apply.c:1387 +#: builtin/apply.c:1415 #, c-format msgid "recount: unexpected line: %.*s" -msgstr "" +msgstr "recontagem: linha inesperada: %.*s" -#: builtin/apply.c:1444 +#: builtin/apply.c:1472 #, c-format msgid "patch fragment without header at line %d: %.*s" -msgstr "" +msgstr "fragmento de patch sem cabeΓ§alho na linha %d: %.*s" -#: builtin/apply.c:1461 +#: builtin/apply.c:1489 #, c-format -msgid "git diff header lacks filename information when removing %d leading pathname component (line %d)" -msgid_plural "git diff header lacks filename information when removing %d leading pathname components (line %d)" +msgid "" +"git diff header lacks filename information when removing %d leading pathname " +"component (line %d)" +msgid_plural "" +"git diff header lacks filename information when removing %d leading pathname " +"components (line %d)" msgstr[0] "" +"o cabeΓ§alho do git diff nΓ£o revelou o nome do ficheiro depois de se remover " +"%d componente do caminho (linha %d)" msgstr[1] "" +"o cabeΓ§alho do git diff nΓ£o revelou o nome do ficheiro depois de se remover " +"%d componentes de caminho (linha %d)" -#: builtin/apply.c:1621 +#: builtin/apply.c:1655 msgid "new file depends on old contents" -msgstr "" +msgstr "o novo ficheiro depende de conteΓΊdos antigos" -#: builtin/apply.c:1623 +#: builtin/apply.c:1657 msgid "deleted file still has contents" -msgstr "" +msgstr "o ficheiro eliminado ainda tem conteΓΊdos" -#: builtin/apply.c:1649 +#: builtin/apply.c:1683 #, c-format msgid "corrupt patch at line %d" -msgstr "" +msgstr "patch corrompido na linha %d" -#: builtin/apply.c:1685 +#: builtin/apply.c:1719 #, c-format msgid "new file %s depends on old contents" -msgstr "" +msgstr "o novo ficheiro %s depende de conteΓΊdos antigos" -#: builtin/apply.c:1687 +#: builtin/apply.c:1721 #, c-format msgid "deleted file %s still has contents" -msgstr "" +msgstr "o ficheiro eliminado %s ainda tem conteΓΊdos" -#: builtin/apply.c:1690 +#: builtin/apply.c:1724 #, c-format msgid "** warning: file %s becomes empty but is not deleted" -msgstr "" +msgstr "** aviso: o ficheiro %s ficarΓ‘ vazio, mas nΓ£o serΓ‘ eliminado" -#: builtin/apply.c:1836 +#: builtin/apply.c:1870 #, c-format msgid "corrupt binary patch at line %d: %.*s" -msgstr "" +msgstr "patch binΓ‘rio corrompido na linha %d: %.*s" -#. there has to be one hunk (forward hunk) -#: builtin/apply.c:1865 +#: builtin/apply.c:1899 #, c-format msgid "unrecognized binary patch at line %d" -msgstr "" +msgstr "patch binΓ‘rio nΓ£o reconhecido na linha %d" -#: builtin/apply.c:1951 +#: builtin/apply.c:2050 #, c-format msgid "patch with only garbage at line %d" -msgstr "" +msgstr "patch incompreensΓvel na linha %d" -#: builtin/apply.c:2041 +#: builtin/apply.c:2140 #, c-format msgid "unable to read symlink %s" -msgstr "" +msgstr "nΓ£o Γ© possΓvel ler a ligaΓ§Γ£o simbΓ³lica %s" -#: builtin/apply.c:2045 +#: builtin/apply.c:2144 #, c-format msgid "unable to open or read %s" -msgstr "NΓ£o foi possΓvel abrir o ler %s" +msgstr "nΓ£o Γ© possΓvel abrir ou ler %s" -#: builtin/apply.c:2116 -msgid "oops" -msgstr "" - -#: builtin/apply.c:2638 +#: builtin/apply.c:2777 #, c-format msgid "invalid start of line: '%c'" -msgstr "comeΓ§o de linha invΓ‘lido: '%c'" +msgstr "inΓcio de linha invΓ‘lido: '%c'" -#: builtin/apply.c:2756 +#: builtin/apply.c:2896 #, c-format msgid "Hunk #%d succeeded at %d (offset %d line)." msgid_plural "Hunk #%d succeeded at %d (offset %d lines)." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Excerto nΒΊ%d bem sucedido na linha %d (%d linha deslocada)" +msgstr[1] "Excerto nΒΊ%d bem sucedido na linha %d (%d linhas deslocadas)" -#: builtin/apply.c:2768 +#: builtin/apply.c:2908 #, c-format msgid "Context reduced to (%ld/%ld) to apply fragment at %d" -msgstr "" +msgstr "Contexto reduzido para (%ld/%ld) para aplicar o fragmento em %d" -#: builtin/apply.c:2774 +#: builtin/apply.c:2914 #, c-format msgid "" "while searching for:\n" "%.*s" msgstr "" +"ao procura por:\n" +"%.*s" -#: builtin/apply.c:2793 +#: builtin/apply.c:2934 #, c-format msgid "missing binary patch data for '%s'" -msgstr "" +msgstr "falta de dados do patch binΓ‘rio '%s'" -#: builtin/apply.c:2896 +#: builtin/apply.c:3035 #, c-format msgid "binary patch does not apply to '%s'" -msgstr "" +msgstr "o patch binΓ‘rio nΓ£o foi aplicado corretamente a '%s'" -#: builtin/apply.c:2902 +#: builtin/apply.c:3041 #, c-format msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)" msgstr "" +"o patch binΓ‘rio aplicado a '%s' gera resultados incorretos (esperava-se %s, " +"obteve-se %s)" -#: builtin/apply.c:2923 +#: builtin/apply.c:3062 #, c-format msgid "patch failed: %s:%ld" -msgstr "" +msgstr "falha ao aplicar o patch: %s:%ld" -#: builtin/apply.c:3038 +#: builtin/apply.c:3186 #, c-format -msgid "patch %s has been renamed/deleted" -msgstr "" +msgid "cannot checkout %s" +msgstr "nΓ£o Γ© possΓvel extrair %s" -#: builtin/apply.c:3045 -#: builtin/apply.c:3062 +#: builtin/apply.c:3231 builtin/apply.c:3242 builtin/apply.c:3287 #, c-format msgid "read of %s failed" -msgstr "ler %s falhou" +msgstr "falha ao ler %s" -#: builtin/apply.c:3077 -msgid "removal patch leaves file contents" -msgstr "" +#: builtin/apply.c:3239 +#, c-format +msgid "reading from '%s' beyond a symbolic link" +msgstr "a ler '%s' indicado por uma ligaΓ§Γ£o simbΓ³lica" -#: builtin/apply.c:3098 +#: builtin/apply.c:3267 builtin/apply.c:3489 #, c-format -msgid "%s: already exists in working directory" -msgstr "%s: jΓ‘ existe no espaΓ§o de trabalho" +msgid "path %s has been renamed/deleted" +msgstr "o caminho %s foi eliminado ou mudou de nome" -#: builtin/apply.c:3136 +#: builtin/apply.c:3348 builtin/apply.c:3503 #, c-format -msgid "%s: has been deleted/renamed" -msgstr "" +msgid "%s: does not exist in index" +msgstr "%s: nΓ£o existe no Γndice" -#: builtin/apply.c:3141 -#: builtin/apply.c:3172 +#: builtin/apply.c:3352 builtin/apply.c:3495 builtin/apply.c:3517 #, c-format msgid "%s: %s" msgstr "%s: %s" -#: builtin/apply.c:3152 -#, c-format -msgid "%s: does not exist in index" -msgstr "" - -#: builtin/apply.c:3166 +#: builtin/apply.c:3357 builtin/apply.c:3511 #, c-format msgid "%s: does not match index" -msgstr "%s: nΓ£o tem correspondencia ao index" +msgstr "%s: nΓ£o tem correspondΓͺncia no Γndice" -#: builtin/apply.c:3183 +#: builtin/apply.c:3459 +msgid "removal patch leaves file contents" +msgstr "patch de remoΓ§Γ£o deixa conteΓΊdos no ficheiro" + +#: builtin/apply.c:3528 #, c-format msgid "%s: wrong type" -msgstr "" +msgstr "%s: tipo errado" -#: builtin/apply.c:3185 +#: builtin/apply.c:3530 #, c-format msgid "%s has type %o, expected %o" -msgstr "" +msgstr "%s Γ© do tipo %o, esperado %o" -#: builtin/apply.c:3240 +#: builtin/apply.c:3689 builtin/apply.c:3691 +#, c-format +msgid "invalid path '%s'" +msgstr "caminho invΓ‘lido '%s'" + +#: builtin/apply.c:3746 #, c-format msgid "%s: already exists in index" -msgstr "%s: jΓ‘ existe no indΓce" +msgstr "%s: jΓ‘ existe no Γndice" -#: builtin/apply.c:3259 +#: builtin/apply.c:3749 #, c-format -msgid "new mode (%o) of %s does not match old mode (%o)%s%s" -msgstr "" +msgid "%s: already exists in working directory" +msgstr "%s: jΓ‘ existe no diretΓ³rio de trabalho" + +#: builtin/apply.c:3769 +#, c-format +msgid "new mode (%o) of %s does not match old mode (%o)" +msgstr "o novo modo (%o) de %s nΓ£o corresponde ao modo antigo (%o)" -#: builtin/apply.c:3265 +#: builtin/apply.c:3774 +#, c-format +msgid "new mode (%o) of %s does not match old mode (%o) of %s" +msgstr "o novo modo (%o) de %s nΓ£o corresponde ao modo antigo (%o) de %s" + +#: builtin/apply.c:3794 +#, c-format +msgid "affected file '%s' is beyond a symbolic link" +msgstr "o ficheiro afetado '%s' Γ© indicado por uma ligaΓ§Γ£o simbΓ³lica" + +#: builtin/apply.c:3798 #, c-format msgid "%s: patch does not apply" -msgstr "" +msgstr "%s: patch nΓ£o se aplica com sucesso" -#: builtin/apply.c:3278 +#: builtin/apply.c:3812 #, c-format msgid "Checking patch %s..." -msgstr "" +msgstr "A verificar o patch %s..." -#: builtin/apply.c:3333 -#: builtin/checkout.c:212 -#: builtin/reset.c:158 +#: builtin/apply.c:3905 builtin/checkout.c:233 builtin/reset.c:135 #, c-format msgid "make_cache_entry failed for path '%s'" -msgstr "" +msgstr "falha ao invocar make_cache_entry em '%s'" -#: builtin/apply.c:3476 +#: builtin/apply.c:4048 #, c-format msgid "unable to remove %s from index" -msgstr "" +msgstr "nΓ£o Γ© possΓvel remover %s do Γndice" -#: builtin/apply.c:3503 +#: builtin/apply.c:4077 #, c-format -msgid "corrupt patch for subproject %s" -msgstr "" +msgid "corrupt patch for submodule %s" +msgstr "patch corrompido no submΓ³dulo %s" -#: builtin/apply.c:3507 +#: builtin/apply.c:4081 #, c-format msgid "unable to stat newly created file '%s'" -msgstr "nΓ£o Γ© possivel 'stat' o novo ficheiro creado '%s'" +msgstr "nΓ£o Γ© possΓvel obter estado do novo ficheiro criado '%s'" -#: builtin/apply.c:3512 +#: builtin/apply.c:4086 #, c-format msgid "unable to create backing store for newly created file %s" msgstr "" +"nΓ£o Γ© possΓvel criar armazenamento de seguranΓ§a do ficheiro recΓ©m-criado %s" -#: builtin/apply.c:3515 +#: builtin/apply.c:4089 builtin/apply.c:4197 #, c-format msgid "unable to add cache entry for %s" -msgstr "" +msgstr "nΓ£o Γ© possΓvel adicionar %s Γ cache" -#: builtin/apply.c:3548 +#: builtin/apply.c:4122 #, c-format msgid "closing file '%s'" -msgstr "fechar fichero '%s'" +msgstr "a fechar o ficheiro '%s'" -#: builtin/apply.c:3597 +#: builtin/apply.c:4171 #, c-format msgid "unable to write file '%s' mode %o" -msgstr "" +msgstr "nΓ£o Γ© possΓvel escrever o ficheiro '%s' com o modo %o" -#: builtin/apply.c:3653 +#: builtin/apply.c:4258 #, c-format msgid "Applied patch %s cleanly." -msgstr "" +msgstr "Patch %s aplicado com sucesso." -#: builtin/apply.c:3661 +#: builtin/apply.c:4266 msgid "internal error" -msgstr "" +msgstr "erro interno" -#. Say this even without --verbose -#: builtin/apply.c:3664 +#: builtin/apply.c:4269 #, c-format msgid "Applying patch %%s with %d reject..." msgid_plural "Applying patch %%s with %d rejects..." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "A aplicar patch %%s com %d rejeiΓ§Γ£o..." +msgstr[1] "A aplicar patch %%s com %d rejeiΓ§Γ΅es..." -#: builtin/apply.c:3674 +#: builtin/apply.c:4279 #, c-format msgid "truncating .rej filename to %.*s.rej" -msgstr "" +msgstr "a truncar o nome do ficheiro .rej em %.*s.rej " -#: builtin/apply.c:3695 +#: builtin/apply.c:4300 #, c-format msgid "Hunk #%d applied cleanly." -msgstr "" +msgstr "Excerto nΒΊ%d aplicado com sucesso." -#: builtin/apply.c:3698 +#: builtin/apply.c:4303 #, c-format msgid "Rejected hunk #%d." -msgstr "" +msgstr "Excerto nΒΊ%d rejeitado." -#: builtin/apply.c:3829 +#: builtin/apply.c:4393 msgid "unrecognized input" msgstr "entrada nΓ£o reconhecida" -#: builtin/apply.c:3840 +#: builtin/apply.c:4404 msgid "unable to read index file" -msgstr "NΓ£o foi possΓvel ler o fichero indΓce" +msgstr "nΓ£o foi possΓvel ler o ficheiro de Γndice" + +#: builtin/apply.c:4507 +msgid "don't apply changes matching the given path" +msgstr "nΓ£o aplicar alteraΓ§Γ΅es que correspondam ao caminho fornecido" + +#: builtin/apply.c:4510 +msgid "apply changes matching the given path" +msgstr "aplicar alteraΓ§Γ΅es que correspondam ao caminho fornecido" + +#: builtin/apply.c:4513 +msgid "remove <num> leading slashes from traditional diff paths" +msgstr "remover <num> barras Γ esquerda dos caminhos de diff tradicional" + +#: builtin/apply.c:4516 +msgid "ignore additions made by the patch" +msgstr "ignorar adiΓ§Γ΅es feitas pelo patch" + +#: builtin/apply.c:4518 +msgid "instead of applying the patch, output diffstat for the input" +msgstr "em vez de aplicar o patch, mostrar o diffstat da entrada" + +#: builtin/apply.c:4522 +msgid "show number of added and deleted lines in decimal notation" +msgstr "mostrar nΓΊmero de linhas adicionadas e removidas em notaΓ§Γ£o decimal" + +#: builtin/apply.c:4524 +msgid "instead of applying the patch, output a summary for the input" +msgstr "em vez de aplicar o patch, mostrar um resumo da entrada" + +#: builtin/apply.c:4526 +msgid "instead of applying the patch, see if the patch is applicable" +msgstr "em vez de aplicar o patch, verificar se o patch pode ser aplicado" + +#: builtin/apply.c:4528 +msgid "make sure the patch is applicable to the current index" +msgstr "garantir que o patch pode ser aplicado ao Γndice atual" + +#: builtin/apply.c:4530 +msgid "apply a patch without touching the working tree" +msgstr "aplicar um patch sem tocar na Γ‘rvore de trabalho" -#: builtin/apply.c:4035 +#: builtin/apply.c:4532 +msgid "accept a patch that touches outside the working area" +msgstr "aceitar patches que alteram ficheiros fora da Γ‘rea de trabalho" + +#: builtin/apply.c:4534 +msgid "also apply the patch (use with --stat/--summary/--check)" +msgstr "aplicar o patch tambΓ©m (use com --stat/--summary/--check)" + +#: builtin/apply.c:4536 +msgid "attempt three-way merge if a patch does not apply" +msgstr "tentar merge com trΓͺs pontos se um patch nΓ£o for aplicado corretamente" + +#: builtin/apply.c:4538 +msgid "build a temporary index based on embedded index information" +msgstr "" +"construir um Γndice temporΓ‘rio baseado na informaΓ§Γ£o incorporada do Γndice" + +#: builtin/apply.c:4541 builtin/checkout-index.c:169 builtin/ls-files.c:425 +msgid "paths are separated with NUL character" +msgstr "os caminhos estΓ£o separados por caracteres NUL" + +#: builtin/apply.c:4543 +msgid "ensure at least <n> lines of context match" +msgstr "garantir que, pelo menos, <n> linhas de contexto coincidem" + +#: builtin/apply.c:4545 +msgid "detect new or modified lines that have whitespace errors" +msgstr "detetar linhas novas ou modificadas que tenham espaΓ§os em branco" + +#: builtin/apply.c:4548 builtin/apply.c:4551 +msgid "ignore changes in whitespace when finding context" +msgstr "ignorar alteraΓ§Γ΅es de espaΓ§o em branco ao procurar contexto" + +#: builtin/apply.c:4554 +msgid "apply the patch in reverse" +msgstr "aplicar o patch em reverso" + +#: builtin/apply.c:4556 +msgid "don't expect at least one line of context" +msgstr "nΓ£o esperar nenhuma linha de contexto" + +#: builtin/apply.c:4558 +msgid "leave the rejected hunks in corresponding *.rej files" +msgstr "deixar os excertos rejeitados nos respetivos ficheiros *.rej" + +#: builtin/apply.c:4560 +msgid "allow overlapping hunks" +msgstr "permitir a sobreposiΓ§Γ£o de excertos" + +#: builtin/apply.c:4563 +msgid "tolerate incorrectly detected missing new-line at the end of file" +msgstr "" +"tolerar deteΓ§Γ΅es incorretas de falta de nova linha no final do ficheiro" + +#: builtin/apply.c:4566 +msgid "do not trust the line counts in the hunk headers" +msgstr "nΓ£o confiar na contagem de linhas no cabeΓ§alho dos excertos" + +#: builtin/apply.c:4569 +msgid "prepend <root> to all filenames" +msgstr "preceder <root> a todos os nomes de ficheiro" + +#: builtin/apply.c:4591 +msgid "--3way outside a repository" +msgstr "--3way fora de um repositΓ³rio" + +#: builtin/apply.c:4599 msgid "--index outside a repository" -msgstr "--index fora de um repositorio" +msgstr "--index fora de um repositΓ³rio" -#: builtin/apply.c:4038 +#: builtin/apply.c:4602 msgid "--cached outside a repository" -msgstr "--cached fora de um repositorio" +msgstr "--cached fora de um repositΓ³rio" -#: builtin/apply.c:4054 +#: builtin/apply.c:4621 #, c-format msgid "can't open patch '%s'" -msgstr "nΓ£o Γ© possivel abrir patch '%s'" +msgstr "nΓ£o Γ© possΓvel abrir o patch '%s'" -#: builtin/apply.c:4068 +#: builtin/apply.c:4635 #, c-format msgid "squelched %d whitespace error" msgid_plural "squelched %d whitespace errors" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%d erro de espaΓ§o em branco reprimido" +msgstr[1] "%d erros de espaΓ§o em branco repimidos" -#: builtin/apply.c:4074 -#: builtin/apply.c:4084 +#: builtin/apply.c:4641 builtin/apply.c:4651 #, c-format msgid "%d line adds whitespace errors." msgid_plural "%d lines add whitespace errors." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%d linha adiciona erros de espaΓ§o em branco." +msgstr[1] "%d linhas adicionam erros de espaΓ§o em branco." #: builtin/archive.c:17 #, c-format msgid "could not create archive file '%s'" -msgstr "" +msgstr "nΓ£o foi possΓvel criar o ficheiro de arquivo '%s'" #: builtin/archive.c:20 msgid "could not redirect output" -msgstr "" +msgstr "nΓ£o foi possΓvel redirecionar a saΓda" #: builtin/archive.c:37 msgid "git archive: Remote with no URL" -msgstr "" +msgstr "git archive: Remoto sem URL" #: builtin/archive.c:58 msgid "git archive: expected ACK/NAK, got EOF" -msgstr "" +msgstr "git archive: esperava-se ACK/NAK, obteve-se EOF" -#: builtin/archive.c:63 +#: builtin/archive.c:61 #, c-format msgid "git archive: NACK %s" -msgstr "" +msgstr "git archive: NACK %s" -#: builtin/archive.c:65 +#: builtin/archive.c:63 #, c-format msgid "remote error: %s" msgstr "erro remoto: %s" -#: builtin/archive.c:66 +#: builtin/archive.c:64 msgid "git archive: protocol error" -msgstr "" +msgstr "git archive: erro de protocolo" -#: builtin/archive.c:71 +#: builtin/archive.c:68 msgid "git archive: expected a flush" +msgstr "git archive: esvaziamento de cache (flush) esperado" + +#: builtin/bisect--helper.c:7 +msgid "git bisect--helper --next-all [--no-checkout]" +msgstr "git bisect--helper --next-all [--no-checkout]" + +#: builtin/bisect--helper.c:17 +msgid "perform 'git bisect next'" +msgstr "executar 'git bisect next'" + +#: builtin/bisect--helper.c:19 +msgid "update BISECT_HEAD instead of checking out the current commit" +msgstr "atualizar BISECT_HEAD em vez de extrair o commit atual" + +#: builtin/blame.c:33 +msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>" +msgstr "git blame [<opΓ§Γ΅es>] [<rev-opΓ§Γ΅es>] [<rev>] [--] <ficheiro>" + +#: builtin/blame.c:38 +msgid "<rev-opts> are documented in git-rev-list(1)" +msgstr "<rev-opΓ§Γ΅es> estΓ£o documentadas em git-rev-list(1)" + +#: builtin/blame.c:1782 +msgid "Blaming lines" +msgstr "Linhas de culpa" + +#: builtin/blame.c:2530 +msgid "Show blame entries as we find them, incrementally" +msgstr "" +"Mostrar entradas de culpa Γ medida que forem encontradas, incrementalmente" + +#: builtin/blame.c:2531 +msgid "Show blank SHA-1 for boundary commits (Default: off)" +msgstr "" +"Mostar SHA-1 dos commits de limite em branco (PredefiniΓ§Γ£o: desativado)" + +#: builtin/blame.c:2532 +msgid "Do not treat root commits as boundaries (Default: off)" +msgstr "NΓ£o tratar os commits raiz como limites (PredefiniΓ§Γ£o: desativado)" + +#: builtin/blame.c:2533 +msgid "Show work cost statistics" +msgstr "Mostrar estatΓsticas de custo de atividade" + +#: builtin/blame.c:2534 +msgid "Force progress reporting" +msgstr "ForΓ§ar informaΓ§Γ£o de progresso" + +#: builtin/blame.c:2535 +msgid "Show output score for blame entries" +msgstr "Mostrar a pontuaΓ§Γ£o das entradas de culpa" + +#: builtin/blame.c:2536 +msgid "Show original filename (Default: auto)" +msgstr "Mostrar o nome do ficheiro original (PredefiniΓ§Γ£o: auto)" + +#: builtin/blame.c:2537 +msgid "Show original linenumber (Default: off)" +msgstr "Mostrar nΓΊmeros de linha originais (PredefiniΓ§Γ£o: desativado)" + +#: builtin/blame.c:2538 +msgid "Show in a format designed for machine consumption" +msgstr "Mostrar em formato prΓ³prio para ser consumo por uma mΓ‘quina" + +#: builtin/blame.c:2539 +msgid "Show porcelain format with per-line commit information" +msgstr "Mostrar em formato de porcelana com informaΓ§Γ΅es de commit por linha" + +#: builtin/blame.c:2540 +msgid "Use the same output mode as git-annotate (Default: off)" +msgstr "Usar o mesmo modo de saΓda que git-annotate (PredefiniΓ§Γ£o: desativado)" + +#: builtin/blame.c:2541 +msgid "Show raw timestamp (Default: off)" +msgstr "Mostrar carimbo de data/hora em bruto (PredefiniΓ§Γ£o: desativado)" + +#: builtin/blame.c:2542 +msgid "Show long commit SHA1 (Default: off)" +msgstr "Mostrar SHA1 longo de commit (PredefiniΓ§Γ£o: desativado)" + +#: builtin/blame.c:2543 +msgid "Suppress author name and timestamp (Default: off)" msgstr "" +"Suprimir nome de autor e carimbo de data/hora (PredefiniΓ§Γ£o: desativado)" + +#: builtin/blame.c:2544 +msgid "Show author email instead of name (Default: off)" +msgstr "Mostrar o email do autor em vez do nome (PredefiniΓ§Γ£o: desativado)" + +#: builtin/blame.c:2545 +msgid "Ignore whitespace differences" +msgstr "Ignorar as diferenΓ§as de espaΓ§o em branco" + +#: builtin/blame.c:2546 +msgid "Spend extra cycles to find better match" +msgstr "Despender ciclos extra para encontrar uma melhor correspondΓͺncia" + +#: builtin/blame.c:2547 +msgid "Use revisions from <file> instead of calling git-rev-list" +msgstr "Usar revisΓ΅es do <ficheiro> em vez de invocar git-rev-list" + +#: builtin/blame.c:2548 +msgid "Use <file>'s contents as the final image" +msgstr "Usar o conteΓΊdo do <ficheiro> como imagem final" + +#: builtin/blame.c:2549 builtin/blame.c:2550 +msgid "score" +msgstr "pontuaΓ§Γ£o" + +#: builtin/blame.c:2549 +msgid "Find line copies within and across files" +msgstr "Localizar linhas copiadas dentro e entre ficheiros" + +#: builtin/blame.c:2550 +msgid "Find line movements within and across files" +msgstr "Localizar linhas movidas dentro e entre ficheiros" + +#: builtin/blame.c:2551 +msgid "n,m" +msgstr "n,m" + +#: builtin/blame.c:2551 +msgid "Process only line range n,m, counting from 1" +msgstr "Processar apenas o intervalo de linhas n,m, a cantar de 1" + +#. TRANSLATORS: This string is used to tell us the maximum +#. display width for a relative timestamp in "git blame" +#. output. For C locale, "4 years, 11 months ago", which +#. takes 22 places, is the longest among various forms of +#. relative timestamps, but your language may need more or +#. fewer display columns. +#: builtin/blame.c:2640 +msgid "4 years, 11 months ago" +msgstr "hΓ‘ 4 anos e 11 meses atrΓ‘s" -#: builtin/branch.c:144 +#: builtin/branch.c:25 +msgid "git branch [<options>] [-r | -a] [--merged | --no-merged]" +msgstr "git branch [<opΓ§Γ΅es>] [-r | -a] [--merged | --no-merged]" + +#: builtin/branch.c:26 +msgid "git branch [<options>] [-l] [-f] <branch-name> [<start-point>]" +msgstr "git branch [<opΓ§Γ΅es>] [-l] [-f] <nome-ramo> [<ponto-de-partida>]" + +#: builtin/branch.c:27 +msgid "git branch [<options>] [-r] (-d | -D) <branch-name>..." +msgstr "git branch [<opΓ§Γ΅es>] [-r] (-d | -D) <nome-do-ramo>..." + +#: builtin/branch.c:28 +msgid "git branch [<options>] (-m | -M) [<old-branch>] <new-branch>" +msgstr "git branch [<opΓ§Γ΅es>] (-m | -M) [<ramo-antigo>] <novo-ramo>" + +#: builtin/branch.c:29 +msgid "git branch [<options>] [-r | -a] [--points-at]" +msgstr "git branch [<opΓ§Γ΅es>] [-r | -a] [--points-at]" + +#: builtin/branch.c:142 #, c-format msgid "" "deleting branch '%s' that has been merged to\n" " '%s', but not yet merged to HEAD." msgstr "" +"a eliminar o ramo '%s' incorporado em\n" +" '%s', mas ainda nΓ£o incorporado em HEAD." -#: builtin/branch.c:148 +#: builtin/branch.c:146 #, c-format msgid "" "not deleting branch '%s' that is not yet merged to\n" " '%s', even though it is merged to HEAD." msgstr "" +"ramo '%s' nΓ£o eliminado, visto que ainda nΓ£o foi incorporado em\n" +" '%s', apesar de jΓ‘ ter sido incorporado em HEAD." + +#: builtin/branch.c:160 +#, c-format +msgid "Couldn't look up commit object for '%s'" +msgstr "NΓ£o foi possΓvel pesquisar pelo objeto commit de '%s'" -#: builtin/branch.c:180 +#: builtin/branch.c:164 +#, c-format +msgid "" +"The branch '%s' is not fully merged.\n" +"If you are sure you want to delete it, run 'git branch -D %s'." +msgstr "" +"O ramo '%s' nΓ£o foi totalmente incorporado.\n" +"Se tem a certeza que o quer eliminar, execute 'git branch -D %s'." + +#: builtin/branch.c:177 +msgid "Update of config-file failed" +msgstr "Falha ao atualizar o ficheiro de configuraΓ§Γ£o" + +#: builtin/branch.c:205 msgid "cannot use -a with -d" -msgstr "NΓ£o Γ© possΓvel usar -a com um -d" +msgstr "nΓ£o Γ© possΓvel usar -a com -d" -#: builtin/branch.c:186 +#: builtin/branch.c:211 msgid "Couldn't look up commit object for HEAD" -msgstr "" +msgstr "NΓ£o foi possΓvel pesquisar pelo objeto commit de HEAD" -#: builtin/branch.c:191 +#: builtin/branch.c:219 #, c-format msgid "Cannot delete the branch '%s' which you are currently on." -msgstr "" +msgstr "NΓ£o Γ© possΓvel eliminar o ramo '%s' no qual se encontra neste momento." -#: builtin/branch.c:202 +#: builtin/branch.c:235 #, c-format -msgid "remote branch '%s' not found." -msgstr "rama remota '%s nΓ£o encontrada." +msgid "remote-tracking branch '%s' not found." +msgstr "ramo remoto seguido '%s' nΓ£o encontrado." -#: builtin/branch.c:203 +#: builtin/branch.c:236 #, c-format msgid "branch '%s' not found." -msgstr "rama '%s' nΓ£o encontrado." +msgstr "ramo '%s' nΓ£o encontrado." -#: builtin/branch.c:210 +#: builtin/branch.c:251 #, c-format -msgid "Couldn't look up commit object for '%s'" -msgstr "" +msgid "Error deleting remote-tracking branch '%s'" +msgstr "Erro a eliminar o ramo remoto seguido '%s'" -#: builtin/branch.c:216 +#: builtin/branch.c:252 #, c-format -msgid "" -"The branch '%s' is not fully merged.\n" -"If you are sure you want to delete it, run 'git branch -D %s'." -msgstr "" +msgid "Error deleting branch '%s'" +msgstr "Erro a eliminar ramo '%s'" -#: builtin/branch.c:225 +#: builtin/branch.c:259 #, c-format -msgid "Error deleting remote branch '%s'" -msgstr "" +msgid "Deleted remote-tracking branch %s (was %s).\n" +msgstr "Ramo remoto seguido %s eliminado (era %s).\n" -#: builtin/branch.c:226 +#: builtin/branch.c:260 #, c-format -msgid "Error deleting branch '%s'" -msgstr "Erro a eliminar rama '%s'" +msgid "Deleted branch %s (was %s).\n" +msgstr "Ramo %s eliminado (era %s).\n" -#: builtin/branch.c:233 +#: builtin/branch.c:303 #, c-format -msgid "Deleted remote branch %s (was %s).\n" -msgstr "" +msgid "[%s: gone]" +msgstr "[%s: desaparecido]" -#: builtin/branch.c:234 +#: builtin/branch.c:308 #, c-format -msgid "Deleted branch %s (was %s).\n" -msgstr "Eliminar rama %s (era %s).\n" +msgid "[%s]" +msgstr "[%s]" -#: builtin/branch.c:239 -msgid "Update of config-file failed" -msgstr "" +#: builtin/branch.c:313 +#, c-format +msgid "[%s: behind %d]" +msgstr "[%s: atrΓ‘s %d]" -#: builtin/branch.c:337 +#: builtin/branch.c:315 #, c-format -msgid "branch '%s' does not point at a commit" -msgstr "" +msgid "[behind %d]" +msgstr "[atrΓ‘s %d]" -#: builtin/branch.c:409 +#: builtin/branch.c:319 #, c-format -msgid "behind %d] " -msgstr "atrΓ‘s %d] " +msgid "[%s: ahead %d]" +msgstr "[%s: Γ frente %d]" -#: builtin/branch.c:411 +#: builtin/branch.c:321 #, c-format -msgid "ahead %d] " -msgstr "a frente %d] " +msgid "[ahead %d]" +msgstr "[Γ frente %d]" -#: builtin/branch.c:413 +#: builtin/branch.c:324 #, c-format -msgid "ahead %d, behind %d] " -msgstr "a frente %d, atrΓ‘s %d] " +msgid "[%s: ahead %d, behind %d]" +msgstr "[%s: Γ frente %d, atrΓ‘s %d]" -#: builtin/branch.c:521 -msgid "(no branch)" -msgstr "(nΓ£o Γ© rama)" +#: builtin/branch.c:327 +#, c-format +msgid "[ahead %d, behind %d]" +msgstr "[Γ frente %d, atrΓ‘s %d]" -#: builtin/branch.c:586 -msgid "some refs could not be read" -msgstr "" +#: builtin/branch.c:340 +msgid " **** invalid ref ****" +msgstr " **** referΓͺncias invΓ‘lida ****" + +#: builtin/branch.c:366 +#, c-format +msgid "(no branch, rebasing %s)" +msgstr "(nenhum ramo, a efetuar rebase de %s)" + +#: builtin/branch.c:369 +#, c-format +msgid "(no branch, bisect started on %s)" +msgstr "(nenhum ramo, bissecΓ§Γ£o iniciada em %s)" + +#: builtin/branch.c:375 +#, c-format +msgid "(HEAD detached at %s)" +msgstr "(HEAD destacada em %s)" -#: builtin/branch.c:599 +#: builtin/branch.c:378 +#, c-format +msgid "(HEAD detached from %s)" +msgstr "(HEAD destacada de %s)" + +#: builtin/branch.c:382 +msgid "(no branch)" +msgstr "(nenhum ramo)" + +#: builtin/branch.c:524 msgid "cannot rename the current branch while not on any." msgstr "" +"nΓ£o Γ© possΓvel mudar o nome do ramo atual vista que nΓ£o se encontra num ramo." -#: builtin/branch.c:609 +#: builtin/branch.c:534 #, c-format msgid "Invalid branch name: '%s'" -msgstr "Nome da rama invΓ‘lida: '%s'" +msgstr "Nome de ramo invΓ‘lido: '%s'" -#: builtin/branch.c:624 +#: builtin/branch.c:549 msgid "Branch rename failed" -msgstr "Falhou renomeaΓ§Γ£o da rama" +msgstr "Falha ao mudar o nome do ramo" -#: builtin/branch.c:628 +#: builtin/branch.c:553 #, c-format msgid "Renamed a misnamed branch '%s' away" -msgstr "Renomeado uma rama erronea '%s'" +msgstr "O ramo incorretamente denominado '%s' mudou de nome" -#: builtin/branch.c:632 +#: builtin/branch.c:557 #, c-format msgid "Branch renamed to %s, but HEAD is not updated!" -msgstr "" +msgstr "O nome do ramo mudou para %s, mas a HEAD nΓ£o estΓ‘ atualizada!" -#: builtin/branch.c:639 +#: builtin/branch.c:564 msgid "Branch is renamed, but update of config-file failed" msgstr "" +"O ramo mudou de nome, mas a atualizaΓ§Γ£o do ficheiro de configuraΓ§Γ£o falhou" -#: builtin/branch.c:654 -#, c-format -msgid "malformed object name %s" -msgstr "" - -#: builtin/branch.c:678 +#: builtin/branch.c:586 #, c-format msgid "could not write branch description template: %s" -msgstr "" +msgstr "nΓ£o foi possΓvel escrever o modelo da descriΓ§Γ£o de ramo: %s" + +#: builtin/branch.c:615 +msgid "Generic options" +msgstr "OpΓ§Γ΅es genΓ©ricas" + +#: builtin/branch.c:617 +msgid "show hash and subject, give twice for upstream branch" +msgstr "apresentar hash e assunto, duplique para ramos a montante" + +#: builtin/branch.c:618 +msgid "suppress informational messages" +msgstr "suprimir mensagens informativas" + +#: builtin/branch.c:619 +msgid "set up tracking mode (see git-pull(1))" +msgstr "configurar modo de seguimento (consulte git-pull(1))" + +#: builtin/branch.c:621 +msgid "change upstream info" +msgstr "alterar a informaΓ§Γ£o do ramo a montante" -#: builtin/branch.c:769 +#: builtin/branch.c:625 +msgid "use colored output" +msgstr "usar saΓda colorida" + +#: builtin/branch.c:626 +msgid "act on remote-tracking branches" +msgstr "atuar sobre ramos remotos seguidos" + +#: builtin/branch.c:628 builtin/branch.c:629 +msgid "print only branches that contain the commit" +msgstr "imprimir apenas ramos que contenham o commit" + +#: builtin/branch.c:632 +msgid "Specific git-branch actions:" +msgstr "AΓ§Γ΅es especΓficas do git-branch:" + +#: builtin/branch.c:633 +msgid "list both remote-tracking and local branches" +msgstr "listar ramos remotos seguidos e ramos locais" + +#: builtin/branch.c:635 +msgid "delete fully merged branch" +msgstr "eliminar um ramo totalmente incorporado" + +#: builtin/branch.c:636 +msgid "delete branch (even if not merged)" +msgstr "eliminar um ramo (mesmo que nΓ£o tenha sido incorporado)" + +#: builtin/branch.c:637 +msgid "move/rename a branch and its reflog" +msgstr "mover ou mudar o nome de um ramo e o seu reflog" + +#: builtin/branch.c:638 +msgid "move/rename a branch, even if target exists" +msgstr "mover ou mudar o nome de um ramo, mesmo que o destino jΓ‘ exista" + +#: builtin/branch.c:639 +msgid "list branch names" +msgstr "listar os nomes dos ramos" + +#: builtin/branch.c:640 +msgid "create the branch's reflog" +msgstr "criar reflog do ramo" + +#: builtin/branch.c:642 +msgid "edit the description for the branch" +msgstr "editar a descriΓ§Γ£o do ramo" + +#: builtin/branch.c:643 +msgid "force creation, move/rename, deletion" +msgstr "forΓ§ar criaΓ§Γ£o, mover/mudar o nome ou exclusΓ£o" + +#: builtin/branch.c:644 +msgid "print only branches that are merged" +msgstr "imprimir apenas os ramos que foram incorporados" + +#: builtin/branch.c:645 +msgid "print only branches that are not merged" +msgstr "imprimir apenas os ramos que nΓ£o foram incorporados" + +#: builtin/branch.c:646 +msgid "list branches in columns" +msgstr "listar os ramos em colunas" + +#: builtin/branch.c:647 builtin/for-each-ref.c:38 builtin/tag.c:366 +msgid "key" +msgstr "chave" + +#: builtin/branch.c:648 builtin/for-each-ref.c:39 builtin/tag.c:367 +msgid "field name to sort on" +msgstr "nome do campo pelo qual ordernar" + +#: builtin/branch.c:650 builtin/for-each-ref.c:41 builtin/notes.c:401 +#: builtin/notes.c:404 builtin/notes.c:564 builtin/notes.c:567 +#: builtin/tag.c:369 +msgid "object" +msgstr "objeto" + +#: builtin/branch.c:651 +msgid "print only branches of the object" +msgstr "imprimir apenas os ramos do objeto" + +#: builtin/branch.c:669 msgid "Failed to resolve HEAD as a valid ref." -msgstr "" +msgstr "Falha ao resolver HEAD numa referΓͺncia vΓ‘lida." -#: builtin/branch.c:774 -#: builtin/clone.c:558 +#: builtin/branch.c:673 builtin/clone.c:705 msgid "HEAD not found below refs/heads!" -msgstr "" +msgstr "HEAD nΓ£o encontrada em refs/heads!" -#: builtin/branch.c:794 +#: builtin/branch.c:693 msgid "--column and --verbose are incompatible" msgstr "--column e --verbose sΓ£o incompatΓveis" -#: builtin/branch.c:843 +#: builtin/branch.c:704 builtin/branch.c:746 +msgid "branch name required" +msgstr "nome do ramo Γ© obrigatΓ³rio" + +#: builtin/branch.c:722 +msgid "Cannot give description to detached HEAD" +msgstr "NΓ£o Γ© possΓvel atribuir descriΓ§Γ£o a HEAD destacada" + +#: builtin/branch.c:727 +msgid "cannot edit description of more than one branch" +msgstr "nΓ£o Γ© possΓvel editar a descriΓ§Γ£o de mais do que um ramo" + +#: builtin/branch.c:734 +#, c-format +msgid "No commit on branch '%s' yet." +msgstr "Ainda nΓ£o hΓ‘ commits no ramo '%s'." + +#: builtin/branch.c:737 +#, c-format +msgid "No branch named '%s'." +msgstr "NΓ£o hΓ‘ nenhum ramo denominado '%s'." + +#: builtin/branch.c:752 +msgid "too many branches for a rename operation" +msgstr "demasiados ramos para uma operaΓ§Γ£o de mudanΓ§a de nome" + +#: builtin/branch.c:757 +msgid "too many branches to set new upstream" +msgstr "demasiados ramos para definir novo ramo a montante" + +#: builtin/branch.c:761 +#, c-format +msgid "" +"could not set upstream of HEAD to %s when it does not point to any branch." +msgstr "" +"nΓ£o foi possΓvel definir %s como ramo a montante de HEAD visto que esta nΓ£o " +"aponta para um ramo." + +#: builtin/branch.c:764 builtin/branch.c:786 builtin/branch.c:807 +#, c-format +msgid "no such branch '%s'" +msgstr "o ramo '%s' nΓ£o existe" + +#: builtin/branch.c:768 +#, c-format +msgid "branch '%s' does not exist" +msgstr "o ramo '%s' nΓ£o existe" + +#: builtin/branch.c:780 +msgid "too many branches to unset upstream" +msgstr "demasiados ramos para remover a definiΓ§Γ£o de ramo a montante" + +#: builtin/branch.c:784 +msgid "could not unset upstream of HEAD when it does not point to any branch." +msgstr "" +"nΓ£o foi possΓvel remover a definiΓ§Γ£o de ramo a montante de HEAD visto que " +"esta nΓ£o aponta para um ramo." + +#: builtin/branch.c:790 +#, c-format +msgid "Branch '%s' has no upstream information" +msgstr "O ramo '%s' nΓ£o tem informaΓ§Γ£o sobre o ramo a montante" + +#: builtin/branch.c:804 +msgid "it does not make sense to create 'HEAD' manually" +msgstr "nΓ£o faz sentido criar 'HEAD' manualmente" + +#: builtin/branch.c:810 msgid "-a and -r options to 'git branch' do not make sense with a branch name" msgstr "" +"as opΓ§Γ΅es -a e -r de 'git branch' nΓ£o fazem sentido com um nome de ramo" + +#: builtin/branch.c:813 +#, c-format +msgid "" +"The --set-upstream flag is deprecated and will be removed. Consider using --" +"track or --set-upstream-to\n" +msgstr "" +"A opΓ§Γ£o --set-upstream Γ© obsoleta e serΓ‘ removida. Considere o uso de --" +"track ou --set-upstream-to\n" + +#: builtin/branch.c:830 +#, c-format +msgid "" +"\n" +"If you wanted to make '%s' track '%s', do this:\n" +"\n" +msgstr "" +"\n" +"Se quer que '%s' siga '%s', faΓ§a:\n" +"\n" + +#: builtin/branch.c:831 +#, c-format +msgid " git branch -d %s\n" +msgstr " git branch -d %s\n" + +#: builtin/branch.c:832 +#, c-format +msgid " git branch --set-upstream-to %s\n" +msgstr " git branch --set-upstream-to %s\n" -#: builtin/bundle.c:47 +#: builtin/bundle.c:51 #, c-format msgid "%s is okay\n" -msgstr "%s estΓ‘ bem\n" +msgstr "%s estΓ‘ correto\n" -#: builtin/bundle.c:56 +#: builtin/bundle.c:64 msgid "Need a repository to create a bundle." -msgstr "" +msgstr "Γ necessΓ‘rio um repositΓ³rio para criar um bundle." -#: builtin/bundle.c:60 +#: builtin/bundle.c:68 msgid "Need a repository to unbundle." +msgstr "Γ preciso um repositΓ³rio para desempacotar." + +#: builtin/cat-file.c:428 +msgid "" +"git cat-file (-t [--allow-unknown-type]|-s [--allow-unknown-type]|-e|-p|" +"<type>|--textconv) <object>" +msgstr "" +"git cat-file (-t [--allow-unknown-type]|-s [--allow-unknown-type]|-e|-p|" +"<tipo>|--textconv) <objeto>" + +#: builtin/cat-file.c:429 +msgid "git cat-file (--batch | --batch-check) [--follow-symlinks]" +msgstr "git cat-file (--batch | --batch-check) [--follow-symlinks]" + +#: builtin/cat-file.c:466 +msgid "<type> can be one of: blob, tree, commit, tag" +msgstr "<tipo> pode ser um de: blob, tree, commit, tag" + +#: builtin/cat-file.c:467 +msgid "show object type" +msgstr "mostrar tipo do objeto" + +#: builtin/cat-file.c:468 +msgid "show object size" +msgstr "mostrar tamanho do objeto" + +#: builtin/cat-file.c:470 +msgid "exit with zero when there's no error" +msgstr "sair com retorno zero quando nΓ£o houver erros" + +#: builtin/cat-file.c:471 +msgid "pretty-print object's content" +msgstr "mostrar conteΓΊdo do objeto com impressΓ£o bonita" + +#: builtin/cat-file.c:473 +msgid "for blob objects, run textconv on object's content" +msgstr "executar textconv no conteΓΊdo de objetos blob" + +#: builtin/cat-file.c:475 +msgid "allow -s and -t to work with broken/corrupt objects" +msgstr "permitir que -s e -t funcionem com objetos danificados/corrompidos" + +#: builtin/cat-file.c:476 +msgid "buffer --batch output" +msgstr "carregar a saΓda de --batch" + +#: builtin/cat-file.c:478 +msgid "show info and content of objects fed from the standard input" +msgstr "mostrar informaΓ§Γ£o e conteΓΊdo dos objetos fornecidos na entrada padrΓ£o" + +#: builtin/cat-file.c:481 +msgid "show info about objects fed from the standard input" +msgstr "mostrar informaΓ§Γ£o sobre os objetos fornecidos na entrada padrΓ£o" + +#: builtin/cat-file.c:484 +msgid "follow in-tree symlinks (used with --batch or --batch-check)" msgstr "" +"seguir ligaΓ§Γ΅es simbΓ³lica no interior da Γ‘rvore (usado com --batch ou --" +"batch-check)" + +#: builtin/cat-file.c:486 +msgid "show all objects with --batch or --batch-check" +msgstr "mostrar todos os objetos com --batch ou --batch-check" + +#: builtin/check-attr.c:11 +msgid "git check-attr [-a | --all | <attr>...] [--] <pathname>..." +msgstr "git check-attr [-a | --all | <atributo>...] [--] <caminho>..." + +#: builtin/check-attr.c:12 +msgid "git check-attr --stdin [-z] [-a | --all | <attr>...]" +msgstr "git check-attr --stdin [-z] [-a | --all | <atributo>...]" + +#: builtin/check-attr.c:19 +msgid "report all attributes set on file" +msgstr "apresentar todos os atributos definidos no ficheiro" + +#: builtin/check-attr.c:20 +msgid "use .gitattributes only from the index" +msgstr "usar .gitattributes apenas a partir do Γndice" + +#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:97 +msgid "read file names from stdin" +msgstr "ler os nomes dos ficheiros da entrada padrΓ£o" + +#: builtin/check-attr.c:23 builtin/check-ignore.c:24 +msgid "terminate input and output records by a NUL character" +msgstr "terminar registos da entrada e da saΓda com um carΓ‘cter NUL" + +#: builtin/check-ignore.c:18 builtin/checkout.c:1136 builtin/gc.c:325 +msgid "suppress progress reporting" +msgstr "suprimir informaΓ§Γ£o de progresso" + +#: builtin/check-ignore.c:26 +msgid "show non-matching input paths" +msgstr "mostrar caminhos de entrada sem correspondΓͺncia" -#: builtin/checkout.c:113 -#: builtin/checkout.c:146 +#: builtin/check-ignore.c:28 +msgid "ignore index when checking" +msgstr "ignorar o Γndice ao verificar" + +#: builtin/check-ignore.c:154 +msgid "cannot specify pathnames with --stdin" +msgstr "nΓ£o Γ© possΓvel especificar caminhos com --stdin" + +#: builtin/check-ignore.c:157 +msgid "-z only makes sense with --stdin" +msgstr "-z sΓ³ faz sentido com --stdin" + +#: builtin/check-ignore.c:159 +msgid "no path specified" +msgstr "nenhum caminho especificado" + +#: builtin/check-ignore.c:163 +msgid "--quiet is only valid with a single pathname" +msgstr "--quiet sΓ³ Γ© vΓ‘lido com um ΓΊnico caminho" + +#: builtin/check-ignore.c:165 +msgid "cannot have both --quiet and --verbose" +msgstr "nΓ£o Γ© possΓvel usar --quiet e --verbose simultaneamente" + +#: builtin/check-ignore.c:168 +msgid "--non-matching is only valid with --verbose" +msgstr "--non-matching sΓ³ Γ© vΓ‘lido com --verbose" + +#: builtin/check-mailmap.c:8 +msgid "git check-mailmap [<options>] <contact>..." +msgstr "git check-mailmap [<opΓ§Γ΅es>] <contacto>..." + +#: builtin/check-mailmap.c:13 +msgid "also read contacts from stdin" +msgstr "tambΓ©m ler contactos da entrada padrΓ£o" + +#: builtin/check-mailmap.c:24 #, c-format -msgid "path '%s' does not have our version" +msgid "unable to parse contact: %s" +msgstr "nΓ£o Γ© possΓvel analisar o contacto: %s" + +#: builtin/check-mailmap.c:47 +msgid "no contacts specified" +msgstr "nenhum contacto especificado" + +#: builtin/checkout-index.c:127 +msgid "git checkout-index [<options>] [--] [<file>...]" +msgstr "git checkout-index [<opΓ§Γ΅es>] [--] [<ficheiro>...]" + +#: builtin/checkout-index.c:144 +msgid "stage should be between 1 and 3 or all" +msgstr "stage deve ser um nΓΊmero entre 1 e 3 ou o parΓ’metro all" + +#: builtin/checkout-index.c:160 +msgid "check out all files in the index" +msgstr "extrair todos os ficheiros presentes no Γndice" + +#: builtin/checkout-index.c:161 +msgid "force overwrite of existing files" +msgstr "forΓ§ar substituiΓ§Γ£o dos ficheiros existentes" + +#: builtin/checkout-index.c:163 +msgid "no warning for existing files and files not in index" msgstr "" +"nΓ£o mostrar aviso para ficheiros existentes e ficheiros nΓ£o presentes no " +"Γndice" + +#: builtin/checkout-index.c:165 +msgid "don't checkout new files" +msgstr "nΓ£o extrair novos ficheiros" + +#: builtin/checkout-index.c:167 +msgid "update stat information in the index file" +msgstr "atualizar informaΓ§Γ£o de stat no ficheiro de Γndice" + +#: builtin/checkout-index.c:171 +msgid "read list of paths from the standard input" +msgstr "ler lista de caminhos da entrada padrΓ£o" + +#: builtin/checkout-index.c:173 +msgid "write the content to temporary files" +msgstr "escrever o conteΓΊdo em ficheiros temporΓ‘rios" + +#: builtin/checkout-index.c:174 builtin/column.c:30 +#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169 +#: builtin/submodule--helper.c:172 builtin/submodule--helper.c:175 +msgid "string" +msgstr "cadeia" + +#: builtin/checkout-index.c:175 +msgid "when creating files, prepend <string>" +msgstr "preceder <cadeia> ao criar ficheiros" + +#: builtin/checkout-index.c:177 +msgid "copy out the files from named stage" +msgstr "copiar os ficheiros do estΓ‘gio indicado" + +#: builtin/checkout.c:25 +msgid "git checkout [<options>] <branch>" +msgstr "git checkout [<opΓ§Γ΅es>] <ramo>" + +#: builtin/checkout.c:26 +msgid "git checkout [<options>] [<branch>] -- <file>..." +msgstr "git checkout [<opΓ§Γ΅es>] [<ramo>] -- <ficheiro>..." -#: builtin/checkout.c:115 -#: builtin/checkout.c:148 +#: builtin/checkout.c:134 builtin/checkout.c:167 +#, c-format +msgid "path '%s' does not have our version" +msgstr "o caminho '%s' nΓ£o tem a nossa versΓ£o" + +#: builtin/checkout.c:136 builtin/checkout.c:169 #, c-format msgid "path '%s' does not have their version" -msgstr "" +msgstr "o caminho '%s' nΓ£o tem a versΓ£o deles" -#: builtin/checkout.c:131 +#: builtin/checkout.c:152 #, c-format msgid "path '%s' does not have all necessary versions" -msgstr "" +msgstr "o caminho '%s' nΓ£o tem todas as versΓ΅es necessΓ‘rias" -#: builtin/checkout.c:175 +#: builtin/checkout.c:196 #, c-format msgid "path '%s' does not have necessary versions" -msgstr "" +msgstr "o caminho '%s' nΓ£o tem as versΓ΅es necessΓ‘rias" -#: builtin/checkout.c:192 +#: builtin/checkout.c:213 #, c-format msgid "path '%s': cannot merge" -msgstr "" +msgstr "caminho '%s': nΓ£o Γ© possΓvel integrar" -#: builtin/checkout.c:209 +#: builtin/checkout.c:230 #, c-format msgid "Unable to add merge result for '%s'" -msgstr "" +msgstr "NΓ£o Γ© possΓvel integrar os resultados do merge de '%s'" -#: builtin/checkout.c:234 -#: builtin/checkout.c:392 -msgid "corrupt index file" -msgstr "ficheiro index corrupto" +#: builtin/checkout.c:251 builtin/checkout.c:254 builtin/checkout.c:257 +#: builtin/checkout.c:260 +#, c-format +msgid "'%s' cannot be used with updating paths" +msgstr "'%s' nΓ£o pode ser usado com caminhos em atualizaΓ§Γ£o" -#: builtin/checkout.c:264 -#: builtin/checkout.c:271 +#: builtin/checkout.c:263 builtin/checkout.c:266 #, c-format -msgid "path '%s' is unmerged" -msgstr "" +msgid "'%s' cannot be used with %s" +msgstr "'%s' nΓ£o pode ser usado com %s" -#: builtin/checkout.c:302 -#: builtin/checkout.c:498 -#: builtin/clone.c:583 -#: builtin/merge.c:812 -msgid "unable to write new index file" +#: builtin/checkout.c:269 +#, c-format +msgid "Cannot update paths and switch to branch '%s' at the same time." msgstr "" +"NΓ£o Γ© possΓvel atualizar os caminhos e mudar para o ramo '%s' ao mesmo tempo." -#: builtin/checkout.c:319 -#: builtin/diff.c:302 -#: builtin/merge.c:408 -msgid "diff_setup_done failed" -msgstr "" +#: builtin/checkout.c:280 builtin/checkout.c:474 +msgid "corrupt index file" +msgstr "ficheiro de Γndice corrompido" -#: builtin/checkout.c:414 +#: builtin/checkout.c:340 builtin/checkout.c:347 +#, c-format +msgid "path '%s' is unmerged" +msgstr "o caminho '%s' nΓ£o foi integrado" + +#: builtin/checkout.c:496 msgid "you need to resolve your current index first" -msgstr "" +msgstr "primeiro deve resolver o Γndice atual" -#: builtin/checkout.c:533 +#: builtin/checkout.c:623 #, c-format -msgid "Can not do reflog for '%s'\n" -msgstr "" +msgid "Can not do reflog for '%s': %s\n" +msgstr "NΓ£o Γ© possΓvel efetuar reflog de '%s': %s\n" -#: builtin/checkout.c:566 +#: builtin/checkout.c:661 msgid "HEAD is now at" -msgstr "HEAD Γ© agora em " +msgstr "HEAD estΓ‘ agora em" -#: builtin/checkout.c:573 +#: builtin/checkout.c:665 builtin/clone.c:659 +msgid "unable to update HEAD" +msgstr "nΓ£o foi possΓvel atualizar HEAD" + +#: builtin/checkout.c:669 #, c-format msgid "Reset branch '%s'\n" -msgstr "Reset rama '%s'\n" +msgstr "Repor ramo '%s'\n" -#: builtin/checkout.c:576 +#: builtin/checkout.c:672 #, c-format msgid "Already on '%s'\n" msgstr "JΓ‘ em '%s'\n" -#: builtin/checkout.c:580 +#: builtin/checkout.c:676 #, c-format msgid "Switched to and reset branch '%s'\n" -msgstr "" +msgstr "Mudou para e repΓ΄s o ramo '%s'\n" -#: builtin/checkout.c:582 +#: builtin/checkout.c:678 builtin/checkout.c:1068 #, c-format msgid "Switched to a new branch '%s'\n" -msgstr "Mudado para a nova rama '%s'\n" +msgstr "Mudou para o novo ramo '%s'\n" -#: builtin/checkout.c:584 +#: builtin/checkout.c:680 #, c-format msgid "Switched to branch '%s'\n" -msgstr "Mudado para a rama '%s'\n" +msgstr "Mudou para o ramo '%s'\n" -#: builtin/checkout.c:640 +#: builtin/checkout.c:732 #, c-format msgid " ... and %d more.\n" -msgstr " ... e %d mais.\n" +msgstr " ... e mais %d.\n" -#. The singular version -#: builtin/checkout.c:646 +#: builtin/checkout.c:738 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -1631,283 +4301,752 @@ msgid_plural "" "\n" "%s\n" msgstr[0] "" +"Aviso: deixa %d commit para trΓ‘s, nΓ£o ligado a nenhum ramo:\n" +"\n" +"%s\n" msgstr[1] "" +"Aviso: deixa %d commits para trΓ‘s, nΓ£o ligados a nenhum ramo:\n" +"\n" +"%s\n" -#: builtin/checkout.c:664 +#: builtin/checkout.c:757 #, c-format msgid "" +"If you want to keep it by creating a new branch, this may be a good time\n" +"to do so with:\n" +"\n" +" git branch <new-branch-name> %s\n" +"\n" +msgid_plural "" "If you want to keep them by creating a new branch, this may be a good time\n" "to do so with:\n" "\n" -" git branch new_branch_name %s\n" +" git branch <new-branch-name> %s\n" +"\n" +msgstr[0] "" +"Se deseja mantΓͺ-lo, criando um novo ramo, agora seria uma boa altura\n" +"para fazΓͺ-lo com:\n" +"\n" +" git branch <nome-do-novo-ramo> %s\n" +"\n" +msgstr[1] "" +"Se deseja mantΓͺ-los, criando um novo ramo, agora seria uma boa altura\n" +"para fazΓͺ-lo com:\n" +"\n" +" git branch <nome-do-novo-ramo> %s\n" "\n" -msgstr "" -#: builtin/checkout.c:693 +#: builtin/checkout.c:793 msgid "internal error in revision walk" -msgstr "" +msgstr "erro interno durante o curso de revisΓ΅es" -#: builtin/checkout.c:697 +#: builtin/checkout.c:797 msgid "Previous HEAD position was" -msgstr "" +msgstr "A posiΓ§Γ£o anterior de HEAD era" -#: builtin/checkout.c:723 +#: builtin/checkout.c:824 builtin/checkout.c:1063 msgid "You are on a branch yet to be born" -msgstr "" +msgstr "EstΓ‘ num ramo ainda nΓ£o criado" + +#: builtin/checkout.c:969 +#, c-format +msgid "only one reference expected, %d given." +msgstr "esperava-se apenas uma referΓͺncia, %d fornecidas." -#. case (1) -#: builtin/checkout.c:854 +#: builtin/checkout.c:1009 builtin/worktree.c:211 #, c-format msgid "invalid reference: %s" -msgstr "" +msgstr "referΓͺncia invΓ‘lida: %s" -#. case (1): want a tree -#: builtin/checkout.c:893 +#: builtin/checkout.c:1038 #, c-format msgid "reference is not a tree: %s" -msgstr "" +msgstr "a referΓͺncia nΓ£o Γ© uma Γ‘rvore: %s" -#: builtin/checkout.c:973 -msgid "-B cannot be used with -b" -msgstr "" +#: builtin/checkout.c:1077 +msgid "paths cannot be used with switching branches" +msgstr "nΓ£o podem ser usados caminhos ao mudar de ramo" -#: builtin/checkout.c:982 -msgid "--patch is incompatible with all other options" -msgstr "" +#: builtin/checkout.c:1080 builtin/checkout.c:1084 +#, c-format +msgid "'%s' cannot be used with switching branches" +msgstr "'%s' nΓ£o pode ser usado ao mudar de ramo" -#: builtin/checkout.c:985 -msgid "--detach cannot be used with -b/-B/--orphan" -msgstr "" +#: builtin/checkout.c:1088 builtin/checkout.c:1091 builtin/checkout.c:1096 +#: builtin/checkout.c:1099 +#, c-format +msgid "'%s' cannot be used with '%s'" +msgstr "'%s' nΓ£o pode ser usado com '%s'" -#: builtin/checkout.c:987 -msgid "--detach cannot be used with -t" -msgstr "" +#: builtin/checkout.c:1104 +#, c-format +msgid "Cannot switch branch to a non-commit '%s'" +msgstr "NΓ£o Γ© possΓvel mudar de ramo para '%s', visto que nΓ£o Γ© um commit" -#: builtin/checkout.c:993 -msgid "--track needs a branch name" -msgstr "" +#: builtin/checkout.c:1137 builtin/checkout.c:1139 builtin/clone.c:84 +#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:318 +#: builtin/worktree.c:320 +msgid "branch" +msgstr "ramo" -#: builtin/checkout.c:1000 -msgid "Missing branch name; try -b" -msgstr "" +#: builtin/checkout.c:1138 +msgid "create and checkout a new branch" +msgstr "criar e extrair um novo ramo" -#: builtin/checkout.c:1006 -msgid "--orphan and -b|-B are mutually exclusive" -msgstr "" +#: builtin/checkout.c:1140 +msgid "create/reset and checkout a branch" +msgstr "criar/repor e extrair um ramo" -#: builtin/checkout.c:1008 -msgid "--orphan cannot be used with -t" -msgstr "" +#: builtin/checkout.c:1141 +msgid "create reflog for new branch" +msgstr "criar reflog do novo ramo" + +#: builtin/checkout.c:1142 +msgid "detach the HEAD at named commit" +msgstr "destacar HEAD no commit indicado" + +#: builtin/checkout.c:1143 +msgid "set upstream info for new branch" +msgstr "definir a informaΓ§Γ£o do ramo a montante do novo ramo" + +#: builtin/checkout.c:1145 +msgid "new-branch" +msgstr "novo-ramo" + +#: builtin/checkout.c:1145 +msgid "new unparented branch" +msgstr "novo ramo sem pai" -#: builtin/checkout.c:1018 -msgid "git checkout: -f and -m are incompatible" +#: builtin/checkout.c:1146 +msgid "checkout our version for unmerged files" +msgstr "extrair a nossa versΓ£o dos ficheiros nΓ£o integrados" + +#: builtin/checkout.c:1148 +msgid "checkout their version for unmerged files" +msgstr "extrair a versΓ£o deles dos ficheiros nΓ£o integrados" + +#: builtin/checkout.c:1150 +msgid "force checkout (throw away local modifications)" +msgstr "forΓ§ar extraΓ§Γ£o (descartar modificaΓ§Γ΅es locais)" + +#: builtin/checkout.c:1151 +msgid "perform a 3-way merge with the new branch" +msgstr "realizar um merge com 3 pontos com o novo ramo" + +#: builtin/checkout.c:1152 builtin/merge.c:227 +msgid "update ignored files (default)" +msgstr "atualizar ficheiros ignorados (predefiniΓ§Γ£o)" + +#: builtin/checkout.c:1153 builtin/log.c:1269 parse-options.h:250 +msgid "style" +msgstr "estilo" + +#: builtin/checkout.c:1154 +msgid "conflict style (merge or diff3)" +msgstr "estilo de conflito (merge ou diff3)" + +#: builtin/checkout.c:1157 +msgid "do not limit pathspecs to sparse entries only" +msgstr "nΓ£o restringir especificadores de caminho a entradas esparsas" + +#: builtin/checkout.c:1159 +msgid "second guess 'git checkout <no-such-branch>'" +msgstr "tentar adivinhar 'git checkout <ramo-inexistente>'" + +#: builtin/checkout.c:1161 +msgid "do not check if another worktree is holding the given ref" msgstr "" +"nΓ£o verificar se outra Γ‘rvore de trabalho contΓ©m a referΓͺncia fornecida" + +#: builtin/checkout.c:1162 builtin/clone.c:58 builtin/fetch.c:116 +#: builtin/merge.c:224 builtin/pull.c:113 builtin/push.c:526 +#: builtin/send-pack.c:168 +msgid "force progress reporting" +msgstr "forΓ§ar informaΓ§Γ£o de progresso" + +#: builtin/checkout.c:1193 +msgid "-b, -B and --orphan are mutually exclusive" +msgstr "-b, -B e --orphan sΓ£o mutuamente exclusivos" + +#: builtin/checkout.c:1210 +msgid "--track needs a branch name" +msgstr "--track requer um nome dum ramo" -#: builtin/checkout.c:1052 +#: builtin/checkout.c:1215 +msgid "Missing branch name; try -b" +msgstr "Falta um nome dum ramo; tente -b" + +#: builtin/checkout.c:1251 msgid "invalid path specification" -msgstr "" +msgstr "especificaΓ§Γ£o de caminho invΓ‘lida" -#: builtin/checkout.c:1060 +#: builtin/checkout.c:1258 #, c-format msgid "" -"git checkout: updating paths is incompatible with switching branches.\n" +"Cannot update paths and switch to branch '%s' at the same time.\n" "Did you intend to checkout '%s' which can not be resolved as commit?" msgstr "" +"NΓ£o Γ© possΓvel atualizar os caminho e mudar para o ramo '%s' ao mesmo " +"tempo.\n" +"Pretendia extrair '%s' podendo ser resolvido num commit?" -#: builtin/checkout.c:1062 -msgid "git checkout: updating paths is incompatible with switching branches." -msgstr "" - -#: builtin/checkout.c:1067 -msgid "git checkout: --detach does not take a path argument" -msgstr "" +#: builtin/checkout.c:1263 +#, c-format +msgid "git checkout: --detach does not take a path argument '%s'" +msgstr "git checkout: --detach nΓ£o aceita um caminho como argumento '%s'" -#: builtin/checkout.c:1070 +#: builtin/checkout.c:1267 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." msgstr "" +"git checkout: --ours/--theirs, --force e --merge sΓ£o incompatΓveis\n" +"durante a extraΓ§Γ£o do Γndice." -#: builtin/checkout.c:1089 -msgid "Cannot switch branch to a non-commit." +#: builtin/clean.c:25 +msgid "" +"git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <paths>..." msgstr "" +"git clean [-d] [-f] [-i] [-n] [-q] [-e <padrΓ£o>] [-x | -X] [--] <caminhos>..." -#: builtin/checkout.c:1092 -msgid "--ours/--theirs is incompatible with switching branches." -msgstr "" +#: builtin/clean.c:29 +#, c-format +msgid "Removing %s\n" +msgstr "A remover %s\n" -#: builtin/clean.c:78 -msgid "-x and -X cannot be used together" -msgstr "" +#: builtin/clean.c:30 +#, c-format +msgid "Would remove %s\n" +msgstr "Removeria %s\n" + +#: builtin/clean.c:31 +#, c-format +msgid "Skipping repository %s\n" +msgstr "A ignorar o repositΓ³rio %s\n" + +#: builtin/clean.c:32 +#, c-format +msgid "Would skip repository %s\n" +msgstr "Ignoraria o repositΓ³rio %s\n" -#: builtin/clean.c:82 -msgid "clean.requireForce set to true and neither -n nor -f given; refusing to clean" +#: builtin/clean.c:33 +#, c-format +msgid "failed to remove %s" +msgstr "falha ao remover %s" + +#: builtin/clean.c:291 +msgid "" +"Prompt help:\n" +"1 - select a numbered item\n" +"foo - select item based on unique prefix\n" +" - (empty) select nothing" msgstr "" +"Ajuda de linha de comandos:\n" +"1 - selecionar um item numerado\n" +"foo - selecionar item baseado no prefixo ΓΊnico\n" +" - (vazio) nΓ£o seleciona nada" -#: builtin/clean.c:85 -msgid "clean.requireForce defaults to true and neither -n nor -f given; refusing to clean" +#: builtin/clean.c:295 +msgid "" +"Prompt help:\n" +"1 - select a single item\n" +"3-5 - select a range of items\n" +"2-3,6-9 - select multiple ranges\n" +"foo - select item based on unique prefix\n" +"-... - unselect specified items\n" +"* - choose all items\n" +" - (empty) finish selecting" msgstr "" +"Ajuda de linha de comandos:\n" +"1 - selecionar um ΓΊnico item\n" +"3-5 - selecionar um intervalo de items\n" +"2-3,6-9 - selecionar mΓΊltiplos intervalos\n" +"foo - selecionar item baseado no prefixo ΓΊnico\n" +"-... - desselecionar itens especificados\n" +"* - escolher todos os itens\n" +" - (vazio) concluir seleΓ§Γ£o" -#: builtin/clean.c:155 -#: builtin/clean.c:176 +#: builtin/clean.c:511 #, c-format -msgid "Would remove %s\n" -msgstr "" +msgid "Huh (%s)?" +msgstr "O quΓͺ (%s)?" -#: builtin/clean.c:159 -#: builtin/clean.c:179 +#: builtin/clean.c:653 #, c-format -msgid "Removing %s\n" -msgstr "Eliminando %s\n" +msgid "Input ignore patterns>> " +msgstr "Introduza padrΓ΅es a ignorar>> " -#: builtin/clean.c:162 -#: builtin/clean.c:182 +#: builtin/clean.c:690 #, c-format -msgid "failed to remove %s" -msgstr "" +msgid "WARNING: Cannot find items matched by: %s" +msgstr "AVISO: nΓ£o foram encontrados itens correspondentes a %s" + +#: builtin/clean.c:711 +msgid "Select items to delete" +msgstr "Selecione itens para eliminar" -#: builtin/clean.c:166 +#. TRANSLATORS: Make sure to keep [y/N] as is +#: builtin/clean.c:752 #, c-format -msgid "Would not remove %s\n" +msgid "Remove %s [y/N]? " +msgstr "Remover %s [y/N]? " + +#: builtin/clean.c:777 +msgid "Bye." +msgstr "Adeus." + +#: builtin/clean.c:785 +msgid "" +"clean - start cleaning\n" +"filter by pattern - exclude items from deletion\n" +"select by numbers - select items to be deleted by numbers\n" +"ask each - confirm each deletion (like \"rm -i\")\n" +"quit - stop cleaning\n" +"help - this screen\n" +"? - help for prompt selection" +msgstr "" +"clean - comeΓ§ar a limpar\n" +"filter by pattern - excluir itens da eliminaΓ§Γ£o\n" +"select by numbers - selecionar itens para serem eliminados por nΓΊmero\n" +"ask each - confirmar cada eliminaΓ§Γ£o (como \"rm -i\")\n" +"quit - parar limpeza\n" +"help - esta ajuda\n" +"? - ajuda para seleΓ§Γ£o em linha de comandos" + +#: builtin/clean.c:812 +msgid "*** Commands ***" +msgstr "*** Comandos ***" + +#: builtin/clean.c:813 +msgid "What now" +msgstr "E agora" + +#: builtin/clean.c:821 +msgid "Would remove the following item:" +msgid_plural "Would remove the following items:" +msgstr[0] "Removeria o seguinte item:" +msgstr[1] "Removeria os seguintes itens:" + +#: builtin/clean.c:838 +msgid "No more files to clean, exiting." +msgstr "NΓ£o hΓ‘ mais ficheiros por limpar, a terminar." + +#: builtin/clean.c:869 +msgid "do not print names of files removed" +msgstr "nΓ£o imprimir os nomes dos ficheiros removidos" + +#: builtin/clean.c:871 +msgid "force" +msgstr "forΓ§ar" + +#: builtin/clean.c:872 +msgid "interactive cleaning" +msgstr "limpeza interativa" + +#: builtin/clean.c:874 +msgid "remove whole directories" +msgstr "remover diretΓ³rios inteiros" + +#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:722 +#: builtin/ls-files.c:456 builtin/name-rev.c:307 builtin/show-ref.c:182 +msgid "pattern" +msgstr "padrΓ£o" + +#: builtin/clean.c:876 +msgid "add <pattern> to ignore rules" +msgstr "adicionar <padrΓ£o> Γ s regras ignoradas" + +#: builtin/clean.c:877 +msgid "remove ignored files, too" +msgstr "tambΓ©m remover ficheiros ignorados" + +#: builtin/clean.c:879 +msgid "remove only ignored files" +msgstr "remover apenas ficheiros ignorados" + +#: builtin/clean.c:897 +msgid "-x and -X cannot be used together" +msgstr "-x e -X nΓ£o pode ser usados juntos" + +#: builtin/clean.c:901 +msgid "" +"clean.requireForce set to true and neither -i, -n, nor -f given; refusing to " +"clean" msgstr "" +"clean.requireForce definido como true e nenhum -i, -n, ou -f fornecido; " +"recusando-se a limpar" -#: builtin/clean.c:168 -#, c-format -msgid "Not removing %s\n" +#: builtin/clean.c:904 +msgid "" +"clean.requireForce defaults to true and neither -i, -n, nor -f given; " +"refusing to clean" msgstr "" +"clean.requireForce predefinido como true e nenhum -i, -n, ou -f fornecido; " +"recusando-se a limpar" + +#: builtin/clone.c:37 +msgid "git clone [<options>] [--] <repo> [<dir>]" +msgstr "git clone [<opΓ§Γ΅es>] [--] <repo> [<dir>]" + +#: builtin/clone.c:60 +msgid "don't create a checkout" +msgstr "nΓ£o realizar extraΓ§Γ£o" + +#: builtin/clone.c:61 builtin/clone.c:63 builtin/init-db.c:469 +msgid "create a bare repository" +msgstr "criar um repositΓ³rio nu" + +#: builtin/clone.c:65 +msgid "create a mirror repository (implies bare)" +msgstr "criar um repositΓ³rio espelhado (implica repositΓ³rio nu)" + +#: builtin/clone.c:67 +msgid "to clone from a local repository" +msgstr "para clonar de um repositΓ³rio local" + +#: builtin/clone.c:69 +msgid "don't use local hardlinks, always copy" +msgstr "nΓ£o usar ligaΓ§Γ΅es fixas, copiar sempre" + +#: builtin/clone.c:71 +msgid "setup as shared repository" +msgstr "configurar como repositΓ³rio partilhado" + +#: builtin/clone.c:73 builtin/clone.c:75 +msgid "initialize submodules in the clone" +msgstr "inicializar submΓ³dulos no clone" + +#: builtin/clone.c:76 builtin/init-db.c:466 +msgid "template-directory" +msgstr "diretΓ³rio-modelo" + +#: builtin/clone.c:77 builtin/init-db.c:467 +msgid "directory from which templates will be used" +msgstr "diretΓ³rio que contΓ©m os modelos usados" + +#: builtin/clone.c:79 builtin/submodule--helper.c:173 +msgid "reference repository" +msgstr "repositΓ³rio de referΓͺncia" + +#: builtin/clone.c:81 +msgid "use --reference only while cloning" +msgstr "usar --reference apenas para clonar" + +#: builtin/clone.c:82 builtin/column.c:26 builtin/merge-file.c:44 +msgid "name" +msgstr "nome" + +#: builtin/clone.c:83 +msgid "use <name> instead of 'origin' to track upstream" +msgstr "usar <nome> em vez de 'origin' para seguir o ramo a montante" + +#: builtin/clone.c:85 +msgid "checkout <branch> instead of the remote's HEAD" +msgstr "extrair <ramo> em vez da HEAD do remoto" + +#: builtin/clone.c:87 +msgid "path to git-upload-pack on the remote" +msgstr "caminho para git-upload-pack no remoto" + +#: builtin/clone.c:88 builtin/fetch.c:117 builtin/grep.c:665 +#: builtin/pull.c:193 +msgid "depth" +msgstr "profundidade" + +#: builtin/clone.c:89 +msgid "create a shallow clone of that depth" +msgstr "criar um clone raso com essa profundidade" + +#: builtin/clone.c:91 +msgid "clone only one branch, HEAD or --branch" +msgstr "clonar apenas um ramo, HEAD ou --branch" + +#: builtin/clone.c:92 builtin/init-db.c:475 +msgid "gitdir" +msgstr "gitdir" + +#: builtin/clone.c:93 builtin/init-db.c:476 +msgid "separate git dir from working tree" +msgstr "separar o repositΓ³rio git da Γ‘rvore de trabalho" + +#: builtin/clone.c:94 +msgid "key=value" +msgstr "chave=valor" + +#: builtin/clone.c:95 +msgid "set config inside the new repository" +msgstr "definir configuraΓ§Γ£o dentro do novo repositΓ³rio" + +#: builtin/clone.c:96 builtin/fetch.c:131 builtin/push.c:536 +msgid "use IPv4 addresses only" +msgstr "usar apenas endereΓ§os IPv4" -#: builtin/clone.c:243 +#: builtin/clone.c:98 builtin/fetch.c:133 builtin/push.c:538 +msgid "use IPv6 addresses only" +msgstr "usar apenas endereΓ§os IPv6" + +#: builtin/clone.c:239 +msgid "" +"No directory name could be guessed.\n" +"Please specify a directory on the command line" +msgstr "" +"NΓ£o foi possΓvel adivinhar o nome do diretΓ³rio.\n" +"Especifique um diretΓ³rio na linha de comandos" + +#: builtin/clone.c:305 #, c-format -msgid "reference repository '%s' is not a local directory." +msgid "reference repository '%s' as a linked checkout is not supported yet." msgstr "" +"ainda nΓ£o Γ© suportada a funcionalidade que permite ter o repositΓ³rio de " +"referΓͺncia '%s' como uma extraΓ§Γ£o ligada" -#: builtin/clone.c:302 +#: builtin/clone.c:307 #, c-format -msgid "failed to open '%s'" -msgstr "falhou a abrir '%s'" +msgid "reference repository '%s' is not a local repository." +msgstr "o repositΓ³rio de referΓͺncia '%s' nΓ£o Γ© um repositΓ³rio local." -#: builtin/clone.c:306 +#: builtin/clone.c:312 #, c-format -msgid "failed to create directory '%s'" -msgstr "falhou a criar o directΓ³rio '%s'" +msgid "reference repository '%s' is shallow" +msgstr "o repositΓ³rio de referΓͺncia '%s' Γ© raso" -#: builtin/clone.c:308 -#: builtin/diff.c:75 +#: builtin/clone.c:315 +#, c-format +msgid "reference repository '%s' is grafted" +msgstr "o repositΓ³rio de referΓͺncia '%s' estΓ‘ enxertado" + +#: builtin/clone.c:380 builtin/diff.c:84 #, c-format msgid "failed to stat '%s'" -msgstr "" +msgstr "falha ao invocar stat de '%s'" -#: builtin/clone.c:310 +#: builtin/clone.c:382 #, c-format msgid "%s exists and is not a directory" -msgstr "" +msgstr "%s existe e nΓ£o Γ© um diretΓ³rio" -#: builtin/clone.c:324 +#: builtin/clone.c:396 #, c-format msgid "failed to stat %s\n" -msgstr "" +msgstr "falha ao invocar stat de %s\n" -#: builtin/clone.c:341 -#, c-format -msgid "failed to unlink '%s'" -msgstr "" - -#: builtin/clone.c:346 +#: builtin/clone.c:418 #, c-format msgid "failed to create link '%s'" -msgstr "" +msgstr "falha ao criar a ligaΓ§Γ£o '%s'" -#: builtin/clone.c:350 +#: builtin/clone.c:422 #, c-format msgid "failed to copy file to '%s'" -msgstr "falhou a copiar o ficheiro para '%s'" +msgstr "falha ao copiar o ficheiro para '%s'" -#: builtin/clone.c:373 +#: builtin/clone.c:447 builtin/clone.c:631 #, c-format msgid "done.\n" -msgstr "terminado.\n" +msgstr "concluΓdo.\n" + +#: builtin/clone.c:459 +msgid "" +"Clone succeeded, but checkout failed.\n" +"You can inspect what was checked out with 'git status'\n" +"and retry the checkout with 'git checkout -f HEAD'\n" +msgstr "" +"Clonado com sucesso, mas a extraΓ§Γ£o falhou.\n" +"Pode inspecionar o que foi extraΓdo com 'git status'\n" +"e repetir a extraΓ§Γ£o com 'git checkout -f HEAD'\n" -#: builtin/clone.c:440 +#: builtin/clone.c:536 #, c-format msgid "Could not find remote branch %s to clone." -msgstr "" +msgstr "Ramo remoto %s nΓ£o encontrado para clonar." + +#: builtin/clone.c:626 +#, c-format +msgid "Checking connectivity... " +msgstr "A verificar a conectividade... " + +#: builtin/clone.c:629 +msgid "remote did not send all necessary objects" +msgstr "o remoto nΓ£o enviou todos os objetos necessΓ‘rios" + +#: builtin/clone.c:647 +#, c-format +msgid "unable to update %s" +msgstr "nΓ£o foi possΓvel atualizar %s" -#: builtin/clone.c:549 +#: builtin/clone.c:696 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "" +"a HEAD remota referencia uma referΓͺncia inexistente, nΓ£o Γ© possΓvel " +"extrair.\n" -#: builtin/clone.c:639 +#: builtin/clone.c:727 +msgid "unable to checkout working tree" +msgstr "nΓ£o foi possΓvel extrair a Γ‘rvore de trabalho" + +#: builtin/clone.c:753 +msgid "unable to write parameters to config file" +msgstr "nΓ£o foi possΓvel escrever os parΓ’metros no ficheiro de configuraΓ§Γ£o" + +#: builtin/clone.c:816 +msgid "cannot repack to clean up" +msgstr "nΓ£o Γ© possΓvel reempacotar para limpar" + +#: builtin/clone.c:818 +msgid "cannot unlink temporary alternates file" +msgstr "nΓ£o Γ© possΓvel invocar unlink sobre o ficheiro alternates temporΓ‘rio" + +#: builtin/clone.c:850 msgid "Too many arguments." -msgstr "Demasiados parametros." +msgstr "Demasiados argumentos." -#: builtin/clone.c:643 +#: builtin/clone.c:854 msgid "You must specify a repository to clone." -msgstr "" +msgstr "Deve especificar um repositΓ³rio para clonar." -#: builtin/clone.c:654 +#: builtin/clone.c:865 #, c-format msgid "--bare and --origin %s options are incompatible." -msgstr "" +msgstr "as opΓ§Γ΅es --bare e --origin %s sΓ£o incompatΓveis." + +#: builtin/clone.c:868 +msgid "--bare and --separate-git-dir are incompatible." +msgstr "--bare e --separate-git-dir sΓ£o incompatΓveis." -#: builtin/clone.c:668 +#: builtin/clone.c:881 #, c-format msgid "repository '%s' does not exist" -msgstr "" +msgstr "o repositΓ³rio '%s' nΓ£o existe" -#: builtin/clone.c:673 -msgid "--depth is ignored in local clones; use file:// instead." -msgstr "" +#: builtin/clone.c:887 builtin/fetch.c:1174 +#, c-format +msgid "depth %s is not a positive number" +msgstr "profundidade %s nΓ£o Γ© um nΓΊmero positivo" -#: builtin/clone.c:683 +#: builtin/clone.c:897 #, c-format msgid "destination path '%s' already exists and is not an empty directory." -msgstr "" +msgstr "o caminho de destino '%s' jΓ‘ existe e nΓ£o Γ© um diretΓ³rio vazio." -#: builtin/clone.c:693 +#: builtin/clone.c:907 #, c-format msgid "working tree '%s' already exists." -msgstr "" +msgstr "a Γ‘rvore de trabalho '%s' jΓ‘ existe." -#: builtin/clone.c:706 -#: builtin/clone.c:720 +#: builtin/clone.c:922 builtin/clone.c:933 builtin/submodule--helper.c:218 +#: builtin/worktree.c:219 builtin/worktree.c:246 #, c-format msgid "could not create leading directories of '%s'" -msgstr "" +msgstr "nΓ£o foi possΓvel criar os diretΓ³rios superiores de '%s'" -#: builtin/clone.c:709 +#: builtin/clone.c:925 #, c-format -msgid "could not create work tree dir '%s'." -msgstr "" +msgid "could not create work tree dir '%s'" +msgstr "nΓ£o foi possΓvel criar o diretΓ³rio de Γ‘rvore de trabalho '%s'" -#: builtin/clone.c:728 +#: builtin/clone.c:943 #, c-format msgid "Cloning into bare repository '%s'...\n" -msgstr "Clonando em um repositorio nu (bare) '%s'...\n" +msgstr "A clonar no repositΓ³rio nu '%s'...\n" -#: builtin/clone.c:730 +#: builtin/clone.c:945 #, c-format msgid "Cloning into '%s'...\n" -msgstr "Clonar em '%s'...\n" +msgstr "A clonar em '%s'...\n" + +#: builtin/clone.c:984 +msgid "--depth is ignored in local clones; use file:// instead." +msgstr "--depth Γ© ignorado em clones locais; use file:// ." + +#: builtin/clone.c:987 +msgid "source repository is shallow, ignoring --local" +msgstr "o repositΓ³rio de origem Γ© raso, --local ignorado" + +#: builtin/clone.c:992 +msgid "--local is ignored" +msgstr "--local ignorado" -#: builtin/clone.c:786 +#: builtin/clone.c:996 #, c-format msgid "Don't know how to clone %s" msgstr "NΓ£o sei como clonar %s" -#: builtin/clone.c:835 +#: builtin/clone.c:1045 builtin/clone.c:1053 #, c-format msgid "Remote branch %s not found in upstream %s" -msgstr "" +msgstr "O ramo remoto %s nΓ£o foi encontrado no repositΓ³rio a montante %s" -#: builtin/clone.c:842 +#: builtin/clone.c:1056 msgid "You appear to have cloned an empty repository." -msgstr "" +msgstr "Parece foi clonado um repositΓ³rio vazio." + +#: builtin/column.c:9 +msgid "git column [<options>]" +msgstr "git column [<opΓ§Γ΅es>]" + +#: builtin/column.c:26 +msgid "lookup config vars" +msgstr "pesquisar variΓ‘veis de configuraΓ§Γ£o" + +#: builtin/column.c:27 builtin/column.c:28 +msgid "layout to use" +msgstr "esquema a usar" + +#: builtin/column.c:29 +msgid "Maximum width" +msgstr "Largura mΓ‘xima" + +#: builtin/column.c:30 +msgid "Padding space on left border" +msgstr "EspaΓ§o de preenchimento na borda esquerda" + +#: builtin/column.c:31 +msgid "Padding space on right border" +msgstr "EspaΓ§o de preenchimento na borda direita" + +#: builtin/column.c:32 +msgid "Padding space between columns" +msgstr "EspaΓ§o de preenchimento entre colunas" #: builtin/column.c:51 msgid "--command must be the first argument" -msgstr "" +msgstr "--command deve ser o primeiro argumento" + +#: builtin/commit.c:38 +msgid "git commit [<options>] [--] <pathspec>..." +msgstr "git commit [<opΓ§Γ΅es>] [--] <especificador-de-caminho>..." #: builtin/commit.c:43 +msgid "git status [<options>] [--] <pathspec>..." +msgstr "git status [<opΓ§Γ΅es>] [--] <especificador-de-caminho>..." + +#: builtin/commit.c:48 +msgid "" +"Your name and email address were configured automatically based\n" +"on your username and hostname. Please check that they are accurate.\n" +"You can suppress this message by setting them explicitly. Run the\n" +"following command and follow the instructions in your editor to edit\n" +"your configuration file:\n" +"\n" +" git config --global --edit\n" +"\n" +"After doing this, you may fix the identity used for this commit with:\n" +"\n" +" git commit --amend --reset-author\n" +msgstr "" +"O seu nome e endereΓ§o de e-mail foram configurados automaticamente com base\n" +"no seu nome de utilizador e nome de mΓ‘quina. Verifique se estΓ£o corretos.\n" +"Pode suprimir esta mensagem configurando-os explicitamente. Execute\n" +"o seguinte comando e siga as instruΓ§Γ΅es no editor para editar\n" +"o ficheiro de configuraΓ§Γ£o:\n" +"\n" +" git config --global --edit\n" +"\n" +"ApΓ³s fazer isto, pode corrigir a identidade usada neste commit com:\n" +"\n" +" git commit --amend --reset-author\n" + +#: builtin/commit.c:61 msgid "" "Your name and email address were configured automatically based\n" "on your username and hostname. Please check that they are accurate.\n" @@ -1921,126 +5060,160 @@ msgid "" " git commit --amend --reset-author\n" msgstr "" "O seu nome e endereΓ§o de e-mail foram configurados automaticamente com base\n" -"no o seu usuario e nome da maquina. Por favor, verifique se eles sΓ£o precisos.\n" -"VocΓͺ pode suprimir esta mensagem, configurando-los explicitamente:\n" +"no seu nome de utilizador e nome de mΓ‘quina. Verifique se estΓ£o corretos.\n" +"Pode suprimir esta mensagem configurando-os explicitamente:\n" "\n" -" git config --global user.name \"O teu Nome\"\n" -" git config --global user.email tu@examplo.com\n" +" git config --global user.name \"O Seu Nome\"\n" +" git config --global user.email utilizador@exemplo.com\n" "\n" -"ApΓ³s fazer isso, vocΓͺ pode corregir a identidade usada em este commit com:\n" +"ApΓ³s fazer isto, pode corrigir a identidade usada neste commit com:\n" "\n" " git commit --amend --reset-author\n" -#: builtin/commit.c:55 +#: builtin/commit.c:73 msgid "" "You asked to amend the most recent commit, but doing so would make\n" "it empty. You can repeat your command with --allow-empty, or you can\n" "remove the commit entirely with \"git reset HEAD^\".\n" msgstr "" +"Pediu para emendar o commit mais recente, mas fazΓͺ-lo tornΓ‘-lo-ia\n" +"vazio. Pode repetir o comando com --allow-empty, ou pode remover o\n" +"commit completamente com \"git reset HEAD^\".\n" -#: builtin/commit.c:60 +#: builtin/commit.c:78 msgid "" "The previous cherry-pick is now empty, possibly due to conflict resolution.\n" "If you wish to commit it anyway, use:\n" "\n" " git commit --allow-empty\n" "\n" -"Otherwise, please use 'git reset'\n" msgstr "" +"O cherry-pick anterior estΓ‘ vazio, possivelmente devido a resoluΓ§Γ£o de " +"conflitos.\n" +"Se deseja fazer commit de qualquer forma, use:\n" +"\n" +" git commit --allow-empty\n" +"\n" -#: builtin/commit.c:309 -msgid "failed to unpack HEAD tree object" +#: builtin/commit.c:85 +msgid "Otherwise, please use 'git reset'\n" +msgstr "Caso contrΓ‘rio, use 'git reset'\n" + +#: builtin/commit.c:88 +msgid "" +"If you wish to skip this commit, use:\n" +"\n" +" git reset\n" +"\n" +"Then \"git cherry-pick --continue\" will resume cherry-picking\n" +"the remaining commits.\n" msgstr "" +"Se deseja ignorar este commit, use:\n" +"\n" +" git reset\n" +"\n" +"Depois \"git cherry-pick --continue\" irΓ‘ retomar o cherry-pick\n" +"dos restantes commits.\n" -#: builtin/commit.c:351 +#: builtin/commit.c:305 +msgid "failed to unpack HEAD tree object" +msgstr "falha ao descompactar o objeto Γ‘rvore HEAD" + +#: builtin/commit.c:346 msgid "unable to create temporary index" -msgstr "" +msgstr "nΓ£o foi possΓvel criar Γndice temporΓ‘rio" -#: builtin/commit.c:357 +#: builtin/commit.c:352 msgid "interactive add failed" -msgstr "falhou adicionar interativo" +msgstr "falha ao adicionar interativamente" + +#: builtin/commit.c:365 +msgid "unable to update temporary index" +msgstr "nΓ£o Γ© possΓvel atualizar o Γndice temporΓ‘rio" -#: builtin/commit.c:390 -#: builtin/commit.c:411 -#: builtin/commit.c:461 +#: builtin/commit.c:367 +msgid "Failed to update main cache tree" +msgstr "Falha ao atualizar a Γ‘rvore de cache principal" + +#: builtin/commit.c:391 builtin/commit.c:414 builtin/commit.c:463 msgid "unable to write new_index file" -msgstr "" +msgstr "nΓ£o Γ© possΓvel escrever o ficheiro new_index" -#: builtin/commit.c:442 +#: builtin/commit.c:445 msgid "cannot do a partial commit during a merge." -msgstr "" +msgstr "nΓ£o Γ© possΓvel fazer um commit parcial durante um merge." -#: builtin/commit.c:444 +#: builtin/commit.c:447 msgid "cannot do a partial commit during a cherry-pick." -msgstr "" +msgstr "nΓ£o Γ© possΓvel fazer um commit parcial durante um cherry-pick." -#: builtin/commit.c:454 +#: builtin/commit.c:456 msgid "cannot read the index" -msgstr "nΓ£o foi possΓvel ler o indΓce" +msgstr "nΓ£o Γ© possΓvel ler o Γndice" -#: builtin/commit.c:474 +#: builtin/commit.c:475 msgid "unable to write temporary index file" -msgstr "" +msgstr "nΓ£o Γ© possΓvel escrever ficheiro de Γndice temporΓ‘rio" + +#: builtin/commit.c:580 +#, c-format +msgid "commit '%s' lacks author header" +msgstr "o commit '%s' nΓ£o tem cabeΓ§alho de autor" -#: builtin/commit.c:549 -#: builtin/commit.c:555 +#: builtin/commit.c:582 #, c-format -msgid "invalid commit: %s" -msgstr "commit invΓ‘lido: %s" +msgid "commit '%s' has malformed author line" +msgstr "o commit '%s' tem a linha de autor malformada" -#: builtin/commit.c:578 +#: builtin/commit.c:601 msgid "malformed --author parameter" -msgstr "" +msgstr "parΓ’metro --author malformado" -#: builtin/commit.c:639 +#: builtin/commit.c:609 #, c-format -msgid "Malformed ident string: '%s'" +msgid "invalid date format: %s" +msgstr "formato de data invΓ‘lido: %s" + +#: builtin/commit.c:653 +msgid "" +"unable to select a comment character that is not used\n" +"in the current commit message" msgstr "" +"nΓ£o foi possΓvel selecionar um carΓ‘cter de comentΓ‘rio que\n" +"nΓ£o estivesse jΓ‘ a ser usado na mensagem de commit atual" -#: builtin/commit.c:677 -#: builtin/commit.c:710 -#: builtin/commit.c:1024 +#: builtin/commit.c:690 builtin/commit.c:723 builtin/commit.c:1080 #, c-format msgid "could not lookup commit %s" -msgstr "" +msgstr "nΓ£o foi possΓvel consultar o commit %s" -#: builtin/commit.c:689 -#: builtin/shortlog.c:296 +#: builtin/commit.c:702 builtin/shortlog.c:285 #, c-format msgid "(reading log message from standard input)\n" -msgstr "" +msgstr "(a ler mensagem de log da entrada padrΓ£o)\n" -#: builtin/commit.c:691 +#: builtin/commit.c:704 msgid "could not read log from standard input" -msgstr "" +msgstr "nΓ£o foi possΓvel ler o log da entrada padrΓ£o" -#: builtin/commit.c:695 +#: builtin/commit.c:708 #, c-format msgid "could not read log file '%s'" -msgstr "nΓ£o Γ© possivel ler o ficheiro de log '%s'" - -#: builtin/commit.c:701 -msgid "commit has empty message" -msgstr "a mensagem do commit estΓ‘ vazia" +msgstr "nΓ£o Γ© possΓvel ler o ficheiro de log '%s'" -#: builtin/commit.c:717 +#: builtin/commit.c:730 msgid "could not read MERGE_MSG" -msgstr "nΓ£o Γ© possivel ler MERGE_MSG" +msgstr "nΓ£o foi possΓvel ler MERGE_MSG" -#: builtin/commit.c:721 +#: builtin/commit.c:734 msgid "could not read SQUASH_MSG" -msgstr "nΓ£o Γ© possivel ler SQUASH_MSG" +msgstr "nΓ£o foi possΓvel ler SQUASH_MSG" -#: builtin/commit.c:725 -#, c-format -msgid "could not read '%s'" -msgstr "nΓ£o Γ© possivel ler '%s'" - -#: builtin/commit.c:777 +#: builtin/commit.c:785 msgid "could not write commit template" -msgstr "" +msgstr "nΓ£o foi possΓvel escrever o modelo de commit" -#: builtin/commit.c:788 +#: builtin/commit.c:803 #, c-format msgid "" "\n" @@ -2049,8 +5222,13 @@ msgid "" "\t%s\n" "and try again.\n" msgstr "" +"\n" +"Parece que estΓ‘ a fazer commit de um merge.\n" +"Se nΓ£o for o caso, remova o ficheiro\n" +"\t%s\n" +"e tente de novo.\n" -#: builtin/commit.c:793 +#: builtin/commit.c:808 #, c-format msgid "" "\n" @@ -2059,1616 +5237,3904 @@ msgid "" "\t%s\n" "and try again.\n" msgstr "" +"\n" +"Parece que estΓ‘ a fazer commit de um cherry-pick.\n" +"Se nΓ£o Γ© o caso, remova o ficheiro\n" +" %s\n" +"e tente outra vez.\n" -#: builtin/commit.c:805 +#: builtin/commit.c:821 +#, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" -"with '#' will be ignored, and an empty message aborts the commit.\n" +"with '%c' will be ignored, and an empty message aborts the commit.\n" msgstr "" +"Introduza a mensagem de commit das suas alteraΓ§Γ΅es.\n" +"Linhas comeΓ§adas com '%c' serΓ£o ignoradas, e uma mensagem vazia\n" +"aborta o commit.\n" -#: builtin/commit.c:810 +#: builtin/commit.c:828 +#, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" -"with '#' will be kept; you may remove them yourself if you want to.\n" +"with '%c' will be kept; you may remove them yourself if you want to.\n" "An empty message aborts the commit.\n" msgstr "" +"Introduzia a mensagem de commit das suas alteraΓ§Γ΅es.\n" +"Linhas comeΓ§adas com '%c' serΓ£o mantidas; pode removΓͺ-las se o desejar.\n" +"Uma mensagem vazia aborta o commit.\n" + +#: builtin/commit.c:848 +#, c-format +msgid "%sAuthor: %.*s <%.*s>" +msgstr "%sAutor: %.*s <%.*s>" -#: builtin/commit.c:823 +#: builtin/commit.c:856 #, c-format -msgid "%sAuthor: %s" -msgstr "%sAutor: %s" +msgid "%sDate: %s" +msgstr "%sData: %s" -#: builtin/commit.c:830 +#: builtin/commit.c:863 #, c-format -msgid "%sCommitter: %s" -msgstr "%sCommitador: %s" +msgid "%sCommitter: %.*s <%.*s>" +msgstr "%sCommitter: %.*s <%.*s>" -#: builtin/commit.c:850 +#: builtin/commit.c:881 msgid "Cannot read index" -msgstr "" +msgstr "NΓ£o Γ© possΓvel ler o Γndice" -#: builtin/commit.c:887 +#: builtin/commit.c:938 msgid "Error building trees" -msgstr "" +msgstr "Erro ao construir Γ‘rvores" -#: builtin/commit.c:902 -#: builtin/tag.c:361 +#: builtin/commit.c:953 builtin/tag.c:266 #, c-format msgid "Please supply the message using either -m or -F option.\n" -msgstr "" +msgstr "Indique a mensagem usando as opΓ§Γ΅es -m ou -F.\n" -#: builtin/commit.c:999 +#: builtin/commit.c:1055 #, c-format -msgid "No existing author found with '%s'" +msgid "--author '%s' is not 'Name <email>' and matches no existing author" msgstr "" +"--author '%s' nΓ£o Γ© do tipo 'Nome <email>' e nΓ£o corresponde a um autor " +"existente" -#: builtin/commit.c:1014 -#: builtin/commit.c:1214 +#: builtin/commit.c:1070 builtin/commit.c:1310 #, c-format msgid "Invalid untracked files mode '%s'" -msgstr "" +msgstr "Modo invΓ‘lido de ficheiros nΓ£o controlados '%s'" -#: builtin/commit.c:1054 +#: builtin/commit.c:1107 +msgid "--long and -z are incompatible" +msgstr "--long e -z sΓ£o incompatΓveis" + +#: builtin/commit.c:1137 msgid "Using both --reset-author and --author does not make sense" -msgstr "" +msgstr "NΓ£o faz sentido usar --reset-author e --author ao mesmo tempo" -#: builtin/commit.c:1065 +#: builtin/commit.c:1146 msgid "You have nothing to amend." -msgstr "VocΓͺ nΓ£o tem nada a corregir." +msgstr "NΓ£o hΓ‘ nada para emendar." -#: builtin/commit.c:1068 +#: builtin/commit.c:1149 msgid "You are in the middle of a merge -- cannot amend." -msgstr "" +msgstr "Merge em curso -- nΓ£o Γ© possΓvel emendar." -#: builtin/commit.c:1070 +#: builtin/commit.c:1151 msgid "You are in the middle of a cherry-pick -- cannot amend." -msgstr "" +msgstr "Cherry-pick em curso -- nΓ£o Γ© possΓvel emendar." -#: builtin/commit.c:1073 +#: builtin/commit.c:1154 msgid "Options --squash and --fixup cannot be used together" -msgstr "" +msgstr "As opΓ§Γ΅es --squash e --fixup nΓ£o podem ser usadas juntas" -#: builtin/commit.c:1083 +#: builtin/commit.c:1164 msgid "Only one of -c/-C/-F/--fixup can be used." -msgstr "" +msgstr "Apenas um entre -c/-C/-F/--fixup pode ser usado." -#: builtin/commit.c:1085 +#: builtin/commit.c:1166 msgid "Option -m cannot be combined with -c/-C/-F/--fixup." -msgstr "" +msgstr "A opΓ§Γ£o -m nΓ£o pode ser combinada com -c/C/-F/--fixup." -#: builtin/commit.c:1093 +#: builtin/commit.c:1174 msgid "--reset-author can be used only with -C, -c or --amend." -msgstr "" +msgstr "--reset-author sΓ³ pode ser usado com -C, -c ou --amend." -#: builtin/commit.c:1110 +#: builtin/commit.c:1191 msgid "Only one of --include/--only/--all/--interactive/--patch can be used." msgstr "" +"Apenas um entre --include/--only/--all/--interactive/--patch pode ser usado." -#: builtin/commit.c:1112 +#: builtin/commit.c:1193 msgid "No paths with --include/--only does not make sense." -msgstr "" +msgstr "As opΓ§Γ΅es --include/--only nΓ£o fazem sentido sem indicar caminhos." -#: builtin/commit.c:1114 +#: builtin/commit.c:1195 msgid "Clever... amending the last one with dirty index." -msgstr "" +msgstr "Inteligente... a emendar o ΓΊltimo commit com o Γndice sujo." -#: builtin/commit.c:1116 -msgid "Explicit paths specified without -i nor -o; assuming --only paths..." -msgstr "" +#: builtin/commit.c:1197 +msgid "Explicit paths specified without -i or -o; assuming --only paths..." +msgstr "Caminhos explΓcitos especificados sem -i ou -o; assumindo --only..." -#: builtin/commit.c:1126 -#: builtin/tag.c:577 +#: builtin/commit.c:1209 builtin/tag.c:475 #, c-format msgid "Invalid cleanup mode %s" -msgstr "" +msgstr "Modo de limpeza invΓ‘lido %s" -#: builtin/commit.c:1131 +#: builtin/commit.c:1214 msgid "Paths with -a does not make sense." +msgstr "A especificaΓ§Γ£o de caminhos com -a nΓ£o faz sentido." + +#: builtin/commit.c:1324 builtin/commit.c:1605 +msgid "show status concisely" +msgstr "mostrar status de forma concisa" + +#: builtin/commit.c:1326 builtin/commit.c:1607 +msgid "show branch information" +msgstr "mostrar informaΓ§Γ£o do ramo" + +#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:512 +#: builtin/worktree.c:430 +msgid "machine-readable output" +msgstr "saΓda inteligΓvel por mΓ‘quina" + +#: builtin/commit.c:1331 builtin/commit.c:1611 +msgid "show status in long format (default)" +msgstr "apresentar status em formato longo (predefiniΓ§Γ£o)" + +#: builtin/commit.c:1334 builtin/commit.c:1614 +msgid "terminate entries with NUL" +msgstr "terminar entradas com NUL" + +#: builtin/commit.c:1336 builtin/commit.c:1617 builtin/fast-export.c:981 +#: builtin/fast-export.c:984 builtin/tag.c:353 +msgid "mode" +msgstr "modo" + +#: builtin/commit.c:1337 builtin/commit.c:1617 +msgid "show untracked files, optional modes: all, normal, no. (Default: all)" msgstr "" +"mostrar ficheiros nΓ£o controlados, modo Γ© opcional: all, normal, no. " +"(PredefiniΓ§Γ£o: all)" -#: builtin/commit.c:1315 -msgid "couldn't look up newly created commit" +#: builtin/commit.c:1340 +msgid "show ignored files" +msgstr "mostrar ficheiros ignorados" + +#: builtin/commit.c:1341 parse-options.h:155 +msgid "when" +msgstr "quando" + +#: builtin/commit.c:1342 +msgid "" +"ignore changes to submodules, optional when: all, dirty, untracked. " +"(Default: all)" msgstr "" +"ignorar alteraΓ§Γ΅es em submΓ³dulos, quando Γ© opcional: all, dirty, untracked. " +"(PredefiniΓ§Γ£o: all)" + +#: builtin/commit.c:1344 +msgid "list untracked files in columns" +msgstr "listar ficheiros nΓ£o controlados em colunas" -#: builtin/commit.c:1317 +#: builtin/commit.c:1430 +msgid "couldn't look up newly created commit" +msgstr "nΓ£o foi possΓvel consultar o commit recΓ©m-criado" + +#: builtin/commit.c:1432 msgid "could not parse newly created commit" -msgstr "" +msgstr "nΓ£o foi possΓvel analisar o commit recΓ©m-criado" -#: builtin/commit.c:1358 +#: builtin/commit.c:1477 msgid "detached HEAD" -msgstr "" +msgstr "HEAD destacada" -#: builtin/commit.c:1360 +#: builtin/commit.c:1480 msgid " (root-commit)" -msgstr " (root-commit)" +msgstr " (commit-raiz)" -#: builtin/commit.c:1450 -msgid "could not parse HEAD commit" +#: builtin/commit.c:1575 +msgid "suppress summary after successful commit" +msgstr "suprimir o resumo depois de fazer commit com sucesso" + +#: builtin/commit.c:1576 +msgid "show diff in commit message template" +msgstr "mostrar diff no modelo da mensagem de commit" + +#: builtin/commit.c:1578 +msgid "Commit message options" +msgstr "OpΓ§Γ΅es de mensagem de commit" + +#: builtin/commit.c:1579 builtin/tag.c:351 +msgid "read message from file" +msgstr "ler mensagem de um ficheiro" + +#: builtin/commit.c:1580 +msgid "author" +msgstr "autor" + +#: builtin/commit.c:1580 +msgid "override author for commit" +msgstr "substituir autor do commit" + +#: builtin/commit.c:1581 builtin/gc.c:326 +msgid "date" +msgstr "data" + +#: builtin/commit.c:1581 +msgid "override date for commit" +msgstr "substituir data do commit" + +#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:395 +#: builtin/notes.c:558 builtin/tag.c:349 +msgid "message" +msgstr "mensagem" + +#: builtin/commit.c:1582 +msgid "commit message" +msgstr "mensagem de commit" + +#: builtin/commit.c:1583 builtin/commit.c:1584 builtin/commit.c:1585 +#: builtin/commit.c:1586 parse-options.h:256 ref-filter.h:79 +msgid "commit" +msgstr "commit" + +#: builtin/commit.c:1583 +msgid "reuse and edit message from specified commit" +msgstr "reutilizar e editar a mensagem de um commit especificado" + +#: builtin/commit.c:1584 +msgid "reuse message from specified commit" +msgstr "reutilizar a mensagem de um commit especificado" + +#: builtin/commit.c:1585 +msgid "use autosquash formatted message to fixup specified commit" msgstr "" +"usar mensagem com formato autosquash para corrigir o commit especificado" -#: builtin/commit.c:1487 -#: builtin/merge.c:509 -#, c-format -msgid "could not open '%s' for reading" +#: builtin/commit.c:1586 +msgid "use autosquash formatted message to squash specified commit" msgstr "" +"usar mensagem com formato autosquash para esmagar o commit especificado" + +#: builtin/commit.c:1587 +msgid "the commit is authored by me now (used with -C/-c/--amend)" +msgstr "agora sou eu o autor do commit (usado com C/-c/--amend)" + +#: builtin/commit.c:1588 builtin/log.c:1219 builtin/revert.c:86 +msgid "add Signed-off-by:" +msgstr "adicionar Signed-off-by:" + +#: builtin/commit.c:1589 +msgid "use specified template file" +msgstr "usar ficheiro de modelo especificado" + +#: builtin/commit.c:1590 +msgid "force edit of commit" +msgstr "forΓ§ar ediΓ§Γ£o do commit" + +#: builtin/commit.c:1591 +msgid "default" +msgstr "predefiniΓ§Γ£o" + +#: builtin/commit.c:1591 builtin/tag.c:354 +msgid "how to strip spaces and #comments from message" +msgstr "como retirar espaΓ§os e #comentΓ‘rios da mensagem" + +#: builtin/commit.c:1592 +msgid "include status in commit message template" +msgstr "incluir status no modelo da mensagem de commit" + +#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:160 +#: builtin/revert.c:93 +msgid "GPG sign commit" +msgstr "assinar o commit com GPG" + +#: builtin/commit.c:1597 +msgid "Commit contents options" +msgstr "OpΓ§Γ΅es de conteΓΊdo do commit" + +#: builtin/commit.c:1598 +msgid "commit all changed files" +msgstr "fazer commit de todos os ficheiros alterados" + +#: builtin/commit.c:1599 +msgid "add specified files to index for commit" +msgstr "adicionar ficheiros especificados ao Γndice para incluir no commit" + +#: builtin/commit.c:1600 +msgid "interactively add files" +msgstr "adicionar ficheiros interativamente" -#: builtin/commit.c:1494 +#: builtin/commit.c:1601 +msgid "interactively add changes" +msgstr "adicionar alteraΓ§Γ΅es interativamente" + +#: builtin/commit.c:1602 +msgid "commit only specified files" +msgstr "fazer commit somente dos ficheiros especificados" + +#: builtin/commit.c:1603 +msgid "bypass pre-commit hook" +msgstr "ignorar pre-commit hook" + +#: builtin/commit.c:1604 +msgid "show what would be committed" +msgstr "mostrar o que serΓ‘ incluΓdo no commit" + +#: builtin/commit.c:1615 +msgid "amend previous commit" +msgstr "emendar o commit anterior" + +#: builtin/commit.c:1616 +msgid "bypass post-rewrite hook" +msgstr "ignorar post-rewrite hook" + +#: builtin/commit.c:1621 +msgid "ok to record an empty change" +msgstr "aceitar o registo duma alteraΓ§Γ£o vazia" + +#: builtin/commit.c:1623 +msgid "ok to record a change with an empty message" +msgstr "aceitar o registo duma alteraΓ§Γ£o com uma mensagem vazia" + +#: builtin/commit.c:1652 +msgid "could not parse HEAD commit" +msgstr "nΓ£o foi possΓvel analisar o commit HEAD" + +#: builtin/commit.c:1698 #, c-format msgid "Corrupt MERGE_HEAD file (%s)" -msgstr "" +msgstr "Ficheiro MERGE_HEAD corrompido (%s)" -#: builtin/commit.c:1501 +#: builtin/commit.c:1705 msgid "could not read MERGE_MODE" -msgstr "" +msgstr "nΓ£o foi possΓvel ler MERGE_MODE" -#: builtin/commit.c:1520 +#: builtin/commit.c:1724 #, c-format msgid "could not read commit message: %s" -msgstr "" +msgstr "nΓ£o foi possΓvel ler a mensagem de commit: %s" -#: builtin/commit.c:1534 +#: builtin/commit.c:1735 #, c-format msgid "Aborting commit; you did not edit the message.\n" -msgstr "" +msgstr "A abortar o commit; nΓ£o editou a mensagem.\n" -#: builtin/commit.c:1539 +#: builtin/commit.c:1740 #, c-format msgid "Aborting commit due to empty commit message.\n" -msgstr "" +msgstr "A abortar o commit uma vez que a mensagem de commit estΓ‘ vazia.\n" -#: builtin/commit.c:1554 -#: builtin/merge.c:936 -#: builtin/merge.c:961 -msgid "failed to write commit object" +#: builtin/commit.c:1788 +msgid "" +"Repository has been updated, but unable to write\n" +"new_index file. Check that disk is not full and quota is\n" +"not exceeded, and then \"git reset HEAD\" to recover." msgstr "" +"O repositΓ³rio foi atualizado, mas nΓ£o foi possΓvel escrever\n" +"o ficheiro new_index. Verifique se o disco nΓ£o estΓ‘ cheio\n" +"e que a quota nΓ£o foi excedida e execute \"git reset HEAD\" para recuperar." -#: builtin/commit.c:1575 -msgid "cannot lock HEAD ref" +#: builtin/config.c:9 +msgid "git config [<options>]" +msgstr "git config [<opΓ§Γ΅es>]" + +#: builtin/config.c:56 +msgid "Config file location" +msgstr "LocalizaΓ§Γ£o do ficheiro de configuraΓ§Γ£o" + +#: builtin/config.c:57 +msgid "use global config file" +msgstr "usar ficheiro de configuraΓ§Γ£o global" + +#: builtin/config.c:58 +msgid "use system config file" +msgstr "usar ficheiro de configuraΓ§Γ£o do sistema" + +#: builtin/config.c:59 +msgid "use repository config file" +msgstr "usar ficheiro de configuraΓ§Γ£o do repositΓ³rio" + +#: builtin/config.c:60 +msgid "use given config file" +msgstr "usar ficheiro de configuraΓ§Γ£o fornecido" + +#: builtin/config.c:61 +msgid "blob-id" +msgstr "id-blob" + +#: builtin/config.c:61 +msgid "read config from given blob object" +msgstr "ler configuraΓ§Γ£o a partir do objeto blob fornecido" + +#: builtin/config.c:62 +msgid "Action" +msgstr "AΓ§Γ£o" + +#: builtin/config.c:63 +msgid "get value: name [value-regex]" +msgstr "obter valor: nome [regex-do-valor]" + +#: builtin/config.c:64 +msgid "get all values: key [value-regex]" +msgstr "obter todos os valores: chave [regex-do-valor]" + +#: builtin/config.c:65 +msgid "get values for regexp: name-regex [value-regex]" +msgstr "obter valores para a regexp: regex-do-nome [regex-do-valor]" + +#: builtin/config.c:66 +msgid "get value specific for the URL: section[.var] URL" +msgstr "obter valor do URL especificado: section[.var] URL" + +#: builtin/config.c:67 +msgid "replace all matching variables: name value [value_regex]" msgstr "" +"substituir todos as variΓ‘veis correspondentes: nome valor [regex-do-valor]" + +#: builtin/config.c:68 +msgid "add a new variable: name value" +msgstr "adicionar uma nova variΓ‘vel: nome valor" + +#: builtin/config.c:69 +msgid "remove a variable: name [value-regex]" +msgstr "remover uma variΓ‘vel: nome [regex-do-valor]" + +#: builtin/config.c:70 +msgid "remove all matches: name [value-regex]" +msgstr "remover todas as correspondΓͺncias: nome [regex-do-valor]" + +#: builtin/config.c:71 +msgid "rename section: old-name new-name" +msgstr "mudar o nome da secΓ§Γ£o: nome-antigo novo-nome" + +#: builtin/config.c:72 +msgid "remove a section: name" +msgstr "remover uma secΓ§Γ£o: nome" + +#: builtin/config.c:73 +msgid "list all" +msgstr "listar todos" + +#: builtin/config.c:74 +msgid "open an editor" +msgstr "abrir um editor" + +#: builtin/config.c:75 +msgid "find the color configured: slot [default]" +msgstr "encontrar a cor configurada: slot [predefiniΓ§Γ£o]" + +#: builtin/config.c:76 +msgid "find the color setting: slot [stdout-is-tty]" +msgstr "encontrar a definiΓ§Γ£o de cor: slot [stdout-Γ©-tty]" + +#: builtin/config.c:77 +msgid "Type" +msgstr "Tipo" + +#: builtin/config.c:78 +msgid "value is \"true\" or \"false\"" +msgstr "o valor Γ© \"true\" (verdadeiro) ou \"falso\" (falso)" + +#: builtin/config.c:79 +msgid "value is decimal number" +msgstr "o valor Γ© um nΓΊmero decimal" + +#: builtin/config.c:80 +msgid "value is --bool or --int" +msgstr "o valor Γ© --bool ou --int" + +#: builtin/config.c:81 +msgid "value is a path (file or directory name)" +msgstr "o valor Γ© um caminho (nome dum ficheiro ou diretΓ³rio)" + +#: builtin/config.c:82 +msgid "Other" +msgstr "Outro" + +#: builtin/config.c:83 +msgid "terminate values with NUL byte" +msgstr "terminar valores com o byte NUL" -#: builtin/commit.c:1579 -msgid "cannot update HEAD ref" +#: builtin/config.c:84 +msgid "show variable names only" +msgstr "mostrar apenas os nomes das variΓ‘veis" + +#: builtin/config.c:85 +msgid "respect include directives on lookup" +msgstr "respeitar diretivas de inclusΓ£o ao pesquisar" + +#: builtin/config.c:86 +msgid "show origin of config (file, standard input, blob, command line)" msgstr "" +"mostrar a origem da configuraΓ§Γ£o (ficheiro, entrada padrΓ£o, blob, linha de " +"comandos)" -#: builtin/commit.c:1590 +#: builtin/config.c:328 +msgid "unable to parse default color value" +msgstr "nΓ£o Γ© possΓvel analisar o valor de cor por omissΓ£o" + +#: builtin/config.c:469 +#, c-format msgid "" -"Repository has been updated, but unable to write\n" -"new_index file. Check that disk is not full or quota is\n" -"not exceeded, and then \"git reset HEAD\" to recover." +"# This is Git's per-user configuration file.\n" +"[user]\n" +"# Please adapt and uncomment the following lines:\n" +"#\tname = %s\n" +"#\temail = %s\n" msgstr "" +"# Este Γ© o ficheiro de configuraΓ§Γ£o do Git do utilizador.\n" +"[user]\n" +"# Adapte e retire os comentΓ‘rios das seguintes linhas:\n" +"#\tname = %s\n" +"#\temail = %s\n" + +#: builtin/config.c:611 +#, c-format +msgid "cannot create configuration file %s" +msgstr "nΓ£o Γ© possΓvel criar o ficheiro de configuraΓ§Γ£o %s" + +#: builtin/count-objects.c:77 +msgid "git count-objects [-v] [-H | --human-readable]" +msgstr "git count-objects [-v] [-H | --human-readable]" + +#: builtin/count-objects.c:87 +msgid "print sizes in human readable format" +msgstr "imprimir dimensΓ΅es em formato inteligΓvel por humanos" + +#: builtin/describe.c:17 +msgid "git describe [<options>] [<commit-ish>...]" +msgstr "git describe [<opΓ§Γ΅es>] [<commit-ish>...]" + +#: builtin/describe.c:18 +msgid "git describe [<options>] --dirty" +msgstr "git describe [<opΓ§Γ΅es>] --dirty" -#: builtin/describe.c:234 +#: builtin/describe.c:217 #, c-format msgid "annotated tag %s not available" -msgstr "" +msgstr "a tag anotada %s nΓ£o estΓ‘ disponΓvel" -#: builtin/describe.c:238 +#: builtin/describe.c:221 #, c-format msgid "annotated tag %s has no embedded name" -msgstr "" +msgstr "a tag anotada %s nΓ£o tem nenhum nome incorporado" -#: builtin/describe.c:240 +#: builtin/describe.c:223 #, c-format msgid "tag '%s' is really '%s' here" -msgstr "" +msgstr "a tag '%s' estΓ‘ de facto em '%s'" -#: builtin/describe.c:267 +#: builtin/describe.c:250 builtin/log.c:459 #, c-format msgid "Not a valid object name %s" -msgstr "" +msgstr "%s nΓ£o Γ© um nome de objeto vΓ‘lido" -#: builtin/describe.c:270 +#: builtin/describe.c:253 #, c-format msgid "%s is not a valid '%s' object" -msgstr "" +msgstr "%s nΓ£o Γ© um objeto '%s' vΓ‘lido" -#: builtin/describe.c:287 +#: builtin/describe.c:270 #, c-format msgid "no tag exactly matches '%s'" -msgstr "" +msgstr "nenhuma tag corresponde exatamente a '%s'" -#: builtin/describe.c:289 +#: builtin/describe.c:272 #, c-format msgid "searching to describe %s\n" -msgstr "" +msgstr "Γ procurar da descriΓ§Γ£o de %s\n" -#: builtin/describe.c:329 +#: builtin/describe.c:319 #, c-format msgid "finished search at %s\n" -msgstr "" +msgstr "a pesquisa terminou em %s\n" -#: builtin/describe.c:353 +#: builtin/describe.c:346 #, c-format msgid "" "No annotated tags can describe '%s'.\n" "However, there were unannotated tags: try --tags." msgstr "" +"NΓ£o Γ© possΓvel usar tags anotadas para descrever '%s'.\n" +"No entanto, Γ© possΓvel com tags nΓ£o anotadas: tente --tags." -#: builtin/describe.c:357 +#: builtin/describe.c:350 #, c-format msgid "" "No tags can describe '%s'.\n" "Try --always, or create some tags." msgstr "" +"NΓ£o Γ© possΓvel usar tags para descrever '%s'.\n" +"Tente --always, ou crie algumas tags." -#: builtin/describe.c:378 +#: builtin/describe.c:371 #, c-format msgid "traversed %lu commits\n" -msgstr "" +msgstr "%lu commits percorridos\n" -#: builtin/describe.c:381 +#: builtin/describe.c:374 #, c-format msgid "" "more than %i tags found; listed %i most recent\n" "gave up search at %s\n" msgstr "" +"mais de %i tags encontradas; foram listadas as %i mais recentes\n" +"pesquisa interrompida em %s\n" -#: builtin/describe.c:436 -msgid "--long is incompatible with --abbrev=0" +#: builtin/describe.c:396 +msgid "find the tag that comes after the commit" +msgstr "localizar a tag que vem apΓ³s o commit" + +#: builtin/describe.c:397 +msgid "debug search strategy on stderr" +msgstr "depurar a estratΓ©gia de procura para stderr" + +#: builtin/describe.c:398 +msgid "use any ref" +msgstr "usar uma referΓͺncia qualquer" + +#: builtin/describe.c:399 +msgid "use any tag, even unannotated" +msgstr "usar uma tag qualquer, mesmo nΓ£o anotada" + +#: builtin/describe.c:400 +msgid "always use long format" +msgstr "usar sempre formato longo" + +#: builtin/describe.c:401 +msgid "only follow first parent" +msgstr "seguir sΓ³ o primeiro pai" + +#: builtin/describe.c:404 +msgid "only output exact matches" +msgstr "imprimir apenas correspondΓͺncias exatas" + +#: builtin/describe.c:406 +msgid "consider <n> most recent tags (default: 10)" +msgstr "considerar as <n> tags mais recentes (predefiniΓ§Γ£o: 10)" + +#: builtin/describe.c:408 +msgid "only consider tags matching <pattern>" +msgstr "apenas considerar tags que correspondam ao <padrΓ£o>" + +#: builtin/describe.c:410 builtin/name-rev.c:314 +msgid "show abbreviated commit object as fallback" +msgstr "mostrar objetos de commit abreviados em recurso" + +#: builtin/describe.c:411 +msgid "mark" +msgstr "marca" + +#: builtin/describe.c:412 +msgid "append <mark> on dirty working tree (default: \"-dirty\")" msgstr "" +"acrescentar <marca> se a Γ‘rvore de trabalho contiver alteraΓ§Γ΅es " +"(predefiniΓ§Γ£o: \"-dirty\")" + +#: builtin/describe.c:430 +msgid "--long is incompatible with --abbrev=0" +msgstr "--long Γ© incompatΓvel com --abbrev=0" -#: builtin/describe.c:462 +#: builtin/describe.c:456 msgid "No names found, cannot describe anything." -msgstr "Nenhum nome encontrado, nΓ£o descreve nada." +msgstr "Nenhum nome encontrado, nΓ£o Γ© possΓvel descrever." -#: builtin/describe.c:482 +#: builtin/describe.c:476 msgid "--dirty is incompatible with commit-ishes" -msgstr "" +msgstr "--dirty Γ© incompatΓvel com commits ou semelhantes" -#: builtin/diff.c:77 +#: builtin/diff.c:86 #, c-format msgid "'%s': not a regular file or symlink" -msgstr "" +msgstr "'%s': nΓ£o Γ© um ficheiro regular nem uma ligaΓ§Γ£o simbΓ³lica" -#: builtin/diff.c:220 +#: builtin/diff.c:237 #, c-format msgid "invalid option: %s" -msgstr "" +msgstr "opΓ§Γ£o invΓ‘lida: %s" -#: builtin/diff.c:297 +#: builtin/diff.c:358 msgid "Not a git repository" -msgstr "NΓ£o Γ© um repositorio git" +msgstr "NΓ£o Γ© um repositΓ³rio git" -#: builtin/diff.c:347 +#: builtin/diff.c:401 #, c-format msgid "invalid object '%s' given." -msgstr "" - -#: builtin/diff.c:352 -#, c-format -msgid "more than %d trees given: '%s'" -msgstr "" +msgstr "objeto invΓ‘lido '%s' fornecido." -#: builtin/diff.c:362 +#: builtin/diff.c:410 #, c-format msgid "more than two blobs given: '%s'" -msgstr "" +msgstr "mais do que dois blobs fornecidos: '%s'" -#: builtin/diff.c:370 +#: builtin/diff.c:417 #, c-format msgid "unhandled object '%s' given." +msgstr "objeto sem tratamento '%s' fornecido." + +#: builtin/fast-export.c:25 +msgid "git fast-export [rev-list-opts]" +msgstr "git fast-export [opΓ§Γ΅es-de-rev-list]" + +#: builtin/fast-export.c:980 +msgid "show progress after <n> objects" +msgstr "mostrar progresso depois de <n> objetos" + +#: builtin/fast-export.c:982 +msgid "select handling of signed tags" +msgstr "selecionar o tratamento de tags assinadas" + +#: builtin/fast-export.c:985 +msgid "select handling of tags that tag filtered objects" +msgstr "selecionar o tratamento de tags que apontem para objetos filtrados" + +#: builtin/fast-export.c:988 +msgid "Dump marks to this file" +msgstr "Capturar marcas neste ficheiro" + +#: builtin/fast-export.c:990 +msgid "Import marks from this file" +msgstr "Importar marcas deste ficheiro" + +#: builtin/fast-export.c:992 +msgid "Fake a tagger when tags lack one" +msgstr "Inventar um autor de tag para tags que nΓ£o tenham um" + +#: builtin/fast-export.c:994 +msgid "Output full tree for each commit" +msgstr "Mostrar a Γ‘rvore completa para cada commit" + +#: builtin/fast-export.c:996 +msgid "Use the done feature to terminate the stream" +msgstr "Usar a funcionalidade done para terminar o fluxo" + +#: builtin/fast-export.c:997 +msgid "Skip output of blob data" +msgstr "Ignorar a exibiΓ§Γ£o de dados de blob" + +#: builtin/fast-export.c:998 +msgid "refspec" +msgstr "especificador de referΓͺncia" + +#: builtin/fast-export.c:999 +msgid "Apply refspec to exported refs" +msgstr "Aplicar o especificador de referΓͺncia a referΓͺncias exportadas" + +#: builtin/fast-export.c:1000 +msgid "anonymize output" +msgstr "anonimizar saΓda" + +#: builtin/fetch.c:20 +msgid "git fetch [<options>] [<repository> [<refspec>...]]" msgstr "" +"git fetch [<opΓ§Γ΅es>] [<repositΓ³rio> [<especificador-de-referΓͺncia>...]]" + +#: builtin/fetch.c:21 +msgid "git fetch [<options>] <group>" +msgstr "git fetch [<opΓ§Γ΅es>] <grupo>" + +#: builtin/fetch.c:22 +msgid "git fetch --multiple [<options>] [(<repository> | <group>)...]" +msgstr "git fetch --multiple [<opΓ§Γ΅es>] [(<repositΓ³rio> | <grupo>)...]" + +#: builtin/fetch.c:23 +msgid "git fetch --all [<options>]" +msgstr "git fetch --all [<opΓ§Γ΅es>]" + +#: builtin/fetch.c:92 builtin/pull.c:166 +msgid "fetch from all remotes" +msgstr "obter de todos os remotos" + +#: builtin/fetch.c:94 builtin/pull.c:169 +msgid "append to .git/FETCH_HEAD instead of overwriting" +msgstr "acrescentar a .git/FETCH_HEAD em vez de substituir" + +#: builtin/fetch.c:96 builtin/pull.c:172 +msgid "path to upload pack on remote end" +msgstr "caminho para o comando upload pack no remoto" + +#: builtin/fetch.c:97 builtin/pull.c:174 +msgid "force overwrite of local branch" +msgstr "forΓ§ar a substituiΓ§Γ£o do ramo local" + +#: builtin/fetch.c:99 +msgid "fetch from multiple remotes" +msgstr "obter de mΓΊltiplos remotos" + +#: builtin/fetch.c:101 builtin/pull.c:176 +msgid "fetch all tags and associated objects" +msgstr "obter todas as tags e objetos associados" + +#: builtin/fetch.c:103 +msgid "do not fetch all tags (--no-tags)" +msgstr "nΓ£o obter todas as tags (--no-tags)" + +#: builtin/fetch.c:105 +msgid "number of submodules fetched in parallel" +msgstr "nΓΊmero de submΓ³dulos obtidos em paralelo" + +#: builtin/fetch.c:107 builtin/pull.c:179 +msgid "prune remote-tracking branches no longer on remote" +msgstr "eliminar os ramos cujo respetivo ramo remoto jΓ‘ nΓ£o existe" + +#: builtin/fetch.c:108 builtin/pull.c:182 +msgid "on-demand" +msgstr "on-demand" + +#: builtin/fetch.c:109 builtin/pull.c:183 +msgid "control recursive fetching of submodules" +msgstr "controlar a obtenΓ§Γ£o recursiva de submΓ³dulos" + +#: builtin/fetch.c:113 builtin/pull.c:191 +msgid "keep downloaded pack" +msgstr "manter o pacote transferido" -#: builtin/fetch.c:200 +#: builtin/fetch.c:115 +msgid "allow updating of HEAD ref" +msgstr "permitir a atualizaΓ§Γ£o da referΓͺncia HEAD" + +#: builtin/fetch.c:118 builtin/pull.c:194 +msgid "deepen history of shallow clone" +msgstr "aprofundar o histΓ³rico de um clone raso" + +#: builtin/fetch.c:120 builtin/pull.c:197 +msgid "convert to a complete repository" +msgstr "converter num repositΓ³rio completo" + +#: builtin/fetch.c:122 builtin/log.c:1236 +msgid "dir" +msgstr "dir" + +#: builtin/fetch.c:123 +msgid "prepend this to submodule path output" +msgstr "preceder isto ao caminho do submΓ³dulo" + +#: builtin/fetch.c:126 +msgid "default mode for recursion" +msgstr "modo recursivo por omissΓ£o" + +#: builtin/fetch.c:128 builtin/pull.c:200 +msgid "accept refs that update .git/shallow" +msgstr "aceitar referΓͺncia que atualizem .git/shallow" + +#: builtin/fetch.c:129 builtin/pull.c:202 +msgid "refmap" +msgstr "mapa de referΓͺncias" + +#: builtin/fetch.c:130 builtin/pull.c:203 +msgid "specify fetch refmap" +msgstr "especificar mapa de referΓͺncias" + +#: builtin/fetch.c:386 msgid "Couldn't find remote ref HEAD" -msgstr "" +msgstr "ReferΓͺncia remota HEAD nΓ£o encontrada" -#: builtin/fetch.c:253 +#: builtin/fetch.c:466 #, c-format msgid "object %s not found" -msgstr "objecto %s nΓ£o encontrado" +msgstr "objeto %s nΓ£o encontrado" -#: builtin/fetch.c:259 +#: builtin/fetch.c:471 msgid "[up to date]" -msgstr "[Actualizada]" +msgstr "[atualizado]" -#: builtin/fetch.c:273 +#: builtin/fetch.c:485 #, c-format msgid "! %-*s %-*s -> %s (can't fetch in current branch)" -msgstr "" +msgstr "! %-*s %-*s -> %s (nΓ£o Γ© possΓvel obter no ramo atual)" -#: builtin/fetch.c:274 -#: builtin/fetch.c:360 +#: builtin/fetch.c:486 builtin/fetch.c:574 msgid "[rejected]" msgstr "[rejeitado]" -#: builtin/fetch.c:285 +#: builtin/fetch.c:497 msgid "[tag update]" -msgstr "[etiqueta actualizada]" +msgstr "[tag atualizada]" -#: builtin/fetch.c:287 -#: builtin/fetch.c:322 -#: builtin/fetch.c:340 +#: builtin/fetch.c:499 builtin/fetch.c:534 builtin/fetch.c:552 msgid " (unable to update local ref)" -msgstr "" +msgstr " (nΓ£o Γ© possΓvel atualizar a referΓͺncia local)" -#: builtin/fetch.c:305 +#: builtin/fetch.c:517 msgid "[new tag]" -msgstr "[nova etiqueta]" +msgstr "[nova tag]" -#: builtin/fetch.c:308 +#: builtin/fetch.c:520 msgid "[new branch]" -msgstr "[nova rama]" +msgstr "[novo ramo]" -#: builtin/fetch.c:311 +#: builtin/fetch.c:523 msgid "[new ref]" -msgstr "[nova ref]" +msgstr "[nova referΓͺncia]" -#: builtin/fetch.c:356 +#: builtin/fetch.c:569 msgid "unable to update local ref" -msgstr "" +msgstr "nΓ£o Γ© possΓvel atualizar a referΓͺncia local" -#: builtin/fetch.c:356 +#: builtin/fetch.c:569 msgid "forced update" -msgstr "actualizaΓ§Γ£o forΓ§ada" +msgstr "atualizaΓ§Γ£o forΓ§ada" -#: builtin/fetch.c:362 +#: builtin/fetch.c:576 msgid "(non-fast-forward)" -msgstr "(non-fast-forward)" +msgstr "(sem avanΓ§o rΓ‘pido)" -#: builtin/fetch.c:393 -#: builtin/fetch.c:685 +#: builtin/fetch.c:610 builtin/fetch.c:851 #, c-format msgid "cannot open %s: %s\n" -msgstr "nΓ£o Γ© possivel abrir %s: %s\n" +msgstr "nΓ£o Γ© possΓvel abrir %s: %s\n" -#: builtin/fetch.c:402 +#: builtin/fetch.c:619 #, c-format msgid "%s did not send all necessary objects\n" -msgstr "" +msgstr "%s nΓ£o enviou todos os objetos necessΓ‘rios\n" + +#: builtin/fetch.c:637 +#, c-format +msgid "reject %s because shallow roots are not allowed to be updated" +msgstr "%s rejeitado, porque as raΓzes rasas nΓ£o podem ser atualizadas" -#: builtin/fetch.c:488 +#: builtin/fetch.c:724 builtin/fetch.c:816 #, c-format msgid "From %.*s\n" -msgstr "Para %.*s\n" +msgstr "De %.*s\n" -#: builtin/fetch.c:499 +#: builtin/fetch.c:735 #, c-format msgid "" "some local refs could not be updated; try running\n" " 'git remote prune %s' to remove any old, conflicting branches" msgstr "" +"algumas referΓͺncias locais nΓ£o puderam ser atualizadas; tente executar\n" +" 'git remote prune %s' para remover algum ramo antigo em conflito" -#: builtin/fetch.c:549 +#: builtin/fetch.c:787 #, c-format msgid " (%s will become dangling)" -msgstr "" +msgstr " (%s ficarΓ‘ suspenso)" -#: builtin/fetch.c:550 +#: builtin/fetch.c:788 #, c-format msgid " (%s has become dangling)" -msgstr "" +msgstr " (%s ficou suspenso)" -#: builtin/fetch.c:557 +#: builtin/fetch.c:820 msgid "[deleted]" msgstr "[eliminado]" -#: builtin/fetch.c:558 -#: builtin/remote.c:1055 +#: builtin/fetch.c:821 builtin/remote.c:1025 msgid "(none)" msgstr "(nenhum)" -#: builtin/fetch.c:675 +#: builtin/fetch.c:841 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" -msgstr "" +msgstr "NΓ£o Γ© possΓvel obter objetos no ramo atual %s de um repositΓ³rio nΓ£o nu" -#: builtin/fetch.c:709 -#, c-format -msgid "Don't know how to fetch from %s" -msgstr "" - -#: builtin/fetch.c:786 +#: builtin/fetch.c:860 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" -msgstr "" +msgstr "O valor \"%2$s\" da opΓ§Γ£o \"%1$s\" nΓ£o Γ© vΓ‘lido em %3$s" -#: builtin/fetch.c:789 +#: builtin/fetch.c:863 #, c-format msgid "Option \"%s\" is ignored for %s\n" -msgstr "" +msgstr "OpΓ§Γ£o \"%s\" ignorada em %s\n" -#: builtin/fetch.c:888 +#: builtin/fetch.c:920 +#, c-format +msgid "Don't know how to fetch from %s" +msgstr "NΓ£o sei como obter de %s" + +#: builtin/fetch.c:1080 #, c-format msgid "Fetching %s\n" -msgstr "Baixando %s\n" +msgstr "A obter de %s\n" -#: builtin/fetch.c:890 -#: builtin/remote.c:100 +#: builtin/fetch.c:1082 builtin/remote.c:96 #, c-format msgid "Could not fetch %s" -msgstr "" +msgstr "NΓ£o foi possΓvel obter de %s" -#: builtin/fetch.c:907 +#: builtin/fetch.c:1100 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." msgstr "" -"Nenhum repositΓ³rio remoto especificado. Por favor, especifique um URL ou o\n" -"nome remoto a partir do qual novas revisΓ΅es devem ser obtida." +"Nenhum repositΓ³rio remoto especificado. Especifique um URL ou\n" +"o nome remoto a partir do qual as novas revisΓ΅es devem ser obtidas." -#: builtin/fetch.c:927 +#: builtin/fetch.c:1123 msgid "You need to specify a tag name." -msgstr "VocΓͺ precisa especificar um nome da etiqueta." +msgstr "Deve especificar um nome para a tag." + +#: builtin/fetch.c:1165 +msgid "--depth and --unshallow cannot be used together" +msgstr "--depth e --unshallow nΓ£o podem ser usados juntos" -#: builtin/fetch.c:979 +#: builtin/fetch.c:1167 +msgid "--unshallow on a complete repository does not make sense" +msgstr "usar --unshallow num repositΓ³rio completo nΓ£o faz sentido" + +#: builtin/fetch.c:1187 msgid "fetch --all does not take a repository argument" -msgstr "" +msgstr "fetch --all nΓ£o leva um repositΓ³rio como argumento" -#: builtin/fetch.c:981 +#: builtin/fetch.c:1189 msgid "fetch --all does not make sense with refspecs" -msgstr "" +msgstr "fetch --all nΓ£o faz sentido com especificadores de referΓͺncia" -#: builtin/fetch.c:992 +#: builtin/fetch.c:1200 #, c-format msgid "No such remote or remote group: %s" -msgstr "" +msgstr "O remoto ou grupo remoto nΓ£o existe: %s" -#: builtin/fetch.c:1000 +#: builtin/fetch.c:1208 msgid "Fetching a group and specifying refspecs does not make sense" +msgstr "NΓ£o faz sentido obter um grupo e especificar uma referΓͺncia" + +#: builtin/fmt-merge-msg.c:14 +msgid "" +"git fmt-merge-msg [-m <message>] [--log[=<n>] | --no-log] [--file <file>]" msgstr "" +"git fmt-merge-msg [-m <mensagem>] [--log[=<n>] | --no-log] [--file " +"<ficheiro>]" + +#: builtin/fmt-merge-msg.c:667 +msgid "populate log with at most <n> entries from shortlog" +msgstr "povoar o registo com, no mΓ‘ximo, <n> entradas do shortlog" + +#: builtin/fmt-merge-msg.c:670 +msgid "alias for --log (deprecated)" +msgstr "alias de --log (obsoleto)" + +#: builtin/fmt-merge-msg.c:673 +msgid "text" +msgstr "texto" + +#: builtin/fmt-merge-msg.c:674 +msgid "use <text> as start of message" +msgstr "usar <texto> no inΓcio da mensagem" + +#: builtin/fmt-merge-msg.c:675 +msgid "file to read from" +msgstr "ficheiro a ler" + +#: builtin/for-each-ref.c:9 +msgid "git for-each-ref [<options>] [<pattern>]" +msgstr "git for-each-ref [<opΓ§Γ΅es>] [<padrΓ£o>]" + +#: builtin/for-each-ref.c:10 +msgid "git for-each-ref [--points-at <object>]" +msgstr "git for-each-ref [--points-at <objeto>]" + +#: builtin/for-each-ref.c:11 +msgid "git for-each-ref [(--merged | --no-merged) [<object>]]" +msgstr "git for-each-ref [(--merged | --no-merged) [<objeto>]]" + +#: builtin/for-each-ref.c:12 +msgid "git for-each-ref [--contains [<object>]]" +msgstr "git for-each-ref [--contains [<objeto>]]" + +#: builtin/for-each-ref.c:27 +msgid "quote placeholders suitably for shells" +msgstr "" +"envolver os marcadores de posiΓ§Γ£o em aspas de forma adequada para " +"interpretadores de comandos" + +#: builtin/for-each-ref.c:29 +msgid "quote placeholders suitably for perl" +msgstr "envolver os marcadores de posiΓ§Γ£o em aspas de forma adequada para perl" + +#: builtin/for-each-ref.c:31 +msgid "quote placeholders suitably for python" +msgstr "" +"envolver os marcadores de posiΓ§Γ£o em aspas de forma adequada para python" + +#: builtin/for-each-ref.c:33 +msgid "quote placeholders suitably for Tcl" +msgstr "envolver os marcadores de posiΓ§Γ£o em aspas de forma adequada para Tcl" -#: builtin/gc.c:63 +#: builtin/for-each-ref.c:36 +msgid "show only <n> matched refs" +msgstr "mostrar apenas <n> referΓͺncias correspondidas" + +#: builtin/for-each-ref.c:37 builtin/tag.c:372 +msgid "format to use for the output" +msgstr "formato a usar na saΓda" + +#: builtin/for-each-ref.c:41 +msgid "print only refs which points at the given object" +msgstr "imprimir apenas referΓͺncias que apontem para o objeto fornecido" + +#: builtin/for-each-ref.c:43 +msgid "print only refs that are merged" +msgstr "imprimir apenas referenciadas incorporadas" + +#: builtin/for-each-ref.c:44 +msgid "print only refs that are not merged" +msgstr "imprimir apenas referΓͺncias nΓ£o incorporadas" + +#: builtin/for-each-ref.c:45 +msgid "print only refs which contain the commit" +msgstr "imprimir apenas referΓͺncias que contenham o commit" + +#: builtin/fsck.c:156 builtin/prune.c:140 +msgid "Checking connectivity" +msgstr "A verificar conectividade" + +#: builtin/fsck.c:486 +msgid "Checking object directories" +msgstr "A verificar diretΓ³rios de objetos" + +#: builtin/fsck.c:553 +msgid "git fsck [<options>] [<object>...]" +msgstr "git fsck [<opΓ§Γ΅es>] [<objeto>...]" + +#: builtin/fsck.c:559 +msgid "show unreachable objects" +msgstr "mostrar objetos inalcanΓ§Γ‘veis" + +#: builtin/fsck.c:560 +msgid "show dangling objects" +msgstr "mostrar objetos suspensos" + +#: builtin/fsck.c:561 +msgid "report tags" +msgstr "mostrar tags" + +#: builtin/fsck.c:562 +msgid "report root nodes" +msgstr "mostrar nΓ³s raiz" + +#: builtin/fsck.c:563 +msgid "make index objects head nodes" +msgstr "considerar objetos do Γndice como nΓ³s cabeΓ§a" + +#: builtin/fsck.c:564 +msgid "make reflogs head nodes (default)" +msgstr "considerar os reflogs como nΓ³s cabeΓ§a (predefiniΓ§Γ£o)" + +#: builtin/fsck.c:565 +msgid "also consider packs and alternate objects" +msgstr "considerar tambΓ©m pacotes e objetos alternate" + +#: builtin/fsck.c:566 +msgid "check only connectivity" +msgstr "verificar sΓ³ a conetividade" + +#: builtin/fsck.c:567 +msgid "enable more strict checking" +msgstr "ativar verificaΓ§Γ£o mais rigorosa" + +#: builtin/fsck.c:569 +msgid "write dangling objects in .git/lost-found" +msgstr "escrever objetos suspensos em .git/lost-found" + +#: builtin/fsck.c:570 builtin/prune.c:107 +msgid "show progress" +msgstr "mostrar progresso" + +#: builtin/fsck.c:631 +msgid "Checking objects" +msgstr "A verificar objetos" + +#: builtin/gc.c:25 +msgid "git gc [<options>]" +msgstr "git gc [<opΓ§Γ΅es>]" + +#: builtin/gc.c:72 #, c-format msgid "Invalid %s: '%s'" msgstr "InvΓ‘lido %s: '%s'" -#: builtin/gc.c:90 +#: builtin/gc.c:139 #, c-format msgid "insanely long object directory %.*s" +msgstr "diretΓ³rio de objetos demasiado longo %.*s" + +#: builtin/gc.c:290 +#, c-format +msgid "" +"The last gc run reported the following. Please correct the root cause\n" +"and remove %s.\n" +"Automatic cleanup will not be performed until the file is removed.\n" +"\n" +"%s" msgstr "" +"A ΓΊltima execuΓ§Γ£o do gc reportou o seguinte.\n" +"Corrija a raiz do problema e remova %s.\n" +"A limpeza automΓ‘tica nΓ£o serΓ‘ realizada enquanto o ficheiro existir.\n" +"\n" +"%s" + +#: builtin/gc.c:327 +msgid "prune unreferenced objects" +msgstr "eliminar ficheiros nΓ£o referenciados" + +#: builtin/gc.c:329 +msgid "be more thorough (increased runtime)" +msgstr "ser mais minucioso (aumenta o tempo de execuΓ§Γ£o)" + +#: builtin/gc.c:330 +msgid "enable auto-gc mode" +msgstr "ativar modo auto-gc" -#: builtin/gc.c:221 +#: builtin/gc.c:331 +msgid "force running gc even if there may be another gc running" +msgstr "forΓ§ar a execuΓ§Γ£o do gc mesmo que haja outro gc a executar" + +#: builtin/gc.c:373 #, c-format -msgid "Auto packing the repository for optimum performance.\n" +msgid "Auto packing the repository in background for optimum performance.\n" msgstr "" +"A autocompactar o repositΓ³rio em segundo plano para obter um melhor " +"desempenho.\n" + +#: builtin/gc.c:375 +#, c-format +msgid "Auto packing the repository for optimum performance.\n" +msgstr "A autocompactar o repositΓ³rio para obter um melhor desempenho.\n" -#: builtin/gc.c:224 +#: builtin/gc.c:376 +#, c-format +msgid "See \"git help gc\" for manual housekeeping.\n" +msgstr "Consulte \"git help gc\" para ler sobre manutenΓ§Γ£o manual.\n" + +#: builtin/gc.c:397 #, c-format msgid "" -"Auto packing the repository for optimum performance. You may also\n" -"run \"git gc\" manually. See \"git help gc\" for more information.\n" +"gc is already running on machine '%s' pid %<PRIuMAX> (use --force if not)" msgstr "" +"gc jΓ‘ a executar na mΓ‘quina '%s' pid %<PRIuMAX> (use --force se nΓ£o for o " +"caso)" -#: builtin/gc.c:251 -msgid "There are too many unreachable loose objects; run 'git prune' to remove them." +#: builtin/gc.c:441 +msgid "" +"There are too many unreachable loose objects; run 'git prune' to remove them." msgstr "" +"Existem demasiados objeto soltos inalcanΓ§Γ‘veis; execute 'git prune' para os " +"remover." + +#: builtin/grep.c:23 +msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]" +msgstr "git grep [<opΓ§Γ΅es>] [-e] <padrΓ£o> [<rev>...] [[--] <caminho>...]" -#: builtin/grep.c:216 +#: builtin/grep.c:219 #, c-format msgid "grep: failed to create thread: %s" -msgstr "" +msgstr "grep: falha ao criar thread: %s" -#: builtin/grep.c:402 +#: builtin/grep.c:277 #, c-format -msgid "Failed to chdir: %s" -msgstr "" +msgid "invalid number of threads specified (%d) for %s" +msgstr "o nΓΊmero de threads especificado em %2$s Γ© invΓ‘lido (%1$d)" -#: builtin/grep.c:478 -#: builtin/grep.c:512 +#: builtin/grep.c:452 builtin/grep.c:487 #, c-format msgid "unable to read tree (%s)" -msgstr "" +msgstr "nΓ£o foi possΓvel ler a Γ‘rvore (%s)" -#: builtin/grep.c:526 +#: builtin/grep.c:502 #, c-format msgid "unable to grep from object of type %s" -msgstr "" +msgstr "nΓ£o foi possΓvel efetuar grep de objetos do tipo %s" -#: builtin/grep.c:584 +#: builtin/grep.c:558 #, c-format msgid "switch `%c' expects a numerical value" -msgstr "" +msgstr "a opΓ§Γ£o '%c' espera um valor numΓ©rico" -#: builtin/grep.c:601 +#: builtin/grep.c:575 #, c-format msgid "cannot open '%s'" +msgstr "nΓ£o Γ© possΓvel abrir '%s'" + +#: builtin/grep.c:644 +msgid "search in index instead of in the work tree" +msgstr "procurar no Γndice em vez de procurar na Γ‘rvore de trabalho" + +#: builtin/grep.c:646 +msgid "find in contents not managed by git" +msgstr "procurar em conteΓΊdos nΓ£o geridos pelo git" + +#: builtin/grep.c:648 +msgid "search in both tracked and untracked files" +msgstr "procurar em ficheiros controlados e nΓ£o controlados" + +#: builtin/grep.c:650 +msgid "ignore files specified via '.gitignore'" +msgstr "ignorar ficheiros especificados via '.gitignore'" + +#: builtin/grep.c:653 +msgid "show non-matching lines" +msgstr "mostrar linhas nΓ£o correspondidas" + +#: builtin/grep.c:655 +msgid "case insensitive matching" +msgstr "nΓ£o diferenciar maiΓΊsculas de minΓΊsculas" + +#: builtin/grep.c:657 +msgid "match patterns only at word boundaries" +msgstr "corresponder padrΓ΅es apenas a palavras" + +#: builtin/grep.c:659 +msgid "process binary files as text" +msgstr "processar ficheiros binΓ‘rios como texto" + +#: builtin/grep.c:661 +msgid "don't match patterns in binary files" +msgstr "ignorar ficheiros binΓ‘rios" + +#: builtin/grep.c:664 +msgid "process binary files with textconv filters" +msgstr "processar ficheiros binΓ‘rios com filtros textconv" + +#: builtin/grep.c:666 +msgid "descend at most <depth> levels" +msgstr "descer no mΓ‘ximo atΓ© <profundidade>" + +#: builtin/grep.c:670 +msgid "use extended POSIX regular expressions" +msgstr "usar expressΓ΅es regulares estendidas do POSIX" + +#: builtin/grep.c:673 +msgid "use basic POSIX regular expressions (default)" +msgstr "usar expressΓ΅es regulares bΓ‘sicas do POSIX (predefiniΓ§Γ£o)" + +#: builtin/grep.c:676 +msgid "interpret patterns as fixed strings" +msgstr "interpretar padrΓ΅es como cadeias de caracteres fixas" + +#: builtin/grep.c:679 +msgid "use Perl-compatible regular expressions" +msgstr "usar expressΓ΅es regulares compatΓveis com Perl" + +#: builtin/grep.c:682 +msgid "show line numbers" +msgstr "mostrar nΓΊmeros de linha" + +#: builtin/grep.c:683 +msgid "don't show filenames" +msgstr "nΓ£o mostrar nomes de ficheiro" + +#: builtin/grep.c:684 +msgid "show filenames" +msgstr "mostrar nomes de ficheiro" + +#: builtin/grep.c:686 +msgid "show filenames relative to top directory" +msgstr "mostrar nomes de ficheiro relativamente ao diretΓ³rio superior" + +#: builtin/grep.c:688 +msgid "show only filenames instead of matching lines" +msgstr "mostrar apenas nomes de ficheiro em vez de linhas correspondidas" + +#: builtin/grep.c:690 +msgid "synonym for --files-with-matches" +msgstr "sinΓ³nimo de --files-with-matches" + +#: builtin/grep.c:693 +msgid "show only the names of files without match" +msgstr "mostrar apenas nomes de ficheiro sem correspondΓͺncia" + +#: builtin/grep.c:695 +msgid "print NUL after filenames" +msgstr "imprimir NUL depois dos nomes de ficheiro" + +#: builtin/grep.c:697 +msgid "show the number of matches instead of matching lines" +msgstr "mostrar o nΓΊmero de correspondΓͺncias em vez das linha correspondidas" + +#: builtin/grep.c:698 +msgid "highlight matches" +msgstr "realΓ§ar correspondΓͺncias" + +#: builtin/grep.c:700 +msgid "print empty line between matches from different files" msgstr "" +"imprimir uma linha em branco entre correspondΓͺncias de diferentes ficheiros" -#: builtin/grep.c:888 -msgid "no pattern given." +#: builtin/grep.c:702 +msgid "show filename only once above matches from same file" msgstr "" +"mostrar sΓ³ uma vez o nome do ficheiro acima das correspondΓͺncias dentro do " +"mesmo ficheiro" -#: builtin/grep.c:902 -#, c-format -msgid "bad object %s" +#: builtin/grep.c:705 +msgid "show <n> context lines before and after matches" +msgstr "mostrar <n> linhas de contexto antes e depois das correspondΓͺncias" + +#: builtin/grep.c:708 +msgid "show <n> context lines before matches" +msgstr "mostrar <n> linhas de contexto antes das correspondΓͺncias" + +#: builtin/grep.c:710 +msgid "show <n> context lines after matches" +msgstr "mostrar <n> linhas de contexto depois das correspondΓͺncias" + +#: builtin/grep.c:712 +msgid "use <n> worker threads" +msgstr "usar <n> threads de trabalho" + +#: builtin/grep.c:713 +msgid "shortcut for -C NUM" +msgstr "atalho para -C NUM" + +#: builtin/grep.c:716 +msgid "show a line with the function name before matches" +msgstr "mostrar uma linha com o nome da funΓ§Γ£o antes das correspondΓͺncias" + +#: builtin/grep.c:718 +msgid "show the surrounding function" +msgstr "mostrar a funΓ§Γ£o circundante" + +#: builtin/grep.c:721 +msgid "read patterns from file" +msgstr "ler padrΓ΅es do ficheiro" + +#: builtin/grep.c:723 +msgid "match <pattern>" +msgstr "procurar <padrΓ£o>" + +#: builtin/grep.c:725 +msgid "combine patterns specified with -e" +msgstr "combinar padrΓ΅es especificados com -e" + +#: builtin/grep.c:737 +msgid "indicate hit with exit status without output" +msgstr "indicar padrΓ£o encontrado no valor de saΓda, mas nΓ£o imprimir" + +#: builtin/grep.c:739 +msgid "show only matches from files that match all patterns" msgstr "" +"mostrar apenas correspondΓͺncias de ficheiro que tenham todos os padrΓ΅es" + +#: builtin/grep.c:741 +msgid "show parse tree for grep expression" +msgstr "mostrar Γ‘rvore de analise da expressΓ΅es grep" + +#: builtin/grep.c:745 +msgid "pager" +msgstr "paginador" + +#: builtin/grep.c:745 +msgid "show matching files in the pager" +msgstr "mostrar ficheiros com correspondΓͺncias no paginador" -#: builtin/grep.c:943 +#: builtin/grep.c:748 +msgid "allow calling of grep(1) (ignored by this build)" +msgstr "permitir invocar grep(1) (ignorado nesta compilaΓ§Γ£o)" + +#: builtin/grep.c:811 +msgid "no pattern given." +msgstr "nenhum padrΓ£o fornecido." + +#: builtin/grep.c:843 builtin/index-pack.c:1475 +#, c-format +msgid "invalid number of threads specified (%d)" +msgstr "nΓΊmero de threads especificado invΓ‘lido (%d)" + +#: builtin/grep.c:873 msgid "--open-files-in-pager only works on the worktree" -msgstr "" +msgstr "--open-files-in-pager sΓ³ funciona na Γ‘rvore de trabalho" -#: builtin/grep.c:966 +#: builtin/grep.c:899 msgid "--cached or --untracked cannot be used with --no-index." -msgstr "" +msgstr "--cached ou --untracked nΓ£o podem ser usados com --no-index." -#: builtin/grep.c:971 +#: builtin/grep.c:904 msgid "--no-index or --untracked cannot be used with revs." -msgstr "" +msgstr "--no-index ou --untracked nΓ£o podem ser usados em revisΓ΅es." -#: builtin/grep.c:974 +#: builtin/grep.c:907 msgid "--[no-]exclude-standard cannot be used for tracked contents." msgstr "" +"--[no-]exclude-standard nΓ£o podem ser usados em conteΓΊdos nΓ£o controlados." -#: builtin/grep.c:982 +#: builtin/grep.c:915 msgid "both --cached and trees are given." +msgstr "--cached e Γ‘rvores fornecidos simultaneamente." + +#: builtin/hash-object.c:81 +msgid "" +"git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] " +"[--] <file>..." +msgstr "" +"git hash-object [-t <tipo>] [-w] [--path=<ficheiro> | --no-filters] [--" +"stdin] [--] <ficheiro>..." + +#: builtin/hash-object.c:82 +msgid "git hash-object --stdin-paths" +msgstr "git hash-object --stdin-paths" + +#: builtin/hash-object.c:93 +msgid "type" +msgstr "tipo" + +#: builtin/hash-object.c:93 +msgid "object type" +msgstr "tipo do objeto" + +#: builtin/hash-object.c:94 +msgid "write the object into the object database" +msgstr "escrever o objeto na base de dados de objetos" + +#: builtin/hash-object.c:96 +msgid "read the object from stdin" +msgstr "ler o objeto da entrada padrΓ£o" + +#: builtin/hash-object.c:98 +msgid "store file as is without filters" +msgstr "guardar o ficheiro tal como estΓ‘, sem filtros" + +#: builtin/hash-object.c:99 +msgid "" +"just hash any random garbage to create corrupt objects for debugging Git" msgstr "" +"obter hash de lixo aleatΓ³rio para criar objetos corrompidos para depurar o " +"Git" + +#: builtin/hash-object.c:100 +msgid "process file as it were from this path" +msgstr "processar o ficheiro como se este fosse do caminho indicado" + +#: builtin/help.c:41 +msgid "print all available commands" +msgstr "imprimir todos os comandos disponΓveis" + +#: builtin/help.c:42 +msgid "print list of useful guides" +msgstr "imprimir lista de guias ΓΊteis" + +#: builtin/help.c:43 +msgid "show man page" +msgstr "mostrar pΓ‘gina do manual" + +#: builtin/help.c:44 +msgid "show manual in web browser" +msgstr "mostrar o manual no navegador web" + +#: builtin/help.c:46 +msgid "show info page" +msgstr "mostrar pΓ‘gina info" -#: builtin/help.c:59 +#: builtin/help.c:52 +msgid "git help [--all] [--guides] [--man | --web | --info] [<command>]" +msgstr "git help [--all] [--guides] [--man | --web | --info] [<comando>]" + +#: builtin/help.c:64 #, c-format msgid "unrecognized help format '%s'" -msgstr "formato ajuda nΓ£o reconhecido '%s'" +msgstr "formato de ajuda nΓ£o reconhecido '%s'" -#: builtin/help.c:87 +#: builtin/help.c:91 msgid "Failed to start emacsclient." -msgstr "" +msgstr "Falha ao iniciar emacsclient." -#: builtin/help.c:100 +#: builtin/help.c:104 msgid "Failed to parse emacsclient version." -msgstr "" +msgstr "Falha ao analisar a versΓ£o do emacsclient." -#: builtin/help.c:108 +#: builtin/help.c:112 #, c-format msgid "emacsclient version '%d' too old (< 22)." -msgstr "" +msgstr "a versΓ£o do emacsclient '%d' Γ© demasiado antiga (< 22)." -#: builtin/help.c:126 -#: builtin/help.c:154 -#: builtin/help.c:163 -#: builtin/help.c:171 +#: builtin/help.c:130 builtin/help.c:151 builtin/help.c:160 builtin/help.c:168 #, c-format msgid "failed to exec '%s': %s" -msgstr "" +msgstr "falha ao executar '%s': %s" -#: builtin/help.c:211 +#: builtin/help.c:205 #, c-format msgid "" "'%s': path for unsupported man viewer.\n" "Please consider using 'man.<tool>.cmd' instead." msgstr "" +"'%s': caminho para visualizador de manual nΓ£o suportado.\n" +"Considere usar 'man.<tool>.cmd'." -#: builtin/help.c:223 +#: builtin/help.c:217 #, c-format msgid "" "'%s': cmd for supported man viewer.\n" "Please consider using 'man.<tool>.path' instead." msgstr "" +"'%s': comando de visualizador de manual suportado.\n" +"Considere usar 'man.<tool>.path'." -#: builtin/help.c:287 -msgid "The most commonly used git commands are:" -msgstr "" - -#: builtin/help.c:355 +#: builtin/help.c:334 #, c-format msgid "'%s': unknown man viewer." -msgstr "" +msgstr "'%s' visualizador de manual desconhecido." -#: builtin/help.c:372 +#: builtin/help.c:351 msgid "no man viewer handled the request" -msgstr "" +msgstr "nenhum visualizador de manual atendeu o pedido" -#: builtin/help.c:380 +#: builtin/help.c:359 msgid "no info viewer handled the request" -msgstr "" +msgstr "nenhum visualizador de info atendeu o pedido" -#: builtin/help.c:391 -#, c-format -msgid "'%s': not a documentation directory." +#: builtin/help.c:408 +msgid "Defining attributes per path" +msgstr "Definir atributos por caminho" + +#: builtin/help.c:409 +msgid "Everyday Git With 20 Commands Or So" +msgstr "DiΓ‘rio Git com mais ou menos 20 Comandos" + +#: builtin/help.c:410 +msgid "A Git glossary" +msgstr "Um GlossΓ‘rio do Git" + +#: builtin/help.c:411 +msgid "Specifies intentionally untracked files to ignore" msgstr "" +"Especificar ficheiros nΓ£o controlados para serem intencionalmente ignorados" + +#: builtin/help.c:412 +msgid "Defining submodule properties" +msgstr "Definir propriedades de submΓ³dulos" + +#: builtin/help.c:413 +msgid "Specifying revisions and ranges for Git" +msgstr "Especificar revisΓ΅es e intervalos do Git" + +#: builtin/help.c:414 +msgid "A tutorial introduction to Git (for version 1.5.1 or newer)" +msgstr "Uma introduΓ§Γ£o ao Git (versΓ£o 1.5.1 ou mais recente)" + +#: builtin/help.c:415 +msgid "An overview of recommended workflows with Git" +msgstr "Uma descriΓ§Γ£o geral dos fluxos de trabalho recomendados para o Git" + +#: builtin/help.c:427 +msgid "The common Git guides are:\n" +msgstr "Os guias comuns do Git:\n" -#: builtin/help.c:432 -#: builtin/help.c:439 +#: builtin/help.c:448 builtin/help.c:465 #, c-format msgid "usage: %s%s" -msgstr "" +msgstr "utilizaΓ§Γ£o: %s%s" -#: builtin/help.c:453 +#: builtin/help.c:481 #, c-format msgid "`git %s' is aliased to `%s'" -msgstr "" +msgstr "'git %s' Γ© um alias de '%s'" + +#: builtin/index-pack.c:152 +#, c-format +msgid "unable to open %s" +msgstr "nΓ£o foi possΓvel ler %s" -#: builtin/index-pack.c:84 +#: builtin/index-pack.c:202 #, c-format msgid "object type mismatch at %s" -msgstr "" +msgstr "incompatibilidade de tipo de objeto em %s" -#: builtin/index-pack.c:104 -msgid "object of unexpected type" -msgstr "" +#: builtin/index-pack.c:222 +#, c-format +msgid "did not receive expected object %s" +msgstr "o objeto esperado %s nΓ£o foi recebido" + +#: builtin/index-pack.c:225 +#, c-format +msgid "object %s: expected type %s, found %s" +msgstr "objeto %s: tipo esperado %s, obtido %s" -#: builtin/index-pack.c:141 +#: builtin/index-pack.c:267 #, c-format msgid "cannot fill %d byte" msgid_plural "cannot fill %d bytes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "nΓ£o Γ© possΓvel preencher %d byte" +msgstr[1] "nΓ£o Γ© possΓvel preencher %d bytes" -#: builtin/index-pack.c:151 +#: builtin/index-pack.c:277 msgid "early EOF" -msgstr "" +msgstr "fim de ficheiro (EOF) prematuro" -#: builtin/index-pack.c:152 +#: builtin/index-pack.c:278 msgid "read error on input" -msgstr "" +msgstr "erro de leitura da entrada" -#: builtin/index-pack.c:164 +#: builtin/index-pack.c:290 msgid "used more bytes than were available" -msgstr "" +msgstr "foram usados mais bytes dos que estavam disponΓveis" -#: builtin/index-pack.c:171 +#: builtin/index-pack.c:297 msgid "pack too large for current definition of off_t" -msgstr "" +msgstr "pacote demasiado grande para a definiΓ§Γ£o atual de off_t" -#: builtin/index-pack.c:187 +#: builtin/index-pack.c:313 #, c-format msgid "unable to create '%s'" -msgstr "nΓ£o Γ© possivel crear '%s'" +msgstr "nΓ£o foi possΓvel criar '%s'" -#: builtin/index-pack.c:192 +#: builtin/index-pack.c:318 #, c-format msgid "cannot open packfile '%s'" -msgstr "NΓ£o Γ© possivel abrir o ficheiro packfile '%s'" +msgstr "nΓ£o Γ© possΓvel abrir o ficheiro de pacote '%s'" -#: builtin/index-pack.c:206 +#: builtin/index-pack.c:332 msgid "pack signature mismatch" -msgstr "" +msgstr "a assinatura do pacote nΓ£o corresponde" -#: builtin/index-pack.c:226 +#: builtin/index-pack.c:334 +#, c-format +msgid "pack version %<PRIu32> unsupported" +msgstr "versΓ£o de pacote %<PRIu32> nΓ£o suportada" + +#: builtin/index-pack.c:352 #, c-format msgid "pack has bad object at offset %lu: %s" -msgstr "" +msgstr "pacote com objeto incorreto no offset %lu: %s" -#: builtin/index-pack.c:300 +#: builtin/index-pack.c:473 #, c-format msgid "inflate returned %d" -msgstr "" +msgstr "a descompactaΓ§Γ£o retornou %d" -#: builtin/index-pack.c:345 +#: builtin/index-pack.c:522 msgid "offset value overflow for delta base object" -msgstr "" +msgstr "delta de objeto base com capacidade excedida no valor de offset" -#: builtin/index-pack.c:353 +#: builtin/index-pack.c:530 +#, fuzzy msgid "delta base offset is out of bound" -msgstr "" +msgstr "um offset de base delta ultrapassou o limite" -#: builtin/index-pack.c:361 +#: builtin/index-pack.c:538 #, c-format msgid "unknown object type %d" -msgstr "ojecto com tipo desconhecido %d" +msgstr "objeto de tipo desconhecido %d" -#: builtin/index-pack.c:390 +#: builtin/index-pack.c:569 msgid "cannot pread pack file" -msgstr "NΓ£o Γ© possivel pread pack file" +msgstr "nΓ£o Γ© possΓvel invocar pread sobre o ficheiro de pacote" -#: builtin/index-pack.c:392 +#: builtin/index-pack.c:571 #, c-format msgid "premature end of pack file, %lu byte missing" msgid_plural "premature end of pack file, %lu bytes missing" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "fim de ficheiro de pacote prematuro, falta %lu byte" +msgstr[1] "fim de ficheiro de pacote prematuro, faltam %lu bytes" -#: builtin/index-pack.c:405 +#: builtin/index-pack.c:597 msgid "serious inflate inconsistency" -msgstr "" +msgstr "inconsistΓͺncia de descompactaΓ§Γ£o grave" -#: builtin/index-pack.c:476 +#: builtin/index-pack.c:743 builtin/index-pack.c:749 builtin/index-pack.c:772 +#: builtin/index-pack.c:806 builtin/index-pack.c:815 #, c-format -msgid "cannot read existing object %s" -msgstr "nΓ£o foi possΓvel ler objecto existente %s" +msgid "SHA1 COLLISION FOUND WITH %s !" +msgstr "COLISΓO DE SHA1 COM %s ENCONTRADA!" -#: builtin/index-pack.c:479 +#: builtin/index-pack.c:746 builtin/pack-objects.c:162 +#: builtin/pack-objects.c:254 #, c-format -msgid "SHA1 COLLISION FOUND WITH %s !" -msgstr "" +msgid "unable to read %s" +msgstr "nΓ£o foi possΓvel ler %s" -#: builtin/index-pack.c:488 +#: builtin/index-pack.c:812 +#, c-format +msgid "cannot read existing object %s" +msgstr "nΓ£o Γ© possΓvel ler o objeto existente %s" + +#: builtin/index-pack.c:826 #, c-format msgid "invalid blob object %s" -msgstr "invΓ‘lido objecto blob %s" +msgstr "objeto blob invΓ‘lido %s" -#: builtin/index-pack.c:500 +#: builtin/index-pack.c:840 #, c-format msgid "invalid %s" -msgstr "invΓ‘lido: %s" +msgstr "invΓ‘lido %s" -#: builtin/index-pack.c:502 +#: builtin/index-pack.c:843 msgid "Error in object" -msgstr "" +msgstr "Erro no objeto" -#: builtin/index-pack.c:504 +#: builtin/index-pack.c:845 #, c-format msgid "Not all child objects of %s are reachable" -msgstr "" +msgstr "Nem todos os objetos filhos de %s sΓ£o alcanΓ§Γ‘veis" -#: builtin/index-pack.c:576 -#: builtin/index-pack.c:602 +#: builtin/index-pack.c:917 builtin/index-pack.c:948 msgid "failed to apply delta" -msgstr "" +msgstr "falha ao aplicar delta" -#: builtin/index-pack.c:706 +#: builtin/index-pack.c:1118 msgid "Receiving objects" -msgstr "" +msgstr "A receber objetos" -#: builtin/index-pack.c:706 +#: builtin/index-pack.c:1118 msgid "Indexing objects" -msgstr "" +msgstr "A indexar objetos" -#: builtin/index-pack.c:728 +#: builtin/index-pack.c:1150 msgid "pack is corrupted (SHA1 mismatch)" -msgstr "" +msgstr "pacote corrompido (SHA1 nΓ£o corresponde)" -#: builtin/index-pack.c:733 +#: builtin/index-pack.c:1155 msgid "cannot fstat packfile" -msgstr "NΓ£o Γ© possivel fstat packfile" +msgstr "nΓ£o Γ© possΓvel invocar fstat sobre o ficheiro de pacote" -#: builtin/index-pack.c:736 +#: builtin/index-pack.c:1158 msgid "pack has junk at the end" -msgstr "" +msgstr "pacote com lixo no final" -#: builtin/index-pack.c:754 +#: builtin/index-pack.c:1169 +msgid "confusion beyond insanity in parse_pack_objects()" +msgstr "extrema confusΓ£o em parse_pack_objects()" + +#: builtin/index-pack.c:1194 msgid "Resolving deltas" -msgstr "Resolvendo deltas" +msgstr "A resolver deltas" + +#: builtin/index-pack.c:1205 +#, c-format +msgid "unable to create thread: %s" +msgstr "nΓ£o foi possΓvel criar thread: %s" + +#: builtin/index-pack.c:1247 +msgid "confusion beyond insanity" +msgstr "extrema confusΓ£o" + +#: builtin/index-pack.c:1253 +#, c-format +msgid "completed with %d local objects" +msgstr "concluΓdo com %d objetos locais" + +#: builtin/index-pack.c:1263 +#, c-format +msgid "Unexpected tail checksum for %s (disk corruption?)" +msgstr "Soma de verificaΓ§Γ£o inesperada no final de %s (corrupΓ§Γ£o no disco?)" + +#: builtin/index-pack.c:1267 +#, c-format +msgid "pack has %d unresolved delta" +msgid_plural "pack has %d unresolved deltas" +msgstr[0] "pacote com %d delta nΓ£o resolvido" +msgstr[1] "pacote com %d deltas nΓ£o resolvidos" -#: builtin/index-pack.c:787 +#: builtin/index-pack.c:1291 #, c-format msgid "unable to deflate appended object (%d)" -msgstr "" +msgstr "nΓ£o Γ© possΓvel compactar objeto acrescentado (%d)" -#: builtin/index-pack.c:866 +#: builtin/index-pack.c:1367 #, c-format msgid "local object %s is corrupt" -msgstr "" +msgstr "objeto local %s corrompido" -#: builtin/index-pack.c:890 +#: builtin/index-pack.c:1391 msgid "error while closing pack file" -msgstr "" +msgstr "erro ao fechar ficheiro de pacote" -#: builtin/index-pack.c:903 +#: builtin/index-pack.c:1404 #, c-format msgid "cannot write keep file '%s'" -msgstr "nΓ£o Γ© possivel escrever o fichero kepp '%s'" +msgstr "nΓ£o Γ© possΓvel escrever o ficheiro de conservaΓ§Γ£o '%s'" -#: builtin/index-pack.c:911 +#: builtin/index-pack.c:1412 #, c-format msgid "cannot close written keep file '%s'" -msgstr "NΓ£o Γ© possivel fechar o fichero escrito '%s'" +msgstr "nΓ£o Γ© possΓvel fechar o ficheiro de conservaΓ§Γ£o '%s' escrito" -#: builtin/index-pack.c:924 +#: builtin/index-pack.c:1425 msgid "cannot store pack file" -msgstr "NΓ£o Γ© possivel guardar o fichero pack" +msgstr "nΓ£o Γ© possΓvel guardar ficheiro de pacote" -#: builtin/index-pack.c:935 +#: builtin/index-pack.c:1436 msgid "cannot store index file" -msgstr "NΓ£o Γ© possivel guardar fichero index" +msgstr "nΓ£o Γ© possΓvel guardar o ficheiro Γndice" + +#: builtin/index-pack.c:1469 +#, c-format +msgid "bad pack.indexversion=%<PRIu32>" +msgstr "pack.indexversion=%<PRIu32> incorreto" + +#: builtin/index-pack.c:1479 builtin/index-pack.c:1664 +#, c-format +msgid "no threads support, ignoring %s" +msgstr "sem suporte de threads, %s ignorado" -#: builtin/index-pack.c:1024 +#: builtin/index-pack.c:1538 #, c-format msgid "Cannot open existing pack file '%s'" -msgstr "NΓ£o Γ© possivel abrir o existente ficheiro pack %s" +msgstr "NΓ£o Γ© possΓvel abrir o ficheiro de pacote '%s' existente" -#: builtin/index-pack.c:1026 +#: builtin/index-pack.c:1540 #, c-format msgid "Cannot open existing pack idx file for '%s'" -msgstr "NΓ£o Γ© possivel abrir o ficheiro 'pack idx' para '%s'" +msgstr "NΓ£o Γ© possΓvel abrir o ficheiro de Γndice do pacote existente de '%s'" -#: builtin/index-pack.c:1073 +#: builtin/index-pack.c:1587 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%d objeto nΓ£o delta" +msgstr[1] "%d objetos nΓ£o delta" -#: builtin/index-pack.c:1080 +#: builtin/index-pack.c:1594 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "comprimento de cadeia = %d: %lu objeto" +msgstr[1] "comprimento de cadeia = %d: %lu objetos" -#: builtin/index-pack.c:1107 +#: builtin/index-pack.c:1624 msgid "Cannot come back to cwd" -msgstr "" +msgstr "NΓ£o Γ© possΓvel voltar ao diretΓ³rio de trabalho atual" -#: builtin/index-pack.c:1140 -#: builtin/index-pack.c:1143 -#: builtin/index-pack.c:1155 -#: builtin/index-pack.c:1159 +#: builtin/index-pack.c:1676 builtin/index-pack.c:1679 +#: builtin/index-pack.c:1691 builtin/index-pack.c:1695 #, c-format msgid "bad %s" -msgstr "invΓ‘lido %s" +msgstr "%s incorreto" -#: builtin/index-pack.c:1173 +#: builtin/index-pack.c:1709 msgid "--fix-thin cannot be used without --stdin" -msgstr "" +msgstr "--fix-thin nΓ£o pode ser usado sem --stdin" -#: builtin/index-pack.c:1177 -#: builtin/index-pack.c:1187 +#: builtin/index-pack.c:1713 builtin/index-pack.c:1722 #, c-format msgid "packfile name '%s' does not end with '.pack'" -msgstr "" +msgstr "o nome do ficheiro de pacote '%s' nΓ£o termina em '.pack'" -#: builtin/index-pack.c:1196 +#: builtin/index-pack.c:1730 msgid "--verify with no packfile name given" -msgstr "" +msgstr "--verify sem nome do ficheiro de pacote indicado" -#: builtin/index-pack.c:1220 -msgid "confusion beyond insanity" -msgstr "" - -#: builtin/index-pack.c:1239 -#, c-format -msgid "pack has %d unresolved delta" -msgid_plural "pack has %d unresolved deltas" -msgstr[0] "" -msgstr[1] "" - -#: builtin/init-db.c:35 -#, c-format -msgid "Could not make %s writable by group" -msgstr "" - -#: builtin/init-db.c:62 -#, c-format -msgid "insanely long template name %s" -msgstr "" - -#: builtin/init-db.c:67 +#: builtin/init-db.c:55 #, c-format msgid "cannot stat '%s'" -msgstr "" +msgstr "nΓ£o Γ© possΓvel invocar stat sobre '%s'" -#: builtin/init-db.c:73 +#: builtin/init-db.c:61 #, c-format msgid "cannot stat template '%s'" -msgstr "" +msgstr "nΓ£o Γ© possΓvel invocar stat sobre o modelo '%s'" -#: builtin/init-db.c:80 +#: builtin/init-db.c:66 #, c-format msgid "cannot opendir '%s'" -msgstr "" +msgstr "nΓ£o Γ© possΓvel abrir (opendir) '%s'" -#: builtin/init-db.c:97 +#: builtin/init-db.c:77 #, c-format msgid "cannot readlink '%s'" -msgstr "" +msgstr "nΓ£o Γ© possΓvel ler (readlink) '%s'" -#: builtin/init-db.c:99 -#, c-format -msgid "insanely long symlink %s" -msgstr "" - -#: builtin/init-db.c:102 +#: builtin/init-db.c:79 #, c-format msgid "cannot symlink '%s' '%s'" -msgstr "" +msgstr "nΓ£o Γ© possΓvel criar a ligaΓ§Γ£o simbΓ³lica '%s' '%s'" -#: builtin/init-db.c:106 +#: builtin/init-db.c:85 #, c-format msgid "cannot copy '%s' to '%s'" -msgstr "" +msgstr "nΓ£o Γ© possΓvel copiar '%s' para '%s'" -#: builtin/init-db.c:110 +#: builtin/init-db.c:89 #, c-format msgid "ignoring template %s" -msgstr "" +msgstr "modelo %s ignorado" -#: builtin/init-db.c:133 -#, c-format -msgid "insanely long template path %s" -msgstr "" - -#: builtin/init-db.c:141 +#: builtin/init-db.c:118 #, c-format msgid "templates not found %s" -msgstr "" +msgstr "modelos nΓ£o encontrados em %s" -#: builtin/init-db.c:154 +#: builtin/init-db.c:131 #, c-format msgid "not copying templates of a wrong format version %d from '%s'" msgstr "" +"os modelos com versΓ£o de formato %d incorreta nΓ£o foram copiados de '%s'" -#: builtin/init-db.c:192 -#, c-format -msgid "insane git directory %s" -msgstr "" - -#: builtin/init-db.c:322 -#: builtin/init-db.c:325 +#: builtin/init-db.c:309 builtin/init-db.c:312 #, c-format msgid "%s already exists" msgstr "%s jΓ‘ existe" -#: builtin/init-db.c:354 +#: builtin/init-db.c:340 #, c-format msgid "unable to handle file type %d" -msgstr "" +msgstr "nΓ£o foi possΓvel processar o tipo de ficheiro %d" -#: builtin/init-db.c:357 +#: builtin/init-db.c:343 #, c-format msgid "unable to move %s to %s" -msgstr "" - -#: builtin/init-db.c:362 -#, c-format -msgid "Could not create git link %s" -msgstr "" +msgstr "nΓ£o foi possΓvel mover %s para %s" -#. -#. * TRANSLATORS: The first '%s' is either "Reinitialized -#. * existing" or "Initialized empty", the second " shared" or -#. * "", and the last '%s%s' is the verbatim directory name. -#. -#: builtin/init-db.c:419 +#. TRANSLATORS: The first '%s' is either "Reinitialized +#. existing" or "Initialized empty", the second " shared" or +#. "", and the last '%s%s' is the verbatim directory name. +#: builtin/init-db.c:399 #, c-format msgid "%s%s Git repository in %s%s\n" -msgstr "" +msgstr "RepositΓ³rio Git %s%s em %s%s\n" -#: builtin/init-db.c:420 +#: builtin/init-db.c:400 msgid "Reinitialized existing" -msgstr "" +msgstr "existente reinicializado" -#: builtin/init-db.c:420 +#: builtin/init-db.c:400 msgid "Initialized empty" -msgstr "Inicializada vazio" +msgstr "vazio inicializado" -#: builtin/init-db.c:421 +#: builtin/init-db.c:401 msgid " shared" msgstr " partilhado" -#: builtin/init-db.c:440 -msgid "cannot tell cwd" +#: builtin/init-db.c:448 +msgid "" +"git init [-q | --quiet] [--bare] [--template=<template-directory>] [--" +"shared[=<permissions>]] [<directory>]" +msgstr "" +"git init [-q | --quiet] [--bare] [--template=<diretΓ³rio-modelo>] [--" +"shared[=<permissΓ΅es>]] [<diretΓ³rio>]" + +#: builtin/init-db.c:471 +msgid "permissions" +msgstr "permissΓ΅es" + +#: builtin/init-db.c:472 +msgid "specify that the git repository is to be shared amongst several users" msgstr "" +"especificar que o repositΓ³rio git serΓ‘ partilhado por vΓ‘rios utilizadores" -#: builtin/init-db.c:521 -#: builtin/init-db.c:528 +#: builtin/init-db.c:506 builtin/init-db.c:511 #, c-format msgid "cannot mkdir %s" -msgstr "" +msgstr "nΓ£o Γ© possΓvel criar o diretΓ³rio %s" -#: builtin/init-db.c:532 +#: builtin/init-db.c:515 #, c-format msgid "cannot chdir to %s" -msgstr "" +msgstr "nΓ£o Γ© possΓvel mudar para o diretΓ³rio %s" -#: builtin/init-db.c:554 +#: builtin/init-db.c:536 #, c-format -msgid "%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-dir=<directory>)" -msgstr "" - -#: builtin/init-db.c:578 -msgid "Cannot access current working directory" +msgid "" +"%s (or --work-tree=<directory>) not allowed without specifying %s (or --git-" +"dir=<directory>)" msgstr "" +"%s (ou --work-tree=<diretΓ³rio>) nΓ£o Γ© permitido sem especificar %s (ou --git-" +"dir=<diretΓ³rio>)" -#: builtin/init-db.c:585 +#: builtin/init-db.c:564 #, c-format msgid "Cannot access work tree '%s'" +msgstr "NΓ£o Γ© possΓvel aceder Γ Γ‘rvore de trabalho '%s'" + +#: builtin/interpret-trailers.c:15 +msgid "" +"git interpret-trailers [--in-place] [--trim-empty] [(--trailer " +"<token>[(=|:)<value>])...] [<file>...]" msgstr "" +"git interpret-trailers [--in-place] [--trim-empty] [(--trailer " +"<token>[(=|:)<valor>])...] [<ficheiro>...]" + +#: builtin/interpret-trailers.c:26 +msgid "edit files in place" +msgstr "editar ficheiros no local" + +#: builtin/interpret-trailers.c:27 +msgid "trim empty trailers" +msgstr "cortar terminadores vazios" + +#: builtin/interpret-trailers.c:28 +msgid "trailer" +msgstr "terminador" + +#: builtin/interpret-trailers.c:29 +msgid "trailer(s) to add" +msgstr "terminadores a adicionar" + +#: builtin/interpret-trailers.c:42 +msgid "no input file given for in-place editing" +msgstr "nenhum ficheiro de entrada fornecido para ediΓ§Γ£o no local" -#: builtin/log.c:188 +#: builtin/log.c:43 +msgid "git log [<options>] [<revision-range>] [[--] <path>...]" +msgstr "git log [<opΓ§Γ΅es>] [<intervalo-de-revisΓ΅es>] [[--] <caminho>...]" + +#: builtin/log.c:44 +msgid "git show [<options>] <object>..." +msgstr "git show [<opΓ§Γ΅es>] <objeto>..." + +#: builtin/log.c:83 +#, c-format +msgid "invalid --decorate option: %s" +msgstr "opΓ§Γ£o --decorate invΓ‘lida: %s" + +#: builtin/log.c:131 +msgid "suppress diff output" +msgstr "suprimir saΓda do diff" + +#: builtin/log.c:132 +msgid "show source" +msgstr "mostrar origem" + +#: builtin/log.c:133 +msgid "Use mail map file" +msgstr "usar ficheiro de mapeamento de correio" + +#: builtin/log.c:134 +msgid "decorate options" +msgstr "opΓ§Γ΅es de decoraΓ§Γ£o" + +#: builtin/log.c:137 +msgid "Process line range n,m in file, counting from 1" +msgstr "processar intervalo de linhas n,m, a cantar a partir de 1" + +#: builtin/log.c:233 #, c-format msgid "Final output: %d %s\n" -msgstr "" +msgstr "Resultado final: %d %s\n" + +#: builtin/log.c:465 +#, c-format +msgid "git show %s: bad file" +msgstr "git show %s: ficheiro incorreto" -#: builtin/log.c:401 -#: builtin/log.c:489 +#: builtin/log.c:479 builtin/log.c:572 #, c-format msgid "Could not read object %s" -msgstr "" +msgstr "NΓ£o foi possΓvel ler o objeto %s" -#: builtin/log.c:513 +#: builtin/log.c:596 #, c-format msgid "Unknown type: %d" msgstr "Tipo desconhecido: %d" -#: builtin/log.c:602 +#: builtin/log.c:715 msgid "format.headers without value" -msgstr "" +msgstr "format.headers sem valor" -#: builtin/log.c:675 +#: builtin/log.c:801 msgid "name of output directory is too long" -msgstr "nome do diretΓ³rio de saΓda Γ© demasiado longo" +msgstr "o nome do diretΓ³rio de saΓda Γ© demasiado longo" -#: builtin/log.c:686 +#: builtin/log.c:816 #, c-format msgid "Cannot open patch file %s" -msgstr "NΓ£o Γ© possivel abrir o ficheiro patch %s" +msgstr "NΓ£o Γ© possΓvel abrir o ficheiro de patch %s" -#: builtin/log.c:700 +#: builtin/log.c:830 msgid "Need exactly one range." -msgstr "Necessita de exatamente um intervalo." +msgstr "Γ necessΓ‘rio exatamente um intervalo." -#: builtin/log.c:708 +#: builtin/log.c:840 msgid "Not a range." msgstr "NΓ£o Γ© um intervalo." -#: builtin/log.c:745 -msgid "Could not extract email from committer identity." -msgstr "NΓ£o foi possΓvel extrair a identidade do committer do e-mail." - -#: builtin/log.c:791 +#: builtin/log.c:946 msgid "Cover letter needs email format" -msgstr "Carta de apresentaΓ§Γ£o necessita um modelo de e-mail" +msgstr "A carta de apresentaΓ§Γ£o precisa de um formato de e-mail" -#: builtin/log.c:885 +#: builtin/log.c:1025 #, c-format msgid "insane in-reply-to: %s" -msgstr "" +msgstr "in-reply-to incorreto: %s" -#: builtin/log.c:958 +#: builtin/log.c:1053 +msgid "git format-patch [<options>] [<since> | <revision-range>]" +msgstr "git format-patch [<opΓ§Γ΅es>] [<desde> | <intervalo-de-revisΓ΅es>]" + +#: builtin/log.c:1098 msgid "Two output directories?" msgstr "Dois diretΓ³rios de saΓda?" -#: builtin/log.c:1179 -#, c-format -msgid "bogus committer info %s" -msgstr "" +#: builtin/log.c:1214 +msgid "use [PATCH n/m] even with a single patch" +msgstr "usar [PATCH n/m] mesmo com um ΓΊnico patch" -#: builtin/log.c:1224 -msgid "-n and -k are mutually exclusive." +#: builtin/log.c:1217 +msgid "use [PATCH] even with multiple patches" +msgstr "usar [PATCH] mesmo com mΓΊltiplos patches" + +#: builtin/log.c:1221 +msgid "print patches to standard out" +msgstr "imprimir patches para a saΓda padrΓ£o" + +#: builtin/log.c:1223 +msgid "generate a cover letter" +msgstr "gerar uma carta de apresentaΓ§Γ£o" + +#: builtin/log.c:1225 +msgid "use simple number sequence for output file names" msgstr "" +"usar uma sequΓͺncia de nΓΊmeros simples para denominar os ficheiros gerados" #: builtin/log.c:1226 -msgid "--subject-prefix and -k are mutually exclusive." -msgstr "" +msgid "sfx" +msgstr "sfx" -#: builtin/log.c:1234 -msgid "--name-only does not make sense" -msgstr "" +#: builtin/log.c:1227 +msgid "use <sfx> instead of '.patch'" +msgstr "usar <sfx> em vez de '.patch'" + +#: builtin/log.c:1229 +msgid "start numbering patches at <n> instead of 1" +msgstr "comeΓ§ar a numerar os patches em <n> em vez de 1" + +#: builtin/log.c:1231 +msgid "mark the series as Nth re-roll" +msgstr "marcar a sΓ©rie como a n-Γ©sima reiteraΓ§Γ£o" + +#: builtin/log.c:1233 +msgid "Use [<prefix>] instead of [PATCH]" +msgstr "usar [<prefixo>] em vez de [PATCH]" #: builtin/log.c:1236 -msgid "--name-status does not make sense" +msgid "store resulting files in <dir>" +msgstr "guardar os ficheiros resultantes em <dir>" + +#: builtin/log.c:1239 +msgid "don't strip/add [PATCH]" +msgstr "nΓ£o tirar/inserir [PATCH]" + +#: builtin/log.c:1242 +msgid "don't output binary diffs" +msgstr "nΓ£o gerar diffs binΓ‘rios" + +#: builtin/log.c:1244 +msgid "output all-zero hash in From header" +msgstr "preencher o cabeΓ§alho From com hash de zeros" + +#: builtin/log.c:1246 +msgid "don't include a patch matching a commit upstream" +msgstr "nΓ£o incluir um patch que coincida com um commit a montante" + +#: builtin/log.c:1248 +msgid "show patch format instead of default (patch + stat)" msgstr "" +"mostrar no formato de patch em vez de no formato por omissΓ£o (patch + stat)" -#: builtin/log.c:1238 -msgid "--check does not make sense" +#: builtin/log.c:1250 +msgid "Messaging" +msgstr "Mensagem" + +#: builtin/log.c:1251 +msgid "header" +msgstr "cabeΓ§alho" + +#: builtin/log.c:1252 +msgid "add email header" +msgstr "adicionar cabeΓ§alho de e-mail" + +#: builtin/log.c:1253 builtin/log.c:1255 +msgid "email" +msgstr "e-mail" + +#: builtin/log.c:1253 +msgid "add To: header" +msgstr "adicionar cabeΓ§alho To:" + +#: builtin/log.c:1255 +msgid "add Cc: header" +msgstr "adicionar cabeΓ§alho Cc:" + +#: builtin/log.c:1257 +msgid "ident" +msgstr "identidade" + +#: builtin/log.c:1258 +msgid "set From address to <ident> (or committer ident if absent)" msgstr "" +"definir o endereΓ§o From como <identidade> (ou como identidade do committer " +"se nΓ£o indicado)" + +#: builtin/log.c:1260 +msgid "message-id" +msgstr "id-mensagem" #: builtin/log.c:1261 +msgid "make first mail a reply to <message-id>" +msgstr "usar o primeiro email para responder a <id-mensagem>" + +#: builtin/log.c:1262 builtin/log.c:1265 +msgid "boundary" +msgstr "limite" + +#: builtin/log.c:1263 +msgid "attach the patch" +msgstr "anexar o patch" + +#: builtin/log.c:1266 +msgid "inline the patch" +msgstr "incorporar o patch" + +#: builtin/log.c:1270 +msgid "enable message threading, styles: shallow, deep" +msgstr "ativar mensagens por tΓ³picos, estilos: shallow (raso), deep (profundo)" + +#: builtin/log.c:1272 +msgid "signature" +msgstr "assinatura" + +#: builtin/log.c:1273 +msgid "add a signature" +msgstr "adicionar uma assinatura" + +#: builtin/log.c:1275 +msgid "add a signature from a file" +msgstr "adicionar uma assinatura de um ficheiro" + +#: builtin/log.c:1276 +msgid "don't print the patch filenames" +msgstr "nΓ£o imprimir os nomes dos ficheiros de patch" + +#: builtin/log.c:1365 +msgid "-n and -k are mutually exclusive." +msgstr "-n e -k sΓ£o mutuamente exclusivos." + +#: builtin/log.c:1367 +msgid "--subject-prefix and -k are mutually exclusive." +msgstr "--subject-prefix e -k sΓ£o mutuamente exclusivos." + +#: builtin/log.c:1375 +msgid "--name-only does not make sense" +msgstr "--name-only nΓ£o faz sentido" + +#: builtin/log.c:1377 +msgid "--name-status does not make sense" +msgstr "--name-status nΓ£o faz sentido" + +#: builtin/log.c:1379 +msgid "--check does not make sense" +msgstr "--check nΓ£o faz sentido" + +#: builtin/log.c:1407 msgid "standard output, or directory, which one?" msgstr "saΓda padrΓ£o, ou diretΓ³rio, qual deles?" -#: builtin/log.c:1263 +#: builtin/log.c:1409 #, c-format msgid "Could not create directory '%s'" -msgstr "" +msgstr "NΓ£o foi possΓvel criar o diretΓ³rio '%s'" -#: builtin/log.c:1416 +#: builtin/log.c:1506 +#, c-format +msgid "unable to read signature file '%s'" +msgstr "nΓ£o Γ© possΓvel ler o ficheiro de assinatura '%s'" + +#: builtin/log.c:1569 msgid "Failed to create output files" -msgstr "Falhou ao criar ficheiros de saΓda" +msgstr "Falha ao criar os ficheiros de saΓda" + +#: builtin/log.c:1617 +msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" +msgstr "git cherry [-v] [<ramo-a-montante> [<head> [<limite>]]]" -#: builtin/log.c:1520 +#: builtin/log.c:1671 #, c-format -msgid "Could not find a tracked remote branch, please specify <upstream> manually.\n" +msgid "" +"Could not find a tracked remote branch, please specify <upstream> manually.\n" msgstr "" +"O ramo remoto seguido nΓ£o foi encontrado, especifique <ramo-a-montante> " +"manualmente.\n" -#: builtin/log.c:1536 -#: builtin/log.c:1538 -#: builtin/log.c:1550 +#: builtin/log.c:1682 builtin/log.c:1684 builtin/log.c:1696 #, c-format msgid "Unknown commit %s" msgstr "Commit desconhecido %s" -#: builtin/merge.c:90 -msgid "switch `m' requires a value" +#: builtin/ls-files.c:378 +msgid "git ls-files [<options>] [<file>...]" +msgstr "git ls-files [<opΓ§Γ΅es>] [<ficheiro>...]" + +#: builtin/ls-files.c:427 +msgid "identify the file status with tags" +msgstr "identificar o estado do ficheiro com tags" + +#: builtin/ls-files.c:429 +msgid "use lowercase letters for 'assume unchanged' files" +msgstr "" +"usar letras minΓΊsculas para ficheiros 'assumido nΓ£o alterado' ('assume " +"unchanged')" + +#: builtin/ls-files.c:431 +msgid "show cached files in the output (default)" +msgstr "mostrar ficheiros em cache na saΓda" + +#: builtin/ls-files.c:433 +msgid "show deleted files in the output" +msgstr "mostrar ficheiros eliminados na saΓda" + +#: builtin/ls-files.c:435 +msgid "show modified files in the output" +msgstr "mostrar ficheiros modificados na saΓda" + +#: builtin/ls-files.c:437 +msgid "show other files in the output" +msgstr "mostrar outros ficheiros na saΓda" + +#: builtin/ls-files.c:439 +msgid "show ignored files in the output" +msgstr "mostrar ficheiros ignorados na saΓda" + +#: builtin/ls-files.c:442 +msgid "show staged contents' object name in the output" +msgstr "mostrar nome de objetos com conteΓΊdo preparado, na saΓda" + +#: builtin/ls-files.c:444 +msgid "show files on the filesystem that need to be removed" +msgstr "" +"mostrar ficheiros no sistema de ficheiros que precisam de ser removidos" + +#: builtin/ls-files.c:446 +msgid "show 'other' directories' names only" +msgstr "mostrar nomes de diretΓ³rios 'other' (outro)" + +#: builtin/ls-files.c:448 +msgid "show line endings of files" +msgstr "mostrar finais de linha dos ficheiros" + +#: builtin/ls-files.c:450 +msgid "don't show empty directories" +msgstr "nΓ£o mostrar diretΓ³rios vazios" + +#: builtin/ls-files.c:453 +msgid "show unmerged files in the output" +msgstr "mostrar ficheiros com versΓ΅es nΓ£o conciliadas, na saΓda" + +#: builtin/ls-files.c:455 +msgid "show resolve-undo information" +msgstr "mostrar informaΓ§Γ£o de resolver-anular" + +#: builtin/ls-files.c:457 +msgid "skip files matching pattern" +msgstr "ignorar ficheiros que correspondam ao padrΓ£o" + +#: builtin/ls-files.c:460 +msgid "exclude patterns are read from <file>" +msgstr "ler padrΓ΅es de exclusΓ£o do <ficheiro>" + +#: builtin/ls-files.c:463 +msgid "read additional per-directory exclude patterns in <file>" +msgstr "ler padrΓ΅es de exclusΓ£o por diretΓ³rio do <ficheiro>" + +#: builtin/ls-files.c:465 +msgid "add the standard git exclusions" +msgstr "incluir as exclusΓ΅es standard do git" + +#: builtin/ls-files.c:468 +msgid "make the output relative to the project top directory" +msgstr "mostrar os caminhos relativamente ao diretΓ³rio superior do projeto" + +#: builtin/ls-files.c:471 +msgid "if any <file> is not in the index, treat this as an error" +msgstr "se um <ficheiro> nΓ£o estiver no Γndice, tratar como erro" + +#: builtin/ls-files.c:472 +msgid "tree-ish" +msgstr "Γ‘rvore" + +#: builtin/ls-files.c:473 +msgid "pretend that paths removed since <tree-ish> are still present" +msgstr "fingir que os caminhos removidos desde <Γ‘rvore> ainda estΓ£o presentes" + +#: builtin/ls-files.c:475 +msgid "show debugging data" +msgstr "mostrar dados de depuraΓ§Γ£o" + +#: builtin/ls-remote.c:7 +msgid "" +"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n" +" [-q | --quiet] [--exit-code] [--get-url]\n" +" [--symref] [<repository> [<refs>...]]" msgstr "" +"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n" +" [-q | --quiet] [--exit-code] [--get-url]\n" +" [--symref] [<repositΓ³rio> [<referΓͺncias>...]]" + +#: builtin/ls-remote.c:50 +msgid "do not print remote URL" +msgstr "nΓ£o imprimir URL remoto" + +#: builtin/ls-remote.c:51 builtin/ls-remote.c:53 +msgid "exec" +msgstr "exec" + +#: builtin/ls-remote.c:52 builtin/ls-remote.c:54 +msgid "path of git-upload-pack on the remote host" +msgstr "caminho para git-upload-pack no servidor remoto" + +#: builtin/ls-remote.c:56 +msgid "limit to tags" +msgstr "restringir-se a tags" + +#: builtin/ls-remote.c:57 +msgid "limit to heads" +msgstr "restringir-se a cabeΓ§as" + +#: builtin/ls-remote.c:58 +msgid "do not show peeled tags" +msgstr "nΓ£o mostrar tags descascadas" + +#: builtin/ls-remote.c:60 +msgid "take url.<base>.insteadOf into account" +msgstr "ter url.<base>.insteadOf em conta" + +#: builtin/ls-remote.c:62 +msgid "exit with exit code 2 if no matching refs are found" +msgstr "terminar com cΓ³digo de saΓda 2 se nΓ£o forem encontradas referΓͺncias" + +#: builtin/ls-remote.c:64 +msgid "show underlying ref in addition to the object pointed by it" +msgstr "mostrar a referΓͺncia subjacente em adiΓ§Γ£o ao objeto por ela apontado" + +#: builtin/ls-tree.c:28 +msgid "git ls-tree [<options>] <tree-ish> [<path>...]" +msgstr "git ls-tree [<opΓ§Γ΅es>] <Γ‘rvore> [<caminho>...]" + +#: builtin/ls-tree.c:128 +msgid "only show trees" +msgstr "mostrar apenas Γ‘rvores" + +#: builtin/ls-tree.c:130 +msgid "recurse into subtrees" +msgstr "percorrer as subΓ‘rvores recursivamente" + +#: builtin/ls-tree.c:132 +msgid "show trees when recursing" +msgstr "mostrar Γ‘rvores ao percorrer" -#: builtin/merge.c:127 +#: builtin/ls-tree.c:135 +msgid "terminate entries with NUL byte" +msgstr "terminar entradas com o byte NUL" + +#: builtin/ls-tree.c:136 +msgid "include object size" +msgstr "incluir dimensΓ£o dos objetos" + +#: builtin/ls-tree.c:138 builtin/ls-tree.c:140 +msgid "list only filenames" +msgstr "listar apenas os nomes de ficheiro" + +#: builtin/ls-tree.c:143 +msgid "use full path names" +msgstr "usar nomes de caminho completos" + +#: builtin/ls-tree.c:145 +msgid "list entire tree; not just current directory (implies --full-name)" +msgstr "" +"mostrar a Γ‘rvore completa; nΓ£o apenas o diretΓ³rio atual (implica --full-name)" + +#: builtin/merge.c:45 +msgid "git merge [<options>] [<commit>...]" +msgstr "git merge [<opΓ§Γ΅es>] [<commit>...]" + +#: builtin/merge.c:46 +msgid "git merge [<options>] <msg> HEAD <commit>" +msgstr "git merge [<opΓ§Γ΅es>] <msg> HEAD <commit>" + +#: builtin/merge.c:47 +msgid "git merge --abort" +msgstr "git merge --abort" + +#: builtin/merge.c:100 +msgid "switch `m' requires a value" +msgstr "a opΓ§Γ£o 'm' requer um valor" + +#: builtin/merge.c:137 #, c-format msgid "Could not find merge strategy '%s'.\n" -msgstr "" +msgstr "EstratΓ©gia de merge '%s' nΓ£o encontrada.\n" -#: builtin/merge.c:128 +#: builtin/merge.c:138 #, c-format msgid "Available strategies are:" -msgstr "As estratΓ©gias disponΓveis sΓ£o:" +msgstr "EstratΓ©gias disponΓveis:" -#: builtin/merge.c:133 +#: builtin/merge.c:143 #, c-format msgid "Available custom strategies are:" -msgstr "EstratΓ©gias personalizadas disponΓveis sΓ£o:" +msgstr "EstratΓ©gias personalizadas disponΓveis:" -#: builtin/merge.c:240 -msgid "could not run stash." +#: builtin/merge.c:193 builtin/pull.c:123 +msgid "do not show a diffstat at the end of the merge" +msgstr "nΓ£o apresentar um diffstat no final do merge" + +#: builtin/merge.c:196 builtin/pull.c:126 +msgid "show a diffstat at the end of the merge" +msgstr "mostrar um diffstat no final do merge" + +#: builtin/merge.c:197 builtin/pull.c:129 +msgid "(synonym to --stat)" +msgstr "(sinΓ³nimo de --stat)" + +#: builtin/merge.c:199 builtin/pull.c:132 +msgid "add (at most <n>) entries from shortlog to merge commit message" msgstr "" +"adicionar (no mΓ‘ximo <n>) entradas do shortlog Γ mensagem de commit do merge" + +#: builtin/merge.c:202 builtin/pull.c:135 +msgid "create a single commit instead of doing a merge" +msgstr "criar um ΓΊnico commit em vez de realizar um merge" + +#: builtin/merge.c:204 builtin/pull.c:138 +msgid "perform a commit if the merge succeeds (default)" +msgstr "realizar um commit se o merge for bem sucedido (predefiniΓ§Γ£o)" + +#: builtin/merge.c:206 builtin/pull.c:141 +msgid "edit message before committing" +msgstr "editar a mensagem antes de realizar commit" + +#: builtin/merge.c:207 +msgid "allow fast-forward (default)" +msgstr "permitir avanΓ§o rΓ‘pido (predefiniΓ§Γ£o)" + +#: builtin/merge.c:209 builtin/pull.c:147 +msgid "abort if fast-forward is not possible" +msgstr "abortar se nΓ£o Γ© possΓvel efetuar avanΓ§o rΓ‘pido" + +#: builtin/merge.c:213 +msgid "Verify that the named commit has a valid GPG signature" +msgstr "verificar se o commit tem uma assinatura GPG vΓ‘lida" + +#: builtin/merge.c:214 builtin/notes.c:770 builtin/pull.c:152 +#: builtin/revert.c:89 +msgid "strategy" +msgstr "estratΓ©gia" + +#: builtin/merge.c:215 builtin/pull.c:153 +msgid "merge strategy to use" +msgstr "estratΓ©gia de merge a usar" + +#: builtin/merge.c:216 builtin/pull.c:156 +msgid "option=value" +msgstr "opΓ§Γ£o=valor" -#: builtin/merge.c:245 +#: builtin/merge.c:217 builtin/pull.c:157 +msgid "option for selected merge strategy" +msgstr "opΓ§Γ΅es para a estratΓ©gia de merge selecionada" + +#: builtin/merge.c:219 +msgid "merge commit message (for a non-fast-forward merge)" +msgstr "mensagem de commit (de merge nΓ£o suscetΓvel a avanΓ§o rΓ‘pido)" + +#: builtin/merge.c:223 +msgid "abort the current in-progress merge" +msgstr "abortar merge em curso" + +#: builtin/merge.c:251 +msgid "could not run stash." +msgstr "nΓ£o foi possΓvel executar o comando stash." + +#: builtin/merge.c:256 msgid "stash failed" -msgstr "falhou o stash" +msgstr "falha ao executar o comando stash" -#: builtin/merge.c:250 +#: builtin/merge.c:261 #, c-format msgid "not a valid object: %s" -msgstr "" +msgstr "nome de objeto invΓ‘lido: %s" -#: builtin/merge.c:269 -#: builtin/merge.c:286 +#: builtin/merge.c:280 builtin/merge.c:297 msgid "read-tree failed" -msgstr "" +msgstr "falha ao executar o comando read-tree" -#: builtin/merge.c:316 +#: builtin/merge.c:327 msgid " (nothing to squash)" -msgstr " (nada para squash)" +msgstr " (nΓ£o hΓ‘ nada para esmagar)" -#: builtin/merge.c:329 +#: builtin/merge.c:340 #, c-format msgid "Squash commit -- not updating HEAD\n" -msgstr "" +msgstr "Commit esmagado -- HEAD nΓ£o atualizada\n" + +#: builtin/merge.c:344 builtin/merge.c:764 builtin/merge.c:976 +#: builtin/merge.c:989 +#, c-format +msgid "Could not write to '%s'" +msgstr "NΓ£o foi possΓvel escrever em '%s'" -#: builtin/merge.c:361 +#: builtin/merge.c:372 msgid "Writing SQUASH_MSG" -msgstr "Escrevendo SQUASH_MSG" +msgstr "A escrever SQUASH_MSG" -#: builtin/merge.c:363 +#: builtin/merge.c:374 msgid "Finishing SQUASH_MSG" -msgstr "Terminando SQUASH_MSG" +msgstr "A concluir SQUASH_MSG" -#: builtin/merge.c:386 +#: builtin/merge.c:397 #, c-format msgid "No merge message -- not updating HEAD\n" -msgstr "" +msgstr "Sem mensagem de merge -- HEAD nΓ£o atualizada\n" -#: builtin/merge.c:437 +#: builtin/merge.c:448 #, c-format msgid "'%s' does not point to a commit" -msgstr "" +msgstr "'%s' nΓ£o aponta para um commit" -#: builtin/merge.c:536 +#: builtin/merge.c:538 #, c-format msgid "Bad branch.%s.mergeoptions string: %s" -msgstr "" - -#: builtin/merge.c:629 -msgid "git write-tree failed to write a tree" -msgstr "" - -#: builtin/merge.c:679 -msgid "failed to read the cache" -msgstr "" - -#: builtin/merge.c:697 -msgid "Unable to write index." -msgstr "" +msgstr "Valor de branch.%s.mergeoptions incorreto: %s" -#: builtin/merge.c:710 +#: builtin/merge.c:657 msgid "Not handling anything other than two heads merge." -msgstr "" +msgstr "A processar exclusivamente merge de duas cabeΓ§as." -#: builtin/merge.c:724 +#: builtin/merge.c:671 #, c-format msgid "Unknown option for merge-recursive: -X%s" -msgstr "" +msgstr "OpΓ§Γ£o desconhecida de merge-recursive: -X%s" -#: builtin/merge.c:738 +#: builtin/merge.c:684 #, c-format msgid "unable to write %s" -msgstr "" +msgstr "nΓ£o foi possΓvel escrever %s" -#: builtin/merge.c:877 +#: builtin/merge.c:773 #, c-format msgid "Could not read from '%s'" -msgstr "" +msgstr "NΓ£o foi possΓvel ler '%s'" -#: builtin/merge.c:886 +#: builtin/merge.c:782 #, c-format msgid "Not committing merge; use 'git commit' to complete the merge.\n" -msgstr "NΓ£o commitando um merge; usa 'git commit' para completar o merge.\n" +msgstr "" +"Commit do merge nΓ£o realizado; use 'git commit' para concluir o merge.\n" -#: builtin/merge.c:892 +#: builtin/merge.c:788 +#, c-format msgid "" "Please enter a commit message to explain why this merge is necessary,\n" "especially if it merges an updated upstream into a topic branch.\n" "\n" -"Lines starting with '#' will be ignored, and an empty message aborts\n" +"Lines starting with '%c' will be ignored, and an empty message aborts\n" "the commit.\n" msgstr "" +"Introduza uma mensagem de commit, explicando por que este merge Γ© " +"necessΓ‘rio,\n" +"sobretudo se incorpora um ramo a montante atualizado, com um ramo tΓ³pico.\n" +"\n" +"Linhas comeΓ§adas com '%c' sΓ£o ignoradas, e uma mensagem vazia\n" +"aborta o commit.\n" -#: builtin/merge.c:916 +#: builtin/merge.c:812 msgid "Empty commit message." msgstr "Mensagem de commit vazia." -#: builtin/merge.c:928 +#: builtin/merge.c:824 #, c-format msgid "Wonderful.\n" -msgstr "Fastastico.\n" +msgstr "Maravilhoso.\n" -#: builtin/merge.c:993 +#: builtin/merge.c:879 #, c-format msgid "Automatic merge failed; fix conflicts and then commit the result.\n" msgstr "" +"Falha ao realizar merge automΓ‘tico; corrija os conflitos e faΓ§a commit do " +"resultado.\n" -#: builtin/merge.c:1009 +#: builtin/merge.c:895 #, c-format msgid "'%s' is not a commit" msgstr "'%s' nΓ£o Γ© um commit" -#: builtin/merge.c:1050 +#: builtin/merge.c:936 msgid "No current branch." -msgstr "Nenhuma rama actual" +msgstr "Nenhum ramo atual." -#: builtin/merge.c:1052 +#: builtin/merge.c:938 msgid "No remote for the current branch." -msgstr "" +msgstr "NΓ£o hΓ‘ um remoto para o ramo atual." -#: builtin/merge.c:1054 +#: builtin/merge.c:940 msgid "No default upstream defined for the current branch." -msgstr "" +msgstr "NΓ£o estΓ‘ definido nenhum ramo a montante para o ramo atual." -#: builtin/merge.c:1059 +#: builtin/merge.c:945 #, c-format -msgid "No remote tracking branch for %s from %s" -msgstr "" +msgid "No remote-tracking branch for %s from %s" +msgstr "Nenhum ramo remoto seguido por %s de %s" -#: builtin/merge.c:1146 -#: builtin/merge.c:1303 +#: builtin/merge.c:1080 #, c-format -msgid "%s - not something we can merge" -msgstr "" +msgid "could not close '%s'" +msgstr "nΓ£o foi possΓvel fechar '%s'" -#: builtin/merge.c:1214 +#: builtin/merge.c:1207 msgid "There is no merge to abort (MERGE_HEAD missing)." -msgstr "" +msgstr "NΓ£o hΓ‘ nenhum merge para abortar (MERGE_HEAD nΓ£o presente)." -#: builtin/merge.c:1230 -#: git-pull.sh:31 +#: builtin/merge.c:1223 msgid "" "You have not concluded your merge (MERGE_HEAD exists).\n" -"Please, commit your changes before you can merge." -msgstr "" - -#: builtin/merge.c:1233 -#: git-pull.sh:34 -msgid "You have not concluded your merge (MERGE_HEAD exists)." +"Please, commit your changes before you merge." msgstr "" +"Merge nΓ£o concluΓdo (MERGE_HEAD presente).\n" +"FaΓ§a commit das suas alteraΓ§Γ΅es antes de realizar merge." -#: builtin/merge.c:1237 +#: builtin/merge.c:1230 msgid "" "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n" -"Please, commit your changes before you can merge." +"Please, commit your changes before you merge." msgstr "" +"Cherry-pick nΓ£o concluΓdo (CHERRY_PICK_HEAD presente).\n" +"FaΓ§a commit das suas alteraΓ§Γ΅es antes de realizar merge." -#: builtin/merge.c:1240 +#: builtin/merge.c:1233 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)." -msgstr "" +msgstr "Cherry-pick nΓ£o concluΓdo (CHERRY_PICK_HEAD presente)." -#: builtin/merge.c:1249 +#: builtin/merge.c:1242 msgid "You cannot combine --squash with --no-ff." -msgstr "" +msgstr "NΓ£o Γ© possΓvel combinar --squash e --no-ff." -#: builtin/merge.c:1254 -msgid "You cannot combine --no-ff with --ff-only." -msgstr "" - -#: builtin/merge.c:1261 +#: builtin/merge.c:1250 msgid "No commit specified and merge.defaultToUpstream not set." +msgstr "Nenhum commit especificado e merge.defaultToUpstream nΓ£o definido." + +#: builtin/merge.c:1267 +msgid "Squash commit into empty head not supported yet" +msgstr "Esmagar um commit numa cabeΓ§a vazia ainda nΓ£o Γ© suportado" + +#: builtin/merge.c:1269 +msgid "Non-fast-forward commit does not make sense into an empty head" msgstr "" +"NΓ£o faz sentido efetuar commit nΓ£o suscetΓvel a avanΓ§o rΓ‘pido, numa cabeΓ§a " +"vazia" -#: builtin/merge.c:1293 +#: builtin/merge.c:1275 +#, c-format +msgid "%s - not something we can merge" +msgstr "%s - nΓ£o Γ© algo suscetΓvel a merge" + +#: builtin/merge.c:1277 msgid "Can merge only exactly one commit into empty head" -msgstr "" +msgstr "SΓ³ Γ© possΓvel realizar merge de exatamente um commit numa cabeΓ§a vazia" -#: builtin/merge.c:1296 -msgid "Squash commit into empty head not supported yet" +#: builtin/merge.c:1332 +#, c-format +msgid "Commit %s has an untrusted GPG signature, allegedly by %s." msgstr "" +"A assinatura GPG do commit %s, alegadamente assinada por %s, nΓ£o Γ© de " +"confianΓ§a." -#: builtin/merge.c:1298 -msgid "Non-fast-forward commit does not make sense into an empty head" +#: builtin/merge.c:1335 +#, c-format +msgid "Commit %s has a bad GPG signature allegedly by %s." msgstr "" +"A assinatura GPG do commit %s, alegadamente assinada por %s, estΓ‘ incorreta." + +#: builtin/merge.c:1338 +#, c-format +msgid "Commit %s does not have a GPG signature." +msgstr "O commit %s nΓ£o tem uma assinatura GPG." -#: builtin/merge.c:1413 +#: builtin/merge.c:1341 +#, c-format +msgid "Commit %s has a good GPG signature by %s\n" +msgstr "A assinatura GPG do commit %s por %s estΓ‘ correta\n" + +#: builtin/merge.c:1424 #, c-format msgid "Updating %s..%s\n" -msgstr "Actualizando %s..%s\n" +msgstr "A atualizar %s..%s\n" -#: builtin/merge.c:1451 +#: builtin/merge.c:1461 #, c-format msgid "Trying really trivial in-index merge...\n" -msgstr "" +msgstr "A tentar merge mesmo trivial no interior do Γndice...\n" -#: builtin/merge.c:1458 +#: builtin/merge.c:1468 #, c-format msgid "Nope.\n" msgstr "NΓ£o.\n" -#: builtin/merge.c:1490 +#: builtin/merge.c:1500 msgid "Not possible to fast-forward, aborting." -msgstr "" +msgstr "NΓ£o Γ© possΓvel avanΓ§ar rapidamente, a abortar." -#: builtin/merge.c:1513 -#: builtin/merge.c:1592 +#: builtin/merge.c:1523 builtin/merge.c:1602 #, c-format msgid "Rewinding the tree to pristine...\n" -msgstr "" +msgstr "A recuar a Γ‘rvore ao seu estado original...\n" -#: builtin/merge.c:1517 +#: builtin/merge.c:1527 #, c-format msgid "Trying merge strategy %s...\n" -msgstr "" +msgstr "A tentar a estratΓ©gia de merge %s...\n" -#: builtin/merge.c:1583 +#: builtin/merge.c:1593 #, c-format msgid "No merge strategy handled the merge.\n" -msgstr "" +msgstr "Nenhuma estratΓ©gia de merge conseguiu processar o merge.\n" -#: builtin/merge.c:1585 +#: builtin/merge.c:1595 #, c-format msgid "Merge with strategy %s failed.\n" -msgstr "Fundir com a estratΓ©gia %s falhou.\n" +msgstr "Falha ao realizar merge com a estratΓ©gia %s.\n" -#: builtin/merge.c:1594 +#: builtin/merge.c:1604 #, c-format msgid "Using the %s to prepare resolving by hand.\n" -msgstr "" +msgstr "A usar %s para preparar resoluΓ§Γ£o manual.\n" -#: builtin/merge.c:1606 +#: builtin/merge.c:1616 #, c-format msgid "Automatic merge went well; stopped before committing as requested\n" msgstr "" +"O merge automΓ‘tico foi bem sucedido; interrompido antes de realizar commit " +"como pretendido\n" -#: builtin/mv.c:108 -#, c-format -msgid "Checking rename of '%s' to '%s'\n" +#: builtin/merge-base.c:29 +msgid "git merge-base [-a | --all] <commit> <commit>..." +msgstr "git merge-base [-a | --all] <commit> <commit>..." + +#: builtin/merge-base.c:30 +msgid "git merge-base [-a | --all] --octopus <commit>..." +msgstr "git merge-base [-a | --all] --octopus <commit>..." + +#: builtin/merge-base.c:31 +msgid "git merge-base --independent <commit>..." +msgstr "git merge-base --independent <commit>..." + +#: builtin/merge-base.c:32 +msgid "git merge-base --is-ancestor <commit> <commit>" +msgstr "git merge-base --is-ancestor <commit> <commit>" + +#: builtin/merge-base.c:33 +msgid "git merge-base --fork-point <ref> [<commit>]" +msgstr "git merge-base --fork-point <referΓͺncia> [<commit>]" + +#: builtin/merge-base.c:214 +msgid "output all common ancestors" +msgstr "mostrar todos os antecessores" + +#: builtin/merge-base.c:216 +msgid "find ancestors for a single n-way merge" +msgstr "encontrar antecessores de um ΓΊnico merge com n pontos" + +#: builtin/merge-base.c:218 +msgid "list revs not reachable from others" +msgstr "listar revisΓ΅es nΓ£o alcanΓ§Γ‘veis a partir de outras" + +#: builtin/merge-base.c:220 +msgid "is the first one ancestor of the other?" +msgstr "o primeiro Γ© antecessor do segundo?" + +#: builtin/merge-base.c:222 +msgid "find where <commit> forked from reflog of <ref>" +msgstr "" +"descobrir aonde foi que o <commit> divergiu usando o reflog da <referΓͺncia>" + +#: builtin/merge-file.c:8 +msgid "" +"git merge-file [<options>] [-L <name1> [-L <orig> [-L <name2>]]] <file1> " +"<orig-file> <file2>" +msgstr "" +"git merge-file [<opΓ§Γ΅es>] [-L <nome1> [-L <orig> [-L <nome2>]]] <ficheiro1> " +"<ficheiro-orig> <ficheiro2>" + +#: builtin/merge-file.c:33 +msgid "send results to standard output" +msgstr "enviar resultados para a saΓda padrΓ£o" + +#: builtin/merge-file.c:34 +msgid "use a diff3 based merge" +msgstr "usar merge baseado em diff3" + +#: builtin/merge-file.c:35 +msgid "for conflicts, use our version" +msgstr "usar a nossa versΓ£o em caso de conflito" + +#: builtin/merge-file.c:37 +msgid "for conflicts, use their version" +msgstr "usar a versΓ£o deles em caso de conflito" + +#: builtin/merge-file.c:39 +msgid "for conflicts, use a union version" +msgstr "usar a uniΓ£o das versΓ΅es em caso de conflito" + +#: builtin/merge-file.c:42 +msgid "for conflicts, use this marker size" +msgstr "usar este comprimento de marcador para os conflitos" + +#: builtin/merge-file.c:43 +msgid "do not warn about conflicts" +msgstr "nΓ£o alertar sobre conflitos" + +#: builtin/merge-file.c:45 +msgid "set labels for file1/orig-file/file2" +msgstr "definir identificares para ficheiro1/ficheiro-orig/ficheiro2" + +#: builtin/mktree.c:65 +msgid "git mktree [-z] [--missing] [--batch]" +msgstr "git mktree [-z] [--missing] [--batch]" + +#: builtin/mktree.c:152 +msgid "input is NUL terminated" +msgstr "a entrada termina com NUL" + +#: builtin/mktree.c:153 builtin/write-tree.c:24 +msgid "allow missing objects" +msgstr "permitir objetos nΓ£o presentes" + +#: builtin/mktree.c:154 +msgid "allow creation of more than one tree" +msgstr "permitir a criaΓ§Γ£o de mais do que uma Γ‘rvore" + +#: builtin/mv.c:15 +msgid "git mv [<options>] <source>... <destination>" +msgstr "git mv [<opΓ§Γ΅es>] <origem>... <destino>" + +#: builtin/mv.c:70 +#, fuzzy, c-format +msgid "Directory %s is in index and no submodule?" +msgstr "O diretΓ³rio %s estΓ‘ no Γndice mas nΓ£o no submΓ³dulo?" + +#: builtin/mv.c:72 +msgid "Please stage your changes to .gitmodules or stash them to proceed" msgstr "" +"Prepare as suas alteraΓ§Γ΅es em .gitmodules ou esconda-as (stash) para " +"prosseguir" + +#: builtin/mv.c:90 +#, c-format +msgid "%.*s is in index" +msgstr "%.*s estΓ‘ no Γndice" #: builtin/mv.c:112 +msgid "force move/rename even if target exists" +msgstr "forΓ§ar mover/mudar o nome mesmo que o destino exista" + +#: builtin/mv.c:113 +msgid "skip move/rename errors" +msgstr "ignorar erros ao mover/mudar o nome" + +#: builtin/mv.c:152 +#, c-format +msgid "destination '%s' is not a directory" +msgstr "o destino '%s' nΓ£o Γ© um diretΓ³rio" + +#: builtin/mv.c:163 +#, c-format +msgid "Checking rename of '%s' to '%s'\n" +msgstr "A verificar a mudanΓ§a de nome de '%s' para '%s'\n" + +#: builtin/mv.c:167 msgid "bad source" -msgstr "fonte invΓ‘lida" +msgstr "origem incorreta" -#: builtin/mv.c:115 +#: builtin/mv.c:170 msgid "can not move directory into itself" -msgstr "" +msgstr "nΓ£o Γ© possΓvel mover um diretΓ³rio para dentro de si prΓ³prio" -#: builtin/mv.c:118 +#: builtin/mv.c:173 msgid "cannot move directory over file" -msgstr "" +msgstr "nΓ£o Γ© possΓvel mover um diretΓ³rio para um ficheiro" -#: builtin/mv.c:128 -#, c-format -msgid "Huh? %.*s is in index?" -msgstr "" - -#: builtin/mv.c:140 +#: builtin/mv.c:182 msgid "source directory is empty" -msgstr "o directorio fonte estΓ‘ vazio" +msgstr "o diretΓ³rio de origem estΓ‘ vazio" -#: builtin/mv.c:171 +#: builtin/mv.c:207 msgid "not under version control" msgstr "nΓ£o estΓ‘ no controlo de versΓ΅es" -#: builtin/mv.c:173 +#: builtin/mv.c:210 msgid "destination exists" -msgstr "existe destino" +msgstr "o destino jΓ‘ existe" -#: builtin/mv.c:181 +#: builtin/mv.c:218 #, c-format msgid "overwriting '%s'" -msgstr "subscrevendo '%s'" +msgstr "a substituir '%s'" -#: builtin/mv.c:184 +#: builtin/mv.c:221 msgid "Cannot overwrite" -msgstr "NΓ£o consegue subscrever" +msgstr "NΓ£o Γ© possΓvel substituir" -#: builtin/mv.c:187 +#: builtin/mv.c:224 msgid "multiple sources for the same target" -msgstr "mΓΊltiplas fontes para o mesmo alvo" +msgstr "mΓΊltiplas origens para o mesmo destino" + +#: builtin/mv.c:226 +msgid "destination directory does not exist" +msgstr "o diretΓ³rio de destino nΓ£o existe" -#: builtin/mv.c:202 +#: builtin/mv.c:233 #, c-format msgid "%s, source=%s, destination=%s" -msgstr "" +msgstr "%s, origem=%s, destino=%s" -#: builtin/mv.c:212 +#: builtin/mv.c:254 #, c-format msgid "Renaming %s to %s\n" -msgstr "Mudar de nome %s para %s\n" +msgstr "A mudar de nome de %s para %s\n" -#: builtin/mv.c:215 -#: builtin/remote.c:731 +#: builtin/mv.c:257 builtin/remote.c:714 builtin/repack.c:365 #, c-format msgid "renaming '%s' failed" -msgstr "mudar de nome '%s' falhou" +msgstr "falha ao mudar o nome de '%s'" -#: builtin/notes.c:139 -#, c-format -msgid "unable to start 'show' for object '%s'" +#: builtin/name-rev.c:251 +msgid "git name-rev [<options>] <commit>..." +msgstr "git name-rev [<opΓ§Γ΅es>] <commit>..." + +#: builtin/name-rev.c:252 +msgid "git name-rev [<options>] --all" +msgstr "git name-rev [<opΓ§Γ΅es>] --all" + +#: builtin/name-rev.c:253 +msgid "git name-rev [<options>] --stdin" +msgstr "git name-rev [<opΓ§Γ΅es>] --stdin" + +#: builtin/name-rev.c:305 +msgid "print only names (no SHA-1)" +msgstr "imprimir apenas nomes (sem SHA-1)" + +#: builtin/name-rev.c:306 +msgid "only use tags to name the commits" +msgstr "usar apenas tags para designar commits" + +#: builtin/name-rev.c:308 +msgid "only use refs matching <pattern>" +msgstr "usar apenas referΓͺncia que correspondam ao <padrΓ£o>" + +#: builtin/name-rev.c:310 +msgid "list all commits reachable from all refs" +msgstr "listar todos os commits alcanΓ§Γ‘veis a partir de todas as referΓͺncias" + +#: builtin/name-rev.c:311 +msgid "read from stdin" +msgstr "ler da entrada padrΓ£o" + +#: builtin/name-rev.c:312 +msgid "allow to print `undefined` names (default)" +msgstr "permitir imprimir nomes 'indefinidos' (predefiniΓ§Γ£o)" + +#: builtin/name-rev.c:318 +msgid "dereference tags in the input (internal use)" +msgstr "desreferenciar tags na entrada (uso interno)" + +#: builtin/notes.c:25 +msgid "git notes [--ref <notes-ref>] [list [<object>]]" +msgstr "git notes [--ref <notes-ref>] [list [<objeto>]]" + +#: builtin/notes.c:26 +msgid "" +"git notes [--ref <notes-ref>] add [-f] [--allow-empty] [-m <msg> | -F <file> " +"| (-c | -C) <object>] [<object>]" msgstr "" +"git notes [--ref <notes-ref>] add [-f] [--allow-empty] [-m <msg> | -F " +"<ficheiro> | (-c | -C) <objeto>] [<objeto>]" + +#: builtin/notes.c:27 +msgid "git notes [--ref <notes-ref>] copy [-f] <from-object> <to-object>" +msgstr "git notes [--ref <notes-ref>] copy [-f] <de-objeto> <para-objeto>" -#: builtin/notes.c:145 -msgid "can't fdopen 'show' output fd" +#: builtin/notes.c:28 +msgid "" +"git notes [--ref <notes-ref>] append [--allow-empty] [-m <msg> | -F <file> | " +"(-c | -C) <object>] [<object>]" msgstr "" +"git notes [--ref <notes-ref>] append [--allow-empty] [-m <msg> | -F " +"<ficheiro> | (-c | -C) <objeto>] [<objeto>]" -#: builtin/notes.c:155 -#, c-format -msgid "failed to close pipe to 'show' for object '%s'" +#: builtin/notes.c:29 +msgid "git notes [--ref <notes-ref>] edit [--allow-empty] [<object>]" +msgstr "git notes [--ref <notes-ref>] edit [--allow-empty] [<objeto>]" + +#: builtin/notes.c:30 +msgid "git notes [--ref <notes-ref>] show [<object>]" +msgstr "git notes [--ref <notes-ref>] show [<objeto>]" + +#: builtin/notes.c:31 +msgid "" +"git notes [--ref <notes-ref>] merge [-v | -q] [-s <strategy>] <notes-ref>" msgstr "" +"git notes [--ref <notes-ref>] merge [-v | -q] [-s <estratΓ©gia>] <notes-ref>" + +#: builtin/notes.c:32 +msgid "git notes merge --commit [-v | -q]" +msgstr "git notes merge --commit [-v | -q]" + +#: builtin/notes.c:33 +msgid "git notes merge --abort [-v | -q]" +msgstr "git notes merge --abort [-v | -q]" + +#: builtin/notes.c:34 +msgid "git notes [--ref <notes-ref>] remove [<object>...]" +msgstr "git notes [--ref <notes-ref>] remove [<objeto>...]" + +#: builtin/notes.c:35 +msgid "git notes [--ref <notes-ref>] prune [-n | -v]" +msgstr "git notes [--ref <notes-ref>] prune [-n | -v]" + +#: builtin/notes.c:36 +msgid "git notes [--ref <notes-ref>] get-ref" +msgstr "git notes [--ref <notes-ref>] get-ref" + +#: builtin/notes.c:41 +msgid "git notes [list [<object>]]" +msgstr "git notes [list [<objeto>]]" + +#: builtin/notes.c:46 +msgid "git notes add [<options>] [<object>]" +msgstr "git notes add [<opΓ§Γ΅es>] [<objeto>]" + +#: builtin/notes.c:51 +msgid "git notes copy [<options>] <from-object> <to-object>" +msgstr "git notes copy [<opΓ§Γ΅es>] <de-objeto> <para-objeto>" + +#: builtin/notes.c:52 +msgid "git notes copy --stdin [<from-object> <to-object>]..." +msgstr "git notes copy --stdin [<de-objeto> <para-objeto>]..." + +#: builtin/notes.c:57 +msgid "git notes append [<options>] [<object>]" +msgstr "git notes append [<opΓ§Γ΅es>] [<objeto>]" + +#: builtin/notes.c:62 +msgid "git notes edit [<object>]" +msgstr "git notes edit [<objeto>]" -#: builtin/notes.c:158 +#: builtin/notes.c:67 +msgid "git notes show [<object>]" +msgstr "git notes show [<objeto>]" + +#: builtin/notes.c:72 +msgid "git notes merge [<options>] <notes-ref>" +msgstr "git notes merge [<opΓ§Γ΅es>] <notes-ref>" + +#: builtin/notes.c:73 +msgid "git notes merge --commit [<options>]" +msgstr "git notes merge --commit [<opΓ§Γ΅es>]" + +#: builtin/notes.c:74 +msgid "git notes merge --abort [<options>]" +msgstr "git notes merge --abort [<opΓ§Γ΅es>]" + +#: builtin/notes.c:79 +msgid "git notes remove [<object>]" +msgstr "git notes remove [<objeto>]" + +#: builtin/notes.c:84 +msgid "git notes prune [<options>]" +msgstr "git notes prune [<optΓ§Γ΅es>]" + +#: builtin/notes.c:89 +msgid "git notes get-ref" +msgstr "git notes get-ref" + +#: builtin/notes.c:147 +#, c-format +msgid "unable to start 'show' for object '%s'" +msgstr "nΓ£o foi possΓvel iniciar o comando 'show' sobre o objeto '%s'" + +#: builtin/notes.c:151 +msgid "could not read 'show' output" +msgstr "nΓ£o foi possΓvel ler a saΓda do comando 'show'" + +#: builtin/notes.c:159 #, c-format msgid "failed to finish 'show' for object '%s'" -msgstr "" +msgstr "falha ao concluir o comando 'show' sobre o objeto '%s'" -#: builtin/notes.c:175 -#: builtin/tag.c:347 +#: builtin/notes.c:174 builtin/tag.c:248 #, c-format msgid "could not create file '%s'" -msgstr "" +msgstr "nΓ£o foi possΓvel criar o ficheiro '%s'" -#: builtin/notes.c:189 +#: builtin/notes.c:193 msgid "Please supply the note contents using either -m or -F option" -msgstr "" - -#: builtin/notes.c:210 -#: builtin/notes.c:973 -#, c-format -msgid "Removing note for object %s\n" -msgstr "" +msgstr "ForneΓ§a o conteΓΊdo da nota usando a opΓ§Γ£o -m ou -F" -#: builtin/notes.c:215 +#: builtin/notes.c:202 msgid "unable to write note object" -msgstr "" +msgstr "nΓ£o Γ© possΓvel escrever o objeto de nota" -#: builtin/notes.c:217 +#: builtin/notes.c:204 #, c-format -msgid "The note contents has been left in %s" -msgstr "" +msgid "The note contents have been left in %s" +msgstr "O conteΓΊdo da nota foi guardado em %s" -#: builtin/notes.c:251 -#: builtin/tag.c:542 +#: builtin/notes.c:232 builtin/tag.c:440 #, c-format msgid "cannot read '%s'" -msgstr "nΓ£o consegue ler '%s'" +msgstr "nΓ£o Γ© possΓvel ler '%s'" -#: builtin/notes.c:253 -#: builtin/tag.c:545 +#: builtin/notes.c:234 builtin/tag.c:443 #, c-format msgid "could not open or read '%s'" -msgstr "" +msgstr "nΓ£o foi possΓvel abrir ou ler '%s'" -#: builtin/notes.c:272 -#: builtin/notes.c:445 -#: builtin/notes.c:447 -#: builtin/notes.c:507 -#: builtin/notes.c:561 -#: builtin/notes.c:644 -#: builtin/notes.c:649 -#: builtin/notes.c:724 -#: builtin/notes.c:766 -#: builtin/notes.c:968 -#: builtin/reset.c:293 -#: builtin/tag.c:558 +#: builtin/notes.c:253 builtin/notes.c:304 builtin/notes.c:306 +#: builtin/notes.c:369 builtin/notes.c:424 builtin/notes.c:510 +#: builtin/notes.c:515 builtin/notes.c:593 builtin/notes.c:656 +#: builtin/notes.c:880 builtin/tag.c:456 #, c-format msgid "Failed to resolve '%s' as a valid ref." -msgstr "" +msgstr "Falha ao resolver '%s' numa referΓͺncia vΓ‘lida." -#: builtin/notes.c:275 +#: builtin/notes.c:256 #, c-format msgid "Failed to read object '%s'." -msgstr "" +msgstr "Falha ao ler o objeto '%s'." -#: builtin/notes.c:299 -msgid "Cannot commit uninitialized/unreferenced notes tree" -msgstr "" +#: builtin/notes.c:260 +#, c-format +msgid "Cannot read note data from non-blob object '%s'." +msgstr "NΓ£o Γ© possΓvel ler os dados da nota de um objeto nΓ£o-blob '%s'." + +#: builtin/notes.c:362 builtin/notes.c:417 builtin/notes.c:493 +#: builtin/notes.c:505 builtin/notes.c:581 builtin/notes.c:649 +#: builtin/notes.c:945 +msgid "too many parameters" +msgstr "demasiados parΓ’metros" -#: builtin/notes.c:340 +#: builtin/notes.c:375 builtin/notes.c:662 #, c-format -msgid "Bad notes.rewriteMode value: '%s'" -msgstr "" +msgid "No note found for object %s." +msgstr "A nota do objeto %s nΓ£o foi encontrada." + +#: builtin/notes.c:396 builtin/notes.c:559 +msgid "note contents as a string" +msgstr "conteΓΊdo da nota sob a forma de cadeia de caracteres" -#: builtin/notes.c:350 +#: builtin/notes.c:399 builtin/notes.c:562 +msgid "note contents in a file" +msgstr "conteΓΊdo da nota de um ficheiro" + +#: builtin/notes.c:402 builtin/notes.c:565 +msgid "reuse and edit specified note object" +msgstr "reutilizar e editar o objeto de nota especificado" + +#: builtin/notes.c:405 builtin/notes.c:568 +msgid "reuse specified note object" +msgstr "reutilizar o objeto de nota especificado" + +#: builtin/notes.c:408 builtin/notes.c:571 +msgid "allow storing empty note" +msgstr "permitir guardar uma nota vazia" + +#: builtin/notes.c:409 builtin/notes.c:480 +msgid "replace existing notes" +msgstr "substituir notas existentes" + +#: builtin/notes.c:434 #, c-format -msgid "Refusing to rewrite notes in %s (outside of refs/notes/)" +msgid "" +"Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite " +"existing notes" msgstr "" +"NΓ£o Γ© possΓvel adicionar notas. Notas do objeto %s encontradas. Use '-f' " +"para substituΓ-las." -#. TRANSLATORS: The first %s is the name of the -#. environment variable, the second %s is its value -#: builtin/notes.c:377 +#: builtin/notes.c:449 builtin/notes.c:528 #, c-format -msgid "Bad %s value: '%s'" -msgstr "InvΓ‘lido %s valor: '%s'" +msgid "Overwriting existing notes for object %s\n" +msgstr "A substituir as notas existentes do objeto %s\n" -#: builtin/notes.c:441 +#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:885 #, c-format -msgid "Malformed input line: '%s'." +msgid "Removing note for object %s\n" +msgstr "A remover a nota do objeto %s\n" + +#: builtin/notes.c:481 +msgid "read objects from stdin" +msgstr "ler objetos da entrada padrΓ£o" + +#: builtin/notes.c:483 +msgid "load rewriting config for <command> (implies --stdin)" +msgstr "carregar configuraΓ§Γ£o de reescrita do <comando> (implica --stdin)" + +#: builtin/notes.c:501 +msgid "too few parameters" +msgstr "parΓ’metros insuficientes" + +#: builtin/notes.c:522 +#, c-format +msgid "" +"Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite " +"existing notes" msgstr "" +"NΓ£o Γ© possΓvel copiar notas. Notas do objeto %s encontradas. Use '-f' para " +"substituΓ-las." -#: builtin/notes.c:456 +#: builtin/notes.c:534 #, c-format -msgid "Failed to copy notes from '%s' to '%s'" +msgid "Missing notes on source object %s. Cannot copy." +msgstr "NΓ£o existem notas no objeto de origem %s. NΓ£o Γ© possΓvel copiar." + +#: builtin/notes.c:586 +#, c-format +msgid "" +"The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n" +"Please use 'git notes add -f -m/-F/-c/-C' instead.\n" msgstr "" +"As opΓ§Γ΅es -m/-F/-c/-C sΓ£o obsoletas no subcomando 'edit'.\n" +"Use 'git notes add -f -m/-F/-c/-C' em seu lugar.\n" -#: builtin/notes.c:500 -#: builtin/notes.c:554 -#: builtin/notes.c:627 -#: builtin/notes.c:639 -#: builtin/notes.c:712 -#: builtin/notes.c:759 -#: builtin/notes.c:1033 -msgid "too many parameters" -msgstr "demasiado parametros" +#: builtin/notes.c:767 +msgid "General options" +msgstr "OpΓ§Γ΅es gerais" -#: builtin/notes.c:513 -#: builtin/notes.c:772 +#: builtin/notes.c:769 +msgid "Merge options" +msgstr "OpΓ§Γ΅es de merge" + +#: builtin/notes.c:771 +msgid "" +"resolve notes conflicts using the given strategy (manual/ours/theirs/union/" +"cat_sort_uniq)" +msgstr "" +"resolver conflitos nas notas usando a estratΓ©gia indicada (manual/ours/" +"theirs/union/cat_sort_uniq)" + +#: builtin/notes.c:773 +msgid "Committing unmerged notes" +msgstr "Efetuar commit de notas nΓ£o integradas" + +#: builtin/notes.c:775 +msgid "finalize notes merge by committing unmerged notes" +msgstr "concluir merge de notas, fazendo commit de notas nΓ£o integradas" + +#: builtin/notes.c:777 +msgid "Aborting notes merge resolution" +msgstr "Abortar resoluΓ§Γ΅es de merge das notas" + +#: builtin/notes.c:779 +msgid "abort notes merge" +msgstr "abortar merge das notas" + +#: builtin/notes.c:856 #, c-format -msgid "No note found for object %s." -msgstr "Nenhuma nota encontrada para o objecto %s." +msgid "A notes merge into %s is already in-progress at %s" +msgstr "Merge das notas em %s jΓ‘ estΓ‘ em curso em %s" -#: builtin/notes.c:580 +#: builtin/notes.c:883 #, c-format -msgid "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite existing notes" -msgstr "" +msgid "Object %s has no note\n" +msgstr "O objeto %s nΓ£o tem nenhuma nota\n" + +#: builtin/notes.c:895 +msgid "attempt to remove non-existent note is not an error" +msgstr "nΓ£o considerar como erro a remoΓ§Γ£o de uma nota nΓ£o existente" + +#: builtin/notes.c:898 +msgid "read object names from the standard input" +msgstr "ler nome dos objetos da entrada padrΓ£o" + +#: builtin/notes.c:979 +msgid "notes-ref" +msgstr "notes-ref" + +#: builtin/notes.c:980 +msgid "use notes from <notes-ref>" +msgstr "usar notas de <notes-ref>" -#: builtin/notes.c:585 -#: builtin/notes.c:662 +#: builtin/notes.c:1015 builtin/remote.c:1626 #, c-format -msgid "Overwriting existing notes for object %s\n" +msgid "Unknown subcommand: %s" +msgstr "Subcomando desconhecido: %s" + +#: builtin/pack-objects.c:28 +msgid "" +"git pack-objects --stdout [<options>...] [< <ref-list> | < <object-list>]" msgstr "" +"git pack-objects --stdout [<opΓ§Γ΅es>...] [< <lista-referΓͺncias> | < <lista-" +"objetos>]" -#: builtin/notes.c:635 -msgid "too few parameters" +#: builtin/pack-objects.c:29 +msgid "" +"git pack-objects [<options>...] <base-name> [< <ref-list> | < <object-list>]" msgstr "" +"git pack-objects [<opΓ§Γ΅es>...] <nome-base> [< <lista-referΓͺncias> | < <lista-" +"objetos>]" -#: builtin/notes.c:656 +#: builtin/pack-objects.c:175 builtin/pack-objects.c:178 #, c-format -msgid "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite existing notes" +msgid "deflate error (%d)" +msgstr "erro ao compactar (%d)" + +#: builtin/pack-objects.c:772 +msgid "Writing objects" +msgstr "A escrever objetos" + +#: builtin/pack-objects.c:1012 +msgid "disabling bitmap writing, as some objects are not being packed" msgstr "" +"a desativar escrita de mapa de bits, visto que alguns objetos nΓ£o estΓ£o a " +"ser compactados" + +#: builtin/pack-objects.c:2172 +msgid "Compressing objects" +msgstr "A comprimir objetos" -#: builtin/notes.c:668 +#: builtin/pack-objects.c:2558 #, c-format -msgid "Missing notes on source object %s. Cannot copy." +msgid "unsupported index version %s" +msgstr "versΓ£o de Γndice %s nΓ£o suportada" + +#: builtin/pack-objects.c:2562 +#, c-format +msgid "bad index version '%s'" +msgstr "versΓ£o de Γndice '%s' incorreta" + +#: builtin/pack-objects.c:2592 +msgid "do not show progress meter" +msgstr "nΓ£o mostrar medidor de progresso" + +#: builtin/pack-objects.c:2594 +msgid "show progress meter" +msgstr "mostrar medidor de progresso" + +#: builtin/pack-objects.c:2596 +msgid "show progress meter during object writing phase" +msgstr "mostrar medidor de progresso durante a fase de escrita de objetos" + +#: builtin/pack-objects.c:2599 +msgid "similar to --all-progress when progress meter is shown" +msgstr "semelhante a --all-progress quando o medidor de progresso Γ© mostrado" + +#: builtin/pack-objects.c:2600 +msgid "version[,offset]" +msgstr "versΓ£o[,offset]" + +#: builtin/pack-objects.c:2601 +msgid "write the pack index file in the specified idx format version" +msgstr "" +"escrever o ficheiro de Γndice do pacote na versΓ£o de formato especificada" + +#: builtin/pack-objects.c:2604 +msgid "maximum size of each output pack file" +msgstr "tamanho mΓ‘ximo de cada ficheiro de pacote gerado" + +#: builtin/pack-objects.c:2606 +msgid "ignore borrowed objects from alternate object store" +msgstr "ignorar objetos emprestados do arquivo de objetos alternate" + +#: builtin/pack-objects.c:2608 +msgid "ignore packed objects" +msgstr "ignorar objetos compactados" + +#: builtin/pack-objects.c:2610 +msgid "limit pack window by objects" +msgstr "limitar a janela de compactaΓ§Γ£o por objetos" + +#: builtin/pack-objects.c:2612 +msgid "limit pack window by memory in addition to object limit" msgstr "" +"limitar a janela de compactaΓ§Γ£o por memΓ³ria em adiΓ§Γ£o ao limite por objetos" + +#: builtin/pack-objects.c:2614 +msgid "maximum length of delta chain allowed in the resulting pack" +msgstr "tamanho mΓ‘ximo de cadeias delta permitidas no pacote resultante" + +#: builtin/pack-objects.c:2616 +msgid "reuse existing deltas" +msgstr "reutilizar deltas existentes" + +#: builtin/pack-objects.c:2618 +msgid "reuse existing objects" +msgstr "reutilizar objetos existentes" + +#: builtin/pack-objects.c:2620 +msgid "use OFS_DELTA objects" +msgstr "usar objetos OFS_DELTA" + +#: builtin/pack-objects.c:2622 +msgid "use threads when searching for best delta matches" +msgstr "usar threads ao procurar pela melhor correspondΓͺncia delta" + +#: builtin/pack-objects.c:2624 +msgid "do not create an empty pack output" +msgstr "nΓ£o criar um pacote vazio" + +#: builtin/pack-objects.c:2626 +msgid "read revision arguments from standard input" +msgstr "ler argumentos de revisΓ£o da entrada padrΓ£o" + +#: builtin/pack-objects.c:2628 +msgid "limit the objects to those that are not yet packed" +msgstr "restringir-se aos objetos que ainda nΓ£o foram compactados" + +#: builtin/pack-objects.c:2631 +msgid "include objects reachable from any reference" +msgstr "incluir objetos alcanΓ§Γ‘veis a partir de qualquer referΓͺncia" + +#: builtin/pack-objects.c:2634 +msgid "include objects referred by reflog entries" +msgstr "incluir objetos referenciados por entradas do reflog" + +#: builtin/pack-objects.c:2637 +msgid "include objects referred to by the index" +msgstr "incluir objetos referenciados pelo Γndice" + +#: builtin/pack-objects.c:2640 +msgid "output pack to stdout" +msgstr "gerar pacote para a saΓda padrΓ£o" + +#: builtin/pack-objects.c:2642 +msgid "include tag objects that refer to objects to be packed" +msgstr "incluir objetos tag que refiram objetos a compactar" + +#: builtin/pack-objects.c:2644 +msgid "keep unreachable objects" +msgstr "manter objetos inalcanΓ§Γ‘veis" + +#: builtin/pack-objects.c:2645 parse-options.h:142 +msgid "time" +msgstr "hora" + +#: builtin/pack-objects.c:2646 +msgid "unpack unreachable objects newer than <time>" +msgstr "descompactar objetos inalcanΓ§Γ‘veis mais recentes que <hora>" + +#: builtin/pack-objects.c:2649 +msgid "create thin packs" +msgstr "criar pacotes finos" + +#: builtin/pack-objects.c:2651 +msgid "create packs suitable for shallow fetches" +msgstr "criar pacotes adequados para obter em repositΓ³rios pouco profundos" + +#: builtin/pack-objects.c:2653 +msgid "ignore packs that have companion .keep file" +msgstr "ignorar pacotes que tenham um ficheiro .keep" + +#: builtin/pack-objects.c:2655 +msgid "pack compression level" +msgstr "nΓvel de compactaΓ§Γ£o do pacote" + +#: builtin/pack-objects.c:2657 +msgid "do not hide commits by grafts" +msgstr "nΓ£o esconder commits introduzidos por enxertos" + +#: builtin/pack-objects.c:2659 +msgid "use a bitmap index if available to speed up counting objects" +msgstr "" +"usar um Γndice de mapa de bits se disponΓvel, para acelerar a contagem de " +"objetos" + +#: builtin/pack-objects.c:2661 +msgid "write a bitmap index together with the pack index" +msgstr "escrever um Γndice de mapa de bits juntamente com o Γndice do pacote" -#: builtin/notes.c:717 +#: builtin/pack-objects.c:2752 +msgid "Counting objects" +msgstr "A contar objetos" + +#: builtin/pack-refs.c:6 +msgid "git pack-refs [<options>]" +msgstr "git pack-refs [<opΓ§Γ΅es>]" + +#: builtin/pack-refs.c:14 +msgid "pack everything" +msgstr "compactar tudo" + +#: builtin/pack-refs.c:15 +msgid "prune loose refs (default)" +msgstr "eliminar referΓͺncias soltas (predefiniΓ§Γ£o)" + +#: builtin/prune-packed.c:7 +msgid "git prune-packed [-n | --dry-run] [-q | --quiet]" +msgstr "git prune-packed [-n | --dry-run] [-q | --quiet]" + +#: builtin/prune-packed.c:40 +msgid "Removing duplicate objects" +msgstr "A remover objetos duplicados" + +#: builtin/prune.c:11 +msgid "git prune [-n] [-v] [--expire <time>] [--] [<head>...]" +msgstr "git prune [-n] [-v] [--expire <hora>] [--] [<head>...]" + +#: builtin/prune.c:105 builtin/worktree.c:124 +msgid "do not remove, show only" +msgstr "nΓ£o remover, mostrar apenas" + +#: builtin/prune.c:106 builtin/worktree.c:125 +msgid "report pruned objects" +msgstr "apresentar objetos eliminados" + +#: builtin/prune.c:109 builtin/worktree.c:127 +msgid "expire objects older than <time>" +msgstr "expirar objetos mais antigos que <hora>" + +#: builtin/prune.c:123 +msgid "cannot prune in a precious-objects repo" +msgstr "nΓ£o Γ© possΓvel limpar num repositΓ³rio de objetos-preciosos" + +#: builtin/pull.c:72 +msgid "git pull [<options>] [<repository> [<refspec>...]]" +msgstr "git pull [<opΓ§Γ΅es>] [<repositΓ³rio> [<especificador-de-referΓͺncia>...]]" + +#: builtin/pull.c:117 +msgid "Options related to merging" +msgstr "OpΓ§Γ΅es relacionadas com merge" + +#: builtin/pull.c:120 +msgid "incorporate changes by rebasing rather than merging" +msgstr "incorporar alteraΓ§Γ΅es por rebase em vez de merge" + +#: builtin/pull.c:144 builtin/revert.c:105 +msgid "allow fast-forward" +msgstr "permitir avanΓ§o rΓ‘pido" + +#: builtin/pull.c:150 +msgid "verify that the named commit has a valid GPG signature" +msgstr "verificar se o commit tem uma assinatura GPG vΓ‘lida" + +#: builtin/pull.c:164 +msgid "Options related to fetching" +msgstr "OpΓ§Γ΅es relacionadas com obtenΓ§Γ£o de objetos" + +#: builtin/pull.c:186 +msgid "number of submodules pulled in parallel" +msgstr "nΓΊmero de submΓ³dulos obtidos em paralelo" + +#: builtin/pull.c:275 #, c-format +msgid "Invalid value for pull.ff: %s" +msgstr "Valor invΓ‘lido de pull.ff: %s" + +#: builtin/pull.c:359 +msgid "Cannot pull with rebase: You have unstaged changes." +msgstr "NΓ£o Γ© possΓvel efetuar pull com rebase: tem alteraΓ§Γ΅es nΓ£o preparadas." + +#: builtin/pull.c:365 +msgid "Additionally, your index contains uncommitted changes." +msgstr "AlΓ©m disso, o Γndice contΓ©m alteraΓ§Γ΅es pendentes para commit." + +#: builtin/pull.c:367 +msgid "Cannot pull with rebase: Your index contains uncommitted changes." +msgstr "" +"NΓ£o Γ© possΓvel efetuar pull com rebase: o Γndice contΓ©m alteraΓ§Γ΅es pendentes " +"para commit." + +#: builtin/pull.c:443 msgid "" -"The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n" -"Please use 'git notes add -f -m/-F/-c/-C' instead.\n" +"There is no candidate for rebasing against among the refs that you just " +"fetched." msgstr "" +"NΓ£o hΓ‘ nenhum candidato com o qual realizar rebase de entre as referΓͺncias " +"que se acabaram de obter." -#: builtin/notes.c:971 -#, c-format -msgid "Object %s has no note\n" +#: builtin/pull.c:445 +msgid "" +"There are no candidates for merging among the refs that you just fetched." msgstr "" +"NΓ£o hΓ‘ nenhum candidato com o qual realizar merge de entre as referΓͺncias " +"que se acabaram obter." -#: builtin/notes.c:1103 -#: builtin/remote.c:1598 -#, c-format -msgid "Unknown subcommand: %s" +#: builtin/pull.c:446 +msgid "" +"Generally this means that you provided a wildcard refspec which had no\n" +"matches on the remote end." msgstr "" +"Geralmente, significa que forneceu um especificador de referΓͺncia\n" +"com um carΓ‘cter universal (wildcard) que nΓ£o corresponde a nenhum remoto." -#: builtin/pack-objects.c:2315 +#: builtin/pull.c:449 #, c-format -msgid "unsupported index version %s" +msgid "" +"You asked to pull from the remote '%s', but did not specify\n" +"a branch. Because this is not the default configured remote\n" +"for your current branch, you must specify a branch on the command line." msgstr "" +"Solicitou pull do remoto '%s', mas nΓ£o especificou um ramo.\n" +"Uma vez que este nΓ£o Γ© o remoto configurado por omissΓ£o,\n" +"deve especificar um ramo na linha de comandos." + +#: builtin/pull.c:454 +msgid "You are not currently on a branch." +msgstr "NΓ£o se encontra em nenhum ramo de momento." + +#: builtin/pull.c:456 builtin/pull.c:471 +msgid "Please specify which branch you want to rebase against." +msgstr "Especifique o ramo sobre o qual pretende realizar rebase." + +#: builtin/pull.c:458 builtin/pull.c:473 +msgid "Please specify which branch you want to merge with." +msgstr "Especifique o ramo com o qual pretende realizar merge." + +#: builtin/pull.c:459 builtin/pull.c:474 +msgid "See git-pull(1) for details." +msgstr "Consulte git-pull(1) para obter mais detalhes." + +#: builtin/pull.c:469 +msgid "There is no tracking information for the current branch." +msgstr "O ramo atual nΓ£o segue nenhum ramo." -#: builtin/pack-objects.c:2319 +#: builtin/pull.c:478 #, c-format -msgid "bad index version '%s'" +msgid "" +"If you wish to set tracking information for this branch you can do so with:\n" +"\n" +" git branch --set-upstream-to=%s/<branch> %s\n" msgstr "" +"Se deseja definir um ramo para este ramo seguir, pode fazΓͺ-lo com:\n" +"\n" +" git branch --set-upstream-to=%s/<ramo> %s\n" -#: builtin/pack-objects.c:2342 +#: builtin/pull.c:483 #, c-format -msgid "option %s does not accept negative form" -msgstr "opΓ§Γ£o %s nΓ£o aceita formato negativo" +msgid "" +"Your configuration specifies to merge with the ref '%s'\n" +"from the remote, but no such ref was fetched." +msgstr "" +"A configuraΓ§Γ£o indica para efetuar merge com a referΓͺncia '%s'\n" +"do remoto, mas esta ainda nΓ£o foi obtida." -#: builtin/pack-objects.c:2346 +#: builtin/pull.c:841 +msgid "Updating an unborn branch with changes added to the index." +msgstr "" +"A atualizar um ramo que ainda nΓ£o foi criado e com alteraΓ§Γ΅es adicionadas ao " +"Γndice." + +#: builtin/pull.c:870 #, c-format -msgid "unable to parse value '%s' for option %s" +msgid "" +"fetch updated the current branch head.\n" +"fast-forwarding your working tree from\n" +"commit %s." msgstr "" +"o fetch atualizou a cabeΓ§a do ramo atual.\n" +"a avanΓ§ar a Γ‘rvore de trabalho a partir do\n" +"commit %s." -#: builtin/push.c:45 +#: builtin/pull.c:875 +#, c-format +msgid "" +"Cannot fast-forward your working tree.\n" +"After making sure that you saved anything precious from\n" +"$ git diff %s\n" +"output, run\n" +"$ git reset --hard\n" +"to recover." +msgstr "" +"NΓ£o Γ© possΓvel avanΓ§ar rapidamente a Γ‘rvore de trabalho.\n" +"Depois de guardar todas as alteraΓ§Γ΅es importantes indicadas por\n" +"$ git diff %s\n" +"execute\n" +"$ git reset --hard\n" +"para recuperar." + +#: builtin/pull.c:890 +msgid "Cannot merge multiple branches into empty head." +msgstr "NΓ£o Γ© possΓvel efetuar merge de mΓΊltiplos ramos numa cabeΓ§a vazia." + +#: builtin/pull.c:894 +msgid "Cannot rebase onto multiple branches." +msgstr "NΓ£o Γ© possΓvel efetuar rebase sobre mΓΊltiplos ramos." + +#: builtin/push.c:16 +msgid "git push [<options>] [<repository> [<refspec>...]]" +msgstr "git push [<opΓ§Γ΅es>] [<repositΓ³rio> [<especificador-de-referΓͺncia>...]]" + +#: builtin/push.c:89 msgid "tag shorthand without <tag>" -msgstr "" +msgstr "forma abreviada de tag sem <tag>" -#: builtin/push.c:64 +#: builtin/push.c:99 msgid "--delete only accepts plain target ref names" -msgstr "--delete sΓ³ aceita nomes simples para o ref de destino" +msgstr "--delete sΓ³ aceita nomes simples como referΓͺncias de destino" -#: builtin/push.c:99 +#: builtin/push.c:143 msgid "" "\n" "To choose either option permanently, see push.default in 'git help config'." msgstr "" +"\n" +"Para escolher uma opΓ§Γ£o permanentemente, consulte push.default em 'git help " +"config'." -#: builtin/push.c:102 +#: builtin/push.c:146 #, c-format msgid "" "The upstream branch of your current branch does not match\n" @@ -3682,8 +9148,17 @@ msgid "" " git push %s %s\n" "%s" msgstr "" +"O ramo a montante do ramo atual nΓ£o coincide com o nome do ramo atual.\n" +"Para publicar no ramo a montante no remoto, use\n" +"\n" +" git push %s HEAD:%s\n" +"\n" +"Para publicar no ramo com o mesmo nome no remoto, use\n" +"\n" +" git push %s %s\n" +"%s" -#: builtin/push.c:121 +#: builtin/push.c:161 #, c-format msgid "" "You are not currently on a branch.\n" @@ -3692,8 +9167,13 @@ msgid "" "\n" " git push %s HEAD:<name-of-remote-branch>\n" msgstr "" +"NΓ£o se encontra em nenhum ramo neste momento.\n" +"Para publicar o histΓ³rico que conduziu ao estado atual (de HEAD\n" +"destacada), use\n" +"\n" +" git push %s HEAD:<name-of-remote-branch>\n" -#: builtin/push.c:128 +#: builtin/push.c:175 #, c-format msgid "" "The current branch %s has no upstream branch.\n" @@ -3701,67 +9181,108 @@ msgid "" "\n" " git push --set-upstream %s %s\n" msgstr "" +"O ramo atual %s nΓ£o tem nenhum ramo a montante.\n" +"Para publicar o ramo atual e definir o remoto a montante, use\n" +"\n" +" git push --set-upstream %s %s\n" -#: builtin/push.c:136 +#: builtin/push.c:183 #, c-format msgid "The current branch %s has multiple upstream branches, refusing to push." msgstr "" +"O ramo atual %s tem mΓΊltiplos ramos a montante, recusando-se a publicar." -#: builtin/push.c:139 +#: builtin/push.c:186 #, c-format msgid "" "You are pushing to remote '%s', which is not the upstream of\n" "your current branch '%s', without telling me what to push\n" "to update which remote branch." msgstr "" +"O remoto '%s', no qual pretende publicar, nΓ£o Γ© o remoto a montante\n" +"do ramo atual '%s'. Deve indicar o que pretende publicar e que ramo\n" +"remoto atualizar." -#: builtin/push.c:174 -msgid "You didn't specify any refspecs to push, and push.default is \"nothing\"." +#: builtin/push.c:242 +msgid "" +"You didn't specify any refspecs to push, and push.default is \"nothing\"." msgstr "" +"NΓ£o indicou nenhum especificador de referΓͺncia para publicar e o valor de " +"push.default Γ© \"nothing\"." -#: builtin/push.c:181 +#: builtin/push.c:249 msgid "" "Updates were rejected because the tip of your current branch is behind\n" -"its remote counterpart. Merge the remote changes (e.g. 'git pull')\n" -"before pushing again.\n" +"its remote counterpart. Integrate the remote changes (e.g.\n" +"'git pull ...') before pushing again.\n" "See the 'Note about fast-forwards' in 'git push --help' for details." msgstr "" +"As atualizaΓ§Γ΅es foram rejeitadas porque a ponta do ramo atual estΓ‘ atrasada\n" +"em relaΓ§Γ£o ao homΓ³logo remoto. Integre as alteraΓ§Γ΅es remotas (e.g.\n" +"'git pull ...') antes de publicar de novo.\n" +"Consulte 'Note about fast-forwards' em 'git push --help' para obter detalhes." -#: builtin/push.c:187 +#: builtin/push.c:255 msgid "" "Updates were rejected because a pushed branch tip is behind its remote\n" -"counterpart. If you did not intend to push that branch, you may want to\n" -"specify branches to push or set the 'push.default' configuration\n" -"variable to 'current' or 'upstream' to push only the current branch." +"counterpart. Check out this branch and integrate the remote changes\n" +"(e.g. 'git pull ...') before pushing again.\n" +"See the 'Note about fast-forwards' in 'git push --help' for details." msgstr "" +"As atualizaΓ§Γ΅es foram rejeitadas porque a ponta do ramo atual estΓ‘ atrasada\n" +"em relaΓ§Γ£o ao homΓ³logo remoto. Extraia o ramo e integre\n" +"as alteraΓ§Γ΅es remotas (e.g. 'git pull ...') antes de publicar de novo.\n" +"Consulte 'Note about fast-forwards' em 'git push --help' para obter detalhes." -#: builtin/push.c:193 +#: builtin/push.c:261 msgid "" -"Updates were rejected because a pushed branch tip is behind its remote\n" -"counterpart. Check out this branch and merge the remote changes\n" -"(e.g. 'git pull') before pushing again.\n" +"Updates were rejected because the remote contains work that you do\n" +"not have locally. This is usually caused by another repository pushing\n" +"to the same ref. You may want to first integrate the remote changes\n" +"(e.g., 'git pull ...') before pushing again.\n" "See the 'Note about fast-forwards' in 'git push --help' for details." msgstr "" +"As atualizaΓ§Γ΅es foram rejeitadas porque o remoto contΓ©m alteraΓ§Γ΅es que\n" +"nΓ£o tem localmente. Habitualmente, acontece porque outro repositΓ³rio " +"publicou\n" +"na mesma referΓͺncia. Pode integrar primeiro as alteraΓ§Γ΅es remotas\n" +"(e.g., 'git pull ...') antes de publicar de novo.\n" +"Consulte 'Note about fast-forwards' em 'git push --help' para obter detalhes." + +#: builtin/push.c:268 +msgid "Updates were rejected because the tag already exists in the remote." +msgstr "As atualizaΓ§Γ΅es foram rejeitadas porque a tag jΓ‘ existe no remoto." + +#: builtin/push.c:271 +msgid "" +"You cannot update a remote ref that points at a non-commit object,\n" +"or update a remote ref to make it point at a non-commit object,\n" +"without using the '--force' option.\n" +msgstr "" +"NΓ£o Γ© possΓvel atualizar uma referΓͺncia remota que aponte para um\n" +"objeto nΓ£o commit, ou atualizar uma referΓͺncia remota fazendo-a\n" +"apontar para um objeto nΓ£o commit, sem usar a opΓ§Γ£o '--force'.\n" -#: builtin/push.c:233 +#: builtin/push.c:331 #, c-format msgid "Pushing to %s\n" -msgstr "Pushing para %s\n" +msgstr "A publicar em %s\n" -#: builtin/push.c:237 +#: builtin/push.c:335 #, c-format msgid "failed to push some refs to '%s'" -msgstr "" +msgstr "falha ao publicar algumas referΓͺncias em '%s'" -#: builtin/push.c:269 +#: builtin/push.c:365 #, c-format msgid "bad repository '%s'" -msgstr "repositorio invΓ‘lido '%s'" +msgstr "repositΓ³rio '%s' incorreto" -#: builtin/push.c:270 +#: builtin/push.c:366 msgid "" "No configured push destination.\n" -"Either specify the URL from the command-line or configure a remote repository using\n" +"Either specify the URL from the command-line or configure a remote " +"repository using\n" "\n" " git remote add <name> <url>\n" "\n" @@ -3769,154 +9290,399 @@ msgid "" "\n" " git push <name>\n" msgstr "" +"Destino de publicaΓ§Γ£o nΓ£o definido.\n" +"Indique um URL na linha de comandos ou configure um repositΓ³rio remoto " +"usando\n" +"\n" +" git remote add <nome> <url>\n" +"\n" +"e publique usando o nome remoto\n" +"\n" +" git push <nome>\n" -#: builtin/push.c:285 +#: builtin/push.c:381 msgid "--all and --tags are incompatible" -msgstr "--all e --tags are sΓ£o incompatΓveis" +msgstr "--all e --tags sΓ£o incompatΓveis" -#: builtin/push.c:286 +#: builtin/push.c:382 msgid "--all can't be combined with refspecs" -msgstr "" +msgstr "--all nΓ£o pode ser combinado com especificadores de referΓͺncias" -#: builtin/push.c:291 +#: builtin/push.c:387 msgid "--mirror and --tags are incompatible" -msgstr "" +msgstr "--mirror e --tags sΓ£o incompatΓveis" -#: builtin/push.c:292 +#: builtin/push.c:388 msgid "--mirror can't be combined with refspecs" -msgstr "" +msgstr "--mirror nΓ£o pode ser combinado com especificadores de referΓͺncias" -#: builtin/push.c:297 +#: builtin/push.c:393 msgid "--all and --mirror are incompatible" -msgstr "" +msgstr "--all e --mirror sΓ£o incompatΓveis" + +#: builtin/push.c:505 +msgid "repository" +msgstr "repositΓ³rio" + +#: builtin/push.c:506 builtin/send-pack.c:161 +msgid "push all refs" +msgstr "publicar todas as referΓͺncias" + +#: builtin/push.c:507 builtin/send-pack.c:163 +msgid "mirror all refs" +msgstr "replicar todas as referΓͺncias" + +#: builtin/push.c:509 +msgid "delete refs" +msgstr "eliminar referΓͺncias" + +#: builtin/push.c:510 +msgid "push tags (can't be used with --all or --mirror)" +msgstr "publicar tags (nΓ£o pode ser usado com --all ou --mirror)" + +#: builtin/push.c:513 builtin/send-pack.c:164 +msgid "force updates" +msgstr "forΓ§ar atualizaΓ§Γ£o" + +#: builtin/push.c:515 builtin/send-pack.c:175 +msgid "refname>:<expect" +msgstr "nome da referΓͺncia>:<esperado" + +#: builtin/push.c:516 builtin/send-pack.c:176 +msgid "require old value of ref to be at this value" +msgstr "exigir que o antigo valor da referΓͺncia tenha este valor" + +#: builtin/push.c:519 +msgid "control recursive pushing of submodules" +msgstr "controlar a publicaΓ§Γ£o recursiva de submΓ³dulos" -#: builtin/push.c:385 +#: builtin/push.c:521 builtin/send-pack.c:169 +msgid "use thin pack" +msgstr "usar pacote fino" + +#: builtin/push.c:522 builtin/push.c:523 builtin/send-pack.c:158 +#: builtin/send-pack.c:159 +msgid "receive pack program" +msgstr "programa receive pack" + +#: builtin/push.c:524 +msgid "set upstream for git pull/status" +msgstr "definir o ramo a montante usado com git pull/status" + +#: builtin/push.c:527 +msgid "prune locally removed refs" +msgstr "eliminar referΓͺncias removidas localmente" + +#: builtin/push.c:529 +msgid "bypass pre-push hook" +msgstr "ignorar pre-push hook" + +#: builtin/push.c:530 +msgid "push missing but relevant tags" +msgstr "publicar tags perdidas mas relevantes" + +#: builtin/push.c:533 builtin/send-pack.c:166 +msgid "GPG sign the push" +msgstr "assinar publicaΓ§Γ£o com GPG" + +#: builtin/push.c:535 builtin/send-pack.c:170 +msgid "request atomic transaction on remote side" +msgstr "solicitar transaΓ§Γ£o atΓ³mica no servidor remoto" + +#: builtin/push.c:549 msgid "--delete is incompatible with --all, --mirror and --tags" -msgstr "" +msgstr "--delete Γ© incompatΓvel com --all, --mirror e --tags" -#: builtin/push.c:387 +#: builtin/push.c:551 msgid "--delete doesn't make sense without any refs" +msgstr "--delete nΓ£o faz sentido sem uma referΓͺncia" + +#: builtin/read-tree.c:37 +msgid "" +"git read-tree [(-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>) " +"[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--" +"index-output=<file>] (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])" msgstr "" +"git read-tree [(-m [--trivial] [--aggressive] | --reset | --" +"prefix=<prefixo>) [-u [--exclude-per-directory=<gitignore>] | -i]] [--no-" +"sparse-checkout] [--index-output=<ficheiro>] (--empty | <Γ‘rvore1> [<Γ‘rvore2> " +"[<Γ‘rvore3>]])" + +#: builtin/read-tree.c:110 +msgid "write resulting index to <file>" +msgstr "escrever o Γndice resultante no <ficheiro>" -#: builtin/remote.c:98 +#: builtin/read-tree.c:113 +msgid "only empty the index" +msgstr "apenas esvaziar o Γndice" + +#: builtin/read-tree.c:115 +msgid "Merging" +msgstr "A realizar merge" + +#: builtin/read-tree.c:117 +msgid "perform a merge in addition to a read" +msgstr "realizar um merge em adiΓ§Γ£o a uma leitura" + +#: builtin/read-tree.c:119 +msgid "3-way merge if no file level merging required" +msgstr "" +"realizar merge com 3 pontos se o merge ao nΓvel dos ficheiros nΓ£o for " +"necessΓ‘rio" + +#: builtin/read-tree.c:121 +msgid "3-way merge in presence of adds and removes" +msgstr "realizar merge com 3 ponto na presenΓ§a de adiΓ§Γ΅es e remoΓ§Γ΅es" + +#: builtin/read-tree.c:123 +msgid "same as -m, but discard unmerged entries" +msgstr "o mesmo que -m, mas descartar entradas nΓ£o integradas" + +#: builtin/read-tree.c:124 +msgid "<subdirectory>/" +msgstr "<subdiretΓ³rio>/" + +#: builtin/read-tree.c:125 +msgid "read the tree into the index under <subdirectory>/" +msgstr "ler a Γ‘rvore em <subdiretΓ³rio>/ para o Γndice" + +#: builtin/read-tree.c:128 +msgid "update working tree with merge result" +msgstr "atualizar a Γ‘rvore de trabalho com os resultados do merge" + +#: builtin/read-tree.c:130 +msgid "gitignore" +msgstr "gitignore" + +#: builtin/read-tree.c:131 +msgid "allow explicitly ignored files to be overwritten" +msgstr "permitir que os ficheiros explicitamente ignorados sejam substituΓdos" + +#: builtin/read-tree.c:134 +msgid "don't check the working tree after merging" +msgstr "nΓ£o verificar a Γ‘rvore de trabalho depois de efetuar merge" + +#: builtin/read-tree.c:135 +msgid "don't update the index or the work tree" +msgstr "nΓ£o atualizar o Γndice ou a Γ‘rvore de trabalho" + +#: builtin/read-tree.c:137 +msgid "skip applying sparse checkout filter" +msgstr "ignorar a aplicaΓ§Γ£o do filtro de extraΓ§Γ£o esparsa" + +#: builtin/read-tree.c:139 +msgid "debug unpack-trees" +msgstr "depurar unpack-trees" + +#: builtin/reflog.c:423 +#, c-format +msgid "'%s' for '%s' is not a valid timestamp" +msgstr "'%s' em '%s' nΓ£o Γ© um carimbo de data/hora vΓ‘lido" + +#: builtin/reflog.c:540 builtin/reflog.c:545 +#, c-format +msgid "'%s' is not a valid timestamp" +msgstr "'%s' nΓ£o Γ© um carimbo de data/hora vΓ‘lido" + +#: builtin/remote.c:12 +msgid "git remote [-v | --verbose]" +msgstr "git remote [-v | --verbose]" + +#: builtin/remote.c:13 +msgid "" +"git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--" +"mirror=<fetch|push>] <name> <url>" +msgstr "" +"git remote add [-t <ramo>] [-m <master>] [-f] [--tags | --no-tags] [--" +"mirror=<fetch|push>] <nome> <url>" + +#: builtin/remote.c:14 builtin/remote.c:34 +msgid "git remote rename <old> <new>" +msgstr "git remote rename <antigo> <novo>" + +#: builtin/remote.c:15 builtin/remote.c:39 +msgid "git remote remove <name>" +msgstr "git remote remove <nome>" + +#: builtin/remote.c:16 builtin/remote.c:44 +msgid "git remote set-head <name> (-a | --auto | -d | --delete | <branch>)" +msgstr "git remote set-head <nome> (-a | --auto | -d | --delete | <ramo>)" + +#: builtin/remote.c:17 +msgid "git remote [-v | --verbose] show [-n] <name>" +msgstr "git remote [-v | --verbose] show [-n] <nome>" + +#: builtin/remote.c:18 +msgid "git remote prune [-n | --dry-run] <name>" +msgstr "git remote prune [-n | --dry-run] <nome>" + +#: builtin/remote.c:19 +msgid "" +"git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]" +msgstr "" +"git remote [-v | --verbose] update [-p | --prune] [(<grupo> | <remoto>)...]" + +#: builtin/remote.c:20 +msgid "git remote set-branches [--add] <name> <branch>..." +msgstr "git remote set-branches [--add] <nome> <ramo>..." + +#: builtin/remote.c:21 builtin/remote.c:70 +msgid "git remote get-url [--push] [--all] <name>" +msgstr "git remote get-url [--push] [--all] <nome>" + +#: builtin/remote.c:22 builtin/remote.c:75 +msgid "git remote set-url [--push] <name> <newurl> [<oldurl>]" +msgstr "git remote set-url [--push] <nome> <novo-url> [<url-antigo>]" + +#: builtin/remote.c:23 builtin/remote.c:76 +msgid "git remote set-url --add <name> <newurl>" +msgstr "git remote set-url --add <nome> <novo-url>" + +#: builtin/remote.c:24 builtin/remote.c:77 +msgid "git remote set-url --delete <name> <url>" +msgstr "git remote set-url --delete <nome> <url>" + +#: builtin/remote.c:29 +msgid "git remote add [<options>] <name> <url>" +msgstr "git remote add [<opΓ§Γ΅es>] <nome> <url>" + +#: builtin/remote.c:49 +msgid "git remote set-branches <name> <branch>..." +msgstr "git remote set-branches <nome> <ramo>..." + +#: builtin/remote.c:50 +msgid "git remote set-branches --add <name> <branch>..." +msgstr "git remote set-branches --add <nome> <ramo>..." + +#: builtin/remote.c:55 +msgid "git remote show [<options>] <name>" +msgstr "git remote show [<opΓ§Γ΅es>] <nome>" + +#: builtin/remote.c:60 +msgid "git remote prune [<options>] <name>" +msgstr "git remote prune [<opΓ§Γ΅es>] <nome>" + +#: builtin/remote.c:65 +msgid "git remote update [<options>] [<group> | <remote>]..." +msgstr "git remote update [<opΓ§Γ΅es>] [<grupo> | <remoto>]..." + +#: builtin/remote.c:94 #, c-format msgid "Updating %s" -msgstr "Actualizando %s" +msgstr "A atualizar %s" -#: builtin/remote.c:130 +#: builtin/remote.c:126 msgid "" "--mirror is dangerous and deprecated; please\n" "\t use --mirror=fetch or --mirror=push instead" msgstr "" +"--mirror Γ© perigoso e obsoleto;\n" +"\t use --mirror=fetch ou --mirror=push" -#: builtin/remote.c:147 +#: builtin/remote.c:143 #, c-format msgid "unknown mirror argument: %s" -msgstr "argumento mirror nΓ£o conhecido: %s" +msgstr "argumento de mirror desconhecido: %s" + +#: builtin/remote.c:159 +msgid "fetch the remote branches" +msgstr "obter os ramos remotos" + +#: builtin/remote.c:161 +msgid "import all tags and associated objects when fetching" +msgstr "importar todas as tags e objetos associados ao obter" + +#: builtin/remote.c:164 +msgid "or do not fetch any tag at all (--no-tags)" +msgstr "ou nΓ£o obter nenhuma tag (--no-tags)" + +#: builtin/remote.c:166 +msgid "branch(es) to track" +msgstr "ramos a seguir" + +#: builtin/remote.c:167 +msgid "master branch" +msgstr "ramo mestre" + +#: builtin/remote.c:168 +msgid "push|fetch" +msgstr "push|fetch" + +#: builtin/remote.c:169 +msgid "set up remote as a mirror to push to or fetch from" +msgstr "configurar o remoto como um espelho para publicar ou obter" -#: builtin/remote.c:185 +#: builtin/remote.c:181 msgid "specifying a master branch makes no sense with --mirror" -msgstr "" +msgstr "especificar um ramo mestre nΓ£o faz sentido com --mirror" -#: builtin/remote.c:187 +#: builtin/remote.c:183 msgid "specifying branches to track makes sense only with fetch mirrors" -msgstr "" +msgstr "especificar ramos para seguir sΓ³ faz sentido com fetch mirrors" -#: builtin/remote.c:195 -#: builtin/remote.c:646 +#: builtin/remote.c:190 builtin/remote.c:633 #, c-format msgid "remote %s already exists." -msgstr "o remoto %s jΓ‘ existe" +msgstr "o remoto %s jΓ‘ existe." -#: builtin/remote.c:199 -#: builtin/remote.c:650 +#: builtin/remote.c:194 builtin/remote.c:637 #, c-format msgid "'%s' is not a valid remote name" -msgstr "'%s' nΓ£o Γ© um nombe remoto valido" +msgstr "'%s' nΓ£o Γ© um nome de remoto vΓ‘lido" -#: builtin/remote.c:243 +#: builtin/remote.c:234 #, c-format msgid "Could not setup master '%s'" -msgstr "NΓ£o foi possΓvel configurar a rama master '%s'" +msgstr "NΓ£o foi possΓvel configuraΓ§Γ£o o ramo mestre '%s'" -#: builtin/remote.c:299 -#, c-format -msgid "more than one %s" -msgstr "" - -#: builtin/remote.c:339 +#: builtin/remote.c:336 #, c-format msgid "Could not get fetch map for refspec %s" msgstr "" +"NΓ£o foi possΓvel obter o mapa de fetch do especificador de referΓͺncia %s" -#: builtin/remote.c:440 -#: builtin/remote.c:448 +#: builtin/remote.c:437 builtin/remote.c:445 msgid "(matching)" -msgstr "" +msgstr "(correspondente)" -#: builtin/remote.c:452 +#: builtin/remote.c:449 msgid "(delete)" msgstr "(eliminado)" -#: builtin/remote.c:595 -#: builtin/remote.c:601 -#: builtin/remote.c:607 -#, c-format -msgid "Could not append '%s' to '%s'" -msgstr "NΓ£o foi possΓvel adicionar o '%s' para o '%s'" - -#: builtin/remote.c:639 -#: builtin/remote.c:792 -#: builtin/remote.c:890 +#: builtin/remote.c:626 builtin/remote.c:761 builtin/remote.c:858 #, c-format msgid "No such remote: %s" -msgstr "" +msgstr "Remoto inexistente: %s" -#: builtin/remote.c:656 +#: builtin/remote.c:643 #, c-format msgid "Could not rename config section '%s' to '%s'" -msgstr "NΓ£o foi possΓvel renombrar a secΓ§Γ£o da configuraΓ§Γ£o de '%s' para '%s'" - -#: builtin/remote.c:662 -#: builtin/remote.c:799 -#, c-format -msgid "Could not remove config section '%s'" -msgstr "NΓ£o foi possΓvel remover a secΓ§Γ£o da configuraΓ§Γ£o '%s'" +msgstr "" +"NΓ£o foi possΓvel mudar o nome da secΓ§Γ£o de configuraΓ§Γ£o de '%s' para '%s'" -#: builtin/remote.c:677 +#: builtin/remote.c:663 #, c-format msgid "" -"Not updating non-default fetch respec\n" +"Not updating non-default fetch refspec\n" "\t%s\n" "\tPlease update the configuration manually if necessary." msgstr "" +"O seguinte especificador de referΓͺncia, nΓ£o-predefinido e usado para obter " +"objetos, nΓ£o foi atualizado\n" +"\t%s\n" +"\tAtualize a configuraΓ§Γ£o manualmente se necessΓ‘rio." -#: builtin/remote.c:683 -#, c-format -msgid "Could not append '%s'" -msgstr "NΓ£o foi possΓvel adicionar '%s'" - -#: builtin/remote.c:694 -#, c-format -msgid "Could not set '%s'" -msgstr "NΓ£o foi possΓvel atribuir '%s'" - -#: builtin/remote.c:716 +#: builtin/remote.c:699 #, c-format msgid "deleting '%s' failed" -msgstr "falhou eliminar '%s'" +msgstr "falha ao eliminar '%s'" -#: builtin/remote.c:750 +#: builtin/remote.c:733 #, c-format msgid "creating '%s' failed" -msgstr "falhou a criar '%s'" +msgstr "falha ao criar '%s'" -#: builtin/remote.c:764 -#, c-format -msgid "Could not remove branch %s" -msgstr "NΓ£o foi possΓvel remover rama %s" - -#: builtin/remote.c:834 +#: builtin/remote.c:796 msgid "" "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n" "to delete it, use:" @@ -3924,1057 +9690,2752 @@ msgid_plural "" "Note: Some branches outside the refs/remotes/ hierarchy were not removed;\n" "to delete them, use:" msgstr[0] "" +"Nota: Um ramo fora da hierarquia refs/remotes/ nΓ£o foi removido;\n" +"para o remover, use:" msgstr[1] "" +"Nota: alguns ramos fora da hierarquia refs/remotes/ nΓ£o foram removidos;\n" +"para os remover, use:" + +#: builtin/remote.c:810 +#, c-format +msgid "Could not remove config section '%s'" +msgstr "NΓ£o foi possΓvel remover a secΓ§Γ£o de configuraΓ§Γ£o '%s'" -#: builtin/remote.c:943 +#: builtin/remote.c:911 #, c-format msgid " new (next fetch will store in remotes/%s)" -msgstr "" +msgstr " novo (os prΓ³xima objetos obtidos serΓ£o guardados em remotes/%s)" -#: builtin/remote.c:946 +#: builtin/remote.c:914 msgid " tracked" -msgstr "seguido" +msgstr " seguido" -#: builtin/remote.c:948 +#: builtin/remote.c:916 msgid " stale (use 'git remote prune' to remove)" -msgstr "" +msgstr " obsoleto (use 'git remote prune' para remover)" -#: builtin/remote.c:950 +#: builtin/remote.c:918 msgid " ???" msgstr " ???" -#: builtin/remote.c:991 +#: builtin/remote.c:959 #, c-format msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch" msgstr "" +"branch.%s.merge invΓ‘lido; nΓ£o Γ© possΓvel realizar rebase sobre mais do que " +"um ramo" -#: builtin/remote.c:998 +#: builtin/remote.c:967 #, c-format -msgid "rebases onto remote %s" -msgstr "" +msgid "rebases interactively onto remote %s" +msgstr "realiza rebase interativo sobre %s do remoto" -#: builtin/remote.c:1001 +#: builtin/remote.c:971 #, c-format msgid " merges with remote %s" -msgstr "Fundir com servidor remoto %s" +msgstr " realiza merge com %s do remoto" -#: builtin/remote.c:1002 +#: builtin/remote.c:972 msgid " and with remote" -msgstr " e com remoto" +msgstr " e com o remoto" -#: builtin/remote.c:1004 +#: builtin/remote.c:974 #, c-format msgid "merges with remote %s" -msgstr "Fundir com servidor remoto %s" +msgstr "realiza merge com %s do remoto" -#: builtin/remote.c:1005 +#: builtin/remote.c:975 msgid " and with remote" -msgstr " e com remoto" +msgstr " e com o remoto" -#: builtin/remote.c:1051 +#: builtin/remote.c:1021 msgid "create" -msgstr "creado" +msgstr "criado" -#: builtin/remote.c:1054 +#: builtin/remote.c:1024 msgid "delete" msgstr "eliminado" -#: builtin/remote.c:1058 +#: builtin/remote.c:1028 msgid "up to date" -msgstr "actualizado" +msgstr "atualizado" -#: builtin/remote.c:1061 +#: builtin/remote.c:1031 msgid "fast-forwardable" -msgstr "fast-forwardable" +msgstr "pode ser avanΓ§ado rapidamente" -#: builtin/remote.c:1064 +#: builtin/remote.c:1034 msgid "local out of date" -msgstr "local desatualizada" +msgstr "local desatualizado" -#: builtin/remote.c:1071 +#: builtin/remote.c:1041 #, c-format msgid " %-*s forces to %-*s (%s)" -msgstr "" +msgstr " %-*s forΓ§a em %-*s (%s)" -#: builtin/remote.c:1074 +#: builtin/remote.c:1044 #, c-format msgid " %-*s pushes to %-*s (%s)" -msgstr "" +msgstr " %-*s publica em %-*s (%s)" -#: builtin/remote.c:1078 +#: builtin/remote.c:1048 #, c-format msgid " %-*s forces to %s" -msgstr "" +msgstr " %-*s forΓ§a em %s" -#: builtin/remote.c:1081 +#: builtin/remote.c:1051 #, c-format msgid " %-*s pushes to %s" -msgstr "" +msgstr " %-*s publica em %s" + +#: builtin/remote.c:1119 +msgid "do not query remotes" +msgstr "nΓ£o consultar remotos" -#: builtin/remote.c:1118 +#: builtin/remote.c:1146 #, c-format msgid "* remote %s" -msgstr "* remota %s" +msgstr "* remoto %s" -#: builtin/remote.c:1119 +#: builtin/remote.c:1147 #, c-format msgid " Fetch URL: %s" -msgstr "" +msgstr " Obter do URL: %s" -#: builtin/remote.c:1120 -#: builtin/remote.c:1285 +#: builtin/remote.c:1148 builtin/remote.c:1299 msgid "(no URL)" msgstr "(nenhum URL)" -#: builtin/remote.c:1129 -#: builtin/remote.c:1131 +#: builtin/remote.c:1157 builtin/remote.c:1159 #, c-format msgid " Push URL: %s" -msgstr "" +msgstr " Publicar no URL: %s" -#: builtin/remote.c:1133 -#: builtin/remote.c:1135 -#: builtin/remote.c:1137 +#: builtin/remote.c:1161 builtin/remote.c:1163 builtin/remote.c:1165 #, c-format msgid " HEAD branch: %s" -msgstr "Rama HEAD: %s" +msgstr " Ramo HEAD: %s" -#: builtin/remote.c:1139 +#: builtin/remote.c:1167 #, c-format -msgid " HEAD branch (remote HEAD is ambiguous, may be one of the following):\n" -msgstr "" +msgid "" +" HEAD branch (remote HEAD is ambiguous, may be one of the following):\n" +msgstr " Ramo HEAD (o remoto HEAD Γ© ambΓguo, pode ser um dos seguintes):\n" -#: builtin/remote.c:1151 +#: builtin/remote.c:1179 #, c-format msgid " Remote branch:%s" msgid_plural " Remote branches:%s" -msgstr[0] "Rama remota:%s" -msgstr[1] "Ramas remotas:%s'" +msgstr[0] " Ramo remoto:%s" +msgstr[1] " Ramos remotos:%s" -#: builtin/remote.c:1154 -#: builtin/remote.c:1181 +#: builtin/remote.c:1182 builtin/remote.c:1209 msgid " (status not queried)" -msgstr "" +msgstr " (estado nΓ£o consultado)" -#: builtin/remote.c:1163 +#: builtin/remote.c:1191 msgid " Local branch configured for 'git pull':" msgid_plural " Local branches configured for 'git pull':" -msgstr[0] "" -msgstr[1] "" +msgstr[0] " Ramo local configurado para 'git pull':" +msgstr[1] " Ramos locais configurados para 'git pull':" -#: builtin/remote.c:1171 +#: builtin/remote.c:1199 msgid " Local refs will be mirrored by 'git push'" -msgstr "" +msgstr " ReferΓͺncias locais serΓ£o refletidas (mirror) por 'git push'" -#: builtin/remote.c:1178 +#: builtin/remote.c:1206 #, c-format msgid " Local ref configured for 'git push'%s:" msgid_plural " Local refs configured for 'git push'%s:" -msgstr[0] "" -msgstr[1] "" +msgstr[0] " ReferΓͺncia local configurada para 'git push'%s:" +msgstr[1] " ReferΓͺncias locais configuradas para 'git push'%s:" -#: builtin/remote.c:1216 +#: builtin/remote.c:1227 +msgid "set refs/remotes/<name>/HEAD according to remote" +msgstr "definir refs/remotes/<nome>/HEAD de acordo com o remoto" + +#: builtin/remote.c:1229 +msgid "delete refs/remotes/<name>/HEAD" +msgstr "eliminar refs/remotes/<nome>/HEAD" + +#: builtin/remote.c:1244 msgid "Cannot determine remote HEAD" -msgstr "" +msgstr "NΓ£o Γ© possΓvel determinar o remoto HEAD" -#: builtin/remote.c:1218 +#: builtin/remote.c:1246 msgid "Multiple remote HEAD branches. Please choose one explicitly with:" -msgstr "" +msgstr "MΓΊltiplos ramos HEAD remotos. Escolha um explicitamente com:" -#: builtin/remote.c:1228 +#: builtin/remote.c:1256 #, c-format msgid "Could not delete %s" -msgstr "NΓ£o foi possΓvel abrir %s" +msgstr "NΓ£o foi possΓvel eliminar %s" -#: builtin/remote.c:1236 +#: builtin/remote.c:1264 #, c-format msgid "Not a valid ref: %s" -msgstr "" +msgstr "ReferΓͺncia invΓ‘lida: %s" -#: builtin/remote.c:1238 +#: builtin/remote.c:1266 #, c-format msgid "Could not setup %s" msgstr "NΓ£o foi possΓvel configurar %s" -#: builtin/remote.c:1274 +#: builtin/remote.c:1284 #, c-format msgid " %s will become dangling!" -msgstr "" +msgstr " %s ficarΓ‘ suspenso!" -#: builtin/remote.c:1275 +#: builtin/remote.c:1285 #, c-format msgid " %s has become dangling!" -msgstr "" +msgstr " %s ficou suspenso!" -#: builtin/remote.c:1281 +#: builtin/remote.c:1295 #, c-format msgid "Pruning %s" -msgstr "Apagando %s" +msgstr "A eliminar %s" -#: builtin/remote.c:1282 +#: builtin/remote.c:1296 #, c-format msgid "URL: %s" msgstr "URL: %s" -#: builtin/remote.c:1295 +#: builtin/remote.c:1312 #, c-format msgid " * [would prune] %s" -msgstr "" +msgstr " * [eliminaria] %s" -#: builtin/remote.c:1298 +#: builtin/remote.c:1315 #, c-format msgid " * [pruned] %s" -msgstr "" +msgstr " * [eliminado] %s" -#: builtin/remote.c:1387 -#: builtin/remote.c:1461 +#: builtin/remote.c:1360 +msgid "prune remotes after fetching" +msgstr "eliminar remotos depois de obter" + +#: builtin/remote.c:1423 builtin/remote.c:1477 builtin/remote.c:1545 #, c-format msgid "No such remote '%s'" -msgstr "NΓ£o existe este remoto '%s'" +msgstr "Remoto inexistente '%s'" + +#: builtin/remote.c:1439 +msgid "add branch" +msgstr "adicionar ramo" -#: builtin/remote.c:1414 +#: builtin/remote.c:1446 msgid "no remote specified" -msgstr "Nenhum remoto especificado" +msgstr "nenhum remoto especificado" + +#: builtin/remote.c:1463 +msgid "query push URLs rather than fetch URLs" +msgstr "consultar URLs de publicaΓ§Γ£o em vez de URLs utilizados para obter" -#: builtin/remote.c:1447 +#: builtin/remote.c:1465 +msgid "return all URLs" +msgstr "retornar todos os URLs" + +#: builtin/remote.c:1493 +#, c-format +msgid "no URLs configured for remote '%s'" +msgstr "o remoto '%s' nΓ£o tem nenhum URL configurado" + +#: builtin/remote.c:1519 +msgid "manipulate push URLs" +msgstr "manipular URLs de publicaΓ§Γ£o" + +#: builtin/remote.c:1521 +msgid "add URL" +msgstr "adicionar URL" + +#: builtin/remote.c:1523 +msgid "delete URLs" +msgstr "eliminar URLs" + +#: builtin/remote.c:1530 msgid "--add --delete doesn't make sense" -msgstr "" +msgstr "--add --delete nΓ£o faz sentido" -#: builtin/remote.c:1487 +#: builtin/remote.c:1571 #, c-format msgid "Invalid old URL pattern: %s" -msgstr "" +msgstr "PadrΓ£o de URL antigo invΓ‘lido: %s" -#: builtin/remote.c:1495 +#: builtin/remote.c:1579 #, c-format msgid "No such URL found: %s" -msgstr "Nenhum URL encontrado: %s" +msgstr "URL nΓ£o encontrado: %s" -#: builtin/remote.c:1497 +#: builtin/remote.c:1581 msgid "Will not delete all non-push URLs" +msgstr "NΓ£o Γ© possΓvel remover todos os URLs de nΓ£o publicaΓ§Γ£o" + +#: builtin/remote.c:1595 +msgid "be verbose; must be placed before a subcommand" +msgstr "ser verboso; deve ser colocado antes de um subcomando" + +#: builtin/repack.c:17 +msgid "git repack [<options>]" +msgstr "git repack [<opΓ§Γ΅es>]" + +#: builtin/repack.c:159 +msgid "pack everything in a single pack" +msgstr "compactar tudo num ΓΊnico pacote" + +#: builtin/repack.c:161 +msgid "same as -a, and turn unreachable objects loose" +msgstr "o mesmo que -a, e soltar objetos inalcanΓ§Γ‘veis" + +#: builtin/repack.c:164 +msgid "remove redundant packs, and run git-prune-packed" +msgstr "remover pacotes redundantes e executar git-prune-packed" + +#: builtin/repack.c:166 +msgid "pass --no-reuse-delta to git-pack-objects" +msgstr "passar --no-reuse-delta ao git-pack-objects" + +#: builtin/repack.c:168 +msgid "pass --no-reuse-object to git-pack-objects" +msgstr "passar --no-reuse-object ao git-pack-objects" + +#: builtin/repack.c:170 +msgid "do not run git-update-server-info" +msgstr "nΓ£o executar git-update-server-info" + +#: builtin/repack.c:173 +msgid "pass --local to git-pack-objects" +msgstr "passar --local ao git-pack-objects" + +#: builtin/repack.c:175 +msgid "write bitmap index" +msgstr "escrever Γndice de mapa de bits" + +#: builtin/repack.c:176 +msgid "approxidate" +msgstr "aproximar" + +#: builtin/repack.c:177 +msgid "with -A, do not loosen objects older than this" +msgstr "com -A, nΓ£o soltar mais objetos alΓ©m destes" + +#: builtin/repack.c:179 +msgid "size of the window used for delta compression" +msgstr "dimensΓ£o da janela usada em compressΓ£o de deltas" + +#: builtin/repack.c:180 builtin/repack.c:184 +msgid "bytes" +msgstr "bytes" + +#: builtin/repack.c:181 +msgid "same as the above, but limit memory size instead of entries count" +msgstr "" +"o mesmo que o anterior, mas limitar a memΓ³ria usada em vez do nΓΊmero de " +"entradas" + +#: builtin/repack.c:183 +msgid "limits the maximum delta depth" +msgstr "limitar a profundidade mΓ‘xima de delta" + +#: builtin/repack.c:185 +msgid "maximum size of each packfile" +msgstr "tamanho mΓ‘ximo de cada ficheiro de pacote" + +#: builtin/repack.c:187 +msgid "repack objects in packs marked with .keep" +msgstr "reempacotar objetos em pacotes marcados com .keep" + +#: builtin/repack.c:197 +msgid "cannot delete packs in a precious-objects repo" +msgstr "nΓ£o Γ© possΓvel eliminar pacotes num repositΓ³rio de objetos-preciosos" + +#: builtin/repack.c:381 +#, c-format +msgid "removing '%s' failed" +msgstr "falha ao remover '%s'" + +#: builtin/replace.c:19 +msgid "git replace [-f] <object> <replacement>" +msgstr "git replace [-f] <objeto> <substituiΓ§Γ£o>" + +#: builtin/replace.c:20 +msgid "git replace [-f] --edit <object>" +msgstr "git replace [-f] --edit <objeto>" + +#: builtin/replace.c:21 +msgid "git replace [-f] --graft <commit> [<parent>...]" +msgstr "git replace [-f] --graft <commit> [<pai>...]" + +#: builtin/replace.c:22 +msgid "git replace -d <object>..." +msgstr "git replace -d <objeto>..." + +#: builtin/replace.c:23 +msgid "git replace [--format=<format>] [-l [<pattern>]]" +msgstr "git replace [--format=<formato>] [-l [<padrΓ£o>]]" + +#: builtin/replace.c:325 builtin/replace.c:363 builtin/replace.c:391 +#, c-format +msgid "Not a valid object name: '%s'" +msgstr "Nome de objeto invΓ‘lido: '%s'" + +#: builtin/replace.c:355 +#, c-format +msgid "bad mergetag in commit '%s'" +msgstr "mergetag incorreta no commit '%s'" + +#: builtin/replace.c:357 +#, c-format +msgid "malformed mergetag in commit '%s'" +msgstr "mergetag malformada no commit '%s' " + +#: builtin/replace.c:368 +#, c-format +msgid "" +"original commit '%s' contains mergetag '%s' that is discarded; use --edit " +"instead of --graft" +msgstr "" +"o commit original '%s' contΓ©m a mergetag '%s' que foi excluΓda; use --edit " +"em vez de --graft" + +#: builtin/replace.c:401 +#, c-format +msgid "the original commit '%s' has a gpg signature." +msgstr "o commit original '%s' tem uma assinatura gpg." + +#: builtin/replace.c:402 +msgid "the signature will be removed in the replacement commit!" +msgstr "a assinatura serΓ‘ removida do commit substituto!" + +#: builtin/replace.c:408 +#, c-format +msgid "could not write replacement commit for: '%s'" +msgstr "nΓ£o foi possΓvel escrever o commit substituto de: '%s'" + +#: builtin/replace.c:432 +msgid "list replace refs" +msgstr "listar referΓͺncias substituΓdas" + +#: builtin/replace.c:433 +msgid "delete replace refs" +msgstr "eliminar referΓͺncias substituΓdas" + +#: builtin/replace.c:434 +msgid "edit existing object" +msgstr "editar objeto existente" + +#: builtin/replace.c:435 +msgid "change a commit's parents" +msgstr "mudar os pais de um commit" + +#: builtin/replace.c:436 +msgid "replace the ref if it exists" +msgstr "substituir a referΓͺncia se esta existir" + +#: builtin/replace.c:437 +msgid "do not pretty-print contents for --edit" +msgstr "nΓ£o mostrar o conteΓΊdo de --edit com impressΓ£o bonita" + +#: builtin/replace.c:438 +msgid "use this format" +msgstr "usar este formato" + +#: builtin/rerere.c:12 +msgid "git rerere [clear | forget <path>... | status | remaining | diff | gc]" +msgstr "" +"git rerere [clear | forget <caminho>... | status | remaining | diff | gc]" + +#: builtin/rerere.c:58 +msgid "register clean resolutions in index" +msgstr "registar resoluΓ§Γ΅es limpas no Γndice" + +#: builtin/reset.c:26 +msgid "" +"git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]" msgstr "" +"git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]" -#: builtin/reset.c:33 +#: builtin/reset.c:27 +msgid "git reset [-q] <tree-ish> [--] <paths>..." +msgstr "git reset [-q] <Γ‘rvore> [--] <caminhos>..." + +#: builtin/reset.c:28 +msgid "git reset --patch [<tree-ish>] [--] [<paths>...]" +msgstr "git reset --patch [<Γ‘rvore>] [--] [<caminhos>...]" + +#: builtin/reset.c:34 msgid "mixed" -msgstr "mistura" +msgstr "misturado" -#: builtin/reset.c:33 +#: builtin/reset.c:34 msgid "soft" -msgstr "leve" +msgstr "suave" -#: builtin/reset.c:33 +#: builtin/reset.c:34 msgid "hard" msgstr "forte" -#: builtin/reset.c:33 +#: builtin/reset.c:34 msgid "merge" -msgstr "juntar" +msgstr "merge" -#: builtin/reset.c:33 +#: builtin/reset.c:34 msgid "keep" -msgstr "manter" +msgstr "conservador" -#: builtin/reset.c:77 +#: builtin/reset.c:74 msgid "You do not have a valid HEAD." -msgstr "NΓ£o tens a HEAD vΓ‘lida." +msgstr "HEAD invΓ‘lida." -#: builtin/reset.c:79 +#: builtin/reset.c:76 msgid "Failed to find tree of HEAD." -msgstr "" +msgstr "Falha ao procurar Γ‘rvore de HEAD." -#: builtin/reset.c:85 +#: builtin/reset.c:82 #, c-format msgid "Failed to find tree of %s." -msgstr "" - -#: builtin/reset.c:96 -msgid "Could not write new index file." -msgstr "" +msgstr "Falha ao procurar Γ‘rvore de %s." -#: builtin/reset.c:106 +#: builtin/reset.c:100 #, c-format msgid "HEAD is now at %s" -msgstr "HEAD Γ© agora em %s" +msgstr "HEAD estΓ‘ agora em %s" -#: builtin/reset.c:130 -msgid "Could not read index" -msgstr "" +#: builtin/reset.c:183 +#, c-format +msgid "Cannot do a %s reset in the middle of a merge." +msgstr "NΓ£o Γ© possΓvel repor de modo %s durante um merge." -#: builtin/reset.c:133 -msgid "Unstaged changes after reset:" -msgstr "" +#: builtin/reset.c:276 +msgid "be quiet, only report errors" +msgstr "silencioso, sΓ³ reportar erros" + +#: builtin/reset.c:278 +msgid "reset HEAD and index" +msgstr "repor HEAD e Γndice" -#: builtin/reset.c:223 +#: builtin/reset.c:279 +msgid "reset only HEAD" +msgstr "repor HEAD apenas" + +#: builtin/reset.c:281 builtin/reset.c:283 +msgid "reset HEAD, index and working tree" +msgstr "repor HEAD, Γndice e Γ‘rvore de trabalho" + +#: builtin/reset.c:285 +msgid "reset HEAD but keep local changes" +msgstr "repor HEAD mas conservar alteraΓ§Γ΅es locais" + +#: builtin/reset.c:288 +msgid "record only the fact that removed paths will be added later" +msgstr "registar apenas o facto de que os caminhos removidos serΓ£o adicionados" + +#: builtin/reset.c:305 #, c-format -msgid "Cannot do a %s reset in the middle of a merge." -msgstr "" +msgid "Failed to resolve '%s' as a valid revision." +msgstr "Falha ao resolver '%s' como referΓͺncia vΓ‘lida." -#: builtin/reset.c:297 +#: builtin/reset.c:313 #, c-format -msgid "Could not parse object '%s'." -msgstr "NΓ£o foi possΓvel analisar objeto '%s'." +msgid "Failed to resolve '%s' as a valid tree." +msgstr "Falha ao resolver '%s' como Γ‘rvore vΓ‘lida." -#: builtin/reset.c:302 +#: builtin/reset.c:322 msgid "--patch is incompatible with --{hard,mixed,soft}" -msgstr "" +msgstr "--patch Γ© incompatΓvel com --{hard,mixed,soft}" -#: builtin/reset.c:311 +#: builtin/reset.c:331 msgid "--mixed with paths is deprecated; use 'git reset -- <paths>' instead." msgstr "" +"--mixed acompanhado com caminhos Γ© obsoleto; use 'git reset -- <caminhos>'." -#: builtin/reset.c:313 +#: builtin/reset.c:333 #, c-format msgid "Cannot do %s reset with paths." -msgstr "" +msgstr "NΓ£o Γ© possΓvel repor de modo %s com caminhos." -#: builtin/reset.c:325 +#: builtin/reset.c:343 #, c-format msgid "%s reset is not allowed in a bare repository" -msgstr "" +msgstr "NΓ£o Γ© permitido repor de modo %s num repositΓ³rio nu" -#: builtin/reset.c:341 +#: builtin/reset.c:347 +msgid "-N can only be used with --mixed" +msgstr "-N sΓ³ pode ser usado com --mixed" + +#: builtin/reset.c:364 +msgid "Unstaged changes after reset:" +msgstr "AlteraΓ§Γ΅es nΓ£o preparadas depois de repor:" + +#: builtin/reset.c:370 #, c-format msgid "Could not reset index file to revision '%s'." +msgstr "NΓ£o foi possΓvel repor o ficheiro Γndice para a revisΓ£o '%s'." + +#: builtin/reset.c:374 +msgid "Could not write new index file." +msgstr "NΓ£o foi possΓvel escrever novo ficheiro de Γndice." + +#: builtin/rev-list.c:350 +msgid "rev-list does not support display of notes" +msgstr "rev-list nΓ£o suporta apresentaΓ§Γ£o de notas" + +#: builtin/rev-parse.c:358 +msgid "git rev-parse --parseopt [<options>] -- [<args>...]" +msgstr "git rev-parse --parseopt [<opΓ§Γ΅es>] -- [<argumentos>...]" + +#: builtin/rev-parse.c:363 +msgid "keep the `--` passed as an arg" +msgstr "Conservar '--' passado como argumento" + +#: builtin/rev-parse.c:365 +msgid "stop parsing after the first non-option argument" +msgstr "parar de analisar depois do primeiro argumento que nΓ£o seja uma opΓ§Γ£o" + +#: builtin/rev-parse.c:368 +msgid "output in stuck long form" +msgstr "mostrar em formato fixo e longo" + +#: builtin/rev-parse.c:499 +msgid "" +"git rev-parse --parseopt [<options>] -- [<args>...]\n" +" or: git rev-parse --sq-quote [<arg>...]\n" +" or: git rev-parse [<options>] [<arg>...]\n" +"\n" +"Run \"git rev-parse --parseopt -h\" for more information on the first usage." msgstr "" +"git rev-parse --parseopt [<opΓ§Γ΅es>] -- [<argumentos>...]\n" +" or: git rev-parse --sq-quote [<argumentos>...]\n" +" or: git rev-parse [<opΓ§Γ΅es>] [<argumentos>...]\n" +"\n" +"Execute \"git rev-parse --parseopt -h\" para obter mais informaΓ§Γ£o sobre a " +"primeira utilizaΓ§Γ£o." + +#: builtin/revert.c:22 +msgid "git revert [<options>] <commit-ish>..." +msgstr "git revert [<opΓ§Γ΅es>] <commit-ish>..." + +#: builtin/revert.c:23 +msgid "git revert <subcommand>" +msgstr "git revert <subcommando>" -#: builtin/revert.c:70 -#: builtin/revert.c:92 +#: builtin/revert.c:28 +msgid "git cherry-pick [<options>] <commit-ish>..." +msgstr "git cherry-pick [<opΓ§Γ΅es>] <commit-ish>..." + +#: builtin/revert.c:29 +msgid "git cherry-pick <subcommand>" +msgstr "git cherry-pick <subcommando>" + +#: builtin/revert.c:71 #, c-format msgid "%s: %s cannot be used with %s" -msgstr "" +msgstr "%s: %s nΓ£o pode ser usado com %s" + +#: builtin/revert.c:80 +msgid "end revert or cherry-pick sequence" +msgstr "terminar reversΓ£o ou cherry-pick" + +#: builtin/revert.c:81 +msgid "resume revert or cherry-pick sequence" +msgstr "retomar a reversΓ£o ou cherry-pick" + +#: builtin/revert.c:82 +msgid "cancel revert or cherry-pick sequence" +msgstr "cancelar reversΓ£o ou cherry-pick" + +#: builtin/revert.c:83 +msgid "don't automatically commit" +msgstr "nΓ£o efetuar commit automaticamente" + +#: builtin/revert.c:84 +msgid "edit the commit message" +msgstr "editar a mensagem de commit" + +#: builtin/revert.c:87 +msgid "parent number" +msgstr "nΓΊmero de pai" -#: builtin/revert.c:131 +#: builtin/revert.c:89 +msgid "merge strategy" +msgstr "estratΓ©gia de merge" + +#: builtin/revert.c:90 +msgid "option" +msgstr "opΓ§Γ£o" + +#: builtin/revert.c:91 +msgid "option for merge strategy" +msgstr "opΓ§Γ£o de estratΓ©gia de merge" + +#: builtin/revert.c:104 +msgid "append commit name" +msgstr "acrescentar nome do commit" + +#: builtin/revert.c:106 +msgid "preserve initially empty commits" +msgstr "preservar commits inicialmente vazios" + +#: builtin/revert.c:107 +msgid "allow commits with empty messages" +msgstr "permitir commits com mensagens vazias" + +#: builtin/revert.c:108 +msgid "keep redundant, empty commits" +msgstr "manter commits redundantes e vazios" + +#: builtin/revert.c:112 msgid "program error" msgstr "erro do programa" -#: builtin/revert.c:221 +#: builtin/revert.c:197 msgid "revert failed" -msgstr "falhou o revert" +msgstr "falha ao reverter" -#: builtin/revert.c:236 +#: builtin/revert.c:212 msgid "cherry-pick failed" -msgstr "cherry-pick falhou" +msgstr "falha ao efetuar cherry-pick" -#: builtin/rm.c:109 -#, c-format +#: builtin/rm.c:17 +msgid "git rm [<options>] [--] <file>..." +msgstr "git rm [<opΓ§Γ΅es>] [--] <ficheiro>..." + +#: builtin/rm.c:65 msgid "" -"'%s' has staged content different from both the file and the HEAD\n" -"(use -f to force removal)" +"the following submodule (or one of its nested submodules)\n" +"uses a .git directory:" +msgid_plural "" +"the following submodules (or one of their nested submodules)\n" +"use a .git directory:" +msgstr[0] "" +"o submΓ³dulo seguinte (ou um dos seus submΓ³dulos aninhados)\n" +"usa um diretΓ³rio .git:" +msgstr[1] "" +"os submΓ³dulos seguintes (ou um dos seus submΓ³dulos)\n" +"usam um diretΓ³rio .git:" + +#: builtin/rm.c:71 +msgid "" +"\n" +"(use 'rm -rf' if you really want to remove it including all of its history)" msgstr "" +"\n" +"(use 'rm -rf' se quer mesmo removΓͺ-lo, incluindo todo o seu histΓ³rico)" -#: builtin/rm.c:115 -#, c-format +#: builtin/rm.c:230 msgid "" -"'%s' has changes staged in the index\n" -"(use --cached to keep the file, or -f to force removal)" +"the following file has staged content different from both the\n" +"file and the HEAD:" +msgid_plural "" +"the following files have staged content different from both the\n" +"file and the HEAD:" +msgstr[0] "" +"o seguinte ficheiro tem conteΓΊdo preparado no Γndice diferente\n" +"do conteΓΊdo no ficheiro e em HEAD:" +msgstr[1] "" +"os seguintes ficheiros tΓͺm conteΓΊdo preparado no Γndice diferente\n" +"do conteΓΊdo no ficheiro e em HEAD:" + +#: builtin/rm.c:235 +msgid "" +"\n" +"(use -f to force removal)" msgstr "" +"\n" +"(use -f para forΓ§ar remoΓ§Γ£o)" -#: builtin/rm.c:119 -#, c-format +#: builtin/rm.c:239 +msgid "the following file has changes staged in the index:" +msgid_plural "the following files have changes staged in the index:" +msgstr[0] "o seguinte ficheiro contΓ©m alteraΓ§Γ΅es preparadas no Γndice:" +msgstr[1] "os seguintes ficheiros contΓͺm alteraΓ§Γ΅es preparadas no Γndice:" + +#: builtin/rm.c:243 builtin/rm.c:254 msgid "" -"'%s' has local modifications\n" +"\n" "(use --cached to keep the file, or -f to force removal)" msgstr "" +"\n" +"(use --cached para manter o ficheiro, ou -f para forΓ§ar remoΓ§Γ£o)" + +#: builtin/rm.c:251 +msgid "the following file has local modifications:" +msgid_plural "the following files have local modifications:" +msgstr[0] "o seguinte ficheiro contΓ©m alteraΓ§Γ΅es locais:" +msgstr[1] "os seguintes ficheiros contΓͺm alteraΓ§Γ΅es locais:" + +#: builtin/rm.c:269 +msgid "do not list removed files" +msgstr "nΓ£o listar ficheiros removidos" + +#: builtin/rm.c:270 +msgid "only remove from the index" +msgstr "remover apenas do Γndice" + +#: builtin/rm.c:271 +msgid "override the up-to-date check" +msgstr "ignorar verificaΓ§Γ£o de atualizaΓ§Γ£o" + +#: builtin/rm.c:272 +msgid "allow recursive removal" +msgstr "permitir remoΓ§Γ£o recursiva" + +#: builtin/rm.c:274 +msgid "exit with a zero status even if nothing matched" +msgstr "sair com valor zero mesmo quando nΓ£o hΓ‘ correspondΓͺncia" -#: builtin/rm.c:194 +#: builtin/rm.c:317 +msgid "Please, stage your changes to .gitmodules or stash them to proceed" +msgstr "" +"Prepare as suas alteraΓ§Γ΅es em .gitmodules ou esconda-as (stash) para " +"prosseguir" + +#: builtin/rm.c:335 #, c-format msgid "not removing '%s' recursively without -r" -msgstr "" +msgstr "nΓ£o remover '%s' recursivamente sem -r" -#: builtin/rm.c:230 +#: builtin/rm.c:374 #, c-format msgid "git rm: unable to remove %s" +msgstr "git rm: nΓ£o Γ© possΓvel remover %s" + +#: builtin/send-pack.c:18 +msgid "" +"git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-" +"receive-pack>] [--verbose] [--thin] [--atomic] [<host>:]<directory> " +"[<ref>...]\n" +" --all and explicit <ref> specification are mutually exclusive." +msgstr "" +"git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-" +"receive-pack>] [--verbose] [--thin] [--atomic] [<host>:]<diretΓ³rio> " +"[<referΓͺncia>...]\n" +" --all e especificaΓ§Γ£o explicita duma <referΓͺncia> sΓ£o mutuamente " +"exclusivos." + +#: builtin/send-pack.c:160 +msgid "remote name" +msgstr "nome do remoto" + +#: builtin/send-pack.c:171 +msgid "use stateless RPC protocol" +msgstr "use protocolo RPC sem estado" + +#: builtin/send-pack.c:172 +msgid "read refs from stdin" +msgstr "ler referΓͺncias do stdin" + +#: builtin/send-pack.c:173 +msgid "print status from remote helper" +msgstr "imprimir estado do programa auxiliar remoto" + +#: builtin/shortlog.c:13 +msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]" msgstr "" +"git shortlog [<opΓ§Γ΅es>] [<intervalo-de-revisΓ΅es>] [[--] [<caminho>...]]" -#: builtin/shortlog.c:157 +#: builtin/shortlog.c:242 +msgid "sort output according to the number of commits per author" +msgstr "ordenar saΓda de acordo com o nΓΊmero de commits por autor" + +#: builtin/shortlog.c:244 +msgid "Suppress commit descriptions, only provides commit count" +msgstr "suprimir a descriΓ§Γ£o dos commits, fornecer apenas o nΓΊmero de commits" + +#: builtin/shortlog.c:246 +msgid "Show the email address of each author" +msgstr "Mostrar o endereΓ§o de e-mail de cada autor" + +#: builtin/shortlog.c:247 +msgid "w[,i1[,i2]]" +msgstr "w[,i1[,i2]]" + +#: builtin/shortlog.c:248 +msgid "Linewrap output" +msgstr "ajustar linhas" + +#: builtin/show-branch.c:10 +msgid "" +"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n" +"\t\t[--current] [--color[=<when>] | --no-color] [--sparse]\n" +"\t\t[--more=<n> | --list | --independent | --merge-base]\n" +"\t\t[--no-name | --sha1-name] [--topics] [(<rev> | <glob>)...]" +msgstr "" +"git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n" +"\t\t[--current] [--color[=<when>] | --no-color] [--sparse]\n" +"\t\t[--more=<n> | --list | --independent | --merge-base]\n" +"\t\t[--no-name | --sha1-name] [--topics] [(<revisΓ£o> | <glob>)...]" + +#: builtin/show-branch.c:14 +msgid "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]" +msgstr "git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<referΓͺncia>]" + +#: builtin/show-branch.c:640 +msgid "show remote-tracking and local branches" +msgstr "mostrar os ramos remotos seguidos e os ramos locais" + +#: builtin/show-branch.c:642 +msgid "show remote-tracking branches" +msgstr "mostrar os ramos remotos seguidos" + +#: builtin/show-branch.c:644 +msgid "color '*!+-' corresponding to the branch" +msgstr "colorir '*!+-' correspondendo ao ramo" + +#: builtin/show-branch.c:646 +msgid "show <n> more commits after the common ancestor" +msgstr "mostrar mais <n> commits depois do antecessor comum" + +#: builtin/show-branch.c:648 +msgid "synonym to more=-1" +msgstr "sinΓ³nimo de more=-1" + +#: builtin/show-branch.c:649 +msgid "suppress naming strings" +msgstr "suprimir a cadeias de caracteres de nomes" + +#: builtin/show-branch.c:651 +msgid "include the current branch" +msgstr "incluir o ramo atual" + +#: builtin/show-branch.c:653 +msgid "name commits with their object names" +msgstr "designar commits pelos seus nomes de objeto" + +#: builtin/show-branch.c:655 +msgid "show possible merge bases" +msgstr "mostrar possΓveis bases de merge" + +#: builtin/show-branch.c:657 +msgid "show refs unreachable from any other ref" +msgstr "mostrar referΓͺncias inalcanΓ§Γ‘veis a partir de outras referΓͺncias" + +#: builtin/show-branch.c:659 +msgid "show commits in topological order" +msgstr "mostrar commits em ordem topolΓ³gica" + +#: builtin/show-branch.c:662 +msgid "show only commits not on the first branch" +msgstr "mostrar apenas commits nΓ£o presentes no primeiro ramo" + +#: builtin/show-branch.c:664 +msgid "show merges reachable from only one tip" +msgstr "mostrar merges alcanΓ§Γ‘veis a partir duma ΓΊnica ponta" + +#: builtin/show-branch.c:666 +msgid "topologically sort, maintaining date order where possible" +msgstr "" +"ordenar topologicamente, mantendo a ordenaΓ§Γ£o por data sempre que possΓvel" + +#: builtin/show-branch.c:669 +msgid "<n>[,<base>]" +msgstr "<n>[,<base>]" + +#: builtin/show-branch.c:670 +msgid "show <n> most recent ref-log entries starting at base" +msgstr "mostrar as <n> entradas de ref-log mais recente a partir da base" + +#: builtin/show-ref.c:10 +msgid "" +"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --" +"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<pattern>...]" +msgstr "" +"git show-ref [-q | --quiet] [--verify] [--head] [-d | --dereference] [-s | --" +"hash[=<n>]] [--abbrev[=<n>]] [--tags] [--heads] [--] [<padrΓ£o>...]" + +#: builtin/show-ref.c:11 +msgid "git show-ref --exclude-existing[=<pattern>]" +msgstr "git show-ref --exclude-existing[=<padrΓ£o>]" + +#: builtin/show-ref.c:165 +msgid "only show tags (can be combined with heads)" +msgstr "mostrar apenas tags (pode ser combinado com heads)" + +#: builtin/show-ref.c:166 +msgid "only show heads (can be combined with tags)" +msgstr "mostrar apenas cabeΓ§as (pode ser combinado com tags)" + +#: builtin/show-ref.c:167 +msgid "stricter reference checking, requires exact ref path" +msgstr "" +"verificaΓ§Γ£o de referΓͺncias mais rigorosa, requer o caminho exato da " +"referΓͺncia" + +#: builtin/show-ref.c:170 builtin/show-ref.c:172 +msgid "show the HEAD reference, even if it would be filtered out" +msgstr "mostrar a referΓͺncia HEAD, mesmo que fosse filtrada" + +#: builtin/show-ref.c:174 +msgid "dereference tags into object IDs" +msgstr "desreferenciar tags em IDs de objeto" + +#: builtin/show-ref.c:176 +msgid "only show SHA1 hash using <n> digits" +msgstr "mostrar hash SHA1 com <n> digitos" + +#: builtin/show-ref.c:180 +msgid "do not print results to stdout (useful with --verify)" +msgstr "nΓ£o imprimir resultados para o stdout (ΓΊtil com --verify)" + +#: builtin/show-ref.c:182 +msgid "show refs from stdin that aren't in local repository" +msgstr "mostrar referΓͺncias do stdin que nΓ£o estΓ£o no repositΓ³rio local" + +#: builtin/stripspace.c:17 +msgid "git stripspace [-s | --strip-comments]" +msgstr "git stripspace [-s | --strip-comments]" + +#: builtin/stripspace.c:18 +msgid "git stripspace [-c | --comment-lines]" +msgstr "git stripspace [-c | --comment-lines]" + +#: builtin/stripspace.c:35 +msgid "skip and remove all lines starting with comment character" +msgstr "" +"ignorar e remover todas as linhas comeΓ§adas com um carΓ‘cter de comentΓ‘rio" + +#: builtin/stripspace.c:38 +msgid "prepend comment character and space to each line" +msgstr "preceder cada linha com um carΓ‘cter de comentΓ‘rio e um espaΓ§o" + +#: builtin/submodule--helper.c:73 builtin/submodule--helper.c:161 +msgid "alternative anchor for relative paths" +msgstr "Γ’ncora alternativa para caminhos relativos" + +#: builtin/submodule--helper.c:78 +msgid "git submodule--helper list [--prefix=<path>] [<path>...]" +msgstr "git submodule--helper list [--prefix=<caminho>] [<caminho>...]" + +#: builtin/submodule--helper.c:108 +msgid "git submodule--helper name <path>" +msgstr "git submodule--helper name <caminho>" + +#: builtin/submodule--helper.c:114 +#, c-format +msgid "no submodule mapping found in .gitmodules for path '%s'" +msgstr "" +"nenhum mapeamento de submΓ³dulo do caminho '%s' encontrado em .gitmodules" + +#: builtin/submodule--helper.c:164 +msgid "where the new submodule will be cloned to" +msgstr "sΓtio para aonde o novo submΓ³dulo serΓ‘ clonado" + +#: builtin/submodule--helper.c:167 +msgid "name of the new submodule" +msgstr "nome do novo submΓ³dulo" + +#: builtin/submodule--helper.c:170 +msgid "url where to clone the submodule from" +msgstr "url donde clonar o submΓ³dulos" + +#: builtin/submodule--helper.c:176 +msgid "depth for shallow clones" +msgstr "profundidade de clones rasos" + +#: builtin/submodule--helper.c:182 +msgid "" +"git submodule--helper clone [--prefix=<path>] [--quiet] [--reference " +"<repository>] [--name <name>] [--url <url>][--depth <depth>] [--] [<path>...]" +msgstr "" +"git submodule--helper clone [--prefix=<caminho>] [--quiet] [--reference " +"<repositΓ³rio>] [--name <nome>] [--url <url>][--depth <profundidade>] [--] " +"[<caminho>...]" + +#: builtin/submodule--helper.c:196 builtin/submodule--helper.c:202 +#: builtin/submodule--helper.c:210 #, c-format -msgid "Missing author: %s" -msgstr "Autor em falta: %s" +msgid "could not create directory '%s'" +msgstr "nΓ£o foi possΓvel criar o diretΓ³rio '%s'" -#: builtin/tag.c:60 +#: builtin/submodule--helper.c:198 #, c-format -msgid "malformed object at '%s'" +msgid "clone of '%s' into submodule path '%s' failed" +msgstr "falha ao clonar '%s' no caminho do submΓ³dulo '%s'" + +#: builtin/submodule--helper.c:221 +#, c-format +msgid "cannot open file '%s'" +msgstr "nΓ£o Γ© possΓvel abrir o ficheiro '%s'" + +#: builtin/submodule--helper.c:226 +#, c-format +msgid "could not close file %s" +msgstr "nΓ£o Γ© possΓvel fechar o ficheiro %s" + +#: builtin/submodule--helper.c:241 +#, c-format +msgid "could not get submodule directory for '%s'" +msgstr "nΓ£o foi possΓvel obter o o diretΓ³rio do submΓ³dulo de '%s'" + +#: builtin/submodule--helper.c:267 +msgid "fatal: submodule--helper subcommand must be called with a subcommand" msgstr "" +"fatal: o subcomando submodule--helper deve ser invocado com um subcomando" -#: builtin/tag.c:207 +#: builtin/submodule--helper.c:274 #, c-format -msgid "tag name too long: %.*s..." +msgid "fatal: '%s' is not a valid submodule--helper subcommand" +msgstr "fatal: '%s' nΓ£o Γ© um subcomando de submodule--helper vΓ‘lido" + +#: builtin/symbolic-ref.c:7 +msgid "git symbolic-ref [<options>] <name> [<ref>]" +msgstr "git symbolic-ref [<opΓ§Γ΅es>] <nome> [<referΓͺncia>]" + +#: builtin/symbolic-ref.c:8 +msgid "git symbolic-ref -d [-q] <name>" +msgstr "git symbolic-ref -d [-q] <nome>" + +#: builtin/symbolic-ref.c:40 +msgid "suppress error message for non-symbolic (detached) refs" +msgstr "" +"suprimir mensagens de erro sobre referΓͺncias nΓ£o-simbΓ³licas (destacadas)" + +#: builtin/symbolic-ref.c:41 +msgid "delete symbolic ref" +msgstr "eliminar referΓͺncias simbΓ³licas" + +#: builtin/symbolic-ref.c:42 +msgid "shorten ref output" +msgstr "encurtar a apresentaΓ§Γ£o de referΓͺncias" + +#: builtin/symbolic-ref.c:43 builtin/update-ref.c:362 +msgid "reason" +msgstr "razΓ£o" + +#: builtin/symbolic-ref.c:43 builtin/update-ref.c:362 +msgid "reason of the update" +msgstr "razΓ£o da atualizaΓ§Γ£o" + +#: builtin/tag.c:23 +msgid "" +"git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>] <tagname> " +"[<head>]" msgstr "" +"git tag [-a | -s | -u <id-chave>] [-f] [-m <msg> | -F <ficheiro>] <nome-da-" +"tag> [<head>]" + +#: builtin/tag.c:24 +msgid "git tag -d <tagname>..." +msgstr "git tag -d <nome-da-tag>..." -#: builtin/tag.c:212 +#: builtin/tag.c:25 +msgid "" +"git tag -l [-n[<num>]] [--contains <commit>] [--points-at <object>]\n" +"\t\t[--format=<format>] [--[no-]merged [<commit>]] [<pattern>...]" +msgstr "" +"git tag -l [-n[<num>]] [--contains <commit>] [--points-at <objeto>]\n" +"\t\t[--format=<formato>] [--[no-]merged [<commit>]] [<padrΓ£o>...]" + +#: builtin/tag.c:27 +msgid "git tag -v <tagname>..." +msgstr "git tag -v <nome-da-tag>..." + +#: builtin/tag.c:80 +#, c-format +msgid "tag name too long: %.*s..." +msgstr "o nome da tag Γ© demasiado longo: %.*s..." + +#: builtin/tag.c:85 #, c-format msgid "tag '%s' not found." -msgstr "etiqueta '%s' nΓ£o foi encontrada." +msgstr "tag '%s' nΓ£o encontrada." -#: builtin/tag.c:227 +#: builtin/tag.c:100 #, c-format msgid "Deleted tag '%s' (was %s)\n" -msgstr "" +msgstr "Tag '%s' eliminada (era %s)\n" -#: builtin/tag.c:239 +#: builtin/tag.c:112 #, c-format msgid "could not verify the tag '%s'" -msgstr "" +msgstr "nΓ£o foi possΓvel validar a tag '%s'" -#: builtin/tag.c:249 +#: builtin/tag.c:122 +#, c-format msgid "" "\n" -"#\n" -"# Write a tag message\n" -"# Lines starting with '#' will be ignored.\n" -"#\n" +"Write a message for tag:\n" +" %s\n" +"Lines starting with '%c' will be ignored.\n" msgstr "" +"\n" +"Escreva a mensagem da tag:\n" +" %s\n" +"Linha comeΓ§adas com '%c' serΓ£o ignoradas.\n" -#: builtin/tag.c:256 +#: builtin/tag.c:126 +#, c-format msgid "" "\n" -"#\n" -"# Write a tag message\n" -"# Lines starting with '#' will be kept; you may remove them yourself if you want to.\n" -"#\n" +"Write a message for tag:\n" +" %s\n" +"Lines starting with '%c' will be kept; you may remove them yourself if you " +"want to.\n" msgstr "" +"\n" +"Escreva a mensagem da tag:\n" +" %s\n" +"Linhas comeΓ§adas com '%c' serΓ£o mantidas; pode removΓͺ-las se o desejar.\n" -#: builtin/tag.c:298 +#: builtin/tag.c:199 msgid "unable to sign the tag" -msgstr "" +msgstr "nΓ£o foi possΓvel assinar a tag" -#: builtin/tag.c:300 +#: builtin/tag.c:201 msgid "unable to write tag file" -msgstr "" +msgstr "nΓ£o foi possΓvel escrever o ficheiro da tag" -#: builtin/tag.c:325 +#: builtin/tag.c:226 msgid "bad object type." -msgstr "" +msgstr "tipo de objeto incorreto." -#: builtin/tag.c:338 +#: builtin/tag.c:239 msgid "tag header too big." -msgstr "" +msgstr "cabeΓ§alho da tag demasiado longo." -#: builtin/tag.c:370 +#: builtin/tag.c:275 msgid "no tag message?" -msgstr "nenhuma mensaje para a etiqueta?" +msgstr "sem mensagem de tag?" -#: builtin/tag.c:376 +#: builtin/tag.c:281 #, c-format msgid "The tag message has been left in %s\n" -msgstr "" +msgstr "A mensagem da tag foi guardada em %s\n" -#: builtin/tag.c:425 -msgid "switch 'points-at' requires an object" -msgstr "" +#: builtin/tag.c:339 +msgid "list tag names" +msgstr "listar os nomes das tag" -#: builtin/tag.c:427 -#, c-format -msgid "malformed object name '%s'" -msgstr "" +#: builtin/tag.c:341 +msgid "print <n> lines of each tag message" +msgstr "imprimir <n> linhas de cada mensagem de tag" + +#: builtin/tag.c:343 +msgid "delete tags" +msgstr "eliminar tags" + +#: builtin/tag.c:344 +msgid "verify tags" +msgstr "verificar tags" + +#: builtin/tag.c:346 +msgid "Tag creation options" +msgstr "OpΓ§Γ΅es de criaΓ§Γ£o de tags" + +#: builtin/tag.c:348 +msgid "annotated tag, needs a message" +msgstr "tag anotada, Γ© necessΓ‘rio uma mensagem" + +#: builtin/tag.c:350 +msgid "tag message" +msgstr "mensagem da tag" + +#: builtin/tag.c:352 +msgid "annotated and GPG-signed tag" +msgstr "tag anotada e assinada com GPG" + +#: builtin/tag.c:356 +msgid "use another key to sign the tag" +msgstr "usar outra chave para assinar a tag" + +#: builtin/tag.c:357 +msgid "replace the tag if exists" +msgstr "substituir a tag se esta existir" + +#: builtin/tag.c:358 builtin/update-ref.c:368 +msgid "create a reflog" +msgstr "criar um reflog" + +#: builtin/tag.c:360 +msgid "Tag listing options" +msgstr "OpΓ§Γ΅es de listagem de tags" -#: builtin/tag.c:506 +#: builtin/tag.c:361 +msgid "show tag list in columns" +msgstr "mostrar a lista de tags em colunas" + +#: builtin/tag.c:362 builtin/tag.c:363 +msgid "print only tags that contain the commit" +msgstr "imprimir apenas tags que contenham o commit" + +#: builtin/tag.c:364 +msgid "print only tags that are merged" +msgstr "imprimir apenas as tags que foram incorporadas" + +#: builtin/tag.c:365 +msgid "print only tags that are not merged" +msgstr "imprimir apenas as tags que nΓ£o foram incorporadas" + +#: builtin/tag.c:370 +msgid "print only tags of the object" +msgstr "imprimir apenas as tags do objeto" + +#: builtin/tag.c:399 msgid "--column and -n are incompatible" -msgstr "--column e -n are sΓ£o incompatΓveis" +msgstr "--column e -n sΓ£o incompatΓveis" -#: builtin/tag.c:523 +#: builtin/tag.c:419 msgid "-n option is only allowed with -l." -msgstr "" +msgstr "a opΓ§Γ£o -n sΓ³ Γ© permitida com -l." -#: builtin/tag.c:525 +#: builtin/tag.c:421 msgid "--contains option is only allowed with -l." -msgstr "" +msgstr "a opΓ§Γ£o --contains sΓ³ Γ© permitida com -l." -#: builtin/tag.c:527 +#: builtin/tag.c:423 msgid "--points-at option is only allowed with -l." -msgstr "" +msgstr "a opΓ§Γ£o --points-at sΓ³ Γ© permitida com -l." -#: builtin/tag.c:535 +#: builtin/tag.c:425 +msgid "--merged and --no-merged option are only allowed with -l" +msgstr "as opΓ§Γ΅es --merged e --no-merged sΓ³ sΓ£o permitidas com -l" + +#: builtin/tag.c:433 msgid "only one -F or -m option is allowed." -msgstr "" +msgstr "sΓ³ Γ© permitido um opΓ§Γ£o -F ou -m." -#: builtin/tag.c:555 +#: builtin/tag.c:453 msgid "too many params" -msgstr "demasiado parametros" +msgstr "demasiado parΓ’metros" -#: builtin/tag.c:561 +#: builtin/tag.c:459 #, c-format msgid "'%s' is not a valid tag name." -msgstr "" +msgstr "'%s' nΓ£o Γ© um nome de tag vΓ‘lido." -#: builtin/tag.c:566 +#: builtin/tag.c:464 #, c-format msgid "tag '%s' already exists" -msgstr "etiqueta '%s' jΓ‘ existe" +msgstr "a tag '%s' jΓ‘ existe" -#: builtin/tag.c:584 +#: builtin/tag.c:489 #, c-format -msgid "%s: cannot lock the ref" -msgstr "" +msgid "Updated tag '%s' (was %s)\n" +msgstr "Tag '%s' atualizada (era %s)\n" + +#: builtin/unpack-objects.c:490 +msgid "Unpacking objects" +msgstr "A descompactar objetos" -#: builtin/tag.c:586 +#: builtin/update-index.c:79 #, c-format -msgid "%s: cannot update the ref" -msgstr "" +msgid "failed to create directory %s" +msgstr "falha ao criar o diretΓ³rio %s" -#: builtin/tag.c:588 +#: builtin/update-index.c:85 #, c-format -msgid "Updated tag '%s' (was %s)\n" +msgid "failed to stat %s" +msgstr "falha ao efetuar stat de %s" + +#: builtin/update-index.c:95 +#, c-format +msgid "failed to create file %s" +msgstr "falha ao criar o ficheiro %s" + +#: builtin/update-index.c:103 +#, c-format +msgid "failed to delete file %s" +msgstr "falha ao eliminar o ficheiro %s" + +#: builtin/update-index.c:110 builtin/update-index.c:212 +#, c-format +msgid "failed to delete directory %s" +msgstr "falha ao criar o diretΓ³rio %s" + +#: builtin/update-index.c:133 +#, c-format +msgid "Testing mtime in '%s' " +msgstr "A testar mtime em '%s' " + +#: builtin/update-index.c:145 +msgid "directory stat info does not change after adding a new file" msgstr "" +"a informaΓ§Γ£o de stat do diretΓ³rio nΓ£o mudou depois de adicionar um novo " +"ficheiro" -#: git.c:16 -msgid "See 'git help <command>' for more information on a specific command." +#: builtin/update-index.c:158 +msgid "directory stat info does not change after adding a new directory" msgstr "" +"a informaΓ§Γ£o de stat do diretΓ³rio nΓ£o mudou depois de adicionar um novo " +"diretΓ³rio" -#: common-cmds.h:8 -msgid "Add file contents to the index" +#: builtin/update-index.c:171 +msgid "directory stat info changes after updating a file" +msgstr "a informaΓ§Γ£o de stat mudou depois de atualizar um ficheiro" + +#: builtin/update-index.c:182 +msgid "directory stat info changes after adding a file inside subdirectory" msgstr "" +"a informaΓ§Γ£o de stat do diretΓ³rio mudou depois de adicionar um ficheiro " +"dentro dum subdiretΓ³rio" -#: common-cmds.h:9 -msgid "Find by binary search the change that introduced a bug" +#: builtin/update-index.c:193 +msgid "directory stat info does not change after deleting a file" msgstr "" +"a informaΓ§Γ£o de stat do diretΓ³rio nΓ£o mudou depois de eliminar um ficheiro" -#: common-cmds.h:10 -msgid "List, create, or delete branches" -msgstr "Listar, criar ou apagar ramas" +#: builtin/update-index.c:206 +msgid "directory stat info does not change after deleting a directory" +msgstr "" +"a informaΓ§Γ£o de stat do diretΓ³rio nΓ£o mudou depois de eliminar um diretΓ³rio" -#: common-cmds.h:11 -msgid "Checkout a branch or paths to the working tree" +#: builtin/update-index.c:213 +msgid " OK" +msgstr " OK" + +#: builtin/update-index.c:575 +msgid "git update-index [<options>] [--] [<file>...]" +msgstr "git update-index [<opΓ§Γ΅es>] [--] [<ficheiro>...]" + +#: builtin/update-index.c:930 +msgid "continue refresh even when index needs update" +msgstr "continuar a refrescar mesmo quando o Γndice precise de ser atualizado" + +#: builtin/update-index.c:933 +msgid "refresh: ignore submodules" +msgstr "refrescar: ignorar submΓ³dulos" + +#: builtin/update-index.c:936 +msgid "do not ignore new files" +msgstr "nΓ£o ignorar novos ficheiros" + +#: builtin/update-index.c:938 +msgid "let files replace directories and vice-versa" +msgstr "deixar que os ficheiros substituam os diretΓ³rios e vice-versa" + +#: builtin/update-index.c:940 +msgid "notice files missing from worktree" +msgstr "avisar sobre ficheiros que faltem na Γ‘rvore de trabalho" + +#: builtin/update-index.c:942 +msgid "refresh even if index contains unmerged entries" +msgstr "refrescar mesmo que o Γndice contenha entradas nΓ£o incorporadas" + +#: builtin/update-index.c:945 +msgid "refresh stat information" +msgstr "refrescar informaΓ§Γ£o de stat" + +#: builtin/update-index.c:949 +msgid "like --refresh, but ignore assume-unchanged setting" +msgstr "como --refresh, mas ignorar a definiΓ§Γ£o assume-unchanged" + +#: builtin/update-index.c:953 +msgid "<mode>,<object>,<path>" +msgstr "<modo>,<objeto>,<caminho>" + +#: builtin/update-index.c:954 +msgid "add the specified entry to the index" +msgstr "adicionar o elemento especificado ao Γndice" + +#: builtin/update-index.c:958 +msgid "(+/-)x" +msgstr "(+/-)x" + +#: builtin/update-index.c:959 +msgid "override the executable bit of the listed files" +msgstr "substituir o bit executΓ‘vel dos ficheiros listados" + +#: builtin/update-index.c:963 +msgid "mark files as \"not changing\"" +msgstr "marcar ficheiros como \"nΓ£o alterados\"" + +#: builtin/update-index.c:966 +msgid "clear assumed-unchanged bit" +msgstr "limpar o bit assumed-unchanged" + +#: builtin/update-index.c:969 +msgid "mark files as \"index-only\"" +msgstr "marcar ficheiros como \"ΓΊnicos do Γndice\"" + +#: builtin/update-index.c:972 +msgid "clear skip-worktree bit" +msgstr "limpar o bit ignorar-Γ‘rvore-de-trabalho" + +#: builtin/update-index.c:975 +msgid "add to index only; do not add content to object database" msgstr "" +"sΓ³ adicionar ao Γndice; nΓ£o adicionar o conteΓΊdo Γ base de dados de objetos" -#: common-cmds.h:12 -msgid "Clone a repository into a new directory" +#: builtin/update-index.c:977 +msgid "remove named paths even if present in worktree" msgstr "" +"remover os caminhos mencionado mesmo se estiverem presentes na Γ‘rvore de " +"trabalho" -#: common-cmds.h:13 -msgid "Record changes to the repository" -msgstr "Gravar alteraΓ§Γ΅es para o repositΓ³rio" +#: builtin/update-index.c:979 +msgid "with --stdin: input lines are terminated by null bytes" +msgstr "com --stdin: as linhas da entrada sΓ£o terminadas com bytes nulos" -#: common-cmds.h:14 -msgid "Show changes between commits, commit and working tree, etc" +#: builtin/update-index.c:981 +msgid "read list of paths to be updated from standard input" +msgstr "ler lista de caminho a atualizar da entrada padrΓ£o" + +#: builtin/update-index.c:985 +msgid "add entries from standard input to the index" +msgstr "adicionar elementos da entrada padrΓ£o ao Γndice" + +#: builtin/update-index.c:989 +msgid "repopulate stages #2 and #3 for the listed paths" +msgstr "repovoar as fases nΒΊ2 e nΒΊ3 dos caminhos listados" + +#: builtin/update-index.c:993 +msgid "only update entries that differ from HEAD" +msgstr "atualizar apenas elementos que difiram de HEAD" + +#: builtin/update-index.c:997 +msgid "ignore files missing from worktree" +msgstr "ignorar ficheiros nΓ£o presentes na Γ‘rvore de trabalho" + +#: builtin/update-index.c:1000 +msgid "report actions to standard output" +msgstr "mostrar aΓ§Γ΅es na saΓda padrΓ£o" + +#: builtin/update-index.c:1002 +msgid "(for porcelains) forget saved unresolved conflicts" msgstr "" +"(para porcelanas) esquecer conflitos guardados que nΓ£o foram resolvidos" -#: common-cmds.h:15 -msgid "Download objects and refs from another repository" +#: builtin/update-index.c:1006 +msgid "write index in this format" +msgstr "escrever o Γndice neste formato" + +#: builtin/update-index.c:1008 +msgid "enable or disable split index" +msgstr "ativar ou desativar a divisΓ£o do Γndice" + +#: builtin/update-index.c:1010 +msgid "enable/disable untracked cache" +msgstr "ativar ou desativar cache nΓ£o controlada" + +#: builtin/update-index.c:1012 +msgid "test if the filesystem supports untracked cache" +msgstr "testar se o sistema de ficheiros suporta cache nΓ£o controlada" + +#: builtin/update-index.c:1014 +msgid "enable untracked cache without testing the filesystem" +msgstr "ativar cache nΓ£o controlada sem testar o sistema de ficheiros" + +#: builtin/update-index.c:1134 +msgid "Untracked cache disabled" +msgstr "A cache nΓ£o controlada estΓ‘ desativada" + +#: builtin/update-index.c:1146 +#, c-format +msgid "Untracked cache enabled for '%s'" +msgstr "A cache nΓ£o controlada de '%s' foi ativada." + +#: builtin/update-ref.c:9 +msgid "git update-ref [<options>] -d <refname> [<old-val>]" +msgstr "git update-ref [<opΓ§Γ΅es>] -d <nome-da-referΓͺncia> [<valor-antigo>]" + +#: builtin/update-ref.c:10 +msgid "git update-ref [<options>] <refname> <new-val> [<old-val>]" msgstr "" +"git update-ref [<opΓ§Γ΅es>] <nome-da-referΓͺncia> <novo-valor> [<valor-" +"antigo>]" -#: common-cmds.h:16 -msgid "Print lines matching a pattern" +#: builtin/update-ref.c:11 +msgid "git update-ref [<options>] --stdin [-z]" +msgstr "git update-ref [<opΓ§Γ΅es>] --stdin [-z]" + +#: builtin/update-ref.c:363 +msgid "delete the reference" +msgstr "eliminar a referΓͺncia" + +#: builtin/update-ref.c:365 +msgid "update <refname> not the one it points to" msgstr "" +"atualizar a referΓͺncia <nome-da-referΓͺncia>, e nΓ£o a referΓͺncia aponta por " +"esta" -#: common-cmds.h:17 -msgid "Create an empty git repository or reinitialize an existing one" +#: builtin/update-ref.c:366 +msgid "stdin has NUL-terminated arguments" +msgstr "os argumentos da entrada padrΓ£o terminam em NUL" + +#: builtin/update-ref.c:367 +msgid "read updates from stdin" +msgstr "ler atualizaΓ§Γ΅es da entrada padrΓ£o" + +#: builtin/update-server-info.c:6 +msgid "git update-server-info [--force]" +msgstr "git update-server-info [--force]" + +#: builtin/update-server-info.c:14 +msgid "update the info files from scratch" +msgstr "atualizar os ficheiros de informaΓ§Γ£o do zero" + +#: builtin/verify-commit.c:17 +msgid "git verify-commit [-v | --verbose] <commit>..." +msgstr "git verify-commit [-v | --verbose] <commit>..." + +#: builtin/verify-commit.c:72 +msgid "print commit contents" +msgstr "imprimir conteΓΊdo do commit" + +#: builtin/verify-commit.c:73 builtin/verify-tag.c:84 +msgid "print raw gpg status output" +msgstr "imprimir informaΓ§Γ£o do gpg em bruto" + +#: builtin/verify-pack.c:54 +msgid "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..." +msgstr "git verify-pack [-v | --verbose] [-s | --stat-only] <pack>..." + +#: builtin/verify-pack.c:64 +msgid "verbose" +msgstr "verboso" + +#: builtin/verify-pack.c:66 +msgid "show statistics only" +msgstr "mostrar apenas estatΓsticas" + +#: builtin/verify-tag.c:17 +msgid "git verify-tag [-v | --verbose] <tag>..." +msgstr "git verify-tag [-v | --verbose] <tag>..." + +#: builtin/verify-tag.c:83 +msgid "print tag contents" +msgstr "imprimir conteΓΊdo da tag" + +#: builtin/worktree.c:15 +msgid "git worktree add [<options>] <path> [<branch>]" +msgstr "git worktree add [<opΓ§Γ΅es>] <caminho> [<ramo>]" + +#: builtin/worktree.c:16 +msgid "git worktree prune [<options>]" +msgstr "git worktree prune [<opΓ§Γ΅es>]" + +#: builtin/worktree.c:17 +msgid "git worktree list [<options>]" +msgstr "git worktree list [<opΓ§Γ΅es>]" + +#: builtin/worktree.c:39 +#, c-format +msgid "Removing worktrees/%s: not a valid directory" +msgstr "A remover worktrees/%s: diretΓ³rio invΓ‘lido" + +#: builtin/worktree.c:45 +#, c-format +msgid "Removing worktrees/%s: gitdir file does not exist" +msgstr "A remover worktrees/%s: o ficheiro gitdir nΓ£o existe" + +#: builtin/worktree.c:50 +#, c-format +msgid "Removing worktrees/%s: unable to read gitdir file (%s)" +msgstr "A remover worktrees/%s: nΓ£o Γ© possΓvel ler o ficheiro gitdir (%s)" + +#: builtin/worktree.c:61 +#, c-format +msgid "Removing worktrees/%s: invalid gitdir file" +msgstr "A remover worktrees/%s: ficheiro gitdir invΓ‘lido" + +#: builtin/worktree.c:77 +#, c-format +msgid "Removing worktrees/%s: gitdir file points to non-existent location" +msgstr "" +"A remover worktrees/%s: o ficheiro gitdir aponta para uma localizaΓ§Γ£o " +"inexistente" + +#: builtin/worktree.c:112 +#, c-format +msgid "failed to remove: %s" +msgstr "falha ao remover: %s" + +#: builtin/worktree.c:201 +#, c-format +msgid "'%s' already exists" +msgstr "'%s' jΓ‘ existe" + +#: builtin/worktree.c:233 +#, c-format +msgid "could not create directory of '%s'" +msgstr "nΓ£o foi possΓvel criar o diretΓ³rio de '%s'" + +#: builtin/worktree.c:269 +#, c-format +msgid "Preparing %s (identifier %s)" +msgstr "A preparar %s (identificador %s)" + +#: builtin/worktree.c:317 +msgid "checkout <branch> even if already checked out in other worktree" +msgstr "" +"extrair o <ramo> mesmo se jΓ‘ tenha sido extraΓdo noutra Γ‘rvore de trabalho" + +#: builtin/worktree.c:319 +msgid "create a new branch" +msgstr "criar um novo ramo" + +#: builtin/worktree.c:321 +msgid "create or reset a branch" +msgstr "criar ou repor um ramo" + +#: builtin/worktree.c:322 +msgid "detach HEAD at named commit" +msgstr "destacar HEAD no commit indicado" + +#: builtin/worktree.c:329 +msgid "-b, -B, and --detach are mutually exclusive" +msgstr "-b, -B e --detach sΓ£o mutuamente exclusivos" + +#: builtin/write-tree.c:13 +msgid "git write-tree [--missing-ok] [--prefix=<prefix>/]" +msgstr "git write-tree [--missing-ok] [--prefix=<prefixo>/]" + +#: builtin/write-tree.c:26 +msgid "<prefix>/" +msgstr "<prefixo>/" + +#: builtin/write-tree.c:27 +msgid "write tree object for a subdirectory <prefix>" +msgstr "escrever objeto Γ‘rvore do subdiretΓ³rio <prefixo>" + +#: builtin/write-tree.c:30 +msgid "only useful for debugging" +msgstr "apenas ΓΊtil para depuraΓ§Γ£o" + +#: credential-cache--daemon.c:262 +msgid "print debugging messages to stderr" +msgstr "imprimir mensagens de depuraΓ§Γ£o no stderr" + +#: git.c:14 +msgid "" +"'git help -a' and 'git help -g' list available subcommands and some\n" +"concept guides. See 'git help <command>' or 'git help <concept>'\n" +"to read about a specific subcommand or concept." +msgstr "" +"'git help -a' e 'git help -g' listam os subcomandos disponΓveis e alguns\n" +"guias de conceitos. Consulte 'git help <comando>' ou 'git help <conceito>'\n" +"para ler sobre um subcomando ou conceito especΓfico." + +#: http.c:321 +msgid "Public key pinning not supported with cURL < 7.44.0" msgstr "" +#: common-cmds.h:9 +msgid "start a working area (see also: git help tutorial)" +msgstr "iniciar uma Γ‘rea de trabalho (consulte tambΓ©m: git help tutorial)" + +#: common-cmds.h:10 +msgid "work on the current change (see also: git help everyday)" +msgstr "trabalhar na alteraΓ§Γ£o atual (consulte tambΓ©m: git help everyday)" + +#: common-cmds.h:11 +msgid "examine the history and state (see also: git help revisions)" +msgstr "examinar o histΓ³rico e estado (consulte tambΓ©m: git help revisions)" + +#: common-cmds.h:12 +msgid "grow, mark and tweak your common history" +msgstr "aumentar, marcar e ajustar o seu histΓ³rico comum" + +#: common-cmds.h:13 +msgid "collaborate (see also: git help workflows)" +msgstr "colaborar (consulte tambΓ©m: git help workflows)" + +#: common-cmds.h:17 +msgid "Add file contents to the index" +msgstr "Adicionar conteΓΊdos de ficheiros ao Γndice" + #: common-cmds.h:18 -msgid "Show commit logs" -msgstr "Mostrado logs de commits" +msgid "Use binary search to find the commit that introduced a bug" +msgstr "Use procura binΓ‘rio para encontrar o commit que introduziu um bug" #: common-cmds.h:19 -msgid "Join two or more development histories together" -msgstr "" +msgid "List, create, or delete branches" +msgstr "Listar, criar ou eliminar ramos" #: common-cmds.h:20 -msgid "Move or rename a file, a directory, or a symlink" -msgstr "" +msgid "Switch branches or restore working tree files" +msgstr "Mudar de ramos ou restaurar os ficheiros da Γ‘rvore de trabalho" #: common-cmds.h:21 -msgid "Fetch from and merge with another repository or a local branch" -msgstr "" +msgid "Clone a repository into a new directory" +msgstr "Clonar um repositΓ³rio num novo diretΓ³rio" #: common-cmds.h:22 -msgid "Update remote refs along with associated objects" -msgstr "" +msgid "Record changes to the repository" +msgstr "Gravar alteraΓ§Γ΅es no repositΓ³rio" #: common-cmds.h:23 -msgid "Forward-port local commits to the updated upstream head" +msgid "Show changes between commits, commit and working tree, etc" msgstr "" +"Mostrar alteraΓ§Γ΅es entre commits, entre commit e Γ‘rvore de trabalho, etc" #: common-cmds.h:24 -msgid "Reset current HEAD to the specified state" -msgstr "" +msgid "Download objects and refs from another repository" +msgstr "Transferir objetos e referΓͺncias doutro repositΓ³rio" #: common-cmds.h:25 -msgid "Remove files from the working tree and from the index" -msgstr "" +msgid "Print lines matching a pattern" +msgstr "Imprimir linhas que correspondam a um padrΓ£o" #: common-cmds.h:26 -msgid "Show various types of objects" -msgstr "" +msgid "Create an empty Git repository or reinitialize an existing one" +msgstr "Criar um repositΓ³rio Git vazio ou reinicializar um jΓ‘ existente" #: common-cmds.h:27 -msgid "Show the working tree status" -msgstr "Mostrar o estado los ramos das Γ‘rvores de trabalho" +msgid "Show commit logs" +msgstr "Mostrado logs de commits" #: common-cmds.h:28 -msgid "Create, list, delete or verify a tag object signed with GPG" -msgstr "" +msgid "Join two or more development histories together" +msgstr "Juntar duas ou mais histΓ³rias de desenvolvimento numa sΓ³" -#: git-am.sh:50 -msgid "You need to set your committer info first" -msgstr "Necessitas primeiro de especificiar os teus dados de committer" +#: common-cmds.h:29 +msgid "Move or rename a file, a directory, or a symlink" +msgstr "Mover ou mudar o nome de um ficheiro, diretΓ³rio ou ligaΓ§Γ£o simbΓ³lica" -#: git-am.sh:137 -msgid "Repository lacks necessary blobs to fall back on 3-way merge." -msgstr "" +#: common-cmds.h:30 +msgid "Fetch from and integrate with another repository or a local branch" +msgstr "Obter e integrar com outro repositΓ³rio ou outro ramo local" -#: git-am.sh:154 -msgid "" -"Did you hand edit your patch?\n" -"It does not apply to blobs recorded in its index." -msgstr "" - -#: git-am.sh:163 -msgid "Falling back to patching base and 3-way merge..." -msgstr "" - -#: git-am.sh:275 -msgid "Only one StGIT patch series can be applied at once" -msgstr "" +#: common-cmds.h:31 +msgid "Update remote refs along with associated objects" +msgstr "Atualizar referΓͺncias remotas juntamente com objetos associados" -#: git-am.sh:362 -#, sh-format -msgid "Patch format $patch_format is not supported." -msgstr "" +#: common-cmds.h:32 +msgid "Reapply commits on top of another base tip" +msgstr "Reaplicar commits no topo de outra base" -#: git-am.sh:364 -msgid "Patch format detection failed." -msgstr "Falhou a detecΓ§Γ£o do formato do patch." +#: common-cmds.h:33 +msgid "Reset current HEAD to the specified state" +msgstr "Repor a HEAD atual no estado especificado" -#: git-am.sh:418 -msgid "-d option is no longer supported. Do not use." -msgstr "" +#: common-cmds.h:34 +msgid "Remove files from the working tree and from the index" +msgstr "Remover ficheiros da Γ‘rvore de trabalho e do Γndice" -#: git-am.sh:481 -#, sh-format -msgid "previous rebase directory $dotest still exists but mbox given." -msgstr "" +#: common-cmds.h:35 +msgid "Show various types of objects" +msgstr "Mostrar vΓ‘rios tipos objetos" -#: git-am.sh:486 -msgid "Please make up your mind. --skip or --abort?" -msgstr "" +#: common-cmds.h:36 +msgid "Show the working tree status" +msgstr "Mostrar o estado da Γ‘rvores de trabalho" -#: git-am.sh:513 -msgid "Resolve operation not in progress, we are not resuming." -msgstr "" +#: common-cmds.h:37 +msgid "Create, list, delete or verify a tag object signed with GPG" +msgstr "Criar, listar, eliminar ou verificar um objeto tag assinado com GPG" -#: git-am.sh:579 -#, sh-format -msgid "Dirty index: cannot apply patches (dirty: $files)" -msgstr "" +#: parse-options.h:145 +msgid "expiry-date" +msgstr "data-de-validade" -#: git-am.sh:755 -msgid "cannot be interactive without stdin connected to a terminal." -msgstr "" +#: parse-options.h:160 +msgid "no-op (backward compatibility)" +msgstr "sem-aΓ§Γ£o (retrocompatibilidade)" -#. TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a] -#. in your translation. The program will only accept English -#. input at this point. -#: git-am.sh:766 -msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all " -msgstr "Aplicar? Sim[y]/[n]Γ£o/[e]ditar/[v]er patch/[a]ceitar todos " +#: parse-options.h:237 +msgid "be more verbose" +msgstr "ser mais verboso" -#: git-am.sh:802 -#, sh-format -msgid "Applying: $FIRSTLINE" -msgstr "Aplicando: $FIRSTLINE" +#: parse-options.h:239 +msgid "be more quiet" +msgstr "ser mais silencioso" -#: git-am.sh:847 -msgid "No changes -- Patch already applied." -msgstr "Nenhuma mudanΓ§a -- JΓ‘ foi aplicado o patch." +#: parse-options.h:245 +msgid "use <n> digits to display SHA-1s" +msgstr "usar <n> dΓgitos para mostrar SHA-1s" -#: git-am.sh:873 -msgid "applying to an empty history" +#: rerere.h:38 +msgid "update the index with reused conflict resolution if possible" msgstr "" +"atualizar o Γndice com resoluΓ§Γ΅es de conflitos reutilizadas se possΓvel" + +#: git-bisect.sh:55 +msgid "You need to start by \"git bisect start\"" +msgstr "Deve comeΓ§ar por executar \"git bisect start\"" #. TRANSLATORS: Make sure to include [Y] and [n] in your #. translation. The program will only accept English input #. at this point. -#: git-bisect.sh:54 +#: git-bisect.sh:61 msgid "Do you want me to do it for you [Y/n]? " -msgstr "Queres que eu faΓ§a por sΓ [Y/n]?" +msgstr "Quer que o Git o faΓ§a por si [Y/n]? " -#: git-bisect.sh:95 +#: git-bisect.sh:122 #, sh-format msgid "unrecognised option: '$arg'" -msgstr "" +msgstr "opΓ§Γ£o nΓ£o reconhecida: '$arg'" -#: git-bisect.sh:99 +#: git-bisect.sh:126 #, sh-format msgid "'$arg' does not appear to be a valid revision" -msgstr "" +msgstr "'$arg' nΓ£o parecer ser uma revisΓ£o vΓ‘lida" -#: git-bisect.sh:117 +#: git-bisect.sh:155 msgid "Bad HEAD - I need a HEAD" -msgstr "" +msgstr "HEAD incorreta - Γ© necessΓ‘rio uma HEAD" -#: git-bisect.sh:130 +#: git-bisect.sh:168 #, sh-format -msgid "Checking out '$start_head' failed. Try 'git bisect reset <validbranch>'." +msgid "" +"Checking out '$start_head' failed. Try 'git bisect reset <valid-branch>'." msgstr "" +"Falha ao extrair '$start_head'. Tente 'git bisect reset <ramo-vΓ‘lido>'." -#: git-bisect.sh:140 -msgid "won't bisect on seeked tree" -msgstr "" +#: git-bisect.sh:178 +msgid "won't bisect on cg-seek'ed tree" +msgstr "nΓ£o Γ© possΓvel bisseccionar numa Γ‘rvore \"cg-seek'ed\"" -#: git-bisect.sh:144 +#: git-bisect.sh:182 msgid "Bad HEAD - strange symbolic ref" -msgstr "" +msgstr "HEAD incorreta - referΓͺncia simbΓ³lica desconhecida" -#: git-bisect.sh:189 +#: git-bisect.sh:234 #, sh-format msgid "Bad bisect_write argument: $state" -msgstr "" +msgstr "Argumento de bisect_write incorreto: $state" -#: git-bisect.sh:218 +#: git-bisect.sh:263 #, sh-format msgid "Bad rev input: $arg" -msgstr "" +msgstr "RevisΓ£o incorreta na entrada: $arg" -#: git-bisect.sh:232 +#: git-bisect.sh:278 msgid "Please call 'bisect_state' with at least one argument." -msgstr "" +msgstr "Invoque 'bisect_state' com pelo menos um argumento." -#: git-bisect.sh:244 +#: git-bisect.sh:290 #, sh-format msgid "Bad rev input: $rev" -msgstr "" +msgstr "RevisΓ£o incorreta na entrada: $rev" -#: git-bisect.sh:250 -msgid "'git bisect bad' can take only one argument." -msgstr "" +#: git-bisect.sh:299 +#, sh-format +msgid "'git bisect $TERM_BAD' can take only one argument." +msgstr "'git bisect $TERM_BAD' sΓ³ leva um argumento." + +#: git-bisect.sh:322 +#, sh-format +msgid "Warning: bisecting only with a $TERM_BAD commit." +msgstr "Aviso: a bisseccionar sΓ³ com um commit $TERM_BAD." #. TRANSLATORS: Make sure to include [Y] and [n] in your #. translation. The program will only accept English input #. at this point. -#: git-bisect.sh:279 +#: git-bisect.sh:328 msgid "Are you sure [Y/n]? " -msgstr "Tens a certeza [Y/n]? " +msgstr "Tem a certeza [Y/n]? " -#: git-bisect.sh:354 +#: git-bisect.sh:340 #, sh-format -msgid "'$invalid' is not a valid commit" +msgid "" +"You need to give me at least one $bad_syn and one $good_syn revision.\n" +"(You can use \"git bisect $bad_syn\" and \"git bisect $good_syn\" for that.)" msgstr "" +"Deve indicar pelo menos uma revisΓ£o $bad_syn e uma revisΓ£o $good_syn.\n" +"(Pode usar \"git bisect $bad_syn\" e \"git bisect $good_syn\" para esse fim.)" -#: git-bisect.sh:363 +#: git-bisect.sh:343 +#, sh-format +msgid "" +"You need to start by \"git bisect start\".\n" +"You then need to give me at least one $good_syn and one $bad_syn revision.\n" +"(You can use \"git bisect $bad_syn\" and \"git bisect $good_syn\" for that.)" +msgstr "" +"Deve comeΓ§ar por executar \"git bisect start\".\n" +"Indique pelo menos uma revisΓ£o $good_syn e uma revisΓ£o $bad_syn.\n" +"(Pode usar \"git bisect $bad_syn\" e \"git bisect $good_syn\" para esse fim.)" + +#: git-bisect.sh:414 git-bisect.sh:546 +msgid "We are not bisecting." +msgstr "NΓ£o estamos a bisseccionar." + +#: git-bisect.sh:421 +#, sh-format +msgid "'$invalid' is not a valid commit" +msgstr "'$invalid' nΓ£o Γ© um commit vΓ‘lido" + +#: git-bisect.sh:430 #, sh-format msgid "" "Could not check out original HEAD '$branch'.\n" "Try 'git bisect reset <commit>'." msgstr "" +"NΓ£o foi possΓvel extrair a HEAD original de '$branch'.\n" +"Tente 'git bisect reset <commit>'." -#: git-bisect.sh:390 +#: git-bisect.sh:458 msgid "No logfile given" -msgstr "Nenhum ficheiro de log dado" +msgstr "Nenhum ficheiro de log fornecido" -#: git-bisect.sh:391 +#: git-bisect.sh:459 #, sh-format msgid "cannot read $file for replaying" -msgstr "" +msgstr "nΓ£o Γ© possΓvel ler $file para reproduzir" -#: git-bisect.sh:408 +#: git-bisect.sh:480 msgid "?? what are you talking about?" +msgstr "?? do que Γ© que estΓ‘ a falar?" + +#: git-bisect.sh:492 +#, sh-format +msgid "running $command" +msgstr "a executar $command" + +#: git-bisect.sh:499 +#, sh-format +msgid "" +"bisect run failed:\n" +"exit code $res from '$command' is < 0 or >= 128" msgstr "" +"falha bisseccionar:\n" +"cΓ³digo de saΓda $res de '$command' Γ© < 0 ou >= 128" -#: git-bisect.sh:474 -msgid "We are not bisecting." -msgstr "NΓ£o estamos a bisseccionar." +#: git-bisect.sh:525 +msgid "bisect run cannot continue any more" +msgstr "nΓ£o Γ© possΓvel continuar a bisseccionar" -#: git-pull.sh:21 +#: git-bisect.sh:531 +#, sh-format msgid "" -"Pull is not possible because you have unmerged files.\n" -"Please, fix them up in the work tree, and then use 'git add/rm <file>'\n" -"as appropriate to mark resolution, or use 'git commit -a'." +"bisect run failed:\n" +"'bisect_state $state' exited with error code $res" +msgstr "" +"falha ao bisseccionar:\n" +"'bisect_state $state' retornou com o cΓ³digo de erro $res" + +#: git-bisect.sh:538 +msgid "bisect run success" +msgstr "bissecΓ§Γ£o concluΓda com sucesso" + +#: git-bisect.sh:565 +msgid "please use two different terms" +msgstr "use dois termos diferentes" + +#: git-bisect.sh:575 +#, sh-format +msgid "'$term' is not a valid term" +msgstr "'$term' nΓ£o Γ© um termo vΓ‘lido" + +#: git-bisect.sh:578 +#, sh-format +msgid "can't use the builtin command '$term' as a term" +msgstr "nΓ£o Γ© possΓvel usar o comando '$term' como um termo" + +#: git-bisect.sh:587 git-bisect.sh:593 +#, sh-format +msgid "can't change the meaning of term '$term'" +msgstr "nΓ£o Γ© possΓvel alterar o significado do termo '$term'" + +#: git-bisect.sh:606 +#, sh-format +msgid "Invalid command: you're currently in a $TERM_BAD/$TERM_GOOD bisect." msgstr "" +"Comando invΓ‘lido: bissecΓ§Γ£o em curso usando os termo $TERM_BAD/$TERM_GOOD." -#: git-pull.sh:25 -msgid "Pull is not possible because you have unmerged files." +#: git-bisect.sh:636 +msgid "no terms defined" +msgstr "nenhum termo definido" + +#: git-bisect.sh:653 +#, sh-format +msgid "" +"invalid argument $arg for 'git bisect terms'.\n" +"Supported options are: --term-good|--term-old and --term-bad|--term-new." +msgstr "" +"argumento invΓ‘lido $arg de 'git bisect terms'.\n" +"OpΓ§Γ΅es suportadas: --term-good|--term-old e --term-bad|--term-new." + +#: git-rebase.sh:57 +msgid "" +"When you have resolved this problem, run \"git rebase --continue\".\n" +"If you prefer to skip this patch, run \"git rebase --skip\" instead.\n" +"To check out the original branch and stop rebasing, run \"git rebase --abort" +"\"." +msgstr "" +"Depois de resolver este problema, execute \"git rebase --continue\".\n" +"Se prefere ignorar este patch, execute \"git rebase --skip\".\n" +"Para extrair o ramo original e interromper o rebase, execute \"git rebase --" +"abort\"." + +#: git-rebase.sh:165 +msgid "Applied autostash." +msgstr "Autostash aplicado." + +#: git-rebase.sh:168 +#, sh-format +msgid "Cannot store $stash_sha1" +msgstr "NΓ£o Γ© possΓvel guardar $stash_sha1" + +#: git-rebase.sh:169 +msgid "" +"Applying autostash resulted in conflicts.\n" +"Your changes are safe in the stash.\n" +"You can run \"git stash pop\" or \"git stash drop\" at any time.\n" msgstr "" +"Surgiram conflitos ao aplicar autostash.\n" +"As suas alteraΓ§Γ΅es estΓ£o guardadas no stash.\n" +"Pode executar \"git stash pop\" ou \"git stash drop\" oportunamente.\n" -#: git-pull.sh:197 -msgid "updating an unborn branch with changes added to the index" +#: git-rebase.sh:208 +msgid "The pre-rebase hook refused to rebase." +msgstr "Rebase recusado pelo hook pre-rebase." + +#: git-rebase.sh:213 +msgid "It looks like git-am is in progress. Cannot rebase." +msgstr "Parece que o git-am estΓ‘ em curso. NΓ£o Γ© possΓvel efetuar rebase." + +#: git-rebase.sh:354 +msgid "The --exec option must be used with the --interactive option" +msgstr "A opΓ§Γ£o --exec deve ser usada com a opΓ§Γ£o --interactive" + +#: git-rebase.sh:359 +msgid "No rebase in progress?" +msgstr "Rebase nΓ£o estΓ‘ em curso?" + +#: git-rebase.sh:370 +msgid "The --edit-todo action can only be used during interactive rebase." +msgstr "A aΓ§Γ£o --edit-todo sΓ³ pode ser usada durante um rebase interativo." + +#: git-rebase.sh:377 +msgid "Cannot read HEAD" +msgstr "NΓ£o Γ© possΓvel ler HEAD" + +#: git-rebase.sh:380 +msgid "" +"You must edit all merge conflicts and then\n" +"mark them as resolved using git add" msgstr "" +"Deve editar todos os conflitos do merge e\n" +"marcΓ‘-los como resolvidos usando git add" + +#: git-rebase.sh:398 +#, sh-format +msgid "Could not move back to $head_name" +msgstr "NΓ£o foi possΓvel voltar para $head_name" + +#: git-rebase.sh:417 +#, sh-format +msgid "" +"It seems that there is already a $state_dir_base directory, and\n" +"I wonder if you are in the middle of another rebase. If that is the\n" +"case, please try\n" +"\t$cmd_live_rebase\n" +"If that is not the case, please\n" +"\t$cmd_clear_stale_rebase\n" +"and run me again. I am stopping in case you still have something\n" +"valuable there." +msgstr "" +"Parece que jΓ‘ existe um diretΓ³rio $state_dir_base e\n" +"Γ© possΓvel que outro processo de rebase jΓ‘ esteja em curso.\n" +"Se for o caso, tente\n" +"\t$cmd_live_rebase\n" +"Se nΓ£o for o caso,\n" +"\t$cmd_clear_stale_rebase\n" +"e execute o comando de novo. A execuΓ§Γ£o foi interrompida no caso de\n" +"ainda ter algo importante nesse sΓtio." + +#: git-rebase.sh:468 +#, sh-format +msgid "invalid upstream $upstream_name" +msgstr "$upstream_name a montante invΓ‘lido" + +#: git-rebase.sh:492 +#, sh-format +msgid "$onto_name: there are more than one merge bases" +msgstr "$onto_name: hΓ‘ mais do que uma base de merge" + +#: git-rebase.sh:495 git-rebase.sh:499 +#, sh-format +msgid "$onto_name: there is no merge base" +msgstr "$onto_name: nΓ£o hΓ‘ nenhuma base de merge" + +#: git-rebase.sh:504 +#, sh-format +msgid "Does not point to a valid commit: $onto_name" +msgstr "NΓ£o aponta para um commit vΓ‘lido: $onto_name" + +#: git-rebase.sh:527 +#, sh-format +msgid "fatal: no such branch: $branch_name" +msgstr "fatal: ramo inexistente: $branch_name" + +#: git-rebase.sh:560 +msgid "Cannot autostash" +msgstr "NΓ£o Γ© possΓvel efetuar autostash" + +#: git-rebase.sh:565 +#, sh-format +msgid "Created autostash: $stash_abbrev" +msgstr "Autostash criado: $stash_abbrev" + +#: git-rebase.sh:569 +msgid "Please commit or stash them." +msgstr "FaΓ§a commit ou stash delas." -#: git-pull.sh:253 -msgid "Cannot merge multiple branches into empty head" +#: git-rebase.sh:589 +#, sh-format +msgid "Current branch $branch_name is up to date." +msgstr "O ramo atual $branch_name estΓ‘ atualizado." + +#: git-rebase.sh:593 +#, sh-format +msgid "Current branch $branch_name is up to date, rebase forced." +msgstr "O ramo atual $branch_name estΓ‘ atualizado, rebase forΓ§ado." + +#: git-rebase.sh:604 +#, sh-format +msgid "Changes from $mb to $onto:" +msgstr "AlteraΓ§Γ΅es de $mb para $onto:" + +#: git-rebase.sh:613 +msgid "First, rewinding head to replay your work on top of it..." msgstr "" +"Primeiro, a recuar a cabeΓ§a para replicar as suas alteraΓ§Γ΅es no topo desta..." -#: git-pull.sh:257 -msgid "Cannot rebase onto multiple branches" -msgstr "NΓ£o Γ© possΓvel fazer rebase com vΓ‘rias ramas" +#: git-rebase.sh:623 +#, sh-format +msgid "Fast-forwarded $branch_name to $onto_name." +msgstr "$branch_name avanΓ§ado rapidamente para $onto_name." #: git-stash.sh:51 msgid "git stash clear with parameters is unimplemented" -msgstr "" +msgstr "nΓ£o estΓ‘ implementado git stash clear com parΓ’metros" #: git-stash.sh:74 msgid "You do not have the initial commit yet" -msgstr "Tu ainda nΓ£o tens o commit inicial" +msgstr "O commit inicial ainda nΓ£o existe" #: git-stash.sh:89 msgid "Cannot save the current index state" -msgstr "" +msgstr "NΓ£o Γ© possΓvel guardar o estado atual do Γndice" -#: git-stash.sh:123 -#: git-stash.sh:136 +#: git-stash.sh:124 git-stash.sh:137 msgid "Cannot save the current worktree state" -msgstr "" +msgstr "NΓ£o Γ© possΓvel guardar o estado atual da Γ‘rvore de trabalho" -#: git-stash.sh:140 +#: git-stash.sh:141 msgid "No changes selected" -msgstr "NΓ£o hΓ‘ alteraΓ§Γ΅es seleccionadas" +msgstr "Nenhuma alteraΓ§Γ£o selecionada" -#: git-stash.sh:143 +#: git-stash.sh:144 msgid "Cannot remove temporary index (can't happen)" -msgstr "" +msgstr "NΓ£o Γ© possΓvel remover o Γndice temporΓ‘rio (nΓ£o pode acontecer)" -#: git-stash.sh:156 +#: git-stash.sh:157 msgid "Cannot record working tree state" +msgstr "NΓ£o Γ© possΓvel gravar o estado da Γ‘rvore de trabalho" + +#: git-stash.sh:189 +#, sh-format +msgid "Cannot update $ref_stash with $w_commit" +msgstr "NΓ£o Γ© possΓvel atualizar $ref_stash com $w_commit" + +#. TRANSLATORS: $option is an invalid option, like +#. `--blah-blah'. The 7 spaces at the beginning of the +#. second line correspond to "error: ". So you should line +#. up the second line with however many characters the +#. translation of "error: " takes in your language. E.g. in +#. English this is: +#. +#. $ git stash save --blah-blah 2>&1 | head -n 2 +#. error: unknown option for 'stash save': --blah-blah +#. To provide a message, use git stash save -- '--blah-blah' +#: git-stash.sh:239 +#, sh-format +msgid "" +"error: unknown option for 'stash save': $option\n" +" To provide a message, use git stash save -- '$option'" msgstr "" +"erro: opΓ§Γ£o desconhecida de 'stash save': $option\n" +" Para fornecer uma mensagem, use git stash save -- '$option'" -#: git-stash.sh:223 +#: git-stash.sh:260 msgid "No local changes to save" -msgstr "Sem alteraΓ§Γ΅es locais para guardar" +msgstr "NΓ£o hΓ‘ alteraΓ§Γ΅es locais para guardar" -#: git-stash.sh:227 +#: git-stash.sh:264 msgid "Cannot initialize stash" msgstr "NΓ£o Γ© possΓvel inicializar o stash" -#: git-stash.sh:235 +#: git-stash.sh:268 msgid "Cannot save the current status" -msgstr "" +msgstr "NΓ£o Γ© possΓvel guardar o estado atual" -#: git-stash.sh:253 +#: git-stash.sh:286 msgid "Cannot remove worktree changes" -msgstr "" +msgstr "NΓ£o Γ© possΓvel remover as alteraΓ§Γ΅es da Γ‘rvore de trabalho" + +#: git-stash.sh:405 +#, sh-format +msgid "unknown option: $opt" +msgstr "opΓ§Γ£o desconhecido: $opt" -#: git-stash.sh:352 +#: git-stash.sh:415 msgid "No stash found." -msgstr "nenhum stash encontrado." +msgstr "Nenhum stash encontrado." -#: git-stash.sh:359 +#: git-stash.sh:422 #, sh-format msgid "Too many revisions specified: $REV" -msgstr "" +msgstr "Demasiadas revisΓ΅es especificadas: $REV" -#: git-stash.sh:365 +#: git-stash.sh:428 #, sh-format -msgid "$reference is not valid reference" -msgstr "" +msgid "$reference is not a valid reference" +msgstr "$reference nΓ£o Γ© uma referΓͺncia vΓ‘lida" -#: git-stash.sh:393 +#: git-stash.sh:456 #, sh-format msgid "'$args' is not a stash-like commit" -msgstr "" +msgstr "'$args' nΓ£o Γ© um commit do tipo stash" -#: git-stash.sh:404 +#: git-stash.sh:467 #, sh-format msgid "'$args' is not a stash reference" -msgstr "" +msgstr "'$args' nΓ£o Γ© uma referΓͺncia de stash" -#: git-stash.sh:412 +#: git-stash.sh:475 msgid "unable to refresh index" -msgstr "" +msgstr "nΓ£o foi possΓvel refrescar o Γndice" -#: git-stash.sh:416 +#: git-stash.sh:479 msgid "Cannot apply a stash in the middle of a merge" -msgstr "" +msgstr "NΓ£o Γ© possΓvel aplicar um stash durante um merge" -#: git-stash.sh:424 +#: git-stash.sh:487 msgid "Conflicts in index. Try without --index." -msgstr "" +msgstr "Conflitos no Γndice. Tente sem --index." -#: git-stash.sh:426 +#: git-stash.sh:489 msgid "Could not save index tree" -msgstr "NΓ£o foi posivel guardar o index tree" +msgstr "NΓ£o foi possΓvel guardar Γ‘rvore do Γndice" -#: git-stash.sh:460 +#: git-stash.sh:523 msgid "Cannot unstage modified files" -msgstr "" +msgstr "NΓ£o Γ© possΓvel retirar os ficheiros modificado do Γndice" + +#: git-stash.sh:538 +msgid "Index was not unstashed." +msgstr "O Γndice nΓ£o foi reposto." -#: git-stash.sh:491 +#: git-stash.sh:561 #, sh-format msgid "Dropped ${REV} ($s)" -msgstr "Deixado cair ${REV} ($s)" +msgstr "A descartar ${REV} ($s)" -#: git-stash.sh:492 +#: git-stash.sh:562 #, sh-format msgid "${REV}: Could not drop stash entry" -msgstr "" +msgstr "${REV}: NΓ£o foi possΓvel descartar elemento do stash" -#: git-stash.sh:499 +#: git-stash.sh:570 msgid "No branch name specified" -msgstr "Nenhum nome para a rama especificado" +msgstr "Nenhum nome de ramo especificado" -#: git-stash.sh:570 +#: git-stash.sh:642 msgid "(To restore them type \"git stash apply\")" -msgstr "" +msgstr "(Para os restaurar execute \"git stash apply\")" -#: git-submodule.sh:56 +#: git-submodule.sh:104 #, sh-format msgid "cannot strip one component off url '$remoteurl'" +msgstr "nΓ£o Γ© possΓvel tirar um componente do URL '$remoteurl'" + +#: git-submodule.sh:281 +msgid "Relative path can only be used from the toplevel of the working tree" msgstr "" +"Os caminhos relativos sΓ³ podem ser usados a partir do topo da Γ‘rvore de " +"trabalho" -#: git-submodule.sh:109 +#: git-submodule.sh:291 #, sh-format -msgid "No submodule mapping found in .gitmodules for path '$sm_path'" -msgstr "" +msgid "repo URL: '$repo' must be absolute or begin with ./|../" +msgstr "URL do repositΓ³rio: '$repo' deve ser absoluto ou comeΓ§ar com ./|../" -#: git-submodule.sh:150 +#: git-submodule.sh:308 #, sh-format -msgid "Clone of '$url' into submodule path '$sm_path' failed" +msgid "'$sm_path' already exists in the index" +msgstr "'$sm_path' jΓ‘ existe no Γndice" + +#: git-submodule.sh:312 +#, sh-format +msgid "" +"The following path is ignored by one of your .gitignore files:\n" +"$sm_path\n" +"Use -f if you really want to add it." msgstr "" +"O seguinte caminho foi ignorado por um ficheiro .gitignore:\n" +"$sm_path\n" +"Use -f se pretende mesmo adicionΓ‘-lo." + +#: git-submodule.sh:330 +#, sh-format +msgid "Adding existing repo at '$sm_path' to the index" +msgstr "A adicionar repositΓ³rio existente em '$sm_path' ao Γndice" + +#: git-submodule.sh:332 +#, sh-format +msgid "'$sm_path' already exists and is not a valid git repo" +msgstr "'$sm_path' jΓ‘ existe e nΓ£o Γ© uma repositΓ³rio git vΓ‘lido" -#: git-submodule.sh:160 +#: git-submodule.sh:340 #, sh-format -msgid "Gitdir '$a' is part of the submodule path '$b' or vice versa" +msgid "A git directory for '$sm_name' is found locally with remote(s):" msgstr "" +"Um diretΓ³rio git de '$sm_name' foi encontrado localmente com os remotos:" -#: git-submodule.sh:249 +#: git-submodule.sh:342 #, sh-format -msgid "repo URL: '$repo' must be absolute or begin with ./|../" +msgid "" +"If you want to reuse this local git directory instead of cloning again from" msgstr "" +"Se deseja reutilizar este diretΓ³rio git local em vez de clonar de novo de" -#: git-submodule.sh:266 +#: git-submodule.sh:344 #, sh-format -msgid "'$sm_path' already exists in the index" +msgid "" +"use the '--force' option. If the local git directory is not the correct repo" msgstr "" +"use a opΓ§Γ£o '--force'. Se o diretΓ³rio git local nΓ£o Γ© o repositΓ³rio correto" -#: git-submodule.sh:283 +#: git-submodule.sh:345 #, sh-format -msgid "'$sm_path' already exists and is not a valid git repo" +msgid "" +"or you are unsure what this means choose another name with the '--name' " +"option." msgstr "" +"ou nΓ£o tem a certeza do que isto significa, escolha outro nome com a opΓ§Γ£o " +"'--name'." + +#: git-submodule.sh:347 +#, sh-format +msgid "Reactivating local git directory for submodule '$sm_name'." +msgstr "A reativar o diretΓ³rio git local do submΓ³dulo '$sm_name'." -#: git-submodule.sh:297 +#: git-submodule.sh:359 #, sh-format msgid "Unable to checkout submodule '$sm_path'" -msgstr "" +msgstr "NΓ£o foi possΓvel extrair o submΓ³dulo '$sm_path'" -#: git-submodule.sh:302 +#: git-submodule.sh:364 #, sh-format msgid "Failed to add submodule '$sm_path'" -msgstr "" +msgstr "Falha ao adicionar o submΓ³dulo '$sm_path'" -#: git-submodule.sh:307 +#: git-submodule.sh:373 #, sh-format msgid "Failed to register submodule '$sm_path'" +msgstr "Falha ao registar o submΓ³dulo '$sm_path'" + +#: git-submodule.sh:417 +#, sh-format +msgid "Entering '$prefix$displaypath'" +msgstr "A entrar em '$prefix$displaypath'" + +#: git-submodule.sh:437 +#, sh-format +msgid "Stopping at '$prefix$displaypath'; script returned non-zero status." msgstr "" +"Interrompido em '$prefix$displaypath'; o script retornou um valor diferente " +"de zero." + +#: git-submodule.sh:483 +#, sh-format +msgid "No url found for submodule path '$displaypath' in .gitmodules" +msgstr "Nenhum URL encontrado no submΓ³dulo '$displaypath' em .gitmodules" + +#: git-submodule.sh:492 +#, sh-format +msgid "Failed to register url for submodule path '$displaypath'" +msgstr "Falha ao registar o URL do submΓ³dulo '$displaypath'" -#: git-submodule.sh:349 +#: git-submodule.sh:494 #, sh-format -msgid "Entering '$prefix$sm_path'" -msgstr "Entrando '$prefix$sm_path'" +msgid "Submodule '$name' ($url) registered for path '$displaypath'" +msgstr "SubmΓ³dulo '$name' ($url) registado em '$displaypath'" -#: git-submodule.sh:363 +#: git-submodule.sh:511 #, sh-format -msgid "Stopping at '$sm_path'; script returned non-zero status." +msgid "Failed to register update mode for submodule path '$displaypath'" +msgstr "Falha ao registar o modo de atualizaΓ§Γ£o do submΓ³dulo em '$displaypath'" + +#: git-submodule.sh:549 +#, sh-format +msgid "Use '.' if you really want to deinitialize all submodules" +msgstr "Use '.' se pretende mesmo anular a inicializaΓ§Γ£o todos os submΓ³dulos" + +#: git-submodule.sh:566 +#, sh-format +msgid "Submodule work tree '$displaypath' contains a .git directory" msgstr "" +"A Γ‘rvore de trabalho do submΓ³dulo em '$displaypath' contΓ©m um diretΓ³rio .git" -#: git-submodule.sh:405 +#: git-submodule.sh:567 #, sh-format -msgid "No url found for submodule path '$sm_path' in .gitmodules" +msgid "" +"(use 'rm -rf' if you really want to remove it including all of its history)" msgstr "" +"(use 'rm -rf' se pretende mesmo removΓͺ-lo, incluindo todo o seu histΓ³rico)" -#: git-submodule.sh:414 +#: git-submodule.sh:573 #, sh-format -msgid "Failed to register url for submodule path '$sm_path'" +msgid "" +"Submodule work tree '$displaypath' contains local modifications; use '-f' to " +"discard them" msgstr "" +"A Γ‘rvore de trabalho do submΓ³dulo em '$displaypath' contΓ©m alteraΓ§Γ΅es " +"locais; use '-f' para as descartar" -#: git-submodule.sh:422 +#: git-submodule.sh:576 +#, sh-format +msgid "Cleared directory '$displaypath'" +msgstr "DiretΓ³rio '$displaypath' limpo" + +#: git-submodule.sh:577 #, sh-format -msgid "Failed to register update mode for submodule path '$sm_path'" +msgid "Could not remove submodule work tree '$displaypath'" msgstr "" +"NΓ£o foi possΓvel remover a Γ‘rvore de trabalho do submΓ³dulo em '$displaypath'" -#: git-submodule.sh:424 +#: git-submodule.sh:580 #, sh-format -msgid "Submodule '$name' ($url) registered for path '$sm_path'" +msgid "Could not create empty submodule directory '$displaypath'" +msgstr "NΓ£o foi possΓvel criar o diretΓ³rio vazio do submΓ³dulo '$displaypath'" + +#: git-submodule.sh:589 +#, sh-format +msgid "Submodule '$name' ($url) unregistered for path '$displaypath'" msgstr "" +"O registo do submΓ³dulo '$name' ($url) foi removido do caminho '$displaypath'" -#: git-submodule.sh:523 +#: git-submodule.sh:723 #, sh-format msgid "" -"Submodule path '$sm_path' not initialized\n" +"Submodule path '$displaypath' not initialized\n" "Maybe you want to use 'update --init'?" msgstr "" +"SubmΓ³dulo em '$displaypath' nΓ£o inicializado\n" +"Talvez queira usar 'update --init'?" -#: git-submodule.sh:536 +#: git-submodule.sh:736 #, sh-format -msgid "Unable to find current revision in submodule path '$sm_path'" +msgid "Unable to find current revision in submodule path '$displaypath'" msgstr "" +"NΓ£o foi possΓvel encontrar a revisΓ£o atual no submΓ³dulo em '$displaypath'" -#: git-submodule.sh:555 +#: git-submodule.sh:745 #, sh-format msgid "Unable to fetch in submodule path '$sm_path'" -msgstr "" +msgstr "NΓ£o foi possΓvel obter no submΓ³dulo '$sm_path'" -#: git-submodule.sh:569 +#: git-submodule.sh:768 #, sh-format -msgid "Unable to rebase '$sha1' in submodule path '$sm_path'" -msgstr "" +msgid "Unable to fetch in submodule path '$displaypath'" +msgstr "NΓ£o Γ© possΓvel obter no submΓ³dulo '$displaypath'" -#: git-submodule.sh:570 +#: git-submodule.sh:788 #, sh-format -msgid "Submodule path '$sm_path': rebased into '$sha1'" -msgstr "" +msgid "Unable to checkout '$sha1' in submodule path '$displaypath'" +msgstr "NΓ£o foi possΓvel extrair '$sha1' no submΓ³dulo em '$displaypath'" -#: git-submodule.sh:575 +#: git-submodule.sh:789 #, sh-format -msgid "Unable to merge '$sha1' in submodule path '$sm_path'" -msgstr "" +msgid "Submodule path '$displaypath': checked out '$sha1'" +msgstr "SubmΓ³dulo em '$displaypath': '$sha1' extraΓdo" -#: git-submodule.sh:576 +#: git-submodule.sh:793 #, sh-format -msgid "Submodule path '$sm_path': merged in '$sha1'" +msgid "Unable to rebase '$sha1' in submodule path '$displaypath'" msgstr "" +"NΓ£o foi possΓvel efetuar rebase de '$sha1' no submΓ³dulo em '$displaypath'" -#: git-submodule.sh:581 +#: git-submodule.sh:794 #, sh-format -msgid "Unable to checkout '$sha1' in submodule path '$sm_path'" -msgstr "" +msgid "Submodule path '$displaypath': rebased into '$sha1'" +msgstr "SubmΓ³dulo em '$displaypath': rebase concluΓdo em '$sha1'" -#: git-submodule.sh:582 +#: git-submodule.sh:799 #, sh-format -msgid "Submodule path '$sm_path': checked out '$sha1'" -msgstr "" +msgid "Unable to merge '$sha1' in submodule path '$displaypath'" +msgstr "NΓ£o Γ© possΓvel efetuar merge de '$sha1' no submΓ³dulo em '$displaypath'" -#: git-submodule.sh:604 -#: git-submodule.sh:927 +#: git-submodule.sh:800 #, sh-format -msgid "Failed to recurse into submodule path '$sm_path'" -msgstr "" +msgid "Submodule path '$displaypath': merged in '$sha1'" +msgstr "SubmΓ³dulo em '$displaypath': merge em '$sha1' concluΓdo" -#: git-submodule.sh:712 -msgid "--" -msgstr "--" +#: git-submodule.sh:805 +#, sh-format +msgid "" +"Execution of '$command $sha1' failed in submodule path '$prefix$sm_path'" +msgstr "Falha ao executar '$command $sha1' no submΓ³dulo em '$prefix$sm_path'" -#: git-submodule.sh:770 +#: git-submodule.sh:806 #, sh-format -msgid " Warn: $name doesn't contain commit $sha1_src" -msgstr "" +msgid "Submodule path '$prefix$sm_path': '$command $sha1'" +msgstr "SubmΓ³dulo em '$prefix$sm_path': '$command $sha1'" -#: git-submodule.sh:773 +#: git-submodule.sh:836 #, sh-format -msgid " Warn: $name doesn't contain commit $sha1_dst" -msgstr "" +msgid "Failed to recurse into submodule path '$displaypath'" +msgstr "Falha ao percorrer o submΓ³dulo em '$displaypath'" + +#: git-submodule.sh:944 +msgid "The --cached option cannot be used with the --files option" +msgstr "A opΓ§Γ£o --cached nΓ£o pode ser usada com a opΓ§Γ£o --files" -#: git-submodule.sh:776 +#: git-submodule.sh:996 #, sh-format -msgid " Warn: $name doesn't contain commits $sha1_src and $sha1_dst" -msgstr "" +msgid "unexpected mode $mod_dst" +msgstr "modo inesperado $mod_dst" + +#: git-submodule.sh:1016 +#, sh-format +msgid " Warn: $display_name doesn't contain commit $sha1_src" +msgstr " Aviso: $display_name nΓ£o contΓ©m o commit $sha1_src" + +#: git-submodule.sh:1019 +#, sh-format +msgid " Warn: $display_name doesn't contain commit $sha1_dst" +msgstr " Warn: $display_name nΓ£o contΓ©m o commit $sha1_dst" + +#: git-submodule.sh:1022 +#, sh-format +msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst" +msgstr " Warn: $display_name contΓ©m os commits $sha1_src e $sha1_dst" -#: git-submodule.sh:801 +#: git-submodule.sh:1047 msgid "blob" msgstr "blob" -#: git-submodule.sh:802 -msgid "submodule" -msgstr "submΓ³dulos" +#: git-submodule.sh:1165 +#, sh-format +msgid "Failed to recurse into submodule path '$sm_path'" +msgstr "Falha ao percorrer recursivamente o submΓ³dulo em '$sm_path'" -#: git-submodule.sh:973 +#: git-submodule.sh:1229 #, sh-format -msgid "Synchronizing submodule url for '$name'" -msgstr "" +msgid "Synchronizing submodule url for '$displaypath'" +msgstr "A sincronizar o URL do submΓ³dulo em '$displaypath'" + +#~ msgid "unable to parse format" +#~ msgstr "nΓ£o foi possΓvel analisar o formato" + +#~ msgid "improper format entered align:%s" +#~ msgstr "formato imprΓ³prio introduzido align:%s" + +#~ msgid "Could not set core.worktree in %s" +#~ msgstr "NΓ£o foi possΓvel definir core.worktree em %s" + +#~ msgid "" +#~ "push.default is unset; its implicit value has changed in\n" +#~ "Git 2.0 from 'matching' to 'simple'. To squelch this message\n" +#~ "and maintain the traditional behavior, use:\n" +#~ "\n" +#~ " git config --global push.default matching\n" +#~ "\n" +#~ "To squelch this message and adopt the new behavior now, use:\n" +#~ "\n" +#~ " git config --global push.default simple\n" +#~ "\n" +#~ "When push.default is set to 'matching', git will push local branches\n" +#~ "to the remote branches that already exist with the same name.\n" +#~ "\n" +#~ "Since Git 2.0, Git defaults to the more conservative 'simple'\n" +#~ "behavior, which only pushes the current branch to the corresponding\n" +#~ "remote branch that 'git pull' uses to update the current branch.\n" +#~ "\n" +#~ "See 'git help config' and search for 'push.default' for further " +#~ "information.\n" +#~ "(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n" +#~ "'current' instead of 'simple' if you sometimes use older versions of Git)" +#~ msgstr "" +#~ "push.default nΓ£o estΓ‘ definido; o seu valor implΓcito foi alterado\n" +#~ "no Git 2.0 de 'matching' para 'simple'. Para suprimir esta mensagem\n" +#~ "e manter o comportamento tradicional, use:\n" +#~ "\n" +#~ " git config --global push.default matching\n" +#~ "\n" +#~ "Para suprimir esta mensagem e adotar o novo comportamento, use:\n" +#~ "\n" +#~ " git config --global push.default simple\n" +#~ "\n" +#~ "Quando push.default estΓ‘ definido como 'matching', o Git publica\n" +#~ "os ramos locais nos ramos remotos que jΓ‘ existam com o mesmo nome.\n" +#~ "\n" +#~ "Desde a versΓ£o 2.0, o Git assume o comportamento mais conservativo " +#~ "'simple',\n" +#~ "publicando sΓ³ o ramo atual no ramo remoto correspondente, que Γ© usado\n" +#~ "para atualizar o ramo atual com 'git pull'.\n" +#~ "Consulte 'git help config' e procure por 'push.default' para mais " +#~ "informaΓ§Γ΅es.\n" +#~ "(o modo 'simple' foi introduzido no Git 1.7.11. Use o modo semelhante\n" +#~ "'current' em vez de 'simple' se por vezes usa versΓ΅es anteriores do Git)" + +#~ msgid "check|on-demand|no" +#~ msgstr "check|on-demand|no" + +#~ msgid "Could not append '%s'" +#~ msgstr "NΓ£o foi possΓvel acrescentar '%s'" + +#~ msgid "Could not set '%s'" +#~ msgstr "NΓ£o foi possΓvel definir '%s'" + +#~ msgid "Missing author: %s" +#~ msgstr "Autor em falta: %s" + +#~ msgid "Testing " +#~ msgstr "A testar " + +#~ msgid "Forward-port local commits to the updated upstream head" +#~ msgstr "" +#~ "Migrar commits locais para a cabeΓ§a atualizada em relaΓ§Γ£o ao ramo a " +#~ "montante" + +#~ msgid " 0 files changed\n" +#~ msgstr " 0 ficheros modificados\n" + +#~ msgid " %d file changed" +#~ msgid_plural " %d files changed" +#~ msgstr[0] " %d ficheiro modificado" +#~ msgstr[1] " %d ficheiros modificados" + +#~ msgid ", %d insertion(+)" +#~ msgid_plural ", %d insertions(+)" +#~ msgstr[0] ", %d adiΓ§Γ£o(+)" +#~ msgstr[1] ", %d adiΓ§Γ΅es(+)" + +#~ msgid ", %d deletion(-)" +#~ msgid_plural ", %d deletions(-)" +#~ msgstr[0] ", %d eliminado(-)" +#~ msgstr[1] ", %d eliminados(-)" + +#~ msgid "You do not have a valid HEAD" +#~ msgstr "VocΓͺ nΓ£o tem uma HEAD vΓ‘lida" + +#~ msgid "bug" +#~ msgstr "erro" + +#~ msgid "copied: %s -> %s" +#~ msgstr "copiado: %s -> %s" + +#~ msgid "modified: %s" +#~ msgstr "modificado: %s" + +#~ msgid "renamed: %s -> %s" +#~ msgstr "mudado de nome: %s -> %s" + +#~ msgid ", behind " +#~ msgstr ", atrΓ‘s " + +#~ msgid "no files added" +#~ msgstr "nenhum ficheiros adicionado" + +#~ msgid "Could not extract email from committer identity." +#~ msgstr "NΓ£o foi possΓvel extrair a identidade do committer do e-mail." + +#~ msgid "option %s does not accept negative form" +#~ msgstr "opΓ§Γ£o %s nΓ£o aceita formato negativo" + +#~ msgid "Applying: $FIRSTLINE" +#~ msgstr "Aplicando: $FIRSTLINE" + +#~ msgid "--" +#~ msgstr "--" #~ msgid "cherry-pick" #~ msgstr "cherry-pick" #~ msgid "Please enter the commit message for your changes." #~ msgstr "Por favor insira a mensagem de commit das suas alteraΓ§Γ΅es." - -#~ msgid "Too many options specified" -#~ msgstr "Demasiadas opΓ§Γ΅es especificadas" @@ -3,15 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Dimitriy Ryazantcev <DJm00n@mail.ru>, 2014-2015 +# Dimitriy Ryazantcev <DJm00n@mail.ru>, 2014-2016 # insolor <insolor@gmail.com>, 2014 # insolor <insolor@gmail.com>, 2014 msgid "" msgstr "" "Project-Id-Version: Git Russian Localization Project\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2015-12-22 22:50+0800\n" -"PO-Revision-Date: 2015-12-25 11:57+0000\n" +"POT-Creation-Date: 2016-03-16 00:16+0800\n" +"PO-Revision-Date: 2016-03-15 18:54+0000\n" "Last-Translator: Dimitriy Ryazantcev <DJm00n@mail.ru>\n" "Language-Team: Russian (http://www.transifex.com/djm00n/git-po-ru/language/ru/)\n" "MIME-Version: 1.0\n" @@ -31,7 +31,7 @@ msgid "" "as appropriate to mark resolution and make a commit." msgstr "ΠΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΈΡ
Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Β«git add/rm <ΡΠ°ΠΉΠ»>Β»,\nΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠ΅ΡΠΈΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ." -#: advice.c:101 builtin/merge.c:1225 +#: advice.c:101 builtin/merge.c:1226 msgid "You have not concluded your merge (MERGE_HEAD exists)." msgstr "ΠΡ Π½Π΅ Π·Π°Π²Π΅ΡΡΠΈΠ»ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ (ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΉΠ» MERGE_HEAD)." @@ -74,7 +74,7 @@ msgstr "ΡΠΎΡΠΌΠ°Ρ" msgid "archive format" msgstr "ΡΠΎΡΠΌΠ°Ρ Π°ΡΡ
ΠΈΠ²Π°" -#: archive.c:430 builtin/log.c:1229 +#: archive.c:430 builtin/log.c:1232 msgid "prefix" msgstr "ΠΏΡΠ΅ΡΠΈΠΊΡ" @@ -82,11 +82,11 @@ msgstr "ΠΏΡΠ΅ΡΠΈΠΊΡ" msgid "prepend prefix to each pathname in the archive" msgstr "Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΏΡΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Π° Π² Π°ΡΡ
ΠΈΠ²Π΅" -#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2535 -#: builtin/blame.c:2536 builtin/config.c:58 builtin/fast-export.c:987 -#: builtin/fast-export.c:989 builtin/grep.c:707 builtin/hash-object.c:99 -#: builtin/ls-files.c:446 builtin/ls-files.c:449 builtin/notes.c:395 -#: builtin/notes.c:558 builtin/read-tree.c:109 parse-options.h:153 +#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2547 +#: builtin/blame.c:2548 builtin/config.c:60 builtin/fast-export.c:987 +#: builtin/fast-export.c:989 builtin/grep.c:720 builtin/hash-object.c:100 +#: builtin/ls-files.c:459 builtin/ls-files.c:462 builtin/notes.c:398 +#: builtin/notes.c:561 builtin/read-tree.c:109 parse-options.h:153 msgid "file" msgstr "ΡΠ°ΠΉΠ»" @@ -118,7 +118,7 @@ msgstr "ΡΠΆΠΈΠΌΠ°ΡΡ Π»ΡΡΡΠ΅" msgid "list supported archive formats" msgstr "ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ Π°ΡΡ
ΠΈΠ²ΠΎΠ²" -#: archive.c:451 builtin/archive.c:90 builtin/clone.c:77 +#: archive.c:451 builtin/archive.c:90 builtin/clone.c:78 msgid "repo" msgstr "ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ" @@ -126,96 +126,109 @@ msgstr "ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ" msgid "retrieve the archive from remote repository <repo>" msgstr "ΠΏΠΎΠ»ΡΡΠΈΡΡ Π°ΡΡ
ΠΈΠ² ΠΈΠ· Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ <ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ>" -#: archive.c:453 builtin/archive.c:92 builtin/notes.c:479 +#: archive.c:453 builtin/archive.c:92 builtin/notes.c:482 msgid "command" -msgstr "ΠΊΠΎΠΌΠΌΠ°Π½Π΄Π°" +msgstr "ΠΊΠΎΠΌΠ°Π½Π΄Π°" #: archive.c:454 builtin/archive.c:93 msgid "path to the remote git-upload-archive command" msgstr "ΠΏΡΡΡ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ git-upload-archive Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ" -#: attr.c:265 +#: attr.c:263 msgid "" "Negative patterns are ignored in git attributes\n" "Use '\\!' for literal leading exclamation." msgstr "ΠΡΡΠΈΡΠ°ΡΡΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ Π² Π°ΡΡΠΈΠ±ΡΡΠ°Ρ
git ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ.\nΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Β«\\!Β» Π΄Π»Ρ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ Β«Π²ΠΎΡΠΊΠ»ΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ Π·Π½Π°ΠΊΒ»." -#: branch.c:61 +#: branch.c:53 +#, c-format +msgid "" +"\n" +"After fixing the error cause you may try to fix up\n" +"the remote tracking information by invoking\n" +"\"git branch --set-upstream-to=%s%s%s\"." +msgstr "\nΠΠΎΡΠ»Π΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΎΡΠΈΠ±ΠΊΠΈ,\nΠ²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ\nΠ²Π½Π΅ΡΠ½Π΅ΠΉ Π²Π΅ΡΠΊΠ΅, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ\nΒ«git branch --set-upstream-to=%s%s%sΒ»." + +#: branch.c:67 #, c-format msgid "Not setting branch %s as its own upstream." msgstr "ΠΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Ρ Π²Π΅ΡΠΊΡ %s, ΡΠ°ΠΊ ΡΠ°ΠΊ ΠΎΠ½Π° ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ Π²ΡΡΠ΅ΡΡΠΎΡΡΠ΅ΠΌΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ." -#: branch.c:84 +#: branch.c:93 #, c-format msgid "Branch %s set up to track remote branch %s from %s by rebasing." msgstr "ΠΠ΅ΡΠΊΠ° %s ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ Π²Π½Π΅ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ %s ΠΈΠ· %s ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ." -#: branch.c:85 +#: branch.c:94 #, c-format msgid "Branch %s set up to track remote branch %s from %s." msgstr "ΠΠ΅ΡΠΊΠ° %s ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ Π²Π½Π΅ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ %s ΠΈΠ· %s." -#: branch.c:89 +#: branch.c:98 #, c-format msgid "Branch %s set up to track local branch %s by rebasing." msgstr "ΠΠ΅ΡΠΊΠ° %s ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ %s ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ." -#: branch.c:90 +#: branch.c:99 #, c-format msgid "Branch %s set up to track local branch %s." msgstr "ΠΠ΅ΡΠΊΠ° %s ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ %s." -#: branch.c:95 +#: branch.c:104 #, c-format msgid "Branch %s set up to track remote ref %s by rebasing." msgstr "ΠΠ΅ΡΠΊΠ° %s ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ Π²Π½Π΅ΡΠ½ΡΡ ΡΡΡΠ»ΠΊΡ %s ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ." -#: branch.c:96 +#: branch.c:105 #, c-format msgid "Branch %s set up to track remote ref %s." msgstr "ΠΠ΅ΡΠΊΠ° %s ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ Π²Π½Π΅ΡΠ½ΡΡ ΡΡΡΠ»ΠΊΡ %s." -#: branch.c:100 +#: branch.c:109 #, c-format msgid "Branch %s set up to track local ref %s by rebasing." msgstr "ΠΠ΅ΡΠΊΠ° %s ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΡΡΠ»ΠΊΡ %s ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ." -#: branch.c:101 +#: branch.c:110 #, c-format msgid "Branch %s set up to track local ref %s." msgstr "ΠΠ΅ΡΠΊΠ° %s ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΡΡΠ»ΠΊΡ %s." -#: branch.c:134 +#: branch.c:119 +msgid "Unable to write upstream branch configuration" +msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π²ΡΡΠ΅ΡΡΠΎΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ" + +#: branch.c:156 #, c-format msgid "Not tracking: ambiguous information for ref %s" msgstr "ΠΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΡΡΡ: Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ ΡΡΡΠ»ΠΊΠΈ %s" -#: branch.c:163 +#: branch.c:185 #, c-format msgid "'%s' is not a valid branch name." msgstr "Β«%sΒ» Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π²Π΅ΡΠΊΠΈ." -#: branch.c:168 +#: branch.c:190 #, c-format msgid "A branch named '%s' already exists." msgstr "ΠΠ΅ΡΠΊΠ° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«%sΒ» ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ." -#: branch.c:176 +#: branch.c:198 msgid "Cannot force update the current branch." msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ." -#: branch.c:196 +#: branch.c:218 #, c-format msgid "" "Cannot setup tracking information; starting point '%s' is not a branch." msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ; ΡΡΠ°ΡΡΠΎΠ²Π°Ρ ΡΠΎΡΠΊΠ° Β«%sΒ» Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π΅ΡΠΊΠΎΠΉ." -#: branch.c:198 +#: branch.c:220 #, c-format msgid "the requested upstream branch '%s' does not exist" msgstr "Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½Π°Ρ Π²Π΅ΡΠΊΠ° Π²ΡΡΠ΅ΡΡΠΎΡΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Β«%sΒ» Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ" -#: branch.c:200 +#: branch.c:222 msgid "" "\n" "If you are planning on basing your work on an upstream\n" @@ -227,22 +240,22 @@ msgid "" "\"git push -u\" to set the upstream config as you push." msgstr "\nΠΡΠ»ΠΈ Π²Ρ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΠ΅ ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡ ΡΠ²ΠΎΡ ΡΠ°Π±ΠΎΡΡ Π½Π° Π²ΡΡΠ΅ΡΡΠΎΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ Β«git fetchΒ» Π΄Π»Ρ Π΅Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ.\n\nΠΡΠ»ΠΈ Π²Ρ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡΡΡ, Π²ΠΎ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ Β«git push -uΒ» β ΡΡΠΎΠ±Ρ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ Π²ΡΡΠ΅ΡΡΠΎΡΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ." -#: branch.c:244 +#: branch.c:266 #, c-format msgid "Not a valid object name: '%s'." msgstr "ΠΠ΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ ΠΈΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°: Β«%sΒ»." -#: branch.c:264 +#: branch.c:286 #, c-format msgid "Ambiguous object name: '%s'." msgstr "ΠΠ΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°: Β«%sΒ»." -#: branch.c:269 +#: branch.c:291 #, c-format msgid "Not a valid branch point: '%s'." msgstr "ΠΠ΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠ°Ρ ΡΠΎΡΠΊΠ° Π²Π΅ΡΠΊΠΈ: Β«%sΒ»." -#: branch.c:322 +#: branch.c:344 #, c-format msgid "'%s' is already checked out at '%s'" msgstr "Β«%sΒ» ΡΠΆΠ΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π½Π° Β«%sΒ»" @@ -266,10 +279,10 @@ msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΠΊΡΡΡΡ Β«%sΒ»" msgid "Repository lacks these prerequisite commits:" msgstr "Π ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ:" -#: bundle.c:163 ref-filter.c:1372 sequencer.c:636 sequencer.c:1083 -#: builtin/blame.c:2734 builtin/commit.c:1045 builtin/log.c:334 -#: builtin/log.c:849 builtin/log.c:1461 builtin/log.c:1694 builtin/merge.c:358 -#: builtin/shortlog.c:158 +#: bundle.c:163 ref-filter.c:1462 sequencer.c:627 sequencer.c:1074 +#: builtin/blame.c:2754 builtin/commit.c:1045 builtin/log.c:334 +#: builtin/log.c:852 builtin/log.c:1467 builtin/log.c:1700 builtin/merge.c:358 +#: builtin/shortlog.c:170 msgid "revision walk setup failed" msgstr "ΡΠ±ΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΡ
ΠΎΠ΄Π° ΠΏΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΌ" @@ -312,7 +325,7 @@ msgstr "ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ° rev-list" msgid "ref '%s' is excluded by the rev-list options" msgstr "ΡΡΡΠ»ΠΊΠ° Β«%sΒ» ΠΈΡΠΊΠ»ΡΡΠ΅Π½Π° Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΎΠΏΡΠΈΡΠΌΠΈ rev-list" -#: bundle.c:443 builtin/log.c:157 builtin/log.c:1369 builtin/shortlog.c:261 +#: bundle.c:443 builtin/log.c:157 builtin/log.c:1372 builtin/shortlog.c:273 #, c-format msgid "unrecognized argument: %s" msgstr "Π½Π΅ΠΎΠΏΠΎΠ·Π½Π°Π½Π½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ: %s" @@ -335,8 +348,8 @@ msgstr "ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ° index-pack" msgid "invalid color value: %.*s" msgstr "Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠ°: %.*s" -#: commit.c:40 builtin/am.c:452 builtin/am.c:488 builtin/am.c:1520 -#: builtin/am.c:2149 +#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1505 +#: builtin/am.c:2135 #, c-format msgid "could not parse %s" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ %s" @@ -350,59 +363,64 @@ msgstr "%s %s Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ!" msgid "memory exhausted" msgstr "ΠΏΠ°ΠΌΡΡΡ ΠΈΡΡΠ΅ΡΠΏΠ°Π½Π°" -#: config.c:474 config.c:476 +#: config.c:475 config.c:477 #, c-format -msgid "bad config file line %d in %s" -msgstr "ΠΎΡΠΈΠ±ΠΊΠ° Π² %d ΡΡΡΠΎΠΊΠ΅ ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π² %s" +msgid "bad config line %d in %s %s" +msgstr "ΠΎΡΠΈΠ±ΠΊΠ° Π² %d ΡΡΡΠΎΠΊΠ΅ ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π² %s %s" -#: config.c:592 +#: config.c:593 #, c-format -msgid "bad numeric config value '%s' for '%s' in %s: %s" -msgstr "Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«%sΒ» Π΄Π»Ρ Β«%sΒ» Π² %s: %s" +msgid "bad numeric config value '%s' for '%s' in %s %s: %s" +msgstr "Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«%sΒ» Π΄Π»Ρ Β«%sΒ» Π² %s %s: %s" -#: config.c:594 +#: config.c:595 #, c-format msgid "bad numeric config value '%s' for '%s': %s" msgstr "Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«%sΒ» Π΄Π»Ρ Β«%sΒ»: %s" -#: config.c:679 +#: config.c:680 #, c-format msgid "failed to expand user dir in: '%s'" msgstr "ΡΠ±ΠΎΠΉ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΡΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: Β«%sΒ»" -#: config.c:757 config.c:768 +#: config.c:758 config.c:769 #, c-format msgid "bad zlib compression level %d" msgstr "Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠΆΠ°ΡΠΈΡ zlib %d" -#: config.c:890 +#: config.c:891 #, c-format msgid "invalid mode for object creation: %s" msgstr "Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°: %s" -#: config.c:1216 +#: config.c:1220 msgid "unable to parse command-line config" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ" -#: config.c:1277 +#: config.c:1281 msgid "unknown error occured while reading the configuration files" msgstr "ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ" -#: config.c:1601 +#: config.c:1629 #, c-format msgid "unable to parse '%s' from command-line config" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ Β«%sΒ» Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ" -#: config.c:1603 +#: config.c:1631 #, c-format msgid "bad config variable '%s' in file '%s' at line %d" msgstr "Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Β«%sΒ» Π² ΡΠ°ΠΉΠ»Π΅ Β«%sΒ» Π½Π° ΡΡΡΠΎΠΊΠ΅ %d" -#: config.c:1662 +#: config.c:1690 #, c-format msgid "%s has multiple values" msgstr "%s ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ" +#: config.c:2226 +#, c-format +msgid "Could not set '%s' to '%s'" +msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Β«%sΒ» Π² Β«%sΒ»" + #: connected.c:69 msgid "Could not run 'git rev-list'" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ Β«git rev-listΒ»" @@ -534,34 +552,34 @@ msgid "" "%s" msgstr "ΠΠ°ΠΉΠ΄Π΅Π½Ρ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Β«diff.dirstatΒ»:\n%s" -#: diff.c:3000 +#: diff.c:2997 #, c-format msgid "external diff died, stopping at %s" msgstr "ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ Π²Π½Π΅ΡΠ½Π΅ΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ, ΠΎΡΡΠ°Π½ΠΎΠ² Π½Π° %s" -#: diff.c:3396 +#: diff.c:3393 msgid "--follow requires exactly one pathspec" msgstr "--follow ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠΎΠ²Π½ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΡΡΠΈ" -#: diff.c:3559 +#: diff.c:3556 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" "%s" msgstr "Π‘Π±ΠΎΠΉ ΡΠ°Π·Π±ΠΎΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΎΠΏΡΠΈΠΈ --dirstat/-X :\n%s" -#: diff.c:3573 +#: diff.c:3570 #, c-format msgid "Failed to parse --submodule option parameter: '%s'" msgstr "Π‘Π±ΠΎΠΉ ΡΠ°Π·Π±ΠΎΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΎΠΏΡΠΈΠΈ --submodule: Β«%sΒ»" -#: dir.c:1915 +#: dir.c:2004 msgid "failed to get kernel name and information" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠΌΡ ΡΠ΄ΡΠ° ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ" -#: dir.c:1998 -msgid "Untracked cache is disabled on this system." -msgstr "ΠΡΡ Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΎΡΠΊΠ»ΡΡΠ΅Π½ Π½Π° ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅." +#: dir.c:2123 +msgid "Untracked cache is disabled on this system or location." +msgstr "ΠΡΡ Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΎΡΠΊΠ»ΡΡΠ΅Π½ Π½Π° ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈΠ»ΠΈ Π² ΡΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅." #: gpg-interface.c:166 gpg-interface.c:237 msgid "could not run gpg." @@ -600,48 +618,48 @@ msgstr "Β«%sΒ»: %s" msgid "'%s': short read %s" msgstr "Β«%sΒ»: ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ°Π»ΠΎ Π΄Π°Π½Π½ΡΡ
ΠΏΡΠΎΡΠΈΡΠ°Π½ΠΎ %s" -#: help.c:207 +#: help.c:205 #, c-format msgid "available git commands in '%s'" msgstr "Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git Π² Β«%sΒ»" -#: help.c:214 +#: help.c:212 msgid "git commands available from elsewhere on your $PATH" msgstr "ΠΊΠΎΠΌΠ°Π½Π΄Ρ git, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π² Π΄ΡΡΠ³ΠΈΡ
ΠΌΠ΅ΡΡΠ°Ρ
Π²Π°ΡΠ΅Π³ΠΎ $PATH" -#: help.c:246 +#: help.c:244 msgid "These are common Git commands used in various situations:" msgstr "Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Git ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΠΈΡΡΠ°ΡΠΈΡΡ
:" -#: help.c:311 +#: help.c:309 #, c-format msgid "" "'%s' appears to be a git command, but we were not\n" "able to execute it. Maybe git-%s is broken?" msgstr "Β«%sΒ» ΠΏΠΎΡ
ΠΎΠΆΠ΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ git, Π½ΠΎ Π½Π°ΠΌ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π΅Π΅ Π·Π°ΠΏΡΡΡΠΈΡΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, git-%s Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ?" -#: help.c:368 +#: help.c:366 msgid "Uh oh. Your system reports no Git commands at all." msgstr "ΠΠΉ-ΡΠΉ! ΠΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π΅ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Π½ΠΈ ΠΎ ΠΊΠ°ΠΊΠΈΡ
ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ
Git Π²ΠΎΠΎΠ±ΡΠ΅." -#: help.c:390 +#: help.c:388 #, c-format msgid "" "WARNING: You called a Git command named '%s', which does not exist.\n" "Continuing under the assumption that you meant '%s'" msgstr "ΠΠΠΠΠΠΠΠ: ΠΡ Π²ΡΠ·Π²Π°Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Git Β«%sΒ», Π½ΠΎ ΡΠ°ΠΊΠΎΠΉ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ.\nΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΡΡΠΎ Π²Ρ ΠΈΠΌΠ΅Π»ΠΈ Π² Π²ΠΈΠ΄Ρ Β«%sΒ»" -#: help.c:395 +#: help.c:393 #, c-format msgid "in %0.1f seconds automatically..." msgstr "ΡΠ΅ΡΠ΅Π· %0.1f ΡΠ΅ΠΊΡΠ½Π΄ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈβ¦" -#: help.c:402 +#: help.c:400 #, c-format msgid "git: '%s' is not a git command. See 'git --help'." msgstr "git: Β«%sΒ» Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ git. Π‘ΠΌΠΎΡΡΠΈΡΠ΅ Β«git --helpΒ»." -#: help.c:406 help.c:466 +#: help.c:404 help.c:464 msgid "" "\n" "Did you mean this?" @@ -653,7 +671,7 @@ msgstr[1] "\nΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ ΠΈΠΌΠ΅Π»ΠΈ Π² Π²ΠΈΠ΄Ρ ΡΡΠΎ-ΡΠΎ ΠΈΠ· ΡΡ msgstr[2] "\nΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ ΠΈΠΌΠ΅Π»ΠΈ Π² Π²ΠΈΠ΄Ρ ΡΡΠΎ-ΡΠΎ ΠΈΠ· ΡΡΠΎΠ³ΠΎ?" msgstr[3] "\nΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ ΠΈΠΌΠ΅Π»ΠΈ Π² Π²ΠΈΠ΄Ρ ΡΡΠΎ-ΡΠΎ ΠΈΠ· ΡΡΠΎΠ³ΠΎ?" -#: help.c:462 +#: help.c:460 #, c-format msgid "%s: %s - %s" msgstr "%s: %s β %s" @@ -662,8 +680,8 @@ msgstr "%s: %s β %s" msgid "failed to read the cache" msgstr "ΡΠ±ΠΎΠΉ ΡΡΠ΅Π½ΠΈΡ ΠΊΡΡΠ°" -#: merge.c:94 builtin/am.c:2022 builtin/am.c:2057 builtin/checkout.c:376 -#: builtin/checkout.c:587 builtin/clone.c:722 +#: merge.c:94 builtin/am.c:2008 builtin/am.c:2043 builtin/checkout.c:376 +#: builtin/checkout.c:587 builtin/clone.c:730 msgid "unable to write new index file" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» ΠΈΠ½Π΄Π΅ΠΊΡΠ°" @@ -681,218 +699,218 @@ msgstr "ΡΠ±ΠΎΠΉ addinfo_cache Π΄Π»Ρ ΠΏΡΡΠΈ Β«%sΒ»" msgid "error building trees" msgstr "ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ Π΄Π΅ΡΠ΅Π²ΡΠ΅Π²" -#: merge-recursive.c:686 +#: merge-recursive.c:689 #, c-format msgid "failed to create path '%s'%s" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΡΡ Β«%sΒ»%s" -#: merge-recursive.c:697 +#: merge-recursive.c:700 #, c-format msgid "Removing %s to make room for subdirectory\n" msgstr "Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ %s, ΡΡΠΎΠ±Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΌΠ΅ΡΡΠΎ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ²\n" -#: merge-recursive.c:711 merge-recursive.c:732 +#: merge-recursive.c:714 merge-recursive.c:735 msgid ": perhaps a D/F conflict?" msgstr ": Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ²/ΡΠ°ΠΉΠ»ΠΎΠ²?" -#: merge-recursive.c:722 +#: merge-recursive.c:725 #, c-format msgid "refusing to lose untracked file at '%s'" msgstr "ΠΎΡΠΊΠ°Π· ΠΏΠΎΡΠ΅ΡΠΈ Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π² Β«%sΒ»" -#: merge-recursive.c:762 +#: merge-recursive.c:765 #, c-format msgid "cannot read object %s '%s'" msgstr "Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ %s Β«%sΒ»" -#: merge-recursive.c:764 +#: merge-recursive.c:767 #, c-format msgid "blob expected for %s '%s'" msgstr "ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄Π»Ρ %s Β«%sΒ»" -#: merge-recursive.c:787 builtin/clone.c:369 +#: merge-recursive.c:790 builtin/clone.c:374 #, c-format msgid "failed to open '%s'" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΠΊΡΡΡΡ Β«%sΒ»" -#: merge-recursive.c:795 +#: merge-recursive.c:798 #, c-format msgid "failed to symlink '%s'" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΡΡΡΠ»ΠΊΡ Β«%sΒ»" -#: merge-recursive.c:798 +#: merge-recursive.c:801 #, c-format msgid "do not know what to do with %06o %s '%s'" msgstr "Π½Π΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Ρ %06o %s Β«%sΒ»" -#: merge-recursive.c:936 +#: merge-recursive.c:939 msgid "Failed to execute internal merge" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅" -#: merge-recursive.c:940 +#: merge-recursive.c:943 #, c-format msgid "Unable to add %s to database" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ %s Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
" -#: merge-recursive.c:956 +#: merge-recursive.c:959 msgid "unsupported object type in the tree" msgstr "ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π΅ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π² Π΄Π΅ΡΠ΅Π²Π΅" -#: merge-recursive.c:1031 merge-recursive.c:1045 +#: merge-recursive.c:1034 merge-recursive.c:1048 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " "in tree." msgstr "ΠΠΠΠ€ΠΠΠΠ’ (%s/ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅): %s ΡΠ΄Π°Π»Π΅Π½ΠΎ Π² %s ΠΈ %s Π² %s. ΠΠ΅ΡΡΠΈΡ %s ΠΈΠ· %s ΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π² Π΄Π΅ΡΠ΅Π²Π΅." -#: merge-recursive.c:1037 merge-recursive.c:1050 +#: merge-recursive.c:1040 merge-recursive.c:1053 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " "in tree at %s." msgstr "ΠΠΠΠ€ΠΠΠΠ’ (%s/ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅): %s ΡΠ΄Π°Π»Π΅Π½ΠΎ Π² %s ΠΈ %s Π² %s. ΠΠ΅ΡΡΠΈΡ %s ΠΈΠ· %s ΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π² Π΄Π΅ΡΠ΅Π²Π΅ Π½Π° %s." -#: merge-recursive.c:1091 +#: merge-recursive.c:1094 msgid "rename" msgstr "ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅" -#: merge-recursive.c:1091 +#: merge-recursive.c:1094 msgid "renamed" msgstr "ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΎ" -#: merge-recursive.c:1147 +#: merge-recursive.c:1150 #, c-format msgid "%s is a directory in %s adding as %s instead" msgstr "%s β ΡΡΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π² %s, Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΊΠ°ΠΊ %s Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ" -#: merge-recursive.c:1169 +#: merge-recursive.c:1172 #, c-format msgid "" "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename " "\"%s\"->\"%s\" in \"%s\"%s" msgstr "ΠΠΠΠ€ΠΠΠΠ’ (ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅/ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅): ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Β«%sΒ»βΒ«%sΒ» Π² Π²Π΅ΡΠΊΠ΅ Β«%sΒ» ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Β«%sΒ»βΒ«%sΒ» Π² Π²Π΅ΡΠΊΠ΅ Β«%sΒ»%s" -#: merge-recursive.c:1174 +#: merge-recursive.c:1177 msgid " (left unresolved)" msgstr " (ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΎ Π½Π΅ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π½ΡΠΌ)" -#: merge-recursive.c:1228 +#: merge-recursive.c:1231 #, c-format msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s" msgstr "ΠΠΠΠ€ΠΠΠΠ’ (ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅/ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅): ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Β«%sΒ»βΒ«%sΒ» Π² Π²Π΅ΡΠΊΠ΅ Β«%sΒ» ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Β«%sΒ»βΒ«%sΒ» Π² Π²Π΅ΡΠΊΠ΅ Β«%sΒ»" -#: merge-recursive.c:1258 +#: merge-recursive.c:1261 #, c-format msgid "Renaming %s to %s and %s to %s instead" msgstr "ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°Ρ %s Π² %s ΠΈ %s Π² %s Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ" -#: merge-recursive.c:1457 +#: merge-recursive.c:1460 #, c-format msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s" msgstr "ΠΠΠΠ€ΠΠΠΠ’ (ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅/Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅): ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Β«%sΒ»βΒ«%sΒ» Π² Π²Π΅ΡΠΊΠ΅ Β«%sΒ» ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Β«%sΒ» Π² Π²Π΅ΡΠΊΠ΅ Β«%sΒ»" -#: merge-recursive.c:1467 +#: merge-recursive.c:1470 #, c-format msgid "Adding merged %s" msgstr "ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»ΠΈΡΠΎΠ³ΠΎ %s" -#: merge-recursive.c:1472 merge-recursive.c:1674 +#: merge-recursive.c:1475 merge-recursive.c:1677 #, c-format msgid "Adding as %s instead" msgstr "ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ %s" -#: merge-recursive.c:1523 +#: merge-recursive.c:1526 #, c-format msgid "cannot read object %s" msgstr "Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Β«%sΒ»" -#: merge-recursive.c:1526 +#: merge-recursive.c:1529 #, c-format msgid "object %s is not a blob" msgstr "ΠΎΠ±ΡΠ΅ΠΊΡ %s Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π²ΠΎΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ" -#: merge-recursive.c:1578 +#: merge-recursive.c:1581 msgid "modify" msgstr "ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅" -#: merge-recursive.c:1578 +#: merge-recursive.c:1581 msgid "modified" msgstr "ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ" -#: merge-recursive.c:1588 +#: merge-recursive.c:1591 msgid "content" msgstr "ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅" -#: merge-recursive.c:1595 +#: merge-recursive.c:1598 msgid "add/add" msgstr "Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅/Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅" -#: merge-recursive.c:1629 +#: merge-recursive.c:1632 #, c-format msgid "Skipped %s (merged same as existing)" msgstr "ΠΡΠΎΠΏΡΡΠΊ %s (ΡΠ»ΠΈΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠ°ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅)" -#: merge-recursive.c:1643 +#: merge-recursive.c:1646 #, c-format msgid "Auto-merging %s" msgstr "ΠΠ²ΡΠΎΡΠ»ΠΈΡΠ½ΠΈΠ΅ %s" -#: merge-recursive.c:1647 git-submodule.sh:1025 +#: merge-recursive.c:1650 git-submodule.sh:1048 msgid "submodule" msgstr "ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Ρ" -#: merge-recursive.c:1648 +#: merge-recursive.c:1651 #, c-format msgid "CONFLICT (%s): Merge conflict in %s" msgstr "ΠΠΠΠ€ΠΠΠΠ’ (%s): ΠΠΎΠ½ΡΠ»ΠΈΠΊΡ ΡΠ»ΠΈΡΠ½ΠΈΡ Π² %s" -#: merge-recursive.c:1734 +#: merge-recursive.c:1737 #, c-format msgid "Removing %s" msgstr "Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ %s" -#: merge-recursive.c:1759 +#: merge-recursive.c:1762 msgid "file/directory" msgstr "ΡΠ°ΠΉΠ»/ΠΊΠ°ΡΠ°Π»ΠΎΠ³" -#: merge-recursive.c:1765 +#: merge-recursive.c:1768 msgid "directory/file" msgstr "ΠΊΠ°ΡΠ°Π»ΠΎΠ³/ΡΠ°ΠΉΠ»" -#: merge-recursive.c:1770 +#: merge-recursive.c:1773 #, c-format msgid "" "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s" msgstr "ΠΠΠΠ€ΠΠΠΠ’ (%s): Π£ΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«%sΒ» Π² Β«%sΒ». ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Β«%sΒ» ΠΊΠ°ΠΊ Β«%sΒ»" -#: merge-recursive.c:1780 +#: merge-recursive.c:1783 #, c-format msgid "Adding %s" msgstr "ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ %s" -#: merge-recursive.c:1797 +#: merge-recursive.c:1800 msgid "Fatal merge failure, shouldn't happen." msgstr "ΠΡΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΡΠ»ΠΈΡΠ½ΠΈΡ, ΡΠ°ΠΊΠΎΠ³ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ»ΡΡΠ°ΡΡΡΡ." -#: merge-recursive.c:1816 +#: merge-recursive.c:1819 msgid "Already up-to-date!" msgstr "Π£ΠΆΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΎ!" -#: merge-recursive.c:1825 +#: merge-recursive.c:1828 #, c-format msgid "merging of trees %s and %s failed" msgstr "ΡΠ±ΠΎΠΉ ΡΠ»ΠΈΡΠ½ΠΈΡ Π΄Π΅ΡΠ΅Π²ΡΠ΅Π² Β«%sΒ» ΠΈ Β«%sΒ»" -#: merge-recursive.c:1855 +#: merge-recursive.c:1858 #, c-format msgid "Unprocessed path??? %s" msgstr "ΠΠ΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ ΠΏΡΡΡ??? %s" -#: merge-recursive.c:1903 +#: merge-recursive.c:1906 msgid "Merging:" msgstr "Π‘Π»ΠΈΡΠ½ΠΈΠ΅:" -#: merge-recursive.c:1916 +#: merge-recursive.c:1919 #, c-format msgid "found %u common ancestor:" msgid_plural "found %u common ancestors:" @@ -901,16 +919,16 @@ msgstr[1] "Π½Π°ΠΉΠ΄Π΅Π½ΠΎ %u ΠΎΠ±ΡΠΈΡ
ΠΏΡΠ΅Π΄ΠΊΠ°:" msgstr[2] "Π½Π°ΠΉΠ΄Π΅Π½ΠΎ %u ΠΎΠ±ΡΠΈΡ
ΠΏΡΠ΅Π΄ΠΊΠΎΠ²:" msgstr[3] "Π½Π°ΠΉΠ΄Π΅Π½ΠΎ %u ΠΎΠ±ΡΠΈΡ
ΠΏΡΠ΅Π΄ΠΊΠΎΠ²:" -#: merge-recursive.c:1953 +#: merge-recursive.c:1956 msgid "merge returned no commit" msgstr "ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π½Π΅ Π²Π΅ΡΠ½ΡΠ»ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ" -#: merge-recursive.c:2010 +#: merge-recursive.c:2013 #, c-format msgid "Could not parse object '%s'" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Β«%sΒ»" -#: merge-recursive.c:2021 builtin/merge.c:645 +#: merge-recursive.c:2024 builtin/merge.c:646 msgid "Unable to write index." msgstr "ΠΠ΅ ΡΠ΄Π°Π΅ΡΡΡ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ." @@ -968,7 +986,7 @@ msgstr "-ΠΠΠΠΠ§ΠΠ‘Π’ΠΠ" #: parse-options-cb.c:108 #, c-format msgid "malformed object name '%s'" -msgstr "ΠΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Β«%sΒ»" +msgstr "ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Β«%sΒ»" #: path.c:752 #, c-format @@ -1024,12 +1042,12 @@ msgstr "Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΡΡΠΈ Β«%sΒ» Π² ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Π΅ Β«%.*sΒ»" msgid "%s: pathspec magic not supported by this command: %s" msgstr "%s: ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ»ΠΎΠ²Π° Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΡΡΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ: %s" -#: pathspec.c:432 +#: pathspec.c:433 #, c-format msgid "pathspec '%s' is beyond a symbolic link" msgstr "ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΡΡΠΈ Β«%sΒ» Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π·Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΡΠ»ΠΊΠΎΠΉ" -#: pathspec.c:441 +#: pathspec.c:442 msgid "" "There is nothing to exclude from by :(exclude) patterns.\n" "Perhaps you forgot to add either ':/' or '.' ?" @@ -1057,152 +1075,237 @@ msgid "" "Using version %i" msgstr "GIT_INDEX_VERSION ΡΠΊΠ°Π·Π°Π½, Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅.\nΠΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²Π΅ΡΡΠΈΡ %i" -#: refs.c:543 builtin/merge.c:760 builtin/merge.c:871 builtin/merge.c:973 -#: builtin/merge.c:983 +#: refs.c:543 builtin/merge.c:761 builtin/merge.c:872 builtin/merge.c:974 +#: builtin/merge.c:984 #, c-format msgid "Could not open '%s' for writing" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΠΊΡΡΡΡ Β«%sΒ» Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ" -#: refs/files-backend.c:2359 +#: refs/files-backend.c:2374 #, c-format msgid "could not delete reference %s: %s" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΡΠ»ΠΊΡ %s: %s" -#: refs/files-backend.c:2362 +#: refs/files-backend.c:2377 #, c-format msgid "could not delete references: %s" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΡΠ»ΠΊΠΈ: %s" -#: refs/files-backend.c:2371 +#: refs/files-backend.c:2386 #, c-format msgid "could not remove reference %s" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΡΠ»ΠΊΠΈ %s" -#: ref-filter.c:245 +#: ref-filter.c:55 #, c-format -msgid "format: %%(end) atom used without corresponding atom" -msgstr "ΡΠΎΡΠΌΠ°Ρ: ΡΠ°ΡΡΠΈΡΠ° %%(end) ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π±Π΅Π· ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈΡΡ" +msgid "expected format: %%(color:<color>)" +msgstr "ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΉ ΡΠΎΡΠΌΠ°Ρ: %%(color:<color>)" -#: ref-filter.c:704 +#: ref-filter.c:57 +#, c-format +msgid "unrecognized color: %%(color:%s)" +msgstr "Π½Π΅ΠΎΠΏΠΎΠ·Π½Π°Π½Π½ΡΠΉ ΡΠ²Π΅Ρ: %%(color:%s)" + +#: ref-filter.c:71 +#, c-format +msgid "unrecognized format: %%(%s)" +msgstr "Π½Π΅ΠΎΠΏΠΎΠ·Π½Π°Π½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ: %%(%s)" + +#: ref-filter.c:77 +#, c-format +msgid "%%(body) does not take arguments" +msgstr "%%(body) Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²" + +#: ref-filter.c:84 +#, c-format +msgid "%%(subject) does not take arguments" +msgstr "%%(subject) Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²" + +#: ref-filter.c:101 #, c-format msgid "positive value expected contents:lines=%s" msgstr "ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅:lines=%s" -#: ref-filter.c:833 +#: ref-filter.c:103 #, c-format -msgid "expected format: %%(color:<color>)" -msgstr "ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΉ ΡΠΎΡΠΌΠ°Ρ: %%(color:<color>)" +msgid "unrecognized %%(contents) argument: %s" +msgstr "Π½Π΅ΠΎΠΏΠΎΠ·Π½Π°Π½Π½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ %%(contents): %s" -#: ref-filter.c:835 -msgid "unable to parse format" -msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ ΡΠΎΡΠΌΠ°Ρ" +#: ref-filter.c:113 +#, c-format +msgid "unrecognized %%(objectname) argument: %s" +msgstr "Π½Π΅ΠΎΠΏΠΎΠ·Π½Π°Π½Π½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ %%(objectname): %s" -#: ref-filter.c:870 +#: ref-filter.c:135 #, c-format msgid "expected format: %%(align:<width>,<position>)" msgstr "ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΉ ΡΠΎΡΠΌΠ°Ρ: %%(align:<width>,<position>)" -#: ref-filter.c:893 +#: ref-filter.c:147 +#, c-format +msgid "unrecognized position:%s" +msgstr "Π½Π΅ΠΎΠΏΠΎΠ·Π½Π°Π½Π½Π°Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ:%s" + +#: ref-filter.c:151 +#, c-format +msgid "unrecognized width:%s" +msgstr "Π½Π΅ΠΎΠΏΠΎΠ·Π½Π°Π½Π½Π°Ρ ΡΠΈΡΠΈΠ½Π°:%s" + +#: ref-filter.c:157 #, c-format -msgid "improper format entered align:%s" -msgstr "ΡΠΊΠ°Π·Π°Π½ Π½Π΅Π²Π΅ΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ align:%s" +msgid "unrecognized %%(align) argument: %s" +msgstr "Π½Π΅ΠΎΠΏΠΎΠ·Π½Π°Π½Π½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ %%(align): %s" -#: ref-filter.c:898 +#: ref-filter.c:161 #, c-format msgid "positive width expected with the %%(align) atom" msgstr "ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΈΡΠΈΠ½Π° Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΡΠ°ΡΡΠΈΡΡ %%(align)" -#: ref-filter.c:1219 +#: ref-filter.c:244 +#, c-format +msgid "malformed field name: %.*s" +msgstr "Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ ΠΏΠΎΠ»Ρ: %.*s" + +#: ref-filter.c:270 +#, c-format +msgid "unknown field name: %.*s" +msgstr "Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ΅ ΠΈΠΌΡ ΠΏΠΎΠ»Ρ: %.*s" + +#: ref-filter.c:372 +#, c-format +msgid "format: %%(end) atom used without corresponding atom" +msgstr "ΡΠΎΡΠΌΠ°Ρ: ΡΠ°ΡΡΠΈΡΠ° %%(end) ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π±Π΅Π· ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈΡΡ" + +#: ref-filter.c:424 +#, c-format +msgid "malformed format string %s" +msgstr "Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ ΡΡΡΠΎΠΊΠ° ΡΠΎΡΠΌΠ°ΡΠ° %s" + +#: ref-filter.c:878 +msgid ":strip= requires a positive integer argument" +msgstr ":strip= ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π°Π»ΠΈΡΠΈΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°" + +#: ref-filter.c:883 +#, c-format +msgid "ref '%s' does not have %ld components to :strip" +msgstr "ΡΡΡΠ»ΠΊΠ° Β«%sΒ» Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ %ld ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΄Π»Ρ :strip" + +#: ref-filter.c:1046 +#, c-format +msgid "unknown %.*s format %s" +msgstr "Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ %.*s ΡΠΎΡΠΌΠ°Ρ %s" + +#: ref-filter.c:1066 ref-filter.c:1097 +#, c-format +msgid "missing object %s for %s" +msgstr "Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ ΠΎΠ±ΡΠ΅ΠΊΡ %s Π΄Π»Ρ %s" + +#: ref-filter.c:1069 ref-filter.c:1100 +#, c-format +msgid "parse_object_buffer failed on %s for %s" +msgstr "ΡΠ±ΠΎΠΉ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ parse_object_buffer Π½Π° %s Π΄Π»Ρ %s" + +#: ref-filter.c:1311 #, c-format msgid "malformed object at '%s'" -msgstr "ΠΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Β«%sΒ»" +msgstr "ΠΠΎΠ²ΡΠ΅ΠΆΠ΄ΡΠ½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Β«%sΒ»" + +#: ref-filter.c:1373 +#, c-format +msgid "ignoring ref with broken name %s" +msgstr "ΠΈΠ³Π½ΠΎΡΠΈΡΡΡ ΡΡΡΠ»ΠΊΡ Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ %s" -#: ref-filter.c:1561 +#: ref-filter.c:1378 +#, c-format +msgid "ignoring broken ref %s" +msgstr "ΠΈΠ³Π½ΠΎΡΠΈΡΡΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΠ»ΠΊΡ %s" + +#: ref-filter.c:1651 #, c-format msgid "format: %%(end) atom missing" msgstr "format: ΠΏΡΠΎΠΏΡΡΠ΅Π½Π° ΡΠ°ΡΡΠΈΡΠ° %%(end)" -#: ref-filter.c:1615 +#: ref-filter.c:1705 #, c-format msgid "malformed object name %s" -msgstr "ΠΏΠ»ΠΎΡ
ΠΎΠ΅ ΠΈΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° %s" +msgstr "Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° %s" -#: remote.c:756 +#: remote.c:745 #, c-format msgid "Cannot fetch both %s and %s to %s" msgstr "ΠΠ΅Π»ΡΠ·Ρ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ %s ΠΈ %s Π² %s" -#: remote.c:760 +#: remote.c:749 #, c-format msgid "%s usually tracks %s, not %s" msgstr "%s ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ %s, Π° Π½Π΅ %s" -#: remote.c:764 +#: remote.c:753 #, c-format msgid "%s tracks both %s and %s" msgstr "%s ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ ΠΈ %s ΠΈ %s" -#: remote.c:772 +#: remote.c:761 msgid "Internal error" msgstr "ΠΠ½ΡΡΡΠ΅Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΊΠ°" -#: remote.c:1687 remote.c:1730 +#: remote.c:1677 remote.c:1720 msgid "HEAD does not point to a branch" msgstr "HEAD Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π²Π΅ΡΠΊΡ" -#: remote.c:1696 +#: remote.c:1686 #, c-format msgid "no such branch: '%s'" msgstr "Π½Π΅Ρ ΡΠ°ΠΊΠΎΠΉ Π²Π΅ΡΠΊΠΈ: Β«%sΒ»" -#: remote.c:1699 +#: remote.c:1689 #, c-format msgid "no upstream configured for branch '%s'" msgstr "Π²ΡΡΠ΅ΡΡΠΎΡΡΠ°Ρ Π²Π΅ΡΠΊΠ° Π½Π΅ Π½Π°ΡΡΡΠΎΠ΅Π½Π° Π΄Π»Ρ Π²Π΅ΡΠΊΠΈ Β«%sΒ»" -#: remote.c:1705 +#: remote.c:1695 #, c-format msgid "upstream branch '%s' not stored as a remote-tracking branch" msgstr "Π²ΡΡΠ΅ΡΡΠΎΡΡΠ°Ρ Π²Π΅ΡΠΊΠ° Β«%sΒ» Π½Π΅ ΡΠΎΡ
ΡΠ°Π½Π΅Π½Π° ΠΊΠ°ΠΊ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΠ°Ρ Π²Π΅ΡΠΊΠ°" -#: remote.c:1720 +#: remote.c:1710 #, c-format msgid "push destination '%s' on remote '%s' has no local tracking branch" msgstr "Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Β«%sΒ» Π½Π° Π²Π½Π΅ΡΠ½Π΅ΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ Β«%sΒ» Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π²Π΅ΡΠΊΠΈ" -#: remote.c:1735 +#: remote.c:1725 #, c-format msgid "branch '%s' has no remote for pushing" msgstr "Π²Π΅ΡΠΊΠ° Β«%sΒ» Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ" -#: remote.c:1746 +#: remote.c:1736 #, c-format msgid "push refspecs for '%s' do not include '%s'" msgstr "ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΡΡΠΈ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Β«%sΒ» Π½Π΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ Β«%sΒ»" -#: remote.c:1759 +#: remote.c:1749 msgid "push has no destination (push.default is 'nothing')" msgstr "ΠΎΡΠΏΡΠ°Π²ΠΊΠ° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΡΠΊΠΈ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ (push.default Π²ΡΡΡΠ°Π²Π»Π΅Π½ Π² Β«nothingΒ»)" -#: remote.c:1781 +#: remote.c:1771 msgid "cannot resolve 'simple' push to a single destination" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Β«simpleΒ» ΠΎΡΠΏΡΠ°Π²ΠΊΡ Π² Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠΎΡΠΊΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ" -#: remote.c:2083 +#: remote.c:2073 #, c-format msgid "Your branch is based on '%s', but the upstream is gone.\n" msgstr "ΠΠ°ΡΠ° Π²Π΅ΡΠΊΠ° Π±Π°Π·ΠΈΡΡΠ΅ΡΡΡ Π½Π° Β«%sΒ», Π½ΠΎ Π²ΡΡΠ΅ΡΡΠΎΡΡΠΈΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈΡΡΠ΅Π·.\n" -#: remote.c:2087 +#: remote.c:2077 msgid " (use \"git branch --unset-upstream\" to fixup)\n" msgstr "(Π΄Π»Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Β«git branch --unset-upstreamΒ»)\n" -#: remote.c:2090 +#: remote.c:2080 #, c-format msgid "Your branch is up-to-date with '%s'.\n" msgstr "ΠΠ°ΡΠ° Π²Π΅ΡΠΊΠ° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π° Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Β«%sΒ».\n" -#: remote.c:2094 +#: remote.c:2084 #, c-format msgid "Your branch is ahead of '%s' by %d commit.\n" msgid_plural "Your branch is ahead of '%s' by %d commits.\n" @@ -1211,11 +1314,11 @@ msgstr[1] "ΠΠ°ΡΠ° Π²Π΅ΡΠΊΠ° ΠΎΠΏΠ΅ΡΠ΅ΠΆΠ°Π΅Ρ Β«%sΒ» Π½Π° %d ΠΊΠΎΠΌΠΌΠΈΡΠ°. msgstr[2] "ΠΠ°ΡΠ° Π²Π΅ΡΠΊΠ° ΠΎΠΏΠ΅ΡΠ΅ΠΆΠ°Π΅Ρ Β«%sΒ» Π½Π° %d ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².\n" msgstr[3] "ΠΠ°ΡΠ° Π²Π΅ΡΠΊΠ° ΠΎΠΏΠ΅ΡΠ΅ΠΆΠ°Π΅Ρ Β«%sΒ» Π½Π° %d ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².\n" -#: remote.c:2100 +#: remote.c:2090 msgid " (use \"git push\" to publish your local commits)\n" msgstr " (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Β«git pushΒ», ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ Π²Π°ΡΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ)\n" -#: remote.c:2103 +#: remote.c:2093 #, c-format msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n" msgid_plural "" @@ -1225,11 +1328,11 @@ msgstr[1] "ΠΠ°ΡΠ° Π²Π΅ΡΠΊΠ° ΠΎΡΡΡΠ°Π΅Ρ ΠΎΡ Β«%sΒ» Π½Π° %d ΠΊΠΎΠΌΠΌΠΈΡΠ° msgstr[2] "ΠΠ°ΡΠ° Π²Π΅ΡΠΊΠ° ΠΎΡΡΡΠ°Π΅Ρ ΠΎΡ Β«%sΒ» Π½Π° %d ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠ°Π½Π° Π²ΠΏΠ΅ΡΠ΅Π΄.\n" msgstr[3] "ΠΠ°ΡΠ° Π²Π΅ΡΠΊΠ° ΠΎΡΡΡΠ°Π΅Ρ ΠΎΡ Β«%sΒ» Π½Π° %d ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠ°Π½Π° Π²ΠΏΠ΅ΡΠ΅Π΄.\n" -#: remote.c:2111 +#: remote.c:2101 msgid " (use \"git pull\" to update your local branch)\n" msgstr " (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Β«git pullΒ», ΡΡΠΎΠ±Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ)\n" -#: remote.c:2114 +#: remote.c:2104 #, c-format msgid "" "Your branch and '%s' have diverged,\n" @@ -1237,33 +1340,33 @@ msgid "" msgid_plural "" "Your branch and '%s' have diverged,\n" "and have %d and %d different commits each, respectively.\n" -msgstr[0] "ΠΠ°ΡΠ° Π²Π΅ΡΠΊΠ° ΠΈ Β«%sΒ» ΡΠ°Π·ΠΎΡΠ»ΠΈΡΡ\nΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΠΌΠ΅ΡΡ %d ΠΈ %d ΡΠ°Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.\n" -msgstr[1] "ΠΠ°ΡΠ° Π²Π΅ΡΠΊΠ° ΠΈ Β«%sΒ» ΡΠ°Π·ΠΎΡΠ»ΠΈΡΡ\nΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΠΌΠ΅ΡΡ %d ΠΈ %d ΡΠ°Π·Π½ΡΡ
ΠΊΠΎΠΌΠΌΠΈΡΠ° Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.\n" -msgstr[2] "ΠΠ°ΡΠ° Π²Π΅ΡΠΊΠ° ΠΈ Β«%sΒ» ΡΠ°Π·ΠΎΡΠ»ΠΈΡΡ\nΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΠΌΠ΅ΡΡ %d ΠΈ %d ΡΠ°Π·Π½ΡΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.\n" -msgstr[3] "ΠΠ°ΡΠ° Π²Π΅ΡΠΊΠ° ΠΈ Β«%sΒ» ΡΠ°Π·ΠΎΡΠ»ΠΈΡΡ\nΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΠΌΠ΅ΡΡ %d ΠΈ %d ΡΠ°Π·Π½ΡΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.\n" +msgstr[0] "ΠΠ°ΡΠ° Π²Π΅ΡΠΊΠ° ΠΈ Β«%sΒ» ΡΠ°Π·Π΄Π΅Π»ΠΈΠ»ΠΈΡΡ\nΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΠΌΠ΅ΡΡ %d ΠΈ %d ΡΠ°Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.\n" +msgstr[1] "ΠΠ°ΡΠ° Π²Π΅ΡΠΊΠ° ΠΈ Β«%sΒ» ΡΠ°Π·Π΄Π΅Π»ΠΈΠ»ΠΈΡΡ\nΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΠΌΠ΅ΡΡ %d ΠΈ %d ΡΠ°Π·Π½ΡΡ
ΠΊΠΎΠΌΠΌΠΈΡΠ° Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.\n" +msgstr[2] "ΠΠ°ΡΠ° Π²Π΅ΡΠΊΠ° ΠΈ Β«%sΒ» ΡΠ°Π·Π΄Π΅Π»ΠΈΠ»ΠΈΡΡ\nΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΠΌΠ΅ΡΡ %d ΠΈ %d ΡΠ°Π·Π½ΡΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.\n" +msgstr[3] "ΠΠ°ΡΠ° Π²Π΅ΡΠΊΠ° ΠΈ Β«%sΒ» ΡΠ°Π·Π΄Π΅Π»ΠΈΠ»ΠΈΡΡ\nΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΠΌΠ΅ΡΡ %d ΠΈ %d ΡΠ°Π·Π½ΡΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.\n" -#: remote.c:2124 +#: remote.c:2114 msgid " (use \"git pull\" to merge the remote branch into yours)\n" msgstr " (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Β«git pullΒ», ΡΡΠΎΠ±Ρ ΡΠ»ΠΈΡΡ Π²Π½Π΅ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ Π² Π²Π°ΡΡ)\n" -#: revision.c:2193 +#: revision.c:2131 msgid "your current branch appears to be broken" msgstr "ΠΏΠΎΡ
ΠΎΠΆΠ΅, Π²Π°ΡΠ° ΡΠ΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΠΊΠ° ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½Π°" -#: revision.c:2196 +#: revision.c:2134 #, c-format msgid "your current branch '%s' does not have any commits yet" msgstr "Π²Π°ΡΠ° ΡΠ΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΠΊΠ° Β«%sΒ» Π΅ΡΠ΅ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°" -#: revision.c:2390 +#: revision.c:2328 msgid "--first-parent is incompatible with --bisect" msgstr "ΠΎΠΏΡΠΈΡ --first-parent Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ --bisect" -#: run-command.c:90 +#: run-command.c:92 msgid "open /dev/null failed" msgstr "ΡΠ±ΠΎΠΉ ΠΎΡΠΊΡΡΡΠΈΡ /dev/null" -#: run-command.c:92 +#: run-command.c:94 #, c-format msgid "dup2(%d,%d) failed" msgstr "dup2(%d,%d) ΡΠ±ΠΎΠΉ" @@ -1286,242 +1389,256 @@ msgstr "Π½Π΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ, msgid "the receiving end does not support --atomic push" msgstr "ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ°Ρ ΡΡΠΎΡΠΎΠ½Π° Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΡ Ρ ΠΎΠΏΡΠΈΠ΅ΠΉ --atomic" -#: sequencer.c:183 +#: sequencer.c:174 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'" msgstr "ΠΏΠΎΡΠ»Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ², ΠΏΠΎΠΌΠ΅ΡΡΡΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΡΠΈ\nΡ ΠΏΠΎΠΌΠΎΡΡΡ Β«git add <ΠΏΡΡΠΈ>Β» ΠΈΠ»ΠΈ Β«git rm <ΠΏΡΡΠΈ>Β»" -#: sequencer.c:186 +#: sequencer.c:177 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'\n" "and commit the result with 'git commit'" msgstr "ΠΏΠΎΡΠ»Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ², ΠΏΠΎΠΌΠ΅ΡΡΡΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΡΠΈ\nΡ ΠΏΠΎΠΌΠΎΡΡΡ Β«git add <ΠΏΡΡΠΈ>Β» ΠΈΠ»ΠΈ Β«git rm <ΠΏΡΡΠΈ>Β»\nΠΈ ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Β«git commitΒ»" -#: sequencer.c:199 sequencer.c:842 sequencer.c:922 +#: sequencer.c:190 sequencer.c:833 sequencer.c:913 #, c-format msgid "Could not write to %s" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² %s" -#: sequencer.c:202 +#: sequencer.c:193 #, c-format msgid "Error wrapping up %s" msgstr "ΠΡΠΈΠ±ΠΊΠ° ΠΎΠ±ΠΎΡΠ°ΡΠΈΠ²Π°Π½ΠΈΡ %s" -#: sequencer.c:217 +#: sequencer.c:208 msgid "Your local changes would be overwritten by cherry-pick." msgstr "ΠΠ°ΡΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°Π½Ρ ΠΎΡΠ±ΠΎΡΠΎΠΌ Π»ΡΡΡΠ΅Π³ΠΎ." -#: sequencer.c:219 +#: sequencer.c:210 msgid "Your local changes would be overwritten by revert." msgstr "ΠΠ°ΡΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°Π½Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ°." -#: sequencer.c:222 +#: sequencer.c:213 msgid "Commit your changes or stash them to proceed." msgstr "Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈΠ»ΠΈ ΡΠΏΡΡΡΡΡΠ΅ Π²Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ." #. TRANSLATORS: %s will be "revert" or "cherry-pick" -#: sequencer.c:309 +#: sequencer.c:300 #, c-format msgid "%s: Unable to write new index file" msgstr "%s: ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠ» ΠΈΠ½Π΄Π΅ΠΊΡΠ°" -#: sequencer.c:327 +#: sequencer.c:318 msgid "Could not resolve HEAD commit\n" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ HEAD ΠΊΠΎΠΌΠΌΠΈΡ\n" -#: sequencer.c:347 +#: sequencer.c:338 msgid "Unable to update cache tree\n" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π΄Π΅ΡΠ΅Π²ΠΎ ΠΊΡΡΠ°\n" -#: sequencer.c:399 +#: sequencer.c:390 #, c-format msgid "Could not parse commit %s\n" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ %s\n" -#: sequencer.c:404 +#: sequencer.c:395 #, c-format msgid "Could not parse parent commit %s\n" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΡΡ ΠΊΠΎΠΌΠΌΠΈΡ %s\n" -#: sequencer.c:469 +#: sequencer.c:460 msgid "Your index file is unmerged." msgstr "ΠΠ°Ρ ΡΠ°ΠΉΠ» ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π½Π΅ ΡΠ»ΠΈΡ." -#: sequencer.c:488 +#: sequencer.c:479 #, c-format msgid "Commit %s is a merge but no -m option was given." msgstr "ΠΠΎΠΌΠΌΠΈΡ %s β ΡΡΠΎ ΠΊΠΎΠΌΠΌΠΈΡ-ΡΠ»ΠΈΡΠ½ΠΈΠ΅, Π½ΠΎ ΠΎΠΏΡΠΈΡ -m Π½Π΅ ΡΠΊΠ°Π·Π°Π½Π°." -#: sequencer.c:496 +#: sequencer.c:487 #, c-format msgid "Commit %s does not have parent %d" msgstr "Π£ ΠΊΠΎΠΌΠΌΠΈΡΠ° %s Π½Π΅Ρ ΠΏΡΠ΅Π΄ΠΊΠ° %d" -#: sequencer.c:500 +#: sequencer.c:491 #, c-format msgid "Mainline was specified but commit %s is not a merge." msgstr "ΠΡΠ½ΠΎΠ²Π½Π°Ρ Π²Π΅ΡΠΊΠ° ΡΠΊΠ°Π·Π°Π½Π°, Π½ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ %s Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ." #. TRANSLATORS: The first %s will be "revert" or #. "cherry-pick", the second %s a SHA1 -#: sequencer.c:513 +#: sequencer.c:504 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "%s: Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π΄Π»Ρ %s" -#: sequencer.c:517 +#: sequencer.c:508 #, c-format msgid "Cannot get commit message for %s" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π΄Π»Ρ %s" -#: sequencer.c:603 +#: sequencer.c:594 #, c-format msgid "could not revert %s... %s" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡ %sβ¦ %s" -#: sequencer.c:604 +#: sequencer.c:595 #, c-format msgid "could not apply %s... %s" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡ %sβ¦ %s" -#: sequencer.c:639 +#: sequencer.c:630 msgid "empty commit set passed" msgstr "ΠΏΠ΅ΡΠ΅Π΄Π°Π½ ΠΏΡΡΡΠΎΠΉ Π½Π°Π±ΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²" -#: sequencer.c:647 +#: sequencer.c:638 #, c-format msgid "git %s: failed to read the index" msgstr "git %s: ΡΠ±ΠΎΠΉ ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°" -#: sequencer.c:651 +#: sequencer.c:642 #, c-format msgid "git %s: failed to refresh the index" msgstr "git %s: ΡΠ±ΠΎΠΉ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°" -#: sequencer.c:711 +#: sequencer.c:702 #, c-format msgid "Cannot %s during a %s" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ %s Π²ΠΎ Π²ΡΠ΅ΠΌΡ %s" -#: sequencer.c:733 +#: sequencer.c:724 #, c-format msgid "Could not parse line %d." msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ ΡΡΡΠΎΠΊΡ %d." -#: sequencer.c:738 +#: sequencer.c:729 msgid "No commits parsed." msgstr "ΠΠΎΠΌΠΌΠΈΡΡ Π½Π΅ ΡΠ°Π·ΠΎΠ±ΡΠ°Π½Ρ." -#: sequencer.c:750 +#: sequencer.c:741 #, c-format msgid "Could not open %s" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΠΊΡΡΡΡ %s" -#: sequencer.c:754 +#: sequencer.c:745 #, c-format msgid "Could not read %s." msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ %s." -#: sequencer.c:761 +#: sequencer.c:752 #, c-format msgid "Unusable instruction sheet: %s" msgstr "ΠΠ΅ΠΏΡΠΈΠ³ΠΎΠ΄Π½Π°Ρ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΡΡΠ° Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ: %s" -#: sequencer.c:791 +#: sequencer.c:782 #, c-format msgid "Invalid key: %s" msgstr "ΠΠ΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ: %s" -#: sequencer.c:794 builtin/pull.c:47 builtin/pull.c:49 +#: sequencer.c:785 builtin/pull.c:50 builtin/pull.c:52 #, c-format msgid "Invalid value for %s: %s" msgstr "ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ %s: %s" -#: sequencer.c:804 +#: sequencer.c:795 #, c-format msgid "Malformed options sheet: %s" -msgstr "ΠΡΠΏΠΎΡΡΠ΅Π½Π½Π°Ρ ΠΊΠ°ΡΡΠ° Ρ ΠΎΠΏΡΠΈΡΠΌΠΈ: %s" +msgstr "ΠΠΎΠ²ΡΠ΅ΠΆΠ΄ΡΠ½Π½Π°Ρ ΠΊΠ°ΡΡΠ° Ρ ΠΎΠΏΡΠΈΡΠΌΠΈ: %s" -#: sequencer.c:823 +#: sequencer.c:814 msgid "a cherry-pick or revert is already in progress" msgstr "ΠΎΡΠ±ΠΎΡ Π»ΡΡΡΠ΅Π³ΠΎ ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΡΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ" -#: sequencer.c:824 +#: sequencer.c:815 msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" msgstr "ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Β«git cherry-pick (--continue | --quit | --abort)Β»" -#: sequencer.c:828 +#: sequencer.c:819 #, c-format msgid "Could not create sequencer directory %s" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π΄Π»Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² %s" -#: sequencer.c:844 sequencer.c:926 +#: sequencer.c:835 sequencer.c:917 #, c-format msgid "Error wrapping up %s." msgstr "ΠΡΠΈΠ±ΠΊΠ° ΠΎΠ±ΠΎΡΠ°ΡΠΈΠ²Π°Π½ΠΈΡ %s." -#: sequencer.c:863 sequencer.c:996 +#: sequencer.c:854 sequencer.c:987 msgid "no cherry-pick or revert in progress" msgstr "ΠΎΡΠ±ΠΎΡ Π»ΡΡΡΠ΅Π³ΠΎ ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ" -#: sequencer.c:865 +#: sequencer.c:856 msgid "cannot resolve HEAD" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ HEAD" -#: sequencer.c:867 +#: sequencer.c:858 msgid "cannot abort from a branch yet to be born" msgstr "Π½Π΅Π»ΡΠ·Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Ρ Π²Π΅ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π΅ΡΠ΅ Π½Π΅ ΡΠΎΠ·Π΄Π°Π½Π°" -#: sequencer.c:887 builtin/apply.c:4287 +#: sequencer.c:878 builtin/apply.c:4287 #, c-format msgid "cannot open %s: %s" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΠΊΡΡΡΡ %s: %s" -#: sequencer.c:890 +#: sequencer.c:881 #, c-format msgid "cannot read %s: %s" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ %s: %s" -#: sequencer.c:891 +#: sequencer.c:882 msgid "unexpected end of file" msgstr "Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΉΠ»Π°" -#: sequencer.c:897 +#: sequencer.c:888 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "ΡΠΎΡ
ΡΠ°Π½Π΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» Ρ HEAD ΠΏΠ΅ΡΠ΅Π΄ ΠΎΡΠ±ΠΎΡΠΎΠΌ Π»ΡΡΡΠ΅Π³ΠΎ Β«%sΒ» ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½" -#: sequencer.c:919 +#: sequencer.c:910 #, c-format msgid "Could not format %s." msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ %s." -#: sequencer.c:1064 +#: sequencer.c:1055 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "%s: Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΠΎΠ±ΡΠ°ΡΡ %s" -#: sequencer.c:1067 +#: sequencer.c:1058 #, c-format msgid "%s: bad revision" msgstr "%s: ΠΏΠ»ΠΎΡ
Π°Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡ" -#: sequencer.c:1101 +#: sequencer.c:1092 msgid "Can't revert as initial commit" msgstr "ΠΠ΅Π»ΡΠ·Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡΡ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ" -#: sequencer.c:1102 +#: sequencer.c:1093 msgid "Can't cherry-pick into empty head" -msgstr "ΠΠ΅Π»ΡΠ·Ρ ΠΎΡΠΎΠ±ΡΠ°ΡΡ Π»ΡΡΡΠ΅Π΅ Π² ΠΏΡΡΡΠΎΠΉ HEAD" +msgstr "ΠΠ΅Π»ΡΠ·Ρ ΠΎΡΠΎΠ±ΡΠ°ΡΡ Π»ΡΡΡΠ΅Π΅ Π² ΠΏΡΡΡΡΡ Π²Π΅ΡΠΊΡ" -#: setup.c:248 +#: setup.c:246 #, c-format msgid "failed to read %s" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ %s" -#: sha1_name.c:463 +#: sha1_file.c:1080 +msgid "offset before end of packfile (broken .idx?)" +msgstr "ΡΠ΄Π²ΠΈΠ³ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΡΠ°ΠΉΠ»Π° ΠΏΠ°ΠΊΠ΅ΡΠ° (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄ΡΠ½ ΡΠ°ΠΉΠ» .idx?)" + +#: sha1_file.c:2459 +#, c-format +msgid "offset before start of pack index for %s (corrupt index?)" +msgstr "ΡΠ΄Π²ΠΈΠ³ Π΄ΠΎ Π½Π°ΡΠ°Π»Π° ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠ° Π΄Π»Ρ %s (ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄ΡΠ½ ΠΈΠ½Π΄Π΅ΠΊΡ?)" + +#: sha1_file.c:2463 +#, c-format +msgid "offset beyond end of pack index for %s (truncated index?)" +msgstr "ΡΠ΄Π²ΠΈΠ³ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠ° Π΄Π»Ρ %s (ΠΎΠ±ΡΠ΅Π·Π°Π½ ΠΈΠ½Π΄Π΅ΠΊΡ?)" + +#: sha1_name.c:462 msgid "" "Git normally never creates a ref that ends with 40 hex characters\n" "because it will be ignored when you just specify 40-hex. These refs\n" @@ -1534,60 +1651,84 @@ msgid "" "running \"git config advice.objectNameWarning false\"" msgstr "ΠΠ±ΡΡΠ½ΠΎ Git Π½Π΅ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΡΡΠ»ΠΊΠΈ, ΠΎΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΠΈΠ΅ΡΡ Π½Π° 40 ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΡΡ
\nΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΡΠΎΡΡΠΎ\nΡΠΊΠ°ΠΆΠ΅ΡΠ΅ ΡΡΠΎ 40-ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ. Π’Π°ΠΊΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ\nΠΌΠΎΠ³Π»ΠΈ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½Ρ ΠΏΠΎ ΠΎΡΠΈΠ±ΠΊΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ:\n\n git checkout -b $br $(git rev-parse β¦)\n\n, Π΅ΡΠ»ΠΈ Β«$brΒ» ΠΎΠΊΠ°Π·Π°Π»ΡΡ ΠΏΡΡΡΡΠΌ, ΡΠΎ ΡΡΡΠ»ΠΊΠ° Ρ 40-ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΌ\nΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½Π°. ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΡΠΈ\nΡΡΡΠ»ΠΊΠΈ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ΄Π°Π»ΠΈΡΠ΅ ΠΈΡ
. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅\nΠ·Π°ΠΏΡΡΡΠΈΠ² Β«git config advice.objectNameWarning falseΒ»" -#: submodule.c:61 submodule.c:95 +#: submodule.c:62 submodule.c:96 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π΅ ΡΠ»ΠΈΡΡΠΉ .gitmodules, ΡΠ½Π°ΡΠ°Π»Π° ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ" -#: submodule.c:65 submodule.c:99 +#: submodule.c:66 submodule.c:100 #, c-format msgid "Could not find section in .gitmodules where path=%s" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π½Π°ΠΉΡΠΈ ΡΠ°Π·Π΄Π΅Π» Π² .gitmodules, Π³Π΄Π΅ ΠΏΡΡΡ ΡΠ°Π²Π΅Π½ %s" -#: submodule.c:73 +#: submodule.c:74 #, c-format msgid "Could not update .gitmodules entry %s" msgstr " ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ .gitmodules Π·Π°ΠΏΠΈΡΡ %s" -#: submodule.c:106 +#: submodule.c:107 #, c-format msgid "Could not remove .gitmodules entry for %s" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ΄Π°Π»ΠΈΡΡ Π·Π°ΠΏΠΈΡΡ Π² .gitmodules Π΄Π»Ρ %s" -#: submodule.c:117 +#: submodule.c:118 msgid "staging updated .gitmodules failed" msgstr "ΡΠ±ΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ .gitmodules" -#: submodule.c:1040 +#: trailer.c:237 #, c-format -msgid "Could not set core.worktree in %s" -msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ core.worktree Π² %s" +msgid "running trailer command '%s' failed" +msgstr "ΡΠ±ΠΎΠΉ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π·Π°Π²Π΅ΡΡΠΈΡΠ΅Π»Ρ Β«%sΒ»" -#: trailer.c:491 trailer.c:495 trailer.c:499 trailer.c:553 trailer.c:557 -#: trailer.c:561 +#: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558 +#: trailer.c:562 #, c-format msgid "unknown value '%s' for key '%s'" msgstr "Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«%sΒ» Π΄Π»Ρ ΠΊΠ»ΡΡΠ° Β«%sΒ»" -#: trailer.c:543 trailer.c:548 builtin/remote.c:296 +#: trailer.c:544 trailer.c:549 builtin/remote.c:289 #, c-format msgid "more than one %s" msgstr "Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ %s" -#: trailer.c:581 +#: trailer.c:582 #, c-format msgid "empty trailer token in trailer '%.*s'" msgstr "ΠΏΡΡΡΠ°Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π»Π΅ΠΊΡΠ΅ΠΌΠ° Π² Π·Π°Π²Π΅ΡΡΠΈΡΠ΅Π»Π΅ Β«%.*sΒ»" -#: trailer.c:701 +#: trailer.c:702 #, c-format msgid "could not read input file '%s'" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π²Ρ
ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°ΠΉΠ» Β«%sΒ»" -#: trailer.c:704 +#: trailer.c:705 msgid "could not read from stdin" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°" -#: transport-helper.c:1025 +#: trailer.c:857 builtin/am.c:42 +#, c-format +msgid "could not stat %s" +msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ stat Π΄Π»Ρ %s" + +#: trailer.c:859 +#, c-format +msgid "file %s is not a regular file" +msgstr "ΡΠ°ΠΉΠ» %s Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ" + +#: trailer.c:861 +#, c-format +msgid "file %s is not writable by user" +msgstr "ΡΠ°ΠΉΠ» %s Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π½Π° Π·Π°ΠΏΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ" + +#: trailer.c:873 +msgid "could not open temporary file" +msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΎΠ·Π΄Π°ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ»" + +#: trailer.c:912 +#, c-format +msgid "could not rename temporary file to %s" +msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» Π² %s" + +#: transport-helper.c:1041 #, c-format msgid "Could not read ref %s" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΡΡΠ»ΠΊΡ %s" @@ -1625,47 +1766,47 @@ msgstr "Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΠΏΠΎΡΡΠ°" msgid "invalid '..' path segment" msgstr "Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ ΠΏΡΡΠΈ Β«..Β»" -#: wrapper.c:219 wrapper.c:362 +#: wrapper.c:222 wrapper.c:381 #, c-format msgid "could not open '%s' for reading and writing" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΠΊΡΡΡΡ Β«%sΒ» Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ" -#: wrapper.c:221 wrapper.c:364 +#: wrapper.c:224 wrapper.c:383 #, c-format msgid "could not open '%s' for writing" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΠΊΡΡΡΡ Β«%sΒ» Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ" -#: wrapper.c:223 wrapper.c:366 builtin/am.c:338 builtin/commit.c:1691 -#: builtin/merge.c:1074 builtin/pull.c:380 +#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/commit.c:1691 +#: builtin/merge.c:1075 builtin/pull.c:387 #, c-format msgid "could not open '%s' for reading" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΠΊΡΡΡΡ Β«%sΒ» Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ" -#: wrapper.c:579 +#: wrapper.c:611 #, c-format msgid "unable to access '%s': %s" msgstr "Β«%sΒ» Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎ: %s" -#: wrapper.c:600 +#: wrapper.c:632 #, c-format msgid "unable to access '%s'" msgstr "Β«%sΒ» Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎ" -#: wrapper.c:608 +#: wrapper.c:640 msgid "unable to get current working directory" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³" -#: wrapper.c:635 +#: wrapper.c:667 #, c-format msgid "could not open %s for writing" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΠΊΡΡΡΡ Β«%sΒ» Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ" -#: wrapper.c:646 builtin/am.c:425 +#: wrapper.c:678 builtin/am.c:410 #, c-format msgid "could not write to %s" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² %s" -#: wrapper.c:652 +#: wrapper.c:684 #, c-format msgid "could not close %s" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π·Π°ΠΊΡΡΡΡ %s" @@ -1866,8 +2007,8 @@ msgstr "ΠΠΎΠΌΠ°Π½Π΄Ρ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ." #, c-format msgid "Last command done (%d command done):" msgid_plural "Last commands done (%d commands done):" -msgstr[0] "ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° (%d ΠΊΠΎΠΌΠ°Π½Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ):" -msgstr[1] "ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° (%d ΠΊΠΎΠΌΠ°Π½Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ):" +msgstr[0] "ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° (%d ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°):" +msgstr[1] "ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° (%d ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ):" msgstr[2] "ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° (%d ΠΊΠΎΠΌΠ°Π½Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ):" msgstr[3] "ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° (%d ΠΊΠΎΠΌΠ°Π½Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ):" @@ -2010,11 +2151,11 @@ msgstr "ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅; Π½Π°Π΄ " #: wt-status.c:1451 msgid "HEAD detached at " -msgstr "HEAD ΠΎΡΠ΄Π΅Π»Π΅Π½ Π½Π° " +msgstr "HEAD ΠΎΡΠ΄Π΅Π»ΡΠ½ Π½Π° " #: wt-status.c:1453 msgid "HEAD detached from " -msgstr "HEAD ΠΎΡΠ΄Π΅Π»Π΅Π½ Π½Π°ΡΠΈΠ½Π°Ρ Ρ " +msgstr "HEAD ΠΎΡΠ΄Π΅Π»ΡΠ½ Π½Π°ΡΠΈΠ½Π°Ρ Ρ " #: wt-status.c:1456 msgid "Not currently on any branch." @@ -2111,7 +2252,11 @@ msgstr "ΠΈΡΡΠ΅Π·" msgid "behind " msgstr "ΠΏΠΎΠ·Π°Π΄ΠΈ" -#: compat/precompose_utf8.c:56 builtin/clone.c:408 +#: wt-status.c:1680 wt-status.c:1683 +msgid "ahead " +msgstr "Π²ΠΏΠ΅ΡΠ΅Π΄ΠΈ " + +#: compat/precompose_utf8.c:57 builtin/clone.c:413 #, c-format msgid "failed to unlink '%s'" msgstr "ΡΠ±ΠΎΠΉ ΠΎΡΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Β«%sΒ»" @@ -2138,7 +2283,7 @@ msgstr "ΡΠ΄Π°Π»ΠΈΡΡ Β«%sΒ»\n" msgid "Unstaged changes after refreshing the index:" msgstr "ΠΠ΅ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°:" -#: builtin/add.c:194 builtin/rev-parse.c:796 +#: builtin/add.c:194 builtin/rev-parse.c:797 msgid "Could not read the index" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ" @@ -2173,15 +2318,15 @@ msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Β«%sΒ»" msgid "The following paths are ignored by one of your .gitignore files:\n" msgstr "Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΡΡΠΈ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²Π°ΡΠΈΡ
ΡΠ°ΠΉΠ»ΠΎΠ² .gitignore:\n" -#: builtin/add.c:249 builtin/clean.c:894 builtin/fetch.c:108 builtin/mv.c:110 -#: builtin/prune-packed.c:55 builtin/pull.c:182 builtin/push.c:543 -#: builtin/remote.c:1345 builtin/rm.c:268 builtin/send-pack.c:162 +#: builtin/add.c:249 builtin/clean.c:870 builtin/fetch.c:112 builtin/mv.c:111 +#: builtin/prune-packed.c:55 builtin/pull.c:189 builtin/push.c:511 +#: builtin/remote.c:1330 builtin/rm.c:268 builtin/send-pack.c:162 msgid "dry run" msgstr "ΠΏΡΠΎΠ±Π½ΡΠΉ Π·Π°ΠΏΡΡΠΊ" -#: builtin/add.c:250 builtin/apply.c:4571 builtin/check-ignore.c:19 +#: builtin/add.c:250 builtin/apply.c:4561 builtin/check-ignore.c:19 #: builtin/commit.c:1322 builtin/count-objects.c:85 builtin/fsck.c:558 -#: builtin/log.c:1645 builtin/mv.c:109 builtin/read-tree.c:114 +#: builtin/log.c:1651 builtin/mv.c:110 builtin/read-tree.c:114 msgid "be verbose" msgstr "Π±ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠ²Π½Π΅Π΅" @@ -2189,7 +2334,7 @@ msgstr "Π±ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠ²Π½Π΅Π΅" msgid "interactive picking" msgstr "ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ Π²ΡΠ±ΠΎΡ" -#: builtin/add.c:253 builtin/checkout.c:1153 builtin/reset.c:286 +#: builtin/add.c:253 builtin/checkout.c:1155 builtin/reset.c:286 msgid "select hunks interactively" msgstr "ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ Π²ΡΠ±ΠΎΡ Π±Π»ΠΎΠΊΠΎΠ²" @@ -2256,402 +2401,397 @@ msgstr "ΠΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ, Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ.\ msgid "Maybe you wanted to say 'git add .'?\n" msgstr "ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ ΠΈΠΌΠ΅Π»ΠΈ Π² Π²ΠΈΠ΄Ρ Β«git add .Β»?\n" -#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:938 -#: builtin/commit.c:337 builtin/mv.c:130 builtin/reset.c:235 builtin/rm.c:298 -#: builtin/submodule--helper.c:40 +#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:914 +#: builtin/commit.c:337 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298 +#: builtin/submodule--helper.c:35 msgid "index file corrupt" msgstr "ΡΠ°ΠΉΠ» ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½" -#: builtin/add.c:439 builtin/apply.c:4669 builtin/mv.c:279 builtin/rm.c:430 +#: builtin/add.c:439 builtin/apply.c:4659 builtin/mv.c:280 builtin/rm.c:430 msgid "Unable to write new index file" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» ΠΈΠ½Π΄Π΅ΠΊΡΠ°" -#: builtin/am.c:42 -#, c-format -msgid "could not stat %s" -msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ stat Π΄Π»Ρ %s" - -#: builtin/am.c:271 builtin/commit.c:738 builtin/merge.c:1077 +#: builtin/am.c:256 builtin/commit.c:738 builtin/merge.c:1078 #, c-format msgid "could not read '%s'" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Β«%sΒ»" -#: builtin/am.c:445 +#: builtin/am.c:430 msgid "could not parse author script" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π°Π²ΡΠΎΡΡΡΠ²Π°" -#: builtin/am.c:522 +#: builtin/am.c:507 #, c-format msgid "'%s' was deleted by the applypatch-msg hook" msgstr "Β«%sΒ» Π±ΡΠ» ΡΠ΄Π°Π»Π΅Π½ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΡΠΈΠΊΠΎΠΌ applypatch-msg" -#: builtin/am.c:563 builtin/notes.c:300 +#: builtin/am.c:548 builtin/notes.c:300 #, c-format msgid "Malformed input line: '%s'." -msgstr "ΠΠ»ΠΎΡ
Π°Ρ ΡΡΡΠΎΠΊΠ° Π²Π²ΠΎΠ΄Π°: Β«%sΒ»." +msgstr "ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ ΡΡΡΠΎΠΊΠ° Π²Π²ΠΎΠ΄Π°: Β«%sΒ»." -#: builtin/am.c:600 builtin/notes.c:315 +#: builtin/am.c:585 builtin/notes.c:315 #, c-format msgid "Failed to copy notes from '%s' to '%s'" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π·Π°ΠΌΠ΅ΡΠΊΡ ΠΈΠ· Β«%sΒ» Π² Β«%sΒ»" -#: builtin/am.c:626 +#: builtin/am.c:611 msgid "fseek failed" msgstr "ΡΠ±ΠΎΠΉ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ fseek" -#: builtin/am.c:787 builtin/am.c:875 +#: builtin/am.c:772 builtin/am.c:860 #, c-format msgid "could not open '%s' for reading: %s" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΠΊΡΡΡΡ Β«%sΒ» Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ: %s" -#: builtin/am.c:794 +#: builtin/am.c:779 #, c-format msgid "could not open '%s' for writing: %s" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΠΊΡΡΡΡ Β«%sΒ» Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ: %s" -#: builtin/am.c:803 +#: builtin/am.c:788 #, c-format msgid "could not parse patch '%s'" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ ΠΏΠ°ΡΡ Β«%sΒ»" -#: builtin/am.c:868 +#: builtin/am.c:853 msgid "Only one StGIT patch series can be applied at once" msgstr "Π’ΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠΈΡ ΠΏΠ°ΡΡΠ΅ΠΉ StGIT ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Π° Π·Π° ΡΠ°Π·" -#: builtin/am.c:916 +#: builtin/am.c:901 msgid "invalid timestamp" msgstr "Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠ°Ρ ΠΌΠ΅ΡΠΊΠ° Π΄Π°ΡΡ/Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ" -#: builtin/am.c:919 builtin/am.c:927 +#: builtin/am.c:904 builtin/am.c:912 msgid "invalid Date line" msgstr "Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠ°Ρ ΡΡΡΠΎΠΊΠ° Π΄Π°ΡΡ" -#: builtin/am.c:924 +#: builtin/am.c:909 msgid "invalid timezone offset" msgstr "Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°" -#: builtin/am.c:1011 +#: builtin/am.c:996 msgid "Patch format detection failed." msgstr "Π‘Π±ΠΎΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠ° ΠΏΠ°ΡΡΠ°." -#: builtin/am.c:1016 builtin/clone.c:373 +#: builtin/am.c:1001 builtin/clone.c:378 #, c-format msgid "failed to create directory '%s'" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Β«%sΒ»" -#: builtin/am.c:1020 +#: builtin/am.c:1005 msgid "Failed to split patches." msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΠΏΠ°ΡΡΠΈ Π½Π° ΡΠ°ΡΡΠΈ." -#: builtin/am.c:1152 builtin/commit.c:363 +#: builtin/am.c:1137 builtin/commit.c:363 msgid "unable to write index file" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ" -#: builtin/am.c:1203 +#: builtin/am.c:1188 #, c-format msgid "When you have resolved this problem, run \"%s --continue\"." msgstr "ΠΠΎΠ³Π΄Π° Π²Ρ ΡΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Β«%s --continueΒ»." -#: builtin/am.c:1204 +#: builtin/am.c:1189 #, c-format msgid "If you prefer to skip this patch, run \"%s --skip\" instead." msgstr "ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΡΡΠΎΡ ΠΏΠ°ΡΡ, ΡΠΎ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Β«%s --skipΒ»." -#: builtin/am.c:1205 +#: builtin/am.c:1190 #, c-format msgid "To restore the original branch and stop patching, run \"%s --abort\"." msgstr "Π§ΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ Π²Π΅ΡΠΊΡ ΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Β«%s --abortΒ»." -#: builtin/am.c:1343 +#: builtin/am.c:1328 msgid "Patch is empty. Was it split wrong?" msgstr "ΠΠ°ΡΡ ΠΏΡΡΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠ½ Π±ΡΠ» Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΡΠ½?" -#: builtin/am.c:1417 builtin/log.c:1347 +#: builtin/am.c:1402 builtin/log.c:1350 #, c-format msgid "invalid ident line: %s" msgstr "Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ: %s" -#: builtin/am.c:1444 +#: builtin/am.c:1429 #, c-format msgid "unable to parse commit %s" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ %s" -#: builtin/am.c:1646 +#: builtin/am.c:1631 msgid "Repository lacks necessary blobs to fall back on 3-way merge." msgstr "Π ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΠΎΡΠΊΠ°ΡΠ° ΠΊ ΡΡΠ΅Ρ
Ρ
ΠΎΠ΄ΠΎΠ²ΠΎΠΌΡ ΡΠ»ΠΈΡΠ½ΠΈΡ." -#: builtin/am.c:1648 +#: builtin/am.c:1633 msgid "Using index info to reconstruct a base tree..." msgstr "ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ ΡΠ΅ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Π΄Π΅ΡΠ΅Π²Π°β¦" -#: builtin/am.c:1667 +#: builtin/am.c:1652 msgid "" "Did you hand edit your patch?\n" "It does not apply to blobs recorded in its index." msgstr "ΠΡ Π²ΡΡΡΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ»ΠΈ ΠΏΠ°ΡΡ?\nΠΠ½ Π½Π΅ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π° Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π² Π΅Π³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅." -#: builtin/am.c:1673 +#: builtin/am.c:1658 msgid "Falling back to patching base and 3-way merge..." msgstr "ΠΡΠΊΠ°Ρ ΠΊ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΊ Π±Π°Π·ΠΎΠ²ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ΅Ρ
Ρ
ΠΎΠ΄ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡβ¦" -#: builtin/am.c:1688 +#: builtin/am.c:1673 msgid "Failed to merge in the changes." msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ»ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ." -#: builtin/am.c:1712 builtin/merge.c:632 +#: builtin/am.c:1697 builtin/merge.c:633 msgid "git write-tree failed to write a tree" msgstr "git write-tree Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π΄Π΅ΡΠ΅Π²ΠΎ" -#: builtin/am.c:1719 +#: builtin/am.c:1704 msgid "applying to an empty history" msgstr "ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΏΡΡΡΠΎΠΉ ΠΈΡΡΠΎΡΠΈΠΈ" -#: builtin/am.c:1732 builtin/commit.c:1755 builtin/merge.c:829 -#: builtin/merge.c:854 +#: builtin/am.c:1717 builtin/commit.c:1755 builtin/merge.c:830 +#: builtin/merge.c:855 msgid "failed to write commit object" msgstr "ΡΠ±ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠΎΠΌΠΌΠΈΡΠ°" -#: builtin/am.c:1764 builtin/am.c:1768 +#: builtin/am.c:1749 builtin/am.c:1753 #, c-format msgid "cannot resume: %s does not exist." msgstr "Π½Π΅Π»ΡΠ·Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ½ΠΈΡΡ: %s Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ " -#: builtin/am.c:1784 +#: builtin/am.c:1769 msgid "cannot be interactive without stdin connected to a terminal." msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π±Π΅Π· stdin ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Ρ." -#: builtin/am.c:1789 +#: builtin/am.c:1774 msgid "Commit Body is:" msgstr "Π’Π΅Π»ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°:" #. TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a] #. in your translation. The program will only accept English #. input at this point. -#: builtin/am.c:1799 +#: builtin/am.c:1784 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: " msgstr "ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ? [y] - Π΄Π°/[n] - Π½Π΅Ρ/[e] - ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ/[v] - ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠ°ΡΡ/[a] - ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π²ΡΡ: " -#: builtin/am.c:1849 +#: builtin/am.c:1834 #, c-format msgid "Dirty index: cannot apply patches (dirty: %s)" msgstr "ΠΠ½Π΄Π΅ΠΊΡ Π½Π΅ ΠΏΡΡΡΠΎΠΉ: Π½Π΅Π»ΡΠ·Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΏΠ°ΡΡΠΈ (Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅: %s)" -#: builtin/am.c:1884 builtin/am.c:1955 +#: builtin/am.c:1869 builtin/am.c:1941 #, c-format msgid "Applying: %.*s" msgstr "ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅: %.*s" -#: builtin/am.c:1900 +#: builtin/am.c:1885 msgid "No changes -- Patch already applied." msgstr "ΠΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ β ΠΠ°ΡΡ ΡΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½." -#: builtin/am.c:1908 +#: builtin/am.c:1893 #, c-format msgid "Patch failed at %s %.*s" msgstr "ΠΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° %s %.*s" -#: builtin/am.c:1914 +#: builtin/am.c:1899 #, c-format msgid "The copy of the patch that failed is found in: %s" msgstr "ΠΠΎΠΏΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π²: %s" -#: builtin/am.c:1958 +#: builtin/am.c:1944 msgid "" "No changes - did you forget to use 'git add'?\n" "If there is nothing left to stage, chances are that something else\n" "already introduced the same changes; you might want to skip this patch." msgstr "ΠΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ β Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ Π·Π°Π±ΡΠ»ΠΈ Π²ΡΠ·Π²Π°ΡΡ Β«git addΒ»?\nΠΡΠ»ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΎΡΡΠ°Π»ΠΎΡΡ Π΄Π»Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ, ΡΠΎ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΡΡΠΎ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠ΅ ΡΠΆΠ΅ ΡΠ΄Π΅Π»Π°Π»ΠΎ ΡΠ΅ ΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ; Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΡΡΠΎΡ ΠΏΠ°ΡΡ." -#: builtin/am.c:1965 +#: builtin/am.c:1951 msgid "" "You still have unmerged paths in your index.\n" "Did you forget to use 'git add'?" msgstr "Π£ Π²Π°Ρ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΈΠΌΠ΅ΡΡΡΡ Π½Π΅ ΡΠ»ΠΈΡΡΠ΅ ΠΏΡΡΠΈ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅.\nΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ Π·Π°Π±ΡΠ»ΠΈ Π²ΡΠ·Π²Π°ΡΡ Β«git addΒ»?" -#: builtin/am.c:2073 builtin/am.c:2077 builtin/am.c:2089 builtin/reset.c:308 +#: builtin/am.c:2059 builtin/am.c:2063 builtin/am.c:2075 builtin/reset.c:308 #: builtin/reset.c:316 #, c-format msgid "Could not parse object '%s'." msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Β«%sΒ»." -#: builtin/am.c:2125 +#: builtin/am.c:2111 msgid "failed to clean index" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΠΈΡΡΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ" -#: builtin/am.c:2159 +#: builtin/am.c:2145 msgid "" "You seem to have moved HEAD since the last 'am' failure.\n" "Not rewinding to ORIG_HEAD" msgstr "ΠΠΎΡ
ΠΎΠΆΠ΅, ΡΡΠΎ Π²Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΠ»ΠΈ HEAD Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Β«amΒ».\nΠΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠ° Π½Π° ORIG_HEAD Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ" -#: builtin/am.c:2220 +#: builtin/am.c:2206 #, c-format msgid "Invalid value for --patch-format: %s" msgstr "ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ --patch-format: %s" -#: builtin/am.c:2253 +#: builtin/am.c:2239 msgid "git am [<options>] [(<mbox>|<Maildir>)...]" msgstr "git am [<ΠΎΠΏΡΠΈΠΈ>] [(<mbox>|<Maildir>)β¦]" -#: builtin/am.c:2254 +#: builtin/am.c:2240 msgid "git am [<options>] (--continue | --skip | --abort)" msgstr "git am [<ΠΎΠΏΡΠΈΠΈ>] (--continue | --skip | --abort)" -#: builtin/am.c:2260 +#: builtin/am.c:2246 msgid "run interactively" msgstr "Π·Π°ΠΏΡΡΡΠΈΡΡ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅" -#: builtin/am.c:2262 +#: builtin/am.c:2248 msgid "historical option -- no-op" msgstr "ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠΏΡΠΈΡ β Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ" -#: builtin/am.c:2264 +#: builtin/am.c:2250 msgid "allow fall back on 3way merging if needed" msgstr "ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΎΡΠΊΠ°ΡΠΈΡΡΡΡ ΠΊ ΡΡΠ΅Ρ
Ρ
ΠΎΠ΄ΠΎΠ²ΠΎΠΌΡ ΡΠ»ΠΈΡΠ½ΠΈΡ, Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ" -#: builtin/am.c:2265 builtin/init-db.c:474 builtin/prune-packed.c:57 +#: builtin/am.c:2251 builtin/init-db.c:474 builtin/prune-packed.c:57 #: builtin/repack.c:171 msgid "be quiet" msgstr "ΡΠΈΡ
ΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ" -#: builtin/am.c:2267 +#: builtin/am.c:2253 msgid "add a Signed-off-by line to the commit message" msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΡΠΎΠΊΡ Signed-off-by ΠΊ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°" -#: builtin/am.c:2270 +#: builtin/am.c:2256 msgid "recode into utf8 (default)" msgstr "ΠΏΠ΅ΡΠ΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ Π² utf8 (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ)" -#: builtin/am.c:2272 +#: builtin/am.c:2258 msgid "pass -k flag to git-mailinfo" msgstr "ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ»Π°Π³ -k Π² git-mailinfo" -#: builtin/am.c:2274 +#: builtin/am.c:2260 msgid "pass -b flag to git-mailinfo" msgstr "ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ»Π°Π³ -b Π² git-mailinfo" -#: builtin/am.c:2276 +#: builtin/am.c:2262 msgid "pass -m flag to git-mailinfo" msgstr "ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ»Π°Π³ -m Π² git-mailinfo" -#: builtin/am.c:2278 +#: builtin/am.c:2264 msgid "pass --keep-cr flag to git-mailsplit for mbox format" msgstr "ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ»Π°Π³ --keep-cr Π² git-mailsplit Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠ° mbox" -#: builtin/am.c:2281 +#: builtin/am.c:2267 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr" msgstr "Π½Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ --keep-cr ΡΠ»Π°Π³ Π² git-mailsplit Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ am.keepcr" -#: builtin/am.c:2284 +#: builtin/am.c:2270 msgid "strip everything before a scissors line" msgstr "ΠΎΠ±ΡΠ΅Π·Π°ΡΡ Π²ΡΠ΅ Π΄ΠΎ ΡΡΡΠΎΠΊΠΈ ΠΎΠ±ΡΠ΅Π·ΠΊΠΈ" -#: builtin/am.c:2285 builtin/apply.c:4554 +#: builtin/am.c:2271 builtin/apply.c:4544 msgid "action" msgstr "Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅" -#: builtin/am.c:2286 builtin/am.c:2289 builtin/am.c:2292 builtin/am.c:2295 -#: builtin/am.c:2298 builtin/am.c:2301 builtin/am.c:2304 builtin/am.c:2307 -#: builtin/am.c:2313 +#: builtin/am.c:2272 builtin/am.c:2275 builtin/am.c:2278 builtin/am.c:2281 +#: builtin/am.c:2284 builtin/am.c:2287 builtin/am.c:2290 builtin/am.c:2293 +#: builtin/am.c:2299 msgid "pass it through git-apply" msgstr "ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅Π³ΠΎ Π² git-apply" -#: builtin/am.c:2294 builtin/apply.c:4578 +#: builtin/am.c:2280 builtin/apply.c:4568 msgid "root" msgstr "ΠΊΠΎΡΠ΅Π½Ρ" -#: builtin/am.c:2297 builtin/am.c:2300 builtin/apply.c:4516 -#: builtin/apply.c:4519 builtin/clone.c:85 builtin/fetch.c:93 -#: builtin/pull.c:167 builtin/submodule--helper.c:78 -#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169 +#: builtin/am.c:2283 builtin/am.c:2286 builtin/apply.c:4506 +#: builtin/apply.c:4509 builtin/clone.c:86 builtin/fetch.c:95 +#: builtin/pull.c:171 builtin/submodule--helper.c:72 +#: builtin/submodule--helper.c:160 builtin/submodule--helper.c:163 msgid "path" msgstr "ΠΏΡΡΡ" -#: builtin/am.c:2303 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669 -#: builtin/grep.c:693 builtin/merge.c:198 builtin/pull.c:127 -#: builtin/repack.c:178 builtin/repack.c:182 builtin/show-branch.c:645 -#: builtin/show-ref.c:175 builtin/tag.c:340 parse-options.h:132 -#: parse-options.h:134 parse-options.h:244 +#: builtin/am.c:2289 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669 +#: builtin/grep.c:704 builtin/merge.c:198 builtin/pull.c:131 +#: builtin/pull.c:185 builtin/repack.c:178 builtin/repack.c:182 +#: builtin/show-branch.c:645 builtin/show-ref.c:175 builtin/tag.c:340 +#: parse-options.h:132 parse-options.h:134 parse-options.h:244 msgid "n" msgstr "n" -#: builtin/am.c:2306 builtin/apply.c:4522 +#: builtin/am.c:2292 builtin/apply.c:4512 msgid "num" msgstr "ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ" -#: builtin/am.c:2309 builtin/for-each-ref.c:37 builtin/replace.c:438 +#: builtin/am.c:2295 builtin/for-each-ref.c:37 builtin/replace.c:438 #: builtin/tag.c:372 msgid "format" msgstr "ΡΠΎΡΠΌΠ°Ρ" -#: builtin/am.c:2310 +#: builtin/am.c:2296 msgid "format the patch(es) are in" msgstr "ΡΠΎΡΠΌΠ°Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ ΠΏΠ°ΡΡΠΈ" -#: builtin/am.c:2316 +#: builtin/am.c:2302 msgid "override error message when patch failure occurs" msgstr "ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π½Π°Π»ΠΎΠΆΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ" -#: builtin/am.c:2318 +#: builtin/am.c:2304 msgid "continue applying patches after resolving a conflict" msgstr "ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎΡΠ»Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ»ΠΈΠΊΡΠ°" -#: builtin/am.c:2321 +#: builtin/am.c:2307 msgid "synonyms for --continue" -msgstr "ΡΠΈΠ½ΠΎΠ½ΠΈΠΌΡ Π΄Π»Ρ --continue" +msgstr "ΡΠΈΠ½ΠΎΠ½ΠΈΠΌ Π΄Π»Ρ --continue" -#: builtin/am.c:2324 +#: builtin/am.c:2310 msgid "skip the current patch" msgstr "ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΏΠ°ΡΡ" -#: builtin/am.c:2327 +#: builtin/am.c:2313 msgid "restore the original branch and abort the patching operation." msgstr "Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ ΠΈ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ." -#: builtin/am.c:2331 +#: builtin/am.c:2317 msgid "lie about committer date" msgstr "ΡΠΎΠ²ΡΠ°ΡΡ ΠΎ Π΄Π°ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ΡΠ°" -#: builtin/am.c:2333 +#: builtin/am.c:2319 msgid "use current timestamp for author date" msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π²ΡΠ΅ΠΌΡ Π°Π²ΡΠΎΡΡΡΠ²Π°" -#: builtin/am.c:2335 builtin/commit.c:1593 builtin/merge.c:225 -#: builtin/pull.c:155 builtin/revert.c:92 builtin/tag.c:355 +#: builtin/am.c:2321 builtin/commit.c:1593 builtin/merge.c:225 +#: builtin/pull.c:159 builtin/revert.c:92 builtin/tag.c:355 msgid "key-id" msgstr "key-id" -#: builtin/am.c:2336 +#: builtin/am.c:2322 msgid "GPG-sign commits" msgstr "ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ GPG" -#: builtin/am.c:2339 +#: builtin/am.c:2325 msgid "(internal use for git-rebase)" msgstr "(Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ git-rebase)" -#: builtin/am.c:2354 +#: builtin/am.c:2340 msgid "" "The -b/--binary option has been a no-op for long time, and\n" "it will be removed. Please do not use it anymore." msgstr "ΠΠΏΡΠΈΡ -b/--binary ΡΠΆΠ΅ Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»Π΅Π½Π° Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
Π²Π΅ΡΡΠΈΡΡ
Git. ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΅Π΅." -#: builtin/am.c:2361 +#: builtin/am.c:2347 msgid "failed to read the index" msgstr "ΡΠ±ΠΎΠΉ ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°" -#: builtin/am.c:2376 +#: builtin/am.c:2362 #, c-format msgid "previous rebase directory %s still exists but mbox given." msgstr "ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ %s Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ mbox." -#: builtin/am.c:2400 +#: builtin/am.c:2386 #, c-format msgid "" "Stray %s directory found.\n" "Use \"git am --abort\" to remove it." msgstr "ΠΠ°ΠΉΠ΄Π΅Π½ Π·Π°Π±ΡΡΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ %s.\nΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Β«git am --abortΒ», ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ Π΅Π³ΠΎ." -#: builtin/am.c:2406 +#: builtin/am.c:2392 msgid "Resolve operation not in progress, we are not resuming." msgstr "ΠΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² Π½Π΅ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π½Π΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ." @@ -2996,124 +3136,124 @@ msgstr "Π½Π΅ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π½Π½ΡΠΉ Π²Π²ΠΎΠ΄" msgid "unable to read index file" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠ» ΠΈΠ½Π΄Π΅ΠΊΡΠ°" -#: builtin/apply.c:4517 +#: builtin/apply.c:4507 msgid "don't apply changes matching the given path" msgstr "Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΏΡΡΠΈ" -#: builtin/apply.c:4520 +#: builtin/apply.c:4510 msgid "apply changes matching the given path" msgstr "ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΏΡΡΠΈ" -#: builtin/apply.c:4523 +#: builtin/apply.c:4513 msgid "remove <num> leading slashes from traditional diff paths" msgstr "ΡΠ΄Π°Π»ΠΈΡΡ <ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ> Π²Π΅Π΄ΡΡΠΈΡ
ΠΊΠΎΡΡΡ
ΡΠ΅ΡΡ ΠΈΠ· ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΡ
ΠΏΡΡΠ΅ΠΉ ΡΠΏΠΈΡΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ" -#: builtin/apply.c:4526 +#: builtin/apply.c:4516 msgid "ignore additions made by the patch" msgstr "ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΡΡΠΈΠΌ ΠΏΠ°ΡΡΠ΅ΠΌ" -#: builtin/apply.c:4528 +#: builtin/apply.c:4518 msgid "instead of applying the patch, output diffstat for the input" msgstr "Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ°ΡΡΠ° Π²ΡΠ²Π΅ΡΡΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΉ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΉ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π°" -#: builtin/apply.c:4532 +#: builtin/apply.c:4522 msgid "show number of added and deleted lines in decimal notation" msgstr "ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ
ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ
ΡΡΡΠΎΠΊ Π² Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ" -#: builtin/apply.c:4534 +#: builtin/apply.c:4524 msgid "instead of applying the patch, output a summary for the input" msgstr "Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ°ΡΡΠ° Π²ΡΠ²Π΅ΡΡΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π°" -#: builtin/apply.c:4536 +#: builtin/apply.c:4526 msgid "instead of applying the patch, see if the patch is applicable" msgstr "Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ°ΡΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ Π»ΠΈ ΠΎΠ½" -#: builtin/apply.c:4538 +#: builtin/apply.c:4528 msgid "make sure the patch is applicable to the current index" msgstr "ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ ΠΏΠ°ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ" -#: builtin/apply.c:4540 +#: builtin/apply.c:4530 msgid "apply a patch without touching the working tree" msgstr "ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΏΠ°ΡΡ, Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³" -#: builtin/apply.c:4542 +#: builtin/apply.c:4532 msgid "accept a patch that touches outside the working area" msgstr "ΠΏΡΠΈΠ½ΡΡΡ ΠΏΠ°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ»Ρ Π·Π° ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ" -#: builtin/apply.c:4544 +#: builtin/apply.c:4534 msgid "also apply the patch (use with --stat/--summary/--check)" msgstr "Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΏΠ°ΡΡ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Ρ --stat/--summary/--check)" -#: builtin/apply.c:4546 +#: builtin/apply.c:4536 msgid "attempt three-way merge if a patch does not apply" msgstr "ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠ΅Ρ
Ρ
ΠΎΠ΄ΠΎΠ²ΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅, Π΅ΡΠ»ΠΈ ΠΏΠ°ΡΡ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ" -#: builtin/apply.c:4548 +#: builtin/apply.c:4538 msgid "build a temporary index based on embedded index information" msgstr "ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΈΠ½Π΄Π΅ΠΊΡΠ΅" -#: builtin/apply.c:4550 builtin/checkout-index.c:198 builtin/ls-files.c:412 +#: builtin/apply.c:4541 builtin/checkout-index.c:169 builtin/ls-files.c:425 msgid "paths are separated with NUL character" -msgstr "ΠΏΡΡΠΈ, ΠΎΡΠ΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΠ£ΠΠΠΠ«Π ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ" +msgstr "ΠΏΡΡΠΈ, ΠΎΡΠ΄Π΅Π»ΡΠ½Π½ΡΠ΅ ΠΠ£ΠΠΠΠ«Π ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ" -#: builtin/apply.c:4553 +#: builtin/apply.c:4543 msgid "ensure at least <n> lines of context match" msgstr "ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠΈΡΡΡΡ, ΡΡΠΎ ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ <n> ΡΡΡΠΎΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ" -#: builtin/apply.c:4555 +#: builtin/apply.c:4545 msgid "detect new or modified lines that have whitespace errors" msgstr "ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, Ρ ΠΊΠΎΡΠΎΡΡΡ
Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΠΏΡΠΎΠ±Π΅Π»ΡΠ½ΡΡ
ΡΠΈΠΌΠ²ΠΎΠ»Π°Ρ
" -#: builtin/apply.c:4558 builtin/apply.c:4561 +#: builtin/apply.c:4548 builtin/apply.c:4551 msgid "ignore changes in whitespace when finding context" msgstr "ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΡΠΎΠ±Π΅Π»ΡΠ½ΡΡ
ΡΠΈΠΌΠ²ΠΎΠ»Π°Ρ
ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°" -#: builtin/apply.c:4564 +#: builtin/apply.c:4554 msgid "apply the patch in reverse" msgstr "ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΏΠ°ΡΡ Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ" -#: builtin/apply.c:4566 +#: builtin/apply.c:4556 msgid "don't expect at least one line of context" msgstr "Π½Π΅ ΠΎΠΆΠΈΠ΄Π°ΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°" -#: builtin/apply.c:4568 +#: builtin/apply.c:4558 msgid "leave the rejected hunks in corresponding *.rej files" msgstr "ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½Π½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ
*.rej ΡΠ°ΠΉΠ»Π°Ρ
" -#: builtin/apply.c:4570 +#: builtin/apply.c:4560 msgid "allow overlapping hunks" msgstr "ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°ΡΡΠΈΠ΅ΡΡ Π±Π»ΠΎΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ" -#: builtin/apply.c:4573 +#: builtin/apply.c:4563 msgid "tolerate incorrectly detected missing new-line at the end of file" msgstr "ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠΏΡΡΠ΅Π½Π½ΡΠ΅ ΠΏΡΡΡΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Π°" -#: builtin/apply.c:4576 +#: builtin/apply.c:4566 msgid "do not trust the line counts in the hunk headers" msgstr "Π½Π΅ Π΄ΠΎΠ²Π΅ΡΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΡΡΠΎΠΊ ΠΈΠ· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Π±Π»ΠΎΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ" -#: builtin/apply.c:4579 +#: builtin/apply.c:4569 msgid "prepend <root> to all filenames" msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡΡ <ΠΊΠΎΡΠ΅Π½Ρ> ΡΠΏΠ΅ΡΠ΅Π΄ΠΈ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΠΈΠΌΠ΅Π½Π°ΠΌ ΡΠ°ΠΉΠ»ΠΎΠ²" -#: builtin/apply.c:4601 +#: builtin/apply.c:4591 msgid "--3way outside a repository" msgstr "--3way Π²Π½Π΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ" -#: builtin/apply.c:4609 +#: builtin/apply.c:4599 msgid "--index outside a repository" msgstr "--index Π²Π½Π΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ" -#: builtin/apply.c:4612 +#: builtin/apply.c:4602 msgid "--cached outside a repository" msgstr "--cached Π²Π½Π΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ" -#: builtin/apply.c:4631 +#: builtin/apply.c:4621 #, c-format msgid "can't open patch '%s'" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΠΊΡΡΡΡ ΠΏΠ°ΡΡ Β«%sΒ»" -#: builtin/apply.c:4645 +#: builtin/apply.c:4635 #, c-format msgid "squelched %d whitespace error" msgid_plural "squelched %d whitespace errors" @@ -3122,7 +3262,7 @@ msgstr[1] "ΠΏΡΠΎΠΏΡΡΠ΅Π½ΠΎ %d ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΠΏΡΠΎΠ±Π΅Π»ΡΠ½ΡΡ
ΡΠΈΠΌΠ²ΠΎ msgstr[2] "ΠΏΡΠΎΠΏΡΡΠ΅Π½ΠΎ %d ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΠΏΡΠΎΠ±Π΅Π»ΡΠ½ΡΡ
ΡΠΈΠΌΠ²ΠΎΠ»Π°Ρ
" msgstr[3] "ΠΏΡΠΎΠΏΡΡΠ΅Π½ΠΎ %d ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΠΏΡΠΎΠ±Π΅Π»ΡΠ½ΡΡ
ΡΠΈΠΌΠ²ΠΎΠ»Π°Ρ
" -#: builtin/apply.c:4651 builtin/apply.c:4661 +#: builtin/apply.c:4641 builtin/apply.c:4651 #, c-format msgid "%d line adds whitespace errors." msgid_plural "%d lines add whitespace errors." @@ -3178,103 +3318,111 @@ msgstr "Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Β«git bisect nextΒ»" msgid "update BISECT_HEAD instead of checking out the current commit" msgstr "ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ BISECT_HEAD Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ" -#: builtin/blame.c:32 +#: builtin/blame.c:33 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>" msgstr "git blame [<ΠΎΠΏΡΠΈΠΈ>] [<ΠΎΠΏΡΠΈΠΈ-ΡΠ΅Π΄Π°ΠΊΡΠΈΠΈ>] [<ΡΠ΅Π΄Π°ΠΊΡΠΈΡ>] [--] <ΡΠ°ΠΉΠ»>" -#: builtin/blame.c:37 +#: builtin/blame.c:38 msgid "<rev-opts> are documented in git-rev-list(1)" msgstr "<ΠΎΠΏΡΠΈΠΈ-rev-list> Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Ρ Π² git-rev-list(1)" -#: builtin/blame.c:2519 +#: builtin/blame.c:1782 +msgid "Blaming lines" +msgstr "ΠΡΠΎΡΠΌΠΎΡΡ Π°Π²ΡΠΎΡΠΎΠ² ΡΡΡΠΎΠΊ" + +#: builtin/blame.c:2530 msgid "Show blame entries as we find them, incrementally" msgstr "ΠΠΎΠΊΠ°Π·Π°ΡΡ Π·Π°ΠΏΠΈΡΠΈ Π°Π²ΡΠΎΡΡΡΠ²Π° ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ, Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π½Π°Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ" -#: builtin/blame.c:2520 +#: builtin/blame.c:2531 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "ΠΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ SHA-1 Π΄Π»Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π½Π΅ Π²Ρ
ΠΎΠ΄ΡΡΠΈΡ
Π² Π³ΡΠ°Π½ΠΈΡΡ Π·Π°ΠΏΡΠΎΡΠ° (ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ)" -#: builtin/blame.c:2521 +#: builtin/blame.c:2532 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "ΠΠ΅ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΊΠΎΡΠ½Π΅Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ ΠΊΠ°ΠΊ Π³ΡΠ°Π½ΠΈΡΠ½ΡΠ΅ (ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ)" -#: builtin/blame.c:2522 +#: builtin/blame.c:2533 msgid "Show work cost statistics" msgstr "ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΡΠ°ΡΡ
ΠΎΠ΄ΠΎΠ² Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠ°" -#: builtin/blame.c:2523 +#: builtin/blame.c:2534 +msgid "Force progress reporting" +msgstr "ΠΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ" + +#: builtin/blame.c:2535 msgid "Show output score for blame entries" msgstr "ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΎΡΠ΅Π½ΠΊΡ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π°Π²ΡΠΎΡΡΡΠ²Π°" -#: builtin/blame.c:2524 +#: builtin/blame.c:2536 msgid "Show original filename (Default: auto)" msgstr "ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° (ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ)" -#: builtin/blame.c:2525 +#: builtin/blame.c:2537 msgid "Show original linenumber (Default: off)" msgstr "ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠ΅ Π½ΠΎΠΌΠ΅ΡΠ° ΡΡΡΠΎΠΊ (ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ)" -#: builtin/blame.c:2526 +#: builtin/blame.c:2538 msgid "Show in a format designed for machine consumption" msgstr "ΠΠΎΠΊΠ°Π·Π°ΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π±ΠΎΡΠ°" -#: builtin/blame.c:2527 +#: builtin/blame.c:2539 msgid "Show porcelain format with per-line commit information" msgstr "ΠΠΎΠΊΠ°Π·Π°ΡΡ Π² ΠΌΠ°ΡΠΈΠ½ΠΎΡΠΈΡΠ°Π΅ΠΌΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅, Ρ ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ΅" -#: builtin/blame.c:2528 +#: builtin/blame.c:2540 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΡΠΎΡΠΌΠ°Ρ Π²ΡΠ²ΠΎΠ΄Π°, ΠΊΠ°ΠΊ ΠΈ git-annotate (ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ)" -#: builtin/blame.c:2529 +#: builtin/blame.c:2541 msgid "Show raw timestamp (Default: off)" msgstr "ΠΠΎΠΊΠ°Π·Π°ΡΡ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΊΠΈ (ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ)" -#: builtin/blame.c:2530 +#: builtin/blame.c:2542 msgid "Show long commit SHA1 (Default: off)" msgstr "ΠΠΎΠΊΠ°Π·Π°ΡΡ Π΄Π»ΠΈΠ½Π½ΡΠΉ SHA1 ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° (ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ)" -#: builtin/blame.c:2531 +#: builtin/blame.c:2543 msgid "Suppress author name and timestamp (Default: off)" msgstr "ΠΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΠΌΡ Π°Π²ΡΠΎΡΠ° ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΊΠΈ (ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ)" -#: builtin/blame.c:2532 +#: builtin/blame.c:2544 msgid "Show author email instead of name (Default: off)" msgstr "ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΏΠΎΡΡΡ Π°Π²ΡΠΎΡΠ° Π²ΠΌΠ΅ΡΡΠΎ ΠΈΠΌΠ΅Π½ΠΈ (ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ: ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ)" -#: builtin/blame.c:2533 +#: builtin/blame.c:2545 msgid "Ignore whitespace differences" msgstr "ΠΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΡ Π² ΠΏΡΠΎΠ±Π΅Π»Π°Ρ
" -#: builtin/blame.c:2534 +#: builtin/blame.c:2546 msgid "Spend extra cycles to find better match" msgstr "ΠΠΎΡΡΠ°ΡΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π΄Π»Ρ Π½Π°Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π»ΡΡΡΠΈΡ
ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ" -#: builtin/blame.c:2535 +#: builtin/blame.c:2547 msgid "Use revisions from <file> instead of calling git-rev-list" msgstr "ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΠΈ ΠΈΠ· <ΡΠ°ΠΉΠ»Π°> Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΠ·ΠΎΠ²Π° git-rev-list" -#: builtin/blame.c:2536 +#: builtin/blame.c:2548 msgid "Use <file>'s contents as the final image" msgstr "ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ <ΡΠ°ΠΉΠ»Π°> ΠΊΠ°ΠΊ ΡΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ" -#: builtin/blame.c:2537 builtin/blame.c:2538 +#: builtin/blame.c:2549 builtin/blame.c:2550 msgid "score" msgstr "ΠΌΠΈΠ½-Π΄Π»ΠΈΠ½Π°" -#: builtin/blame.c:2537 +#: builtin/blame.c:2549 msgid "Find line copies within and across files" msgstr "ΠΠ°ΠΉΡΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠΎΠΊ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ
ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ" -#: builtin/blame.c:2538 +#: builtin/blame.c:2550 msgid "Find line movements within and across files" msgstr "ΠΠ°ΠΉΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΡΠΎΠΊ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ
ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ" -#: builtin/blame.c:2539 +#: builtin/blame.c:2551 msgid "n,m" msgstr "Π½Π°ΡΠ°Π»ΠΎ,ΠΊΠΎΠ½Π΅Ρ" -#: builtin/blame.c:2539 +#: builtin/blame.c:2551 msgid "Process only line range n,m, counting from 1" msgstr "ΠΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊΠΈ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ Π½Π°ΡΠ°Π»ΠΎ,ΠΊΠΎΠ½Π΅Ρ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ 1" @@ -3284,7 +3432,7 @@ msgstr "ΠΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊΠΈ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ Π½Π #. takes 22 places, is the longest among various forms of #. relative timestamps, but your language may need more or #. fewer display columns. -#: builtin/blame.c:2620 +#: builtin/blame.c:2640 msgid "4 years, 11 months ago" msgstr "4 Π³ΠΎΠ΄Π° ΠΈ 11 ΠΌΠ΅ΡΡΡΠ΅Π² Π½Π°Π·Π°Π΄" @@ -3476,200 +3624,200 @@ msgstr "ΠΠ΅ΡΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π° Π² %s, Π½ΠΎ HEAD Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π» msgid "Branch is renamed, but update of config-file failed" msgstr "ΠΠ΅ΡΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π°, Π½ΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ΅Π» ΡΠ±ΠΎΠΉ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ" -#: builtin/branch.c:587 +#: builtin/branch.c:586 #, c-format msgid "could not write branch description template: %s" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°Π±Π»ΠΎΠ½ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π²Π΅ΡΠΊΠΈ: %s" -#: builtin/branch.c:616 +#: builtin/branch.c:615 msgid "Generic options" msgstr "ΠΠ±ΡΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ" -#: builtin/branch.c:618 +#: builtin/branch.c:617 msgid "show hash and subject, give twice for upstream branch" -msgstr "ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Ρ
Π΅Ρ-ΡΡΠΌΠΌΡ ΠΈ ΡΠ΅ΠΌΡ, ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π΄Π²Π°ΠΆΠ΄Ρ Π΄Π»Ρ Π²ΡΡΠ΅ΡΡΠΎΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ" +msgstr "ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Ρ
ΡΡ-ΡΡΠΌΠΌΡ ΠΈ ΡΠ΅ΠΌΡ, ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π΄Π²Π°ΠΆΠ΄Ρ Π΄Π»Ρ Π²ΡΡΠ΅ΡΡΠΎΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ" -#: builtin/branch.c:619 +#: builtin/branch.c:618 msgid "suppress informational messages" msgstr "Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ" -#: builtin/branch.c:620 +#: builtin/branch.c:619 msgid "set up tracking mode (see git-pull(1))" msgstr "ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π²ΡΡΠ΅ΡΡΠΎΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ (ΡΠΌ. git-pull(1))" -#: builtin/branch.c:622 +#: builtin/branch.c:621 msgid "change upstream info" msgstr "ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²ΡΡΠ΅ΡΡΠΎΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅" -#: builtin/branch.c:626 +#: builtin/branch.c:625 msgid "use colored output" msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ²Π΅ΡΠ½ΠΎΠΉ Π²ΡΠ²ΠΎΠ΄" -#: builtin/branch.c:627 +#: builtin/branch.c:626 msgid "act on remote-tracking branches" msgstr "Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π° ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
Π²Π½Π΅ΡΠ½ΠΈΡ
Π²Π΅ΡΠΊΠ°Ρ
" -#: builtin/branch.c:629 builtin/branch.c:630 +#: builtin/branch.c:628 builtin/branch.c:629 msgid "print only branches that contain the commit" msgstr "Π²ΡΠ²ΠΎΠ΄ ΡΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΊΠΎΠΌΠΌΠΈΡ" -#: builtin/branch.c:633 +#: builtin/branch.c:632 msgid "Specific git-branch actions:" msgstr "Π‘ΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ Π΄Π»Ρ git-branch Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:" -#: builtin/branch.c:634 +#: builtin/branch.c:633 msgid "list both remote-tracking and local branches" msgstr "ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
Π²Π΅ΡΠΎΠΊ" -#: builtin/branch.c:636 +#: builtin/branch.c:635 msgid "delete fully merged branch" msgstr "ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ»ΠΈΡΡΡ Π²Π΅ΡΠΊΡ" -#: builtin/branch.c:637 +#: builtin/branch.c:636 msgid "delete branch (even if not merged)" msgstr "ΡΠ΄Π°Π»ΠΈΡΡ Π²Π΅ΡΠΊΡ (Π΄Π°ΠΆΠ΅ Π½ΠΈΠΊΡΠ΄Π° Π½Π΅ ΡΠ»ΠΈΡΡΡ)" -#: builtin/branch.c:638 +#: builtin/branch.c:637 msgid "move/rename a branch and its reflog" msgstr "ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ/ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π²Π΅ΡΠΊΠΈ ΠΈ Π΅Π΅ ΠΆΡΡΠ½Π°Π» ΡΡΡΠ»ΠΎΠΊ" -#: builtin/branch.c:639 +#: builtin/branch.c:638 msgid "move/rename a branch, even if target exists" msgstr "ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ/ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π²Π΅ΡΠΊΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠ΅Π»Π΅Π²ΠΎΠ΅ ΠΈΠΌΡ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ" -#: builtin/branch.c:640 +#: builtin/branch.c:639 msgid "list branch names" msgstr "ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠΌΠ΅Π½ Π²Π΅ΡΠΎΠΊ" -#: builtin/branch.c:641 +#: builtin/branch.c:640 msgid "create the branch's reflog" msgstr "ΡΠΎΠ·Π΄Π°ΡΡ ΠΆΡΡΠ½Π°Π» ΡΡΡΠ»ΠΎΠΊ Π²Π΅ΡΠΊΠΈ" -#: builtin/branch.c:643 +#: builtin/branch.c:642 msgid "edit the description for the branch" msgstr "ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ" -#: builtin/branch.c:644 +#: builtin/branch.c:643 msgid "force creation, move/rename, deletion" msgstr "ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ" -#: builtin/branch.c:645 +#: builtin/branch.c:644 msgid "print only branches that are merged" msgstr "Π²ΡΠ²ΠΎΠ΄ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΈΡΡΡ
Π²Π΅ΡΠΎΠΊ" -#: builtin/branch.c:646 +#: builtin/branch.c:645 msgid "print only branches that are not merged" msgstr "Π²ΡΠ²ΠΎΠ΄ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ ΡΠ»ΠΈΡΡΡ
Π²Π΅ΡΠΎΠΊ" -#: builtin/branch.c:647 +#: builtin/branch.c:646 msgid "list branches in columns" msgstr "ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²Π΅ΡΠΎΠΊ ΠΏΠΎ ΡΡΠΎΠ»Π±ΡΠ°ΠΌ" -#: builtin/branch.c:648 builtin/for-each-ref.c:38 builtin/tag.c:366 +#: builtin/branch.c:647 builtin/for-each-ref.c:38 builtin/tag.c:366 msgid "key" msgstr "ΠΊΠ»ΡΡ" -#: builtin/branch.c:649 builtin/for-each-ref.c:39 builtin/tag.c:367 +#: builtin/branch.c:648 builtin/for-each-ref.c:39 builtin/tag.c:367 msgid "field name to sort on" msgstr "ΠΈΠΌΡ ΠΏΠΎΠ»Ρ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ" -#: builtin/branch.c:651 builtin/for-each-ref.c:41 builtin/notes.c:398 -#: builtin/notes.c:401 builtin/notes.c:561 builtin/notes.c:564 +#: builtin/branch.c:650 builtin/for-each-ref.c:41 builtin/notes.c:401 +#: builtin/notes.c:404 builtin/notes.c:564 builtin/notes.c:567 #: builtin/tag.c:369 msgid "object" msgstr "ΠΎΠ±ΡΠ΅ΠΊΡ" -#: builtin/branch.c:652 +#: builtin/branch.c:651 msgid "print only branches of the object" msgstr "Π²ΡΠ²ΠΎΠ΄ ΡΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΠΎΠΊ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°" -#: builtin/branch.c:670 +#: builtin/branch.c:669 msgid "Failed to resolve HEAD as a valid ref." msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ HEAD ΠΊΠ°ΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΡΠ»ΠΊΡ." -#: builtin/branch.c:674 builtin/clone.c:697 +#: builtin/branch.c:673 builtin/clone.c:705 msgid "HEAD not found below refs/heads!" msgstr "HEAD Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ Π² refs/heads!" -#: builtin/branch.c:694 +#: builtin/branch.c:693 msgid "--column and --verbose are incompatible" msgstr "--column ΠΈ --verbose Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ" -#: builtin/branch.c:705 builtin/branch.c:747 +#: builtin/branch.c:704 builtin/branch.c:746 msgid "branch name required" msgstr "ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΠΌΡ Π²Π΅ΡΠΊΠΈ" -#: builtin/branch.c:723 +#: builtin/branch.c:722 msgid "Cannot give description to detached HEAD" -msgstr "ΠΠ΅Π»ΡΠ·Ρ Π΄Π°ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ HEAD" +msgstr "ΠΠ΅Π»ΡΠ·Ρ Π΄Π°ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½Π½ΠΎΠΌΡ HEAD" -#: builtin/branch.c:728 +#: builtin/branch.c:727 msgid "cannot edit description of more than one branch" msgstr "Π½Π΅Π»ΡΠ·Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π·Π° ΡΠ°Π·" -#: builtin/branch.c:735 +#: builtin/branch.c:734 #, c-format msgid "No commit on branch '%s' yet." msgstr "ΠΡΠ΅ Π½Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π½Π° Π²Π΅ΡΠΊΠ΅ Β«%sΒ»." -#: builtin/branch.c:738 +#: builtin/branch.c:737 #, c-format msgid "No branch named '%s'." msgstr "ΠΠ΅Ρ Π²Π΅ΡΠΊΠΈ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«%sΒ»." -#: builtin/branch.c:753 +#: builtin/branch.c:752 msgid "too many branches for a rename operation" msgstr "ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π΅ΡΠΎΠΊ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ" -#: builtin/branch.c:758 +#: builtin/branch.c:757 msgid "too many branches to set new upstream" msgstr "ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π΅ΡΠΎΠΊ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ
Π²ΡΡΠ΅ΡΡΠΎΡΡΠΈΡ
" -#: builtin/branch.c:762 +#: builtin/branch.c:761 #, c-format msgid "" "could not set upstream of HEAD to %s when it does not point to any branch." -msgstr "Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΡΠ΅ΡΡΠΎΡΡΠΈΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π΄Π»Ρ HEAD Π½Π° %s, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½ΠΈ Π½Π° ΠΎΠ΄Π½Ρ Π²Π΅ΡΠΊΡ." +msgstr "Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΡΠ΅ΡΡΠΎΡΡΠΈΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π΄Π»Ρ HEAD Π½Π° %s, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½ΠΈ Π½Π° ΠΎΠ΄Π½Ρ Π²Π΅ΡΠΊΡ." -#: builtin/branch.c:765 builtin/branch.c:787 builtin/branch.c:808 +#: builtin/branch.c:764 builtin/branch.c:786 builtin/branch.c:807 #, c-format msgid "no such branch '%s'" msgstr "Π½Π΅Ρ ΡΠ°ΠΊΠΎΠΉ Π²Π΅ΡΠΊΠΈ Β«%sΒ»" -#: builtin/branch.c:769 +#: builtin/branch.c:768 #, c-format msgid "branch '%s' does not exist" msgstr "Π²Π΅ΡΠΊΠ° Β«%sΒ» Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ" -#: builtin/branch.c:781 +#: builtin/branch.c:780 msgid "too many branches to unset upstream" msgstr "ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π΅ΡΠΎΠΊ Π΄Π»Ρ ΡΠ±ΠΈΡΠ°Π½ΠΈΡ Π²ΡΡΠ΅ΡΡΠΎΡΡΠΈΡ
" -#: builtin/branch.c:785 +#: builtin/branch.c:784 msgid "could not unset upstream of HEAD when it does not point to any branch." -msgstr "Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ±ΡΠ°ΡΡ Π²ΡΡΠ΅ΡΡΠΎΡΡΠΈΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π΄Π»Ρ HEAD, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½ΠΈ Π½Π° ΠΎΠ΄Π½Ρ Π²Π΅ΡΠΊΡ." +msgstr "Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ±ΡΠ°ΡΡ Π²ΡΡΠ΅ΡΡΠΎΡΡΠΈΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π΄Π»Ρ HEAD, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½ΠΈ Π½Π° ΠΎΠ΄Π½Ρ Π²Π΅ΡΠΊΡ." -#: builtin/branch.c:791 +#: builtin/branch.c:790 #, c-format msgid "Branch '%s' has no upstream information" msgstr "ΠΠ΅ΡΠΊΠ° Β«%sΒ» Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π²ΡΡΠ΅ΡΡΠΎΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅" -#: builtin/branch.c:805 +#: builtin/branch.c:804 msgid "it does not make sense to create 'HEAD' manually" msgstr "Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ»Π° ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Β«HEADΒ» Π²ΡΡΡΠ½ΡΡ" -#: builtin/branch.c:811 +#: builtin/branch.c:810 msgid "-a and -r options to 'git branch' do not make sense with a branch name" msgstr "ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ -a ΠΈ -r Π΄Π»Ρ Β«git branchΒ» Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΡΠΌΡΡΠ»Π° Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ΠΈ Π²Π΅ΡΠΊΠΈ" -#: builtin/branch.c:814 +#: builtin/branch.c:813 #, c-format msgid "" "The --set-upstream flag is deprecated and will be removed. Consider using " "--track or --set-upstream-to\n" msgstr "Π€Π»Π°Π³ --set-upstream ΡΡΡΠ°ΡΠ΅Π» ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»Π΅Π½ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ. ΠΠΌΠ΅ΡΡΠΎ Π½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ --track ΠΈΠ»ΠΈ --set-upstream-to\n" -#: builtin/branch.c:831 +#: builtin/branch.c:830 #, c-format msgid "" "\n" @@ -3677,12 +3825,12 @@ msgid "" "\n" msgstr "\nΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ Β«%sΒ» ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π»Π° Β«%sΒ», ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:\n\n" -#: builtin/branch.c:832 +#: builtin/branch.c:831 #, c-format msgid " git branch -d %s\n" msgstr "git branch -d %s\n" -#: builtin/branch.c:833 +#: builtin/branch.c:832 #, c-format msgid " git branch --set-upstream-to %s\n" msgstr " git branch --set-upstream-to %s\n" @@ -3774,7 +3922,7 @@ msgstr "Π²ΡΠ²Π΅ΡΡΠΈ Π²ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ Π΄Π»Ρ msgid "use .gitattributes only from the index" msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ .gitattributes ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ°" -#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:96 +#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:97 msgid "read file names from stdin" msgstr "ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΈΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°" @@ -3782,7 +3930,7 @@ msgstr "ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΈΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ msgid "terminate input and output records by a NUL character" msgstr "ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π° ΠΈ Π²ΡΠ²ΠΎΠ΄Π° Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΏΠΎ ΠΠ£ΠΠΠΠΠΠ£ ΡΠΈΠΌΠ²ΠΎΠ»Ρ" -#: builtin/check-ignore.c:18 builtin/checkout.c:1134 builtin/gc.c:325 +#: builtin/check-ignore.c:18 builtin/checkout.c:1136 builtin/gc.c:325 msgid "suppress progress reporting" msgstr "Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ" @@ -3835,49 +3983,53 @@ msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡ: %s" msgid "no contacts specified" msgstr "Π½Π΅ ΡΠΊΠ°Π·Π°Π½Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ" -#: builtin/checkout-index.c:126 +#: builtin/checkout-index.c:127 msgid "git checkout-index [<options>] [--] [<file>...]" msgstr "git checkout-index [<ΠΎΠΏΡΠΈΠΈ>] [--] [<ΡΠ°ΠΉΠ»>β¦]" -#: builtin/checkout-index.c:188 +#: builtin/checkout-index.c:144 +msgid "stage should be between 1 and 3 or all" +msgstr "ΠΈΠ½Π΄Π΅ΠΊΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ 1 ΠΈ 3 ΠΈΠ»ΠΈ all" + +#: builtin/checkout-index.c:160 msgid "check out all files in the index" msgstr "ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²ΡΠ΅Ρ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ°" -#: builtin/checkout-index.c:189 +#: builtin/checkout-index.c:161 msgid "force overwrite of existing files" msgstr "ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΡΠ°ΠΉΠ»ΠΎΠ²" -#: builtin/checkout-index.c:191 +#: builtin/checkout-index.c:163 msgid "no warning for existing files and files not in index" msgstr "Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΠΈ Π½Π΅ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²" -#: builtin/checkout-index.c:193 +#: builtin/checkout-index.c:165 msgid "don't checkout new files" msgstr "Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ" -#: builtin/checkout-index.c:195 +#: builtin/checkout-index.c:167 msgid "update stat information in the index file" msgstr "ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ Π΄ΠΎΡΡΡΠΏΠ° Π² ΡΠ°ΠΉΠ»Π΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ°" -#: builtin/checkout-index.c:201 +#: builtin/checkout-index.c:171 msgid "read list of paths from the standard input" msgstr "ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΡΠ΅ΠΉ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°" -#: builtin/checkout-index.c:203 +#: builtin/checkout-index.c:173 msgid "write the content to temporary files" msgstr "Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ" -#: builtin/checkout-index.c:204 builtin/column.c:30 +#: builtin/checkout-index.c:174 builtin/column.c:30 +#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169 #: builtin/submodule--helper.c:172 builtin/submodule--helper.c:175 -#: builtin/submodule--helper.c:178 builtin/submodule--helper.c:181 msgid "string" msgstr "ΡΡΡΠΎΠΊΠ°" -#: builtin/checkout-index.c:205 +#: builtin/checkout-index.c:175 msgid "when creating files, prepend <string>" msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΏΠ΅ΡΠ΅Π΄ΠΈ <ΡΡΡΠΎΠΊΡ> ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²" -#: builtin/checkout-index.c:208 +#: builtin/checkout-index.c:177 msgid "copy out the files from named stage" msgstr "ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°" @@ -3957,37 +4109,41 @@ msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΆΡΡΠ½Π°Π» ΡΡΡΠ»ΠΎΠΊ Π΄Π»Ρ Β«%s msgid "HEAD is now at" msgstr "HEAD ΡΠ΅ΠΉΡΠ°Ρ Π½Π°" -#: builtin/checkout.c:668 +#: builtin/checkout.c:665 builtin/clone.c:659 +msgid "unable to update HEAD" +msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ HEAD" + +#: builtin/checkout.c:669 #, c-format msgid "Reset branch '%s'\n" msgstr "Π‘Π±ΡΠΎΡ Π²Π΅ΡΠΊΠΈ Β«%sΒ»\n" -#: builtin/checkout.c:671 +#: builtin/checkout.c:672 #, c-format msgid "Already on '%s'\n" msgstr "Π£ΠΆΠ΅ Π½Π° Β«%sΒ»\n" -#: builtin/checkout.c:675 +#: builtin/checkout.c:676 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ±ΡΠΎΡ Π²Π΅ΡΠΊΠΈ Β«%sΒ»\n" -#: builtin/checkout.c:677 builtin/checkout.c:1066 +#: builtin/checkout.c:678 builtin/checkout.c:1068 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π½Π° Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ Β«%sΒ»\n" -#: builtin/checkout.c:679 +#: builtin/checkout.c:680 #, c-format msgid "Switched to branch '%s'\n" msgstr "ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π½Π° Π²Π΅ΡΠΊΡ Β«%sΒ»\n" -#: builtin/checkout.c:731 +#: builtin/checkout.c:732 #, c-format msgid " ... and %d more.\n" msgstr " β¦ ΠΈ Π΅ΡΠ΅ %d.\n" -#: builtin/checkout.c:737 +#: builtin/checkout.c:738 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -4004,7 +4160,7 @@ msgstr[1] "ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: Π²Ρ ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΠ΅ ΠΏΠΎΠ·Π°Π΄ΠΈ msgstr[2] "ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: Π²Ρ ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΠ΅ ΠΏΠΎΠ·Π°Π΄ΠΈ %d ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π½Π΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΠ΅ Π½ΠΈ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π°ΡΠΈΡ
Π²Π΅ΡΠΎΠΊ:\n\n%s\n" msgstr[3] "ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: Π²Ρ ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΠ΅ ΠΏΠΎΠ·Π°Π΄ΠΈ %d ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π½Π΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΠ΅ Π½ΠΈ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π°ΡΠΈΡ
Π²Π΅ΡΠΎΠΊ:\n\n%s\n" -#: builtin/checkout.c:756 +#: builtin/checkout.c:757 #, c-format msgid "" "If you want to keep it by creating a new branch, this may be a good time\n" @@ -4018,167 +4174,167 @@ msgid_plural "" "\n" " git branch <new-branch-name> %s\n" "\n" -msgstr[0] "ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΈΡ
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠΈ, ΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ\nΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ:\n\n git branch <ΠΈΠΌΡ-Π½ΠΎΠ²ΠΎΠΉ-Π²Π΅ΡΠΊΠΈ> %s\n\n" -msgstr[1] "ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΈΡ
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠΈ, ΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ\nΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ:\n\n git branch <ΠΈΠΌΡ-Π½ΠΎΠ²ΠΎΠΉ-Π²Π΅ΡΠΊΠΈ> %s\n\n" -msgstr[2] "ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΈΡ
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠΈ, ΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ\nΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ:\n\n git branch <ΠΈΠΌΡ-Π½ΠΎΠ²ΠΎΠΉ-Π²Π΅ΡΠΊΠΈ> %s\n\n" -msgstr[3] "ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΈΡ
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠΈ, ΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ\nΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ:\n\n git branch <ΠΈΠΌΡ-Π½ΠΎΠ²ΠΎΠΉ-Π²Π΅ΡΠΊΠΈ> %s\n\n" +msgstr[0] "ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΈΡ
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠΈ, ΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ\nΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ:\n\n git branch <ΠΈΠΌΡ-Π½ΠΎΠ²ΠΎΠΉ-Π²Π΅ΡΠΊΠΈ> %s\n" +msgstr[1] "ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΈΡ
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠΈ, ΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ\nΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ:\n\n git branch <ΠΈΠΌΡ-Π½ΠΎΠ²ΠΎΠΉ-Π²Π΅ΡΠΊΠΈ> %s\n" +msgstr[2] "ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΈΡ
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠΈ, ΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ\nΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ:\n\n git branch <ΠΈΠΌΡ-Π½ΠΎΠ²ΠΎΠΉ-Π²Π΅ΡΠΊΠΈ> %s\n" +msgstr[3] "ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΈΡ
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠΈ, ΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ\nΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ:\n\n git branch <ΠΈΠΌΡ-Π½ΠΎΠ²ΠΎΠΉ-Π²Π΅ΡΠΊΠΈ> %s\n" -#: builtin/checkout.c:792 +#: builtin/checkout.c:793 msgid "internal error in revision walk" msgstr "Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΏΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΌ" -#: builtin/checkout.c:796 +#: builtin/checkout.c:797 msgid "Previous HEAD position was" msgstr "ΠΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ HEAD Π±ΡΠ»Π°" -#: builtin/checkout.c:823 builtin/checkout.c:1061 +#: builtin/checkout.c:824 builtin/checkout.c:1063 msgid "You are on a branch yet to be born" msgstr "ΠΡ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π½Π° Π΅ΡΠ΅ Π½Π΅ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅" -#: builtin/checkout.c:968 +#: builtin/checkout.c:969 #, c-format msgid "only one reference expected, %d given." msgstr "ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΡΡΡΠ»ΠΊΠ°, Π° ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΎ %d." -#: builtin/checkout.c:1007 builtin/worktree.c:213 +#: builtin/checkout.c:1009 builtin/worktree.c:211 #, c-format msgid "invalid reference: %s" msgstr "Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ ΡΡΡΠ»ΠΊΠ°: %s" -#: builtin/checkout.c:1036 +#: builtin/checkout.c:1038 #, c-format msgid "reference is not a tree: %s" msgstr "Π² Π΄Π΅ΡΠ΅Π²Π΅ Π½Π΅Ρ ΡΠ°ΠΊΠΎΠΉ ΡΡΡΠ»ΠΊΠΈ: %s" -#: builtin/checkout.c:1075 +#: builtin/checkout.c:1077 msgid "paths cannot be used with switching branches" msgstr "Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΡΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Π²Π΅ΡΠΎΠΊ" -#: builtin/checkout.c:1078 builtin/checkout.c:1082 +#: builtin/checkout.c:1080 builtin/checkout.c:1084 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Β«%sΒ» ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Π²Π΅ΡΠΎΠΊ" -#: builtin/checkout.c:1086 builtin/checkout.c:1089 builtin/checkout.c:1094 -#: builtin/checkout.c:1097 +#: builtin/checkout.c:1088 builtin/checkout.c:1091 builtin/checkout.c:1096 +#: builtin/checkout.c:1099 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "Β«%sΒ» Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ Β«%sΒ»" -#: builtin/checkout.c:1102 +#: builtin/checkout.c:1104 #, c-format msgid "Cannot switch branch to a non-commit '%s'" msgstr "ΠΠ΅Π»ΡΠ·Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡ Π²Π΅ΡΠΊΡ Π½Π° Π½Π΅ ΠΊΠΎΠΌΠΌΠΈΡ Β«%sΒ»" -#: builtin/checkout.c:1135 builtin/checkout.c:1137 builtin/clone.c:83 -#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:320 -#: builtin/worktree.c:322 +#: builtin/checkout.c:1137 builtin/checkout.c:1139 builtin/clone.c:84 +#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:318 +#: builtin/worktree.c:320 msgid "branch" msgstr "Π²Π΅ΡΠΊΠ°" -#: builtin/checkout.c:1136 +#: builtin/checkout.c:1138 msgid "create and checkout a new branch" msgstr "ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ" -#: builtin/checkout.c:1138 +#: builtin/checkout.c:1140 msgid "create/reset and checkout a branch" msgstr "ΡΠΎΠ·Π΄Π°ΡΡ/ΡΠ±ΡΠΎΡΠΈΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ" -#: builtin/checkout.c:1139 +#: builtin/checkout.c:1141 msgid "create reflog for new branch" msgstr "ΡΠΎΠ·Π΄Π°ΡΡ ΠΆΡΡΠ½Π°Π» ΡΡΡΠ»ΠΎΠΊ Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠΈ" -#: builtin/checkout.c:1140 +#: builtin/checkout.c:1142 msgid "detach the HEAD at named commit" msgstr "ΠΎΡΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ HEAD Π½Π° ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅" -#: builtin/checkout.c:1141 +#: builtin/checkout.c:1143 msgid "set upstream info for new branch" msgstr "ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²ΡΡΠ΅ΡΡΠΎΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅ Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠΈ" -#: builtin/checkout.c:1143 +#: builtin/checkout.c:1145 msgid "new-branch" msgstr "Π½ΠΎΠ²Π°Ρ-Π²Π΅ΡΠΊΠ°" -#: builtin/checkout.c:1143 +#: builtin/checkout.c:1145 msgid "new unparented branch" msgstr "Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΠΊΠ° Π±Π΅Π· ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ" -#: builtin/checkout.c:1144 +#: builtin/checkout.c:1146 msgid "checkout our version for unmerged files" msgstr "ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Π½Π°ΡΡ Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ Π½Π΅ ΡΠ»ΠΈΡΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²" -#: builtin/checkout.c:1146 +#: builtin/checkout.c:1148 msgid "checkout their version for unmerged files" msgstr "ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° ΠΈΡ
Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ Π½Π΅ ΡΠ»ΠΈΡΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²" -#: builtin/checkout.c:1148 +#: builtin/checkout.c:1150 msgid "force checkout (throw away local modifications)" msgstr "ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ (ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ)" -#: builtin/checkout.c:1149 +#: builtin/checkout.c:1151 msgid "perform a 3-way merge with the new branch" msgstr "Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠ΅Ρ
Ρ
ΠΎΠ΄ΠΎΠ²ΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Ρ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ" -#: builtin/checkout.c:1150 builtin/merge.c:227 +#: builtin/checkout.c:1152 builtin/merge.c:227 msgid "update ignored files (default)" msgstr "ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ)" -#: builtin/checkout.c:1151 builtin/log.c:1266 parse-options.h:250 +#: builtin/checkout.c:1153 builtin/log.c:1269 parse-options.h:250 msgid "style" msgstr "ΡΡΠΈΠ»Ρ" -#: builtin/checkout.c:1152 +#: builtin/checkout.c:1154 msgid "conflict style (merge or diff3)" msgstr "ΡΡΠΈΠ»Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΡΠ»ΠΈΡΠ½ΠΈΡ (merge ΠΈΠ»ΠΈ diff3)" -#: builtin/checkout.c:1155 +#: builtin/checkout.c:1157 msgid "do not limit pathspecs to sparse entries only" msgstr "Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΏΡΡΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΠΈΡΠ½ΡΠΌΠΈ Π·Π°ΠΏΠΈΡΡΠΌΠΈ" -#: builtin/checkout.c:1157 +#: builtin/checkout.c:1159 msgid "second guess 'git checkout <no-such-branch>'" msgstr "ΠΏΠ΅ΡΠ΅ΡΠΌΠΎΡΡ Β«git checkout <no-such-branch>Β»" -#: builtin/checkout.c:1159 +#: builtin/checkout.c:1161 msgid "do not check if another worktree is holding the given ref" msgstr "Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ, ΡΡΠΎ Π΄ΡΡΠ³ΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ ΡΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΡΡΠ»ΠΊΡ" -#: builtin/checkout.c:1160 builtin/clone.c:57 builtin/fetch.c:112 -#: builtin/merge.c:224 builtin/pull.c:109 builtin/push.c:558 +#: builtin/checkout.c:1162 builtin/clone.c:58 builtin/fetch.c:116 +#: builtin/merge.c:224 builtin/pull.c:113 builtin/push.c:526 #: builtin/send-pack.c:168 msgid "force progress reporting" msgstr "ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ΅ΡΡ" -#: builtin/checkout.c:1191 +#: builtin/checkout.c:1193 msgid "-b, -B and --orphan are mutually exclusive" msgstr "-b, -B ΠΈ --orphan Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ" -#: builtin/checkout.c:1208 +#: builtin/checkout.c:1210 msgid "--track needs a branch name" msgstr "--track ΡΡΠ΅Π±ΡΠ΅Ρ ΠΈΠΌΡ Π²Π΅ΡΠΊΠΈ" -#: builtin/checkout.c:1213 +#: builtin/checkout.c:1215 msgid "Missing branch name; try -b" msgstr "ΠΡΠΎΠΏΡΡΠ΅Π½ΠΎ ΠΈΠΌΡ Π²Π΅ΡΠΊΠΈ; ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ -b" -#: builtin/checkout.c:1249 +#: builtin/checkout.c:1251 msgid "invalid path specification" msgstr "Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΡΡΠΈ" -#: builtin/checkout.c:1256 +#: builtin/checkout.c:1258 #, c-format msgid "" "Cannot update paths and switch to branch '%s' at the same time.\n" "Did you intend to checkout '%s' which can not be resolved as commit?" msgstr "ΠΠ΅Π»ΡΠ·Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΡΠΈ ΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡ Π½Π° Π²Π΅ΡΠΊΡ Β«%sΒ».\nΠΡ Ρ
ΠΎΡΠ΅Π»ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° Β«%sΒ», ΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ?" -#: builtin/checkout.c:1261 +#: builtin/checkout.c:1263 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "git checkout: --detach Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΡΡΡ Β«%sΒ» ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ" -#: builtin/checkout.c:1265 +#: builtin/checkout.c:1267 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." @@ -4214,7 +4370,7 @@ msgstr "ΠΡΠ΄Π΅Ρ ΠΏΡΠΎΠΏΡΡΠ΅Π½ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ %s\n" msgid "failed to remove %s" msgstr "ΡΠ±ΠΎΠΉ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ %s" -#: builtin/clean.c:315 +#: builtin/clean.c:291 msgid "" "Prompt help:\n" "1 - select a numbered item\n" @@ -4222,7 +4378,7 @@ msgid "" " - (empty) select nothing" msgstr "Π‘ΠΏΡΠ°Π²ΠΊΠ° ΠΏΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ:\n1 - Π²ΡΠ±ΡΠ°ΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ\nfoo - Π²ΡΠ±ΡΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ\n - (ΠΏΡΡΡΠΎ) Π½Π΅ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π½ΠΈΡΠ΅Π³ΠΎ" -#: builtin/clean.c:319 +#: builtin/clean.c:295 msgid "" "Prompt help:\n" "1 - select a single item\n" @@ -4234,36 +4390,36 @@ msgid "" " - (empty) finish selecting" msgstr "Π‘ΠΏΡΠ°Π²ΠΊΠ° ΠΏΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ:\n1 - Π²ΡΠ±ΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ\n3-5 - Π²ΡΠ±ΡΠ°ΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²\n2-3,6-9 - Π²ΡΠ±ΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ²\nfoo - Π²ΡΠ±ΡΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ\n-β¦ - ΡΠ±ΡΠ°ΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²\n* - Π²ΡΠ±ΡΠ°ΡΡ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ\n - (ΠΏΡΡΡΠΎ) Π·Π°Π²Π΅ΡΡΠΈΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅" -#: builtin/clean.c:535 +#: builtin/clean.c:511 #, c-format msgid "Huh (%s)?" msgstr "Π₯ΠΌ (%s)?" -#: builtin/clean.c:677 +#: builtin/clean.c:653 #, c-format msgid "Input ignore patterns>> " msgstr "Π¨Π°Π±Π»ΠΎΠ½Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π²ΠΎΠ΄Π°>> " -#: builtin/clean.c:714 +#: builtin/clean.c:690 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "ΠΠ ΠΠΠ£ΠΠ ΠΠΠΠΠΠΠ: ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π½Π°ΠΉΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅: %s" -#: builtin/clean.c:735 +#: builtin/clean.c:711 msgid "Select items to delete" msgstr "Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ" #. TRANSLATORS: Make sure to keep [y/N] as is -#: builtin/clean.c:776 +#: builtin/clean.c:752 #, c-format msgid "Remove %s [y/N]? " msgstr "Π£Π΄Π°Π»ΠΈΡΡ %s [y - Π΄Π°/N - Π½Π΅Ρ]? " -#: builtin/clean.c:801 +#: builtin/clean.c:777 msgid "Bye." msgstr "ΠΠΎ ΡΠ²ΠΈΠ΄Π°Π½ΠΈΡ." -#: builtin/clean.c:809 +#: builtin/clean.c:785 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -4274,15 +4430,15 @@ msgid "" "? - help for prompt selection" msgstr "clean - Π½Π°ΡΠ°ΡΡ ΠΎΡΠΈΡΡΠΊΡ\nfilter by pattern - ΠΈΡΠΊΠ»ΡΡΠΈΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²\nselect by numbers - ΠΈΡΠΊΠ»ΡΡΠΈΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌ\nask each - Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° (ΠΊΠ°ΠΊ Β«rm -iΒ»)\nquit - ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΡΡ ΠΎΡΠΈΡΡΠΊΡ\nhelp - ΡΡΠΎΡ ΡΠΊΡΠ°Π½\n? - ΡΠΏΡΠ°Π²ΠΊΠ° ΠΏΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ" -#: builtin/clean.c:836 +#: builtin/clean.c:812 msgid "*** Commands ***" msgstr "*** ΠΠΎΠΌΠ°Π½Π΄Ρ ***" -#: builtin/clean.c:837 +#: builtin/clean.c:813 msgid "What now" msgstr "Π§ΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ" -#: builtin/clean.c:845 +#: builtin/clean.c:821 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "Π£Π΄Π°Π»ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ:" @@ -4290,54 +4446,54 @@ msgstr[1] "Π£Π΄Π°Π»ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ:" msgstr[2] "Π£Π΄Π°Π»ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ:" msgstr[3] "Π£Π΄Π°Π»ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ:" -#: builtin/clean.c:862 +#: builtin/clean.c:838 msgid "No more files to clean, exiting." msgstr "ΠΠΎΠ»ΡΡΠ΅ Π½Π΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ ΠΎΡΠΈΡΡΠΊΠΈ, Π²ΡΡ
ΠΎΠ΄ΠΈΠΌ." -#: builtin/clean.c:893 +#: builtin/clean.c:869 msgid "do not print names of files removed" msgstr "Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΈΠΌΠ΅Π½Π° ΡΠ΄Π°Π»ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²" -#: builtin/clean.c:895 +#: builtin/clean.c:871 msgid "force" msgstr "ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ" -#: builtin/clean.c:896 +#: builtin/clean.c:872 msgid "interactive cleaning" msgstr "ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π°Ρ ΠΎΡΠΈΡΡΠΊΠ°" -#: builtin/clean.c:898 +#: builtin/clean.c:874 msgid "remove whole directories" msgstr "ΡΠ΄Π°Π»ΠΈΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ" -#: builtin/clean.c:899 builtin/describe.c:407 builtin/grep.c:709 -#: builtin/ls-files.c:443 builtin/name-rev.c:307 builtin/show-ref.c:182 +#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:722 +#: builtin/ls-files.c:456 builtin/name-rev.c:307 builtin/show-ref.c:182 msgid "pattern" msgstr "ΡΠ°Π±Π»ΠΎΠ½" -#: builtin/clean.c:900 +#: builtin/clean.c:876 msgid "add <pattern> to ignore rules" msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡΡ <ΡΠ°Π±Π»ΠΎΠ½> Π² ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ" -#: builtin/clean.c:901 +#: builtin/clean.c:877 msgid "remove ignored files, too" msgstr "ΡΠ°ΠΊΠΆΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ" -#: builtin/clean.c:903 +#: builtin/clean.c:879 msgid "remove only ignored files" msgstr "ΡΠ΄Π°Π»ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ" -#: builtin/clean.c:921 +#: builtin/clean.c:897 msgid "-x and -X cannot be used together" msgstr "Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ -x ΠΈ -X" -#: builtin/clean.c:925 +#: builtin/clean.c:901 msgid "" "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to" " clean" msgstr "clean.requireForce ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΊΠ°ΠΊ true ΠΈ Π½ΠΈ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΎΠΏΡΠΈΠΉ -i, -n ΠΈΠ»ΠΈ -f Π½Π΅ ΡΠΊΠ°Π·Π°Π½Π°; ΠΎΡΠΊΠ°Π· ΠΎΡΠΈΡΡΠΊΠΈ" -#: builtin/clean.c:928 +#: builtin/clean.c:904 msgid "" "clean.requireForce defaults to true and neither -i, -n, nor -f given; " "refusing to clean" @@ -4347,263 +4503,286 @@ msgstr "clean.requireForce ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠ°ΠΊ t msgid "git clone [<options>] [--] <repo> [<dir>]" msgstr "git clone [<ΠΎΠΏΡΠΈΠΈ>] [--] <ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ> [<ΠΊΠ°ΡΠ°Π»ΠΎΠ³>]" -#: builtin/clone.c:59 +#: builtin/clone.c:60 msgid "don't create a checkout" msgstr "Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡΡ ΠΊΠΎΠΏΠΈΡ Π½Π° HEAD" -#: builtin/clone.c:60 builtin/clone.c:62 builtin/init-db.c:469 +#: builtin/clone.c:61 builtin/clone.c:63 builtin/init-db.c:469 msgid "create a bare repository" msgstr "ΡΠΎΠ·Π΄Π°ΡΡ Π³ΠΎΠ»ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ" -#: builtin/clone.c:64 +#: builtin/clone.c:65 msgid "create a mirror repository (implies bare)" msgstr "ΡΠΎΠ·Π΄Π°ΡΡ Π·Π΅ΡΠΊΠ°Π»ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ (Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ bare)" -#: builtin/clone.c:66 +#: builtin/clone.c:67 msgid "to clone from a local repository" msgstr "Π΄Π»Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ" -#: builtin/clone.c:68 +#: builtin/clone.c:69 msgid "don't use local hardlinks, always copy" msgstr "Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΆΠ΅ΡΡΠΊΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ, Π²ΡΠ΅Π³Π΄Π° ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ" -#: builtin/clone.c:70 +#: builtin/clone.c:71 msgid "setup as shared repository" msgstr "Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ" -#: builtin/clone.c:72 builtin/clone.c:74 +#: builtin/clone.c:73 builtin/clone.c:75 msgid "initialize submodules in the clone" msgstr "ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»ΠΈ Π² ΠΊΠ»ΠΎΠ½Π΅" -#: builtin/clone.c:75 builtin/init-db.c:466 +#: builtin/clone.c:76 builtin/init-db.c:466 msgid "template-directory" msgstr "ΠΊΠ°ΡΠ°Π»ΠΎΠ³-ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ²" -#: builtin/clone.c:76 builtin/init-db.c:467 +#: builtin/clone.c:77 builtin/init-db.c:467 msgid "directory from which templates will be used" msgstr "ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ" -#: builtin/clone.c:78 builtin/submodule--helper.c:179 +#: builtin/clone.c:79 builtin/submodule--helper.c:173 msgid "reference repository" msgstr "ΡΡΡΠ»Π°Π΅ΠΌΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ" -#: builtin/clone.c:80 +#: builtin/clone.c:81 msgid "use --reference only while cloning" msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ --reference ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ" -#: builtin/clone.c:81 builtin/column.c:26 builtin/merge-file.c:44 +#: builtin/clone.c:82 builtin/column.c:26 builtin/merge-file.c:44 msgid "name" msgstr "ΠΈΠΌΡ" -#: builtin/clone.c:82 +#: builtin/clone.c:83 msgid "use <name> instead of 'origin' to track upstream" msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ <ΠΈΠΌΡ> Π²ΠΌΠ΅ΡΡΠΎ Β«originΒ» Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π²ΡΡΠ΅ΡΡΠΎΡΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ" -#: builtin/clone.c:84 +#: builtin/clone.c:85 msgid "checkout <branch> instead of the remote's HEAD" msgstr "ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° <Π²Π΅ΡΠΊΡ>, Π²ΠΌΠ΅ΡΡΠΎ HEAD Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ" -#: builtin/clone.c:86 +#: builtin/clone.c:87 msgid "path to git-upload-pack on the remote" msgstr "ΠΏΡΡΡ ΠΊ git-upload-pack Π½Π° Π²Π½Π΅ΡΠ½Π΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ" -#: builtin/clone.c:87 builtin/fetch.c:113 builtin/grep.c:654 -#: builtin/pull.c:186 +#: builtin/clone.c:88 builtin/fetch.c:117 builtin/grep.c:665 +#: builtin/pull.c:193 msgid "depth" msgstr "Π³Π»ΡΠ±ΠΈΠ½Π°" -#: builtin/clone.c:88 +#: builtin/clone.c:89 msgid "create a shallow clone of that depth" msgstr "ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ½ΡΠΉ ΠΊΠ»ΠΎΠ½ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π³Π»ΡΠ±ΠΈΠ½Ρ" -#: builtin/clone.c:90 +#: builtin/clone.c:91 msgid "clone only one branch, HEAD or --branch" msgstr "ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ Π²Π΅ΡΠΊΡ, HEAD ΠΈΠ»ΠΈ --branch" -#: builtin/clone.c:91 builtin/init-db.c:475 +#: builtin/clone.c:92 builtin/init-db.c:475 msgid "gitdir" msgstr "ΠΊΠ°ΡΠ°Π»ΠΎΠ³-git" -#: builtin/clone.c:92 builtin/init-db.c:476 +#: builtin/clone.c:93 builtin/init-db.c:476 msgid "separate git dir from working tree" msgstr "ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ git ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΎΡ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ" -#: builtin/clone.c:93 +#: builtin/clone.c:94 msgid "key=value" msgstr "ΠΊΠ»ΡΡ=Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅" -#: builtin/clone.c:94 +#: builtin/clone.c:95 msgid "set config inside the new repository" msgstr "ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π²Π½ΡΡΡΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ" -#: builtin/clone.c:300 +#: builtin/clone.c:96 builtin/fetch.c:131 builtin/push.c:536 +msgid "use IPv4 addresses only" +msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ IPv4 Π°Π΄ΡΠ΅ΡΠ°" + +#: builtin/clone.c:98 builtin/fetch.c:133 builtin/push.c:538 +msgid "use IPv6 addresses only" +msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ IPv6 Π°Π΄ΡΠ΅ΡΠ°" + +#: builtin/clone.c:239 +msgid "" +"No directory name could be guessed.\n" +"Please specify a directory on the command line" +msgstr "ΠΠΌΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ³Π°Π΄Π°Π½ΠΎ.\nΠ£ΠΊΠ°ΠΆΠΈΡΠ΅ ΠΈΠΌΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ" + +#: builtin/clone.c:305 #, c-format msgid "reference repository '%s' as a linked checkout is not supported yet." msgstr "ΡΡΡΠ»Π°Π΅ΠΌΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Β«%sΒ» ΠΊΠ°ΠΊ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ." -#: builtin/clone.c:302 +#: builtin/clone.c:307 #, c-format msgid "reference repository '%s' is not a local repository." msgstr "ΡΡΡΠ»Π°Π΅ΠΌΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Β«%sΒ» Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ." -#: builtin/clone.c:307 +#: builtin/clone.c:312 #, c-format msgid "reference repository '%s' is shallow" msgstr "ΡΡΡΠ»Π°Π΅ΠΌΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Β«%sΒ» ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΠΈΡΠ½ΡΠΌ" -#: builtin/clone.c:310 +#: builtin/clone.c:315 #, c-format msgid "reference repository '%s' is grafted" msgstr "ΡΡΡΠ»Π°Π΅ΠΌΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Β«%sΒ» ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ°ΡΠ΅Π½Π½ΡΠΌ" -#: builtin/clone.c:375 builtin/diff.c:84 +#: builtin/clone.c:380 builtin/diff.c:84 #, c-format msgid "failed to stat '%s'" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ stat Β«%sΒ»" -#: builtin/clone.c:377 +#: builtin/clone.c:382 #, c-format msgid "%s exists and is not a directory" msgstr "%s ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΈ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ" -#: builtin/clone.c:391 +#: builtin/clone.c:396 #, c-format msgid "failed to stat %s\n" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ stat %s\n" -#: builtin/clone.c:413 +#: builtin/clone.c:418 #, c-format msgid "failed to create link '%s'" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΡΠ»ΠΊΡ Β«%sΒ»" -#: builtin/clone.c:417 +#: builtin/clone.c:422 #, c-format msgid "failed to copy file to '%s'" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» Π² Β«%sΒ»" -#: builtin/clone.c:442 builtin/clone.c:626 +#: builtin/clone.c:447 builtin/clone.c:631 #, c-format msgid "done.\n" msgstr "Π³ΠΎΡΠΎΠ²ΠΎ.\n" -#: builtin/clone.c:454 +#: builtin/clone.c:459 msgid "" "Clone succeeded, but checkout failed.\n" "You can inspect what was checked out with 'git status'\n" "and retry the checkout with 'git checkout -f HEAD'\n" msgstr "ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ»ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ, Π½ΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° Π½Π° Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°.\nΠ‘ ΠΏΠΎΠΌΠΎΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«git statusΒ» Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ, Π° ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ ΠΏΠΎΠΏΡΡΠΊΡ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° Π½Π° Π²Π΅ΡΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Β«git checkout -f HEADΒ»\n" -#: builtin/clone.c:531 +#: builtin/clone.c:536 #, c-format msgid "Could not find remote branch %s to clone." msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π½Π°ΠΉΡΠΈ Π²Π½Π΅ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ %s Π΄Π»Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ." -#: builtin/clone.c:621 +#: builtin/clone.c:626 #, c-format msgid "Checking connectivity... " msgstr "ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡβ¦ " -#: builtin/clone.c:624 +#: builtin/clone.c:629 msgid "remote did not send all necessary objects" msgstr "Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΏΡΠΈΡΠ»Π°Π» Π½Π΅ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ" -#: builtin/clone.c:688 +#: builtin/clone.c:647 +#, c-format +msgid "unable to update %s" +msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ %s" + +#: builtin/clone.c:696 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "Π²Π½Π΅ΡΠ½ΠΈΠΉ HEAD ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ ΡΡΡΠ»ΠΊΡ, Π½Π΅Π»ΡΠ·Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° ΡΠ°ΠΊΡΡ Π²Π΅ΡΡΠΈΡ.\n" -#: builtin/clone.c:719 +#: builtin/clone.c:727 msgid "unable to checkout working tree" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Π²Π΅ΡΡΠΈΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅" -#: builtin/clone.c:808 +#: builtin/clone.c:753 +msgid "unable to write parameters to config file" +msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ" + +#: builtin/clone.c:816 msgid "cannot repack to clean up" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠ°ΠΊΠΎΠ²ΠΊΡ Π΄Π»Ρ ΠΎΡΠΈΡΡΠΊΠΈ" -#: builtin/clone.c:810 +#: builtin/clone.c:818 msgid "cannot unlink temporary alternates file" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ" -#: builtin/clone.c:842 +#: builtin/clone.c:850 msgid "Too many arguments." msgstr "Π‘Π»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²." -#: builtin/clone.c:846 +#: builtin/clone.c:854 msgid "You must specify a repository to clone." msgstr "ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π΄Π»Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ." -#: builtin/clone.c:857 +#: builtin/clone.c:865 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "--bare ΠΈ --origin %s Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ." -#: builtin/clone.c:860 +#: builtin/clone.c:868 msgid "--bare and --separate-git-dir are incompatible." msgstr "--bare ΠΈ --separate-git-dir Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ." -#: builtin/clone.c:873 +#: builtin/clone.c:881 #, c-format msgid "repository '%s' does not exist" msgstr "ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Β«%sΒ» Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ" -#: builtin/clone.c:879 builtin/fetch.c:1166 +#: builtin/clone.c:887 builtin/fetch.c:1174 #, c-format msgid "depth %s is not a positive number" msgstr "Π³Π»ΡΠ±ΠΈΠ½Π° %s Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ" -#: builtin/clone.c:889 +#: builtin/clone.c:897 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΏΡΡΡ Β«%sΒ» ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΈ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΡΡΡΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ." -#: builtin/clone.c:899 +#: builtin/clone.c:907 #, c-format msgid "working tree '%s' already exists." msgstr "ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Β«%sΒ» ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ." -#: builtin/clone.c:914 builtin/clone.c:925 builtin/submodule--helper.c:224 -#: builtin/worktree.c:221 builtin/worktree.c:248 +#: builtin/clone.c:922 builtin/clone.c:933 builtin/submodule--helper.c:218 +#: builtin/worktree.c:219 builtin/worktree.c:246 #, c-format msgid "could not create leading directories of '%s'" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Π΄Π»Ρ Β«%sΒ»" -#: builtin/clone.c:917 +#: builtin/clone.c:925 #, c-format msgid "could not create work tree dir '%s'" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Β«%sΒ»" -#: builtin/clone.c:935 +#: builtin/clone.c:943 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π³ΠΎΠ»ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Β«%sΒ»β¦\n" -#: builtin/clone.c:937 +#: builtin/clone.c:945 #, c-format msgid "Cloning into '%s'...\n" msgstr "ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Β«%sΒ»β¦\n" -#: builtin/clone.c:975 +#: builtin/clone.c:984 msgid "--depth is ignored in local clones; use file:// instead." msgstr "--depth ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΠΊΠ»ΠΎΠ½Π°Ρ
; Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ file://." -#: builtin/clone.c:978 +#: builtin/clone.c:987 msgid "source repository is shallow, ignoring --local" msgstr "ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΠΈΡΠ½ΡΠΌ, --local ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ" -#: builtin/clone.c:983 +#: builtin/clone.c:992 msgid "--local is ignored" msgstr "--local ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ" -#: builtin/clone.c:987 +#: builtin/clone.c:996 #, c-format msgid "Don't know how to clone %s" msgstr "ΠΠ΅ Π·Π½Π°Ρ ΠΊΠ°ΠΊ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ %s" -#: builtin/clone.c:1036 builtin/clone.c:1044 +#: builtin/clone.c:1045 builtin/clone.c:1053 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "ΠΠ½Π΅ΡΠ½ΡΡ Π²Π΅ΡΠΊΠ° %s Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π° Π² Π²ΡΡΠ΅ΡΡΠΎΡΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ %s" -#: builtin/clone.c:1047 +#: builtin/clone.c:1056 msgid "You appear to have cloned an empty repository." msgstr "ΠΠΎΡ
ΠΎΠΆΠ΅, ΡΡΠΎ Π²Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΏΡΡΡΠΎΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ." @@ -4754,11 +4933,11 @@ msgstr "Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° Β«%sΒ» ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π°Π²ΡΠΎΡ Π² Π·Π°Π³ΠΎΠ» #: builtin/commit.c:582 #, c-format msgid "commit '%s' has malformed author line" -msgstr "Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° Β«%sΒ» Π°Π²ΡΠΎΡ Π² Π½Π΅Π²Π΅ΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅" +msgstr "Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° Β«%sΒ» ΡΡΡΠΎΠΊΠ° Π°Π²ΡΠΎΡΠ° Π² Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅" #: builtin/commit.c:601 msgid "malformed --author parameter" -msgstr "ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ --author Π² Π½Π΅Π²Π΅ΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅" +msgstr "ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ --author Π² Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅" #: builtin/commit.c:609 #, c-format @@ -4776,7 +4955,7 @@ msgstr "Π½Π΅Π»ΡΠ·Ρ Π²ΡΠ±ΡΠ°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠ msgid "could not lookup commit %s" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π·Π°ΠΏΡΠΎΡΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡ %s" -#: builtin/commit.c:702 builtin/shortlog.c:273 +#: builtin/commit.c:702 builtin/shortlog.c:285 #, c-format msgid "(reading log message from standard input)\n" msgstr "(ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΆΡΡΠ½Π°Π»Π° ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°)\n" @@ -4944,8 +5123,8 @@ msgstr "ΠΊΡΠ°ΡΠΊΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΡΠ°ΡΡΡ" msgid "show branch information" msgstr "ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²Π΅ΡΡΠΈΠΈ" -#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:544 -#: builtin/worktree.c:423 +#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:512 +#: builtin/worktree.c:430 msgid "machine-readable output" msgstr "ΠΌΠ°ΡΠΈΠ½ΠΎΡΠΈΡΠ°Π΅ΠΌΡΠΉ Π²ΡΠ²ΠΎΠ΄" @@ -4994,7 +5173,7 @@ msgstr "Π½Π΅Π»ΡΠ·Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ Π½ΠΎΠ²ΠΎΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ" #: builtin/commit.c:1477 msgid "detached HEAD" -msgstr "ΠΎΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ HEAD" +msgstr "ΠΎΡΠ΄Π΅Π»ΡΠ½Π½ΡΠΉ HEAD" #: builtin/commit.c:1480 msgid " (root-commit)" @@ -5032,8 +5211,8 @@ msgstr "Π΄Π°ΡΠ°" msgid "override date for commit" msgstr "ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡΡ Π΄Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°" -#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:392 -#: builtin/notes.c:555 builtin/tag.c:349 +#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:395 +#: builtin/notes.c:558 builtin/tag.c:349 msgid "message" msgstr "ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅" @@ -5066,7 +5245,7 @@ msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈ msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ΅ΠΏΠ΅ΡΡ Π·Π° ΠΌΠΎΠΈΠΌ Π°Π²ΡΠΎΡΡΡΠ²ΠΎΠΌ (Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ -C/-c/--amend)" -#: builtin/commit.c:1588 builtin/log.c:1216 builtin/revert.c:86 +#: builtin/commit.c:1588 builtin/log.c:1219 builtin/revert.c:86 msgid "add Signed-off-by:" msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Signed-off-by:" @@ -5090,7 +5269,7 @@ msgstr "ΠΊΠ°ΠΊ ΡΠ΄Π°Π»ΡΡΡ ΠΏΡΠΎΠ±Π΅Π»Ρ ΠΈ #ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈΠ· ΡΠ msgid "include status in commit message template" msgstr "Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΡΠ°ΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠ°Π±Π»ΠΎΠ½ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°" -#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:156 +#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:160 #: builtin/revert.c:93 msgid "GPG sign commit" msgstr "ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ GPG" @@ -5178,139 +5357,143 @@ msgid "" "not exceeded, and then \"git reset HEAD\" to recover." msgstr "Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π±ΡΠ» ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½, Π½ΠΎ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠ» new_index. Π£Π΄ΠΎΡΡΠΎΠ²Π΅ΡΡΡΠ΅ΡΡ, ΡΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠ΅ Π΅ΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ ΠΈ ΠΊΠ²ΠΎΡΠ° Π½Π΅ ΠΈΡΡΠ΅ΡΠΏΠ°Π½Π°, Π° ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Β«git reset HEADΒ» Π΄Π»Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ." -#: builtin/config.c:8 +#: builtin/config.c:9 msgid "git config [<options>]" msgstr "git config [<ΠΎΠΏΡΠΈΠΈ>]" -#: builtin/config.c:54 +#: builtin/config.c:56 msgid "Config file location" msgstr "Π Π°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ" -#: builtin/config.c:55 +#: builtin/config.c:57 msgid "use global config file" msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ" -#: builtin/config.c:56 +#: builtin/config.c:58 msgid "use system config file" msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ" -#: builtin/config.c:57 +#: builtin/config.c:59 msgid "use repository config file" msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ" -#: builtin/config.c:58 +#: builtin/config.c:60 msgid "use given config file" msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ" -#: builtin/config.c:59 +#: builtin/config.c:61 msgid "blob-id" msgstr "ΠΈΠ΄Π΅Π½Ρ-Π΄Π²ΠΎΠΈΡΠ½-ΠΎΠ±ΡΠ΅ΠΊΡΠ°" -#: builtin/config.c:59 +#: builtin/config.c:61 msgid "read config from given blob object" msgstr "ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°" -#: builtin/config.c:60 +#: builtin/config.c:62 msgid "Action" msgstr "ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅" -#: builtin/config.c:61 +#: builtin/config.c:63 msgid "get value: name [value-regex]" msgstr "ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅: ΠΈΠΌΡ [ΡΠ°Π±Π»ΠΎΠ½-Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ]" -#: builtin/config.c:62 +#: builtin/config.c:64 msgid "get all values: key [value-regex]" msgstr "ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ: ΠΊΠ»ΡΡ [ΡΠ°Π±Π»ΠΎΠ½-Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ]" -#: builtin/config.c:63 +#: builtin/config.c:65 msgid "get values for regexp: name-regex [value-regex]" msgstr "ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠ°Π±Π»ΠΎΠ½Ρ: ΡΠ°Π±Π»ΠΎΠ½-ΠΈΠΌΠ΅Π½ [ΡΠ°Π±Π»ΠΎΠ½-Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ]" -#: builtin/config.c:64 +#: builtin/config.c:66 msgid "get value specific for the URL: section[.var] URL" msgstr "ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΠ΅ Π΄Π»Ρ URL: ΡΠ°Π·Π΄Π΅Π»[.ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ] URL" -#: builtin/config.c:65 +#: builtin/config.c:67 msgid "replace all matching variables: name value [value_regex]" msgstr "Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅: ΠΈΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ [ΡΠ°Π±Π»ΠΎΠ½-Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ]" -#: builtin/config.c:66 +#: builtin/config.c:68 msgid "add a new variable: name value" msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ: ΠΈΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅" -#: builtin/config.c:67 +#: builtin/config.c:69 msgid "remove a variable: name [value-regex]" msgstr "ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ: ΠΈΠΌΡ [ΡΠ°Π±Π»ΠΎΠ½-Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ]" -#: builtin/config.c:68 +#: builtin/config.c:70 msgid "remove all matches: name [value-regex]" msgstr "ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠ΅: ΠΈΠΌΡ [ΡΠ°Π±Π»ΠΎΠ½-Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ]" -#: builtin/config.c:69 +#: builtin/config.c:71 msgid "rename section: old-name new-name" msgstr "ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π΄Π΅Π»: ΡΡΠ°ΡΠΎΠ΅-ΠΈΠΌΡ Π½ΠΎΠ²ΠΎΠ΅-ΠΈΠΌΡ" -#: builtin/config.c:70 +#: builtin/config.c:72 msgid "remove a section: name" msgstr "ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°Π·Π΄Π΅Π»: ΠΈΠΌΡ" -#: builtin/config.c:71 +#: builtin/config.c:73 msgid "list all" msgstr "ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π²Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ" -#: builtin/config.c:72 +#: builtin/config.c:74 msgid "open an editor" msgstr "ΠΎΡΠΊΡΡΡΡ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅" -#: builtin/config.c:73 +#: builtin/config.c:75 msgid "find the color configured: slot [default]" msgstr "Π½Π°ΠΉΡΠΈ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠ²Π΅Ρ: ΡΠ°Π·Π΄Π΅Π» [ΠΏΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ]" -#: builtin/config.c:74 +#: builtin/config.c:76 msgid "find the color setting: slot [stdout-is-tty]" msgstr "ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΠΈ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠ²Π΅Ρ: ΡΠ°Π·Π΄Π΅Π» [stdout-Π΅ΡΡΡ-tty]" -#: builtin/config.c:75 +#: builtin/config.c:77 msgid "Type" msgstr "Π’ΠΈΠΏ" -#: builtin/config.c:76 +#: builtin/config.c:78 msgid "value is \"true\" or \"false\"" msgstr "Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ β ΡΡΠΎ Β«trueΒ» (ΠΏΡΠ°Π²Π΄Π°) ΠΈΠ»ΠΈ Β«falseΒ» (Π»ΠΎΠΆΡ)" -#: builtin/config.c:77 +#: builtin/config.c:79 msgid "value is decimal number" msgstr "Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ β ΡΡΠΎ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ" -#: builtin/config.c:78 +#: builtin/config.c:80 msgid "value is --bool or --int" msgstr "Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ β ΡΡΠΎ --bool ΠΈΠ»ΠΈ --int" -#: builtin/config.c:79 +#: builtin/config.c:81 msgid "value is a path (file or directory name)" msgstr "Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ β ΡΡΠΎ ΠΏΡΡΡ (ΠΊ ΡΠ°ΠΉΠ»Ρ ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ)" -#: builtin/config.c:80 +#: builtin/config.c:82 msgid "Other" msgstr "ΠΡΡΠ³ΠΎΠ΅" -#: builtin/config.c:81 +#: builtin/config.c:83 msgid "terminate values with NUL byte" msgstr "Π·Π°Π²Π΅ΡΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΠ£ΠΠΠΠ«Π Π±Π°ΠΉΡΠΎΠΌ" -#: builtin/config.c:82 +#: builtin/config.c:84 msgid "show variable names only" msgstr "ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
" -#: builtin/config.c:83 +#: builtin/config.c:85 msgid "respect include directives on lookup" msgstr "ΡΡΠΈΡΡΠ²Π°ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ include (Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²) ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅" -#: builtin/config.c:303 +#: builtin/config.c:86 +msgid "show origin of config (file, standard input, blob, command line)" +msgstr "ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ (ΡΠ°ΠΉΠ», ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²Π²ΠΎΠ΄, Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ°)" + +#: builtin/config.c:328 msgid "unable to parse default color value" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ" -#: builtin/config.c:441 +#: builtin/config.c:469 #, c-format msgid "" "# This is Git's per-user configuration file.\n" @@ -5320,7 +5503,7 @@ msgid "" "#\temail = %s\n" msgstr "# ΠΡΠΎ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Git.\n[user]\n# ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π°Π΄Π°ΠΏΡΠΈΡΡΠΉΡΠ΅ ΠΈ ΡΠ°ΡΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ:\n#\tuser = %s\n#\temail = %s\n" -#: builtin/config.c:575 +#: builtin/config.c:611 #, c-format msgid "cannot create configuration file %s" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ %s" @@ -5564,247 +5747,251 @@ msgstr "git fetch --multiple [<ΠΎΠΏΡΠΈΠΈ>] [(<ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ> | <Π³ΡΡ msgid "git fetch --all [<options>]" msgstr "git fetch --all [<ΠΎΠΏΡΠΈΠΈ>]" -#: builtin/fetch.c:90 builtin/pull.c:162 +#: builtin/fetch.c:92 builtin/pull.c:166 msgid "fetch from all remotes" msgstr "ΠΈΠ·Π²Π»Π΅ΡΡ ΡΠΎ Π²ΡΠ΅Ρ
Π²Π½Π΅ΡΠ½ΠΈΡ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π²" -#: builtin/fetch.c:92 builtin/pull.c:165 +#: builtin/fetch.c:94 builtin/pull.c:169 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "Π΄ΠΎΠΏΠΈΡΠ°ΡΡ ΠΊ .git/FETCH_HEAD Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ" -#: builtin/fetch.c:94 builtin/pull.c:168 +#: builtin/fetch.c:96 builtin/pull.c:172 msgid "path to upload pack on remote end" msgstr "ΠΏΡΡΡ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ" -#: builtin/fetch.c:95 builtin/pull.c:170 +#: builtin/fetch.c:97 builtin/pull.c:174 msgid "force overwrite of local branch" msgstr "ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ" -#: builtin/fetch.c:97 +#: builtin/fetch.c:99 msgid "fetch from multiple remotes" msgstr "ΠΈΠ·Π²Π»Π΅ΡΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
Π²Π½Π΅ΡΠ½ΠΈΡ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π²" -#: builtin/fetch.c:99 builtin/pull.c:172 +#: builtin/fetch.c:101 builtin/pull.c:176 msgid "fetch all tags and associated objects" msgstr "ΠΈΠ·Π²Π»Π΅ΡΡ Π²ΡΠ΅ ΠΌΠ΅ΡΠΊΠΈ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ" -#: builtin/fetch.c:101 +#: builtin/fetch.c:103 msgid "do not fetch all tags (--no-tags)" msgstr "Π½Π΅ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ Π²ΡΠ΅ ΠΌΠ΅ΡΠΊΠΈ (--no-tags)" -#: builtin/fetch.c:103 builtin/pull.c:175 +#: builtin/fetch.c:105 +msgid "number of submodules fetched in parallel" +msgstr "ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠΊΠ°ΡΠ°Π½Ρ ΠΏΠ°ΡΡΠ°Π»Π΅Π»ΡΠ½ΠΎ" + +#: builtin/fetch.c:107 builtin/pull.c:179 msgid "prune remote-tracking branches no longer on remote" msgstr "ΠΏΠΎΡΠΈΡΡΠΈΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΡ
ΡΠΆΠ΅ Π½Π΅Ρ Π½Π° Π²Π½Π΅ΡΠ½Π΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ" -#: builtin/fetch.c:104 builtin/pull.c:178 +#: builtin/fetch.c:108 builtin/pull.c:182 msgid "on-demand" msgstr "ΠΏΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ" -#: builtin/fetch.c:105 builtin/pull.c:179 +#: builtin/fetch.c:109 builtin/pull.c:183 msgid "control recursive fetching of submodules" msgstr "ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΌ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ" -#: builtin/fetch.c:109 builtin/pull.c:184 +#: builtin/fetch.c:113 builtin/pull.c:191 msgid "keep downloaded pack" msgstr "ΠΎΡΡΠ°Π²ΠΈΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ Π΄Π°Π½Π½ΡΡ
" -#: builtin/fetch.c:111 +#: builtin/fetch.c:115 msgid "allow updating of HEAD ref" msgstr "ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ HEAD" -#: builtin/fetch.c:114 builtin/pull.c:187 +#: builtin/fetch.c:118 builtin/pull.c:194 msgid "deepen history of shallow clone" msgstr "Π³Π»ΡΠ±ΠΎΠΊΠ°Ρ ΠΈΡΡΠΎΡΠΈΡ ΡΠ°ΡΡΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΠΎΠ½Π°" -#: builtin/fetch.c:116 builtin/pull.c:190 +#: builtin/fetch.c:120 builtin/pull.c:197 msgid "convert to a complete repository" msgstr "ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π² ΠΏΠΎΠ»Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ" -#: builtin/fetch.c:118 builtin/log.c:1233 +#: builtin/fetch.c:122 builtin/log.c:1236 msgid "dir" msgstr "ΠΊΠ°ΡΠ°Π»ΠΎΠ³" -#: builtin/fetch.c:119 +#: builtin/fetch.c:123 msgid "prepend this to submodule path output" msgstr "ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡ ΡΡΠΎ ΡΠΏΠ΅ΡΠ΅Π΄ΠΈ ΠΊ Π²ΡΠ²ΠΎΠ΄Ρ ΠΏΡΡΠ΅ΠΉ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Ρ" -#: builtin/fetch.c:122 +#: builtin/fetch.c:126 msgid "default mode for recursion" msgstr "ΡΠ΅ΠΆΠΈΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΡΠΈΠΈ" -#: builtin/fetch.c:124 builtin/pull.c:193 +#: builtin/fetch.c:128 builtin/pull.c:200 msgid "accept refs that update .git/shallow" msgstr "ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΡΡΠ»ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ .git/shallow" -#: builtin/fetch.c:125 builtin/pull.c:195 +#: builtin/fetch.c:129 builtin/pull.c:202 msgid "refmap" msgstr "ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅-ΡΡΡΠ»ΠΎΠΊ" -#: builtin/fetch.c:126 builtin/pull.c:196 +#: builtin/fetch.c:130 builtin/pull.c:203 msgid "specify fetch refmap" msgstr "ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΡΡΠ»ΠΎΠΊ ΠΏΡΠΈ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠΈ" -#: builtin/fetch.c:378 +#: builtin/fetch.c:386 msgid "Couldn't find remote ref HEAD" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π½Π°ΠΉΡΠΈ ΡΡΡΠ»ΠΊΡ HEAD Π½Π° Π²Π½Π΅ΡΠ½Π΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ" -#: builtin/fetch.c:458 +#: builtin/fetch.c:466 #, c-format msgid "object %s not found" msgstr "ΠΎΠ±ΡΠ΅ΠΊΡ %s Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½" -#: builtin/fetch.c:463 +#: builtin/fetch.c:471 msgid "[up to date]" msgstr "[Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎ]" -#: builtin/fetch.c:477 +#: builtin/fetch.c:485 #, c-format msgid "! %-*s %-*s -> %s (can't fetch in current branch)" msgstr "! %-*s %-*s β %s (Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΈΠ·Π²Π»Π΅ΡΡ Π² ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ)" -#: builtin/fetch.c:478 builtin/fetch.c:566 +#: builtin/fetch.c:486 builtin/fetch.c:574 msgid "[rejected]" msgstr "[ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΎ]" -#: builtin/fetch.c:489 +#: builtin/fetch.c:497 msgid "[tag update]" msgstr "[ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΊΠΈ]" -#: builtin/fetch.c:491 builtin/fetch.c:526 builtin/fetch.c:544 +#: builtin/fetch.c:499 builtin/fetch.c:534 builtin/fetch.c:552 msgid " (unable to update local ref)" msgstr " (Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΡΡΠ»ΠΊΡ)" -#: builtin/fetch.c:509 +#: builtin/fetch.c:517 msgid "[new tag]" msgstr "[Π½ΠΎΠ²Π°Ρ ΠΌΠ΅ΡΠΊΠ°]" -#: builtin/fetch.c:512 +#: builtin/fetch.c:520 msgid "[new branch]" msgstr "[Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΠΊΠ°]" -#: builtin/fetch.c:515 +#: builtin/fetch.c:523 msgid "[new ref]" msgstr "[Π½ΠΎΠ²Π°Ρ ΡΡΡΠ»ΠΊΠ°]" -#: builtin/fetch.c:561 +#: builtin/fetch.c:569 msgid "unable to update local ref" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΡΡΠ»ΠΊΡ" -#: builtin/fetch.c:561 +#: builtin/fetch.c:569 msgid "forced update" msgstr "ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅" -#: builtin/fetch.c:568 +#: builtin/fetch.c:576 msgid "(non-fast-forward)" msgstr "(Π±Π΅Π· ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠΈ Π²ΠΏΠ΅ΡΠ΅Π΄)" -#: builtin/fetch.c:602 builtin/fetch.c:843 +#: builtin/fetch.c:610 builtin/fetch.c:851 #, c-format msgid "cannot open %s: %s\n" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΠΊΡΡΡΡ %s: %s\n" -#: builtin/fetch.c:611 +#: builtin/fetch.c:619 #, c-format msgid "%s did not send all necessary objects\n" msgstr "%s Π½Π΅ ΠΎΡΠΏΡΠ°Π²ΠΈΠ» Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ\n" -#: builtin/fetch.c:629 +#: builtin/fetch.c:637 #, c-format msgid "reject %s because shallow roots are not allowed to be updated" msgstr "%s ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΎ ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ°ΡΡΠΈΡΠ½ΡΠ΅ ΠΊΠΎΡΠ½ΠΈ Π½Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ" -#: builtin/fetch.c:716 builtin/fetch.c:808 +#: builtin/fetch.c:724 builtin/fetch.c:816 #, c-format msgid "From %.*s\n" msgstr "ΠΠ· %.*s\n" -#: builtin/fetch.c:727 +#: builtin/fetch.c:735 #, c-format msgid "" "some local refs could not be updated; try running\n" " 'git remote prune %s' to remove any old, conflicting branches" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ; ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ Β«git remote prune %sΒ», ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΈΡΡΠΈΡΡ ΡΡΠ°ΡΡΠ΅, ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΡΡΠΈΠ΅ Π²Π΅ΡΠΊΠΈ" -#: builtin/fetch.c:779 +#: builtin/fetch.c:787 #, c-format msgid " (%s will become dangling)" msgstr " (%s Π±ΡΠ΄Π΅Ρ Π²ΠΈΡΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΎΠΉ)" -#: builtin/fetch.c:780 +#: builtin/fetch.c:788 #, c-format msgid " (%s has become dangling)" msgstr " (%s ΡΡΠ°Π»Π° Π²ΠΈΡΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΎΠΉ)" -#: builtin/fetch.c:812 +#: builtin/fetch.c:820 msgid "[deleted]" msgstr "[ΡΠ΄Π°Π»Π΅Π½ΠΎ]" -#: builtin/fetch.c:813 builtin/remote.c:1040 +#: builtin/fetch.c:821 builtin/remote.c:1025 msgid "(none)" msgstr "(Π½Π΅Ρ)" -#: builtin/fetch.c:833 +#: builtin/fetch.c:841 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "ΠΡΠΊΠ°Π· ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ %s Π½Π΅ Π³ΠΎΠ»ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ" -#: builtin/fetch.c:852 +#: builtin/fetch.c:860 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«%2$sΒ» Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Β«%1$sΒ» Π΄Π»Ρ %3$s" -#: builtin/fetch.c:855 +#: builtin/fetch.c:863 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ Β«%sΒ» ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ Π΄Π»Ρ %s\n" -#: builtin/fetch.c:911 +#: builtin/fetch.c:920 #, c-format msgid "Don't know how to fetch from %s" msgstr "ΠΠ΅ Π·Π½Π°Ρ ΠΊΠ°ΠΊ ΠΈΠ·Π²Π»Π΅ΡΡ Ρ %s" -#: builtin/fetch.c:1072 +#: builtin/fetch.c:1080 #, c-format msgid "Fetching %s\n" msgstr "ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· %s\n" -#: builtin/fetch.c:1074 builtin/remote.c:96 +#: builtin/fetch.c:1082 builtin/remote.c:96 #, c-format msgid "Could not fetch %s" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΈΠ·Π²Π»Π΅ΡΡ %s" -#: builtin/fetch.c:1092 +#: builtin/fetch.c:1100 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." msgstr "ΠΠ΅ ΡΠΊΠ°Π·Π°Π½ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ. Π£ΠΊΠ°ΠΆΠΈΡΠ΅ URL ΠΈΠ»ΠΈ ΠΈΠΌΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΠΈ." -#: builtin/fetch.c:1115 +#: builtin/fetch.c:1123 msgid "You need to specify a tag name." msgstr "ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠΌΡ ΠΌΠ΅ΡΠΊΠΈ." -#: builtin/fetch.c:1157 +#: builtin/fetch.c:1165 msgid "--depth and --unshallow cannot be used together" msgstr "Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ --depth ΠΈ --unshallow" -#: builtin/fetch.c:1159 +#: builtin/fetch.c:1167 msgid "--unshallow on a complete repository does not make sense" msgstr "--unshallow Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ»Π° Π½Π° ΠΏΠΎΠ»Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ" -#: builtin/fetch.c:1179 +#: builtin/fetch.c:1187 msgid "fetch --all does not take a repository argument" msgstr "fetch --all Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΈΠΌΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ" -#: builtin/fetch.c:1181 +#: builtin/fetch.c:1189 msgid "fetch --all does not make sense with refspecs" msgstr "fetch --all Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ»Π° ΠΏΡΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ ΡΡΡΠ»ΠΎΠΊ" -#: builtin/fetch.c:1192 +#: builtin/fetch.c:1200 #, c-format msgid "No such remote or remote group: %s" msgstr "ΠΠ΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈΠ»ΠΈ Π³ΡΡΠΏΠΏΡ: %s" -#: builtin/fetch.c:1200 +#: builtin/fetch.c:1208 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π³ΡΡΠΏΠΏΡ ΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ ΡΡΡΠ»ΠΎΠΊ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ»Π°" @@ -6020,259 +6207,273 @@ msgstr "ΠΠΌΠ΅Π΅ΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π½Π° ΠΊΠΎΡΠΎ msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]" msgstr "git grep [<ΠΎΠΏΡΠΈΠΈ>] [-e] <ΡΠ°Π±Π»ΠΎΠ½> [<ΡΠ΅Π΄Π°ΠΊΡΠΈΡ>β¦] [[--] <ΠΏΡΡΡ>β¦]" -#: builtin/grep.c:218 +#: builtin/grep.c:219 #, c-format msgid "grep: failed to create thread: %s" msgstr "grep: ΡΠ±ΠΎΠΉ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠ°: %s" -#: builtin/grep.c:441 builtin/grep.c:476 +#: builtin/grep.c:277 +#, c-format +msgid "invalid number of threads specified (%d) for %s" +msgstr "ΡΠΊΠ°Π·Π°Π½ΠΎ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ² (%d) Π΄Π»Ρ %s" + +#: builtin/grep.c:452 builtin/grep.c:487 #, c-format msgid "unable to read tree (%s)" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π΄Π΅ΡΠ΅Π²ΠΎ (%s)" -#: builtin/grep.c:491 +#: builtin/grep.c:502 #, c-format msgid "unable to grep from object of type %s" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ grep ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΈΠΏΠ° %s" -#: builtin/grep.c:547 +#: builtin/grep.c:558 #, c-format msgid "switch `%c' expects a numerical value" msgstr "ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Β«%cΒ» ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅" -#: builtin/grep.c:564 +#: builtin/grep.c:575 #, c-format msgid "cannot open '%s'" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΠΊΡΡΡΡ Β«%sΒ»" -#: builtin/grep.c:633 +#: builtin/grep.c:644 msgid "search in index instead of in the work tree" msgstr "ΠΈΡΠΊΠ°ΡΡ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅, Π° Π½Π΅ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅" -#: builtin/grep.c:635 +#: builtin/grep.c:646 msgid "find in contents not managed by git" msgstr "ΠΈΡΠΊΠ°ΡΡ Π² ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌ Π½Π΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΌ git" -#: builtin/grep.c:637 +#: builtin/grep.c:648 msgid "search in both tracked and untracked files" msgstr "ΠΈΡΠΊΠ°ΡΡ ΠΈ Π² ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
, ΠΈ Π² Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
ΡΠ°ΠΉΠ»Π°Ρ
" -#: builtin/grep.c:639 +#: builtin/grep.c:650 msgid "ignore files specified via '.gitignore'" msgstr "ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π² Β«.gitignoreΒ»" -#: builtin/grep.c:642 +#: builtin/grep.c:653 msgid "show non-matching lines" msgstr "ΠΈΡΠΊΠ°ΡΡ Π² Π½Π΅ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΡ
ΡΡΡΠΎΠΊΠ°Ρ
" -#: builtin/grep.c:644 +#: builtin/grep.c:655 msgid "case insensitive matching" msgstr "Π±Π΅Π· ΡΡΠ΅ΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°" -#: builtin/grep.c:646 +#: builtin/grep.c:657 msgid "match patterns only at word boundaries" msgstr "ΠΈΡΠΊΠ°ΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½Π° ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π³ΡΠ°Π½ΠΈΡΠ°Ρ
ΡΠ»ΠΎΠ²" -#: builtin/grep.c:648 +#: builtin/grep.c:659 msgid "process binary files as text" msgstr "ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π²ΠΎΠΈΡΠ½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΊΠ°ΠΊ ΡΠ΅ΠΊΡΡΠ°" -#: builtin/grep.c:650 +#: builtin/grep.c:661 msgid "don't match patterns in binary files" msgstr "Π½Π΅ ΠΈΡΠΊΠ°ΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½Π° Π² Π΄Π²ΠΎΠΈΡΠ½ΡΡ
ΡΠ°ΠΉΠ»Π°Ρ
" -#: builtin/grep.c:653 +#: builtin/grep.c:664 msgid "process binary files with textconv filters" msgstr "ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠ»ΡΡΡΠΎΠ² textconv" -#: builtin/grep.c:655 +#: builtin/grep.c:666 msgid "descend at most <depth> levels" msgstr "Π½Π° Π³Π»ΡΠ±ΠΈΠ½Π΅ ΠΌΠ°ΠΊΡΠΈΠΌΡ <Π³Π»ΡΠ±ΠΈΠ½Π°> ΡΡΠΎΠ²Π½Π΅ΠΉ" -#: builtin/grep.c:659 +#: builtin/grep.c:670 msgid "use extended POSIX regular expressions" msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ POSIX" -#: builtin/grep.c:662 +#: builtin/grep.c:673 msgid "use basic POSIX regular expressions (default)" msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ POSIX (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ)" -#: builtin/grep.c:665 +#: builtin/grep.c:676 msgid "interpret patterns as fixed strings" msgstr "ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΊΠ°ΠΊ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ" -#: builtin/grep.c:668 +#: builtin/grep.c:679 msgid "use Perl-compatible regular expressions" msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Perl-ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠ΅ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ" -#: builtin/grep.c:671 +#: builtin/grep.c:682 msgid "show line numbers" msgstr "Π²ΡΠ²Π΅ΡΡΠΈ Π½ΠΎΠΌΠ΅ΡΠ° ΡΡΡΠΎΠΊ" -#: builtin/grep.c:672 +#: builtin/grep.c:683 msgid "don't show filenames" msgstr "Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΈΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²" -#: builtin/grep.c:673 +#: builtin/grep.c:684 msgid "show filenames" msgstr "Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΈΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²" -#: builtin/grep.c:675 +#: builtin/grep.c:686 msgid "show filenames relative to top directory" msgstr "Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΈΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ" -#: builtin/grep.c:677 +#: builtin/grep.c:688 msgid "show only filenames instead of matching lines" msgstr "Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ², Π° Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ" -#: builtin/grep.c:679 +#: builtin/grep.c:690 msgid "synonym for --files-with-matches" msgstr "ΡΠΈΠ½ΠΎΠ½ΠΈΠΌ Π΄Π»Ρ --files-with-matches" -#: builtin/grep.c:682 +#: builtin/grep.c:693 msgid "show only the names of files without match" msgstr "Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²" -#: builtin/grep.c:684 +#: builtin/grep.c:695 msgid "print NUL after filenames" msgstr "Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΠΠΠΠ¬ ΠΏΠΎΡΠ»Π΅ ΡΠΏΠΈΡΠΊΠ° ΠΈΠΌΠ΅Π½ ΡΠ°ΠΉΠ»ΠΎΠ²" -#: builtin/grep.c:686 +#: builtin/grep.c:697 msgid "show the number of matches instead of matching lines" msgstr "Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ, Π° Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ" -#: builtin/grep.c:687 +#: builtin/grep.c:698 msgid "highlight matches" msgstr "ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠ²Π°ΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ" -#: builtin/grep.c:689 +#: builtin/grep.c:700 msgid "print empty line between matches from different files" msgstr "Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ ΠΈΠ· ΡΠ°Π·Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²" -#: builtin/grep.c:691 +#: builtin/grep.c:702 msgid "show filename only once above matches from same file" msgstr "Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅" -#: builtin/grep.c:694 +#: builtin/grep.c:705 msgid "show <n> context lines before and after matches" msgstr "ΠΏΠΎΠΊΠ°Π·Π°ΡΡ <n> ΡΡΡΠΎΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΠΏΠ΅ΡΠ΅Π΄ ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ" -#: builtin/grep.c:697 +#: builtin/grep.c:708 msgid "show <n> context lines before matches" msgstr "ΠΏΠΎΠΊΠ°Π·Π°ΡΡ <n> ΡΡΡΠΎΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ΠΌ" -#: builtin/grep.c:699 +#: builtin/grep.c:710 msgid "show <n> context lines after matches" msgstr "ΠΏΠΎΠΊΠ°Π·Π°ΡΡ <n> ΡΡΡΠΎΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ" -#: builtin/grep.c:700 +#: builtin/grep.c:712 +msgid "use <n> worker threads" +msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ <ΠΊΠΎΠ»> ΡΠ°Π±ΠΎΡΠΈΡ
ΠΏΠΎΡΠΎΠΊΠΎΠ²" + +#: builtin/grep.c:713 msgid "shortcut for -C NUM" msgstr "ΡΠΎΠΆΠ΅, ΡΡΠΎ ΠΈ -C ΠΠΠΠΠ§ΠΠ‘Π’ΠΠ" -#: builtin/grep.c:703 +#: builtin/grep.c:716 msgid "show a line with the function name before matches" msgstr "ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΡΡΠΎΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ΠΌ" -#: builtin/grep.c:705 +#: builtin/grep.c:718 msgid "show the surrounding function" msgstr "ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΎΠΊΡΡΠΆΠ°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ" -#: builtin/grep.c:708 +#: builtin/grep.c:721 msgid "read patterns from file" msgstr "ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΈΠ· ΡΠ°ΠΉΠ»Π°" -#: builtin/grep.c:710 +#: builtin/grep.c:723 msgid "match <pattern>" msgstr "ΠΏΠΎΠΈΡΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΉ Ρ <ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ>" -#: builtin/grep.c:712 +#: builtin/grep.c:725 msgid "combine patterns specified with -e" msgstr "ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ -e" -#: builtin/grep.c:724 +#: builtin/grep.c:737 msgid "indicate hit with exit status without output" msgstr "Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ, ΡΠΊΠ°Π·Π°ΡΡ Π½Π° ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ΄Π° Π²ΡΡ
ΠΎΠ΄Π°" -#: builtin/grep.c:726 +#: builtin/grep.c:739 msgid "show only matches from files that match all patterns" msgstr "ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΊΠΎΡΠΎΡΡΡ
ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Π²ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ" -#: builtin/grep.c:728 +#: builtin/grep.c:741 msgid "show parse tree for grep expression" msgstr "ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π΄Π΅ΡΠ΅Π²ΠΎ ΡΠ°Π·Π±ΠΎΡΠ° Π΄Π»Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠΈΡΠΊΠ°" -#: builtin/grep.c:732 +#: builtin/grep.c:745 msgid "pager" msgstr "ΠΏΠ΅ΠΉΠ΄ΠΆΠ΅Ρ" -#: builtin/grep.c:732 +#: builtin/grep.c:745 msgid "show matching files in the pager" msgstr "ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ-ΠΏΠ΅ΠΉΠ΄ΠΆΠ΅ΡΠ°" -#: builtin/grep.c:735 +#: builtin/grep.c:748 msgid "allow calling of grep(1) (ignored by this build)" msgstr "ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ Π²ΡΠ·ΠΎΠ² grep(1) (ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ Π² ΡΡΠΎΠΉ ΡΠ±ΠΎΡΠΊΠ΅)" -#: builtin/grep.c:793 +#: builtin/grep.c:811 msgid "no pattern given." msgstr "Π½Π΅ Π·Π°Π΄Π°Π½ ΡΠ°Π±Π»ΠΎΠ½." -#: builtin/grep.c:851 +#: builtin/grep.c:843 builtin/index-pack.c:1475 +#, c-format +msgid "invalid number of threads specified (%d)" +msgstr "ΡΠΊΠ°Π·Π°Π½ΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ² (%d)" + +#: builtin/grep.c:873 msgid "--open-files-in-pager only works on the worktree" msgstr "--open-files-in-pager ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅" -#: builtin/grep.c:877 +#: builtin/grep.c:899 msgid "--cached or --untracked cannot be used with --no-index." msgstr "--cached ΠΈΠ»ΠΈ --untracked Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ --no-index." -#: builtin/grep.c:882 +#: builtin/grep.c:904 msgid "--no-index or --untracked cannot be used with revs." msgstr "--no-index ΠΈΠ»ΠΈ --untracked Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅Π²ΠΈΠ·ΠΈΠΈ." -#: builtin/grep.c:885 +#: builtin/grep.c:907 msgid "--[no-]exclude-standard cannot be used for tracked contents." msgstr "--[no-]exclude-standard Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ." -#: builtin/grep.c:893 +#: builtin/grep.c:915 msgid "both --cached and trees are given." msgstr "ΡΠΊΠ°Π·Π°Π½ΠΎ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ --cached ΠΈ Π΄Π΅ΡΠ΅Π²ΠΎ." -#: builtin/hash-object.c:80 +#: builtin/hash-object.c:81 msgid "" "git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] " "[--] <file>..." msgstr "git hash-object [-t <ΡΠΈΠΏ>] [-w] [--path=<ΡΠ°ΠΉΠ»> | --no-filters] [--stdin] [--] <ΡΠ°ΠΉΠ»>β¦" -#: builtin/hash-object.c:81 +#: builtin/hash-object.c:82 msgid "git hash-object --stdin-paths" msgstr "git hash-object --stdin-paths" -#: builtin/hash-object.c:92 +#: builtin/hash-object.c:93 msgid "type" msgstr "ΡΠΈΠΏ" -#: builtin/hash-object.c:92 +#: builtin/hash-object.c:93 msgid "object type" msgstr "ΡΠΈΠΏ ΠΎΠ±ΡΠ΅ΠΊΡΠ°" -#: builtin/hash-object.c:93 +#: builtin/hash-object.c:94 msgid "write the object into the object database" msgstr "Π·Π°ΠΏΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²" -#: builtin/hash-object.c:95 +#: builtin/hash-object.c:96 msgid "read the object from stdin" msgstr "ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°" -#: builtin/hash-object.c:97 +#: builtin/hash-object.c:98 msgid "store file as is without filters" msgstr "ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΠ» Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠ»ΡΡΡΠΎΠ²" -#: builtin/hash-object.c:98 +#: builtin/hash-object.c:99 msgid "" "just hash any random garbage to create corrupt objects for debugging Git" -msgstr "Ρ
Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠΉ ΠΌΡΡΠΎΡ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Git" +msgstr "Ρ
ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠΉ ΠΌΡΡΠΎΡ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Git" -#: builtin/hash-object.c:99 +#: builtin/hash-object.c:100 msgid "process file as it were from this path" msgstr "ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°ΠΉΠ» ΡΠ°ΠΊ, Π±ΡΠ΄ΡΠΎ ΠΎΠ½ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΏΡΡΠΈ" @@ -6323,75 +6524,75 @@ msgstr "Π²Π΅ΡΡΠΈΡ emacsclient Β«%dΒ» ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΡΠ°ΡΠ°Ρ (< 22)." msgid "failed to exec '%s': %s" msgstr "ΡΠ±ΠΎΠΉ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Β«%sΒ»: %s" -#: builtin/help.c:208 +#: builtin/help.c:205 #, c-format msgid "" "'%s': path for unsupported man viewer.\n" "Please consider using 'man.<tool>.cmd' instead." msgstr "Β«%sΒ»: ΠΏΡΡΡ Π΄Π»Ρ Π½Π΅ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° man.\nΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Β«man.<ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°>.cmdΒ»." -#: builtin/help.c:220 +#: builtin/help.c:217 #, c-format msgid "" "'%s': cmd for supported man viewer.\n" "Please consider using 'man.<tool>.path' instead." msgstr "Β«%sΒ»: ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ Π½Π΅ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° man.\nΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Β«man.<ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°>.pathΒ»." -#: builtin/help.c:337 +#: builtin/help.c:334 #, c-format msgid "'%s': unknown man viewer." msgstr "Β«%sΒ»: Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΎΡΠΌΠΎΡΡΠ° man." -#: builtin/help.c:354 +#: builtin/help.c:351 msgid "no man viewer handled the request" msgstr "ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΎΡΠΌΠΎΡΡΠ° man Π½Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π»Π° Π·Π°ΠΏΡΠΎΡ" -#: builtin/help.c:362 +#: builtin/help.c:359 msgid "no info viewer handled the request" msgstr "ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΎΡΠΌΠΎΡΡΠ° info Π½Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π»Π° Π·Π°ΠΏΡΠΎΡ" -#: builtin/help.c:411 +#: builtin/help.c:408 msgid "Defining attributes per path" msgstr "ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² Π΄Π»Ρ ΠΏΡΡΠ΅ΠΉ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ²" -#: builtin/help.c:412 +#: builtin/help.c:409 msgid "Everyday Git With 20 Commands Or So" msgstr "ΠΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΡΠΉ Git Ρ 20 ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΎΠΊΠΎΠ»ΠΎ ΡΠΎΠ³ΠΎ" -#: builtin/help.c:413 +#: builtin/help.c:410 msgid "A Git glossary" msgstr "ΠΠ»ΠΎΡΡΠ°ΡΠΈΠΉ Git" -#: builtin/help.c:414 +#: builtin/help.c:411 msgid "Specifies intentionally untracked files to ignore" msgstr "Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²" -#: builtin/help.c:415 +#: builtin/help.c:412 msgid "Defining submodule properties" msgstr "ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ² ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ" -#: builtin/help.c:416 +#: builtin/help.c:413 msgid "Specifying revisions and ranges for Git" msgstr "Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΠΉ ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² Π΄Π»Ρ Git" -#: builtin/help.c:417 +#: builtin/help.c:414 msgid "A tutorial introduction to Git (for version 1.5.1 or newer)" msgstr "Π£ΡΠ΅Π±Π½ΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Git (Π΄Π»Ρ Π²Π΅ΡΡΠΈΠΈ 1.5.1 ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅)" -#: builtin/help.c:418 +#: builtin/help.c:415 msgid "An overview of recommended workflows with Git" msgstr "ΠΠ±Π·ΠΎΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΡ
ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Ρ Git" -#: builtin/help.c:430 +#: builtin/help.c:427 msgid "The common Git guides are:\n" msgstr "ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° Git:\n" -#: builtin/help.c:451 builtin/help.c:468 +#: builtin/help.c:448 builtin/help.c:465 #, c-format msgid "usage: %s%s" msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: %s%s" -#: builtin/help.c:484 +#: builtin/help.c:481 #, c-format msgid "`git %s' is aliased to `%s'" msgstr "Β«git %sΒ» β ΡΡΠΎ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Β«%sΒ»" @@ -6633,27 +6834,22 @@ msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΠ» ΠΈΠ½Π΄Π΅ΠΊΡΠ°" msgid "bad pack.indexversion=%<PRIu32>" msgstr "ΠΏΠ»ΠΎΡ
ΠΎΠΉ pack.indexversion=%<PRIu32>" -#: builtin/index-pack.c:1475 -#, c-format -msgid "invalid number of threads specified (%d)" -msgstr "ΡΠΊΠ°Π·Π°Π½ΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ² (%d)" - -#: builtin/index-pack.c:1479 builtin/index-pack.c:1663 +#: builtin/index-pack.c:1479 builtin/index-pack.c:1664 #, c-format msgid "no threads support, ignoring %s" msgstr "Π½Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ², ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ %s" -#: builtin/index-pack.c:1537 +#: builtin/index-pack.c:1538 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΠΊΡΡΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ°ΠΉΠ» ΠΏΠ°ΠΊΠ΅ΡΠ° Β«%sΒ»" -#: builtin/index-pack.c:1539 +#: builtin/index-pack.c:1540 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΠΊΡΡΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ°ΠΉΠ» ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π΄Π»Ρ Β«%sΒ»" -#: builtin/index-pack.c:1586 +#: builtin/index-pack.c:1587 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" @@ -6662,7 +6858,7 @@ msgstr[1] "Π½Π΅ Π΄Π΅Π»ΡΡΡ: %d ΠΎΠ±ΡΠ΅ΠΊΡΠ°" msgstr[2] "Π½Π΅ Π΄Π΅Π»ΡΡΡ: %d ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²" msgstr[3] "Π½Π΅ Π΄Π΅Π»ΡΡΡ: %d ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²" -#: builtin/index-pack.c:1593 +#: builtin/index-pack.c:1594 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" @@ -6671,26 +6867,26 @@ msgstr[1] "Π΄Π»ΠΈΠ½Π° ΡΠ΅ΠΏΠΎΡΠΊΠΈ = %d: %lu ΠΎΠ±ΡΠ΅ΠΊΡΠ°" msgstr[2] "Π΄Π»ΠΈΠ½Π° ΡΠ΅ΠΏΠΎΡΠΊΠΈ = %d: %lu ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²" msgstr[3] "Π΄Π»ΠΈΠ½Π° ΡΠ΅ΠΏΠΎΡΠΊΠΈ = %d: %lu ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²" -#: builtin/index-pack.c:1623 +#: builtin/index-pack.c:1624 msgid "Cannot come back to cwd" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π²Π΅ΡΠ½ΡΡΡΡΡ Π² ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³" -#: builtin/index-pack.c:1675 builtin/index-pack.c:1678 -#: builtin/index-pack.c:1690 builtin/index-pack.c:1694 +#: builtin/index-pack.c:1676 builtin/index-pack.c:1679 +#: builtin/index-pack.c:1691 builtin/index-pack.c:1695 #, c-format msgid "bad %s" msgstr "ΠΏΠ»ΠΎΡ
ΠΎΠΉ %s" -#: builtin/index-pack.c:1708 +#: builtin/index-pack.c:1709 msgid "--fix-thin cannot be used without --stdin" msgstr "--fix-thin Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±Π΅Π· --stdin" -#: builtin/index-pack.c:1712 builtin/index-pack.c:1721 +#: builtin/index-pack.c:1713 builtin/index-pack.c:1722 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "ΠΈΠΌΡ ΠΏΠ°ΠΊΠ΅ΡΠ° Β«%sΒ» Π½Π΅ ΠΎΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° Β«.packΒ»" -#: builtin/index-pack.c:1729 +#: builtin/index-pack.c:1730 msgid "--verify with no packfile name given" msgstr "--verify Π±Π΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π° ΠΏΠ°ΠΊΠ΅ΡΠ°" @@ -6764,7 +6960,7 @@ msgstr "%s%s ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Git Π² %s%s\n" #: builtin/init-db.c:400 msgid "Reinitialized existing" -msgstr "Π Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ" +msgstr "ΠΠ΅ΡΠ΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ" #: builtin/init-db.c:400 msgid "Initialized empty" @@ -6812,22 +7008,30 @@ msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ΠΌΡ ΠΊ #: builtin/interpret-trailers.c:15 msgid "" -"git interpret-trailers [--trim-empty] [(--trailer <token>[(=|:)<value>])...]" -" [<file>...]" -msgstr "git interpret-trailers [--trim-empty] [(--trailer <Π»Π΅ΠΊΡΠ΅ΠΌΠ°>[(=|:)<Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅>])β¦] [<ΡΠ°ΠΉΠ»>β¦]" +"git interpret-trailers [--in-place] [--trim-empty] [(--trailer " +"<token>[(=|:)<value>])...] [<file>...]" +msgstr "git interpret-trailers [--in-place] [--trim-empty] [(--trailer <ΠΊΠ»ΡΡ>[(=|:)<Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅>])β¦] [<ΡΠ°ΠΉΠ»>β¦]" + +#: builtin/interpret-trailers.c:26 +msgid "edit files in place" +msgstr "ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ Π½Π° ΠΌΠ΅ΡΡΠ΅" -#: builtin/interpret-trailers.c:25 +#: builtin/interpret-trailers.c:27 msgid "trim empty trailers" msgstr "ΡΠ΄Π°Π»ΡΡΡ ΠΏΡΡΡΡΠ΅ Π·Π°Π²Π΅ΡΡΠΈΡΠ΅Π»ΠΈ" -#: builtin/interpret-trailers.c:26 +#: builtin/interpret-trailers.c:28 msgid "trailer" msgstr "Π·Π°Π²Π΅ΡΡΠΈΡΠ΅Π»Ρ" -#: builtin/interpret-trailers.c:27 +#: builtin/interpret-trailers.c:29 msgid "trailer(s) to add" msgstr "Π·Π°Π²Π΅ΡΡΠΈΡΠ΅Π»ΠΈ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ" +#: builtin/interpret-trailers.c:42 +msgid "no input file given for in-place editing" +msgstr "Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΎ, Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° ΠΌΠ΅ΡΡΠ΅" + #: builtin/log.c:43 msgid "git log [<options>] [<revision-range>] [[--] <path>...]" msgstr "git log [<ΠΎΠΏΡΠΈΠΈ>] [<Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½-ΡΠ΅Π΄Π°ΠΊΡΠΈΠΉ>] [[--] <ΠΏΡΡΡ>β¦]" @@ -6881,326 +7085,373 @@ msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ %s" msgid "Unknown type: %d" msgstr "ΠΠ΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΡΠΈΠΏ ΠΎΠ±ΡΠ΅ΠΊΡΠ°: %d" -#: builtin/log.c:714 +#: builtin/log.c:715 msgid "format.headers without value" msgstr "Π² format.headers Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅" -#: builtin/log.c:798 +#: builtin/log.c:801 msgid "name of output directory is too long" msgstr "ΡΠ»ΠΈΡΠΊΠΎΠΌ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ ΠΈΠΌΡ Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°" -#: builtin/log.c:813 +#: builtin/log.c:816 #, c-format msgid "Cannot open patch file %s" msgstr "ΠΡ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ %s" -#: builtin/log.c:827 +#: builtin/log.c:830 msgid "Need exactly one range." msgstr "ΠΡΠΆΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½." -#: builtin/log.c:837 +#: builtin/log.c:840 msgid "Not a range." msgstr "ΠΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ." -#: builtin/log.c:943 +#: builtin/log.c:946 msgid "Cover letter needs email format" msgstr "Π‘ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΈΡΡΠΌΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ" -#: builtin/log.c:1022 +#: builtin/log.c:1025 #, c-format msgid "insane in-reply-to: %s" msgstr "ΠΎΡΠΈΠ±ΠΊΠ° Π² ΠΏΠΎΠ»Π΅ in-reply-to: %s" -#: builtin/log.c:1050 +#: builtin/log.c:1053 msgid "git format-patch [<options>] [<since> | <revision-range>]" msgstr "git format-patch [<ΠΎΠΏΡΠΈΠΈ>] [<Π½Π°ΡΠΈΠ½Π°Ρ-Ρ> | <Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½-ΡΠ΅Π΄Π°ΠΊΡΠΈΠΉ>]" -#: builtin/log.c:1095 +#: builtin/log.c:1098 msgid "Two output directories?" msgstr "ΠΠ²Π° Π²ΡΡ
ΠΎΠ΄Π½ΡΡ
ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°?" -#: builtin/log.c:1211 +#: builtin/log.c:1214 msgid "use [PATCH n/m] even with a single patch" msgstr "Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ [PATCH n/m] Π΄Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΡΡ" -#: builtin/log.c:1214 +#: builtin/log.c:1217 msgid "use [PATCH] even with multiple patches" msgstr "Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ [PATCH] Π΄Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΡΡΠ΅ΠΉ" -#: builtin/log.c:1218 +#: builtin/log.c:1221 msgid "print patches to standard out" msgstr "Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΠ°ΡΡΠΈ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄" -#: builtin/log.c:1220 +#: builtin/log.c:1223 msgid "generate a cover letter" msgstr "Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΈΡΡΠΌΠΎ" -#: builtin/log.c:1222 +#: builtin/log.c:1225 msgid "use simple number sequence for output file names" msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΡΠ΅Π» Π΄Π»Ρ ΠΈΠΌΠ΅Π½ Π²ΡΡ
ΠΎΠ΄Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²" -#: builtin/log.c:1223 +#: builtin/log.c:1226 msgid "sfx" msgstr "ΡΡΡΡΠΈΠΊΡ" -#: builtin/log.c:1224 +#: builtin/log.c:1227 msgid "use <sfx> instead of '.patch'" msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΡΠΈΠΊΡ <ΡΡΡΡΠΈΠΊΡ> Π²ΠΌΠ΅ΡΡΠΎ Β«.patchΒ»" -#: builtin/log.c:1226 +#: builtin/log.c:1229 msgid "start numbering patches at <n> instead of 1" msgstr "Π½Π°ΡΠ°ΡΡ Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΡ ΠΏΠ°ΡΡΠ΅ΠΉ Ρ <n>, Π° Π½Π΅ Ρ 1" -#: builtin/log.c:1228 +#: builtin/log.c:1231 msgid "mark the series as Nth re-roll" msgstr "ΠΏΠΎΠΌΠ΅ΡΠΈΡΡ ΡΠ΅ΡΠΈΡ ΠΊΠ°ΠΊ ΡΠ½Π½ΡΡ ΠΏΠΎΠΏΡΡΠΊΡ" -#: builtin/log.c:1230 +#: builtin/log.c:1233 msgid "Use [<prefix>] instead of [PATCH]" msgstr "ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ [<ΠΏΡΠ΅ΡΠΈΠΊΡ>] Π²ΠΌΠ΅ΡΡΠΎ [PATCH]" -#: builtin/log.c:1233 +#: builtin/log.c:1236 msgid "store resulting files in <dir>" msgstr "ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ Π² <ΠΊΠ°ΡΠ°Π»ΠΎΠ³>" -#: builtin/log.c:1236 +#: builtin/log.c:1239 msgid "don't strip/add [PATCH]" msgstr "Π½Π΅ ΠΎΠ±ΡΠ΅Π·Π°ΡΡ/Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ [PATCH]" -#: builtin/log.c:1239 +#: builtin/log.c:1242 msgid "don't output binary diffs" msgstr "Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ" -#: builtin/log.c:1241 +#: builtin/log.c:1244 msgid "output all-zero hash in From header" -msgstr "Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΡΡΡΡΡ Ρ
Π΅Ρ-ΡΡΠΌΠΌΡ Π² ΠΏΠΎΠ»Π΅ ΠΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ" +msgstr "Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π½ΡΠ»Π΅Π²ΡΡ Ρ
ΡΡ-ΡΡΠΌΠΌΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ From" -#: builtin/log.c:1243 +#: builtin/log.c:1246 msgid "don't include a patch matching a commit upstream" msgstr "Π½Π΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΠ°ΡΡ, Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠΆΠ΅ Π΅ΡΡΡ Π² Π²ΡΡΠ΅ΡΡΠΎΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠ΅" -#: builtin/log.c:1245 +#: builtin/log.c:1248 msgid "show patch format instead of default (patch + stat)" msgstr "Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΏΠ°ΡΡΠ°, Π° Π½Π΅ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ (ΠΏΠ°ΡΡ + ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°)" -#: builtin/log.c:1247 +#: builtin/log.c:1250 msgid "Messaging" msgstr "ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ" -#: builtin/log.c:1248 +#: builtin/log.c:1251 msgid "header" msgstr "Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ" -#: builtin/log.c:1249 +#: builtin/log.c:1252 msgid "add email header" msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ" -#: builtin/log.c:1250 builtin/log.c:1252 +#: builtin/log.c:1253 builtin/log.c:1255 msgid "email" msgstr "ΠΏΠΎΡΡΠ°" -#: builtin/log.c:1250 +#: builtin/log.c:1253 msgid "add To: header" msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ To:" -#: builtin/log.c:1252 +#: builtin/log.c:1255 msgid "add Cc: header" msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Cc:" -#: builtin/log.c:1254 +#: builtin/log.c:1257 msgid "ident" msgstr "ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ" -#: builtin/log.c:1255 +#: builtin/log.c:1258 msgid "set From address to <ident> (or committer ident if absent)" msgstr "ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π°Π΄ΡΠ΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ Π½Π° <ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ> (ΠΈΠ»ΠΈ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠΎΠΌΠΌΠΈΡΠ΅ΡΠ°, Π΅ΡΠ»ΠΈ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ)" -#: builtin/log.c:1257 +#: builtin/log.c:1260 msgid "message-id" msgstr "ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ" -#: builtin/log.c:1258 +#: builtin/log.c:1261 msgid "make first mail a reply to <message-id>" msgstr "ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΏΠΈΡΡΠΌΠΎ ΠΎΡΠ²Π΅ΡΠΎΠΌ Π½Π° <ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ>" -#: builtin/log.c:1259 builtin/log.c:1262 +#: builtin/log.c:1262 builtin/log.c:1265 msgid "boundary" msgstr "Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅" -#: builtin/log.c:1260 +#: builtin/log.c:1263 msgid "attach the patch" msgstr "ΠΏΡΠΈΠ»ΠΎΠΆΠΈΡΡ ΠΏΠ°ΡΡ" -#: builtin/log.c:1263 +#: builtin/log.c:1266 msgid "inline the patch" msgstr "Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΏΠ°ΡΡ Π² ΡΠ΅ΠΊΡΡ ΠΏΠΈΡΡΠΌΠ°" -#: builtin/log.c:1267 +#: builtin/log.c:1270 msgid "enable message threading, styles: shallow, deep" msgstr "Π²ΠΊΠ»ΡΡΠΈΡΡ Π² ΠΏΠΈΡΡΠΌΠ°Ρ
ΠΈΠ΅ΡΠ°ΡΡ
ΠΈΡΠ½ΠΎΡΡΡ, ΡΡΠΈΠ»ΠΈ: shallow (ΡΠ°ΡΡΠΈΡΠ½ΡΡ), deep (Π³Π»ΡΠ±ΠΎΠΊΡΡ)" -#: builtin/log.c:1269 +#: builtin/log.c:1272 msgid "signature" msgstr "ΠΏΠΎΠ΄ΠΏΠΈΡΡ" -#: builtin/log.c:1270 +#: builtin/log.c:1273 msgid "add a signature" msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ" -#: builtin/log.c:1272 +#: builtin/log.c:1275 msgid "add a signature from a file" msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π°" -#: builtin/log.c:1273 +#: builtin/log.c:1276 msgid "don't print the patch filenames" msgstr "Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΈΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠ°ΡΡΠ΅ΠΉ" -#: builtin/log.c:1362 +#: builtin/log.c:1365 msgid "-n and -k are mutually exclusive." msgstr "-n ΠΈ -k Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ" -#: builtin/log.c:1364 +#: builtin/log.c:1367 msgid "--subject-prefix and -k are mutually exclusive." msgstr "--subject-prefix ΠΈ -k Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ." -#: builtin/log.c:1372 +#: builtin/log.c:1375 msgid "--name-only does not make sense" msgstr "--name-only Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ»Π°" -#: builtin/log.c:1374 +#: builtin/log.c:1377 msgid "--name-status does not make sense" msgstr "--name-status Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ»Π°" -#: builtin/log.c:1376 +#: builtin/log.c:1379 msgid "--check does not make sense" msgstr "--check Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ»Π°" -#: builtin/log.c:1401 +#: builtin/log.c:1407 msgid "standard output, or directory, which one?" msgstr "ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³?" -#: builtin/log.c:1403 +#: builtin/log.c:1409 #, c-format msgid "Could not create directory '%s'" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Β«%sΒ»" -#: builtin/log.c:1500 +#: builtin/log.c:1506 #, c-format msgid "unable to read signature file '%s'" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠ» ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ Β«%sΒ»" -#: builtin/log.c:1563 +#: builtin/log.c:1569 msgid "Failed to create output files" msgstr "Π‘Π±ΠΎΠΉ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π²ΡΡ
ΠΎΠ΄Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²" -#: builtin/log.c:1611 +#: builtin/log.c:1617 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" msgstr "git cherry [-v] [<Π²ΡΡΠ΅ΡΡΠΎΡΡΠ°Ρ-Π²Π΅ΡΠΊΠ°> [<Π³ΠΎΠ»ΠΎΠ²Π°> [<ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅>]]]" -#: builtin/log.c:1665 +#: builtin/log.c:1671 #, c-format msgid "" "Could not find a tracked remote branch, please specify <upstream> " "manually.\n" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π½Π°ΠΉΡΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ Π²Π½Π΅ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ, ΡΠΊΠ°ΠΆΠΈΡΠ΅ <Π²ΡΡΠ΅ΡΡΠΎΡΡΡΡ-Π²Π΅ΡΠΊΡ> Π²ΡΡΡΠ½ΡΡ.\n" -#: builtin/log.c:1676 builtin/log.c:1678 builtin/log.c:1690 +#: builtin/log.c:1682 builtin/log.c:1684 builtin/log.c:1696 #, c-format msgid "Unknown commit %s" msgstr "ΠΠ΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ %s" -#: builtin/ls-files.c:358 +#: builtin/ls-files.c:378 msgid "git ls-files [<options>] [<file>...]" msgstr "git ls-files [<ΠΎΠΏΡΠΈΠΈ>] [<ΡΠ°ΠΉΠ»>β¦]" -#: builtin/ls-files.c:415 +#: builtin/ls-files.c:427 msgid "identify the file status with tags" msgstr "Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΈΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΌΠ΅ΡΠΊΠ°ΠΌΠΈ" -#: builtin/ls-files.c:417 +#: builtin/ls-files.c:429 msgid "use lowercase letters for 'assume unchanged' files" msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅ Π΄Π»Ρ Β«ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉΒ» ΡΠ°ΠΉΠ»ΠΎΠ²" -#: builtin/ls-files.c:419 +#: builtin/ls-files.c:431 msgid "show cached files in the output (default)" msgstr "ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ)" -#: builtin/ls-files.c:421 +#: builtin/ls-files.c:433 msgid "show deleted files in the output" msgstr "ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅" -#: builtin/ls-files.c:423 +#: builtin/ls-files.c:435 msgid "show modified files in the output" msgstr "ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅" -#: builtin/ls-files.c:425 +#: builtin/ls-files.c:437 msgid "show other files in the output" msgstr "ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅" -#: builtin/ls-files.c:427 +#: builtin/ls-files.c:439 msgid "show ignored files in the output" msgstr "ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅" -#: builtin/ls-files.c:430 +#: builtin/ls-files.c:442 msgid "show staged contents' object name in the output" msgstr "ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΠΌΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π° Π²ΡΠ²ΠΎΠ΄Π΅" -#: builtin/ls-files.c:432 +#: builtin/ls-files.c:444 msgid "show files on the filesystem that need to be removed" msgstr "ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ" -#: builtin/ls-files.c:434 +#: builtin/ls-files.c:446 msgid "show 'other' directories' names only" msgstr "ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠΌΠ΅Π½Π° Ρ Β«Π΄ΡΡΠ³ΠΈΡ
Β» ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ²" -#: builtin/ls-files.c:437 +#: builtin/ls-files.c:448 +msgid "show line endings of files" +msgstr "ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠ½ΡΡ ΡΡΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ²" + +#: builtin/ls-files.c:450 msgid "don't show empty directories" msgstr "Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΡΡΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ" -#: builtin/ls-files.c:440 +#: builtin/ls-files.c:453 msgid "show unmerged files in the output" msgstr "ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π΅ ΡΠ»ΠΈΡΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π° Π²ΡΠ²ΠΎΠ΄Π΅" -#: builtin/ls-files.c:442 +#: builtin/ls-files.c:455 msgid "show resolve-undo information" msgstr "ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΈ ΠΎΡΠΌΠ΅Π½Π΅" -#: builtin/ls-files.c:444 +#: builtin/ls-files.c:457 msgid "skip files matching pattern" msgstr "ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΡΠ°ΠΉΠ»Ρ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ" -#: builtin/ls-files.c:447 +#: builtin/ls-files.c:460 msgid "exclude patterns are read from <file>" msgstr "ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ· <ΡΠ°ΠΉΠ»>" -#: builtin/ls-files.c:450 +#: builtin/ls-files.c:463 msgid "read additional per-directory exclude patterns in <file>" msgstr "ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠΊΠ°ΡΠ°Π»ΠΎΠΆΠ½ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ· <ΡΠ°ΠΉΠ»>" -#: builtin/ls-files.c:452 +#: builtin/ls-files.c:465 msgid "add the standard git exclusions" msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ git" -#: builtin/ls-files.c:455 +#: builtin/ls-files.c:468 msgid "make the output relative to the project top directory" msgstr "Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΡΡΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°" -#: builtin/ls-files.c:458 +#: builtin/ls-files.c:471 msgid "if any <file> is not in the index, treat this as an error" msgstr "Π΅ΡΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ <ΡΠ°ΠΉΠ»> Π½Π΅ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅, ΡΡΠΈΡΠ°ΡΡ ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ" -#: builtin/ls-files.c:459 +#: builtin/ls-files.c:472 msgid "tree-ish" msgstr "ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ-Π΄Π΅ΡΠ΅Π²Π°" -#: builtin/ls-files.c:460 +#: builtin/ls-files.c:473 msgid "pretend that paths removed since <tree-ish> are still present" msgstr "ΠΏΡΠΈΡΠ²ΠΎΡΠΈΡΡΡΡ, ΡΡΠΎ ΠΏΡΡΠΈ ΡΠ΄Π°Π»Π΅Π½Ρ, Ρ.ΠΊ. <ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ-Π΄Π΅ΡΠ΅Π²Π°> Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ" -#: builtin/ls-files.c:462 +#: builtin/ls-files.c:475 msgid "show debugging data" msgstr "ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ" +#: builtin/ls-remote.c:7 +msgid "" +"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n" +" [-q | --quiet] [--exit-code] [--get-url]\n" +" [--symref] [<repository> [<refs>...]]" +msgstr "git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<Π·Π°ΠΏΡΡΠΊ>]\n [-q | --quiet] [--exit-code] [--get-url]\n [--symref] [<ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ> [<ΡΡΡΠ»ΠΊΠΈ>β¦]]" + +#: builtin/ls-remote.c:50 +msgid "do not print remote URL" +msgstr "Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ URL Π²Π½Π΅ΡΠ½ΠΈΡ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π²" + +#: builtin/ls-remote.c:51 builtin/ls-remote.c:53 +msgid "exec" +msgstr "Π·Π°ΠΏΡΡΠΊ" + +#: builtin/ls-remote.c:52 builtin/ls-remote.c:54 +msgid "path of git-upload-pack on the remote host" +msgstr "ΠΏΡΡΡ ΠΊ git-upload-pack Π½Π° Π²Π½Π΅ΡΠ½Π΅ΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅" + +#: builtin/ls-remote.c:56 +msgid "limit to tags" +msgstr "ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΌΠ΅ΡΠΊΠ°ΠΌΠΈ" + +#: builtin/ls-remote.c:57 +msgid "limit to heads" +msgstr "ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ Π½Π° Π²Π΅ΡΠΊΠΈ" + +#: builtin/ls-remote.c:58 +msgid "do not show peeled tags" +msgstr "Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠ΅ ΠΌΠ΅ΡΠΊΠΈ" + +#: builtin/ls-remote.c:60 +msgid "take url.<base>.insteadOf into account" +msgstr "ΡΡΠΈΡΡΠ²Π°ΡΡ url.<Π±Π°Π·Π°>.insteadOf" + +#: builtin/ls-remote.c:62 +msgid "exit with exit code 2 if no matching refs are found" +msgstr "Π²ΡΡ
ΠΎΠ΄ΠΈΡΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ 2, Π΅ΡΠ»ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Ρ" + +#: builtin/ls-remote.c:64 +msgid "show underlying ref in addition to the object pointed by it" +msgstr "ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ°ΠΊΠΆΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΡΡΠ»ΠΊΡ Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½Π° ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ" + #: builtin/ls-tree.c:28 msgid "git ls-tree [<options>] <tree-ish> [<path>...]" msgstr "git ls-tree [<ΠΎΠΏΡΠΈΠΈ>] <ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ-Π΄Π΅ΡΠ΅Π²Π°> [<ΠΏΡΡΡ>β¦]" @@ -7268,31 +7519,31 @@ msgstr "ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ:" msgid "Available custom strategies are:" msgstr "ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ:" -#: builtin/merge.c:193 builtin/pull.c:119 +#: builtin/merge.c:193 builtin/pull.c:123 msgid "do not show a diffstat at the end of the merge" msgstr "Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎΡΠ»Π΅ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ" -#: builtin/merge.c:196 builtin/pull.c:122 +#: builtin/merge.c:196 builtin/pull.c:126 msgid "show a diffstat at the end of the merge" msgstr "Π²ΡΠ²Π΅ΡΡΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎΡΠ»Π΅ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ" -#: builtin/merge.c:197 builtin/pull.c:125 +#: builtin/merge.c:197 builtin/pull.c:129 msgid "(synonym to --stat)" msgstr "(ΡΠΈΠ½ΠΎΠ½ΠΈΠΌ Π΄Π»Ρ --stat)" -#: builtin/merge.c:199 builtin/pull.c:128 +#: builtin/merge.c:199 builtin/pull.c:132 msgid "add (at most <n>) entries from shortlog to merge commit message" msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡΡ (ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ <n>) Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΠΊΠΎΠ³ΠΎ ΠΆΡΡΠ½Π°Π»Π° Π² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ° Ρ ΡΠ»ΠΈΡΠ½ΠΈΡ" -#: builtin/merge.c:202 builtin/pull.c:131 +#: builtin/merge.c:202 builtin/pull.c:135 msgid "create a single commit instead of doing a merge" msgstr "ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ, Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ" -#: builtin/merge.c:204 builtin/pull.c:134 +#: builtin/merge.c:204 builtin/pull.c:138 msgid "perform a commit if the merge succeeds (default)" msgstr "ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ, Π΅ΡΠ»ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΏΡΠΎΡΠ»ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ)" -#: builtin/merge.c:206 builtin/pull.c:137 +#: builtin/merge.c:206 builtin/pull.c:141 msgid "edit message before committing" msgstr "ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ°" @@ -7300,28 +7551,28 @@ msgstr "ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π msgid "allow fast-forward (default)" msgstr "ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΡ Π²ΠΏΠ΅ΡΠ΅Π΄ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ)" -#: builtin/merge.c:209 builtin/pull.c:143 +#: builtin/merge.c:209 builtin/pull.c:147 msgid "abort if fast-forward is not possible" -msgstr "ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠ° Π²ΠΏΠ΅ΡΠ΅Π΄ Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°" +msgstr "ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠ° Π²ΠΏΠ΅ΡΠ΅Π΄ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°" #: builtin/merge.c:213 msgid "Verify that the named commit has a valid GPG signature" msgstr "ΠΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π²Π΅ΡΠ½ΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ GPG" -#: builtin/merge.c:214 builtin/notes.c:767 builtin/pull.c:148 +#: builtin/merge.c:214 builtin/notes.c:770 builtin/pull.c:152 #: builtin/revert.c:89 msgid "strategy" msgstr "ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ" -#: builtin/merge.c:215 builtin/pull.c:149 +#: builtin/merge.c:215 builtin/pull.c:153 msgid "merge strategy to use" msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ" -#: builtin/merge.c:216 builtin/pull.c:152 +#: builtin/merge.c:216 builtin/pull.c:156 msgid "option=value" msgstr "ΠΎΠΏΡΠΈΡ=Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅" -#: builtin/merge.c:217 builtin/pull.c:153 +#: builtin/merge.c:217 builtin/pull.c:157 msgid "option for selected merge strategy" msgstr "ΠΎΠΏΡΠΈΠΈ Π΄Π»Ρ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ" @@ -7359,8 +7610,8 @@ msgstr " (Π½Π΅ΡΠ΅Π³ΠΎ ΡΠΏΠ»ΠΎΡΠ½ΡΡΡ)" msgid "Squash commit -- not updating HEAD\n" msgstr "Π£ΠΏΠ»ΠΎΡΠ½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ° β Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ HEAD\n" -#: builtin/merge.c:344 builtin/merge.c:763 builtin/merge.c:975 -#: builtin/merge.c:988 +#: builtin/merge.c:344 builtin/merge.c:764 builtin/merge.c:976 +#: builtin/merge.c:989 #, c-format msgid "Could not write to '%s'" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² Β«%sΒ»" @@ -7378,41 +7629,41 @@ msgstr "ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ SQUASH_MSG" msgid "No merge message -- not updating HEAD\n" msgstr "ΠΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ β Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌ HEAD\n" -#: builtin/merge.c:447 +#: builtin/merge.c:448 #, c-format msgid "'%s' does not point to a commit" msgstr "Β«%sΒ» Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ" -#: builtin/merge.c:537 +#: builtin/merge.c:538 #, c-format msgid "Bad branch.%s.mergeoptions string: %s" msgstr "ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ ΡΡΡΠΎΠΊΠ° branch.%s.mergeoptions: %s" -#: builtin/merge.c:656 +#: builtin/merge.c:657 msgid "Not handling anything other than two heads merge." -msgstr "ΠΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Ρ Π½ΠΈΡΠ΅Π³ΠΎ, ΠΊΡΠΎΠΌΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΡ Π΄Π²ΡΡ
ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡΡ." +msgstr "ΠΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Ρ Π½ΠΈΡΠ΅Π³ΠΎ, ΠΊΡΠΎΠΌΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΡ Π΄Π²ΡΡ
ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° Π²Π΅ΡΠΊΠΈ." -#: builtin/merge.c:670 +#: builtin/merge.c:671 #, c-format msgid "Unknown option for merge-recursive: -X%s" msgstr "ΠΠ΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ merge-recursive: -X%s" -#: builtin/merge.c:683 +#: builtin/merge.c:684 #, c-format msgid "unable to write %s" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π·Π°ΠΏΠΈΡΠ°ΡΡ %s" -#: builtin/merge.c:772 +#: builtin/merge.c:773 #, c-format msgid "Could not read from '%s'" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΈΠ· Β«%sΒ»" -#: builtin/merge.c:781 +#: builtin/merge.c:782 #, c-format msgid "Not committing merge; use 'git commit' to complete the merge.\n" msgstr "ΠΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ; ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Β«git commitΒ» Π΄Π»Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ.\n" -#: builtin/merge.c:787 +#: builtin/merge.c:788 #, c-format msgid "" "Please enter a commit message to explain why this merge is necessary,\n" @@ -7422,157 +7673,157 @@ msgid "" "the commit.\n" msgstr "ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°, Π΄Π»Ρ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ, Π·Π°ΡΠ΅ΠΌ Π½ΡΠΆΠ½ΠΎ\nΡΡΠΎ ΡΠ»ΠΈΡΠ½ΠΈΠ΅, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Π²ΡΡΠ΅ΡΡΠΎΡΡΠ΅ΠΉ\nΠ²Π΅ΡΠΊΠΈ Π² ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ Π²Π΅ΡΠΊΡ.\n\nΠ‘ΡΡΠΎΠΊΠΈ, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ΡΡ Ρ Β«%cΒ» Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½Ρ, Π° ΠΏΡΡΡΠΎΠ΅\nΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ°.\n" -#: builtin/merge.c:811 +#: builtin/merge.c:812 msgid "Empty commit message." msgstr "ΠΡΡΡΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°." -#: builtin/merge.c:823 +#: builtin/merge.c:824 #, c-format msgid "Wonderful.\n" msgstr "ΠΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ.\n" -#: builtin/merge.c:878 +#: builtin/merge.c:879 #, c-format msgid "Automatic merge failed; fix conflicts and then commit the result.\n" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅; ΠΈΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΠΈ ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°.\n" -#: builtin/merge.c:894 +#: builtin/merge.c:895 #, c-format msgid "'%s' is not a commit" msgstr "Β«%sΒ» Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ" -#: builtin/merge.c:935 +#: builtin/merge.c:936 msgid "No current branch." msgstr "ΠΠ΅Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ." -#: builtin/merge.c:937 +#: builtin/merge.c:938 msgid "No remote for the current branch." msgstr "Π£ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ Π½Π΅Ρ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ." -#: builtin/merge.c:939 +#: builtin/merge.c:940 msgid "No default upstream defined for the current branch." msgstr "ΠΠ»Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½Π° Π²ΡΡΠ΅ΡΡΠΎΡΡΠ°Ρ Π²Π΅ΡΠΊΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ." -#: builtin/merge.c:944 +#: builtin/merge.c:945 #, c-format msgid "No remote-tracking branch for %s from %s" msgstr "ΠΠ΅ ΡΠΊΠ°Π·Π°Π½Π° Π²Π½Π΅ΡΠ½ΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΠ°Ρ Π²Π΅ΡΠΊΠ° Π΄Π»Ρ %s Π½Π° %s" -#: builtin/merge.c:1079 +#: builtin/merge.c:1080 #, c-format msgid "could not close '%s'" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π·Π°ΠΊΡΡΡΡ Β«%sΒ»" -#: builtin/merge.c:1206 +#: builtin/merge.c:1207 msgid "There is no merge to abort (MERGE_HEAD missing)." msgstr "ΠΠ΅Ρ ΡΠ»ΠΈΡΠ½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ (ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΉΠ» MERGE_HEAD)." -#: builtin/merge.c:1222 +#: builtin/merge.c:1223 msgid "" "You have not concluded your merge (MERGE_HEAD exists).\n" "Please, commit your changes before you merge." msgstr "ΠΡ Π½Π΅ Π·Π°Π²Π΅ΡΡΠΈΠ»ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ (ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΉΠ» MERGE_HEAD).\nΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ Π²Π°ΡΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΠ΅ΡΠ΅Π΄ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ." -#: builtin/merge.c:1229 +#: builtin/merge.c:1230 msgid "" "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n" "Please, commit your changes before you merge." msgstr "ΠΡ Π½Π΅ Π·Π°Π²Π΅ΡΡΠΈΠ»ΠΈ ΠΎΡΠ±ΠΎΡ Π»ΡΡΡΠ΅Π³ΠΎ (ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΉΠ» CHERRY_PICK_HEAD).\nΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ Π²Π°ΡΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΠ΅ΡΠ΅Π΄ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ." -#: builtin/merge.c:1232 +#: builtin/merge.c:1233 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)." msgstr "ΠΡ Π½Π΅ Π·Π°Π²Π΅ΡΡΠΈΠ»ΠΈ ΠΎΡΠ±ΠΎΡ Π»ΡΡΡΠ΅Π³ΠΎ (ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΉΠ» CHERRY_PICK_HEAD)." -#: builtin/merge.c:1241 +#: builtin/merge.c:1242 msgid "You cannot combine --squash with --no-ff." msgstr "ΠΠ΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ --squash ΠΈ --no-ff." -#: builtin/merge.c:1249 +#: builtin/merge.c:1250 msgid "No commit specified and merge.defaultToUpstream not set." msgstr "ΠΠΎΠΌΠΌΠΈΡ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ merge.defaultToUpstream Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½." -#: builtin/merge.c:1266 +#: builtin/merge.c:1267 msgid "Squash commit into empty head not supported yet" -msgstr "Π£ΠΏΠ»ΠΎΡΠ½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π² ΠΏΡΡΡΠΎΠΉ HEAD Π΅ΡΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ" +msgstr "Π£ΠΏΠ»ΠΎΡΠ½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π² ΠΏΡΡΡΡΡ Π²Π΅ΡΠΊΡ Π΅ΡΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ" -#: builtin/merge.c:1268 +#: builtin/merge.c:1269 msgid "Non-fast-forward commit does not make sense into an empty head" -msgstr "ΠΠΎΠΌΠΌΠΈΡ, Π½Π΅ ΡΠ²Π»ΡΡΡΠΈΠΉΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠΎΠΉ Π²ΠΏΠ΅ΡΠ΅Π΄, Π½Π΅Ρ ΡΠΌΡΡΠ»Π° Π΄Π΅Π»Π°ΡΡ Π² ΠΏΡΡΡΠΎΠΉ HEAD." +msgstr "ΠΠΎΠΌΠΌΠΈΡ, Π½Π΅ ΡΠ²Π»ΡΡΡΠΈΠΉΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠΎΠΉ Π²ΠΏΠ΅ΡΠ΅Π΄, Π½Π΅Ρ ΡΠΌΡΡΠ»Π° Π΄Π΅Π»Π°ΡΡ Π² ΠΏΡΡΡΡΡ Π²Π΅ΡΠΊΡ." -#: builtin/merge.c:1274 +#: builtin/merge.c:1275 #, c-format msgid "%s - not something we can merge" msgstr "%s Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»ΠΈΡΡ" -#: builtin/merge.c:1276 +#: builtin/merge.c:1277 msgid "Can merge only exactly one commit into empty head" -msgstr "ΠΠΎΠΆΠ½ΠΎ ΡΠ»ΠΈΡΡ ΡΡΡΠΎΠ³ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ Π² ΠΏΡΡΡΠΎΠΉ HEAD." +msgstr "ΠΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠΈΡ Π² ΠΏΡΡΡΡΡ Π²Π΅ΡΠΊΡ." -#: builtin/merge.c:1331 +#: builtin/merge.c:1332 #, c-format msgid "Commit %s has an untrusted GPG signature, allegedly by %s." msgstr "ΠΠΎΠΌΠΌΠΈΡ %s ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π΅ Π΄ΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΡ GPG ΠΏΠΎΠ΄ΠΏΠΈΡΡ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡ %s." -#: builtin/merge.c:1334 +#: builtin/merge.c:1335 #, c-format msgid "Commit %s has a bad GPG signature allegedly by %s." msgstr "ΠΠΎΠΌΠΌΠΈΡ %s ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠ»ΠΎΡ
ΡΡ GPG ΠΏΠΎΠ΄ΠΏΠΈΡΡ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡ %s." -#: builtin/merge.c:1337 +#: builtin/merge.c:1338 #, c-format msgid "Commit %s does not have a GPG signature." msgstr "ΠΠΎΠΌΠΌΠΈΡ %s Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ GPG ΠΏΠΎΠ΄ΠΏΠΈΡΡ." -#: builtin/merge.c:1340 +#: builtin/merge.c:1341 #, c-format msgid "Commit %s has a good GPG signature by %s\n" msgstr "ΠΠΎΠΌΠΌΠΈΡ %s ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ GPG ΠΏΠΎΠ΄ΠΏΠΈΡΡ, ΠΎΡ %s.\n" -#: builtin/merge.c:1423 +#: builtin/merge.c:1424 #, c-format msgid "Updating %s..%s\n" msgstr "ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ %s..%s\n" -#: builtin/merge.c:1460 +#: builtin/merge.c:1461 #, c-format msgid "Trying really trivial in-index merge...\n" msgstr "ΠΠΎΠΏΡΡΠΊΠ° ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΈΡΠ½ΠΈΡ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅β¦\n" -#: builtin/merge.c:1467 +#: builtin/merge.c:1468 #, c-format msgid "Nope.\n" msgstr "ΠΠ΅ Π²ΡΡΠ»ΠΎ.\n" -#: builtin/merge.c:1499 +#: builtin/merge.c:1500 msgid "Not possible to fast-forward, aborting." -msgstr "ΠΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠ° Π²ΠΏΠ΅ΡΠ΅Π΄ Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°, ΠΎΡΠΌΠ΅Π½Π°." +msgstr "ΠΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠ° Π²ΠΏΠ΅ΡΠ΅Π΄ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°, ΠΎΡΠΌΠ΅Π½Π°." -#: builtin/merge.c:1522 builtin/merge.c:1601 +#: builtin/merge.c:1523 builtin/merge.c:1602 #, c-format msgid "Rewinding the tree to pristine...\n" msgstr "ΠΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠ° Π΄Π΅ΡΠ΅Π²Π° ΠΊ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡβ¦\n" -#: builtin/merge.c:1526 +#: builtin/merge.c:1527 #, c-format msgid "Trying merge strategy %s...\n" msgstr "ΠΠΎΠΏΡΡΠΊΠ° ΡΠ»ΠΈΡΠ½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ %sβ¦\n" -#: builtin/merge.c:1592 +#: builtin/merge.c:1593 #, c-format msgid "No merge strategy handled the merge.\n" msgstr "ΠΠΈ ΠΎΠ΄Π½Π° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ Π½Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π»Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅.\n" -#: builtin/merge.c:1594 +#: builtin/merge.c:1595 #, c-format msgid "Merge with strategy %s failed.\n" msgstr "Π‘Π±ΠΎΠΉ ΠΏΡΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ %s.\n" -#: builtin/merge.c:1603 +#: builtin/merge.c:1604 #, c-format msgid "Using the %s to prepare resolving by hand.\n" msgstr "ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ %s Π΄Π»Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΡΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ².\n" -#: builtin/merge.c:1615 +#: builtin/merge.c:1616 #, c-format msgid "Automatic merge went well; stopped before committing as requested\n" msgstr "ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΏΡΠΎΡΠ»ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ; ΠΊΠ°ΠΊ ΠΈ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π»ΠΈ, ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ°\n" @@ -7655,19 +7906,19 @@ msgstr "Π½Π΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°ΡΡ ΠΎ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°Ρ
" msgid "set labels for file1/orig-file/file2" msgstr "ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΌΠ΅ΡΠΊΠΈ Π΄Π»Ρ ΡΠ°ΠΉΠ»1/ΠΎΡΠΈΠ³-ΡΠ°ΠΉΠ»/ΡΠ°ΠΉΠ»2" -#: builtin/mktree.c:64 +#: builtin/mktree.c:65 msgid "git mktree [-z] [--missing] [--batch]" msgstr "git mktree [-z] [--missing] [--batch]" -#: builtin/mktree.c:150 +#: builtin/mktree.c:152 msgid "input is NUL terminated" -msgstr "Π²Π²ΠΎΠ΄ ΠΎΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΠ£ΠΠΠΠ«ΠΠ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ" +msgstr "Π²Π²ΠΎΠ΄ ΠΎΡΠ΄Π΅Π»ΡΠ½Π½ΡΠΉ ΠΠ£ΠΠΠΠ«ΠΠ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ" -#: builtin/mktree.c:151 builtin/write-tree.c:24 +#: builtin/mktree.c:153 builtin/write-tree.c:24 msgid "allow missing objects" msgstr "Π΄ΠΎΠΏΡΡΡΠΈΡΡ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²" -#: builtin/mktree.c:152 +#: builtin/mktree.c:154 msgid "allow creation of more than one tree" msgstr "Π΄ΠΎΠΏΡΡΡΠΈΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄Π΅ΡΠ΅Π²Π°" @@ -7675,90 +7926,90 @@ msgstr "Π΄ΠΎΠΏΡΡΡΠΈΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄Π΅ΡΠ΅Π²Π° msgid "git mv [<options>] <source>... <destination>" msgstr "git mv [<ΠΎΠΏΡΠΈΠΈ>] <ΠΈΡΡΠΎΡΠ½ΠΈΠΊ>β¦ <Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅>" -#: builtin/mv.c:69 +#: builtin/mv.c:70 #, c-format msgid "Directory %s is in index and no submodule?" msgstr "ΠΠ°ΡΠ°Π»ΠΎΠ³ %s Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅ ΠΈ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ?" -#: builtin/mv.c:71 +#: builtin/mv.c:72 msgid "Please stage your changes to .gitmodules or stash them to proceed" msgstr "Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ, ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΡΠΉΡΠ΅ ΠΈΠ»ΠΈ ΡΠΏΡΡΡΡΡΠ΅ Π²Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅ .gitmodules" -#: builtin/mv.c:89 +#: builtin/mv.c:90 #, c-format msgid "%.*s is in index" msgstr "%.*s Π² ΠΈΠ½Π΄Π΅ΡΠ΅" -#: builtin/mv.c:111 +#: builtin/mv.c:112 msgid "force move/rename even if target exists" msgstr "ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ/ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠ΅Π»Ρ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ" -#: builtin/mv.c:112 +#: builtin/mv.c:113 msgid "skip move/rename errors" msgstr "ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ/ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ" -#: builtin/mv.c:151 +#: builtin/mv.c:152 #, c-format msgid "destination '%s' is not a directory" msgstr "ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΏΡΡΡ Β«%sΒ» Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ" -#: builtin/mv.c:162 +#: builtin/mv.c:163 #, c-format msgid "Checking rename of '%s' to '%s'\n" msgstr "ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ· Β«%sΒ» Π² Β«%sΒ»\n" -#: builtin/mv.c:166 +#: builtin/mv.c:167 msgid "bad source" msgstr "ΠΏΠ»ΠΎΡ
ΠΎΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ" -#: builtin/mv.c:169 +#: builtin/mv.c:170 msgid "can not move directory into itself" msgstr "Π½Π΅Π»ΡΠ·Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π² ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ΅Π±Ρ" -#: builtin/mv.c:172 +#: builtin/mv.c:173 msgid "cannot move directory over file" msgstr "Π½Π΅Π»ΡΠ·Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π² ΡΠ°ΠΉΠ»" -#: builtin/mv.c:181 +#: builtin/mv.c:182 msgid "source directory is empty" msgstr "ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΡΡΡ" -#: builtin/mv.c:206 +#: builtin/mv.c:207 msgid "not under version control" msgstr "Π½Π΅ ΠΏΠΎΠ΄ Π²Π΅ΡΡΠΈΠΎΠ½Π½ΡΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΠΌ" -#: builtin/mv.c:209 +#: builtin/mv.c:210 msgid "destination exists" msgstr "ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΏΡΡΡ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ" -#: builtin/mv.c:217 +#: builtin/mv.c:218 #, c-format msgid "overwriting '%s'" msgstr "ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡ Β«%sΒ»" -#: builtin/mv.c:220 +#: builtin/mv.c:221 msgid "Cannot overwrite" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°ΡΡ" -#: builtin/mv.c:223 +#: builtin/mv.c:224 msgid "multiple sources for the same target" msgstr "Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅Π»Π΅Π²ΠΎΠ³ΠΎ ΠΏΡΡΠΈ" -#: builtin/mv.c:225 +#: builtin/mv.c:226 msgid "destination directory does not exist" msgstr "ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ" -#: builtin/mv.c:232 +#: builtin/mv.c:233 #, c-format msgid "%s, source=%s, destination=%s" msgstr "%s, ΠΎΡΠΊΡΠ΄Π°=%s, ΠΊΡΠ΄Π°=%s" -#: builtin/mv.c:253 +#: builtin/mv.c:254 #, c-format msgid "Renaming %s to %s\n" msgstr "ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ %s Π² %s\n" -#: builtin/mv.c:256 builtin/remote.c:728 builtin/repack.c:365 +#: builtin/mv.c:257 builtin/remote.c:714 builtin/repack.c:365 #, c-format msgid "renaming '%s' failed" msgstr "ΡΠ±ΠΎΠΉ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ Β«%sΒ»" @@ -7951,9 +8202,9 @@ msgid "could not open or read '%s'" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΠΊΡΡΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Β«%sΒ»" #: builtin/notes.c:253 builtin/notes.c:304 builtin/notes.c:306 -#: builtin/notes.c:366 builtin/notes.c:421 builtin/notes.c:507 -#: builtin/notes.c:512 builtin/notes.c:590 builtin/notes.c:653 -#: builtin/notes.c:877 builtin/tag.c:456 +#: builtin/notes.c:369 builtin/notes.c:424 builtin/notes.c:510 +#: builtin/notes.c:515 builtin/notes.c:593 builtin/notes.c:656 +#: builtin/notes.c:880 builtin/tag.c:456 #, c-format msgid "Failed to resolve '%s' as a valid ref." msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ Β«%sΒ» ΠΊΠ°ΠΊ ΡΡΡΠ»ΠΊΡ." @@ -7968,146 +8219,146 @@ msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Β«%sΒ»." msgid "Cannot read note data from non-blob object '%s'." msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ ΠΈΠ· Π½Π΅Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Β«%sΒ»." -#: builtin/notes.c:359 builtin/notes.c:414 builtin/notes.c:490 -#: builtin/notes.c:502 builtin/notes.c:578 builtin/notes.c:646 -#: builtin/notes.c:942 +#: builtin/notes.c:362 builtin/notes.c:417 builtin/notes.c:493 +#: builtin/notes.c:505 builtin/notes.c:581 builtin/notes.c:649 +#: builtin/notes.c:945 msgid "too many parameters" msgstr "ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²" -#: builtin/notes.c:372 builtin/notes.c:659 +#: builtin/notes.c:375 builtin/notes.c:662 #, c-format msgid "No note found for object %s." msgstr "ΠΠ΅ Π½Π°ΠΉΠ΄Π΅Π½Π° Π·Π°ΠΌΠ΅ΡΠΊΠ° Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° %s." -#: builtin/notes.c:393 builtin/notes.c:556 +#: builtin/notes.c:396 builtin/notes.c:559 msgid "note contents as a string" msgstr "ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ" -#: builtin/notes.c:396 builtin/notes.c:559 +#: builtin/notes.c:399 builtin/notes.c:562 msgid "note contents in a file" msgstr "ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ Π² ΡΠ°ΠΉΠ»Π΅" -#: builtin/notes.c:399 builtin/notes.c:562 +#: builtin/notes.c:402 builtin/notes.c:565 msgid "reuse and edit specified note object" msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π·Π°ΠΌΠ΅ΡΠΊΠΈ" -#: builtin/notes.c:402 builtin/notes.c:565 +#: builtin/notes.c:405 builtin/notes.c:568 msgid "reuse specified note object" msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π·Π°ΠΌΠ΅ΡΠΊΠΈ" -#: builtin/notes.c:405 builtin/notes.c:568 +#: builtin/notes.c:408 builtin/notes.c:571 msgid "allow storing empty note" msgstr "ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΡΡΡΠΎΠΉ Π·Π°ΠΌΠ΅ΡΠΊΠΈ" -#: builtin/notes.c:406 builtin/notes.c:477 +#: builtin/notes.c:409 builtin/notes.c:480 msgid "replace existing notes" msgstr "Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ" -#: builtin/notes.c:431 +#: builtin/notes.c:434 #, c-format msgid "" "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite " "existing notes" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π·Π°ΠΌΠ΅ΡΠΊΡ. ΠΠ°ΠΉΠ΄Π΅Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ°Ρ Π·Π°ΠΌΠ΅ΡΠΊΠ° Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° %s. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Β«-fΒ» Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
Π·Π°ΠΌΠ΅ΡΠΎΠΊ." -#: builtin/notes.c:446 builtin/notes.c:525 +#: builtin/notes.c:449 builtin/notes.c:528 #, c-format msgid "Overwriting existing notes for object %s\n" msgstr "ΠΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
Π·Π°ΠΌΠ΅ΡΠΎΠΊ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° %s\n" -#: builtin/notes.c:457 builtin/notes.c:618 builtin/notes.c:882 +#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:885 #, c-format msgid "Removing note for object %s\n" msgstr "Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° %s\n" -#: builtin/notes.c:478 +#: builtin/notes.c:481 msgid "read objects from stdin" msgstr "ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°" -#: builtin/notes.c:480 +#: builtin/notes.c:483 msgid "load rewriting config for <command> (implies --stdin)" msgstr "Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ <ΠΊΠΎΠΌΠ°Π½Π΄Π°> (Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ --stdin)" -#: builtin/notes.c:498 +#: builtin/notes.c:501 msgid "too few parameters" msgstr "ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ°Π»ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²" -#: builtin/notes.c:519 +#: builtin/notes.c:522 #, c-format msgid "" "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite" " existing notes" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π·Π°ΠΌΠ΅ΡΠΊΡ. ΠΠ°ΠΉΠ΄Π΅Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ°Ρ Π·Π°ΠΌΠ΅ΡΠΊΠ° Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° %s. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Β«-fΒ» Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
Π·Π°ΠΌΠ΅ΡΠΎΠΊ." -#: builtin/notes.c:531 +#: builtin/notes.c:534 #, c-format msgid "Missing notes on source object %s. Cannot copy." msgstr "ΠΠ΅Ρ Π·Π°ΠΌΠ΅ΡΠΎΠΊ Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° %s. ΠΠ΅Π»ΡΠ·Ρ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ." -#: builtin/notes.c:583 +#: builtin/notes.c:586 #, c-format msgid "" "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n" "Please use 'git notes add -f -m/-F/-c/-C' instead.\n" msgstr "ΠΠΏΡΠΈΠΈ -m/-F/-c/-C Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«editΒ» ΡΡΡΠ°ΡΠ΅Π»ΠΈ.\nΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ Π½ΠΈΡ
Β«git notes add -f -m/-F/-c/-CΒ».\n" -#: builtin/notes.c:764 +#: builtin/notes.c:767 msgid "General options" msgstr "ΠΠ±ΡΠΈΠ΅ ΠΎΠΏΡΠΈΠΈ" -#: builtin/notes.c:766 +#: builtin/notes.c:769 msgid "Merge options" msgstr "ΠΠΏΡΠΈΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ" -#: builtin/notes.c:768 +#: builtin/notes.c:771 msgid "" "resolve notes conflicts using the given strategy " "(manual/ours/theirs/union/cat_sort_uniq)" msgstr "ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ Π·Π°ΠΌΠ΅ΡΠΎΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ (manual/ours/theirs/union/cat_sort_uniq)" -#: builtin/notes.c:770 +#: builtin/notes.c:773 msgid "Committing unmerged notes" msgstr "ΠΠΎΠΌΠΌΠΈΡ Π½Π΅ ΡΠ»ΠΈΡΡΡ
Π·Π°ΠΌΠ΅ΡΠΎΠΊ" -#: builtin/notes.c:772 +#: builtin/notes.c:775 msgid "finalize notes merge by committing unmerged notes" msgstr "Π·Π°Π²Π΅ΡΡΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΎΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ Π½Π΅ ΡΠ»ΠΈΡΡΡ
Π·Π°ΠΌΠ΅ΡΠΎΠΊ" -#: builtin/notes.c:774 +#: builtin/notes.c:777 msgid "Aborting notes merge resolution" msgstr "ΠΡΠΌΠ΅Π½Π° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ»ΠΈΡΠ½ΠΈΡ Π·Π°ΠΌΠ΅ΡΠΎΠΊ" -#: builtin/notes.c:776 +#: builtin/notes.c:779 msgid "abort notes merge" msgstr "ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΎΠΊ" -#: builtin/notes.c:853 +#: builtin/notes.c:856 #, c-format msgid "A notes merge into %s is already in-progress at %s" msgstr "Π‘Π»ΠΈΡΠ½ΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΎΠΊ Π² %s ΡΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π° %s" -#: builtin/notes.c:880 +#: builtin/notes.c:883 #, c-format msgid "Object %s has no note\n" msgstr "Π£ ΠΎΠ±ΡΠ΅ΠΊΡΠ° %s Π½Π΅Ρ Π·Π°ΠΌΠ΅ΡΠΊΠΈ\n" -#: builtin/notes.c:892 +#: builtin/notes.c:895 msgid "attempt to remove non-existent note is not an error" msgstr "ΠΏΠΎΠΏΡΡΠΊΠ° ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ Π·Π°ΠΌΠ΅ΡΠΊΠΈ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ" -#: builtin/notes.c:895 +#: builtin/notes.c:898 msgid "read object names from the standard input" msgstr "ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΈΠΌΠ΅Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°" -#: builtin/notes.c:976 +#: builtin/notes.c:979 msgid "notes-ref" msgstr "ΡΡΡΠ»ΠΊΠ°-Π½Π°-Π·Π°ΠΌΠ΅ΡΠΊΡ" -#: builtin/notes.c:977 +#: builtin/notes.c:980 msgid "use notes from <notes-ref>" msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π°ΠΌΠ΅ΡΠΊΡ ΠΈΠ· <ΡΡΡΠ»ΠΊΠ°-Π½Π°-Π·Π°ΠΌΠ΅ΡΠΊΡ>" -#: builtin/notes.c:1012 builtin/remote.c:1647 +#: builtin/notes.c:1015 builtin/remote.c:1626 #, c-format msgid "Unknown subcommand: %s" msgstr "ΠΠ΅ΠΈΠ·Π²Π΅ΡΡΠ½Π°Ρ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Π°: %s" @@ -8127,165 +8378,165 @@ msgstr "git pack-objects [<ΠΎΠΏΡΠΈΠΈ>β¦] <ΠΈΠΌΡ-Π±Π°Π·Ρ> [< <ΡΠΏΠΈΡΠΎΠΊ-Ρ msgid "deflate error (%d)" msgstr "ΠΎΡΠΈΠ±ΠΊΠ° ΡΠΆΠ°ΡΠΈΡ (%d)" -#: builtin/pack-objects.c:771 +#: builtin/pack-objects.c:772 msgid "Writing objects" msgstr "ΠΠ°ΠΏΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²" -#: builtin/pack-objects.c:1011 +#: builtin/pack-objects.c:1012 msgid "disabling bitmap writing, as some objects are not being packed" msgstr "ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π±ΠΈΡΠΎΠ²ΡΡ
ΠΊΠ°ΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π½Π΅ Π±ΡΠ»ΠΈ ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Ρ" -#: builtin/pack-objects.c:2171 +#: builtin/pack-objects.c:2172 msgid "Compressing objects" msgstr "Π‘ΠΆΠ°ΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²" -#: builtin/pack-objects.c:2568 +#: builtin/pack-objects.c:2558 #, c-format msgid "unsupported index version %s" msgstr "Π½Π΅ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠ°Ρ Π²Π΅ΡΡΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° %s" -#: builtin/pack-objects.c:2572 +#: builtin/pack-objects.c:2562 #, c-format msgid "bad index version '%s'" msgstr "ΠΏΠ»ΠΎΡ
Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Β«%sΒ»" -#: builtin/pack-objects.c:2602 +#: builtin/pack-objects.c:2592 msgid "do not show progress meter" msgstr "Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ" -#: builtin/pack-objects.c:2604 +#: builtin/pack-objects.c:2594 msgid "show progress meter" msgstr "ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ" -#: builtin/pack-objects.c:2606 +#: builtin/pack-objects.c:2596 msgid "show progress meter during object writing phase" msgstr "ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΠΈΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²" -#: builtin/pack-objects.c:2609 +#: builtin/pack-objects.c:2599 msgid "similar to --all-progress when progress meter is shown" msgstr "ΠΏΠΎΡ
ΠΎΠΆΠ΅ Π½Π° --all-progress ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ" -#: builtin/pack-objects.c:2610 +#: builtin/pack-objects.c:2600 msgid "version[,offset]" msgstr "Π²Π΅ΡΡΠΈΡ[,ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅]" -#: builtin/pack-objects.c:2611 +#: builtin/pack-objects.c:2601 msgid "write the pack index file in the specified idx format version" msgstr "Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠ» ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠ° Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠΎΡΠΌΠ°ΡΠ°" -#: builtin/pack-objects.c:2614 +#: builtin/pack-objects.c:2604 msgid "maximum size of each output pack file" msgstr "ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΏΠ°ΠΊΠ΅ΡΠ°" -#: builtin/pack-objects.c:2616 +#: builtin/pack-objects.c:2606 msgid "ignore borrowed objects from alternate object store" msgstr "ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΆΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π²Π·ΡΡΡΠ΅ ΠΈΠ· Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²" -#: builtin/pack-objects.c:2618 +#: builtin/pack-objects.c:2608 msgid "ignore packed objects" msgstr "ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ" -#: builtin/pack-objects.c:2620 +#: builtin/pack-objects.c:2610 msgid "limit pack window by objects" msgstr "ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΠΎΠΊΠ½ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²" -#: builtin/pack-objects.c:2622 +#: builtin/pack-objects.c:2612 msgid "limit pack window by memory in addition to object limit" msgstr "Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΠΎΠΊΠ½ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΏΠΎ ΠΏΠ°ΠΌΡΡΠΈ" -#: builtin/pack-objects.c:2624 +#: builtin/pack-objects.c:2614 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π½Π°Ρ Π΄Π»ΠΈΠ½Π° ΡΠ΅ΠΏΠΎΡΠΊΠΈ Π΄Π΅Π»ΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅ΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ΅" -#: builtin/pack-objects.c:2626 +#: builtin/pack-objects.c:2616 msgid "reuse existing deltas" msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π΄Π΅Π»ΡΡΡ" -#: builtin/pack-objects.c:2628 +#: builtin/pack-objects.c:2618 msgid "reuse existing objects" msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ" -#: builtin/pack-objects.c:2630 +#: builtin/pack-objects.c:2620 msgid "use OFS_DELTA objects" msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ OFS_DELTA" -#: builtin/pack-objects.c:2632 +#: builtin/pack-objects.c:2622 msgid "use threads when searching for best delta matches" msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ Π»ΡΡΡΠΈΡ
ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ Π΄Π΅Π»ΡΡ" -#: builtin/pack-objects.c:2634 +#: builtin/pack-objects.c:2624 msgid "do not create an empty pack output" msgstr "Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΡΡΡΠ΅ Π²ΡΡ
ΠΎΠ΄Π½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ" -#: builtin/pack-objects.c:2636 +#: builtin/pack-objects.c:2626 msgid "read revision arguments from standard input" msgstr "ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΠΉ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°" -#: builtin/pack-objects.c:2638 +#: builtin/pack-objects.c:2628 msgid "limit the objects to those that are not yet packed" msgstr "ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΠ΅ Π½Π΅ ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Ρ" -#: builtin/pack-objects.c:2641 +#: builtin/pack-objects.c:2631 msgid "include objects reachable from any reference" msgstr "Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΡ ΠΏΠΎ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΡΡΡΠ»ΠΎΠΊ" -#: builtin/pack-objects.c:2644 +#: builtin/pack-objects.c:2634 msgid "include objects referred by reflog entries" msgstr "Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ»Π°ΡΡΡΡ Π·Π°ΠΏΠΈΡΠΈ ΠΆΡΡΠ½Π°Π»Π° ΡΡΡΠ»ΠΎΠΊ" -#: builtin/pack-objects.c:2647 +#: builtin/pack-objects.c:2637 msgid "include objects referred to by the index" msgstr "Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ»Π°Π΅ΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ" -#: builtin/pack-objects.c:2650 +#: builtin/pack-objects.c:2640 msgid "output pack to stdout" msgstr "Π²ΡΠ²Π΅ΡΡΠΈ ΠΏΠ°ΠΊΠ΅Ρ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄" -#: builtin/pack-objects.c:2652 +#: builtin/pack-objects.c:2642 msgid "include tag objects that refer to objects to be packed" msgstr "Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΌΠ΅ΡΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅ΠΌΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ" -#: builtin/pack-objects.c:2654 +#: builtin/pack-objects.c:2644 msgid "keep unreachable objects" msgstr "ΡΠΎΡ
ΡΠ°Π½ΡΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ" -#: builtin/pack-objects.c:2655 parse-options.h:142 +#: builtin/pack-objects.c:2645 parse-options.h:142 msgid "time" msgstr "Π²ΡΠ΅ΠΌΡ" -#: builtin/pack-objects.c:2656 +#: builtin/pack-objects.c:2646 msgid "unpack unreachable objects newer than <time>" msgstr "ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΠΎΠ²Π΅Π΅, ΡΠ΅ΠΌ <Π²ΡΠ΅ΠΌΡ>" -#: builtin/pack-objects.c:2659 +#: builtin/pack-objects.c:2649 msgid "create thin packs" msgstr "ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΎΠ½ΠΊΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ" -#: builtin/pack-objects.c:2661 +#: builtin/pack-objects.c:2651 msgid "create packs suitable for shallow fetches" msgstr "ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ, ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈΠ΅ Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΠ½ΡΡ
ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠΉ" -#: builtin/pack-objects.c:2663 +#: builtin/pack-objects.c:2653 msgid "ignore packs that have companion .keep file" msgstr "ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ, ΡΡΠ΄ΠΎΠΌ Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π»Π΅ΠΆΠΈΡ .keep ΡΠ°ΠΉΠ»" -#: builtin/pack-objects.c:2665 +#: builtin/pack-objects.c:2655 msgid "pack compression level" msgstr "ΡΡΠΎΠ²Π΅Π½Ρ ΡΠΆΠ°ΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ°" -#: builtin/pack-objects.c:2667 +#: builtin/pack-objects.c:2657 msgid "do not hide commits by grafts" msgstr "Π½Π΅ ΡΠΊΡΡΠ²Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ ΡΡΠ°ΡΠ΅Π½ΠΈΡΠΌΠΈ" -#: builtin/pack-objects.c:2669 +#: builtin/pack-objects.c:2659 msgid "use a bitmap index if available to speed up counting objects" msgstr "ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π² Π±ΠΈΡΠΎΠ²ΡΡ
ΠΊΠ°ΡΡΠ°Ρ
, Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²" -#: builtin/pack-objects.c:2671 +#: builtin/pack-objects.c:2661 msgid "write a bitmap index together with the pack index" msgstr "Π·Π°ΠΏΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π² Π±ΠΈΡΠΎΠ²ΡΡ
ΠΊΠ°ΡΡΠ°Ρ
Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ°" -#: builtin/pack-objects.c:2762 +#: builtin/pack-objects.c:2752 msgid "Counting objects" msgstr "ΠΠΎΠ΄ΡΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²" @@ -8329,65 +8580,69 @@ msgstr "ΡΠ΄Π°Π»ΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΡΠ°ΡΠ΅Π΅ ΡΠ΅ΠΌ <Π΄Π°ΡΠ°-ΠΎΠΊΠΎΠ½ΡΠ° msgid "cannot prune in a precious-objects repo" msgstr "Π½Π΅Π»ΡΠ·Ρ ΠΏΠΎΡΠΈΡΡΠΈΡΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² precious-objects ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ" -#: builtin/pull.c:69 +#: builtin/pull.c:72 msgid "git pull [<options>] [<repository> [<refspec>...]]" msgstr "git pull [<ΠΎΠΏΡΠΈΠΈ>] [<ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ> [<ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ-ΡΡΡΠ»ΠΊΠΈ>β¦]]" -#: builtin/pull.c:113 +#: builtin/pull.c:117 msgid "Options related to merging" msgstr "ΠΠΏΡΠΈΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΠΎ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ" -#: builtin/pull.c:116 +#: builtin/pull.c:120 msgid "incorporate changes by rebasing rather than merging" msgstr "Π·Π°Π±ΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π±Π°Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π° Π½Π΅ ΡΠ»ΠΈΡΠ½ΠΈΡ" -#: builtin/pull.c:140 builtin/revert.c:105 +#: builtin/pull.c:144 builtin/revert.c:105 msgid "allow fast-forward" msgstr "ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΡ Π²ΠΏΠ΅ΡΠ΅Π΄" -#: builtin/pull.c:146 +#: builtin/pull.c:150 msgid "verify that the named commit has a valid GPG signature" msgstr "ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π²Π΅ΡΠ½ΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ GPG" -#: builtin/pull.c:160 +#: builtin/pull.c:164 msgid "Options related to fetching" -msgstr "ΠΠΏΡΠΈΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ" +msgstr "ΠΠΏΡΠΈΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ" + +#: builtin/pull.c:186 +msgid "number of submodules pulled in parallel" +msgstr "ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ ΠΏΠ°ΡΡΠ°Π»Π΅Π»ΡΠ½ΠΎ" -#: builtin/pull.c:268 +#: builtin/pull.c:275 #, c-format msgid "Invalid value for pull.ff: %s" msgstr "ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ pull.ff: %s" -#: builtin/pull.c:352 +#: builtin/pull.c:359 msgid "Cannot pull with rebase: You have unstaged changes." msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ: Π£ Π²Π°Ρ Π΅ΡΡΡ Π½Π΅ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ." -#: builtin/pull.c:358 +#: builtin/pull.c:365 msgid "Additionally, your index contains uncommitted changes." msgstr "Π ΡΠΎΠΌΡ ΠΆΠ΅, Π² Π²Π°ΡΠ΅ΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠ΅ Π΅ΡΡΡ Π½Π΅Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ." -#: builtin/pull.c:360 +#: builtin/pull.c:367 msgid "Cannot pull with rebase: Your index contains uncommitted changes." msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ: Π Π²Π°ΡΠ΅ΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠ΅ Π΅ΡΡΡ Π½Π΅Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ." -#: builtin/pull.c:436 +#: builtin/pull.c:443 msgid "" "There is no candidate for rebasing against among the refs that you just " "fetched." msgstr "ΠΠ΅Ρ ΠΏΡΠ΅ΡΠ΅Π½Π΄Π΅Π½ΡΠΎΠ² Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠ΅Π΄ΠΈ ΡΡΡΠ»ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ." -#: builtin/pull.c:438 +#: builtin/pull.c:445 msgid "" "There are no candidates for merging among the refs that you just fetched." msgstr "ΠΠ΅Ρ ΠΏΡΠ΅ΡΠ΅Π½Π΄Π΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠ»ΠΈΡΠ½ΠΈΡ ΡΡΠ΅Π΄ΠΈ ΡΡΡΠ»ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ." -#: builtin/pull.c:439 +#: builtin/pull.c:446 msgid "" "Generally this means that you provided a wildcard refspec which had no\n" "matches on the remote end." -msgstr "ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΡΡΠ»ΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Π° ΠΈ ΡΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π» Π½ΠΈ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΡΡΠ»ΠΎΠΊ Π½Π° Π²Π½Π΅ΡΠ½Π΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ." +msgstr "ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΡΡΠ»ΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Π° ΠΈ ΡΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ Π½ΠΈ Ρ ΡΠ΅ΠΌ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π» Π½Π° Π²Π½Π΅ΡΠ½Π΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ." -#: builtin/pull.c:442 +#: builtin/pull.c:449 #, c-format msgid "" "You asked to pull from the remote '%s', but did not specify\n" @@ -8395,27 +8650,27 @@ msgid "" "for your current branch, you must specify a branch on the command line." msgstr "ΠΡ ΠΏΠΎΠΏΡΠΎΡΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Β«%sΒ», Π½ΠΎ Π½Π΅ ΡΠΊΠ°Π·Π°Π»ΠΈ Π²Π΅ΡΠΊΡ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ Π½Π΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΊΠ°Π·Π°ΡΡ Π²Π΅ΡΠΊΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅." -#: builtin/pull.c:447 +#: builtin/pull.c:454 msgid "You are not currently on a branch." msgstr "ΠΡ ΡΠ΅ΠΉΡΠ°Ρ Π½ΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π΅ΡΠΎΠΊ." -#: builtin/pull.c:449 builtin/pull.c:464 +#: builtin/pull.c:456 builtin/pull.c:471 msgid "Please specify which branch you want to rebase against." msgstr "ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π½Π° ΠΊΠ°ΠΊΡΡ Π²Π΅ΡΠΊΡ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ." -#: builtin/pull.c:451 builtin/pull.c:466 +#: builtin/pull.c:458 builtin/pull.c:473 msgid "Please specify which branch you want to merge with." msgstr "ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΡΠΊΠ°ΠΆΠΈΡΠ΅ Ρ ΠΊΠ°ΠΊΠΎΠΉ Π²Π΅ΡΠΊΠΎΠΉ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠ»ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ." -#: builtin/pull.c:452 builtin/pull.c:467 +#: builtin/pull.c:459 builtin/pull.c:474 msgid "See git-pull(1) for details." -msgstr "ΠΠ»Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΌΠΎΡΡΠΈΡΠ΅ git-pull(1)." +msgstr "ΠΠ»Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠΌΠΎΡΡΠΈΡΠ΅ git-pull(1)." -#: builtin/pull.c:462 +#: builtin/pull.c:469 msgid "There is no tracking information for the current branch." msgstr "Π£ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ Π½Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠΈ." -#: builtin/pull.c:471 +#: builtin/pull.c:478 #, c-format msgid "" "If you wish to set tracking information for this branch you can do so with:\n" @@ -8423,26 +8678,26 @@ msgid "" " git branch --set-upstream-to=%s/<branch> %s\n" msgstr "ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π²Π΅ΡΠΊΠ΅, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅:\n\n git branch --set-upstream-to=%s/<branch> %s\n" -#: builtin/pull.c:476 +#: builtin/pull.c:483 #, c-format msgid "" "Your configuration specifies to merge with the ref '%s'\n" "from the remote, but no such ref was fetched." msgstr "ΠΠ°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ»ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎ ΡΡΡΠ»ΠΊΠΎΠΉ\nΒ«%sΒ» ΠΈΠ· Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π½ΠΎ ΡΠ°ΠΊΠ°Ρ ΡΡΡΠ»ΠΊΠ° Π½Π΅ Π±ΡΠ»Π° ΠΏΠΎΠ»ΡΡΠ΅Π½Π°." -#: builtin/pull.c:830 +#: builtin/pull.c:841 msgid "Updating an unborn branch with changes added to the index." msgstr "ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΅ΡΠ΅ Π½Π΅ Π½Π°ΡΠ°Π²ΡΠ΅ΠΉΡΡ Π²Π΅ΡΠΊΠΈ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΌΠΈ Π² ΠΈΠ½Π΄Π΅ΠΊΡ." -#: builtin/pull.c:859 +#: builtin/pull.c:870 #, c-format msgid "" "fetch updated the current branch head.\n" "fast-forwarding your working tree from\n" "commit %s." -msgstr "ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΎ Π³ΠΎΠ»ΠΎΠ²Ρ Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ.\nΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠ° Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°\nΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° %s." +msgstr "ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π²Π°ΡΡ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ.\nΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠ° Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°\nΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° %s." -#: builtin/pull.c:864 +#: builtin/pull.c:875 #, c-format msgid "" "Cannot fast-forward your working tree.\n" @@ -8453,11 +8708,11 @@ msgid "" "to recover." msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠ°ΡΡ Π²ΠΏΠ΅ΡΡΠ΄ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅.\nΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ ΡΠΎΡ
ΡΠ°Π½ΠΈΠ»ΠΈ Π²ΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΈΠ· Π²ΡΠ²ΠΎΠ΄Π°\n$ git diff %s\n, Π·Π°ΠΏΡΡΡΠΈΡΠ΅\n$ git reset --hard\nΠ΄Π»Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ." -#: builtin/pull.c:879 +#: builtin/pull.c:890 msgid "Cannot merge multiple branches into empty head." -msgstr "ΠΠ΅Π»ΡΠ·Ρ ΡΠ»ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΠΎΠΊ Π² ΠΏΡΡΡΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΊΠΎΠΌΠΌΠΈΡ." +msgstr "ΠΠ΅Π»ΡΠ·Ρ ΡΠ»ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΠΎΠΊ Π² ΠΏΡΡΡΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π²Π΅ΡΠΊΡ." -#: builtin/pull.c:883 +#: builtin/pull.c:894 msgid "Cannot rebase onto multiple branches." msgstr "ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ Π½Π°Π΄ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π²Π΅ΡΠΊΠ°ΠΌΠΈ." @@ -8465,21 +8720,21 @@ msgstr "ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ Π½Π°Π΄ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠ msgid "git push [<options>] [<repository> [<refspec>...]]" msgstr "git push [<ΠΎΠΏΡΠΈΠΈ>] [<ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ> [<ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ-ΡΡΡΠ»ΠΊΠΈ>β¦]]" -#: builtin/push.c:88 +#: builtin/push.c:89 msgid "tag shorthand without <tag>" msgstr "ΡΠΊΠ°Π·Π°Π½ΠΎ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ tag, Π½ΠΎ Π½Π΅ ΡΠΊΠ°Π·Π°Π½Π° ΡΠ°ΠΌΠ° <ΠΌΠ΅ΡΠΊΠ°>" -#: builtin/push.c:98 +#: builtin/push.c:99 msgid "--delete only accepts plain target ref names" msgstr "ΠΎΠΏΡΠΈΡ --delete ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΠ΅ ΡΠ΅Π»Π΅Π²ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΡΡΡΠ»ΠΎΠΊ" -#: builtin/push.c:142 +#: builtin/push.c:143 msgid "" "\n" "To choose either option permanently, see push.default in 'git help config'." msgstr "\nΠ§ΡΠΎΠ±Ρ Π²ΡΠ±ΡΠ°ΡΡ Π»ΡΠ±ΡΡ ΠΈΠ· ΠΎΠΏΡΠΈΠΉ Π½Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Π΅, ΡΠΌΠΎΡΡΠΈΡΠ΅ push.default Π² Β«git help configΒ»." -#: builtin/push.c:145 +#: builtin/push.c:146 #, c-format msgid "" "The upstream branch of your current branch does not match\n" @@ -8494,7 +8749,7 @@ msgid "" "%s" msgstr "ΠΠΌΡ Π²ΡΡΠ΅ΡΡΠΎΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ ΠΈ Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ. Π§ΡΠΎΠ±Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π²ΡΡΠ΅ΡΡΠΎΡΡΡΡ Π²Π΅ΡΠΊΡ Π½Π° Π²Π½Π΅ΡΠ½Π΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅:\n\n git push %s HEAD:%s\n\nΠ§ΡΠΎΠ±Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π²Π΅ΡΠΊΡ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π½Π° Π²Π½Π΅ΡΠ½Π΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅:\n\n git push %s %s\n%s" -#: builtin/push.c:160 +#: builtin/push.c:161 #, c-format msgid "" "You are not currently on a branch.\n" @@ -8502,9 +8757,9 @@ msgid "" "state now, use\n" "\n" " git push %s HEAD:<name-of-remote-branch>\n" -msgstr "ΠΡ ΡΠ΅ΠΉΡΠ°Ρ Π½Π΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π½ΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π΅ΡΠΎΠΊ.\nΠ§ΡΠΎΠ±Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΈΡΡΠΎΡΠΈΡ, Π²Π΅Π΄ΡΡΡΡ ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ (ΠΎΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ HEAD) ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅\n\n git push %s HEAD:<ΠΈΠΌΡ-Π²Π½Π΅ΡΠ½Π΅ΠΉ-Π²Π΅ΡΠΊΠΈ>\n" +msgstr "ΠΡ ΡΠ΅ΠΉΡΠ°Ρ Π½Π΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π½ΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π΅ΡΠΎΠΊ.\nΠ§ΡΠΎΠ±Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΈΡΡΠΎΡΠΈΡ, Π²Π΅Π΄ΡΡΡΡ ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ (ΠΎΡΠ΄Π΅Π»ΡΠ½Π½ΡΠΉ HEAD) ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅\n\n git push %s HEAD:<ΠΈΠΌΡ-Π²Π½Π΅ΡΠ½Π΅ΠΉ-Π²Π΅ΡΠΊΠΈ>\n" -#: builtin/push.c:174 +#: builtin/push.c:175 #, c-format msgid "" "The current branch %s has no upstream branch.\n" @@ -8513,13 +8768,13 @@ msgid "" " git push --set-upstream %s %s\n" msgstr "Π’Π΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΠΊΠ° %s Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΠ΅ΡΡΠΎΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ.\nΠ§ΡΠΎΠ±Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²Π½Π΅ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ ΠΊΠ°ΠΊ Π²ΡΡΠ΅ΡΡΠΎΡΡΡΡ Π΄Π»Ρ ΡΡΠΎΠΉ Π²Π΅ΡΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅\n\n git push --set-upstream %s %s\n" -#: builtin/push.c:182 +#: builtin/push.c:183 #, c-format msgid "" "The current branch %s has multiple upstream branches, refusing to push." msgstr "ΠΠ°ΡΠ° ΡΠ΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΠΊΠ° %s ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΡΠ΅ΡΡΠΎΡΡΠΈΡ
Π²Π΅ΡΠΎΠΊ, ΠΎΡΠΊΠ°Π· Π² ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ." -#: builtin/push.c:185 +#: builtin/push.c:186 #, c-format msgid "" "You are pushing to remote '%s', which is not the upstream of\n" @@ -8527,86 +8782,62 @@ msgid "" "to update which remote branch." msgstr "ΠΡ ΡΠ΅ΠΉΡΠ°Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π° Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Β«%sΒ», ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡΠ΅ΡΡΠΎΡΡΠΈΠΌ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ Β«%sΒ», Π±Π΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈ Π² ΠΊΠ°ΠΊΡΡ Π²Π½Π΅ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ." -#: builtin/push.c:208 -msgid "" -"push.default is unset; its implicit value has changed in\n" -"Git 2.0 from 'matching' to 'simple'. To squelch this message\n" -"and maintain the traditional behavior, use:\n" -"\n" -" git config --global push.default matching\n" -"\n" -"To squelch this message and adopt the new behavior now, use:\n" -"\n" -" git config --global push.default simple\n" -"\n" -"When push.default is set to 'matching', git will push local branches\n" -"to the remote branches that already exist with the same name.\n" -"\n" -"Since Git 2.0, Git defaults to the more conservative 'simple'\n" -"behavior, which only pushes the current branch to the corresponding\n" -"remote branch that 'git pull' uses to update the current branch.\n" -"\n" -"See 'git help config' and search for 'push.default' for further information.\n" -"(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n" -"'current' instead of 'simple' if you sometimes use older versions of Git)" -msgstr "push.default Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½; Π΅Π³ΠΎ Π½Π΅ΡΠ²Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π² Git Π²Π΅ΡΡΠΈΠΈ 2.0 Ρ Β«matchingΒ» Π½Π° Β«simpleΒ». Π§ΡΠΎΠ±Ρ ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ ΡΡΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΡΠ°ΡΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅:\n\n git config --global push.default matching\n\nΠ§ΡΠΎΠ±Ρ ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ ΡΡΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅:\n\n git config --global push.default simple\n\nΠΠΎΠ³Π΄Π° push.default ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π² Β«matchingΒ», git Π±ΡΠ΄Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
Π²Π΅ΡΠΎΠΊ Π² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ.\n\nΠΠ°ΡΠΈΠ½Π°Ρ Ρ Git Π²Π΅ΡΡΠΈΠΈ 2.0, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ²Π°ΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Β«simpleΒ», ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ Π²Π½Π΅ΡΠ½ΡΡ Π²Π΅ΡΠΊΡ, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠΉ Β«git pullΒ» Π·Π°Π±ΠΈΡΠ°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.\n\nΠ‘ΠΌΠΎΡΡΠΈΡΠ΅ Β«git help configΒ» ΠΈ ΠΈΡΠΈΡΠ΅ Β«push.defaultΒ» Π΄Π»Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.\n(ΡΠ΅ΠΆΠΈΠΌ Β«simpleΒ» ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π² Git Π²Π΅ΡΡΠΈΠΈ 1.7.11. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠΎΡ
ΠΎΠΆΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ Β«currentΒ» Π²ΠΌΠ΅ΡΡΠΎ Β«simpleΒ», Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΡΠ°ΡΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Git)" - -#: builtin/push.c:275 +#: builtin/push.c:242 msgid "You didn't specify any refspecs to push, and push.default is \"nothing\"." msgstr "ΠΡ Π½Π΅ ΡΠΊΠ°Π·Π°Π»ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΡΡΠ»ΠΊΠΈ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ, Π° push.default ΡΠΊΠ°Π·Π°Π½ ΠΊΠ°ΠΊ Β«nothingΒ»." -#: builtin/push.c:282 +#: builtin/push.c:249 msgid "" "Updates were rejected because the tip of your current branch is behind\n" "its remote counterpart. Integrate the remote changes (e.g.\n" "'git pull ...') before pushing again.\n" "See the 'Note about fast-forwards' in 'git push --help' for details." -msgstr "ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π±ΡΠ»ΠΈ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²Π΅ΡΡ
ΡΡΠΊΠ° Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ\nΠΏΠΎΠ·Π°Π΄ΠΈ Π΅Π΅ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ. ΠΠ°Π±Π΅ΡΠΈΡΠ΅ ΠΈ ΡΠ»Π΅ΠΉΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ \n(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ Β«git pull β¦Β») ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΉ ΠΏΠΎΠΏΡΡΠΊΠΎΠΉ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ\nΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.\nΠΠ»Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΌΠΎΡΡΠΈΡΠ΅ Β«Note about fast-forwardsΒ»\nΠ² Β«git push --helpΒ»." +msgstr "ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π±ΡΠ»ΠΈ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²Π΅ΡΡ
ΡΡΠΊΠ° Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΈ\nΠΏΠΎΠ·Π°Π΄ΠΈ Π΅Π΅ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ. ΠΠ°Π±Π΅ΡΠΈΡΠ΅ ΠΈ ΡΠ»Π΅ΠΉΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ \n(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ Β«git pull β¦Β») ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΉ ΠΏΠΎΠΏΡΡΠΊΠΎΠΉ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ\nΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.\nΠΠ»Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠΌΠΎΡΡΠΈΡΠ΅ Β«Note about fast-forwardsΒ»\nΠ² Β«git push --helpΒ»." -#: builtin/push.c:288 +#: builtin/push.c:255 msgid "" "Updates were rejected because a pushed branch tip is behind its remote\n" "counterpart. Check out this branch and integrate the remote changes\n" "(e.g. 'git pull ...') before pushing again.\n" "See the 'Note about fast-forwards' in 'git push --help' for details." -msgstr "ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π±ΡΠ»ΠΈ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²Π΅ΡΡ
ΡΡΠΊΠ° ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΉ Π²Π΅ΡΠΊΠΈ\nΠΏΠΎΠ·Π°Π΄ΠΈ Π΅Π΅ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ. ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΠ΅ΡΡ Π½Π° Π²Π΅ΡΠΊΡ ΠΈ Π·Π°Π±Π΅ΡΠΈΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠ΅\nΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ Β«git pull β¦Β») ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΉ\nΠΏΠΎΠΏΡΡΠΊΠΎΠΉ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.\nΠΠ»Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΌΠΎΡΡΠΈΡΠ΅ Β«Note about fast-forwardsΒ»\nΠ² Β«git push --helpΒ»." +msgstr "ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π±ΡΠ»ΠΈ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²Π΅ΡΡ
ΡΡΠΊΠ° ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΉ Π²Π΅ΡΠΊΠΈ\nΠΏΠΎΠ·Π°Π΄ΠΈ Π΅Π΅ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ. ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΠ΅ΡΡ Π½Π° Π²Π΅ΡΠΊΡ ΠΈ Π·Π°Π±Π΅ΡΠΈΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠ΅\nΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ Β«git pull β¦Β») ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΉ\nΠΏΠΎΠΏΡΡΠΊΠΎΠΉ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.\nΠΠ»Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠΌΠΎΡΡΠΈΡΠ΅ Β«Note about fast-forwardsΒ»\nΠ² Β«git push --helpΒ»." -#: builtin/push.c:294 +#: builtin/push.c:261 msgid "" "Updates were rejected because the remote contains work that you do\n" "not have locally. This is usually caused by another repository pushing\n" "to the same ref. You may want to first integrate the remote changes\n" "(e.g., 'git pull ...') before pushing again.\n" "See the 'Note about fast-forwards' in 'git push --help' for details." -msgstr "ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π±ΡΠ»ΠΈ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ\nΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ
Ρ Π²Π°Ρ Π½Π΅Ρ Π² Π²Π°ΡΠ΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.\nΠΠ±ΡΡΠ½ΠΎ, ΡΡΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΊΡΠΎ-ΡΠΎ ΡΠΆΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΈΠ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² \nΡΠΎ ΠΆΠ΅ ΠΌΠ΅ΡΡΠΎ. ΠΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΉ ΠΎΡΠΏΡΠ°Π²ΠΊΠΎΠΉ Π²Π°ΡΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ\nΠ·Π°Π±ΡΠ°ΡΡ ΠΈ ΡΠ»ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΡΠ΅Π±Π΅\n(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ Β«git pull β¦Β»).\nΠΠ»Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΌΠΎΡΡΠΈΡΠ΅ Β«Note about fast-forwardsΒ»\nΠ² Β«git push --helpΒ»." +msgstr "ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π±ΡΠ»ΠΈ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ\nΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ
Ρ Π²Π°Ρ Π½Π΅Ρ Π² Π²Π°ΡΠ΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.\nΠΠ±ΡΡΠ½ΠΎ, ΡΡΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΊΡΠΎ-ΡΠΎ ΡΠΆΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΈΠ» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² \nΡΠΎ ΠΆΠ΅ ΠΌΠ΅ΡΡΠΎ. ΠΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΉ ΠΎΡΠΏΡΠ°Π²ΠΊΠΎΠΉ Π²Π°ΡΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ\nΠ·Π°Π±ΡΠ°ΡΡ ΠΈ ΡΠ»ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΡΠ΅Π±Π΅\n(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ Β«git pull β¦Β»).\nΠΠ»Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠΌΠΎΡΡΠΈΡΠ΅ Β«Note about fast-forwardsΒ»\nΠ² Β«git push --helpΒ»." -#: builtin/push.c:301 +#: builtin/push.c:268 msgid "Updates were rejected because the tag already exists in the remote." msgstr "ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π±ΡΠ»ΠΈ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠΊΠ° ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ." -#: builtin/push.c:304 +#: builtin/push.c:271 msgid "" "You cannot update a remote ref that points at a non-commit object,\n" "or update a remote ref to make it point at a non-commit object,\n" "without using the '--force' option.\n" msgstr "ΠΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π²Π½Π΅ΡΠ½ΡΡ ΡΡΡΠ»ΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ, Π½Π΅ ΡΠ²Π»ΡΡΡΠΈΠΉΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π²Π½Π΅ΡΠ½ΡΡ ΡΡΡΠ»ΠΊΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° ΡΠΊΠ°Π·ΡΠ²Π°Π»Π° Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ, Π½Π΅ ΡΠ²Π»ΡΡΡΠΈΠΉΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ, Π±Π΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΎΠΏΡΠΈΠΈ Β«--forceΒ».\n" -#: builtin/push.c:363 +#: builtin/push.c:331 #, c-format msgid "Pushing to %s\n" msgstr "ΠΡΠΏΡΠ°Π²ΠΊΠ° Π² %s\n" -#: builtin/push.c:367 +#: builtin/push.c:335 #, c-format msgid "failed to push some refs to '%s'" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π² Β«%sΒ»" -#: builtin/push.c:397 +#: builtin/push.c:365 #, c-format msgid "bad repository '%s'" msgstr "ΠΏΠ»ΠΎΡ
ΠΎΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Β«%sΒ»" -#: builtin/push.c:398 +#: builtin/push.c:366 msgid "" "No configured push destination.\n" "Either specify the URL from the command-line or configure a remote repository using\n" @@ -8616,106 +8847,102 @@ msgid "" "and then push using the remote name\n" "\n" " git push <name>\n" -msgstr "ΠΠ΅ Π½Π°ΡΡΡΠΎΠ΅Π½Π° ΡΠΎΡΠΊΠ° Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ.\nΠΠΈΠ±ΠΎ ΡΠΊΠ°ΠΆΠΈΡΠ΅ URL Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π»ΠΈΠ±ΠΎ Π½Π°ΡΡΡΠΎΠΉΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ\n\n git remote add <ΠΈΠΌΡ> <Π°Π΄ΡΠ΅Ρ>\n\nΠ° Π·Π°ΡΠ΅ΠΌ ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠΌΠ΅Π½ΠΈ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ\n\n git push <ΠΈΠΌΡ>\n" +msgstr "ΠΠ΅ Π½Π°ΡΡΡΠΎΠ΅Π½Π° ΡΠΎΡΠΊΠ° Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ.\nΠΠΈΠ±ΠΎ ΡΠΊΠ°ΠΆΠΈΡΠ΅ URL Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π»ΠΈΠ±ΠΎ Π½Π°ΡΡΡΠΎΠΉΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ\n\n git remote add <ΠΈΠΌΡ> <Π°Π΄ΡΠ΅Ρ>\n\nΠ° Π·Π°ΡΠ΅ΠΌ ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠΌΠ΅Π½ΠΈ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ\n\n git push <ΠΈΠΌΡ>\n" -#: builtin/push.c:413 +#: builtin/push.c:381 msgid "--all and --tags are incompatible" msgstr "--all ΠΈ --tags Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ" -#: builtin/push.c:414 +#: builtin/push.c:382 msgid "--all can't be combined with refspecs" msgstr "--all Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΌΠ΅ΡΡΠ΅ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠΌΠΈ ΡΡΡΠ»ΠΎΠΊ" -#: builtin/push.c:419 +#: builtin/push.c:387 msgid "--mirror and --tags are incompatible" msgstr "--mirror ΠΈ --tags Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ" -#: builtin/push.c:420 +#: builtin/push.c:388 msgid "--mirror can't be combined with refspecs" msgstr "--mirror Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΌΠ΅ΡΡΠ΅ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠΌΠΈ ΡΡΡΠ»ΠΎΠΊ" -#: builtin/push.c:425 +#: builtin/push.c:393 msgid "--all and --mirror are incompatible" msgstr "--all ΠΈ --mirror Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ" -#: builtin/push.c:537 +#: builtin/push.c:505 msgid "repository" msgstr "ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ" -#: builtin/push.c:538 builtin/send-pack.c:161 +#: builtin/push.c:506 builtin/send-pack.c:161 msgid "push all refs" msgstr "ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π²ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ" -#: builtin/push.c:539 builtin/send-pack.c:163 +#: builtin/push.c:507 builtin/send-pack.c:163 msgid "mirror all refs" msgstr "ΡΠ΄Π΅Π»Π°ΡΡ Π·Π΅ΡΠΊΠ°Π»ΠΎ Π²ΡΠ΅Ρ
ΡΡΡΠ»ΠΎΠΊ" -#: builtin/push.c:541 +#: builtin/push.c:509 msgid "delete refs" msgstr "ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΡΠ»ΠΊΠΈ" -#: builtin/push.c:542 +#: builtin/push.c:510 msgid "push tags (can't be used with --all or --mirror)" msgstr "ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΌΠ΅ΡΠΊΠΈ (Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ --all ΠΈΠ»ΠΈ --mirror)" -#: builtin/push.c:545 builtin/send-pack.c:164 +#: builtin/push.c:513 builtin/send-pack.c:164 msgid "force updates" msgstr "ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅" -#: builtin/push.c:547 builtin/send-pack.c:175 +#: builtin/push.c:515 builtin/send-pack.c:175 msgid "refname>:<expect" msgstr "ΠΈΠΌΡ-ΡΡΡΠ»ΠΊΠΈ>:<ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ" -#: builtin/push.c:548 builtin/send-pack.c:176 +#: builtin/push.c:516 builtin/send-pack.c:176 msgid "require old value of ref to be at this value" msgstr "ΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ ΡΡΠ°ΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ Π±ΡΠ»ΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΌ" -#: builtin/push.c:550 -msgid "check|on-demand|no" -msgstr "check|on-demand|no" - -#: builtin/push.c:551 +#: builtin/push.c:519 msgid "control recursive pushing of submodules" msgstr "ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΉ ΠΎΡΠΏΡΠ°Π²ΠΊΠΎΠΉ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ" -#: builtin/push.c:553 builtin/send-pack.c:169 +#: builtin/push.c:521 builtin/send-pack.c:169 msgid "use thin pack" msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ½ΠΊΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ" -#: builtin/push.c:554 builtin/push.c:555 builtin/send-pack.c:158 +#: builtin/push.c:522 builtin/push.c:523 builtin/send-pack.c:158 #: builtin/send-pack.c:159 msgid "receive pack program" msgstr "ΠΏΡΡΡ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅" -#: builtin/push.c:556 +#: builtin/push.c:524 msgid "set upstream for git pull/status" msgstr "ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΡΠ΅ΡΡΠΎΡΡΡΡ Π²Π΅ΡΠΊΡ Π΄Π»Ρ git pull/status" -#: builtin/push.c:559 +#: builtin/push.c:527 msgid "prune locally removed refs" msgstr "ΠΏΠΎΡΠΈΡΡΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ" -#: builtin/push.c:561 +#: builtin/push.c:529 msgid "bypass pre-push hook" msgstr "ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΡΠΈΠΊ ΠΏΠ΅ΡΠ΅Π΄-ΠΎΡΠΏΡΠ°Π²ΠΊΠΎΠΉ" -#: builtin/push.c:562 +#: builtin/push.c:530 msgid "push missing but relevant tags" msgstr "ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΏΡΠΎΠΏΡΡΠ΅Π½Π½ΡΠ΅, Π½ΠΎ Π½ΡΠΆΠ½ΡΠ΅ ΠΌΠ΅ΡΠΊΠΈ" -#: builtin/push.c:565 builtin/send-pack.c:166 +#: builtin/push.c:533 builtin/send-pack.c:166 msgid "GPG sign the push" msgstr "ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡ ΠΎΡΠΏΡΠ°Π²ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ GPG" -#: builtin/push.c:567 builtin/send-pack.c:170 +#: builtin/push.c:535 builtin/send-pack.c:170 msgid "request atomic transaction on remote side" msgstr "Π·Π°ΠΏΡΠΎΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π° Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΡΠΎΡΠΎΠ½Π΅" -#: builtin/push.c:577 +#: builtin/push.c:549 msgid "--delete is incompatible with --all, --mirror and --tags" msgstr "--delete Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎ Ρ --all, --mirror ΠΈ --tags" -#: builtin/push.c:579 +#: builtin/push.c:551 msgid "--delete doesn't make sense without any refs" msgstr "--delete Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ»Π° Π±Π΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΡΡΠ»ΠΎΠΊ" @@ -8790,12 +9017,12 @@ msgstr "ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠ»ΡΡΡΠ° ΡΠ°ΡΡΠΈΡΠ½Π msgid "debug unpack-trees" msgstr "ΠΎΡΠ»Π°Π΄ΠΊΠ° unpack-trees" -#: builtin/reflog.c:428 +#: builtin/reflog.c:423 #, c-format msgid "'%s' for '%s' is not a valid timestamp" msgstr "Β«%sΒ» Π΄Π»Ρ Β«%sΒ» Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠΉ ΠΌΠ΅ΡΠΊΠΎΠΉ Π΄Π°ΡΡ/Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ" -#: builtin/reflog.c:545 builtin/reflog.c:550 +#: builtin/reflog.c:540 builtin/reflog.c:545 #, c-format msgid "'%s' is not a valid timestamp" msgstr "Β«%sΒ» Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠΉ ΠΌΠ΅ΡΠΊΠΎΠΉ Π΄Π°ΡΡ/Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ" @@ -8931,55 +9158,45 @@ msgstr "ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠ΅Ρ Π²Π΅ΡΠΊΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ»Π° Ρ msgid "specifying branches to track makes sense only with fetch mirrors" msgstr "ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
Π²Π΅ΡΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π·Π΅ΡΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠΈ" -#: builtin/remote.c:193 builtin/remote.c:643 +#: builtin/remote.c:190 builtin/remote.c:633 #, c-format msgid "remote %s already exists." msgstr "Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ %s ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ" -#: builtin/remote.c:197 builtin/remote.c:647 +#: builtin/remote.c:194 builtin/remote.c:637 #, c-format msgid "'%s' is not a valid remote name" msgstr "Β«%sΒ» Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ." -#: builtin/remote.c:241 +#: builtin/remote.c:234 #, c-format msgid "Could not setup master '%s'" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΌΠ°ΡΡΠ΅Ρ Π²Π΅ΡΠΊΡ Β«%sΒ»" -#: builtin/remote.c:341 +#: builtin/remote.c:336 #, c-format msgid "Could not get fetch map for refspec %s" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΊΠ°ΡΡΡ Π΄Π»Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΡΡΠ»ΠΊΠΈ %s" -#: builtin/remote.c:442 builtin/remote.c:450 +#: builtin/remote.c:437 builtin/remote.c:445 msgid "(matching)" msgstr "(ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ)" -#: builtin/remote.c:454 +#: builtin/remote.c:449 msgid "(delete)" msgstr "(ΡΠ΄Π°Π»Π΅Π½Π½Π°Ρ)" -#: builtin/remote.c:594 builtin/remote.c:600 builtin/remote.c:606 -#, c-format -msgid "Could not append '%s' to '%s'" -msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Β«%sΒ» ΠΊ Β«%sΒ»" - -#: builtin/remote.c:636 builtin/remote.c:775 builtin/remote.c:875 +#: builtin/remote.c:626 builtin/remote.c:761 builtin/remote.c:858 #, c-format msgid "No such remote: %s" msgstr "ΠΠ΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ: %s" -#: builtin/remote.c:653 +#: builtin/remote.c:643 #, c-format msgid "Could not rename config section '%s' to '%s'" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Ρ Β«%sΒ» Π½Π° Β«%sΒ»" -#: builtin/remote.c:659 builtin/remote.c:827 -#, c-format -msgid "Could not remove config section '%s'" -msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ΅ΠΊΡΠΈΡ ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Β«%sΒ»" - -#: builtin/remote.c:674 +#: builtin/remote.c:663 #, c-format msgid "" "Not updating non-default fetch refspec\n" @@ -8987,27 +9204,17 @@ msgid "" "\tPlease update the configuration manually if necessary." msgstr "ΠΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΡΡΠ»ΠΊΠΈ Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ\n\t%s\n\tΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π΅ΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π²ΡΡΡΠ½ΡΡ." -#: builtin/remote.c:680 -#, c-format -msgid "Could not append '%s'" -msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Β«%sΒ»" - -#: builtin/remote.c:691 -#, c-format -msgid "Could not set '%s'" -msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Β«%sΒ»" - -#: builtin/remote.c:713 +#: builtin/remote.c:699 #, c-format msgid "deleting '%s' failed" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ΄Π°Π»ΠΈΡΡ Β«%sΒ»" -#: builtin/remote.c:747 +#: builtin/remote.c:733 #, c-format msgid "creating '%s' failed" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΎΠ·Π΄Π°ΡΡ Β«%sΒ»" -#: builtin/remote.c:813 +#: builtin/remote.c:796 msgid "" "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n" "to delete it, use:" @@ -9019,125 +9226,130 @@ msgstr[1] "ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π΅ΡΠΊΠΈ Π²Π½Π΅ ΠΈΠ΅ΡΠ°Ρ msgstr[2] "ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π΅ΡΠΊΠΈ Π²Π½Π΅ ΠΈΠ΅ΡΠ°ΡΡ
ΠΈΠΈ refs/remotes/ Π½Π΅ Π±ΡΠ΄ΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ;\nΡΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΡ
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅:" msgstr[3] "ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π΅ΡΠΊΠΈ Π²Π½Π΅ ΠΈΠ΅ΡΠ°ΡΡ
ΠΈΠΈ refs/remotes/ Π½Π΅ Π±ΡΠ΄ΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ;\nΡΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΡ
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅:" -#: builtin/remote.c:928 +#: builtin/remote.c:810 +#, c-format +msgid "Could not remove config section '%s'" +msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ΅ΠΊΡΠΈΡ ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Β«%sΒ»" + +#: builtin/remote.c:911 #, c-format msgid " new (next fetch will store in remotes/%s)" msgstr " Π½ΠΎΠ²Π°Ρ (ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡ
ΡΠ°Π½ΠΈΡ Π΅Π΅ Π² remotes/%s)" -#: builtin/remote.c:931 +#: builtin/remote.c:914 msgid " tracked" msgstr " ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΡΡΡ" -#: builtin/remote.c:933 +#: builtin/remote.c:916 msgid " stale (use 'git remote prune' to remove)" msgstr " Π½Π΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½Π° (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Β«git remote pruneΒ», ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ)" -#: builtin/remote.c:935 +#: builtin/remote.c:918 msgid " ???" msgstr " ???" -#: builtin/remote.c:976 +#: builtin/remote.c:959 #, c-format msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch" msgstr "Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ branch.%s.merge; Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π½Π°Π΄ 1 Π²Π΅ΡΠΊΠΎΠΉ" -#: builtin/remote.c:983 +#: builtin/remote.c:967 #, c-format -msgid "rebases onto remote %s" -msgstr "Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½Π° Π½Π°Π΄ Π²Π½Π΅ΡΠ½Π΅ΠΉ Π²Π΅ΡΠΊΠΎΠΉ %s" +msgid "rebases interactively onto remote %s" +msgstr "ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ Π½Π°Π΄ Π²Π½Π΅ΡΠ½Π΅ΠΉ Π²Π΅ΡΠΊΠΎΠΉ %s" -#: builtin/remote.c:986 +#: builtin/remote.c:971 #, c-format msgid " merges with remote %s" msgstr " Π±ΡΠ΄Π΅Ρ ΡΠ»ΠΈΡΠ° Ρ Π²Π½Π΅ΡΠ½Π΅ΠΉ Π²Π΅ΡΠΊΠΎΠΉ %s" -#: builtin/remote.c:987 +#: builtin/remote.c:972 msgid " and with remote" msgstr " ΠΈ Ρ Π²Π½Π΅ΡΠ½Π΅ΠΉ Π²Π΅ΡΠΊΠΎΠΉ" -#: builtin/remote.c:989 +#: builtin/remote.c:974 #, c-format msgid "merges with remote %s" msgstr "Π±ΡΠ΄Π΅Ρ ΡΠ»ΠΈΡΠ° Ρ Π²Π½Π΅ΡΠ½Π΅ΠΉ Π²Π΅ΡΠΊΠΎΠΉ %s" -#: builtin/remote.c:990 +#: builtin/remote.c:975 msgid " and with remote" msgstr " ΠΈ Ρ Π²Π½Π΅ΡΠ½Π΅ΠΉ Π²Π΅ΡΠΊΠΎΠΉ" -#: builtin/remote.c:1036 +#: builtin/remote.c:1021 msgid "create" msgstr "ΡΠΎΠ·Π΄Π°Π½Π°" -#: builtin/remote.c:1039 +#: builtin/remote.c:1024 msgid "delete" msgstr "ΡΠ΄Π°Π»Π΅Π½Π°" -#: builtin/remote.c:1043 +#: builtin/remote.c:1028 msgid "up to date" msgstr "ΡΠΆΠ΅ Π°ΠΊΡΡΠ°Π»ΡΠ½Π°" -#: builtin/remote.c:1046 +#: builtin/remote.c:1031 msgid "fast-forwardable" msgstr "Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠ° Π²ΠΏΠ΅ΡΠ΅Π΄" -#: builtin/remote.c:1049 +#: builtin/remote.c:1034 msgid "local out of date" msgstr "Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΠΊΠ° ΡΡΡΠ°ΡΠ΅Π»Π°" -#: builtin/remote.c:1056 +#: builtin/remote.c:1041 #, c-format msgid " %-*s forces to %-*s (%s)" msgstr " %-*s Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π° Π² %-*s (%s)" -#: builtin/remote.c:1059 +#: builtin/remote.c:1044 #, c-format msgid " %-*s pushes to %-*s (%s)" msgstr " %-*s Π±ΡΠ΄Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π° Π² %-*s (%s)" -#: builtin/remote.c:1063 +#: builtin/remote.c:1048 #, c-format msgid " %-*s forces to %s" msgstr " %-*s Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π° Π² %s" -#: builtin/remote.c:1066 +#: builtin/remote.c:1051 #, c-format msgid " %-*s pushes to %s" msgstr " %-*s Π±ΡΠ΄Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π° Π² %s" -#: builtin/remote.c:1134 +#: builtin/remote.c:1119 msgid "do not query remotes" msgstr "Π½Π΅ ΠΎΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ" -#: builtin/remote.c:1161 +#: builtin/remote.c:1146 #, c-format msgid "* remote %s" msgstr "* Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ %s" -#: builtin/remote.c:1162 +#: builtin/remote.c:1147 #, c-format msgid " Fetch URL: %s" msgstr " URL Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ: %s" -#: builtin/remote.c:1163 builtin/remote.c:1314 +#: builtin/remote.c:1148 builtin/remote.c:1299 msgid "(no URL)" msgstr "(Π½Π΅Ρ URL)" -#: builtin/remote.c:1172 builtin/remote.c:1174 +#: builtin/remote.c:1157 builtin/remote.c:1159 #, c-format msgid " Push URL: %s" msgstr " URL Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ: %s" -#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180 +#: builtin/remote.c:1161 builtin/remote.c:1163 builtin/remote.c:1165 #, c-format msgid " HEAD branch: %s" msgstr " HEAD Π²Π΅ΡΠΊΠ°: %s" -#: builtin/remote.c:1182 +#: builtin/remote.c:1167 #, c-format msgid " HEAD branch (remote HEAD is ambiguous, may be one of the following):\n" msgstr " HEAD Π²Π΅ΡΠΊΠ° (HEAD Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΡΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ·):\n" -#: builtin/remote.c:1194 +#: builtin/remote.c:1179 #, c-format msgid " Remote branch:%s" msgid_plural " Remote branches:%s" @@ -9146,11 +9358,11 @@ msgstr[1] " ΠΠ½Π΅ΡΠ½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ:%s" msgstr[2] " ΠΠ½Π΅ΡΠ½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ:%s" msgstr[3] " ΠΠ½Π΅ΡΠ½ΠΈΠ΅ Π²Π΅ΡΠΊΠΈ:%s" -#: builtin/remote.c:1197 builtin/remote.c:1224 +#: builtin/remote.c:1182 builtin/remote.c:1209 msgid " (status not queried)" msgstr " (ΡΡΠ°ΡΡΡ Π½Π΅ Π·Π°ΠΏΡΠΎΡΠ΅Π½)" -#: builtin/remote.c:1206 +#: builtin/remote.c:1191 msgid " Local branch configured for 'git pull':" msgid_plural " Local branches configured for 'git pull':" msgstr[0] " ΠΠΎΠΊΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΠΊΠ°, Π½Π°ΡΡΡΠΎΠ΅Π½Π½Π°Ρ Π΄Π»Ρ Β«git pullΒ»:" @@ -9158,11 +9370,11 @@ msgstr[1] " ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ Π²Π΅ΡΠΊΠΈ, Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ Β«git msgstr[2] " ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ Π²Π΅ΡΠΊΠΈ, Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ Β«git pullΒ»:" msgstr[3] " ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ Π²Π΅ΡΠΊΠΈ, Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ Β«git pullΒ»:" -#: builtin/remote.c:1214 +#: builtin/remote.c:1199 msgid " Local refs will be mirrored by 'git push'" msgstr " ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ, Π·Π΅ΡΠΊΠ°Π»ΠΈΡΡΠ΅ΠΌΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Β«git pushΒ»" -#: builtin/remote.c:1221 +#: builtin/remote.c:1206 #, c-format msgid " Local ref configured for 'git push'%s:" msgid_plural " Local refs configured for 'git push'%s:" @@ -9171,128 +9383,128 @@ msgstr[1] " ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ, Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ Β«gi msgstr[2] " ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ, Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ Β«git pushΒ»%s:" msgstr[3] " ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ, Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ Β«git pushΒ»%s:" -#: builtin/remote.c:1242 +#: builtin/remote.c:1227 msgid "set refs/remotes/<name>/HEAD according to remote" msgstr "ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ refs/remotes/<ΠΈΠΌΡ>/HEAD Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ" -#: builtin/remote.c:1244 +#: builtin/remote.c:1229 msgid "delete refs/remotes/<name>/HEAD" msgstr "ΡΠ΄Π°Π»ΠΈΡΡ refs/remotes/<ΠΈΠΌΡ>/HEAD" -#: builtin/remote.c:1259 +#: builtin/remote.c:1244 msgid "Cannot determine remote HEAD" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ HEAD" -#: builtin/remote.c:1261 +#: builtin/remote.c:1246 msgid "Multiple remote HEAD branches. Please choose one explicitly with:" msgstr "ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π½Π΅ΡΠ½ΠΈΡ
HEAD Π²Π΅ΡΠΎΠΊ. Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠ²Π½ΠΎ ΠΎΠ΄Π½Ρ ΠΈΠ· Π½ΠΈΡ
:" -#: builtin/remote.c:1271 +#: builtin/remote.c:1256 #, c-format msgid "Could not delete %s" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ΄Π°Π»ΠΈΡΡ %s" -#: builtin/remote.c:1279 +#: builtin/remote.c:1264 #, c-format msgid "Not a valid ref: %s" msgstr "ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ ΡΡΡΠ»ΠΊΠ°: %s" -#: builtin/remote.c:1281 +#: builtin/remote.c:1266 #, c-format msgid "Could not setup %s" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π½Π°ΡΡΡΠΎΠΈΡΡ %s" -#: builtin/remote.c:1299 +#: builtin/remote.c:1284 #, c-format msgid " %s will become dangling!" msgstr " %s Π±ΡΠ΄Π΅Ρ Π²ΠΈΡΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΎΠΉ!" -#: builtin/remote.c:1300 +#: builtin/remote.c:1285 #, c-format msgid " %s has become dangling!" msgstr " %s ΡΡΠ°Π»Π° Π²ΠΈΡΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΎΠΉ!" -#: builtin/remote.c:1310 +#: builtin/remote.c:1295 #, c-format msgid "Pruning %s" msgstr "Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ %s" -#: builtin/remote.c:1311 +#: builtin/remote.c:1296 #, c-format msgid "URL: %s" msgstr "URL: %s" -#: builtin/remote.c:1327 +#: builtin/remote.c:1312 #, c-format msgid " * [would prune] %s" msgstr " * [Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»Π΅Π½Π°] %s" -#: builtin/remote.c:1330 +#: builtin/remote.c:1315 #, c-format msgid " * [pruned] %s" msgstr " * [ΡΠ΄Π°Π»Π΅Π½Π°] %s" -#: builtin/remote.c:1375 +#: builtin/remote.c:1360 msgid "prune remotes after fetching" msgstr "ΠΏΠΎΡΠΈΡΡΠΈΡΡ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΏΠΎΡΠ»Π΅ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ" -#: builtin/remote.c:1441 builtin/remote.c:1498 builtin/remote.c:1566 +#: builtin/remote.c:1423 builtin/remote.c:1477 builtin/remote.c:1545 #, c-format msgid "No such remote '%s'" msgstr "ΠΠ΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Β«%sΒ»" -#: builtin/remote.c:1461 +#: builtin/remote.c:1439 msgid "add branch" msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²Π΅ΡΠΊΡ" -#: builtin/remote.c:1468 +#: builtin/remote.c:1446 msgid "no remote specified" msgstr "Π½Π΅ ΡΠΊΠ°Π·Π°Π½ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ" -#: builtin/remote.c:1485 +#: builtin/remote.c:1463 msgid "query push URLs rather than fetch URLs" msgstr "Π·Π°ΠΏΡΠΎΡΠΈΡΡ URL ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ, Π²ΠΌΠ΅ΡΡΠΎ URL ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ" -#: builtin/remote.c:1487 +#: builtin/remote.c:1465 msgid "return all URLs" msgstr "Π²Π΅ΡΠ½ΡΡΡ Π²ΡΠ΅ URL" -#: builtin/remote.c:1515 +#: builtin/remote.c:1493 #, c-format msgid "no URLs configured for remote '%s'" msgstr "URL Π½Π΅ Π½Π°ΡΡΡΠΎΠ΅Π½Ρ Π΄Π»Ρ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Β«%sΒ»" -#: builtin/remote.c:1541 +#: builtin/remote.c:1519 msgid "manipulate push URLs" msgstr "ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ URL ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ" -#: builtin/remote.c:1543 +#: builtin/remote.c:1521 msgid "add URL" msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡΡ URL" -#: builtin/remote.c:1545 +#: builtin/remote.c:1523 msgid "delete URLs" msgstr "ΡΠ΄Π°Π»ΠΈΡΡ URL" -#: builtin/remote.c:1552 +#: builtin/remote.c:1530 msgid "--add --delete doesn't make sense" msgstr "--add Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ --delete" -#: builtin/remote.c:1592 +#: builtin/remote.c:1571 #, c-format msgid "Invalid old URL pattern: %s" msgstr "ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ ΡΡΠ°ΡΠΎΠ³ΠΎ URL: %s" -#: builtin/remote.c:1600 +#: builtin/remote.c:1579 #, c-format msgid "No such URL found: %s" msgstr "ΠΠ΅ Π½Π°ΠΉΠ΄Π΅Π½Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ URL: %s" -#: builtin/remote.c:1602 +#: builtin/remote.c:1581 msgid "Will not delete all non-push URLs" msgstr "ΠΠ΅Π»ΡΠ·Ρ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ URL Π½Π΅-ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ" -#: builtin/remote.c:1616 +#: builtin/remote.c:1595 msgid "be verbose; must be placed before a subcommand" msgstr "Π±ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠ²Π½Π΅Π΅; Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΡΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ" @@ -9406,7 +9618,7 @@ msgstr "ΠΏΠ»ΠΎΡ
Π°Ρ ΠΌΠ΅ΡΠΊΠ° ΡΠ»ΠΈΡΠ½ΠΈΡ Π² ΠΊΠΎΠΌΠΌΠΈΡΠ΅ Β«%sΒ»" #: builtin/replace.c:357 #, c-format msgid "malformed mergetag in commit '%s'" -msgstr "ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½Π½Π°Ρ ΠΌΠ΅ΡΠΊΠ° ΡΠ»ΠΈΡΠ½ΠΈΡ Π² ΠΊΠΎΠΌΠΌΠΈΡΠ΅ Β«%sΒ»" +msgstr "ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄ΡΠ½Π½Π°Ρ ΠΌΠ΅ΡΠΊΠ° ΡΠ»ΠΈΡΠ½ΠΈΡ Π² ΠΊΠΎΠΌΠΌΠΈΡΠ΅ Β«%sΒ»" #: builtin/replace.c:368 #, c-format @@ -9590,7 +9802,7 @@ msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ±ΡΠΎΡΠΈΡΡ ΡΠ°ΠΉΠ» ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π½Π° ΡΠ΅Π΄ msgid "Could not write new index file." msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» ΠΈΠ½Π΄Π΅ΠΊΡΠ°." -#: builtin/rev-list.c:354 +#: builtin/rev-list.c:350 msgid "rev-list does not support display of notes" msgstr "rev-list Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΎΠΊ" @@ -9826,28 +10038,23 @@ msgstr "Π²ΡΠ²Π΅ΡΡΠΈ ΡΡΠ°ΡΡΡ ΠΎΡ ΡΠΊΡΠΈΠΏΡΠ° Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ΅ΡΠ msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]" msgstr "git shortlog [<ΠΎΠΏΡΠΈΠΈ>] [<Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½-ΡΠ΅Π΄Π°ΠΊΡΠΈΠΉ>] [[--] [<ΠΏΡΡΡ>β¦]]" -#: builtin/shortlog.c:131 -#, c-format -msgid "Missing author: %s" -msgstr "ΠΡΠΎΠΏΡΡΠ΅Π½ Π°Π²ΡΠΎΡ: %s" - -#: builtin/shortlog.c:230 +#: builtin/shortlog.c:242 msgid "sort output according to the number of commits per author" msgstr "ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Ρ Π°Π²ΡΠΎΡΠ°" -#: builtin/shortlog.c:232 +#: builtin/shortlog.c:244 msgid "Suppress commit descriptions, only provides commit count" msgstr "ΠΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΈΡ
ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ" -#: builtin/shortlog.c:234 +#: builtin/shortlog.c:246 msgid "Show the email address of each author" msgstr "ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΏΠΎΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π°Π²ΡΠΎΡΠΎΠ²" -#: builtin/shortlog.c:235 +#: builtin/shortlog.c:247 msgid "w[,i1[,i2]]" msgstr "w[,i1[,i2]]" -#: builtin/shortlog.c:236 +#: builtin/shortlog.c:248 msgid "Linewrap output" msgstr "ΠΠ΅ΡΠ΅Π½ΠΎΡ ΡΡΡΠΎΠΊ Π½Π° Π²ΡΠ²ΠΎΠ΄Π΅" @@ -9885,7 +10092,7 @@ msgstr "ΡΠΈΠ½ΠΎΠ½ΠΈΠΌ Π΄Π»Ρ more=-1" #: builtin/show-branch.c:649 msgid "suppress naming strings" -msgstr "Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ" +msgstr "Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ" #: builtin/show-branch.c:651 msgid "include the current branch" @@ -9909,7 +10116,7 @@ msgstr "Π²ΡΠ²Π΅ΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡΡ Π² ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ #: builtin/show-branch.c:662 msgid "show only commits not on the first branch" -msgstr "Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΎΡΡΡΡΡΠ²ΡΡΡΠΈΠ΅ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠ΅" +msgstr "Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΌΠΈΡΡ, ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΠ΅ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ Π²Π΅ΡΠΊΠ΅" #: builtin/show-branch.c:664 msgid "show merges reachable from only one tip" @@ -9982,80 +10189,80 @@ msgid "skip and remove all lines starting with comment character" msgstr "ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΊΠΎΠΌΠΌΠ΅ΡΠ°ΡΠΈΡ" #: builtin/stripspace.c:38 -msgid "prepend comment character and blank to each line" -msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΏΠ΅ΡΠ΅Π΄ΠΈ Π²ΡΠ΅ ΡΡΡΠΎΠΊ ΡΠΈΠΌΠ²ΠΎΠ» ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈ ΠΏΡΠΎΠ±Π΅Π»" +msgid "prepend comment character and space to each line" +msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΊΠΎΠΌΠΌΠ΅ΡΠ°ΡΠΈΡ ΠΈ ΠΏΡΠΎΠ±Π΅Π»" -#: builtin/submodule--helper.c:79 builtin/submodule--helper.c:167 +#: builtin/submodule--helper.c:73 builtin/submodule--helper.c:161 msgid "alternative anchor for relative paths" msgstr "Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π΄Π»Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΏΡΡΠ΅ΠΉ" -#: builtin/submodule--helper.c:84 +#: builtin/submodule--helper.c:78 msgid "git submodule--helper list [--prefix=<path>] [<path>...]" msgstr "git submodule--helper list [--prefix=<ΠΏΡΡΡ>] [<ΠΏΡΡΡ>β¦]" -#: builtin/submodule--helper.c:114 +#: builtin/submodule--helper.c:108 msgid "git submodule--helper name <path>" msgstr "git submodule--helper name <ΠΏΡΡΡ>" -#: builtin/submodule--helper.c:120 +#: builtin/submodule--helper.c:114 #, c-format msgid "no submodule mapping found in .gitmodules for path '%s'" msgstr "Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π² .gitmodules Π΄Π»Ρ ΠΏΡΡΠΈ Β«%sΒ»" -#: builtin/submodule--helper.c:170 +#: builtin/submodule--helper.c:164 msgid "where the new submodule will be cloned to" msgstr "ΠΊΡΠ΄Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ Π½ΠΎΠ²ΡΠΉ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Ρ" -#: builtin/submodule--helper.c:173 +#: builtin/submodule--helper.c:167 msgid "name of the new submodule" msgstr "ΠΈΠΌΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Ρ" -#: builtin/submodule--helper.c:176 +#: builtin/submodule--helper.c:170 msgid "url where to clone the submodule from" msgstr "url ΠΎΡΠΊΡΠ΄Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΠ» ΡΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ Π½ΠΎΠ²ΡΠΉ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Ρ" -#: builtin/submodule--helper.c:182 +#: builtin/submodule--helper.c:176 msgid "depth for shallow clones" msgstr "Π³Π»ΡΠ±ΠΈΠ½Π° Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΠΎΠ½Π°" -#: builtin/submodule--helper.c:188 +#: builtin/submodule--helper.c:182 msgid "" "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference " "<repository>] [--name <name>] [--url <url>][--depth <depth>] [--] " "[<path>...]" msgstr "git submodule--helper clone [--prefix=<ΠΏΡΡΡ>] [--quiet] [--reference <ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ>] [--name <ΠΈΠΌΡ>] [--url <url>][--depth <Π³Π»ΡΠ±ΠΈΠ½Π°>] [--] [<ΠΏΡΡΡ>β¦]" -#: builtin/submodule--helper.c:202 builtin/submodule--helper.c:208 -#: builtin/submodule--helper.c:216 +#: builtin/submodule--helper.c:196 builtin/submodule--helper.c:202 +#: builtin/submodule--helper.c:210 #, c-format msgid "could not create directory '%s'" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Β«%sΒ»" -#: builtin/submodule--helper.c:204 +#: builtin/submodule--helper.c:198 #, c-format msgid "clone of '%s' into submodule path '%s' failed" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ Β«%sΒ» Π² ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎ ΠΏΡΡΠΈ Β«%sΒ»" -#: builtin/submodule--helper.c:227 +#: builtin/submodule--helper.c:221 #, c-format msgid "cannot open file '%s'" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» Β«%sΒ»" -#: builtin/submodule--helper.c:232 +#: builtin/submodule--helper.c:226 #, c-format msgid "could not close file %s" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π·Π°ΠΊΡΡΡΡ ΡΠ°ΠΉΠ» %s" -#: builtin/submodule--helper.c:247 +#: builtin/submodule--helper.c:241 #, c-format msgid "could not get submodule directory for '%s'" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Ρ Β«%sΒ»" -#: builtin/submodule--helper.c:273 +#: builtin/submodule--helper.c:267 msgid "fatal: submodule--helper subcommand must be called with a subcommand" msgstr "ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ°: ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Π° submodule--helper Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Ρ" -#: builtin/submodule--helper.c:280 +#: builtin/submodule--helper.c:274 #, c-format msgid "fatal: '%s' is not a valid submodule--helper subcommand" msgstr "ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ°: Β«%sΒ» Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ submodule--helper" @@ -10286,188 +10493,201 @@ msgstr "ΠΠ΅ΡΠΊΠ° Β«%sΒ» ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π° (Π±ΡΠ»Π° %s)\n" msgid "Unpacking objects" msgstr "Π Π°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²" -#: builtin/update-index.c:70 +#: builtin/update-index.c:79 #, c-format msgid "failed to create directory %s" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ %s" -#: builtin/update-index.c:76 +#: builtin/update-index.c:85 #, c-format msgid "failed to stat %s" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ stat %s" -#: builtin/update-index.c:86 +#: builtin/update-index.c:95 #, c-format msgid "failed to create file %s" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» %s" -#: builtin/update-index.c:94 +#: builtin/update-index.c:103 #, c-format msgid "failed to delete file %s" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°ΠΉΠ» %s" -#: builtin/update-index.c:101 builtin/update-index.c:203 +#: builtin/update-index.c:110 builtin/update-index.c:212 #, c-format msgid "failed to delete directory %s" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ΄Π°Π»ΠΈΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ %s" -#: builtin/update-index.c:124 +#: builtin/update-index.c:133 #, c-format -msgid "Testing " -msgstr "Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅" +msgid "Testing mtime in '%s' " +msgstr "ΠΡΠΎΠ²Π΅ΡΠΊΠ° mtime Π² Β«%sΒ» " -#: builtin/update-index.c:136 +#: builtin/update-index.c:145 msgid "directory stat info does not change after adding a new file" msgstr "ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°" -#: builtin/update-index.c:149 +#: builtin/update-index.c:158 msgid "directory stat info does not change after adding a new directory" msgstr "ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°" -#: builtin/update-index.c:162 +#: builtin/update-index.c:171 msgid "directory stat info changes after updating a file" msgstr "ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°" -#: builtin/update-index.c:173 +#: builtin/update-index.c:182 msgid "directory stat info changes after adding a file inside subdirectory" msgstr "ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π²Π½ΡΡΡΠΈ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°" -#: builtin/update-index.c:184 +#: builtin/update-index.c:193 msgid "directory stat info does not change after deleting a file" msgstr "ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°" -#: builtin/update-index.c:197 +#: builtin/update-index.c:206 msgid "directory stat info does not change after deleting a directory" msgstr "ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°" -#: builtin/update-index.c:204 +#: builtin/update-index.c:213 msgid " OK" msgstr " OK" -#: builtin/update-index.c:564 +#: builtin/update-index.c:575 msgid "git update-index [<options>] [--] [<file>...]" msgstr "git update-index [<ΠΎΠΏΡΠΈΠΈ>] [--] [<ΡΠ°ΠΉΠ»>β¦]" -#: builtin/update-index.c:918 +#: builtin/update-index.c:930 msgid "continue refresh even when index needs update" msgstr "ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ" -#: builtin/update-index.c:921 +#: builtin/update-index.c:933 msgid "refresh: ignore submodules" msgstr "ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅: ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»ΠΈ" -#: builtin/update-index.c:924 +#: builtin/update-index.c:936 msgid "do not ignore new files" msgstr "Π½Π΅ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ" -#: builtin/update-index.c:926 +#: builtin/update-index.c:938 msgid "let files replace directories and vice-versa" msgstr "ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΡΠ°ΠΉΠ»Π°ΠΌ Π·Π°ΠΌΠ΅Π½ΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ" -#: builtin/update-index.c:928 +#: builtin/update-index.c:940 msgid "notice files missing from worktree" msgstr "Π·Π°ΠΌΠ΅ΡΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΠ΅ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅" -#: builtin/update-index.c:930 +#: builtin/update-index.c:942 msgid "refresh even if index contains unmerged entries" msgstr "ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅ ΠΈΠΌΠ΅ΡΡΡΡ Π½Π΅ ΡΠ»ΠΈΡΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ" -#: builtin/update-index.c:933 +#: builtin/update-index.c:945 msgid "refresh stat information" msgstr "ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΡΠ°ΡΡΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²" -#: builtin/update-index.c:937 +#: builtin/update-index.c:949 msgid "like --refresh, but ignore assume-unchanged setting" msgstr "ΠΊΠ°ΠΊ --refresh, Π½ΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ assume-unchanged" -#: builtin/update-index.c:941 +#: builtin/update-index.c:953 msgid "<mode>,<object>,<path>" msgstr "<ΡΠ΅ΠΆΠΈΠΌ Π΄ΠΎΡΡΡΠΏΠ°>,<ΠΎΠ±ΡΠ΅ΠΊΡ>,<ΠΏΡΡΡ>" -#: builtin/update-index.c:942 +#: builtin/update-index.c:954 msgid "add the specified entry to the index" msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π·Π°ΠΏΠΈΡΡ Π² ΠΈΠ½Π΄Π΅ΠΊΡ" -#: builtin/update-index.c:946 +#: builtin/update-index.c:958 msgid "(+/-)x" msgstr "(+/-)x" -#: builtin/update-index.c:947 +#: builtin/update-index.c:959 msgid "override the executable bit of the listed files" msgstr "ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π±ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π° ΡΠΊΠ°Π·Π°Π½Π½ΡΡ
ΡΠ°ΠΉΠ»Π°Ρ
" -#: builtin/update-index.c:951 +#: builtin/update-index.c:963 msgid "mark files as \"not changing\"" msgstr "ΠΏΠΎΠΌΠ΅ΡΠΈΡΡ ΡΠ°ΠΉΠ»Ρ ΠΊΠ°ΠΊ Β«Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅Β»" -#: builtin/update-index.c:954 +#: builtin/update-index.c:966 msgid "clear assumed-unchanged bit" msgstr "ΡΠ±ΡΠ°ΡΡ ΠΏΠΎΠΌΠ΅ΡΠΊΡ assumed-unchanged" -#: builtin/update-index.c:957 +#: builtin/update-index.c:969 msgid "mark files as \"index-only\"" msgstr "ΠΏΠΎΠΌΠ΅ΡΠΈΡΡ ΡΠ°ΠΉΠ»Ρ ΠΊΠ°ΠΊ Β«ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅Β»" -#: builtin/update-index.c:960 +#: builtin/update-index.c:972 msgid "clear skip-worktree bit" msgstr "ΡΠ±ΡΠ°ΡΡ ΠΏΠΎΠΌΠ΅ΡΠΊΡ skip-worktree" -#: builtin/update-index.c:963 +#: builtin/update-index.c:975 msgid "add to index only; do not add content to object database" msgstr "ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΈΠ½Π΄Π΅ΠΊΡ; Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²" -#: builtin/update-index.c:965 +#: builtin/update-index.c:977 msgid "remove named paths even if present in worktree" msgstr "ΡΠ΄Π°Π»ΠΈΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΠΏΡΡΠΈ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅" -#: builtin/update-index.c:967 +#: builtin/update-index.c:979 msgid "with --stdin: input lines are terminated by null bytes" msgstr "Ρ ΠΎΠΏΡΠΈΠ΅ΠΉ --stdin: ΡΡΡΠΎΠΊΠΈ Π½Π° Π²Π²ΠΎΠ΄Π΅ ΠΎΡΠ΄Π΅Π»ΡΡΡΡΡ ΠΠ£ΠΠΠΠ«Π Π±Π°ΠΉΡΠΎΠΌ" -#: builtin/update-index.c:969 +#: builtin/update-index.c:981 msgid "read list of paths to be updated from standard input" msgstr "ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌΡΡ
ΠΏΡΡΠ΅ΠΉ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°" -#: builtin/update-index.c:973 +#: builtin/update-index.c:985 msgid "add entries from standard input to the index" -msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° Π² ΠΈΠ½Π΄Π΅ΠΊΡ" +msgstr "Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° Π² ΠΈΠ½Π΄Π΅ΠΊΡ" -#: builtin/update-index.c:977 +#: builtin/update-index.c:989 msgid "repopulate stages #2 and #3 for the listed paths" msgstr "Π·Π°Π½ΠΎΠ²ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ #2 ΠΈ #3 Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ
ΠΏΡΡΠ΅ΠΉ" -#: builtin/update-index.c:981 +#: builtin/update-index.c:993 msgid "only update entries that differ from HEAD" msgstr "ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΠΈΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ HEAD" -#: builtin/update-index.c:985 +#: builtin/update-index.c:997 msgid "ignore files missing from worktree" msgstr "ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ, ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΠ΅ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅" -#: builtin/update-index.c:988 +#: builtin/update-index.c:1000 msgid "report actions to standard output" msgstr "Π²ΡΠ²Π΅ΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄" -#: builtin/update-index.c:990 +#: builtin/update-index.c:1002 msgid "(for porcelains) forget saved unresolved conflicts" msgstr "(Π΄Π»Ρ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ) Π·Π°Π±ΡΡΡ ΡΠΎΡ
ΡΠ°Π½Π΅Π½Π½ΡΠ΅ Π½Π΅ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ" -#: builtin/update-index.c:994 +#: builtin/update-index.c:1006 msgid "write index in this format" msgstr "Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅" -#: builtin/update-index.c:996 +#: builtin/update-index.c:1008 msgid "enable or disable split index" msgstr "ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΈΠ»ΠΈ Π·Π°ΠΏΡΠ΅ΡΠΈΡΡ ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ" -#: builtin/update-index.c:998 +#: builtin/update-index.c:1010 msgid "enable/disable untracked cache" msgstr "Π²ΠΊΠ»ΡΡΠΈΡΡ/ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΊΡΡ Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²" -#: builtin/update-index.c:1000 +#: builtin/update-index.c:1012 +msgid "test if the filesystem supports untracked cache" +msgstr "ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΊΡΡ Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²" + +#: builtin/update-index.c:1014 msgid "enable untracked cache without testing the filesystem" msgstr "Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΊΡΡ Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² Π±Π΅Π· ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ" +#: builtin/update-index.c:1134 +msgid "Untracked cache disabled" +msgstr "ΠΡΡ Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΎΡΠΊΠ»ΡΡΠ΅Π½" + +#: builtin/update-index.c:1146 +#, c-format +msgid "Untracked cache enabled for '%s'" +msgstr "ΠΡΡ Π½Π΅ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² Π²ΠΊΠ»ΡΡΠ΅Π½ Π΄Π»Ρ Β«%sΒ»" + #: builtin/update-ref.c:9 msgid "git update-ref [<options>] -d <refname> [<old-val>]" msgstr "git update-ref [<ΠΎΠΏΡΠΈΠΈ>] -d <ΠΈΠΌΡ-ΡΡΡΠ»ΠΊΠΈ> [<ΡΡΠ°ΡΠΎΠ΅-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅>]" @@ -10490,7 +10710,7 @@ msgstr "ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ <ΠΈΠΌΡ-ΡΡΡΠ»ΠΊΠΈ> Π° Π½Π΅ ΡΠΎ, Π½Π° ΡΡΠΎ ΠΎΠ½Π° #: builtin/update-ref.c:366 msgid "stdin has NUL-terminated arguments" -msgstr "Π²Π²ΠΎΠ΄ ΠΎΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΠ£ΠΠΠΠ«ΠΠ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ" +msgstr "Π²Π²ΠΎΠ΄ ΠΎΡΠ΄Π΅Π»ΡΠ½Π½ΡΠΉ ΠΠ£ΠΠΠΠ«ΠΠ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ" #: builtin/update-ref.c:367 msgid "read updates from stdin" @@ -10583,33 +10803,33 @@ msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ΄Π°Π»ΠΈΡΡ: %s" msgid "'%s' already exists" msgstr "Β«%sΒ» ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ" -#: builtin/worktree.c:235 +#: builtin/worktree.c:233 #, c-format msgid "could not create directory of '%s'" msgstr "Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Β«%sΒ»" -#: builtin/worktree.c:271 +#: builtin/worktree.c:269 #, c-format msgid "Preparing %s (identifier %s)" msgstr "ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° %s (ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ %s)" -#: builtin/worktree.c:319 +#: builtin/worktree.c:317 msgid "checkout <branch> even if already checked out in other worktree" msgstr "ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° <Π²Π΅ΡΠΊΠ°> Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½Π° ΡΠΆΠ΅ Π°ΠΊΡΠΈΠ²Π½Π° Π² Π΄ΡΡΠ³ΠΎΠΌ ΡΠ°Π±ΠΎΡΠ΅ΡΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅" -#: builtin/worktree.c:321 +#: builtin/worktree.c:319 msgid "create a new branch" msgstr "ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΠΊΡ" -#: builtin/worktree.c:323 +#: builtin/worktree.c:321 msgid "create or reset a branch" msgstr "ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Π²Π΅ΡΠΊΡ" -#: builtin/worktree.c:324 +#: builtin/worktree.c:322 msgid "detach HEAD at named commit" msgstr "ΠΎΡΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ HEAD Π½Π° ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡΠ΅" -#: builtin/worktree.c:331 +#: builtin/worktree.c:329 msgid "-b, -B, and --detach are mutually exclusive" msgstr "-b, -B ΠΈ --detach Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ" @@ -10629,7 +10849,7 @@ msgstr "Π²ΡΠ²Π΅ΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄Π΅ΡΠ΅Π²Π° Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Ρ msgid "only useful for debugging" msgstr "ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅" -#: credential-cache--daemon.c:255 +#: credential-cache--daemon.c:262 msgid "print debugging messages to stderr" msgstr "Π²ΡΠ²ΠΎΠ΄ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ
ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π½Π° stderr" @@ -10640,6 +10860,10 @@ msgid "" "to read about a specific subcommand or concept." msgstr "Β«git help -Π°Β» ΠΈ Β«git help -gΒ» Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ\nΠ½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΏΠΎ ΡΠ΅ΠΌΠ°ΠΌ. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ Β«git help <ΠΊΠΎΠΌΠ°Π½Π΄Π°>Β» ΠΈΠ»ΠΈ\nΒ«git help <ΡΠ΅ΡΠΌΠΈΠ½>Β», ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈΠ»ΠΈ ΡΠ΅ΠΌΠ΅." +#: http.c:321 +msgid "Public key pinning not supported with cURL < 7.44.0" +msgstr "Public key pinning Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Ρ cURL < 7.44.0" + #: common-cmds.h:9 msgid "start a working area (see also: git help tutorial)" msgstr "ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°Π±ΠΎΡΡΡ ΠΎΠ±Π»Π°ΡΡΡ (ΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅: git help tutorial)" @@ -10698,7 +10922,7 @@ msgstr "ΠΡΠ²ΠΎΠ΄ ΡΡΡΠΎΠΊ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ
ΡΠ°Π±Π»ΠΎΠ½Ρ" #: common-cmds.h:26 msgid "Create an empty Git repository or reinitialize an existing one" -msgstr "Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Git ΠΈΠ»ΠΈ ΡΠ΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ" +msgstr "Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Git ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ" #: common-cmds.h:27 msgid "Show commit logs" @@ -10721,8 +10945,8 @@ msgid "Update remote refs along with associated objects" msgstr "ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ½ΠΈΡ
ΡΡΡΠ»ΠΎΠΊ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²" #: common-cmds.h:32 -msgid "Forward-port local commits to the updated upstream head" -msgstr "ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π½Π°Π΄ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Π²ΡΡΠ΅ΡΡΠΎΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΎΠΉ" +msgid "Reapply commits on top of another base tip" +msgstr "ΠΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠΌΠΈΡΡ Π½Π°Π΄ Π²Π΅ΡΡ
ΡΡΠΊΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΠΊΠΈ" #: common-cmds.h:33 msgid "Reset current HEAD to the specified state" @@ -11038,7 +11262,7 @@ msgstr "$onto_name: Π½Π΅Ρ Π±Π°Π·Ρ ΡΠ»ΠΈΡΠ½ΠΈΡ" #: git-rebase.sh:504 #, sh-format msgid "Does not point to a valid commit: $onto_name" -msgstr "ΠΠ΅ ΡΠΊΠ°Π·Π°ΡΠ²Π°Π΅Ρ Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ: $onto_name" +msgstr "ΠΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ: $onto_name" #: git-rebase.sh:527 #, sh-format @@ -11198,7 +11422,7 @@ msgstr "ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ±ΡΠ°ΡΡ ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ #: git-stash.sh:538 msgid "Index was not unstashed." -msgstr "ΠΠ½Π΄Π΅ΠΊΡ Π½Π΅ Π±ΡΠ» Π΄ΠΎΡΡΠ°Ρ ΠΈΠ· ΡΠΏΡΡΡΠ°Π½Π½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ." +msgstr "ΠΠ½Π΄Π΅ΠΊΡ Π½Π΅ Π±ΡΠ» ΠΈΠ·Π²Π»Π΅ΡΡΠ½ ΠΈΠ· ΡΠΏΡΡΡΠ°Π½Π½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ." #: git-stash.sh:561 #, sh-format @@ -11372,108 +11596,108 @@ msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΡΡΠΎΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΠΎΠ΄ΠΌΠ msgid "Submodule '$name' ($url) unregistered for path '$displaypath'" msgstr "ΠΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Ρ Β«$nameΒ» ($url) Π±ΡΠ» ΡΠ½ΡΡ Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΏΡΡΠΈ Β«$displaypathΒ»" -#: git-submodule.sh:705 +#: git-submodule.sh:723 #, sh-format msgid "" "Submodule path '$displaypath' not initialized\n" "Maybe you want to use 'update --init'?" msgstr "ΠΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎ ΠΏΡΡΠΈ Β«$displaypathΒ» Π½Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½\nΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Β«update --initΒ»?" -#: git-submodule.sh:718 +#: git-submodule.sh:736 #, sh-format msgid "Unable to find current revision in submodule path '$displaypath'" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π½Π°ΠΉΡΠΈ ΡΠ΅ΠΊΡΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎ ΠΏΡΡΠΈ Β«$displaypathΒ»" -#: git-submodule.sh:727 +#: git-submodule.sh:745 #, sh-format msgid "Unable to fetch in submodule path '$sm_path'" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎ ΠΏΡΡΠΈ Β«$sm_pathΒ»" -#: git-submodule.sh:751 +#: git-submodule.sh:768 #, sh-format msgid "Unable to fetch in submodule path '$displaypath'" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎ ΠΏΡΡΠΈ Β«$displaypathΒ»" -#: git-submodule.sh:765 +#: git-submodule.sh:788 #, sh-format msgid "Unable to checkout '$sha1' in submodule path '$displaypath'" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ Π½Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Β«$sha1Β» Π΄Π»Ρ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎ ΠΏΡΡΠΈ Β«$displaypathΒ»" -#: git-submodule.sh:766 +#: git-submodule.sh:789 #, sh-format msgid "Submodule path '$displaypath': checked out '$sha1'" msgstr "ΠΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎ ΠΏΡΡΠΈ Β«$displaypathΒ»: Π·Π°Π±ΡΠ°Π½ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Β«$sha1Β»" -#: git-submodule.sh:770 +#: git-submodule.sh:793 #, sh-format msgid "Unable to rebase '$sha1' in submodule path '$displaypath'" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ Β«$sha1Β» Π΄Π»Ρ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎ ΠΏΡΡΠΈ Β«$displaypathΒ»" -#: git-submodule.sh:771 +#: git-submodule.sh:794 #, sh-format msgid "Submodule path '$displaypath': rebased into '$sha1'" msgstr "ΠΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎ ΠΏΡΡΠΈ Β«$displaypathΒ»: ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ Π½Π°Π΄ Β«$sha1Β»" -#: git-submodule.sh:776 +#: git-submodule.sh:799 #, sh-format msgid "Unable to merge '$sha1' in submodule path '$displaypath'" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Ρ Β«$sha1Β» Π΄Π»Ρ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎ ΠΏΡΡΠΈ Β«$displaypathΒ»" -#: git-submodule.sh:777 +#: git-submodule.sh:800 #, sh-format msgid "Submodule path '$displaypath': merged in '$sha1'" msgstr "ΠΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎ ΠΏΡΡΠΈ Β«$displaypathΒ»: ΡΠ»ΠΈΡΠΎ Ρ Β«$sha1Β»" -#: git-submodule.sh:782 +#: git-submodule.sh:805 #, sh-format msgid "" "Execution of '$command $sha1' failed in submodule path '$prefix$sm_path'" msgstr "Π‘Π±ΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Β«$command $sha1Β» Π΄Π»Ρ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎ ΠΏΡΡΠΈ Β«$prefix$sm_pathΒ»" -#: git-submodule.sh:783 +#: git-submodule.sh:806 #, sh-format msgid "Submodule path '$prefix$sm_path': '$command $sha1'" msgstr "ΠΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎ ΠΏΡΡΠΈ Β«$prefix$sm_pathΒ»: Β«$command $sha1Β»" -#: git-submodule.sh:813 +#: git-submodule.sh:836 #, sh-format msgid "Failed to recurse into submodule path '$displaypath'" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎ ΠΏΡΡΠΈ Β«$displaypathΒ»" -#: git-submodule.sh:921 +#: git-submodule.sh:944 msgid "The --cached option cannot be used with the --files option" msgstr "ΠΠΏΡΠΈΡ --cached Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ ΠΎΠΏΡΠΈΠ΅ΠΉ --files" -#: git-submodule.sh:973 +#: git-submodule.sh:996 #, sh-format msgid "unexpected mode $mod_dst" msgstr "Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ $mod_dst" -#: git-submodule.sh:993 +#: git-submodule.sh:1016 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_src" msgstr " ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: $display_name Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡ $sha1_src" -#: git-submodule.sh:996 +#: git-submodule.sh:1019 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_dst" msgstr " ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: $display_name Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡ $sha1_dst" -#: git-submodule.sh:999 +#: git-submodule.sh:1022 #, sh-format msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst" msgstr " ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: $display_name Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΡ $sha1_src ΠΈ $sha1_dst" -#: git-submodule.sh:1024 +#: git-submodule.sh:1047 msgid "blob" msgstr "Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ" -#: git-submodule.sh:1142 +#: git-submodule.sh:1165 #, sh-format msgid "Failed to recurse into submodule path '$sm_path'" msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎ ΠΏΡΡΠΈ Β«$sm_pathΒ»" -#: git-submodule.sh:1206 +#: git-submodule.sh:1229 #, sh-format msgid "Synchronizing submodule url for '$displaypath'" msgstr "Π‘ΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ url Π΄Π»Ρ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»Ρ Β«$displaypathΒ»" @@ -1,14 +1,14 @@ # Swedish translations for Git. -# Copyright (C) 2010-2015 Peter krefting <peter@softwolves.pp.se> +# Copyright (C) 2010-2016 Peter krefting <peter@softwolves.pp.se> # This file is distributed under the same license as the Git package. -# Peter Krefting <peter@softwolves.pp.se>, 2010, 2011, 2012, 2013, 2014, 2015. +# Peter Krefting <peter@softwolves.pp.se>, 2010, 2011, 2012, 2013, 2014, 2015, 2016. # msgid "" msgstr "" -"Project-Id-Version: git 2.6.0\n" +"Project-Id-Version: git 2.8.0\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2015-12-22 22:50+0800\n" -"PO-Revision-Date: 2015-12-26 12:25+0100\n" +"POT-Creation-Date: 2016-03-16 00:16+0800\n" +"PO-Revision-Date: 2016-03-15 22:35+0100\n" "Last-Translator: Peter Krefting <peter@softwolves.pp.se>\n" "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" "Language: sv\n" @@ -31,7 +31,7 @@ msgstr "" "RΓ€tta dem i din arbetskatalog och anvΓ€nd sedan \"git add/rm <fil>\"\n" "som lΓ€mpligt fΓΆr att ange lΓΆsning och checka in." -#: advice.c:101 builtin/merge.c:1225 +#: advice.c:101 builtin/merge.c:1226 msgid "You have not concluded your merge (MERGE_HEAD exists)." msgstr "Du har inte avslutat sammanslagningen (MERGE_HEAD finns)." @@ -75,7 +75,7 @@ msgstr "fmt" msgid "archive format" msgstr "arkivformat" -#: archive.c:430 builtin/log.c:1229 +#: archive.c:430 builtin/log.c:1232 msgid "prefix" msgstr "prefix" @@ -83,11 +83,11 @@ msgstr "prefix" msgid "prepend prefix to each pathname in the archive" msgstr "lΓ€gg till prefix till varje sΓΆkvΓ€g i arkivet" -#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2535 -#: builtin/blame.c:2536 builtin/config.c:58 builtin/fast-export.c:987 -#: builtin/fast-export.c:989 builtin/grep.c:707 builtin/hash-object.c:99 -#: builtin/ls-files.c:446 builtin/ls-files.c:449 builtin/notes.c:395 -#: builtin/notes.c:558 builtin/read-tree.c:109 parse-options.h:153 +#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2547 +#: builtin/blame.c:2548 builtin/config.c:60 builtin/fast-export.c:987 +#: builtin/fast-export.c:989 builtin/grep.c:720 builtin/hash-object.c:100 +#: builtin/ls-files.c:459 builtin/ls-files.c:462 builtin/notes.c:398 +#: builtin/notes.c:561 builtin/read-tree.c:109 parse-options.h:153 msgid "file" msgstr "fil" @@ -119,7 +119,7 @@ msgstr "komprimera bΓ€ttre" msgid "list supported archive formats" msgstr "visa understΓΆdda arkivformat" -#: archive.c:451 builtin/archive.c:90 builtin/clone.c:77 +#: archive.c:451 builtin/archive.c:90 builtin/clone.c:78 msgid "repo" msgstr "arkiv" @@ -127,7 +127,7 @@ msgstr "arkiv" msgid "retrieve the archive from remote repository <repo>" msgstr "hΓ€mta arkivet frΓ₯n fjΓ€rrarkivet <arkiv>" -#: archive.c:453 builtin/archive.c:92 builtin/notes.c:479 +#: archive.c:453 builtin/archive.c:92 builtin/notes.c:482 msgid "command" msgstr "kommando" @@ -135,7 +135,7 @@ msgstr "kommando" msgid "path to the remote git-upload-archive command" msgstr "sΓΆkvΓ€g till kommandot git-upload-archive pΓ₯ fjΓ€rren" -#: attr.c:265 +#: attr.c:263 msgid "" "Negative patterns are ignored in git attributes\n" "Use '\\!' for literal leading exclamation." @@ -143,83 +143,100 @@ msgstr "" "Negativa mΓΆnster ignoreras i git-attribut\n" "AnvΓ€nd '\\!' fΓΆr att inleda med ett utropstecken." -#: branch.c:61 +#: branch.c:53 +#, c-format +msgid "" +"\n" +"After fixing the error cause you may try to fix up\n" +"the remote tracking information by invoking\n" +"\"git branch --set-upstream-to=%s%s%s\"." +msgstr "" +"\n" +"NΓ€r du har rΓ€ttat felorsaken kan du fΓΆrsΓΆka rΓ€tta\n" +"fjΓ€rrspΓ₯rningsinformationen genom att utfΓΆra\n" +"\"git branch --set-upstream-to=%s%s%s\"." + +#: branch.c:67 #, c-format msgid "Not setting branch %s as its own upstream." msgstr "StΓ€ller inte in grenen %s som sin egen uppstrΓΆmsgren." -#: branch.c:84 +#: branch.c:93 #, c-format msgid "Branch %s set up to track remote branch %s from %s by rebasing." msgstr "" "Grenen %s stΓ€lldes in att spΓ₯ra fjΓ€rrgrenen %s frΓ₯n %s genom ombasering." -#: branch.c:85 +#: branch.c:94 #, c-format msgid "Branch %s set up to track remote branch %s from %s." msgstr "Grenen %s stΓ€lldes in att spΓ₯ra fjΓ€rrgrenen %s frΓ₯n %s." -#: branch.c:89 +#: branch.c:98 #, c-format msgid "Branch %s set up to track local branch %s by rebasing." msgstr "Grenen %s stΓ€lldes in att spΓ₯ra den lokala grenen %s genom ombasering." -#: branch.c:90 +#: branch.c:99 #, c-format msgid "Branch %s set up to track local branch %s." msgstr "Grenen %s stΓ€lldes in att spΓ₯ra den lokala grenen %s." -#: branch.c:95 +#: branch.c:104 #, c-format msgid "Branch %s set up to track remote ref %s by rebasing." msgstr "Grenen %s stΓ€lldes in att spΓ₯ra fjΓ€rreferensen %s genom ombasering." -#: branch.c:96 +#: branch.c:105 #, c-format msgid "Branch %s set up to track remote ref %s." msgstr "Grenen %s stΓ€lldes in att spΓ₯ra fjΓ€rreferensen %s." -#: branch.c:100 +#: branch.c:109 #, c-format msgid "Branch %s set up to track local ref %s by rebasing." msgstr "" "Grenen %s stΓ€lldes in att spΓ₯ra den lokala referensen %s genom ombasering." -#: branch.c:101 +#: branch.c:110 #, c-format msgid "Branch %s set up to track local ref %s." msgstr "Grenen %s stΓ€lldes in att spΓ₯ra den lokala referensen %s." -#: branch.c:134 +#: branch.c:119 +msgid "Unable to write upstream branch configuration" +msgstr "Kan inte skriva instΓ€llningar fΓΆr uppstrΓΆmsgren" + +#: branch.c:156 #, c-format msgid "Not tracking: ambiguous information for ref %s" msgstr "SpΓ₯rar inte: tvetydig information fΓΆr referensen %s" -#: branch.c:163 +#: branch.c:185 #, c-format msgid "'%s' is not a valid branch name." msgstr "\"%s\" Γ€r inte ett giltigt grennamn." -#: branch.c:168 +#: branch.c:190 #, c-format msgid "A branch named '%s' already exists." msgstr "Det finns redan en gren som heter \"%s\"" -#: branch.c:176 +#: branch.c:198 msgid "Cannot force update the current branch." msgstr "Kan inte tvinga uppdatering av aktuell gren." -#: branch.c:196 +#: branch.c:218 #, c-format msgid "Cannot setup tracking information; starting point '%s' is not a branch." msgstr "Kan inte stΓ€lla in spΓ₯rning; startpunkten \"%s\" Γ€r inte en gren." -#: branch.c:198 +#: branch.c:220 #, c-format msgid "the requested upstream branch '%s' does not exist" msgstr "den efterfrΓ₯gade uppstrΓΆmsgrenen \"%s\" finns inte" -#: branch.c:200 +#: branch.c:222 msgid "" "\n" "If you are planning on basing your work on an upstream\n" @@ -239,22 +256,22 @@ msgstr "" "spΓ₯ra dess fjΓ€rrmotsvarighet kan du anvΓ€nda \"git push -u\"\n" "fΓΆr att stΓ€lla in uppstrΓΆmskonfigurationen nΓ€r du sΓ€nder in." -#: branch.c:244 +#: branch.c:266 #, c-format msgid "Not a valid object name: '%s'." msgstr "Objektnamnet Γ€r inte giltigt: \"%s\"." -#: branch.c:264 +#: branch.c:286 #, c-format msgid "Ambiguous object name: '%s'." msgstr "Objektnamnet Γ€r tvetydigt: \"%s\"." -#: branch.c:269 +#: branch.c:291 #, c-format msgid "Not a valid branch point: '%s'." msgstr "Avgreningspunkten Γ€r inte giltig: \"%s\"" -#: branch.c:322 +#: branch.c:344 #, c-format msgid "'%s' is already checked out at '%s'" msgstr "\"%s\" Γ€r redan utcheckad pΓ₯ \"%s\"" @@ -278,10 +295,10 @@ msgstr "kunde inte ΓΆppna \"%s\"" msgid "Repository lacks these prerequisite commits:" msgstr "Arkivet saknar dessa nΓΆdvΓ€ndiga incheckningar:" -#: bundle.c:163 ref-filter.c:1372 sequencer.c:636 sequencer.c:1083 -#: builtin/blame.c:2734 builtin/commit.c:1045 builtin/log.c:334 -#: builtin/log.c:849 builtin/log.c:1461 builtin/log.c:1694 builtin/merge.c:358 -#: builtin/shortlog.c:158 +#: bundle.c:163 ref-filter.c:1462 sequencer.c:627 sequencer.c:1074 +#: builtin/blame.c:2754 builtin/commit.c:1045 builtin/log.c:334 +#: builtin/log.c:852 builtin/log.c:1467 builtin/log.c:1700 builtin/merge.c:358 +#: builtin/shortlog.c:170 msgid "revision walk setup failed" msgstr "misslyckades skapa revisionstraversering" @@ -320,7 +337,7 @@ msgstr "rev-list dog" msgid "ref '%s' is excluded by the rev-list options" msgstr "referensen \"%s\" exkluderas av argumenten till rev-list" -#: bundle.c:443 builtin/log.c:157 builtin/log.c:1369 builtin/shortlog.c:261 +#: bundle.c:443 builtin/log.c:157 builtin/log.c:1372 builtin/shortlog.c:273 #, c-format msgid "unrecognized argument: %s" msgstr "okΓ€nt argument: %s" @@ -343,8 +360,8 @@ msgstr "index-pack dog" msgid "invalid color value: %.*s" msgstr "felaktigt fΓ€rgvΓ€rde: %.*s" -#: commit.c:40 builtin/am.c:452 builtin/am.c:488 builtin/am.c:1520 -#: builtin/am.c:2149 +#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1505 +#: builtin/am.c:2135 #, c-format msgid "could not parse %s" msgstr "kunde inte tolka %s" @@ -358,59 +375,64 @@ msgstr "%s %s Γ€r inte en incheckning!" msgid "memory exhausted" msgstr "minnet slut" -#: config.c:474 config.c:476 +#: config.c:475 config.c:477 #, c-format -msgid "bad config file line %d in %s" -msgstr "felaktig konfigurationsfil rad %d i %s" +msgid "bad config line %d in %s %s" +msgstr "felaktig konfigurationsfil rad %d i %s %s" -#: config.c:592 +#: config.c:593 #, c-format -msgid "bad numeric config value '%s' for '%s' in %s: %s" -msgstr "felaktigt numeriskt konfigurationsvΓ€rde \"%s\" fΓΆr \"%s\" i %s: %s" +msgid "bad numeric config value '%s' for '%s' in %s %s: %s" +msgstr "felaktigt numeriskt konfigurationsvΓ€rde \"%s\" fΓΆr \"%s\" i %s %s: %s" -#: config.c:594 +#: config.c:595 #, c-format msgid "bad numeric config value '%s' for '%s': %s" msgstr "felaktigt numeriskt konfigurationsvΓ€rde \"%s\" fΓΆr \"%s\": %s" -#: config.c:679 +#: config.c:680 #, c-format msgid "failed to expand user dir in: '%s'" msgstr "misslyckades expandera anvΓ€ndarkatalog i: \"%s\"" -#: config.c:757 config.c:768 +#: config.c:758 config.c:769 #, c-format msgid "bad zlib compression level %d" msgstr "felaktigt zlib-komprimeringsgrad %d" -#: config.c:890 +#: config.c:891 #, c-format msgid "invalid mode for object creation: %s" msgstr "felaktigt lΓ€ge fΓΆr skapande av objekt: %s" -#: config.c:1216 +#: config.c:1220 msgid "unable to parse command-line config" msgstr "kan inte tolka kommandoradskonfiguration" -#: config.c:1277 +#: config.c:1281 msgid "unknown error occured while reading the configuration files" msgstr "okΓ€nt fel uppstod vid lΓ€sning av konfigurationsfilerna" -#: config.c:1601 +#: config.c:1629 #, c-format msgid "unable to parse '%s' from command-line config" msgstr "kunde inte tolka vΓ€rdet \"%s\" frΓ₯n kommandoradskonfiguration" -#: config.c:1603 +#: config.c:1631 #, c-format msgid "bad config variable '%s' in file '%s' at line %d" msgstr "felaktig konfigurationsvariabel \"%s\" i filen \"%s\" pΓ₯ rad %d" -#: config.c:1662 +#: config.c:1690 #, c-format msgid "%s has multiple values" msgstr "%s har flera vΓ€rden" +#: config.c:2226 +#, c-format +msgid "Could not set '%s' to '%s'" +msgstr "Kunde inte stΓ€lla in \"%s\" till \"%s\"" + #: connected.c:69 msgid "Could not run 'git rev-list'" msgstr "Kunde inte kΓΆra \"git rev-list\"" @@ -526,16 +548,16 @@ msgstr "" "Hittade fel i konfigurationsvariabeln \"diff.dirstat\":\n" "%s" -#: diff.c:3000 +#: diff.c:2997 #, c-format msgid "external diff died, stopping at %s" msgstr "extern diff dog, stannar vid %s" -#: diff.c:3396 +#: diff.c:3393 msgid "--follow requires exactly one pathspec" msgstr "--follow krΓ€ver exakt en sΓΆkvΓ€gsangivelse" -#: diff.c:3559 +#: diff.c:3556 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" @@ -544,18 +566,18 @@ msgstr "" "Misslyckades tolka argument till flaggan --dirstat/-X;\n" "%s" -#: diff.c:3573 +#: diff.c:3570 #, c-format msgid "Failed to parse --submodule option parameter: '%s'" msgstr "Misslyckades tolka argument till flaggan --submodule: \"%s\"" -#: dir.c:1915 +#: dir.c:2004 msgid "failed to get kernel name and information" msgstr "misslyckades hΓ€mta kΓ€rnans namn och information" -#: dir.c:1998 -msgid "Untracked cache is disabled on this system." -msgstr "OspΓ₯rad cache Γ€r inaktiverad pΓ₯ detta system." +#: dir.c:2123 +msgid "Untracked cache is disabled on this system or location." +msgstr "OspΓ₯rad cache Γ€r inaktiverad pΓ₯ systemet eller platsen." #: gpg-interface.c:166 gpg-interface.c:237 msgid "could not run gpg." @@ -594,20 +616,20 @@ msgstr "\"%s\": %s" msgid "'%s': short read %s" msgstr "\"%s\": kort lΓ€sning %s" -#: help.c:207 +#: help.c:205 #, c-format msgid "available git commands in '%s'" msgstr "git-kommandon tillgΓ€ngliga i \"%s\"" -#: help.c:214 +#: help.c:212 msgid "git commands available from elsewhere on your $PATH" msgstr "git-kommandon frΓ₯n andra platser i din $PATH" -#: help.c:246 +#: help.c:244 msgid "These are common Git commands used in various situations:" msgstr "Dessa vanliga Git-kommandon anvΓ€nds i olika situationer:" -#: help.c:311 +#: help.c:309 #, c-format msgid "" "'%s' appears to be a git command, but we were not\n" @@ -616,11 +638,11 @@ msgstr "" "\"%s\" verkar vara ett git-kommando, men vi kan inte\n" "kΓΆra det. Kanske git-%s Γ€r trasigt?" -#: help.c:368 +#: help.c:366 msgid "Uh oh. Your system reports no Git commands at all." msgstr "Oj dΓ₯. Ditt system rapporterar inga Git-kommandon alls." -#: help.c:390 +#: help.c:388 #, c-format msgid "" "WARNING: You called a Git command named '%s', which does not exist.\n" @@ -629,17 +651,17 @@ msgstr "" "VARNING: Du anropade ett Git-kommando vid namn \"%s\", som inte finns.\n" "FortsΓ€tter under fΓΆrutsΓ€ttningen att du menade \"%s\"" -#: help.c:395 +#: help.c:393 #, c-format msgid "in %0.1f seconds automatically..." msgstr "automatiskt om %0.1f sekunder..." -#: help.c:402 +#: help.c:400 #, c-format msgid "git: '%s' is not a git command. See 'git --help'." msgstr "git: \"%s\" Γ€r inte ett git-kommando. Se \"git --help\"." -#: help.c:406 help.c:466 +#: help.c:404 help.c:464 msgid "" "\n" "Did you mean this?" @@ -653,7 +675,7 @@ msgstr[1] "" "\n" "Menade du ett av dessa?" -#: help.c:462 +#: help.c:460 #, c-format msgid "%s: %s - %s" msgstr "%s: %s - %s" @@ -662,8 +684,8 @@ msgstr "%s: %s - %s" msgid "failed to read the cache" msgstr "misslyckades lΓ€sa cachen" -#: merge.c:94 builtin/am.c:2022 builtin/am.c:2057 builtin/checkout.c:376 -#: builtin/checkout.c:587 builtin/clone.c:722 +#: merge.c:94 builtin/am.c:2008 builtin/am.c:2043 builtin/checkout.c:376 +#: builtin/checkout.c:587 builtin/clone.c:730 msgid "unable to write new index file" msgstr "kunde inte skriva ny indexfil" @@ -681,64 +703,64 @@ msgstr "addinfo_cache misslyckades fΓΆr sΓΆkvΓ€gen \"%s\"" msgid "error building trees" msgstr "fel vid byggande av trΓ€d" -#: merge-recursive.c:686 +#: merge-recursive.c:689 #, c-format msgid "failed to create path '%s'%s" msgstr "misslyckades skapa sΓΆkvΓ€gen \"%s\"%s" -#: merge-recursive.c:697 +#: merge-recursive.c:700 #, c-format msgid "Removing %s to make room for subdirectory\n" msgstr "Tar bort %s fΓΆr att gΓΆra plats fΓΆr underkatalog\n" -#: merge-recursive.c:711 merge-recursive.c:732 +#: merge-recursive.c:714 merge-recursive.c:735 msgid ": perhaps a D/F conflict?" msgstr ": kanske en K/F-konflikt?" -#: merge-recursive.c:722 +#: merge-recursive.c:725 #, c-format msgid "refusing to lose untracked file at '%s'" msgstr "vΓ€grar fΓΆrlora ospΓ₯rad fil vid \"%s\"" -#: merge-recursive.c:762 +#: merge-recursive.c:765 #, c-format msgid "cannot read object %s '%s'" msgstr "kan inte lΓ€sa objektet %s: \"%s\"" -#: merge-recursive.c:764 +#: merge-recursive.c:767 #, c-format msgid "blob expected for %s '%s'" msgstr "blob fΓΆrvΓ€ntades fΓΆr %s \"%s\"" -#: merge-recursive.c:787 builtin/clone.c:369 +#: merge-recursive.c:790 builtin/clone.c:374 #, c-format msgid "failed to open '%s'" msgstr "misslyckades ΓΆppna \"%s\"" -#: merge-recursive.c:795 +#: merge-recursive.c:798 #, c-format msgid "failed to symlink '%s'" msgstr "misslyckades skapa symboliska lΓ€nken \"%s\"" -#: merge-recursive.c:798 +#: merge-recursive.c:801 #, c-format msgid "do not know what to do with %06o %s '%s'" msgstr "vet inte hur %06o %s \"%s\" skall hanteras" -#: merge-recursive.c:936 +#: merge-recursive.c:939 msgid "Failed to execute internal merge" msgstr "Misslyckades exekvera intern sammanslagning" -#: merge-recursive.c:940 +#: merge-recursive.c:943 #, c-format msgid "Unable to add %s to database" msgstr "Kunde inte lΓ€gga till %s till databasen" -#: merge-recursive.c:956 +#: merge-recursive.c:959 msgid "unsupported object type in the tree" msgstr "objekttyp som ej stΓΆds upptΓ€cktes i trΓ€det" -#: merge-recursive.c:1031 merge-recursive.c:1045 +#: merge-recursive.c:1034 merge-recursive.c:1048 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -747,7 +769,7 @@ msgstr "" "KONFLIKT (%s/radera): %s raderad i %s och %s i %s. Versionen %s av %s lΓ€mnad " "i trΓ€det." -#: merge-recursive.c:1037 merge-recursive.c:1050 +#: merge-recursive.c:1040 merge-recursive.c:1053 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -756,20 +778,20 @@ msgstr "" "KONFLIKT (%s/radera): %s raderad i %s och %s i %s. Versionen %s av %s lΓ€mnad " "i trΓ€det vid %s." -#: merge-recursive.c:1091 +#: merge-recursive.c:1094 msgid "rename" msgstr "namnbyte" -#: merge-recursive.c:1091 +#: merge-recursive.c:1094 msgid "renamed" msgstr "namnbytt" -#: merge-recursive.c:1147 +#: merge-recursive.c:1150 #, c-format msgid "%s is a directory in %s adding as %s instead" msgstr "%s Γ€r en katalog i %s lΓ€gger till som %s istΓ€llet" -#: merge-recursive.c:1169 +#: merge-recursive.c:1172 #, c-format msgid "" "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s" @@ -778,144 +800,144 @@ msgstr "" "KONFLIKT (namnbyte/namnbyte): Namnbyte \"%s\"->\"%s\" pΓ₯ grenen \"%s\" " "namnbyte \"%s\"->\"%s\" i \"%s\"%s" -#: merge-recursive.c:1174 +#: merge-recursive.c:1177 msgid " (left unresolved)" msgstr " (lΓ€mnad olΓΆst)" -#: merge-recursive.c:1228 +#: merge-recursive.c:1231 #, c-format msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s" msgstr "" "KONFLIKT (namnbyte/namnbyte): Namnbyte %s->%s i %s. Namnbyte %s->%s i %s" -#: merge-recursive.c:1258 +#: merge-recursive.c:1261 #, c-format msgid "Renaming %s to %s and %s to %s instead" msgstr "Byter namn pΓ₯ %s till %s och %s till %s istΓ€llet" -#: merge-recursive.c:1457 +#: merge-recursive.c:1460 #, c-format msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s" msgstr "KONFLIKT (namnbyte/tillΓ€gg): Namnbyte %s->%s i %s. %s tillagd i %s" -#: merge-recursive.c:1467 +#: merge-recursive.c:1470 #, c-format msgid "Adding merged %s" msgstr "LΓ€gger till sammanslagen %s" -#: merge-recursive.c:1472 merge-recursive.c:1674 +#: merge-recursive.c:1475 merge-recursive.c:1677 #, c-format msgid "Adding as %s instead" msgstr "LΓ€gger till som %s istΓ€llet" -#: merge-recursive.c:1523 +#: merge-recursive.c:1526 #, c-format msgid "cannot read object %s" msgstr "kan inte lΓ€sa objektet %s" -#: merge-recursive.c:1526 +#: merge-recursive.c:1529 #, c-format msgid "object %s is not a blob" msgstr "objektet %s Γ€r inte en blob" -#: merge-recursive.c:1578 +#: merge-recursive.c:1581 msgid "modify" msgstr "Γ€ndra" -#: merge-recursive.c:1578 +#: merge-recursive.c:1581 msgid "modified" msgstr "Γ€ndrad" -#: merge-recursive.c:1588 +#: merge-recursive.c:1591 msgid "content" msgstr "innehΓ₯ll" -#: merge-recursive.c:1595 +#: merge-recursive.c:1598 msgid "add/add" msgstr "tillΓ€gg/tillΓ€gg" -#: merge-recursive.c:1629 +#: merge-recursive.c:1632 #, c-format msgid "Skipped %s (merged same as existing)" msgstr "Hoppade ΓΆver %s (sammanslagen samma som befintlig)" -#: merge-recursive.c:1643 +#: merge-recursive.c:1646 #, c-format msgid "Auto-merging %s" msgstr "SlΓ₯r ihop %s automatiskt" -#: merge-recursive.c:1647 git-submodule.sh:1025 +#: merge-recursive.c:1650 git-submodule.sh:1048 msgid "submodule" msgstr "undermodul" -#: merge-recursive.c:1648 +#: merge-recursive.c:1651 #, c-format msgid "CONFLICT (%s): Merge conflict in %s" msgstr "KONFLIKT (%s): Sammanslagningskonflikt i %s" -#: merge-recursive.c:1734 +#: merge-recursive.c:1737 #, c-format msgid "Removing %s" msgstr "Tar bort %s" -#: merge-recursive.c:1759 +#: merge-recursive.c:1762 msgid "file/directory" msgstr "fil/katalog" -#: merge-recursive.c:1765 +#: merge-recursive.c:1768 msgid "directory/file" msgstr "katalog/fil" -#: merge-recursive.c:1770 +#: merge-recursive.c:1773 #, c-format msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s" msgstr "" "KONFLIKT (%s): Det finns en katalog med namnet %s i %s. LΓ€gger till %s som %s" -#: merge-recursive.c:1780 +#: merge-recursive.c:1783 #, c-format msgid "Adding %s" msgstr "LΓ€gger till %s" -#: merge-recursive.c:1797 +#: merge-recursive.c:1800 msgid "Fatal merge failure, shouldn't happen." msgstr "Γdesdigert sammanslagningsfel, borde inte intrΓ€ffa." -#: merge-recursive.c:1816 +#: merge-recursive.c:1819 msgid "Already up-to-date!" msgstr "Redan Γ jour!" -#: merge-recursive.c:1825 +#: merge-recursive.c:1828 #, c-format msgid "merging of trees %s and %s failed" msgstr "sammanslagning av trΓ€den %s och %s misslyckades" -#: merge-recursive.c:1855 +#: merge-recursive.c:1858 #, c-format msgid "Unprocessed path??? %s" msgstr "Obehandlad sΓΆkvΓ€g??? %s" -#: merge-recursive.c:1903 +#: merge-recursive.c:1906 msgid "Merging:" msgstr "SlΓ₯r ihop:" -#: merge-recursive.c:1916 +#: merge-recursive.c:1919 #, c-format msgid "found %u common ancestor:" msgid_plural "found %u common ancestors:" msgstr[0] "hittade %u gemensam fΓΆrfader:" msgstr[1] "hittade %u gemensamma fΓΆrfΓ€der:" -#: merge-recursive.c:1953 +#: merge-recursive.c:1956 msgid "merge returned no commit" msgstr "sammanslagningen returnerade ingen incheckning" -#: merge-recursive.c:2010 +#: merge-recursive.c:2013 #, c-format msgid "Could not parse object '%s'" msgstr "Kunde inte tolka objektet \"%s\"" -#: merge-recursive.c:2021 builtin/merge.c:645 +#: merge-recursive.c:2024 builtin/merge.c:646 msgid "Unable to write index." msgstr "Kunde inte skriva indexet." @@ -1032,12 +1054,12 @@ msgstr "SΓΆkvΓ€gsangivelsen \"%s\" Γ€r i undermodulen \"%.*s\"" msgid "%s: pathspec magic not supported by this command: %s" msgstr "%s: sΓΆkvΓ€gsuttrycket hanteras inte av det hΓ€r kommandot: %s" -#: pathspec.c:432 +#: pathspec.c:433 #, c-format msgid "pathspec '%s' is beyond a symbolic link" msgstr "sΓΆkvΓ€gsangivelsen \"%s\" Γ€r pΓ₯ andra sidan av en symbolisk lΓ€nk" -#: pathspec.c:441 +#: pathspec.c:442 msgid "" "There is nothing to exclude from by :(exclude) patterns.\n" "Perhaps you forgot to add either ':/' or '.' ?" @@ -1071,163 +1093,248 @@ msgstr "" "GIT_INDEX_VERSION satt, men vΓ€rdet Γ€r ogiltigt.\n" "AnvΓ€nder version %i" -#: refs.c:543 builtin/merge.c:760 builtin/merge.c:871 builtin/merge.c:973 -#: builtin/merge.c:983 +#: refs.c:543 builtin/merge.c:761 builtin/merge.c:872 builtin/merge.c:974 +#: builtin/merge.c:984 #, c-format msgid "Could not open '%s' for writing" msgstr "Kunde inte ΓΆppna \"%s\" fΓΆr skrivning" -#: refs/files-backend.c:2359 +#: refs/files-backend.c:2374 #, c-format msgid "could not delete reference %s: %s" msgstr "kunde inte ta bort referensen %s: %s" -#: refs/files-backend.c:2362 +#: refs/files-backend.c:2377 #, c-format msgid "could not delete references: %s" msgstr "kunde inte ta bort referenser: %s" -#: refs/files-backend.c:2371 +#: refs/files-backend.c:2386 #, c-format msgid "could not remove reference %s" msgstr "kunde inte ta bort referensen %s" -#: ref-filter.c:245 +#: ref-filter.c:55 #, c-format -msgid "format: %%(end) atom used without corresponding atom" -msgstr "format: atomen %%(end) anvΓ€nd utan motsvarande atom" +msgid "expected format: %%(color:<color>)" +msgstr "fΓΆrvΓ€ntat format: %%(color:<color>)" + +#: ref-filter.c:57 +#, c-format +msgid "unrecognized color: %%(color:%s)" +msgstr "okΓ€nd fΓ€rg: %%(color:%s)" + +#: ref-filter.c:71 +#, c-format +msgid "unrecognized format: %%(%s)" +msgstr "okΓ€nt format: %%(%s)" + +#: ref-filter.c:77 +#, c-format +msgid "%%(body) does not take arguments" +msgstr "%%(body) tar inte argument" + +#: ref-filter.c:84 +#, c-format +msgid "%%(subject) does not take arguments" +msgstr "%%(subject) tar inte argument" -#: ref-filter.c:704 +#: ref-filter.c:101 #, c-format msgid "positive value expected contents:lines=%s" msgstr "positivt vΓ€rde fΓΆrvΓ€ntat contents:lines=%s" -#: ref-filter.c:833 +#: ref-filter.c:103 #, c-format -msgid "expected format: %%(color:<color>)" -msgstr "fΓΆrvΓ€ntat format: %%(color:<color>)" +msgid "unrecognized %%(contents) argument: %s" +msgstr "okΓ€nt %%(contents)-argument: %s" -#: ref-filter.c:835 -msgid "unable to parse format" -msgstr "kan inte tolka formatet" +#: ref-filter.c:113 +#, c-format +msgid "unrecognized %%(objectname) argument: %s" +msgstr "okΓ€nt %%(objectname)-argument: %s" -#: ref-filter.c:870 +#: ref-filter.c:135 #, c-format msgid "expected format: %%(align:<width>,<position>)" msgstr "fΓΆrvΓ€ntat format: %%(align:<bredd>,<position>)" -#: ref-filter.c:893 +#: ref-filter.c:147 +#, c-format +msgid "unrecognized position:%s" +msgstr "okΓ€nd position:%s" + +#: ref-filter.c:151 +#, c-format +msgid "unrecognized width:%s" +msgstr "okΓ€nd bredd:%s" + +#: ref-filter.c:157 #, c-format -msgid "improper format entered align:%s" -msgstr "felaktigt format angivet align:%s" +msgid "unrecognized %%(align) argument: %s" +msgstr "okΓ€nt %%(align)-argument: %s" -#: ref-filter.c:898 +#: ref-filter.c:161 #, c-format msgid "positive width expected with the %%(align) atom" msgstr "positiv bredd fΓΆrvΓ€ntad med atomen %%(align)" -#: ref-filter.c:1219 +#: ref-filter.c:244 +#, c-format +msgid "malformed field name: %.*s" +msgstr "felformat fΓ€ltnamn: %.*s" + +#: ref-filter.c:270 +#, c-format +msgid "unknown field name: %.*s" +msgstr "okΓ€nt fΓ€ltnamn: %.*s" + +#: ref-filter.c:372 +#, c-format +msgid "format: %%(end) atom used without corresponding atom" +msgstr "format: atomen %%(end) anvΓ€nd utan motsvarande atom" + +#: ref-filter.c:424 +#, c-format +msgid "malformed format string %s" +msgstr "felformad formatstrΓ€ng %s" + +#: ref-filter.c:878 +msgid ":strip= requires a positive integer argument" +msgstr ":strip= krΓ€ver ett positivt heltalsargument" + +#: ref-filter.c:883 +#, c-format +msgid "ref '%s' does not have %ld components to :strip" +msgstr "referensen \"%s\" har inte %ld komponenter fΓΆr :strip" + +#: ref-filter.c:1046 +#, c-format +msgid "unknown %.*s format %s" +msgstr "okΓ€nt \"%.*s\"-format %s" + +#: ref-filter.c:1066 ref-filter.c:1097 +#, c-format +msgid "missing object %s for %s" +msgstr "objektet %s saknas fΓΆr %s" + +#: ref-filter.c:1069 ref-filter.c:1100 +#, c-format +msgid "parse_object_buffer failed on %s for %s" +msgstr "parse_object_buffer misslyckades pΓ₯ %s fΓΆr %s" + +#: ref-filter.c:1311 #, c-format msgid "malformed object at '%s'" msgstr "felformat objekt vid \"%s\"" -#: ref-filter.c:1561 +#: ref-filter.c:1373 +#, c-format +msgid "ignoring ref with broken name %s" +msgstr "ignorerar referens med trasigt namn %s" + +#: ref-filter.c:1378 +#, c-format +msgid "ignoring broken ref %s" +msgstr "ignorerar trasig referens %s" + +#: ref-filter.c:1651 #, c-format msgid "format: %%(end) atom missing" msgstr "format: atomen %%(end) saknas" -#: ref-filter.c:1615 +#: ref-filter.c:1705 #, c-format msgid "malformed object name %s" msgstr "felformat objektnamn %s" -#: remote.c:756 +#: remote.c:745 #, c-format msgid "Cannot fetch both %s and %s to %s" msgstr "Kan inte hΓ€mta bΓ₯de %s och %s till %s" -#: remote.c:760 +#: remote.c:749 #, c-format msgid "%s usually tracks %s, not %s" msgstr "%s spΓ₯rar vanligtvis %s, inte %s" -#: remote.c:764 +#: remote.c:753 #, c-format msgid "%s tracks both %s and %s" msgstr "%s spΓ₯rar bΓ₯de %s och %s" -#: remote.c:772 +#: remote.c:761 msgid "Internal error" msgstr "Internt fel" -#: remote.c:1687 remote.c:1730 +#: remote.c:1677 remote.c:1720 msgid "HEAD does not point to a branch" msgstr "HEAD pekar inte pΓ₯ en gren" -#: remote.c:1696 +#: remote.c:1686 #, c-format msgid "no such branch: '%s'" msgstr "okΓ€nd gren: \"%s\"" -#: remote.c:1699 +#: remote.c:1689 #, c-format msgid "no upstream configured for branch '%s'" msgstr "ingen standarduppstrΓΆm angiven fΓΆr grenen \"%s\"" -#: remote.c:1705 +#: remote.c:1695 #, c-format msgid "upstream branch '%s' not stored as a remote-tracking branch" msgstr "uppstrΓΆmsgrenen \"%s\" Γ€r inte lagrad som en fjΓ€rrspΓ₯rande gren" -#: remote.c:1720 +#: remote.c:1710 #, c-format msgid "push destination '%s' on remote '%s' has no local tracking branch" msgstr "push-mΓ₯let \"%s\" pΓ₯ fjΓ€rren \"%s\" har ingen lokalt spΓ₯rande gren" -#: remote.c:1735 +#: remote.c:1725 #, c-format msgid "branch '%s' has no remote for pushing" msgstr "grenen \"%s\" har ingen fjΓ€rr fΓΆr \"push\"" -#: remote.c:1746 +#: remote.c:1736 #, c-format msgid "push refspecs for '%s' do not include '%s'" msgstr "\"push\"-referensspecifikation fΓΆr \"%s\" innehΓ₯ller inte \"%s\"" -#: remote.c:1759 +#: remote.c:1749 msgid "push has no destination (push.default is 'nothing')" msgstr "\"push\" har inget mΓ₯l (push.default Γ€r \"ingenting\")" -#: remote.c:1781 +#: remote.c:1771 msgid "cannot resolve 'simple' push to a single destination" msgstr "\"enkel push\" motsvarar flera olika mΓ₯l" -#: remote.c:2083 +#: remote.c:2073 #, c-format msgid "Your branch is based on '%s', but the upstream is gone.\n" msgstr "Din gren Γ€r baserad pΓ₯ \"%s\", men den har fΓΆrsvunnit uppstrΓΆms.\n" -#: remote.c:2087 +#: remote.c:2077 msgid " (use \"git branch --unset-upstream\" to fixup)\n" msgstr " (anvΓ€nd \"git branch --unset-upstream\" fΓΆr att rΓ€tta)\n" -#: remote.c:2090 +#: remote.c:2080 #, c-format msgid "Your branch is up-to-date with '%s'.\n" msgstr "Din gren Γ€r Γ jour med \"%s\".\n" -#: remote.c:2094 +#: remote.c:2084 #, c-format msgid "Your branch is ahead of '%s' by %d commit.\n" msgid_plural "Your branch is ahead of '%s' by %d commits.\n" msgstr[0] "Din gren ligger fΓΆre \"%s\" med %d incheckning.\n" msgstr[1] "Din gren ligger fΓΆre \"%s\" med %d incheckningar.\n" -#: remote.c:2100 +#: remote.c:2090 msgid " (use \"git push\" to publish your local commits)\n" msgstr " (anvΓ€nd \"git push\" fΓΆr att publicera dina lokala incheckningar)\n" -#: remote.c:2103 +#: remote.c:2093 #, c-format msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n" msgid_plural "" @@ -1237,11 +1344,11 @@ msgstr[0] "" msgstr[1] "" "Din gren ligger efter \"%s\" med %d incheckningar, och kan snabbspolas.\n" -#: remote.c:2111 +#: remote.c:2101 msgid " (use \"git pull\" to update your local branch)\n" msgstr " (anvΓ€nd \"git pull\" fΓΆr att uppdatera din lokala gren)\n" -#: remote.c:2114 +#: remote.c:2104 #, c-format msgid "" "Your branch and '%s' have diverged,\n" @@ -1256,28 +1363,28 @@ msgstr[1] "" "Din gren och \"%s\" har divergerat,\n" "och har %d respektive %d olika incheckningar.\n" -#: remote.c:2124 +#: remote.c:2114 msgid " (use \"git pull\" to merge the remote branch into yours)\n" msgstr " (anvΓ€nd \"git pull\" fΓΆr att slΓ₯ ihop fjΓ€rrgrenen med din egen)\n" -#: revision.c:2193 +#: revision.c:2131 msgid "your current branch appears to be broken" msgstr "din nuvarande gren verkar vara trasig" -#: revision.c:2196 +#: revision.c:2134 #, c-format msgid "your current branch '%s' does not have any commits yet" msgstr "din nuvarande gren \"%s\" innehΓ₯ller Γ€nnu inte nΓ₯gra incheckningar" -#: revision.c:2390 +#: revision.c:2328 msgid "--first-parent is incompatible with --bisect" msgstr "--first-parent Γ€r inkompatibelt med --bisect" -#: run-command.c:90 +#: run-command.c:92 msgid "open /dev/null failed" msgstr "misslyckades ΓΆppna /dev/null" -#: run-command.c:92 +#: run-command.c:94 #, c-format msgid "dup2(%d,%d) failed" msgstr "dup2(%d,%d) misslyckades" @@ -1302,7 +1409,7 @@ msgstr "" msgid "the receiving end does not support --atomic push" msgstr "mottagarsidan stΓΆder inte push med --atomic" -#: sequencer.c:183 +#: sequencer.c:174 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'" @@ -1310,7 +1417,7 @@ msgstr "" "efter att ha lΓΆst konflikterna, markera de rΓ€ttade sΓΆkvΓ€garna\n" "med \"git add <sΓΆkvΓ€gar>\" eller \"git rm <sΓΆkvΓ€gar>\"" -#: sequencer.c:186 +#: sequencer.c:177 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'\n" @@ -1320,229 +1427,243 @@ msgstr "" "med \"git add <sΓΆkvΓ€gar>\" eller \"git rm <sΓΆkvΓ€gar>\"\n" "och checka in resultatet med \"git commit\"" -#: sequencer.c:199 sequencer.c:842 sequencer.c:922 +#: sequencer.c:190 sequencer.c:833 sequencer.c:913 #, c-format msgid "Could not write to %s" msgstr "Kunde inte skriva till %s" -#: sequencer.c:202 +#: sequencer.c:193 #, c-format msgid "Error wrapping up %s" msgstr "Fel vid ombrytning av %s" -#: sequencer.c:217 +#: sequencer.c:208 msgid "Your local changes would be overwritten by cherry-pick." msgstr "Dina lokala Γ€ndringar skulle skrivas ΓΆver av \"cherry-pick\"." -#: sequencer.c:219 +#: sequencer.c:210 msgid "Your local changes would be overwritten by revert." msgstr "Dina lokala Γ€ndringar skulle skrivas ΓΆver av \"revert\"." -#: sequencer.c:222 +#: sequencer.c:213 msgid "Commit your changes or stash them to proceed." msgstr "Checka in dina Γ€ndringar eller anvΓ€nd \"stash\" fΓΆr att fortsΓ€tta." #. TRANSLATORS: %s will be "revert" or "cherry-pick" -#: sequencer.c:309 +#: sequencer.c:300 #, c-format msgid "%s: Unable to write new index file" msgstr "%s: Kunde inte skriva ny indexfil" -#: sequencer.c:327 +#: sequencer.c:318 msgid "Could not resolve HEAD commit\n" msgstr "Kunde inte bestΓ€mma HEAD:s incheckning\n" -#: sequencer.c:347 +#: sequencer.c:338 msgid "Unable to update cache tree\n" msgstr "Kan inte uppdatera cachetrΓ€d\n" -#: sequencer.c:399 +#: sequencer.c:390 #, c-format msgid "Could not parse commit %s\n" msgstr "Kunde inte tolka incheckningen %s\n" -#: sequencer.c:404 +#: sequencer.c:395 #, c-format msgid "Could not parse parent commit %s\n" msgstr "Kunde inte tolka fΓΆrΓ€ldraincheckningen %s\n" -#: sequencer.c:469 +#: sequencer.c:460 msgid "Your index file is unmerged." msgstr "Din indexfil har inte slagits ihop." -#: sequencer.c:488 +#: sequencer.c:479 #, c-format msgid "Commit %s is a merge but no -m option was given." msgstr "Incheckning %s Γ€r en sammanslagning, men flaggan -m angavs inte." -#: sequencer.c:496 +#: sequencer.c:487 #, c-format msgid "Commit %s does not have parent %d" msgstr "Incheckning %s har inte fΓΆrΓ€lder %d" -#: sequencer.c:500 +#: sequencer.c:491 #, c-format msgid "Mainline was specified but commit %s is not a merge." msgstr "Huvudlinje angavs, men incheckningen %s Γ€r inte en sammanslagning" #. TRANSLATORS: The first %s will be "revert" or #. "cherry-pick", the second %s a SHA1 -#: sequencer.c:513 +#: sequencer.c:504 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "%s: kan inte tolka fΓΆrΓ€ldraincheckningen %s" -#: sequencer.c:517 +#: sequencer.c:508 #, c-format msgid "Cannot get commit message for %s" msgstr "Kan inte hΓ€mta incheckningsmeddelande fΓΆr %s" -#: sequencer.c:603 +#: sequencer.c:594 #, c-format msgid "could not revert %s... %s" msgstr "kunde inte Γ₯ngra %s... %s" -#: sequencer.c:604 +#: sequencer.c:595 #, c-format msgid "could not apply %s... %s" msgstr "kunde inte tillΓ€mpa %s... %s" -#: sequencer.c:639 +#: sequencer.c:630 msgid "empty commit set passed" msgstr "den angivna uppsΓ€ttningen incheckningar Γ€r tom" -#: sequencer.c:647 +#: sequencer.c:638 #, c-format msgid "git %s: failed to read the index" msgstr "git %s: misslyckades lΓ€sa indexet" -#: sequencer.c:651 +#: sequencer.c:642 #, c-format msgid "git %s: failed to refresh the index" msgstr "git %s: misslyckades uppdatera indexet" -#: sequencer.c:711 +#: sequencer.c:702 #, c-format msgid "Cannot %s during a %s" msgstr "kan inte %s under en %s" -#: sequencer.c:733 +#: sequencer.c:724 #, c-format msgid "Could not parse line %d." msgstr "Kan inte tolka rad %d." -#: sequencer.c:738 +#: sequencer.c:729 msgid "No commits parsed." msgstr "Inga incheckningar lΓ€stes." -#: sequencer.c:750 +#: sequencer.c:741 #, c-format msgid "Could not open %s" msgstr "Kunde inte ΓΆppna %s" -#: sequencer.c:754 +#: sequencer.c:745 #, c-format msgid "Could not read %s." msgstr "kunde inte lΓ€sa %s." -#: sequencer.c:761 +#: sequencer.c:752 #, c-format msgid "Unusable instruction sheet: %s" msgstr "OanvΓ€ndbart manus: %s" -#: sequencer.c:791 +#: sequencer.c:782 #, c-format msgid "Invalid key: %s" msgstr "Felaktig nyckel: %s" -#: sequencer.c:794 builtin/pull.c:47 builtin/pull.c:49 +#: sequencer.c:785 builtin/pull.c:50 builtin/pull.c:52 #, c-format msgid "Invalid value for %s: %s" msgstr "Felaktigt vΓ€rde fΓΆr %s: %s" -#: sequencer.c:804 +#: sequencer.c:795 #, c-format msgid "Malformed options sheet: %s" msgstr "Trasigt manus: %s" -#: sequencer.c:823 +#: sequencer.c:814 msgid "a cherry-pick or revert is already in progress" msgstr "en \"cherry-pick\" eller \"revert\" pΓ₯gΓ₯r redan" -#: sequencer.c:824 +#: sequencer.c:815 msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" msgstr "testa \"git cherry-pick (--continue | --quit | --abort)\"" -#: sequencer.c:828 +#: sequencer.c:819 #, c-format msgid "Could not create sequencer directory %s" msgstr "Kunde inte skapa \"sequencer\"-katalogen \"%s\"" -#: sequencer.c:844 sequencer.c:926 +#: sequencer.c:835 sequencer.c:917 #, c-format msgid "Error wrapping up %s." msgstr "Fel vid ombrytning av %s." -#: sequencer.c:863 sequencer.c:996 +#: sequencer.c:854 sequencer.c:987 msgid "no cherry-pick or revert in progress" msgstr "ingen \"cherry-pick\" eller \"revert\" pΓ₯gΓ₯r" -#: sequencer.c:865 +#: sequencer.c:856 msgid "cannot resolve HEAD" msgstr "kan inte bestΓ€mma HEAD" -#: sequencer.c:867 +#: sequencer.c:858 msgid "cannot abort from a branch yet to be born" msgstr "kan inte avbryta frΓ₯n en gren som Γ€nnu inte Γ€r fΓΆdd" -#: sequencer.c:887 builtin/apply.c:4287 +#: sequencer.c:878 builtin/apply.c:4287 #, c-format msgid "cannot open %s: %s" msgstr "kan inte ΓΆppna %s: %s" -#: sequencer.c:890 +#: sequencer.c:881 #, c-format msgid "cannot read %s: %s" msgstr "kan inte lΓ€sa %s: %s" -#: sequencer.c:891 +#: sequencer.c:882 msgid "unexpected end of file" msgstr "ovΓ€ntat filslut" -#: sequencer.c:897 +#: sequencer.c:888 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "sparad HEAD-fil frΓ₯n fΓΆre \"cherry-pick\", \"%s\", Γ€r trasig" -#: sequencer.c:919 +#: sequencer.c:910 #, c-format msgid "Could not format %s." msgstr "Kunde inte formatera %s." -#: sequencer.c:1064 +#: sequencer.c:1055 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "%s: kan inte gΓΆra \"cherry-pick\" pΓ₯ typen \"%s\"" -#: sequencer.c:1067 +#: sequencer.c:1058 #, c-format msgid "%s: bad revision" msgstr "%s: felaktig revision" -#: sequencer.c:1101 +#: sequencer.c:1092 msgid "Can't revert as initial commit" msgstr "Kan inte Γ₯ngra som fΓΆrsta incheckning" -#: sequencer.c:1102 +#: sequencer.c:1093 msgid "Can't cherry-pick into empty head" msgstr "Kan inte gΓΆra \"cherry-pick\" i ett tomt huvud" -#: setup.c:248 +#: setup.c:246 #, c-format msgid "failed to read %s" msgstr "misslyckades lΓ€sa %s" -#: sha1_name.c:463 +#: sha1_file.c:1080 +msgid "offset before end of packfile (broken .idx?)" +msgstr "offset fΓΆre slutet av packfilen (trasig .idx?)" + +#: sha1_file.c:2459 +#, c-format +msgid "offset before start of pack index for %s (corrupt index?)" +msgstr "offset fΓΆre slutet av packindex fΓΆr %s (trasigt index?)" + +#: sha1_file.c:2463 +#, c-format +msgid "offset beyond end of pack index for %s (truncated index?)" +msgstr "offset borton slutet av packindex fΓΆr %s (trunkerat index?)" + +#: sha1_name.c:462 msgid "" "Git normally never creates a ref that ends with 40 hex characters\n" "because it will be ignored when you just specify 40-hex. These refs\n" @@ -1564,62 +1685,86 @@ msgstr "" "UndersΓΆk referenserna och ta kanske bort dem. StΓ€ng av meddelandet\n" "genom att kΓΆra \"git config advice.objectNameWarning false\"" -#: submodule.c:61 submodule.c:95 +#: submodule.c:62 submodule.c:96 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" msgstr "" "Kan inte Γ€ndra .gitmodules-fil som inte slagits ihop, lΓΆs " "sammanslagningskonflikter fΓΆrst" -#: submodule.c:65 submodule.c:99 +#: submodule.c:66 submodule.c:100 #, c-format msgid "Could not find section in .gitmodules where path=%s" msgstr "Hittade inte nΓ₯gon sektion i .gitmodules dΓ€r sΓΆkvΓ€g=%s" -#: submodule.c:73 +#: submodule.c:74 #, c-format msgid "Could not update .gitmodules entry %s" msgstr "Kunde inte uppdatera .gitmodules-posten %s" -#: submodule.c:106 +#: submodule.c:107 #, c-format msgid "Could not remove .gitmodules entry for %s" msgstr "Kunde inte ta bort .gitmodules-posten fΓΆr %s" -#: submodule.c:117 +#: submodule.c:118 msgid "staging updated .gitmodules failed" msgstr "misslyckades kΓΆa uppdaterad .gitmodules" -#: submodule.c:1040 +#: trailer.c:237 #, c-format -msgid "Could not set core.worktree in %s" -msgstr "Kunde inte sΓ€tta core.worktree i %s" +msgid "running trailer command '%s' failed" +msgstr "misslyckades utfΓΆra \"trailer\"-kommandot \"%s\"" -#: trailer.c:491 trailer.c:495 trailer.c:499 trailer.c:553 trailer.c:557 -#: trailer.c:561 +#: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558 +#: trailer.c:562 #, c-format msgid "unknown value '%s' for key '%s'" msgstr "okΓ€nt vΓ€rde \"%s\" fΓΆr nyckeln \"%s\"" -#: trailer.c:543 trailer.c:548 builtin/remote.c:296 +#: trailer.c:544 trailer.c:549 builtin/remote.c:289 #, c-format msgid "more than one %s" msgstr "mer Γ€n en %s" -#: trailer.c:581 +#: trailer.c:582 #, c-format msgid "empty trailer token in trailer '%.*s'" msgstr "tom slΓ€pradssymbol i slΓ€praden \"%.*s\"" -#: trailer.c:701 +#: trailer.c:702 #, c-format msgid "could not read input file '%s'" msgstr "kunde inte lΓ€sa indatafilen \"%s\"" -#: trailer.c:704 +#: trailer.c:705 msgid "could not read from stdin" msgstr "Kunde inte lΓ€sa frΓ₯n standard in" -#: transport-helper.c:1025 +#: trailer.c:857 builtin/am.c:42 +#, c-format +msgid "could not stat %s" +msgstr "kunde inte ta status pΓ₯ %s" + +#: trailer.c:859 +#, c-format +msgid "file %s is not a regular file" +msgstr "filen %s Γ€r inte en normal fil" + +#: trailer.c:861 +#, c-format +msgid "file %s is not writable by user" +msgstr "filen %s Γ€r inte skrivbar av anvΓ€ndaren" + +#: trailer.c:873 +msgid "could not open temporary file" +msgstr "kunde inte ΓΆppna temporΓ€r file" + +#: trailer.c:912 +#, c-format +msgid "could not rename temporary file to %s" +msgstr "kunde inte byta nman pΓ₯ temporΓ€ra file till %s" + +#: transport-helper.c:1041 #, c-format msgid "Could not read ref %s" msgstr "Kunde inte lΓ€sa referensen %s" @@ -1657,47 +1802,47 @@ msgstr "felaktigt portnummer" msgid "invalid '..' path segment" msgstr "felaktigt \"..\"-sΓΆkvΓ€gssegment" -#: wrapper.c:219 wrapper.c:362 +#: wrapper.c:222 wrapper.c:381 #, c-format msgid "could not open '%s' for reading and writing" msgstr "kunde inte ΓΆppna \"%s\" fΓΆr lΓ€sning och skrivning" -#: wrapper.c:221 wrapper.c:364 +#: wrapper.c:224 wrapper.c:383 #, c-format msgid "could not open '%s' for writing" msgstr "kunde inte ΓΆppna \"%s\" fΓΆr skrivning" -#: wrapper.c:223 wrapper.c:366 builtin/am.c:338 builtin/commit.c:1691 -#: builtin/merge.c:1074 builtin/pull.c:380 +#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/commit.c:1691 +#: builtin/merge.c:1075 builtin/pull.c:387 #, c-format msgid "could not open '%s' for reading" msgstr "kunde inte ΓΆppna \"%s\" fΓΆr lΓ€sning" -#: wrapper.c:579 +#: wrapper.c:611 #, c-format msgid "unable to access '%s': %s" msgstr "kan inte komma Γ₯t \"%s\": %s" -#: wrapper.c:600 +#: wrapper.c:632 #, c-format msgid "unable to access '%s'" msgstr "kan inte komma Γ₯t \"%s\"" -#: wrapper.c:608 +#: wrapper.c:640 msgid "unable to get current working directory" msgstr "kan inte hΓ€mta aktuell arbetskatalog" -#: wrapper.c:635 +#: wrapper.c:667 #, c-format msgid "could not open %s for writing" msgstr "kunde inte ΓΆppna %s fΓΆr skrivning" -#: wrapper.c:646 builtin/am.c:425 +#: wrapper.c:678 builtin/am.c:410 #, c-format msgid "could not write to %s" msgstr "kunde inte skriva till %s" -#: wrapper.c:652 +#: wrapper.c:684 #, c-format msgid "could not close %s" msgstr "kunde inte stΓ€nga %s" @@ -2163,7 +2308,11 @@ msgstr "fΓΆrsvunnen" msgid "behind " msgstr "efter " -#: compat/precompose_utf8.c:56 builtin/clone.c:408 +#: wt-status.c:1680 wt-status.c:1683 +msgid "ahead " +msgstr "fΓΆre " + +#: compat/precompose_utf8.c:57 builtin/clone.c:413 #, c-format msgid "failed to unlink '%s'" msgstr "misslyckades ta bort lΓ€nken \"%s\"" @@ -2190,7 +2339,7 @@ msgstr "ta bort \"%s\"\n" msgid "Unstaged changes after refreshing the index:" msgstr "OkΓΆade Γ€ndringar efter att ha uppdaterat indexet:" -#: builtin/add.c:194 builtin/rev-parse.c:796 +#: builtin/add.c:194 builtin/rev-parse.c:797 msgid "Could not read the index" msgstr "Kunde inte lΓ€sa indexet" @@ -2225,15 +2374,15 @@ msgstr "Kunde inte tillΓ€mpa \"%s\"" msgid "The following paths are ignored by one of your .gitignore files:\n" msgstr "FΓΆljande sΓΆkvΓ€gar ignoreras av en av dina .gitignore-filer:\n" -#: builtin/add.c:249 builtin/clean.c:894 builtin/fetch.c:108 builtin/mv.c:110 -#: builtin/prune-packed.c:55 builtin/pull.c:182 builtin/push.c:543 -#: builtin/remote.c:1345 builtin/rm.c:268 builtin/send-pack.c:162 +#: builtin/add.c:249 builtin/clean.c:870 builtin/fetch.c:112 builtin/mv.c:111 +#: builtin/prune-packed.c:55 builtin/pull.c:189 builtin/push.c:511 +#: builtin/remote.c:1330 builtin/rm.c:268 builtin/send-pack.c:162 msgid "dry run" msgstr "testkΓΆrning" -#: builtin/add.c:250 builtin/apply.c:4571 builtin/check-ignore.c:19 +#: builtin/add.c:250 builtin/apply.c:4561 builtin/check-ignore.c:19 #: builtin/commit.c:1322 builtin/count-objects.c:85 builtin/fsck.c:558 -#: builtin/log.c:1645 builtin/mv.c:109 builtin/read-tree.c:114 +#: builtin/log.c:1651 builtin/mv.c:110 builtin/read-tree.c:114 msgid "be verbose" msgstr "var pratsam" @@ -2241,7 +2390,7 @@ msgstr "var pratsam" msgid "interactive picking" msgstr "plocka interaktivt" -#: builtin/add.c:253 builtin/checkout.c:1153 builtin/reset.c:286 +#: builtin/add.c:253 builtin/checkout.c:1155 builtin/reset.c:286 msgid "select hunks interactively" msgstr "vΓ€lj stycken interaktivt" @@ -2308,138 +2457,133 @@ msgstr "Inget angivet, inget tillagt.\n" msgid "Maybe you wanted to say 'git add .'?\n" msgstr "Kanske menade du att skriva \"git add .\"?\n" -#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:938 -#: builtin/commit.c:337 builtin/mv.c:130 builtin/reset.c:235 builtin/rm.c:298 -#: builtin/submodule--helper.c:40 +#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:914 +#: builtin/commit.c:337 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298 +#: builtin/submodule--helper.c:35 msgid "index file corrupt" msgstr "indexfilen trasig" -#: builtin/add.c:439 builtin/apply.c:4669 builtin/mv.c:279 builtin/rm.c:430 +#: builtin/add.c:439 builtin/apply.c:4659 builtin/mv.c:280 builtin/rm.c:430 msgid "Unable to write new index file" msgstr "Kunde inte skriva ny indexfil" -#: builtin/am.c:42 -#, c-format -msgid "could not stat %s" -msgstr "kunde inte ta status pΓ₯ %s" - -#: builtin/am.c:271 builtin/commit.c:738 builtin/merge.c:1077 +#: builtin/am.c:256 builtin/commit.c:738 builtin/merge.c:1078 #, c-format msgid "could not read '%s'" msgstr "kunde inte lΓ€sa \"%s\"" -#: builtin/am.c:445 +#: builtin/am.c:430 msgid "could not parse author script" msgstr "kunde inte tolka fΓΆrfattarskript" -#: builtin/am.c:522 +#: builtin/am.c:507 #, c-format msgid "'%s' was deleted by the applypatch-msg hook" msgstr "\"%s\" togs bort av kroken applypatch-msg" -#: builtin/am.c:563 builtin/notes.c:300 +#: builtin/am.c:548 builtin/notes.c:300 #, c-format msgid "Malformed input line: '%s'." msgstr "Felaktig indatarad: \"%s\"." -#: builtin/am.c:600 builtin/notes.c:315 +#: builtin/am.c:585 builtin/notes.c:315 #, c-format msgid "Failed to copy notes from '%s' to '%s'" msgstr "Misslyckades kopiera anteckningar frΓ₯n \"%s\" till \"%s\"" -#: builtin/am.c:626 +#: builtin/am.c:611 msgid "fseek failed" msgstr "\"fseek\" misslyckades" -#: builtin/am.c:787 builtin/am.c:875 +#: builtin/am.c:772 builtin/am.c:860 #, c-format msgid "could not open '%s' for reading: %s" msgstr "kunde inte ΓΆppna \"%s\" fΓΆr lΓ€sning: %s" -#: builtin/am.c:794 +#: builtin/am.c:779 #, c-format msgid "could not open '%s' for writing: %s" msgstr "Kunde inte ΓΆppna \"%s\" fΓΆr skrivning: %s" -#: builtin/am.c:803 +#: builtin/am.c:788 #, c-format msgid "could not parse patch '%s'" msgstr "kunde inte tolka patchen \"%s\"" -#: builtin/am.c:868 +#: builtin/am.c:853 msgid "Only one StGIT patch series can be applied at once" msgstr "Endast en StGIT-patchserie kan tillΓ€mpas Γ₯t gΓ₯ngen" -#: builtin/am.c:916 +#: builtin/am.c:901 msgid "invalid timestamp" msgstr "ogiltig tidsstΓ€mpel" -#: builtin/am.c:919 builtin/am.c:927 +#: builtin/am.c:904 builtin/am.c:912 msgid "invalid Date line" msgstr "ogiltig \"Date\"-rad" -#: builtin/am.c:924 +#: builtin/am.c:909 msgid "invalid timezone offset" msgstr "ogiltig tidszons-offset" -#: builtin/am.c:1011 +#: builtin/am.c:996 msgid "Patch format detection failed." msgstr "Misslyckades detektera patchformat." -#: builtin/am.c:1016 builtin/clone.c:373 +#: builtin/am.c:1001 builtin/clone.c:378 #, c-format msgid "failed to create directory '%s'" msgstr "misslyckades skapa katalogen \"%s\"" -#: builtin/am.c:1020 +#: builtin/am.c:1005 msgid "Failed to split patches." msgstr "Misslyckades dela patchar." -#: builtin/am.c:1152 builtin/commit.c:363 +#: builtin/am.c:1137 builtin/commit.c:363 msgid "unable to write index file" msgstr "kan inte skriva indexfil" -#: builtin/am.c:1203 +#: builtin/am.c:1188 #, c-format msgid "When you have resolved this problem, run \"%s --continue\"." msgstr "NΓ€r du har lΓΆst problemet, kΓΆr \"%s --continue\"." -#: builtin/am.c:1204 +#: builtin/am.c:1189 #, c-format msgid "If you prefer to skip this patch, run \"%s --skip\" instead." msgstr "Om du hellre vill hoppa ΓΆver patchen, kΓΆr \"%s --skip\" i stΓ€llet." -#: builtin/am.c:1205 +#: builtin/am.c:1190 #, c-format msgid "To restore the original branch and stop patching, run \"%s --abort\"." msgstr "" "FΓΆr att Γ₯tergΓ₯ till ursprunglig gren och sluta patcha, kΓΆr \"%s --abort\"." -#: builtin/am.c:1343 +#: builtin/am.c:1328 msgid "Patch is empty. Was it split wrong?" msgstr "Patchen Γ€r tom. Delades den upp felaktigt?" -#: builtin/am.c:1417 builtin/log.c:1347 +#: builtin/am.c:1402 builtin/log.c:1350 #, c-format msgid "invalid ident line: %s" msgstr "ogiltig ident-rad: %s" -#: builtin/am.c:1444 +#: builtin/am.c:1429 #, c-format msgid "unable to parse commit %s" msgstr "kunde inte tolka incheckningen %s" -#: builtin/am.c:1646 +#: builtin/am.c:1631 msgid "Repository lacks necessary blobs to fall back on 3-way merge." msgstr "" "Arkivet saknar objekt som behΓΆvs fΓΆr att falla tillbaka pΓ₯ 3-" "vΓ€gssammanslagning." -#: builtin/am.c:1648 +#: builtin/am.c:1633 msgid "Using index info to reconstruct a base tree..." msgstr "AnvΓ€nder indexinfo fΓΆr att Γ₯terskapa ett bastrΓ€d..." -#: builtin/am.c:1667 +#: builtin/am.c:1652 msgid "" "Did you hand edit your patch?\n" "It does not apply to blobs recorded in its index." @@ -2447,39 +2591,39 @@ msgstr "" "Har du handredigerat din patch?\n" "Den kan inte tillΓ€mpas pΓ₯ blobbar som antecknats i dess index." -#: builtin/am.c:1673 +#: builtin/am.c:1658 msgid "Falling back to patching base and 3-way merge..." msgstr "" "Faller tillbaka pΓ₯ att patcha grundversionen och trevΓ€gssammanslagning..." -#: builtin/am.c:1688 +#: builtin/am.c:1673 msgid "Failed to merge in the changes." msgstr "Misslyckades slΓ₯ ihop Γ€ndringarna." -#: builtin/am.c:1712 builtin/merge.c:632 +#: builtin/am.c:1697 builtin/merge.c:633 msgid "git write-tree failed to write a tree" msgstr "git write-tree misslyckades skriva ett trΓ€d" -#: builtin/am.c:1719 +#: builtin/am.c:1704 msgid "applying to an empty history" msgstr "tillΓ€mpar pΓ₯ en tom historik" -#: builtin/am.c:1732 builtin/commit.c:1755 builtin/merge.c:829 -#: builtin/merge.c:854 +#: builtin/am.c:1717 builtin/commit.c:1755 builtin/merge.c:830 +#: builtin/merge.c:855 msgid "failed to write commit object" msgstr "kunde inte skriva incheckningsobjekt" -#: builtin/am.c:1764 builtin/am.c:1768 +#: builtin/am.c:1749 builtin/am.c:1753 #, c-format msgid "cannot resume: %s does not exist." msgstr "kan inte Γ₯teruppta: %s finns inte." -#: builtin/am.c:1784 +#: builtin/am.c:1769 msgid "cannot be interactive without stdin connected to a terminal." msgstr "" "kan inte vara interaktiv om standard in inte Γ€r ansluten till en terminal." -#: builtin/am.c:1789 +#: builtin/am.c:1774 msgid "Commit Body is:" msgstr "Incheckningskroppen Γ€r:" @@ -2487,35 +2631,35 @@ msgstr "Incheckningskroppen Γ€r:" #. in your translation. The program will only accept English #. input at this point. #. -#: builtin/am.c:1799 +#: builtin/am.c:1784 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: " msgstr "TillΓ€mpa? Y=ja/N=nej/E=redigera/V=visa patch/A=godta alla: " -#: builtin/am.c:1849 +#: builtin/am.c:1834 #, c-format msgid "Dirty index: cannot apply patches (dirty: %s)" msgstr "Smutsigt index: kan inte tillΓ€mpa patchar (smutsiga: %s)" -#: builtin/am.c:1884 builtin/am.c:1955 +#: builtin/am.c:1869 builtin/am.c:1941 #, c-format msgid "Applying: %.*s" msgstr "TillΓ€mpar: %.*s" -#: builtin/am.c:1900 +#: builtin/am.c:1885 msgid "No changes -- Patch already applied." msgstr "Inga Γ€ndringar -- Patchen har redan tillΓ€mpats." -#: builtin/am.c:1908 +#: builtin/am.c:1893 #, c-format msgid "Patch failed at %s %.*s" msgstr "Patch misslyckades pΓ₯ %s %.*s" -#: builtin/am.c:1914 +#: builtin/am.c:1899 #, c-format msgid "The copy of the patch that failed is found in: %s" msgstr "En kopia av patchen som misslyckades finns i: %s" -#: builtin/am.c:1958 +#: builtin/am.c:1944 msgid "" "No changes - did you forget to use 'git add'?\n" "If there is nothing left to stage, chances are that something else\n" @@ -2525,7 +2669,7 @@ msgstr "" "Om det inte Γ€r nΓ₯got kvar att kΓΆa kan det hΓ€nda att nΓ₯got annat redan\n" "introducerat samma Γ€ndringar; kanske du bΓΆr hoppa ΓΆver patchen." -#: builtin/am.c:1965 +#: builtin/am.c:1951 msgid "" "You still have unmerged paths in your index.\n" "Did you forget to use 'git add'?" @@ -2533,17 +2677,17 @@ msgstr "" "Du har fortfarande sΓΆkvΓ€gar som inte slagits samman i ditt index.\n" "GlΓΆmde du anvΓ€nda \"git add\"?" -#: builtin/am.c:2073 builtin/am.c:2077 builtin/am.c:2089 builtin/reset.c:308 +#: builtin/am.c:2059 builtin/am.c:2063 builtin/am.c:2075 builtin/reset.c:308 #: builtin/reset.c:316 #, c-format msgid "Could not parse object '%s'." msgstr "Kan inte tolka objektet \"%s\"" -#: builtin/am.c:2125 +#: builtin/am.c:2111 msgid "failed to clean index" msgstr "misslyckades stΓ€da upp indexet" -#: builtin/am.c:2159 +#: builtin/am.c:2145 msgid "" "You seem to have moved HEAD since the last 'am' failure.\n" "Not rewinding to ORIG_HEAD" @@ -2551,152 +2695,152 @@ msgstr "" "Du verkar ha flyttat HEAD sedan \"am\" sist misslyckades.\n" "Γ
terstΓ€ller inte till ORIG_HEAD" -#: builtin/am.c:2220 +#: builtin/am.c:2206 #, c-format msgid "Invalid value for --patch-format: %s" msgstr "Felaktigt vΓ€rde fΓΆr --patch-format: %s" -#: builtin/am.c:2253 +#: builtin/am.c:2239 msgid "git am [<options>] [(<mbox>|<Maildir>)...]" msgstr "git am [<flaggor>] [(<mbox>|<Maildir>)...]" -#: builtin/am.c:2254 +#: builtin/am.c:2240 msgid "git am [<options>] (--continue | --skip | --abort)" msgstr "git am [<flaggor>] (--continue | --skip | --abort)" -#: builtin/am.c:2260 +#: builtin/am.c:2246 msgid "run interactively" msgstr "kΓΆr interaktivt" -#: builtin/am.c:2262 +#: builtin/am.c:2248 msgid "historical option -- no-op" msgstr "historisk flagga -- no-op" -#: builtin/am.c:2264 +#: builtin/am.c:2250 msgid "allow fall back on 3way merging if needed" msgstr "tillΓ₯t falla tillbaka pΓ₯ trevΓ€gssammanslagning om nΓΆdvΓ€ndigt" -#: builtin/am.c:2265 builtin/init-db.c:474 builtin/prune-packed.c:57 +#: builtin/am.c:2251 builtin/init-db.c:474 builtin/prune-packed.c:57 #: builtin/repack.c:171 msgid "be quiet" msgstr "var tyst" -#: builtin/am.c:2267 +#: builtin/am.c:2253 msgid "add a Signed-off-by line to the commit message" msgstr "lΓ€gg till \"Signed-off-by\"-rad i incheckningsmeddelandet" -#: builtin/am.c:2270 +#: builtin/am.c:2256 msgid "recode into utf8 (default)" msgstr "koda om till utf8 (standard)" -#: builtin/am.c:2272 +#: builtin/am.c:2258 msgid "pass -k flag to git-mailinfo" msgstr "sΓ€nd flaggan -k till git-mailinfo" -#: builtin/am.c:2274 +#: builtin/am.c:2260 msgid "pass -b flag to git-mailinfo" msgstr "sΓ€nd flaggan -b till git-mailinfo" -#: builtin/am.c:2276 +#: builtin/am.c:2262 msgid "pass -m flag to git-mailinfo" msgstr "sΓ€nd flaggan -m till git-mailinfo" -#: builtin/am.c:2278 +#: builtin/am.c:2264 msgid "pass --keep-cr flag to git-mailsplit for mbox format" msgstr "sΓ€nd flaggan --keep-cr till git-mailsplit fΓΆr mbox-formatet" -#: builtin/am.c:2281 +#: builtin/am.c:2267 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr" msgstr "sΓ€nd inte flaggan --keep-cr till git-mailsplit oberoende av am.keepcr" -#: builtin/am.c:2284 +#: builtin/am.c:2270 msgid "strip everything before a scissors line" msgstr "ta bort allting fΓΆre en saxlinje" -#: builtin/am.c:2285 builtin/apply.c:4554 +#: builtin/am.c:2271 builtin/apply.c:4544 msgid "action" msgstr "Γ₯tgΓ€rd" -#: builtin/am.c:2286 builtin/am.c:2289 builtin/am.c:2292 builtin/am.c:2295 -#: builtin/am.c:2298 builtin/am.c:2301 builtin/am.c:2304 builtin/am.c:2307 -#: builtin/am.c:2313 +#: builtin/am.c:2272 builtin/am.c:2275 builtin/am.c:2278 builtin/am.c:2281 +#: builtin/am.c:2284 builtin/am.c:2287 builtin/am.c:2290 builtin/am.c:2293 +#: builtin/am.c:2299 msgid "pass it through git-apply" msgstr "sΓ€nd det genom git-apply" -#: builtin/am.c:2294 builtin/apply.c:4578 +#: builtin/am.c:2280 builtin/apply.c:4568 msgid "root" msgstr "rot" -#: builtin/am.c:2297 builtin/am.c:2300 builtin/apply.c:4516 -#: builtin/apply.c:4519 builtin/clone.c:85 builtin/fetch.c:93 -#: builtin/pull.c:167 builtin/submodule--helper.c:78 -#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169 +#: builtin/am.c:2283 builtin/am.c:2286 builtin/apply.c:4506 +#: builtin/apply.c:4509 builtin/clone.c:86 builtin/fetch.c:95 +#: builtin/pull.c:171 builtin/submodule--helper.c:72 +#: builtin/submodule--helper.c:160 builtin/submodule--helper.c:163 msgid "path" msgstr "sΓΆkvΓ€g" -#: builtin/am.c:2303 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669 -#: builtin/grep.c:693 builtin/merge.c:198 builtin/pull.c:127 -#: builtin/repack.c:178 builtin/repack.c:182 builtin/show-branch.c:645 -#: builtin/show-ref.c:175 builtin/tag.c:340 parse-options.h:132 -#: parse-options.h:134 parse-options.h:244 +#: builtin/am.c:2289 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669 +#: builtin/grep.c:704 builtin/merge.c:198 builtin/pull.c:131 +#: builtin/pull.c:185 builtin/repack.c:178 builtin/repack.c:182 +#: builtin/show-branch.c:645 builtin/show-ref.c:175 builtin/tag.c:340 +#: parse-options.h:132 parse-options.h:134 parse-options.h:244 msgid "n" msgstr "n" -#: builtin/am.c:2306 builtin/apply.c:4522 +#: builtin/am.c:2292 builtin/apply.c:4512 msgid "num" msgstr "antal" -#: builtin/am.c:2309 builtin/for-each-ref.c:37 builtin/replace.c:438 +#: builtin/am.c:2295 builtin/for-each-ref.c:37 builtin/replace.c:438 #: builtin/tag.c:372 msgid "format" msgstr "format" -#: builtin/am.c:2310 +#: builtin/am.c:2296 msgid "format the patch(es) are in" msgstr "format fΓΆr patch(ar)" -#: builtin/am.c:2316 +#: builtin/am.c:2302 msgid "override error message when patch failure occurs" msgstr "ΓΆverstyr felmeddelanden nΓ€r patchfel uppstΓ₯r" -#: builtin/am.c:2318 +#: builtin/am.c:2304 msgid "continue applying patches after resolving a conflict" msgstr "fortsΓ€tt applicera patchar efter att ha lΓΆst en konflikt" -#: builtin/am.c:2321 +#: builtin/am.c:2307 msgid "synonyms for --continue" msgstr "synonymer till --continue" -#: builtin/am.c:2324 +#: builtin/am.c:2310 msgid "skip the current patch" msgstr "hoppa ΓΆver den aktuella grenen" -#: builtin/am.c:2327 +#: builtin/am.c:2313 msgid "restore the original branch and abort the patching operation." msgstr "Γ₯terstΓ€ll originalgrenen och avbryt patchningen." -#: builtin/am.c:2331 +#: builtin/am.c:2317 msgid "lie about committer date" msgstr "ljug om incheckningsdatum" -#: builtin/am.c:2333 +#: builtin/am.c:2319 msgid "use current timestamp for author date" msgstr "anvΓ€nd nuvarande tidsstΓ€mpel fΓΆr fΓΆrfattardatum" -#: builtin/am.c:2335 builtin/commit.c:1593 builtin/merge.c:225 -#: builtin/pull.c:155 builtin/revert.c:92 builtin/tag.c:355 +#: builtin/am.c:2321 builtin/commit.c:1593 builtin/merge.c:225 +#: builtin/pull.c:159 builtin/revert.c:92 builtin/tag.c:355 msgid "key-id" msgstr "nyckel-id" -#: builtin/am.c:2336 +#: builtin/am.c:2322 msgid "GPG-sign commits" msgstr "GPG-signera incheckningar" -#: builtin/am.c:2339 +#: builtin/am.c:2325 msgid "(internal use for git-rebase)" msgstr "(anvΓ€nds internt av git-rebase)" -#: builtin/am.c:2354 +#: builtin/am.c:2340 msgid "" "The -b/--binary option has been a no-op for long time, and\n" "it will be removed. Please do not use it anymore." @@ -2704,16 +2848,16 @@ msgstr "" "Flaggan -b/--binary har varit utan funktion lΓ€nge, och\n" "kommer tas bort. Vi ber dig att inte anvΓ€nda den lΓ€ngre." -#: builtin/am.c:2361 +#: builtin/am.c:2347 msgid "failed to read the index" msgstr "misslyckades lΓ€sa indexet" -#: builtin/am.c:2376 +#: builtin/am.c:2362 #, c-format msgid "previous rebase directory %s still exists but mbox given." msgstr "tidigare rebase-katalog %s finns fortfarande, men mbox angavs." -#: builtin/am.c:2400 +#: builtin/am.c:2386 #, c-format msgid "" "Stray %s directory found.\n" @@ -2722,7 +2866,7 @@ msgstr "" "Kvarbliven katalog %s hittades.\n" "AnvΓ€nd \"git am --abort\" fΓΆr att ta bort den." -#: builtin/am.c:2406 +#: builtin/am.c:2392 msgid "Resolve operation not in progress, we are not resuming." msgstr "LΓΆsningsoperation pΓ₯gΓ₯r inte, vi Γ₯terupptar inte." @@ -3068,131 +3212,131 @@ msgstr "indata kΓ€nns inte igen" msgid "unable to read index file" msgstr "kan inte lΓ€sa indexfilen" -#: builtin/apply.c:4517 +#: builtin/apply.c:4507 msgid "don't apply changes matching the given path" msgstr "tillΓ€mpa inte Γ€ndringar som motsvarar given sΓΆkvΓ€g" -#: builtin/apply.c:4520 +#: builtin/apply.c:4510 msgid "apply changes matching the given path" msgstr "tillΓ€mpa Γ€ndringar som motsvarar given sΓΆkvΓ€g" -#: builtin/apply.c:4523 +#: builtin/apply.c:4513 msgid "remove <num> leading slashes from traditional diff paths" msgstr "ta bort <antal> inledande snedstreck frΓ₯n traditionella diff-sΓΆkvΓ€gar" -#: builtin/apply.c:4526 +#: builtin/apply.c:4516 msgid "ignore additions made by the patch" msgstr "ignorera tillΓ€gg gjorda av patchen" -#: builtin/apply.c:4528 +#: builtin/apply.c:4518 msgid "instead of applying the patch, output diffstat for the input" msgstr "istΓ€llet fΓΆr att tillΓ€mpa patchen, skriv ut diffstat fΓΆr indata" -#: builtin/apply.c:4532 +#: builtin/apply.c:4522 msgid "show number of added and deleted lines in decimal notation" msgstr "visa antal tillagda och borttagna rader decimalt" -#: builtin/apply.c:4534 +#: builtin/apply.c:4524 msgid "instead of applying the patch, output a summary for the input" msgstr "istΓ€llet fΓΆr att tillΓ€mpa patchen, skriv ut en summering av indata" -#: builtin/apply.c:4536 +#: builtin/apply.c:4526 msgid "instead of applying the patch, see if the patch is applicable" msgstr "istΓ€llet fΓΆr att tillΓ€mpa patchen, se om patchen kan tillΓ€mpas" -#: builtin/apply.c:4538 +#: builtin/apply.c:4528 msgid "make sure the patch is applicable to the current index" msgstr "se till att patchen kan tillΓ€mpas pΓ₯ aktuellt index" -#: builtin/apply.c:4540 +#: builtin/apply.c:4530 msgid "apply a patch without touching the working tree" msgstr "tillΓ€mpa en patch utan att rΓΆra arbetskatalogen" -#: builtin/apply.c:4542 +#: builtin/apply.c:4532 msgid "accept a patch that touches outside the working area" msgstr "godta en patch som rΓΆr filer utanfΓΆr arbetskatalogen" -#: builtin/apply.c:4544 +#: builtin/apply.c:4534 msgid "also apply the patch (use with --stat/--summary/--check)" msgstr "tillΓ€mpa ocksΓ₯ patchen (anvΓ€nd med --stat/--summary/--check)" -#: builtin/apply.c:4546 +#: builtin/apply.c:4536 msgid "attempt three-way merge if a patch does not apply" msgstr "fΓΆrsΓΆk en trevΓ€gssammanslagning om patchen inte kan tillΓ€mpas" -#: builtin/apply.c:4548 +#: builtin/apply.c:4538 msgid "build a temporary index based on embedded index information" msgstr "bygg ett temporΓ€rt index baserat pΓ₯ inbyggd indexinformation" -#: builtin/apply.c:4550 builtin/checkout-index.c:198 builtin/ls-files.c:412 +#: builtin/apply.c:4541 builtin/checkout-index.c:169 builtin/ls-files.c:425 msgid "paths are separated with NUL character" msgstr "sΓΆkvΓ€gar avdelas med NUL-tecken" -#: builtin/apply.c:4553 +#: builtin/apply.c:4543 msgid "ensure at least <n> lines of context match" msgstr "se till att Γ₯tminstone <n> rader sammanhang Γ€r lika" -#: builtin/apply.c:4555 +#: builtin/apply.c:4545 msgid "detect new or modified lines that have whitespace errors" msgstr "detektera nya eller Γ€ndrade rader som har fel i blanktecken" -#: builtin/apply.c:4558 builtin/apply.c:4561 +#: builtin/apply.c:4548 builtin/apply.c:4551 msgid "ignore changes in whitespace when finding context" msgstr "ignorera Γ€ndringar i blanktecken fΓΆr sammanhang" -#: builtin/apply.c:4564 +#: builtin/apply.c:4554 msgid "apply the patch in reverse" msgstr "tillΓ€mpa patchen baklΓ€nges" -#: builtin/apply.c:4566 +#: builtin/apply.c:4556 msgid "don't expect at least one line of context" msgstr "fΓΆrvΓ€nta inte minst en rad sammanhang" -#: builtin/apply.c:4568 +#: builtin/apply.c:4558 msgid "leave the rejected hunks in corresponding *.rej files" msgstr "lΓ€mna refuserade stycken i motsvarande *.rej-filer" -#: builtin/apply.c:4570 +#: builtin/apply.c:4560 msgid "allow overlapping hunks" msgstr "tillΓ₯t ΓΆverlappande stycken" -#: builtin/apply.c:4573 +#: builtin/apply.c:4563 msgid "tolerate incorrectly detected missing new-line at the end of file" msgstr "tolerera felaktigt detekterade saknade nyradstecken vid filslut" -#: builtin/apply.c:4576 +#: builtin/apply.c:4566 msgid "do not trust the line counts in the hunk headers" msgstr "lite inte pΓ₯ antalet linjer i styckehuvuden" -#: builtin/apply.c:4579 +#: builtin/apply.c:4569 msgid "prepend <root> to all filenames" msgstr "lΓ€gg till <rot> i alla filnamn" -#: builtin/apply.c:4601 +#: builtin/apply.c:4591 msgid "--3way outside a repository" msgstr "--3way utanfΓΆr arkiv" -#: builtin/apply.c:4609 +#: builtin/apply.c:4599 msgid "--index outside a repository" msgstr "--index utanfΓΆr arkiv" -#: builtin/apply.c:4612 +#: builtin/apply.c:4602 msgid "--cached outside a repository" msgstr "--cached utanfΓΆr arkiv" -#: builtin/apply.c:4631 +#: builtin/apply.c:4621 #, c-format msgid "can't open patch '%s'" msgstr "kan inte ΓΆppna patchen \"%s\"" -#: builtin/apply.c:4645 +#: builtin/apply.c:4635 #, c-format msgid "squelched %d whitespace error" msgid_plural "squelched %d whitespace errors" msgstr[0] "undertryckte %d fel i blanksteg" msgstr[1] "undertryckte %d fel i blanksteg" -#: builtin/apply.c:4651 builtin/apply.c:4661 +#: builtin/apply.c:4641 builtin/apply.c:4651 #, c-format msgid "%d line adds whitespace errors." msgid_plural "%d lines add whitespace errors." @@ -3246,103 +3390,111 @@ msgstr "utfΓΆr 'git bisect next'" msgid "update BISECT_HEAD instead of checking out the current commit" msgstr "uppdatera BISECT_HEAD istΓ€llet fΓΆr att checka ut aktuell incheckning" -#: builtin/blame.c:32 +#: builtin/blame.c:33 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>" msgstr "git blame [<flaggor>] [<rev-flaggor>] [<rev>] [--] <fil>" -#: builtin/blame.c:37 +#: builtin/blame.c:38 msgid "<rev-opts> are documented in git-rev-list(1)" msgstr "<rev-flaggor> dokumenteras i git-rev-list(1)" -#: builtin/blame.c:2519 +#: builtin/blame.c:1782 +msgid "Blaming lines" +msgstr "Klandra rader" + +#: builtin/blame.c:2530 msgid "Show blame entries as we find them, incrementally" msgstr "Visa klandringsposter nΓ€r vi hittar dem, interaktivt" -#: builtin/blame.c:2520 +#: builtin/blame.c:2531 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "Visa blank SHA-1 fΓΆr grΓ€nsincheckningar (Standard: av)" -#: builtin/blame.c:2521 +#: builtin/blame.c:2532 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "Behandla inte rotincheckningar som grΓ€nser (Standard: av)" -#: builtin/blame.c:2522 +#: builtin/blame.c:2533 msgid "Show work cost statistics" msgstr "Visa statistik ΓΆver arbetskostnad" -#: builtin/blame.c:2523 +#: builtin/blame.c:2534 +msgid "Force progress reporting" +msgstr "Tvinga fΓΆrloppsrapportering" + +#: builtin/blame.c:2535 msgid "Show output score for blame entries" msgstr "Visa utdatapoΓ€ng fΓΆr klandringsposter" -#: builtin/blame.c:2524 +#: builtin/blame.c:2536 msgid "Show original filename (Default: auto)" msgstr "Visa originalfilnamn (Standard: auto)" -#: builtin/blame.c:2525 +#: builtin/blame.c:2537 msgid "Show original linenumber (Default: off)" msgstr "Visa ursprungligt radnummer (Standard: av)" -#: builtin/blame.c:2526 +#: builtin/blame.c:2538 msgid "Show in a format designed for machine consumption" msgstr "Visa i ett format avsett fΓΆr maskinkonsumtion" -#: builtin/blame.c:2527 +#: builtin/blame.c:2539 msgid "Show porcelain format with per-line commit information" msgstr "Visa porslinsformat med per-rad-incheckningsinformation" -#: builtin/blame.c:2528 +#: builtin/blame.c:2540 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "AnvΓ€nd samma utdatalΓ€ge som git-annotate (Standard: av)" -#: builtin/blame.c:2529 +#: builtin/blame.c:2541 msgid "Show raw timestamp (Default: off)" msgstr "Visa rΓ₯ tidsstΓ€mpel (Standard: av)" -#: builtin/blame.c:2530 +#: builtin/blame.c:2542 msgid "Show long commit SHA1 (Default: off)" msgstr "Visa lΓ₯ng inchecknings-SHA1 (Standard: av)" -#: builtin/blame.c:2531 +#: builtin/blame.c:2543 msgid "Suppress author name and timestamp (Default: off)" msgstr "Undertryck fΓΆrfattarnamn och tidsstΓ€mpel (Standard: av)" -#: builtin/blame.c:2532 +#: builtin/blame.c:2544 msgid "Show author email instead of name (Default: off)" msgstr "Visa fΓΆrfattarens e-post istΓ€llet fΓΆr namn (Standard: av)" -#: builtin/blame.c:2533 +#: builtin/blame.c:2545 msgid "Ignore whitespace differences" msgstr "Ignorera Γ€ndringar i blanksteg" -#: builtin/blame.c:2534 +#: builtin/blame.c:2546 msgid "Spend extra cycles to find better match" msgstr "SlΓΆsa extra cykler med att hitta bΓ€ttre trΓ€ff" -#: builtin/blame.c:2535 +#: builtin/blame.c:2547 msgid "Use revisions from <file> instead of calling git-rev-list" msgstr "AnvΓ€nd revisioner frΓ₯n <fil> istΓ€llet fΓΆr att anropa git-rev-list" -#: builtin/blame.c:2536 +#: builtin/blame.c:2548 msgid "Use <file>'s contents as the final image" msgstr "AnvΓ€nd <fil>s innehΓ₯ll som slutgiltig bild" -#: builtin/blame.c:2537 builtin/blame.c:2538 +#: builtin/blame.c:2549 builtin/blame.c:2550 msgid "score" msgstr "poΓ€ng" -#: builtin/blame.c:2537 +#: builtin/blame.c:2549 msgid "Find line copies within and across files" msgstr "Hitta kopierade rader inuti och mellan filer" -#: builtin/blame.c:2538 +#: builtin/blame.c:2550 msgid "Find line movements within and across files" msgstr "Hitta flyttade rader inuti och mellan filer" -#: builtin/blame.c:2539 +#: builtin/blame.c:2551 msgid "n,m" msgstr "n,m" -#: builtin/blame.c:2539 +#: builtin/blame.c:2551 msgid "Process only line range n,m, counting from 1" msgstr "Behandla endast radintervallet n,m, med bΓΆrjan pΓ₯ 1" @@ -3352,7 +3504,7 @@ msgstr "Behandla endast radintervallet n,m, med bΓΆrjan pΓ₯ 1" #. takes 22 places, is the longest among various forms of #. relative timestamps, but your language may need more or #. fewer display columns. -#: builtin/blame.c:2620 +#: builtin/blame.c:2640 msgid "4 years, 11 months ago" msgstr "4 Γ₯r, 11 mΓ₯nader sedan" @@ -3551,197 +3703,197 @@ msgstr "Grenen namnbytt till %s, men HEAD har inte uppdaterats!" msgid "Branch is renamed, but update of config-file failed" msgstr "Grenen namnbytt, men misslyckades uppdatera konfigurationsfilen" -#: builtin/branch.c:587 +#: builtin/branch.c:586 #, c-format msgid "could not write branch description template: %s" msgstr "kunde inte skriva grenbeskrivningsmall: %s" -#: builtin/branch.c:616 +#: builtin/branch.c:615 msgid "Generic options" msgstr "AllmΓ€nna flaggor" -#: builtin/branch.c:618 +#: builtin/branch.c:617 msgid "show hash and subject, give twice for upstream branch" msgstr "visa hash och Γ€renderad, ange tvΓ₯ gΓ₯nger fΓΆr uppstrΓΆmsgren" -#: builtin/branch.c:619 +#: builtin/branch.c:618 msgid "suppress informational messages" msgstr "undertryck informationsmeddelanden" -#: builtin/branch.c:620 +#: builtin/branch.c:619 msgid "set up tracking mode (see git-pull(1))" msgstr "stΓ€ll in spΓ₯rningslΓ€ge (se git-pull(1))" -#: builtin/branch.c:622 +#: builtin/branch.c:621 msgid "change upstream info" msgstr "Γ€ndra uppstrΓΆmsinformation" -#: builtin/branch.c:626 +#: builtin/branch.c:625 msgid "use colored output" msgstr "anvΓ€nd fΓ€rgad utdata" -#: builtin/branch.c:627 +#: builtin/branch.c:626 msgid "act on remote-tracking branches" msgstr "arbeta pΓ₯ fjΓ€rrspΓ₯rande grenar" -#: builtin/branch.c:629 builtin/branch.c:630 +#: builtin/branch.c:628 builtin/branch.c:629 msgid "print only branches that contain the commit" msgstr "visa endast grenar som innehΓ₯ller incheckningen" -#: builtin/branch.c:633 +#: builtin/branch.c:632 msgid "Specific git-branch actions:" msgstr "Specifika git-branch-Γ₯tgΓ€rder:" -#: builtin/branch.c:634 +#: builtin/branch.c:633 msgid "list both remote-tracking and local branches" msgstr "visa bΓ₯de fjΓ€rrspΓ₯rande och lokala grenar" -#: builtin/branch.c:636 +#: builtin/branch.c:635 msgid "delete fully merged branch" msgstr "ta bort helt sammanslagen gren" -#: builtin/branch.c:637 +#: builtin/branch.c:636 msgid "delete branch (even if not merged)" msgstr "ta bort gren (Γ€ven om inte helt sammanslagen)" -#: builtin/branch.c:638 +#: builtin/branch.c:637 msgid "move/rename a branch and its reflog" msgstr "flytta/ta bort en gren och dess reflogg" -#: builtin/branch.c:639 +#: builtin/branch.c:638 msgid "move/rename a branch, even if target exists" msgstr "flytta/ta bort en gren, Γ€ven om mΓ₯let finns" -#: builtin/branch.c:640 +#: builtin/branch.c:639 msgid "list branch names" msgstr "lista namn pΓ₯ grenar" -#: builtin/branch.c:641 +#: builtin/branch.c:640 msgid "create the branch's reflog" msgstr "skapa grenens reflogg" -#: builtin/branch.c:643 +#: builtin/branch.c:642 msgid "edit the description for the branch" msgstr "redigera beskrivning fΓΆr grenen" -#: builtin/branch.c:644 +#: builtin/branch.c:643 msgid "force creation, move/rename, deletion" msgstr "tvinga skapande, flytt/namnΓ€ndring, borttagande" -#: builtin/branch.c:645 +#: builtin/branch.c:644 msgid "print only branches that are merged" msgstr "visa endast sammanslagna grenar" -#: builtin/branch.c:646 +#: builtin/branch.c:645 msgid "print only branches that are not merged" msgstr "visa endast ej sammanslagna grenar" -#: builtin/branch.c:647 +#: builtin/branch.c:646 msgid "list branches in columns" msgstr "visa grenar i spalter" -#: builtin/branch.c:648 builtin/for-each-ref.c:38 builtin/tag.c:366 +#: builtin/branch.c:647 builtin/for-each-ref.c:38 builtin/tag.c:366 msgid "key" msgstr "nyckel" -#: builtin/branch.c:649 builtin/for-each-ref.c:39 builtin/tag.c:367 +#: builtin/branch.c:648 builtin/for-each-ref.c:39 builtin/tag.c:367 msgid "field name to sort on" msgstr "fΓ€ltnamn att sortera pΓ₯" -#: builtin/branch.c:651 builtin/for-each-ref.c:41 builtin/notes.c:398 -#: builtin/notes.c:401 builtin/notes.c:561 builtin/notes.c:564 +#: builtin/branch.c:650 builtin/for-each-ref.c:41 builtin/notes.c:401 +#: builtin/notes.c:404 builtin/notes.c:564 builtin/notes.c:567 #: builtin/tag.c:369 msgid "object" msgstr "objekt" -#: builtin/branch.c:652 +#: builtin/branch.c:651 msgid "print only branches of the object" msgstr "visa endast grenar fΓΆr objektet" -#: builtin/branch.c:670 +#: builtin/branch.c:669 msgid "Failed to resolve HEAD as a valid ref." msgstr "Misslyckades slΓ₯ upp HEAD som giltig referens" -#: builtin/branch.c:674 builtin/clone.c:697 +#: builtin/branch.c:673 builtin/clone.c:705 msgid "HEAD not found below refs/heads!" msgstr "HEAD hittades inte under refs/heads!" -#: builtin/branch.c:694 +#: builtin/branch.c:693 msgid "--column and --verbose are incompatible" msgstr "--column och --verbose Γ€r inkompatibla" -#: builtin/branch.c:705 builtin/branch.c:747 +#: builtin/branch.c:704 builtin/branch.c:746 msgid "branch name required" msgstr "grennamn krΓ€vs" -#: builtin/branch.c:723 +#: builtin/branch.c:722 msgid "Cannot give description to detached HEAD" msgstr "Kan inte beskriva frΓ₯nkopplad HEAD" -#: builtin/branch.c:728 +#: builtin/branch.c:727 msgid "cannot edit description of more than one branch" msgstr "kan inte redigera beskrivning fΓΆr mer Γ€n en gren" -#: builtin/branch.c:735 +#: builtin/branch.c:734 #, c-format msgid "No commit on branch '%s' yet." msgstr "Inga incheckningar pΓ₯ grenen \"%s\" Γ€nnu" -#: builtin/branch.c:738 +#: builtin/branch.c:737 #, c-format msgid "No branch named '%s'." msgstr "Ingen gren vid namnet \"%s\"." -#: builtin/branch.c:753 +#: builtin/branch.c:752 msgid "too many branches for a rename operation" msgstr "fΓΆr mΓ₯nga grenar fΓΆr namnbyte" -#: builtin/branch.c:758 +#: builtin/branch.c:757 msgid "too many branches to set new upstream" msgstr "fΓΆr mΓ₯nga grenar fΓΆr att byta uppstrΓΆm" -#: builtin/branch.c:762 +#: builtin/branch.c:761 #, c-format msgid "" "could not set upstream of HEAD to %s when it does not point to any branch." msgstr "" "kunde inte sΓ€tta uppstrΓΆm fΓΆr HEAD till %s nΓ€r det inte pekar mot nΓ₯gon gren." -#: builtin/branch.c:765 builtin/branch.c:787 builtin/branch.c:808 +#: builtin/branch.c:764 builtin/branch.c:786 builtin/branch.c:807 #, c-format msgid "no such branch '%s'" msgstr "okΓ€nd gren \"%s\"" -#: builtin/branch.c:769 +#: builtin/branch.c:768 #, c-format msgid "branch '%s' does not exist" msgstr "grenen \"%s\" finns inte" -#: builtin/branch.c:781 +#: builtin/branch.c:780 msgid "too many branches to unset upstream" msgstr "fΓΆr mΓ₯nga grenar fΓΆr att ta bort uppstrΓΆm" -#: builtin/branch.c:785 +#: builtin/branch.c:784 msgid "could not unset upstream of HEAD when it does not point to any branch." msgstr "" "kunde inte ta bort uppstrΓΆm fΓΆr HEAD nΓ€r det inte pekar mot nΓ₯gon gren." -#: builtin/branch.c:791 +#: builtin/branch.c:790 #, c-format msgid "Branch '%s' has no upstream information" msgstr "Grenen \"%s\" har ingen uppstrΓΆmsinformation" -#: builtin/branch.c:805 +#: builtin/branch.c:804 msgid "it does not make sense to create 'HEAD' manually" msgstr "kan inte skapa \"HEAD\" manuellt" -#: builtin/branch.c:811 +#: builtin/branch.c:810 msgid "-a and -r options to 'git branch' do not make sense with a branch name" msgstr "" "flaggorna -a och -r pΓ₯ \"git branch\" kan inte anges tillsammans med ett " "grennamn" -#: builtin/branch.c:814 +#: builtin/branch.c:813 #, c-format msgid "" "The --set-upstream flag is deprecated and will be removed. Consider using --" @@ -3750,7 +3902,7 @@ msgstr "" "Flaggan --set-upstream rekommenderas ej och kommer tas bort. AnvΓ€nd --track " "eller --set-upstream-to\n" -#: builtin/branch.c:831 +#: builtin/branch.c:830 #, c-format msgid "" "\n" @@ -3761,12 +3913,12 @@ msgstr "" "Om du vill gΓΆra sΓ₯ att \"%s\" spΓ₯rar \"%s\" gΓΆr du sΓ₯ hΓ€r:\n" "\n" -#: builtin/branch.c:832 +#: builtin/branch.c:831 #, c-format msgid " git branch -d %s\n" msgstr " git branch -d %s\n" -#: builtin/branch.c:833 +#: builtin/branch.c:832 #, c-format msgid " git branch --set-upstream-to %s\n" msgstr " git branch --set-upstream-to %s\n" @@ -3861,7 +4013,7 @@ msgstr "visa alla attribut som satts pΓ₯ filen" msgid "use .gitattributes only from the index" msgstr "anvΓ€nd .gitattributes endast frΓ₯n indexet" -#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:96 +#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:97 msgid "read file names from stdin" msgstr "lΓ€s filnamn frΓ₯n standard in" @@ -3869,7 +4021,7 @@ msgstr "lΓ€s filnamn frΓ₯n standard in" msgid "terminate input and output records by a NUL character" msgstr "avsluta in- och utdataposter med NUL-tecken" -#: builtin/check-ignore.c:18 builtin/checkout.c:1134 builtin/gc.c:325 +#: builtin/check-ignore.c:18 builtin/checkout.c:1136 builtin/gc.c:325 msgid "suppress progress reporting" msgstr "undertryck fΓΆrloppsrapportering" @@ -3922,49 +4074,53 @@ msgstr "kunde inte tolka kontakt: %s" msgid "no contacts specified" msgstr "inga kontakter angavs" -#: builtin/checkout-index.c:126 +#: builtin/checkout-index.c:127 msgid "git checkout-index [<options>] [--] [<file>...]" msgstr "git checkout-index [<flaggor>] [--] [<fil>...]" -#: builtin/checkout-index.c:188 +#: builtin/checkout-index.c:144 +msgid "stage should be between 1 and 3 or all" +msgstr "etapp mΓ₯ste vara mellan 1 och 3 eller \"all\"" + +#: builtin/checkout-index.c:160 msgid "check out all files in the index" msgstr "checka ut alla filer i indexet" -#: builtin/checkout-index.c:189 +#: builtin/checkout-index.c:161 msgid "force overwrite of existing files" msgstr "tvinga ΓΆverskrivning av befintliga filer" -#: builtin/checkout-index.c:191 +#: builtin/checkout-index.c:163 msgid "no warning for existing files and files not in index" msgstr "ingen varning fΓΆr existerande filer och filer ej i indexet" -#: builtin/checkout-index.c:193 +#: builtin/checkout-index.c:165 msgid "don't checkout new files" msgstr "checka inte ut nya filer" -#: builtin/checkout-index.c:195 +#: builtin/checkout-index.c:167 msgid "update stat information in the index file" msgstr "uppdatera stat-information i indexfilen" -#: builtin/checkout-index.c:201 +#: builtin/checkout-index.c:171 msgid "read list of paths from the standard input" msgstr "lΓ€s listan ΓΆver sΓΆkvΓ€gar frΓ₯n standard in" -#: builtin/checkout-index.c:203 +#: builtin/checkout-index.c:173 msgid "write the content to temporary files" msgstr "skriv innehΓ₯ll till temporΓ€ra filer" -#: builtin/checkout-index.c:204 builtin/column.c:30 +#: builtin/checkout-index.c:174 builtin/column.c:30 +#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169 #: builtin/submodule--helper.c:172 builtin/submodule--helper.c:175 -#: builtin/submodule--helper.c:178 builtin/submodule--helper.c:181 msgid "string" msgstr "strΓ€ng" -#: builtin/checkout-index.c:205 +#: builtin/checkout-index.c:175 msgid "when creating files, prepend <string>" msgstr "nΓ€r filer skapas, lΓ€gg till <strΓ€ng> fΓΆrst" -#: builtin/checkout-index.c:208 +#: builtin/checkout-index.c:177 msgid "copy out the files from named stage" msgstr "kopiera ut filer frΓ₯n namngiven etapp" @@ -4044,37 +4200,41 @@ msgstr "Kan inte skapa referenslogg fΓΆr \"%s\": %s\n" msgid "HEAD is now at" msgstr "HEAD Γ€r nu pΓ₯" -#: builtin/checkout.c:668 +#: builtin/checkout.c:665 builtin/clone.c:659 +msgid "unable to update HEAD" +msgstr "kan inte uppdatera HEAD" + +#: builtin/checkout.c:669 #, c-format msgid "Reset branch '%s'\n" msgstr "Γ
terstΓ€ll gren \"%s\"\n" -#: builtin/checkout.c:671 +#: builtin/checkout.c:672 #, c-format msgid "Already on '%s'\n" msgstr "Redan pΓ₯ \"%s\"\n" -#: builtin/checkout.c:675 +#: builtin/checkout.c:676 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "VΓ€xlade till och nollstΓ€llde grenen \"%s\"\n" -#: builtin/checkout.c:677 builtin/checkout.c:1066 +#: builtin/checkout.c:678 builtin/checkout.c:1068 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "VΓ€xlade till en ny gren \"%s\"\n" -#: builtin/checkout.c:679 +#: builtin/checkout.c:680 #, c-format msgid "Switched to branch '%s'\n" msgstr "VΓ€xlade till grenen \"%s\"\n" -#: builtin/checkout.c:731 +#: builtin/checkout.c:732 #, c-format msgid " ... and %d more.\n" msgstr " ... och %d till.\n" -#: builtin/checkout.c:737 +#: builtin/checkout.c:738 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -4097,7 +4257,7 @@ msgstr[1] "" "\n" "%s\n" -#: builtin/checkout.c:756 +#: builtin/checkout.c:757 #, c-format msgid "" "If you want to keep it by creating a new branch, this may be a good time\n" @@ -4124,151 +4284,151 @@ msgstr[1] "" " git branch <nytt_grennamn> %s\n" "\n" -#: builtin/checkout.c:792 +#: builtin/checkout.c:793 msgid "internal error in revision walk" msgstr "internt fel vid genomgΓ₯ng av revisioner (revision walk)" -#: builtin/checkout.c:796 +#: builtin/checkout.c:797 msgid "Previous HEAD position was" msgstr "Tidigare position fΓΆr HEAD var" -#: builtin/checkout.c:823 builtin/checkout.c:1061 +#: builtin/checkout.c:824 builtin/checkout.c:1063 msgid "You are on a branch yet to be born" msgstr "Du Γ€r pΓ₯ en gren som Γ€nnu inte Γ€r fΓΆdd" -#: builtin/checkout.c:968 +#: builtin/checkout.c:969 #, c-format msgid "only one reference expected, %d given." msgstr "endast en referens fΓΆrvΓ€ntades, %d gavs." -#: builtin/checkout.c:1007 builtin/worktree.c:213 +#: builtin/checkout.c:1009 builtin/worktree.c:211 #, c-format msgid "invalid reference: %s" msgstr "felaktig referens: %s" -#: builtin/checkout.c:1036 +#: builtin/checkout.c:1038 #, c-format msgid "reference is not a tree: %s" msgstr "referensen Γ€r inte ett trΓ€d: %s" -#: builtin/checkout.c:1075 +#: builtin/checkout.c:1077 msgid "paths cannot be used with switching branches" msgstr "sΓΆkvΓ€gar kan inte anvΓ€ndas vid byte av gren" -#: builtin/checkout.c:1078 builtin/checkout.c:1082 +#: builtin/checkout.c:1080 builtin/checkout.c:1084 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "\"%s\" kan inte anvΓ€ndas vid byte av gren" -#: builtin/checkout.c:1086 builtin/checkout.c:1089 builtin/checkout.c:1094 -#: builtin/checkout.c:1097 +#: builtin/checkout.c:1088 builtin/checkout.c:1091 builtin/checkout.c:1096 +#: builtin/checkout.c:1099 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "\"%s\" kan inte anvΓ€ndas med \"%s\"" -#: builtin/checkout.c:1102 +#: builtin/checkout.c:1104 #, c-format msgid "Cannot switch branch to a non-commit '%s'" msgstr "Kan inte vΓ€xla gren till icke-incheckningen \"%s\"" -#: builtin/checkout.c:1135 builtin/checkout.c:1137 builtin/clone.c:83 -#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:320 -#: builtin/worktree.c:322 +#: builtin/checkout.c:1137 builtin/checkout.c:1139 builtin/clone.c:84 +#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:318 +#: builtin/worktree.c:320 msgid "branch" msgstr "gren" -#: builtin/checkout.c:1136 +#: builtin/checkout.c:1138 msgid "create and checkout a new branch" msgstr "skapa och checka ut en ny gren" -#: builtin/checkout.c:1138 +#: builtin/checkout.c:1140 msgid "create/reset and checkout a branch" msgstr "skapa/nollstΓ€ll och checka ut en gren" -#: builtin/checkout.c:1139 +#: builtin/checkout.c:1141 msgid "create reflog for new branch" msgstr "skapa reflogg fΓΆr ny gren" -#: builtin/checkout.c:1140 +#: builtin/checkout.c:1142 msgid "detach the HEAD at named commit" msgstr "koppla frΓ₯n HEAD vid namngiven incheckning" -#: builtin/checkout.c:1141 +#: builtin/checkout.c:1143 msgid "set upstream info for new branch" msgstr "sΓ€tt uppstrΓΆmsinformation fΓΆr ny gren" -#: builtin/checkout.c:1143 +#: builtin/checkout.c:1145 msgid "new-branch" msgstr "ny-gren" -#: builtin/checkout.c:1143 +#: builtin/checkout.c:1145 msgid "new unparented branch" msgstr "ny gren utan fΓΆrΓ€lder" -#: builtin/checkout.c:1144 +#: builtin/checkout.c:1146 msgid "checkout our version for unmerged files" msgstr "checka ut vΓ₯r version fΓΆr ej sammanslagna filer" -#: builtin/checkout.c:1146 +#: builtin/checkout.c:1148 msgid "checkout their version for unmerged files" msgstr "checka ut deras version fΓΆr ej sammanslagna filer" -#: builtin/checkout.c:1148 +#: builtin/checkout.c:1150 msgid "force checkout (throw away local modifications)" msgstr "tvinga utcheckning (kasta bort lokala Γ€ndringar)" -#: builtin/checkout.c:1149 +#: builtin/checkout.c:1151 msgid "perform a 3-way merge with the new branch" msgstr "utfΓΆr en 3-vΓ€gssammanslagning fΓΆr den nya grenen" -#: builtin/checkout.c:1150 builtin/merge.c:227 +#: builtin/checkout.c:1152 builtin/merge.c:227 msgid "update ignored files (default)" msgstr "uppdatera ignorerade filer (standard)" -#: builtin/checkout.c:1151 builtin/log.c:1266 parse-options.h:250 +#: builtin/checkout.c:1153 builtin/log.c:1269 parse-options.h:250 msgid "style" msgstr "stil" -#: builtin/checkout.c:1152 +#: builtin/checkout.c:1154 msgid "conflict style (merge or diff3)" msgstr "konfliktstil (merge eller diff3)" -#: builtin/checkout.c:1155 +#: builtin/checkout.c:1157 msgid "do not limit pathspecs to sparse entries only" msgstr "begrΓ€nsa inte sΓΆkvΓ€gar till endast glesa poster" -#: builtin/checkout.c:1157 +#: builtin/checkout.c:1159 msgid "second guess 'git checkout <no-such-branch>'" msgstr "fΓΆrutspΓ₯ \"git checkout <gren-saknas>\"" -#: builtin/checkout.c:1159 +#: builtin/checkout.c:1161 msgid "do not check if another worktree is holding the given ref" msgstr "" "kontrollera inte om en annan arbetskatalog hΓ₯ller den angivna referensen" -#: builtin/checkout.c:1160 builtin/clone.c:57 builtin/fetch.c:112 -#: builtin/merge.c:224 builtin/pull.c:109 builtin/push.c:558 +#: builtin/checkout.c:1162 builtin/clone.c:58 builtin/fetch.c:116 +#: builtin/merge.c:224 builtin/pull.c:113 builtin/push.c:526 #: builtin/send-pack.c:168 msgid "force progress reporting" msgstr "tvinga fΓΆrloppsrapportering" -#: builtin/checkout.c:1191 +#: builtin/checkout.c:1193 msgid "-b, -B and --orphan are mutually exclusive" msgstr "-b, -B och --orphan Γ€r ΓΆmsesidigt uteslutande" -#: builtin/checkout.c:1208 +#: builtin/checkout.c:1210 msgid "--track needs a branch name" msgstr "--track behΓΆver ett namn pΓ₯ en gren" -#: builtin/checkout.c:1213 +#: builtin/checkout.c:1215 msgid "Missing branch name; try -b" msgstr "Grennamn saknas; fΓΆrsΓΆk med -b" -#: builtin/checkout.c:1249 +#: builtin/checkout.c:1251 msgid "invalid path specification" msgstr "felaktig sΓΆkvΓ€gsangivelse" -#: builtin/checkout.c:1256 +#: builtin/checkout.c:1258 #, c-format msgid "" "Cannot update paths and switch to branch '%s' at the same time.\n" @@ -4277,12 +4437,12 @@ msgstr "" "Kan inte uppdatera sΓΆkvΓ€gar och vΓ€xla till grenen \"%s\" samtidigt.\n" "Ville du checka ut \"%s\" som inte kan lΓΆsas som en utcheckning?" -#: builtin/checkout.c:1261 +#: builtin/checkout.c:1263 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "git checkout: --detach tar inte en sΓΆkvΓ€g som argument \"%s\"" -#: builtin/checkout.c:1265 +#: builtin/checkout.c:1267 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." @@ -4322,7 +4482,7 @@ msgstr "Skulle hoppa ΓΆver arkivet %s\n" msgid "failed to remove %s" msgstr "misslyckades ta bort %s" -#: builtin/clean.c:315 +#: builtin/clean.c:291 msgid "" "Prompt help:\n" "1 - select a numbered item\n" @@ -4334,7 +4494,7 @@ msgstr "" "foo - markera post baserad pΓ₯ unikt prefix\n" " - (tomt) markera ingenting" -#: builtin/clean.c:319 +#: builtin/clean.c:295 msgid "" "Prompt help:\n" "1 - select a single item\n" @@ -4354,36 +4514,36 @@ msgstr "" "* - vΓ€lj alla poster\n" " - (tomt) avsluta markering" -#: builtin/clean.c:535 +#: builtin/clean.c:511 #, c-format msgid "Huh (%s)?" msgstr "VadΓ₯ (%s)?" -#: builtin/clean.c:677 +#: builtin/clean.c:653 #, c-format msgid "Input ignore patterns>> " msgstr "Ange ignoreringsmΓΆnster>>" -#: builtin/clean.c:714 +#: builtin/clean.c:690 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "VARNING: Hittar inte poster som motsvarar: %s" -#: builtin/clean.c:735 +#: builtin/clean.c:711 msgid "Select items to delete" msgstr "VΓ€lj poster att ta bort" #. TRANSLATORS: Make sure to keep [y/N] as is -#: builtin/clean.c:776 +#: builtin/clean.c:752 #, c-format msgid "Remove %s [y/N]? " msgstr "Ta bort %s [Y=ja / N=nej]?" -#: builtin/clean.c:801 +#: builtin/clean.c:777 msgid "Bye." msgstr "Hej dΓ₯." -#: builtin/clean.c:809 +#: builtin/clean.c:785 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -4401,62 +4561,62 @@ msgstr "" "help - denna skΓ€rm\n" "? - hjΓ€lp fΓΆr kommandoval" -#: builtin/clean.c:836 +#: builtin/clean.c:812 msgid "*** Commands ***" msgstr "*** Kommandon ***" -#: builtin/clean.c:837 +#: builtin/clean.c:813 msgid "What now" msgstr "Vad nu" -#: builtin/clean.c:845 +#: builtin/clean.c:821 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "Skulle ta bort fΓΆljande post:" msgstr[1] "Skulle ta bort fΓΆljande poster:" -#: builtin/clean.c:862 +#: builtin/clean.c:838 msgid "No more files to clean, exiting." msgstr "Inga fler filer att stΓ€da, avslutar." -#: builtin/clean.c:893 +#: builtin/clean.c:869 msgid "do not print names of files removed" msgstr "skriv inte ut namn pΓ₯ borttagna filer" -#: builtin/clean.c:895 +#: builtin/clean.c:871 msgid "force" msgstr "tvinga" -#: builtin/clean.c:896 +#: builtin/clean.c:872 msgid "interactive cleaning" msgstr "stΓ€da interaktivt" -#: builtin/clean.c:898 +#: builtin/clean.c:874 msgid "remove whole directories" msgstr "ta bort hela kataloger" -#: builtin/clean.c:899 builtin/describe.c:407 builtin/grep.c:709 -#: builtin/ls-files.c:443 builtin/name-rev.c:307 builtin/show-ref.c:182 +#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:722 +#: builtin/ls-files.c:456 builtin/name-rev.c:307 builtin/show-ref.c:182 msgid "pattern" msgstr "mΓΆnster" -#: builtin/clean.c:900 +#: builtin/clean.c:876 msgid "add <pattern> to ignore rules" msgstr "lΓ€gg till <mΓΆnster> till ignoreringsregler" -#: builtin/clean.c:901 +#: builtin/clean.c:877 msgid "remove ignored files, too" msgstr "ta Γ€ven bort ignorerade filer" -#: builtin/clean.c:903 +#: builtin/clean.c:879 msgid "remove only ignored files" msgstr "ta endast bort ignorerade filer" -#: builtin/clean.c:921 +#: builtin/clean.c:897 msgid "-x and -X cannot be used together" msgstr "-x och -X kan inte anvΓ€ndas samtidigt" -#: builtin/clean.c:925 +#: builtin/clean.c:901 msgid "" "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to " "clean" @@ -4464,7 +4624,7 @@ msgstr "" "clean.requireForce satt till true, men varken -i, -n eller -f angavs; vΓ€grar " "stΓ€da" -#: builtin/clean.c:928 +#: builtin/clean.c:904 msgid "" "clean.requireForce defaults to true and neither -i, -n, nor -f given; " "refusing to clean" @@ -4476,146 +4636,162 @@ msgstr "" msgid "git clone [<options>] [--] <repo> [<dir>]" msgstr "git clone [<flaggor>] [--] <arkiv> [<kat>]" -#: builtin/clone.c:59 +#: builtin/clone.c:60 msgid "don't create a checkout" msgstr "skapa inte nΓ₯gon utcheckning" -#: builtin/clone.c:60 builtin/clone.c:62 builtin/init-db.c:469 +#: builtin/clone.c:61 builtin/clone.c:63 builtin/init-db.c:469 msgid "create a bare repository" msgstr "skapa ett naket (\"bare\") arkiv" -#: builtin/clone.c:64 +#: builtin/clone.c:65 msgid "create a mirror repository (implies bare)" msgstr "skapa ett spegelarkiv (implicerar \"bare\")" -#: builtin/clone.c:66 +#: builtin/clone.c:67 msgid "to clone from a local repository" msgstr "fΓΆr att klona frΓ₯n ett lokalt arkiv" -#: builtin/clone.c:68 +#: builtin/clone.c:69 msgid "don't use local hardlinks, always copy" msgstr "skapa inte lokala hΓ₯rda lΓ€nkar, kopiera alltid" -#: builtin/clone.c:70 +#: builtin/clone.c:71 msgid "setup as shared repository" msgstr "skapa som ett delat arkiv" -#: builtin/clone.c:72 builtin/clone.c:74 +#: builtin/clone.c:73 builtin/clone.c:75 msgid "initialize submodules in the clone" msgstr "initiera undermoduler i klonen" -#: builtin/clone.c:75 builtin/init-db.c:466 +#: builtin/clone.c:76 builtin/init-db.c:466 msgid "template-directory" msgstr "mallkatalog" -#: builtin/clone.c:76 builtin/init-db.c:467 +#: builtin/clone.c:77 builtin/init-db.c:467 msgid "directory from which templates will be used" msgstr "katalog att anvΓ€nda mallar frΓ₯n" -#: builtin/clone.c:78 builtin/submodule--helper.c:179 +#: builtin/clone.c:79 builtin/submodule--helper.c:173 msgid "reference repository" msgstr "referensarkiv" -#: builtin/clone.c:80 +#: builtin/clone.c:81 msgid "use --reference only while cloning" msgstr "anvΓ€nd --reference endast under kloningen" -#: builtin/clone.c:81 builtin/column.c:26 builtin/merge-file.c:44 +#: builtin/clone.c:82 builtin/column.c:26 builtin/merge-file.c:44 msgid "name" msgstr "namn" -#: builtin/clone.c:82 +#: builtin/clone.c:83 msgid "use <name> instead of 'origin' to track upstream" msgstr "anvΓ€nd <namn> istΓ€llet fΓΆr \"origin\" fΓΆr att spΓ₯ra uppstrΓΆms" -#: builtin/clone.c:84 +#: builtin/clone.c:85 msgid "checkout <branch> instead of the remote's HEAD" msgstr "checka ut <gren> istΓ€llet fΓΆr fjΓ€rrens HEAD" -#: builtin/clone.c:86 +#: builtin/clone.c:87 msgid "path to git-upload-pack on the remote" msgstr "sΓΆkvΓ€g till git-upload-pack pΓ₯ fjΓ€rren" -#: builtin/clone.c:87 builtin/fetch.c:113 builtin/grep.c:654 -#: builtin/pull.c:186 +#: builtin/clone.c:88 builtin/fetch.c:117 builtin/grep.c:665 +#: builtin/pull.c:193 msgid "depth" msgstr "djup" -#: builtin/clone.c:88 +#: builtin/clone.c:89 msgid "create a shallow clone of that depth" msgstr "skapa en grund klon pΓ₯ detta djup" -#: builtin/clone.c:90 +#: builtin/clone.c:91 msgid "clone only one branch, HEAD or --branch" msgstr "klona endast en gren, HEAD eller --branch" -#: builtin/clone.c:91 builtin/init-db.c:475 +#: builtin/clone.c:92 builtin/init-db.c:475 msgid "gitdir" msgstr "gitkat" -#: builtin/clone.c:92 builtin/init-db.c:476 +#: builtin/clone.c:93 builtin/init-db.c:476 msgid "separate git dir from working tree" msgstr "separera gitkatalogen frΓ₯n arbetskatalogen" -#: builtin/clone.c:93 +#: builtin/clone.c:94 msgid "key=value" msgstr "nyckel=vΓ€rde" -#: builtin/clone.c:94 +#: builtin/clone.c:95 msgid "set config inside the new repository" msgstr "stΓ€ll in konfiguration i det nya arkivet" -#: builtin/clone.c:300 +#: builtin/clone.c:96 builtin/fetch.c:131 builtin/push.c:536 +msgid "use IPv4 addresses only" +msgstr "anvΓ€nd endast IPv4-adresser" + +#: builtin/clone.c:98 builtin/fetch.c:133 builtin/push.c:538 +msgid "use IPv6 addresses only" +msgstr "anvΓ€nd endast IPv6-adresser" + +#: builtin/clone.c:239 +msgid "" +"No directory name could be guessed.\n" +"Please specify a directory on the command line" +msgstr "" +"Kunde inte gissa katalognamn.\n" +"Ange en katalog pΓ₯ kommandoraden" + +#: builtin/clone.c:305 #, c-format msgid "reference repository '%s' as a linked checkout is not supported yet." msgstr "referensarkivet \"%s\" som en lΓ€nkad utcheckning stΓΆds inte Γ€nnu." -#: builtin/clone.c:302 +#: builtin/clone.c:307 #, c-format msgid "reference repository '%s' is not a local repository." msgstr "referensarkivet \"%s\" Γ€r inte ett lokalt arkiv." -#: builtin/clone.c:307 +#: builtin/clone.c:312 #, c-format msgid "reference repository '%s' is shallow" msgstr "referensarkivet \"%s\" Γ€r grunt" -#: builtin/clone.c:310 +#: builtin/clone.c:315 #, c-format msgid "reference repository '%s' is grafted" msgstr "referensarkivet \"%s\" Γ€r ympat" -#: builtin/clone.c:375 builtin/diff.c:84 +#: builtin/clone.c:380 builtin/diff.c:84 #, c-format msgid "failed to stat '%s'" msgstr "misslyckades ta status pΓ₯ \"%s\"" -#: builtin/clone.c:377 +#: builtin/clone.c:382 #, c-format msgid "%s exists and is not a directory" msgstr "%s finns och Γ€r ingen katalog" -#: builtin/clone.c:391 +#: builtin/clone.c:396 #, c-format msgid "failed to stat %s\n" msgstr "misslyckades ta status pΓ₯ %s\n" -#: builtin/clone.c:413 +#: builtin/clone.c:418 #, c-format msgid "failed to create link '%s'" msgstr "misslyckades skapa lΓ€nken \"%s\"" -#: builtin/clone.c:417 +#: builtin/clone.c:422 #, c-format msgid "failed to copy file to '%s'" msgstr "misslyckades kopiera filen till \"%s\"" -#: builtin/clone.c:442 builtin/clone.c:626 +#: builtin/clone.c:447 builtin/clone.c:631 #, c-format msgid "done.\n" msgstr "klart.\n" -#: builtin/clone.c:454 +#: builtin/clone.c:459 msgid "" "Clone succeeded, but checkout failed.\n" "You can inspect what was checked out with 'git status'\n" @@ -4625,120 +4801,129 @@ msgstr "" "Du kan inspektera det som checkades ut med \"git status\"\n" "och fΓΆrsΓΆka checka ut igen med \"git checkout -f HEAD\"\n" -#: builtin/clone.c:531 +#: builtin/clone.c:536 #, c-format msgid "Could not find remote branch %s to clone." msgstr "Kunde inte hitta fjΓ€rrgrenen %s fΓΆr att klona." # Vague original, not networking-related, but rather related to the actual # objects downloaded. -#: builtin/clone.c:621 +#: builtin/clone.c:626 #, c-format msgid "Checking connectivity... " msgstr "Kontrollerar om vi fick alla objekt..." -#: builtin/clone.c:624 +#: builtin/clone.c:629 msgid "remote did not send all necessary objects" msgstr "fjΓ€rren sΓ€nde inte alla nΓΆdvΓ€ndiga objekt" -#: builtin/clone.c:688 +#: builtin/clone.c:647 +#, c-format +msgid "unable to update %s" +msgstr "kan inte uppdatera %s" + +#: builtin/clone.c:696 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "" "HEAD hos fjΓ€rren pekar pΓ₯ en obefintlig referens, kan inte checka ut.\n" -#: builtin/clone.c:719 +#: builtin/clone.c:727 msgid "unable to checkout working tree" msgstr "kunde inte checka ut arbetskatalogen" -#: builtin/clone.c:808 +#: builtin/clone.c:753 +msgid "unable to write parameters to config file" +msgstr "kunde inte skriva parametrar till konfigurationsfilen" + +#: builtin/clone.c:816 msgid "cannot repack to clean up" msgstr "kan inte packa om fΓΆr att stΓ€da upp" -#: builtin/clone.c:810 +#: builtin/clone.c:818 msgid "cannot unlink temporary alternates file" msgstr "kunde inte ta bort temporΓ€r \"alternates\"-fil" -#: builtin/clone.c:842 +#: builtin/clone.c:850 msgid "Too many arguments." msgstr "FΓΆr mΓ₯nga argument." -#: builtin/clone.c:846 +#: builtin/clone.c:854 msgid "You must specify a repository to clone." msgstr "Du mΓ₯ste ange ett arkiv att klona." -#: builtin/clone.c:857 +#: builtin/clone.c:865 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "flaggorna --bare och --origin %s Γ€r inkompatibla." -#: builtin/clone.c:860 +#: builtin/clone.c:868 msgid "--bare and --separate-git-dir are incompatible." msgstr "flaggorna --bare och --separate-git-dir Γ€r inkompatibla." -#: builtin/clone.c:873 +#: builtin/clone.c:881 #, c-format msgid "repository '%s' does not exist" msgstr "arkivet \"%s\" finns inte" -#: builtin/clone.c:879 builtin/fetch.c:1166 +#: builtin/clone.c:887 builtin/fetch.c:1174 #, c-format msgid "depth %s is not a positive number" msgstr "djupet %s Γ€r inte ett positivt tal" -#: builtin/clone.c:889 +#: builtin/clone.c:897 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "destinationssΓΆkvΓ€gen \"%s\" finns redan och Γ€r inte en tom katalog." -#: builtin/clone.c:899 +#: builtin/clone.c:907 #, c-format msgid "working tree '%s' already exists." msgstr "arbetstrΓ€det \"%s\" finns redan." -#: builtin/clone.c:914 builtin/clone.c:925 builtin/submodule--helper.c:224 -#: builtin/worktree.c:221 builtin/worktree.c:248 +#: builtin/clone.c:922 builtin/clone.c:933 builtin/submodule--helper.c:218 +#: builtin/worktree.c:219 builtin/worktree.c:246 #, c-format msgid "could not create leading directories of '%s'" msgstr "kunde inte skapa inledande kataloger fΓΆr \"%s\"" -#: builtin/clone.c:917 +#: builtin/clone.c:925 #, c-format msgid "could not create work tree dir '%s'" msgstr "kunde inte skapa arbetskatalogen \"%s\"" -#: builtin/clone.c:935 +#: builtin/clone.c:943 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "Klonar till ett naket arkiv \"%s\"...\n" -#: builtin/clone.c:937 +#: builtin/clone.c:945 #, c-format msgid "Cloning into '%s'...\n" msgstr "Klonar till \"%s\"...\n" -#: builtin/clone.c:975 +#: builtin/clone.c:984 msgid "--depth is ignored in local clones; use file:// instead." msgstr "--depth ignoreras i lokala kloningar; anvΓ€nd file:// istΓ€llet" -#: builtin/clone.c:978 +#: builtin/clone.c:987 msgid "source repository is shallow, ignoring --local" msgstr "kΓ€llarkivet Γ€r grunt, ignorerar --local" -#: builtin/clone.c:983 +#: builtin/clone.c:992 msgid "--local is ignored" msgstr "--local ignoreras" -#: builtin/clone.c:987 +#: builtin/clone.c:996 #, c-format msgid "Don't know how to clone %s" msgstr "Vet inte hur man klonar %s" -#: builtin/clone.c:1036 builtin/clone.c:1044 +#: builtin/clone.c:1045 builtin/clone.c:1053 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "FjΓ€rrgrenen %s hittades inte i uppstrΓΆmsarkivet %s" -#: builtin/clone.c:1047 +#: builtin/clone.c:1056 msgid "You appear to have cloned an empty repository." msgstr "Du verkar ha klonat ett tomt arkiv." @@ -4950,7 +5135,7 @@ msgstr "" msgid "could not lookup commit %s" msgstr "kunde inte slΓ₯ upp incheckningen %s" -#: builtin/commit.c:702 builtin/shortlog.c:273 +#: builtin/commit.c:702 builtin/shortlog.c:285 #, c-format msgid "(reading log message from standard input)\n" msgstr "(lΓ€ser loggmeddelande frΓ₯n standard in)\n" @@ -5136,8 +5321,8 @@ msgstr "visa koncis status" msgid "show branch information" msgstr "visa information om gren" -#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:544 -#: builtin/worktree.c:423 +#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:512 +#: builtin/worktree.c:430 msgid "machine-readable output" msgstr "maskinlΓ€sbar utdata" @@ -5226,8 +5411,8 @@ msgstr "datum" msgid "override date for commit" msgstr "ΓΆverstyr datum fΓΆr incheckningen" -#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:392 -#: builtin/notes.c:555 builtin/tag.c:349 +#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:395 +#: builtin/notes.c:558 builtin/tag.c:349 msgid "message" msgstr "meddelande" @@ -5263,7 +5448,7 @@ msgstr "" msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "jag Γ€r nu fΓΆrfattare av incheckningen (anvΓ€nds med -C/-c/--amend)" -#: builtin/commit.c:1588 builtin/log.c:1216 builtin/revert.c:86 +#: builtin/commit.c:1588 builtin/log.c:1219 builtin/revert.c:86 msgid "add Signed-off-by:" msgstr "lΓ€gg till Signed-off-by:" @@ -5287,7 +5472,7 @@ msgstr "hur blanksteg och #kommentarer skall tas bort frΓ₯n meddelande" msgid "include status in commit message template" msgstr "inkludera status i mallen fΓΆr incheckningsmeddelandet" -#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:156 +#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:160 #: builtin/revert.c:93 msgid "GPG sign commit" msgstr "GPG-signera incheckning" @@ -5379,139 +5564,143 @@ msgstr "" "att kvoten inte har ΓΆverskridits, och kΓΆr sedan\n" "\"git reset HEAD\" fΓΆr att Γ₯terstΓ€lla." -#: builtin/config.c:8 +#: builtin/config.c:9 msgid "git config [<options>]" msgstr "git config [<flaggor>]" -#: builtin/config.c:54 +#: builtin/config.c:56 msgid "Config file location" msgstr "Konfigurationsfilens plats" -#: builtin/config.c:55 +#: builtin/config.c:57 msgid "use global config file" msgstr "anvΓ€nd global konfigurationsfil" -#: builtin/config.c:56 +#: builtin/config.c:58 msgid "use system config file" msgstr "anvΓ€nd systemets konfigurationsfil" -#: builtin/config.c:57 +#: builtin/config.c:59 msgid "use repository config file" msgstr "anvΓ€nd arkivets konfigurationsfil" -#: builtin/config.c:58 +#: builtin/config.c:60 msgid "use given config file" msgstr "anvΓ€nd angiven konfigurationsfil" -#: builtin/config.c:59 +#: builtin/config.c:61 msgid "blob-id" msgstr "blob-id" -#: builtin/config.c:59 +#: builtin/config.c:61 msgid "read config from given blob object" msgstr "lΓ€s konfiguration frΓ₯n givet blob-objekt" -#: builtin/config.c:60 +#: builtin/config.c:62 msgid "Action" msgstr "Γ
tgΓ€rd" -#: builtin/config.c:61 +#: builtin/config.c:63 msgid "get value: name [value-regex]" msgstr "hΓ€mta vΓ€rde: namn [vΓ€rde-reguttr]" -#: builtin/config.c:62 +#: builtin/config.c:64 msgid "get all values: key [value-regex]" msgstr "hΓ€mta alla vΓ€rden: nyckel [vΓ€rde-reguttr]" -#: builtin/config.c:63 +#: builtin/config.c:65 msgid "get values for regexp: name-regex [value-regex]" msgstr "hΓ€mta vΓ€rden fΓΆr reguttr: namn-reguttr [vΓ€rde-reguttr]" -#: builtin/config.c:64 +#: builtin/config.c:66 msgid "get value specific for the URL: section[.var] URL" msgstr "hΓ€mta vΓ€rde specifikt URL:en: sektion[.var] URL" -#: builtin/config.c:65 +#: builtin/config.c:67 msgid "replace all matching variables: name value [value_regex]" msgstr "ersΓ€tt alla motsvarande variabler: namn vΓ€rde [vΓ€rde-reguttr]" -#: builtin/config.c:66 +#: builtin/config.c:68 msgid "add a new variable: name value" msgstr "lΓ€gg till en ny variabel: namn vΓ€rde" -#: builtin/config.c:67 +#: builtin/config.c:69 msgid "remove a variable: name [value-regex]" msgstr "ta bort en variabel: namn [vΓ€rde-reguttr]" -#: builtin/config.c:68 +#: builtin/config.c:70 msgid "remove all matches: name [value-regex]" msgstr "ta bort alla trΓ€ffar: namn [vΓ€rde-reguttr]" -#: builtin/config.c:69 +#: builtin/config.c:71 msgid "rename section: old-name new-name" msgstr "byt namn pΓ₯ sektion: gammalt-namn nytt-namn" -#: builtin/config.c:70 +#: builtin/config.c:72 msgid "remove a section: name" msgstr "ta bort en sektion: namn" -#: builtin/config.c:71 +#: builtin/config.c:73 msgid "list all" msgstr "visa alla" -#: builtin/config.c:72 +#: builtin/config.c:74 msgid "open an editor" msgstr "ΓΆppna textredigeringsprogram" -#: builtin/config.c:73 +#: builtin/config.c:75 msgid "find the color configured: slot [default]" msgstr "hitta den instΓ€llda fΓ€rgen: slot [default]" -#: builtin/config.c:74 +#: builtin/config.c:76 msgid "find the color setting: slot [stdout-is-tty]" msgstr "hitta fΓ€rginstΓ€llningen: slot [stdout-is-tty]" -#: builtin/config.c:75 +#: builtin/config.c:77 msgid "Type" msgstr "Typ" -#: builtin/config.c:76 +#: builtin/config.c:78 msgid "value is \"true\" or \"false\"" msgstr "vΓ€rdet Γ€r \"true\" eller \"false\"" -#: builtin/config.c:77 +#: builtin/config.c:79 msgid "value is decimal number" msgstr "vΓ€rdet Γ€r ett decimalt tal" -#: builtin/config.c:78 +#: builtin/config.c:80 msgid "value is --bool or --int" msgstr "vΓ€rdet Γ€r --bool eller --int" -#: builtin/config.c:79 +#: builtin/config.c:81 msgid "value is a path (file or directory name)" msgstr "vΓ€rdet Γ€r en sΓΆkvΓ€g (fil- eller katalognamn)" -#: builtin/config.c:80 +#: builtin/config.c:82 msgid "Other" msgstr "Andra" -#: builtin/config.c:81 +#: builtin/config.c:83 msgid "terminate values with NUL byte" msgstr "terminera vΓ€rden med NUL-byte" -#: builtin/config.c:82 +#: builtin/config.c:84 msgid "show variable names only" msgstr "visa endast variabelnamn" -#: builtin/config.c:83 +#: builtin/config.c:85 msgid "respect include directives on lookup" msgstr "respektera inkluderingsdirektiv vid uppslag" -#: builtin/config.c:303 +#: builtin/config.c:86 +msgid "show origin of config (file, standard input, blob, command line)" +msgstr "visa konfigurationskΓ€lla (fil, standard in, blob, kommandorad)" + +#: builtin/config.c:328 msgid "unable to parse default color value" msgstr "kan inte tolka standardfΓ€rgvΓ€rde" -#: builtin/config.c:441 +#: builtin/config.c:469 #, c-format msgid "" "# This is Git's per-user configuration file.\n" @@ -5526,7 +5715,7 @@ msgstr "" "#\tname = %s\n" "#\temail = %s\n" -#: builtin/config.c:575 +#: builtin/config.c:611 #, c-format msgid "cannot create configuration file %s" msgstr "kan inte skapa konfigurationsfilen \"%s\"" @@ -5776,161 +5965,165 @@ msgstr "git fetch --multiple [<flaggor>] [(<arkiv> | <grupp>)...]" msgid "git fetch --all [<options>]" msgstr "git fetch --all [<flaggor>]" -#: builtin/fetch.c:90 builtin/pull.c:162 +#: builtin/fetch.c:92 builtin/pull.c:166 msgid "fetch from all remotes" msgstr "hΓ€mta frΓ₯n alla fjΓ€rrar" -#: builtin/fetch.c:92 builtin/pull.c:165 +#: builtin/fetch.c:94 builtin/pull.c:169 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "lΓ€gg till i .git/FETCH_HEAD istΓ€llet fΓΆr att skriva ΓΆver" -#: builtin/fetch.c:94 builtin/pull.c:168 +#: builtin/fetch.c:96 builtin/pull.c:172 msgid "path to upload pack on remote end" msgstr "sΓΆkvΓ€g till upload pack pΓ₯ fjΓ€rren" -#: builtin/fetch.c:95 builtin/pull.c:170 +#: builtin/fetch.c:97 builtin/pull.c:174 msgid "force overwrite of local branch" msgstr "tvinga ΓΆverskrivning av lokal gren" -#: builtin/fetch.c:97 +#: builtin/fetch.c:99 msgid "fetch from multiple remotes" msgstr "hΓ€mta frΓ₯n flera fjΓ€rrar" -#: builtin/fetch.c:99 builtin/pull.c:172 +#: builtin/fetch.c:101 builtin/pull.c:176 msgid "fetch all tags and associated objects" msgstr "hΓ€mta alla taggar och associerade objekt" -#: builtin/fetch.c:101 +#: builtin/fetch.c:103 msgid "do not fetch all tags (--no-tags)" msgstr "hΓ€mta inte alla taggar (--no-tags)" -#: builtin/fetch.c:103 builtin/pull.c:175 +#: builtin/fetch.c:105 +msgid "number of submodules fetched in parallel" +msgstr "antal undermoduler som hΓ€mtas parallellt" + +#: builtin/fetch.c:107 builtin/pull.c:179 msgid "prune remote-tracking branches no longer on remote" msgstr "rensa fjΓ€rrspΓ₯rande grenar ej lΓ€ngre pΓ₯ fjΓ€rren" -#: builtin/fetch.c:104 builtin/pull.c:178 +#: builtin/fetch.c:108 builtin/pull.c:182 msgid "on-demand" msgstr "on-demand" -#: builtin/fetch.c:105 builtin/pull.c:179 +#: builtin/fetch.c:109 builtin/pull.c:183 msgid "control recursive fetching of submodules" msgstr "styr rekursiv hΓ€mtning av undermoduler" -#: builtin/fetch.c:109 builtin/pull.c:184 +#: builtin/fetch.c:113 builtin/pull.c:191 msgid "keep downloaded pack" msgstr "behΓ₯ll hΓ€mtade paket" -#: builtin/fetch.c:111 +#: builtin/fetch.c:115 msgid "allow updating of HEAD ref" msgstr "tillΓ₯t uppdatering av HEAD-referens" -#: builtin/fetch.c:114 builtin/pull.c:187 +#: builtin/fetch.c:118 builtin/pull.c:194 msgid "deepen history of shallow clone" msgstr "fΓΆrdjupa historik fΓΆr grund klon" -#: builtin/fetch.c:116 builtin/pull.c:190 +#: builtin/fetch.c:120 builtin/pull.c:197 msgid "convert to a complete repository" msgstr "konvertera till komplett arkiv" -#: builtin/fetch.c:118 builtin/log.c:1233 +#: builtin/fetch.c:122 builtin/log.c:1236 msgid "dir" msgstr "kat" -#: builtin/fetch.c:119 +#: builtin/fetch.c:123 msgid "prepend this to submodule path output" msgstr "lΓ€gg till i bΓΆrjan av undermodulens sΓΆkvΓ€gsutdata" -#: builtin/fetch.c:122 +#: builtin/fetch.c:126 msgid "default mode for recursion" msgstr "standardlΓ€ge fΓΆr rekursion" -#: builtin/fetch.c:124 builtin/pull.c:193 +#: builtin/fetch.c:128 builtin/pull.c:200 msgid "accept refs that update .git/shallow" msgstr "tar emot referenser som uppdaterar .git/shallow" -#: builtin/fetch.c:125 builtin/pull.c:195 +#: builtin/fetch.c:129 builtin/pull.c:202 msgid "refmap" msgstr "referenskarta" -#: builtin/fetch.c:126 builtin/pull.c:196 +#: builtin/fetch.c:130 builtin/pull.c:203 msgid "specify fetch refmap" msgstr "ange referenskarta fΓΆr \"fetch\"" -#: builtin/fetch.c:378 +#: builtin/fetch.c:386 msgid "Couldn't find remote ref HEAD" msgstr "Kunde inte hitta fjΓ€rr-referensen HEAD" -#: builtin/fetch.c:458 +#: builtin/fetch.c:466 #, c-format msgid "object %s not found" msgstr "objektet %s hittades inte" -#: builtin/fetch.c:463 +#: builtin/fetch.c:471 msgid "[up to date]" msgstr "[Γ jour]" -#: builtin/fetch.c:477 +#: builtin/fetch.c:485 #, c-format msgid "! %-*s %-*s -> %s (can't fetch in current branch)" msgstr "! %-*s %-*s -> %s (kan inte hΓ€mta i aktuell gren)" -#: builtin/fetch.c:478 builtin/fetch.c:566 +#: builtin/fetch.c:486 builtin/fetch.c:574 msgid "[rejected]" msgstr "[refuserad]" -#: builtin/fetch.c:489 +#: builtin/fetch.c:497 msgid "[tag update]" msgstr "[uppdaterad tagg]" -#: builtin/fetch.c:491 builtin/fetch.c:526 builtin/fetch.c:544 +#: builtin/fetch.c:499 builtin/fetch.c:534 builtin/fetch.c:552 msgid " (unable to update local ref)" msgstr " (kunde inte uppdatera lokal ref)" -#: builtin/fetch.c:509 +#: builtin/fetch.c:517 msgid "[new tag]" msgstr "[ny tagg]" -#: builtin/fetch.c:512 +#: builtin/fetch.c:520 msgid "[new branch]" msgstr "[ny gren]" -#: builtin/fetch.c:515 +#: builtin/fetch.c:523 msgid "[new ref]" msgstr "[ny ref]" -#: builtin/fetch.c:561 +#: builtin/fetch.c:569 msgid "unable to update local ref" msgstr "kunde inte uppdatera lokal ref" -#: builtin/fetch.c:561 +#: builtin/fetch.c:569 msgid "forced update" msgstr "tvingad uppdatering" -#: builtin/fetch.c:568 +#: builtin/fetch.c:576 msgid "(non-fast-forward)" msgstr "(ej snabbspolad)" -#: builtin/fetch.c:602 builtin/fetch.c:843 +#: builtin/fetch.c:610 builtin/fetch.c:851 #, c-format msgid "cannot open %s: %s\n" msgstr "kan inte ΓΆppna %s: %s\n" -#: builtin/fetch.c:611 +#: builtin/fetch.c:619 #, c-format msgid "%s did not send all necessary objects\n" msgstr "%s sΓ€nde inte alla nΓΆdvΓ€ndiga objekt\n" -#: builtin/fetch.c:629 +#: builtin/fetch.c:637 #, c-format msgid "reject %s because shallow roots are not allowed to be updated" msgstr "avvisa %s dΓ₯ grunda rΓΆtter inte kan uppdateras" -#: builtin/fetch.c:716 builtin/fetch.c:808 +#: builtin/fetch.c:724 builtin/fetch.c:816 #, c-format msgid "From %.*s\n" msgstr "FrΓ₯n %.*s\n" -#: builtin/fetch.c:727 +#: builtin/fetch.c:735 #, c-format msgid "" "some local refs could not be updated; try running\n" @@ -5939,55 +6132,55 @@ msgstr "" "vissa lokala referenser kunde inte uppdateras; testa att kΓΆra\n" " \"git remote prune %s\" fΓΆr att ta bort gamla grenar som stΓ₯r i konflikt" -#: builtin/fetch.c:779 +#: builtin/fetch.c:787 #, c-format msgid " (%s will become dangling)" msgstr " (%s kommer bli dinglande)" -#: builtin/fetch.c:780 +#: builtin/fetch.c:788 #, c-format msgid " (%s has become dangling)" msgstr " (%s har blivit dinglande)" -#: builtin/fetch.c:812 +#: builtin/fetch.c:820 msgid "[deleted]" msgstr "[borttagen]" -#: builtin/fetch.c:813 builtin/remote.c:1040 +#: builtin/fetch.c:821 builtin/remote.c:1025 msgid "(none)" msgstr "(ingen)" -#: builtin/fetch.c:833 +#: builtin/fetch.c:841 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "VΓ€grar hΓ€mta till aktuell gren %s i ett icke-naket arkiv" -#: builtin/fetch.c:852 +#: builtin/fetch.c:860 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "Flaggan \"%s\" och vΓ€rdet \"%s\" Γ€r inte giltigt fΓΆr %s" -#: builtin/fetch.c:855 +#: builtin/fetch.c:863 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "Flaggan \"%s\" ignoreras fΓΆr %s\n" -#: builtin/fetch.c:911 +#: builtin/fetch.c:920 #, c-format msgid "Don't know how to fetch from %s" msgstr "Vet inte hur man hΓ€mtar frΓ₯n %s" -#: builtin/fetch.c:1072 +#: builtin/fetch.c:1080 #, c-format msgid "Fetching %s\n" msgstr "HΓ€mtar %s\n" -#: builtin/fetch.c:1074 builtin/remote.c:96 +#: builtin/fetch.c:1082 builtin/remote.c:96 #, c-format msgid "Could not fetch %s" msgstr "Kunde inte hΓ€mta %s" -#: builtin/fetch.c:1092 +#: builtin/fetch.c:1100 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." @@ -5995,32 +6188,32 @@ msgstr "" "Inget fjΓ€rrarkiv angavs. Ange antingen en URL eller namnet pΓ₯ ett\n" "fjΓ€rrarkiv som nya incheckningar skall hΓ€mtas frΓ₯n." -#: builtin/fetch.c:1115 +#: builtin/fetch.c:1123 msgid "You need to specify a tag name." msgstr "Du mΓ₯ste ange namnet pΓ₯ en tagg." -#: builtin/fetch.c:1157 +#: builtin/fetch.c:1165 msgid "--depth and --unshallow cannot be used together" msgstr "--depth och --unshallow kan inte anvΓ€ndas samtidigt" -#: builtin/fetch.c:1159 +#: builtin/fetch.c:1167 msgid "--unshallow on a complete repository does not make sense" msgstr "--unshallow kan inte anvΓ€ndas pΓ₯ ett komplett arkiv" -#: builtin/fetch.c:1179 +#: builtin/fetch.c:1187 msgid "fetch --all does not take a repository argument" msgstr "fetch --all tar inte namnet pΓ₯ ett arkiv som argument" -#: builtin/fetch.c:1181 +#: builtin/fetch.c:1189 msgid "fetch --all does not make sense with refspecs" msgstr "fetch --all kan inte anges med referensspecifikationer" -#: builtin/fetch.c:1192 +#: builtin/fetch.c:1200 #, c-format msgid "No such remote or remote group: %s" msgstr "FjΓ€rren eller fjΓ€rrgruppen finns inte: %s" -#: builtin/fetch.c:1200 +#: builtin/fetch.c:1208 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "Kan inte hΓ€mta frΓ₯n grupp och ange referensspecifikationer" @@ -6249,224 +6442,238 @@ msgstr "" msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]" msgstr "git grep [<flaggor>] [-e] <mΓΆnster> [<rev>...] [[--] <sΓΆkvΓ€g>...]" -#: builtin/grep.c:218 +#: builtin/grep.c:219 #, c-format msgid "grep: failed to create thread: %s" msgstr "grep: misslyckades skapa trΓ₯d. %s" -#: builtin/grep.c:441 builtin/grep.c:476 +#: builtin/grep.c:277 +#, c-format +msgid "invalid number of threads specified (%d) for %s" +msgstr "felaktigt antal trΓ₯dar angivet (%d) fΓΆr %s" + +#: builtin/grep.c:452 builtin/grep.c:487 #, c-format msgid "unable to read tree (%s)" msgstr "kunde inte lΓ€sa trΓ€d (%s)" -#: builtin/grep.c:491 +#: builtin/grep.c:502 #, c-format msgid "unable to grep from object of type %s" msgstr "Kunde inte \"grep\" frΓ₯n objekt av typen %s" -#: builtin/grep.c:547 +#: builtin/grep.c:558 #, c-format msgid "switch `%c' expects a numerical value" msgstr "flaggan \"%c\" antar ett numeriskt vΓ€rde" -#: builtin/grep.c:564 +#: builtin/grep.c:575 #, c-format msgid "cannot open '%s'" msgstr "kan inte ΓΆppna \"%s\"" -#: builtin/grep.c:633 +#: builtin/grep.c:644 msgid "search in index instead of in the work tree" msgstr "sΓΆk i indexet istΓ€llet fΓΆr i arbetskatalogen" -#: builtin/grep.c:635 +#: builtin/grep.c:646 msgid "find in contents not managed by git" msgstr "sΓΆk i innehΓ₯ll som inte hanteras av git" -#: builtin/grep.c:637 +#: builtin/grep.c:648 msgid "search in both tracked and untracked files" msgstr "sΓΆk i bΓ₯de spΓ₯rade och ospΓ₯rade filer" -#: builtin/grep.c:639 +#: builtin/grep.c:650 msgid "ignore files specified via '.gitignore'" msgstr "ignorera filer angivna i \".gitignore\"" -#: builtin/grep.c:642 +#: builtin/grep.c:653 msgid "show non-matching lines" msgstr "visa rader som inte trΓ€ffas" -#: builtin/grep.c:644 +#: builtin/grep.c:655 msgid "case insensitive matching" msgstr "skiftlΓ€gesokΓ€nslig sΓΆkning" -#: builtin/grep.c:646 +#: builtin/grep.c:657 msgid "match patterns only at word boundaries" msgstr "matcha endast mΓΆnster vid ordgrΓ€nser" -#: builtin/grep.c:648 +#: builtin/grep.c:659 msgid "process binary files as text" msgstr "hantera binΓ€rfiler som text" -#: builtin/grep.c:650 +#: builtin/grep.c:661 msgid "don't match patterns in binary files" msgstr "trΓ€ffa inte mΓΆnster i binΓ€rfiler" -#: builtin/grep.c:653 +#: builtin/grep.c:664 msgid "process binary files with textconv filters" msgstr "hantera binΓ€rfiler med textconv-filter" -#: builtin/grep.c:655 +#: builtin/grep.c:666 msgid "descend at most <depth> levels" msgstr "gΓ₯ som mest ned <djup> nivΓ₯er" -#: builtin/grep.c:659 +#: builtin/grep.c:670 msgid "use extended POSIX regular expressions" msgstr "anvΓ€nd utΓΆkade POSIX-reguljΓ€ra uttryck" -#: builtin/grep.c:662 +#: builtin/grep.c:673 msgid "use basic POSIX regular expressions (default)" msgstr "anvΓ€nd grundlΓ€ggande POSIX-reguljΓ€ra uttryck (standard)" -#: builtin/grep.c:665 +#: builtin/grep.c:676 msgid "interpret patterns as fixed strings" msgstr "tolka mΓΆnster som fixerade strΓ€ngar" -#: builtin/grep.c:668 +#: builtin/grep.c:679 msgid "use Perl-compatible regular expressions" msgstr "anvΓ€nd Perlkompatibla reguljΓ€ra uttryck" -#: builtin/grep.c:671 +#: builtin/grep.c:682 msgid "show line numbers" msgstr "visa radnummer" -#: builtin/grep.c:672 +#: builtin/grep.c:683 msgid "don't show filenames" msgstr "visa inte filnamn" -#: builtin/grep.c:673 +#: builtin/grep.c:684 msgid "show filenames" msgstr "visa filnamn" -#: builtin/grep.c:675 +#: builtin/grep.c:686 msgid "show filenames relative to top directory" msgstr "visa filnamn relativa till toppkatalogen" -#: builtin/grep.c:677 +#: builtin/grep.c:688 msgid "show only filenames instead of matching lines" msgstr "visa endast filnamn istΓ€llet fΓΆr trΓ€ffade rader" -#: builtin/grep.c:679 +#: builtin/grep.c:690 msgid "synonym for --files-with-matches" msgstr "synonym fΓΆr --files-with-matches" -#: builtin/grep.c:682 +#: builtin/grep.c:693 msgid "show only the names of files without match" msgstr "visa endast namn pΓ₯ filer utan trΓ€ffar" -#: builtin/grep.c:684 +#: builtin/grep.c:695 msgid "print NUL after filenames" msgstr "skriv NUL efter filnamn" -#: builtin/grep.c:686 +#: builtin/grep.c:697 msgid "show the number of matches instead of matching lines" msgstr "visa antal trΓ€ffar istΓ€llet fΓΆr trΓ€ffade rader" -#: builtin/grep.c:687 +#: builtin/grep.c:698 msgid "highlight matches" msgstr "ljusmarkera trΓ€ffar" -#: builtin/grep.c:689 +#: builtin/grep.c:700 msgid "print empty line between matches from different files" msgstr "skriv tomma rader mellan trΓ€ffar frΓ₯n olika filer" -#: builtin/grep.c:691 +#: builtin/grep.c:702 msgid "show filename only once above matches from same file" msgstr "visa filnamn endast en gΓ₯ng ovanfΓΆr trΓ€ffar frΓ₯n samma fil" -#: builtin/grep.c:694 +#: builtin/grep.c:705 msgid "show <n> context lines before and after matches" msgstr "visa <n> rader sammanhang fΓΆre och efter trΓ€ffar" -#: builtin/grep.c:697 +#: builtin/grep.c:708 msgid "show <n> context lines before matches" msgstr "visa <n> rader sammanhang fΓΆre trΓ€ffar" -#: builtin/grep.c:699 +#: builtin/grep.c:710 msgid "show <n> context lines after matches" msgstr "visa <n> rader sammanhang efter trΓ€ffar" -#: builtin/grep.c:700 +#: builtin/grep.c:712 +msgid "use <n> worker threads" +msgstr "anvΓ€nd <n> jobbtrΓ₯dar" + +#: builtin/grep.c:713 msgid "shortcut for -C NUM" msgstr "genvΓ€g fΓΆr -C NUM" -#: builtin/grep.c:703 +#: builtin/grep.c:716 msgid "show a line with the function name before matches" msgstr "visa en rad med funktionsnamnet fΓΆre trΓ€ffen" -#: builtin/grep.c:705 +#: builtin/grep.c:718 msgid "show the surrounding function" msgstr "visa den omkringliggande funktionen" -#: builtin/grep.c:708 +#: builtin/grep.c:721 msgid "read patterns from file" msgstr "lΓ€s mΓΆnster frΓ₯n fil" -#: builtin/grep.c:710 +#: builtin/grep.c:723 msgid "match <pattern>" msgstr "trΓ€ffa <mΓΆnster>" -#: builtin/grep.c:712 +#: builtin/grep.c:725 msgid "combine patterns specified with -e" msgstr "kombinera mΓΆnster som anges med -e" -#: builtin/grep.c:724 +#: builtin/grep.c:737 msgid "indicate hit with exit status without output" msgstr "ange trΓ€ff med slutstatuskod utan utdata" -#: builtin/grep.c:726 +#: builtin/grep.c:739 msgid "show only matches from files that match all patterns" msgstr "visa endast trΓ€ffar frΓ₯n filer som trΓ€ffar alla mΓΆnster" -#: builtin/grep.c:728 +#: builtin/grep.c:741 msgid "show parse tree for grep expression" msgstr "visa analystrΓ€d fΓΆr grep-uttryck" -#: builtin/grep.c:732 +#: builtin/grep.c:745 msgid "pager" msgstr "blΓ€ddrare" -#: builtin/grep.c:732 +#: builtin/grep.c:745 msgid "show matching files in the pager" msgstr "visa trΓ€ffade filer i filblΓ€ddraren" -#: builtin/grep.c:735 +#: builtin/grep.c:748 msgid "allow calling of grep(1) (ignored by this build)" msgstr "tillΓ₯t anropa grep(1) (ignoreras av detta bygge)" -#: builtin/grep.c:793 +#: builtin/grep.c:811 msgid "no pattern given." msgstr "inget mΓΆnster angavs." -#: builtin/grep.c:851 +#: builtin/grep.c:843 builtin/index-pack.c:1475 +#, c-format +msgid "invalid number of threads specified (%d)" +msgstr "felaktigt antal trΓ₯dar angivet (%d)" + +#: builtin/grep.c:873 msgid "--open-files-in-pager only works on the worktree" msgstr "--open-files-in-pager fungerar endast i arbetskatalogen" -#: builtin/grep.c:877 +#: builtin/grep.c:899 msgid "--cached or --untracked cannot be used with --no-index." msgstr "--cached och --untracked kan inte anvΓ€ndas med --no-index." -#: builtin/grep.c:882 +#: builtin/grep.c:904 msgid "--no-index or --untracked cannot be used with revs." msgstr "--no-index och --untracked kan inte anvΓ€ndas med revisioner." -#: builtin/grep.c:885 +#: builtin/grep.c:907 msgid "--[no-]exclude-standard cannot be used for tracked contents." msgstr "--[no-]exclude-standard kan inte anvΓ€ndas fΓΆr spΓ₯rat innehΓ₯ll." -#: builtin/grep.c:893 +#: builtin/grep.c:915 msgid "both --cached and trees are given." msgstr "bΓ₯de --cached och trΓ€d angavs." -#: builtin/hash-object.c:80 +#: builtin/hash-object.c:81 msgid "" "git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] " "[--] <file>..." @@ -6474,37 +6681,37 @@ msgstr "" "git hash-object [-t <typ>] [-w] [--path=<fil> | --no-filters] [--stdin] [--] " "<fil>..." -#: builtin/hash-object.c:81 +#: builtin/hash-object.c:82 msgid "git hash-object --stdin-paths" msgstr "git hash-object --stdin-paths" -#: builtin/hash-object.c:92 +#: builtin/hash-object.c:93 msgid "type" msgstr "typ" -#: builtin/hash-object.c:92 +#: builtin/hash-object.c:93 msgid "object type" msgstr "objekttyp" -#: builtin/hash-object.c:93 +#: builtin/hash-object.c:94 msgid "write the object into the object database" msgstr "skriv objektet till objektdatabasen" -#: builtin/hash-object.c:95 +#: builtin/hash-object.c:96 msgid "read the object from stdin" msgstr "lΓ€s objektet frΓ₯n standard in" -#: builtin/hash-object.c:97 +#: builtin/hash-object.c:98 msgid "store file as is without filters" msgstr "spara filen som den Γ€r utan filer" -#: builtin/hash-object.c:98 +#: builtin/hash-object.c:99 msgid "" "just hash any random garbage to create corrupt objects for debugging Git" msgstr "" "hasha slumpmΓ€ssigt skrΓ€p fΓΆr att skapa korrupta objekt fΓΆr felsΓΆkning av Git" -#: builtin/hash-object.c:99 +#: builtin/hash-object.c:100 msgid "process file as it were from this path" msgstr "hantera filen som om den kom frΓ₯n sΓΆkvΓ€gen" @@ -6555,7 +6762,7 @@ msgstr "emacsclient version \"%d\" fΓΆr gammal (< 22)." msgid "failed to exec '%s': %s" msgstr "exec misslyckades fΓΆr \"%s\": %s" -#: builtin/help.c:208 +#: builtin/help.c:205 #, c-format msgid "" "'%s': path for unsupported man viewer.\n" @@ -6564,7 +6771,7 @@ msgstr "" "\"%s\": sΓΆkvΓ€g fΓΆr man-visare som ej stΓΆds.\n" "AnvΓ€nd \"man.<verktyg>.cmd\" istΓ€llet." -#: builtin/help.c:220 +#: builtin/help.c:217 #, c-format msgid "" "'%s': cmd for supported man viewer.\n" @@ -6573,61 +6780,61 @@ msgstr "" "\"%s\": kommando fΓΆr man-visare som stΓΆds.\n" "AnvΓ€nd \"man.<verktyg>.path\" istΓ€llet." -#: builtin/help.c:337 +#: builtin/help.c:334 #, c-format msgid "'%s': unknown man viewer." msgstr "\"%s\": okΓ€nd man-visare." -#: builtin/help.c:354 +#: builtin/help.c:351 msgid "no man viewer handled the request" msgstr "ingen man-visare hanterade fΓΆrfrΓ₯gan" -#: builtin/help.c:362 +#: builtin/help.c:359 msgid "no info viewer handled the request" msgstr "ingen info-visare hanterade fΓΆrfrΓ₯gan" -#: builtin/help.c:411 +#: builtin/help.c:408 msgid "Defining attributes per path" msgstr "Definierar attribut per sΓΆkvΓ€g" -#: builtin/help.c:412 +#: builtin/help.c:409 msgid "Everyday Git With 20 Commands Or So" msgstr "Git fΓΆr dagligt bruk i ungefΓ€r 20 kommandon" -#: builtin/help.c:413 +#: builtin/help.c:410 msgid "A Git glossary" msgstr "En Git-ordlista" -#: builtin/help.c:414 +#: builtin/help.c:411 msgid "Specifies intentionally untracked files to ignore" msgstr "Ange avsiktligen ospΓ₯rade filer att ignorera" -#: builtin/help.c:415 +#: builtin/help.c:412 msgid "Defining submodule properties" msgstr "Ange egenskaper fΓΆr undermoduler" -#: builtin/help.c:416 +#: builtin/help.c:413 msgid "Specifying revisions and ranges for Git" msgstr "Ange versioner och intervall i Git" -#: builtin/help.c:417 +#: builtin/help.c:414 msgid "A tutorial introduction to Git (for version 1.5.1 or newer)" msgstr "Introduktion till Git (fΓΆr version 1.5.1 och senare)" -#: builtin/help.c:418 +#: builtin/help.c:415 msgid "An overview of recommended workflows with Git" msgstr "Γversikt ΓΆver rekommenderade arbetsflΓΆden med Git" -#: builtin/help.c:430 +#: builtin/help.c:427 msgid "The common Git guides are:\n" msgstr "De vanliga Git-vΓ€gledningarna Γ€r:\n" -#: builtin/help.c:451 builtin/help.c:468 +#: builtin/help.c:448 builtin/help.c:465 #, c-format msgid "usage: %s%s" msgstr "anvΓ€ndning: %s%s" -#: builtin/help.c:484 +#: builtin/help.c:481 #, c-format msgid "`git %s' is aliased to `%s'" msgstr "\"git %s\" Γ€r ett alias fΓΆr \"%s\"" @@ -6863,60 +7070,55 @@ msgstr "kan inte spara indexfil" msgid "bad pack.indexversion=%<PRIu32>" msgstr "felaktig pack.indexversion=%<PRIu32>" -#: builtin/index-pack.c:1475 -#, c-format -msgid "invalid number of threads specified (%d)" -msgstr "felaktigt antal trΓ₯dar angivet (%d)" - -#: builtin/index-pack.c:1479 builtin/index-pack.c:1663 +#: builtin/index-pack.c:1479 builtin/index-pack.c:1664 #, c-format msgid "no threads support, ignoring %s" msgstr "trΓ₯dstΓΆd saknas, ignorerar %s" -#: builtin/index-pack.c:1537 +#: builtin/index-pack.c:1538 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "Kan inte ΓΆppna befintlig paketfil \"%s\"" -#: builtin/index-pack.c:1539 +#: builtin/index-pack.c:1540 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "Kan inte ΓΆppna befintlig paket-idx-fil fΓΆr \"%s\"" -#: builtin/index-pack.c:1586 +#: builtin/index-pack.c:1587 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" msgstr[0] "icke-delta: %d objekt" msgstr[1] "icke-delta: %d objekt" -#: builtin/index-pack.c:1593 +#: builtin/index-pack.c:1594 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" msgstr[0] "kedjelΓ€ngd = %d: %lu objekt" msgstr[1] "kedjelΓ€ngd = %d: %lu objekt" -#: builtin/index-pack.c:1623 +#: builtin/index-pack.c:1624 msgid "Cannot come back to cwd" msgstr "Kan inte gΓ₯ tillbaka till arbetskatalogen (cwd)" -#: builtin/index-pack.c:1675 builtin/index-pack.c:1678 -#: builtin/index-pack.c:1690 builtin/index-pack.c:1694 +#: builtin/index-pack.c:1676 builtin/index-pack.c:1679 +#: builtin/index-pack.c:1691 builtin/index-pack.c:1695 #, c-format msgid "bad %s" msgstr "felaktig %s" -#: builtin/index-pack.c:1708 +#: builtin/index-pack.c:1709 msgid "--fix-thin cannot be used without --stdin" msgstr "--fix-thin kan inte anvΓ€ndas med --stdin" -#: builtin/index-pack.c:1712 builtin/index-pack.c:1721 +#: builtin/index-pack.c:1713 builtin/index-pack.c:1722 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "paketfilnamnet \"%s\" slutar inte med \".pack\"" -#: builtin/index-pack.c:1729 +#: builtin/index-pack.c:1730 msgid "--verify with no packfile name given" msgstr "--verify angavs utan paketfilnamn" @@ -7042,24 +7244,32 @@ msgstr "Kan inte komma Γ₯t arbetskatalogen \"%s\"" #: builtin/interpret-trailers.c:15 msgid "" -"git interpret-trailers [--trim-empty] [(--trailer <token>[(=|:)<value>])...] " -"[<file>...]" +"git interpret-trailers [--in-place] [--trim-empty] [(--trailer " +"<token>[(=|:)<value>])...] [<file>...]" msgstr "" -"git interpret-trailers [--trim-empty] [(--trailer " +"git interpret-trailers [--in-place] [--trim-empty] [(--trailer " "<symbol>[(=|:)<vΓ€rde>])...] [<fil>...]" -#: builtin/interpret-trailers.c:25 +#: builtin/interpret-trailers.c:26 +msgid "edit files in place" +msgstr "redigera filer pΓ₯ plats" + +#: builtin/interpret-trailers.c:27 msgid "trim empty trailers" msgstr "ta bort tomma slΓ€prader" -#: builtin/interpret-trailers.c:26 +#: builtin/interpret-trailers.c:28 msgid "trailer" msgstr "slΓ€prad" -#: builtin/interpret-trailers.c:27 +#: builtin/interpret-trailers.c:29 msgid "trailer(s) to add" msgstr "slΓ€prad(er) att lΓ€gga till" +#: builtin/interpret-trailers.c:42 +msgid "no input file given for in-place editing" +msgstr "ingen indatafil angiven fΓΆr redigering pΓ₯ plats" + #: builtin/log.c:43 msgid "git log [<options>] [<revision-range>] [[--] <path>...]" msgstr "git log [<flaggor>] [<versionsintervall>] [[--] <sΓΆkvΓ€g>...]" @@ -7113,325 +7323,375 @@ msgstr "Kunde inte lΓ€sa objektet %s" msgid "Unknown type: %d" msgstr "OkΓ€nd typ: %d" -#: builtin/log.c:714 +#: builtin/log.c:715 msgid "format.headers without value" msgstr "format.headers utan vΓ€rde" -#: builtin/log.c:798 +#: builtin/log.c:801 msgid "name of output directory is too long" msgstr "namnet pΓ₯ utdatakatalogen Γ€r fΓΆr lΓ₯ngt" -#: builtin/log.c:813 +#: builtin/log.c:816 #, c-format msgid "Cannot open patch file %s" msgstr "Kan inte ΓΆppna patchfilen %s" -#: builtin/log.c:827 +#: builtin/log.c:830 msgid "Need exactly one range." msgstr "BehΓΆver precis ett intervall." -#: builtin/log.c:837 +#: builtin/log.c:840 msgid "Not a range." msgstr "Inte ett intervall." -#: builtin/log.c:943 +#: builtin/log.c:946 msgid "Cover letter needs email format" msgstr "Omslagsbrevet behΓΆver e-postformat" -#: builtin/log.c:1022 +#: builtin/log.c:1025 #, c-format msgid "insane in-reply-to: %s" msgstr "tokigt in-reply-to: %s" -#: builtin/log.c:1050 +#: builtin/log.c:1053 msgid "git format-patch [<options>] [<since> | <revision-range>]" msgstr "git format-patch [<flaggor>] [<sedan> | <revisionsintervall>]" -#: builtin/log.c:1095 +#: builtin/log.c:1098 msgid "Two output directories?" msgstr "TvΓ₯ utdatakataloger?" -#: builtin/log.c:1211 +#: builtin/log.c:1214 msgid "use [PATCH n/m] even with a single patch" msgstr "anvΓ€nd [PATCH n/m] Γ€ven fΓΆr en ensam patch" -#: builtin/log.c:1214 +#: builtin/log.c:1217 msgid "use [PATCH] even with multiple patches" msgstr "anvΓ€nd [PATCH] Γ€ven fΓΆr flera patchar" -#: builtin/log.c:1218 +#: builtin/log.c:1221 msgid "print patches to standard out" msgstr "skriv patcharna pΓ₯ standard ut" -#: builtin/log.c:1220 +#: builtin/log.c:1223 msgid "generate a cover letter" msgstr "generera ett fΓΆljebrev" -#: builtin/log.c:1222 +#: builtin/log.c:1225 msgid "use simple number sequence for output file names" msgstr "anvΓ€nd enkel nummersekvens fΓΆr utdatafilnamn" -#: builtin/log.c:1223 +#: builtin/log.c:1226 msgid "sfx" msgstr "sfx" -#: builtin/log.c:1224 +#: builtin/log.c:1227 msgid "use <sfx> instead of '.patch'" msgstr "anvΓ€nd <sfx> istΓ€llet fΓΆr \".patch\"" -#: builtin/log.c:1226 +#: builtin/log.c:1229 msgid "start numbering patches at <n> instead of 1" msgstr "bΓΆrja numrera patchar pΓ₯ <n> istΓ€llet fΓΆr 1" -#: builtin/log.c:1228 +#: builtin/log.c:1231 msgid "mark the series as Nth re-roll" msgstr "markera serien som N:te fΓΆrsΓΆk" -#: builtin/log.c:1230 +#: builtin/log.c:1233 msgid "Use [<prefix>] instead of [PATCH]" msgstr "AnvΓ€nd [<prefix>] istΓ€llet fΓΆr [PATCH]" -#: builtin/log.c:1233 +#: builtin/log.c:1236 msgid "store resulting files in <dir>" msgstr "spara filerna i <katalog>" -#: builtin/log.c:1236 +#: builtin/log.c:1239 msgid "don't strip/add [PATCH]" msgstr "ta inte bort eller lΓ€gg till [PATCH]" -#: builtin/log.c:1239 +#: builtin/log.c:1242 msgid "don't output binary diffs" msgstr "skriv inte binΓ€ra diffar" -#: builtin/log.c:1241 +#: builtin/log.c:1244 msgid "output all-zero hash in From header" msgstr "anvΓ€nd hashvΓ€rde med nollor i From-huvud" -#: builtin/log.c:1243 +#: builtin/log.c:1246 msgid "don't include a patch matching a commit upstream" msgstr "ta inte med patchar som motsvarar en uppstrΓΆmsincheckning" -#: builtin/log.c:1245 +#: builtin/log.c:1248 msgid "show patch format instead of default (patch + stat)" msgstr "visa patchformat istΓ€llet fΓΆr standard (patch + stat)" -#: builtin/log.c:1247 +#: builtin/log.c:1250 msgid "Messaging" msgstr "E-post" -#: builtin/log.c:1248 +#: builtin/log.c:1251 msgid "header" msgstr "huvud" -#: builtin/log.c:1249 +#: builtin/log.c:1252 msgid "add email header" msgstr "lΓ€gg till e-posthuvud" -#: builtin/log.c:1250 builtin/log.c:1252 +#: builtin/log.c:1253 builtin/log.c:1255 msgid "email" msgstr "epost" -#: builtin/log.c:1250 +#: builtin/log.c:1253 msgid "add To: header" msgstr "LΓ€gg till mottagarhuvud (\"To:\")" -#: builtin/log.c:1252 +#: builtin/log.c:1255 msgid "add Cc: header" msgstr "LΓ€gg till kopiehuvud (\"Cc:\")" -#: builtin/log.c:1254 +#: builtin/log.c:1257 msgid "ident" msgstr "ident" -#: builtin/log.c:1255 +#: builtin/log.c:1258 msgid "set From address to <ident> (or committer ident if absent)" msgstr "sΓ€tt FrΓ₯n-adress till <ident> (eller incheckare om ident saknas)" -#: builtin/log.c:1257 +#: builtin/log.c:1260 msgid "message-id" msgstr "meddelande-id" -#: builtin/log.c:1258 +#: builtin/log.c:1261 msgid "make first mail a reply to <message-id>" msgstr "GΓΆr det fΓΆrsta brevet ett svar till <meddelande-id>" -#: builtin/log.c:1259 builtin/log.c:1262 +#: builtin/log.c:1262 builtin/log.c:1265 msgid "boundary" msgstr "grΓ€ns" -#: builtin/log.c:1260 +#: builtin/log.c:1263 msgid "attach the patch" msgstr "bifoga patchen" -#: builtin/log.c:1263 +#: builtin/log.c:1266 msgid "inline the patch" msgstr "gΓΆr patchen ett inline-objekt" -#: builtin/log.c:1267 +#: builtin/log.c:1270 msgid "enable message threading, styles: shallow, deep" msgstr "aktivera brevtrΓ₯dning, typer: shallow, deep" -#: builtin/log.c:1269 +#: builtin/log.c:1272 msgid "signature" msgstr "signatur" -#: builtin/log.c:1270 +#: builtin/log.c:1273 msgid "add a signature" msgstr "lΓ€gg till signatur" -#: builtin/log.c:1272 +#: builtin/log.c:1275 msgid "add a signature from a file" msgstr "lΓ€gg till signatur frΓ₯n fil" -#: builtin/log.c:1273 +#: builtin/log.c:1276 msgid "don't print the patch filenames" msgstr "visa inte filnamn fΓΆr patchar" -#: builtin/log.c:1362 +#: builtin/log.c:1365 msgid "-n and -k are mutually exclusive." msgstr "-n och -k kan inte anvΓ€ndas samtidigt." -#: builtin/log.c:1364 +#: builtin/log.c:1367 msgid "--subject-prefix and -k are mutually exclusive." msgstr "--subject-prefix och -k kan inte anvΓ€ndas samtidigt." -#: builtin/log.c:1372 +#: builtin/log.c:1375 msgid "--name-only does not make sense" msgstr "kan inte anvΓ€nda --name-only" -#: builtin/log.c:1374 +#: builtin/log.c:1377 msgid "--name-status does not make sense" msgstr "kan inte anvΓ€nda --name-status" -#: builtin/log.c:1376 +#: builtin/log.c:1379 msgid "--check does not make sense" msgstr "kan inte anvΓ€nda --check" -#: builtin/log.c:1401 +#: builtin/log.c:1407 msgid "standard output, or directory, which one?" msgstr "standard ut, eller katalog, vilken skall det vara?" -#: builtin/log.c:1403 +#: builtin/log.c:1409 #, c-format msgid "Could not create directory '%s'" msgstr "Kunde inte skapa katalogen \"%s\"" -#: builtin/log.c:1500 +#: builtin/log.c:1506 #, c-format msgid "unable to read signature file '%s'" msgstr "kunde inte lΓ€sa signaturfil \"%s\"" -#: builtin/log.c:1563 +#: builtin/log.c:1569 msgid "Failed to create output files" msgstr "Misslyckades skapa utdatafiler" -#: builtin/log.c:1611 +#: builtin/log.c:1617 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" msgstr "git cherry [-v] [<uppstrΓΆm> [<huvud> [<grΓ€ns>]]]" -#: builtin/log.c:1665 +#: builtin/log.c:1671 #, c-format msgid "" "Could not find a tracked remote branch, please specify <upstream> manually.\n" msgstr "Kunde inte hitta en spΓ₯rad fjΓ€rrgren, ange <uppstrΓΆm> manuellt.\n" -#: builtin/log.c:1676 builtin/log.c:1678 builtin/log.c:1690 +#: builtin/log.c:1682 builtin/log.c:1684 builtin/log.c:1696 #, c-format msgid "Unknown commit %s" msgstr "OkΓ€nd incheckning %s" -#: builtin/ls-files.c:358 +#: builtin/ls-files.c:378 msgid "git ls-files [<options>] [<file>...]" msgstr "git ls-files [<flaggor>] [<fil>...]" -#: builtin/ls-files.c:415 +#: builtin/ls-files.c:427 msgid "identify the file status with tags" msgstr "identifiera filstatus med taggar" -#: builtin/ls-files.c:417 +#: builtin/ls-files.c:429 msgid "use lowercase letters for 'assume unchanged' files" msgstr "anvΓ€nd smΓ₯ bokstΓ€ver fΓΆr \"anta ofΓΆrΓ€ndrade\"-filer" -#: builtin/ls-files.c:419 +#: builtin/ls-files.c:431 msgid "show cached files in the output (default)" msgstr "visa cachade filer i utdata (standard)" -#: builtin/ls-files.c:421 +#: builtin/ls-files.c:433 msgid "show deleted files in the output" msgstr "visa borttagna filer i utdata" -#: builtin/ls-files.c:423 +#: builtin/ls-files.c:435 msgid "show modified files in the output" msgstr "visa modifierade filer i utdata" -#: builtin/ls-files.c:425 +#: builtin/ls-files.c:437 msgid "show other files in the output" msgstr "visa andra filer i utdata" -#: builtin/ls-files.c:427 +#: builtin/ls-files.c:439 msgid "show ignored files in the output" msgstr "visa ignorerade filer i utdata" -#: builtin/ls-files.c:430 +#: builtin/ls-files.c:442 msgid "show staged contents' object name in the output" msgstr "visa kΓΆat innehΓ₯lls objektnamn i utdata" -#: builtin/ls-files.c:432 +#: builtin/ls-files.c:444 msgid "show files on the filesystem that need to be removed" msgstr "visa filer i filsystemet som behΓΆver tas bort" -#: builtin/ls-files.c:434 +#: builtin/ls-files.c:446 msgid "show 'other' directories' names only" msgstr "visa endast namn fΓΆr \"andra\" kataloger" -#: builtin/ls-files.c:437 +#: builtin/ls-files.c:448 +msgid "show line endings of files" +msgstr "visa radslut i filer" + +#: builtin/ls-files.c:450 msgid "don't show empty directories" msgstr "visa inte tomma kataloger" -#: builtin/ls-files.c:440 +#: builtin/ls-files.c:453 msgid "show unmerged files in the output" msgstr "visa ej sammanslagna filer i utdata" -#: builtin/ls-files.c:442 +#: builtin/ls-files.c:455 msgid "show resolve-undo information" msgstr "visa \"resolve-undo\"-information" -#: builtin/ls-files.c:444 +#: builtin/ls-files.c:457 msgid "skip files matching pattern" msgstr "hoppa ΓΆver filer som motsvarar mΓΆnster" -#: builtin/ls-files.c:447 +#: builtin/ls-files.c:460 msgid "exclude patterns are read from <file>" msgstr "exkludera mΓΆnster som lΓ€ses frΓ₯n <fil>" -#: builtin/ls-files.c:450 +#: builtin/ls-files.c:463 msgid "read additional per-directory exclude patterns in <file>" msgstr "lΓ€s ytterligare per-katalog-exkluderingsmΓΆnster frΓ₯n <fil>" -#: builtin/ls-files.c:452 +#: builtin/ls-files.c:465 msgid "add the standard git exclusions" msgstr "lΓ€gg till git:s standardexkluderingar" -#: builtin/ls-files.c:455 +#: builtin/ls-files.c:468 msgid "make the output relative to the project top directory" msgstr "gΓΆr utdata relativ till projektets toppkatalog" -#: builtin/ls-files.c:458 +#: builtin/ls-files.c:471 msgid "if any <file> is not in the index, treat this as an error" msgstr "om en <fil> inte Γ€r indexet, betrakta det som ett fel" -#: builtin/ls-files.c:459 +#: builtin/ls-files.c:472 msgid "tree-ish" msgstr "trΓ€d-igt" -#: builtin/ls-files.c:460 +#: builtin/ls-files.c:473 msgid "pretend that paths removed since <tree-ish> are still present" msgstr "lΓ₯tsas att sΓΆkvΓ€gar borttagna sedan <trΓ€d-igt> fortfarande finns" -#: builtin/ls-files.c:462 +#: builtin/ls-files.c:475 msgid "show debugging data" msgstr "visa felsΓΆkningsutdata" +#: builtin/ls-remote.c:7 +msgid "" +"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n" +" [-q | --quiet] [--exit-code] [--get-url]\n" +" [--symref] [<repository> [<refs>...]]" +msgstr "" +"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n" +" [-q | --quiet] [--exit-code] [--get-url]\n" +" [--symref] [<arkiv> [<referenser>...]]" + +#: builtin/ls-remote.c:50 +msgid "do not print remote URL" +msgstr "visa inte fjΓ€rr-URL" + +#: builtin/ls-remote.c:51 builtin/ls-remote.c:53 +msgid "exec" +msgstr "exec" + +#: builtin/ls-remote.c:52 builtin/ls-remote.c:54 +msgid "path of git-upload-pack on the remote host" +msgstr "sΓΆkvΓ€g till git-upload-pack pΓ₯ fjΓ€rren" + +#: builtin/ls-remote.c:56 +msgid "limit to tags" +msgstr "begrΓ€nsa till taggar" + +#: builtin/ls-remote.c:57 +msgid "limit to heads" +msgstr "begrΓ€nsa till huvuden" + +#: builtin/ls-remote.c:58 +msgid "do not show peeled tags" +msgstr "visa inte avskalade taggar" + +#: builtin/ls-remote.c:60 +msgid "take url.<base>.insteadOf into account" +msgstr "ta hΓ€nsyn till url.<bas>.insteadOf" + +#: builtin/ls-remote.c:62 +msgid "exit with exit code 2 if no matching refs are found" +msgstr "avsluta med felkod 2 om motsvarande referenser inte hittas" + +#: builtin/ls-remote.c:64 +msgid "show underlying ref in addition to the object pointed by it" +msgstr "visa underliggande referens och objektet det pekar pΓ₯" + #: builtin/ls-tree.c:28 msgid "git ls-tree [<options>] <tree-ish> [<path>...]" msgstr "git ls-tree [<flaggor>] <trΓ€d-igt> [<sΓΆkvΓ€g>...]" @@ -7499,32 +7759,32 @@ msgstr "TillgΓ€ngliga strategier Γ€r:" msgid "Available custom strategies are:" msgstr "TillgΓ€ngliga skrΓ€ddarsydda strategier Γ€r:" -#: builtin/merge.c:193 builtin/pull.c:119 +#: builtin/merge.c:193 builtin/pull.c:123 msgid "do not show a diffstat at the end of the merge" msgstr "visa inte en diffstat nΓ€r sammanslagningen Γ€r fΓ€rdig" -#: builtin/merge.c:196 builtin/pull.c:122 +#: builtin/merge.c:196 builtin/pull.c:126 msgid "show a diffstat at the end of the merge" msgstr "visa en diffstat nΓ€r sammanslagningen Γ€r fΓ€rdig" -#: builtin/merge.c:197 builtin/pull.c:125 +#: builtin/merge.c:197 builtin/pull.c:129 msgid "(synonym to --stat)" msgstr "(synonym till --stat)" -#: builtin/merge.c:199 builtin/pull.c:128 +#: builtin/merge.c:199 builtin/pull.c:132 msgid "add (at most <n>) entries from shortlog to merge commit message" msgstr "" "lΓ€gg till (som mest <n>) poster frΓ₯n shortlog till incheckningsmeddelandet" -#: builtin/merge.c:202 builtin/pull.c:131 +#: builtin/merge.c:202 builtin/pull.c:135 msgid "create a single commit instead of doing a merge" msgstr "skapa en ensam incheckning istΓ€llet fΓΆr en sammanslagning" -#: builtin/merge.c:204 builtin/pull.c:134 +#: builtin/merge.c:204 builtin/pull.c:138 msgid "perform a commit if the merge succeeds (default)" msgstr "utfΓΆr en incheckning om sammanslagningen lyckades (standard)" -#: builtin/merge.c:206 builtin/pull.c:137 +#: builtin/merge.c:206 builtin/pull.c:141 msgid "edit message before committing" msgstr "redigera meddelande innan incheckning" @@ -7532,7 +7792,7 @@ msgstr "redigera meddelande innan incheckning" msgid "allow fast-forward (default)" msgstr "tillΓ₯t snabbspolning (standard)" -#: builtin/merge.c:209 builtin/pull.c:143 +#: builtin/merge.c:209 builtin/pull.c:147 msgid "abort if fast-forward is not possible" msgstr "avbryt om snabbspolning inte Γ€r mΓΆjlig" @@ -7540,20 +7800,20 @@ msgstr "avbryt om snabbspolning inte Γ€r mΓΆjlig" msgid "Verify that the named commit has a valid GPG signature" msgstr "BekrΓ€fta att den namngivna incheckningen har en giltig GPG-signatur" -#: builtin/merge.c:214 builtin/notes.c:767 builtin/pull.c:148 +#: builtin/merge.c:214 builtin/notes.c:770 builtin/pull.c:152 #: builtin/revert.c:89 msgid "strategy" msgstr "strategi" -#: builtin/merge.c:215 builtin/pull.c:149 +#: builtin/merge.c:215 builtin/pull.c:153 msgid "merge strategy to use" msgstr "sammanslagningsstrategi att anvΓ€nda" -#: builtin/merge.c:216 builtin/pull.c:152 +#: builtin/merge.c:216 builtin/pull.c:156 msgid "option=value" msgstr "alternativ=vΓ€rde" -#: builtin/merge.c:217 builtin/pull.c:153 +#: builtin/merge.c:217 builtin/pull.c:157 msgid "option for selected merge strategy" msgstr "alternativ fΓΆr vald sammanslagningsstrategi" @@ -7591,8 +7851,8 @@ msgstr " (inget att platta till)" msgid "Squash commit -- not updating HEAD\n" msgstr "Tillplattningsincheckning -- uppdaterar inte HEAD\n" -#: builtin/merge.c:344 builtin/merge.c:763 builtin/merge.c:975 -#: builtin/merge.c:988 +#: builtin/merge.c:344 builtin/merge.c:764 builtin/merge.c:976 +#: builtin/merge.c:989 #, c-format msgid "Could not write to '%s'" msgstr "Kunde inte skriva till \"%s\"" @@ -7610,43 +7870,43 @@ msgstr "Avslutar SQUASH_MSG" msgid "No merge message -- not updating HEAD\n" msgstr "Inget sammanslagningsmeddelande -- uppdaterar inte HEAD\n" -#: builtin/merge.c:447 +#: builtin/merge.c:448 #, c-format msgid "'%s' does not point to a commit" msgstr "\"%s\" verkar inte peka pΓ₯ en incheckning" -#: builtin/merge.c:537 +#: builtin/merge.c:538 #, c-format msgid "Bad branch.%s.mergeoptions string: %s" msgstr "Felaktig branch.%s.mergeoptions-strΓ€ng: %s" -#: builtin/merge.c:656 +#: builtin/merge.c:657 msgid "Not handling anything other than two heads merge." msgstr "Hanterar inte nΓ₯got annat Γ€n en sammanslagning av tvΓ₯ huvuden." -#: builtin/merge.c:670 +#: builtin/merge.c:671 #, c-format msgid "Unknown option for merge-recursive: -X%s" msgstr "Felaktig flagga fΓΆr merge-recursive: -X%s" -#: builtin/merge.c:683 +#: builtin/merge.c:684 #, c-format msgid "unable to write %s" msgstr "kunde inte skriva %s" -#: builtin/merge.c:772 +#: builtin/merge.c:773 #, c-format msgid "Could not read from '%s'" msgstr "Kunde inte lΓ€sa frΓ₯n \"%s\"" -#: builtin/merge.c:781 +#: builtin/merge.c:782 #, c-format msgid "Not committing merge; use 'git commit' to complete the merge.\n" msgstr "" "Checkar inte in sammanslagningen; anvΓ€nd \"git commit\" fΓΆr att slutfΓΆra " "den.\n" -#: builtin/merge.c:787 +#: builtin/merge.c:788 #, c-format msgid "" "Please enter a commit message to explain why this merge is necessary,\n" @@ -7662,53 +7922,53 @@ msgstr "" "Rader som inleds med \"%c\" kommer ignoreras, och ett tomt meddelande\n" "avbryter incheckningen.\n" -#: builtin/merge.c:811 +#: builtin/merge.c:812 msgid "Empty commit message." msgstr "Tomt incheckningsmeddelande." -#: builtin/merge.c:823 +#: builtin/merge.c:824 #, c-format msgid "Wonderful.\n" msgstr "Underbart.\n" -#: builtin/merge.c:878 +#: builtin/merge.c:879 #, c-format msgid "Automatic merge failed; fix conflicts and then commit the result.\n" msgstr "" "Kunde inte slΓ₯ ihop automatiskt; fixa konflikter och checka in resultatet.\n" -#: builtin/merge.c:894 +#: builtin/merge.c:895 #, c-format msgid "'%s' is not a commit" msgstr "\"%s\" Γ€r inte en incheckning" -#: builtin/merge.c:935 +#: builtin/merge.c:936 msgid "No current branch." msgstr "Inte pΓ₯ nΓ₯gon gren." -#: builtin/merge.c:937 +#: builtin/merge.c:938 msgid "No remote for the current branch." msgstr "Ingen fjΓ€rr fΓΆr aktuell gren." -#: builtin/merge.c:939 +#: builtin/merge.c:940 msgid "No default upstream defined for the current branch." msgstr "Ingen standarduppstrΓΆm angiven fΓΆr aktuell gren." -#: builtin/merge.c:944 +#: builtin/merge.c:945 #, c-format msgid "No remote-tracking branch for %s from %s" msgstr "Ingen fjΓ€rrspΓ₯rande gren fΓΆr %s frΓ₯n %s" -#: builtin/merge.c:1079 +#: builtin/merge.c:1080 #, c-format msgid "could not close '%s'" msgstr "kunde inte stΓ€nga \"%s\"" -#: builtin/merge.c:1206 +#: builtin/merge.c:1207 msgid "There is no merge to abort (MERGE_HEAD missing)." msgstr "Det finns ingen sammanslagning att avbryta (MERGE_HEAD saknas)." -#: builtin/merge.c:1222 +#: builtin/merge.c:1223 msgid "" "You have not concluded your merge (MERGE_HEAD exists).\n" "Please, commit your changes before you merge." @@ -7716,7 +7976,7 @@ msgstr "" "Du har inte avslutat sammanslagningen (MERGE_HEAD finns).\n" "Checka in dina Γ€ndringar innan du slΓ₯r ihop." -#: builtin/merge.c:1229 +#: builtin/merge.c:1230 msgid "" "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n" "Please, commit your changes before you merge." @@ -7724,102 +7984,102 @@ msgstr "" "Du har inte avslutat din \"cherry-pick\" (CHERRY_PICK_HEAD finns).\n" "Checka in dina Γ€ndringar innan du slΓ₯r ihop." -#: builtin/merge.c:1232 +#: builtin/merge.c:1233 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)." msgstr "Du har inte avslutat din \"cherry-pick\" (CHERRY_PICK_HEAD finns)." -#: builtin/merge.c:1241 +#: builtin/merge.c:1242 msgid "You cannot combine --squash with --no-ff." msgstr "Du kan inte kombinera --squash med --no-ff." -#: builtin/merge.c:1249 +#: builtin/merge.c:1250 msgid "No commit specified and merge.defaultToUpstream not set." msgstr "Ingen incheckning angiven och merge.defaultToUpstream Γ€r ej satt." -#: builtin/merge.c:1266 +#: builtin/merge.c:1267 msgid "Squash commit into empty head not supported yet" msgstr "StΓΆder inte en tillplattningsincheckning pΓ₯ ett tomt huvud Γ€nnu" -#: builtin/merge.c:1268 +#: builtin/merge.c:1269 msgid "Non-fast-forward commit does not make sense into an empty head" msgstr "Icke-snabbspolad incheckning kan inte anvΓ€ndas med ett tomt huvud" -#: builtin/merge.c:1274 +#: builtin/merge.c:1275 #, c-format msgid "%s - not something we can merge" msgstr "%s - inte nΓ₯got vi kan slΓ₯ ihop" -#: builtin/merge.c:1276 +#: builtin/merge.c:1277 msgid "Can merge only exactly one commit into empty head" msgstr "Kan endast slΓ₯ ihop en enda incheckning i ett tomt huvud." -#: builtin/merge.c:1331 +#: builtin/merge.c:1332 #, c-format msgid "Commit %s has an untrusted GPG signature, allegedly by %s." msgstr "" "Incheckningen %s har en obetrodd GPG-signatur som pΓ₯stΓ₯s vara gjord av %s." -#: builtin/merge.c:1334 +#: builtin/merge.c:1335 #, c-format msgid "Commit %s has a bad GPG signature allegedly by %s." msgstr "" "Incheckningen %s har en felaktig GPG-signatur som pΓ₯stΓ₯s vara gjord av %s." -#: builtin/merge.c:1337 +#: builtin/merge.c:1338 #, c-format msgid "Commit %s does not have a GPG signature." msgstr "Incheckning %s har inte nΓ₯gon GPG-signatur." -#: builtin/merge.c:1340 +#: builtin/merge.c:1341 #, c-format msgid "Commit %s has a good GPG signature by %s\n" msgstr "Incheckningen %s har en korrekt GPG-signatur av %s\n" -#: builtin/merge.c:1423 +#: builtin/merge.c:1424 #, c-format msgid "Updating %s..%s\n" msgstr "Uppdaterar %s..%s\n" -#: builtin/merge.c:1460 +#: builtin/merge.c:1461 #, c-format msgid "Trying really trivial in-index merge...\n" msgstr "FΓΆrsΓΆker riktigt enkel sammanslagning i indexet...\n" -#: builtin/merge.c:1467 +#: builtin/merge.c:1468 #, c-format msgid "Nope.\n" msgstr "Nej.\n" -#: builtin/merge.c:1499 +#: builtin/merge.c:1500 msgid "Not possible to fast-forward, aborting." msgstr "Kan inte snabbspola, avbryter." -#: builtin/merge.c:1522 builtin/merge.c:1601 +#: builtin/merge.c:1523 builtin/merge.c:1602 #, c-format msgid "Rewinding the tree to pristine...\n" msgstr "Γ
terspolar trΓ€det till orΓΆrt...\n" -#: builtin/merge.c:1526 +#: builtin/merge.c:1527 #, c-format msgid "Trying merge strategy %s...\n" msgstr "FΓΆrsΓΆker sammanslagningsstrategin %s...\n" -#: builtin/merge.c:1592 +#: builtin/merge.c:1593 #, c-format msgid "No merge strategy handled the merge.\n" msgstr "Ingen sammanslagningsstrategi hanterade sammanslagningen.\n" -#: builtin/merge.c:1594 +#: builtin/merge.c:1595 #, c-format msgid "Merge with strategy %s failed.\n" msgstr "Sammanslagning med strategin %s misslyckades.\n" -#: builtin/merge.c:1603 +#: builtin/merge.c:1604 #, c-format msgid "Using the %s to prepare resolving by hand.\n" msgstr "AnvΓ€nder %s fΓΆr att fΓΆrbereda lΓΆsning fΓΆr hand.\n" -#: builtin/merge.c:1615 +#: builtin/merge.c:1616 #, c-format msgid "Automatic merge went well; stopped before committing as requested\n" msgstr "" @@ -7905,19 +8165,19 @@ msgstr "varna inte om konflikter" msgid "set labels for file1/orig-file/file2" msgstr "sΓ€tt etiketter fΓΆr fil1/origfil/fil2" -#: builtin/mktree.c:64 +#: builtin/mktree.c:65 msgid "git mktree [-z] [--missing] [--batch]" msgstr "git mktree [-z] [--missing] [--batch]" -#: builtin/mktree.c:150 +#: builtin/mktree.c:152 msgid "input is NUL terminated" msgstr "indata Γ€r NUL-terminerad" -#: builtin/mktree.c:151 builtin/write-tree.c:24 +#: builtin/mktree.c:153 builtin/write-tree.c:24 msgid "allow missing objects" msgstr "tillΓ₯t saknade objekt" -#: builtin/mktree.c:152 +#: builtin/mktree.c:154 msgid "allow creation of more than one tree" msgstr "tillΓ₯t skapa mer Γ€n ett trΓ€d" @@ -7925,91 +8185,91 @@ msgstr "tillΓ₯t skapa mer Γ€n ett trΓ€d" msgid "git mv [<options>] <source>... <destination>" msgstr "git mv [<flaggor>] <kΓ€lla>... <mΓ₯l>" -#: builtin/mv.c:69 +#: builtin/mv.c:70 #, c-format msgid "Directory %s is in index and no submodule?" msgstr "Katalogen %s Γ€r i indexet och inte en undermodul?" -#: builtin/mv.c:71 +#: builtin/mv.c:72 msgid "Please stage your changes to .gitmodules or stash them to proceed" msgstr "" "KΓΆa dina Γ€ndringar i .gitmodules eller anvΓ€nd \"stash\" fΓΆr att fortsΓ€tta" -#: builtin/mv.c:89 +#: builtin/mv.c:90 #, c-format msgid "%.*s is in index" msgstr "%.*s Γ€r i indexet" -#: builtin/mv.c:111 +#: builtin/mv.c:112 msgid "force move/rename even if target exists" msgstr "tvinga flytta/Γ€ndra namn Γ€ven om mΓ₯let finns" -#: builtin/mv.c:112 +#: builtin/mv.c:113 msgid "skip move/rename errors" msgstr "hoppa ΓΆver fel vid flytt/namnΓ€ndring" -#: builtin/mv.c:151 +#: builtin/mv.c:152 #, c-format msgid "destination '%s' is not a directory" msgstr "destinationen \"%s\" Γ€r ingen katalog" -#: builtin/mv.c:162 +#: builtin/mv.c:163 #, c-format msgid "Checking rename of '%s' to '%s'\n" msgstr "Kontrollerar namnbyte av \"%s\" till \"%s\"\n" -#: builtin/mv.c:166 +#: builtin/mv.c:167 msgid "bad source" msgstr "felaktig kΓ€lla" -#: builtin/mv.c:169 +#: builtin/mv.c:170 msgid "can not move directory into itself" msgstr "kan inte flytta katalog till sig sjΓ€lv" -#: builtin/mv.c:172 +#: builtin/mv.c:173 msgid "cannot move directory over file" msgstr "kan inte flytta katalog ΓΆver fil" -#: builtin/mv.c:181 +#: builtin/mv.c:182 msgid "source directory is empty" msgstr "kΓ€llkatalogen Γ€r tom" -#: builtin/mv.c:206 +#: builtin/mv.c:207 msgid "not under version control" msgstr "inte versionshanterad" -#: builtin/mv.c:209 +#: builtin/mv.c:210 msgid "destination exists" msgstr "destinationen finns" -#: builtin/mv.c:217 +#: builtin/mv.c:218 #, c-format msgid "overwriting '%s'" msgstr "skriver ΓΆver \"%s\"" -#: builtin/mv.c:220 +#: builtin/mv.c:221 msgid "Cannot overwrite" msgstr "Kan inte skriva ΓΆver" -#: builtin/mv.c:223 +#: builtin/mv.c:224 msgid "multiple sources for the same target" msgstr "flera kΓ€llor fΓΆr samma mΓ₯l" -#: builtin/mv.c:225 +#: builtin/mv.c:226 msgid "destination directory does not exist" msgstr "destinationskatalogen finns inte" -#: builtin/mv.c:232 +#: builtin/mv.c:233 #, c-format msgid "%s, source=%s, destination=%s" msgstr "%s, kΓ€lla=%s, mΓ₯l=%s" -#: builtin/mv.c:253 +#: builtin/mv.c:254 #, c-format msgid "Renaming %s to %s\n" msgstr "Byter namn pΓ₯ %s till %s\n" -#: builtin/mv.c:256 builtin/remote.c:728 builtin/repack.c:365 +#: builtin/mv.c:257 builtin/remote.c:714 builtin/repack.c:365 #, c-format msgid "renaming '%s' failed" msgstr "misslyckades byta namn pΓ₯ \"%s\"" @@ -8209,9 +8469,9 @@ msgid "could not open or read '%s'" msgstr "kunde inte ΓΆppna eller lΓ€sa \"%s\"" #: builtin/notes.c:253 builtin/notes.c:304 builtin/notes.c:306 -#: builtin/notes.c:366 builtin/notes.c:421 builtin/notes.c:507 -#: builtin/notes.c:512 builtin/notes.c:590 builtin/notes.c:653 -#: builtin/notes.c:877 builtin/tag.c:456 +#: builtin/notes.c:369 builtin/notes.c:424 builtin/notes.c:510 +#: builtin/notes.c:515 builtin/notes.c:593 builtin/notes.c:656 +#: builtin/notes.c:880 builtin/tag.c:456 #, c-format msgid "Failed to resolve '%s' as a valid ref." msgstr "Kunde inte slΓ₯ upp \"%s\" som en giltig referens." @@ -8226,42 +8486,42 @@ msgstr "Kunde inte lΓ€sa objektet \"%s\"." msgid "Cannot read note data from non-blob object '%s'." msgstr "kan inte lΓ€sa anteckningsdata frΓ₯n icke-blob-objektet \"%s\"." -#: builtin/notes.c:359 builtin/notes.c:414 builtin/notes.c:490 -#: builtin/notes.c:502 builtin/notes.c:578 builtin/notes.c:646 -#: builtin/notes.c:942 +#: builtin/notes.c:362 builtin/notes.c:417 builtin/notes.c:493 +#: builtin/notes.c:505 builtin/notes.c:581 builtin/notes.c:649 +#: builtin/notes.c:945 msgid "too many parameters" msgstr "fΓΆr mΓ₯nga parametrar" -#: builtin/notes.c:372 builtin/notes.c:659 +#: builtin/notes.c:375 builtin/notes.c:662 #, c-format msgid "No note found for object %s." msgstr "Inga anteckningar hittades fΓΆr objektet %s." -#: builtin/notes.c:393 builtin/notes.c:556 +#: builtin/notes.c:396 builtin/notes.c:559 msgid "note contents as a string" msgstr "anteckningsinnehΓ₯ll som strΓ€ng" -#: builtin/notes.c:396 builtin/notes.c:559 +#: builtin/notes.c:399 builtin/notes.c:562 msgid "note contents in a file" msgstr "anteckningsinnehΓ₯ll i en fil" -#: builtin/notes.c:399 builtin/notes.c:562 +#: builtin/notes.c:402 builtin/notes.c:565 msgid "reuse and edit specified note object" msgstr "Γ₯teranvΓ€nd och redigera angivet anteckningsobjekt" -#: builtin/notes.c:402 builtin/notes.c:565 +#: builtin/notes.c:405 builtin/notes.c:568 msgid "reuse specified note object" msgstr "Γ₯teranvΓ€nd angivet anteckningsobjekt" -#: builtin/notes.c:405 builtin/notes.c:568 +#: builtin/notes.c:408 builtin/notes.c:571 msgid "allow storing empty note" msgstr "tillΓ₯t lagra tom anteckning" -#: builtin/notes.c:406 builtin/notes.c:477 +#: builtin/notes.c:409 builtin/notes.c:480 msgid "replace existing notes" msgstr "ersΓ€tt befintliga anteckningar" -#: builtin/notes.c:431 +#: builtin/notes.c:434 #, c-format msgid "" "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite " @@ -8270,29 +8530,29 @@ msgstr "" "Kan inte lΓ€gga till anteckningar. Hittade befintliga anteckningar fΓΆr " "objektet %s. AnvΓ€nd \"-f\" fΓΆr att skriva ΓΆver befintliga anteckningar" -#: builtin/notes.c:446 builtin/notes.c:525 +#: builtin/notes.c:449 builtin/notes.c:528 #, c-format msgid "Overwriting existing notes for object %s\n" msgstr "Skriver ΓΆver befintliga anteckningar fΓΆr objektet %s\n" -#: builtin/notes.c:457 builtin/notes.c:618 builtin/notes.c:882 +#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:885 #, c-format msgid "Removing note for object %s\n" msgstr "Tar bort anteckning fΓΆr objektet %s\n" -#: builtin/notes.c:478 +#: builtin/notes.c:481 msgid "read objects from stdin" msgstr "lΓ€s objekt frΓ₯n standard in" -#: builtin/notes.c:480 +#: builtin/notes.c:483 msgid "load rewriting config for <command> (implies --stdin)" msgstr "lΓ€s omskrivningsinstΓ€llning fΓΆr <kommando> (implicerar --stdin)" -#: builtin/notes.c:498 +#: builtin/notes.c:501 msgid "too few parameters" msgstr "fΓΆr fΓ₯ parametrar" -#: builtin/notes.c:519 +#: builtin/notes.c:522 #, c-format msgid "" "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite " @@ -8301,12 +8561,12 @@ msgstr "" "Kan inte kopiera anteckningar. Hittade befintliga anteckningar fΓΆr objektet " "%s. AnvΓ€nd \"-f\" fΓΆr att skriva ΓΆver befintliga anteckningar" -#: builtin/notes.c:531 +#: builtin/notes.c:534 #, c-format msgid "Missing notes on source object %s. Cannot copy." msgstr "Anteckningar pΓ₯ kΓ€llobjektet %s saknas. Kan inte kopiera." -#: builtin/notes.c:583 +#: builtin/notes.c:586 #, c-format msgid "" "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n" @@ -8315,15 +8575,15 @@ msgstr "" "Flaggorna -m/-F/-c/-C rekommenderas inte fΓΆr underkommandot \"edit\".\n" "AnvΓ€nd \"git notes add -f -m/-F/-c/-C\" istΓ€llet.\n" -#: builtin/notes.c:764 +#: builtin/notes.c:767 msgid "General options" msgstr "AllmΓ€nna flaggor" -#: builtin/notes.c:766 +#: builtin/notes.c:769 msgid "Merge options" msgstr "Flaggor fΓΆr sammanslagning" -#: builtin/notes.c:768 +#: builtin/notes.c:771 msgid "" "resolve notes conflicts using the given strategy (manual/ours/theirs/union/" "cat_sort_uniq)" @@ -8331,51 +8591,51 @@ msgstr "" "lΓ€s konflikter i anteckningar med angiven strategi (manual/ours/theirs/union/" "cat_sort_uniq)" -#: builtin/notes.c:770 +#: builtin/notes.c:773 msgid "Committing unmerged notes" msgstr "Checkar in ej sammanslagna anteckningar" -#: builtin/notes.c:772 +#: builtin/notes.c:775 msgid "finalize notes merge by committing unmerged notes" msgstr "" "fΓ€rdigstΓ€ll sammanslagning av anteckningar genom att checka in ej " "sammanslagna anteckningar" -#: builtin/notes.c:774 +#: builtin/notes.c:777 msgid "Aborting notes merge resolution" msgstr "Avbryt lΓΆsning av sammanslagning av anteckningar" -#: builtin/notes.c:776 +#: builtin/notes.c:779 msgid "abort notes merge" msgstr "avbryt sammanslagning av anteckningar" -#: builtin/notes.c:853 +#: builtin/notes.c:856 #, c-format msgid "A notes merge into %s is already in-progress at %s" msgstr "Sammanslagning av anteckningar till %s Γ€r redan igΓ₯ngsatt pΓ₯ %s" -#: builtin/notes.c:880 +#: builtin/notes.c:883 #, c-format msgid "Object %s has no note\n" msgstr "Objektet %s har ingen anteckning\n" -#: builtin/notes.c:892 +#: builtin/notes.c:895 msgid "attempt to remove non-existent note is not an error" msgstr "fΓΆrsΓΆk att ta bort icke-existerande anteckningar Γ€r inte ett fel" -#: builtin/notes.c:895 +#: builtin/notes.c:898 msgid "read object names from the standard input" msgstr "lΓ€s objektnamn frΓ₯n standard in" -#: builtin/notes.c:976 +#: builtin/notes.c:979 msgid "notes-ref" msgstr "anteckningar-ref" -#: builtin/notes.c:977 +#: builtin/notes.c:980 msgid "use notes from <notes-ref>" msgstr "anvΓ€nd anteckningar frΓ₯n <anteckningsref>" -#: builtin/notes.c:1012 builtin/remote.c:1647 +#: builtin/notes.c:1015 builtin/remote.c:1626 #, c-format msgid "Unknown subcommand: %s" msgstr "OkΓ€nt underkommando: %s" @@ -8397,165 +8657,165 @@ msgstr "" msgid "deflate error (%d)" msgstr "fel i deflate (%d)" -#: builtin/pack-objects.c:771 +#: builtin/pack-objects.c:772 msgid "Writing objects" msgstr "Skriver objekt" -#: builtin/pack-objects.c:1011 +#: builtin/pack-objects.c:1012 msgid "disabling bitmap writing, as some objects are not being packed" msgstr "inaktiverar skrivning av bitkarta dΓ₯ nΓ₯gra objekt inte packas" -#: builtin/pack-objects.c:2171 +#: builtin/pack-objects.c:2172 msgid "Compressing objects" msgstr "Komprimerar objekt" -#: builtin/pack-objects.c:2568 +#: builtin/pack-objects.c:2558 #, c-format msgid "unsupported index version %s" msgstr "indexversionen %s stΓΆds ej" -#: builtin/pack-objects.c:2572 +#: builtin/pack-objects.c:2562 #, c-format msgid "bad index version '%s'" msgstr "felaktig indexversion \"%s\"" -#: builtin/pack-objects.c:2602 +#: builtin/pack-objects.c:2592 msgid "do not show progress meter" msgstr "visa inte fΓΆrloppsindikator" -#: builtin/pack-objects.c:2604 +#: builtin/pack-objects.c:2594 msgid "show progress meter" msgstr "visa fΓΆrloppsindikator" -#: builtin/pack-objects.c:2606 +#: builtin/pack-objects.c:2596 msgid "show progress meter during object writing phase" msgstr "visa fΓΆrloppsindikator under objektskrivningsfasen" -#: builtin/pack-objects.c:2609 +#: builtin/pack-objects.c:2599 msgid "similar to --all-progress when progress meter is shown" -msgstr "som --all-progress nΓ€r fΓΆrloppsmΓ€taren visas" +msgstr "som --all-progress nΓ€r fΓΆrloppsindikatorn visas" -#: builtin/pack-objects.c:2610 +#: builtin/pack-objects.c:2600 msgid "version[,offset]" msgstr "version[,offset]" -#: builtin/pack-objects.c:2611 +#: builtin/pack-objects.c:2601 msgid "write the pack index file in the specified idx format version" msgstr "skriv paketindexfilen i angiven indexformatversion" -#: builtin/pack-objects.c:2614 +#: builtin/pack-objects.c:2604 msgid "maximum size of each output pack file" msgstr "maximal storlek pΓ₯ varje utdatapaketfil" -#: builtin/pack-objects.c:2616 +#: builtin/pack-objects.c:2606 msgid "ignore borrowed objects from alternate object store" msgstr "ignorera lΓ₯nade objekt frΓ₯n alternativa objektlager" -#: builtin/pack-objects.c:2618 +#: builtin/pack-objects.c:2608 msgid "ignore packed objects" msgstr "ignorera packade objekt" -#: builtin/pack-objects.c:2620 +#: builtin/pack-objects.c:2610 msgid "limit pack window by objects" msgstr "begrΓ€nsa paketfΓΆnster efter objekt" -#: builtin/pack-objects.c:2622 +#: builtin/pack-objects.c:2612 msgid "limit pack window by memory in addition to object limit" msgstr "begrΓ€nsa paketfΓΆnster efter minne fΓΆrutom objektgrΓ€ns" -#: builtin/pack-objects.c:2624 +#: builtin/pack-objects.c:2614 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "maximal lΓ€ngd pΓ₯ deltakedja tillΓ₯ten i slutligt paket" -#: builtin/pack-objects.c:2626 +#: builtin/pack-objects.c:2616 msgid "reuse existing deltas" msgstr "Γ₯teranvΓ€nd befintliga delta" -#: builtin/pack-objects.c:2628 +#: builtin/pack-objects.c:2618 msgid "reuse existing objects" msgstr "Γ₯teranvΓ€nd befintliga objekt" -#: builtin/pack-objects.c:2630 +#: builtin/pack-objects.c:2620 msgid "use OFS_DELTA objects" msgstr "anvΓ€nd OFS_DELTA-objekt" -#: builtin/pack-objects.c:2632 +#: builtin/pack-objects.c:2622 msgid "use threads when searching for best delta matches" msgstr "anvΓ€nd trΓ₯dar vid sΓΆkning efter bΓ€sta deltatrΓ€ffar" -#: builtin/pack-objects.c:2634 +#: builtin/pack-objects.c:2624 msgid "do not create an empty pack output" msgstr "fΓΆrsΓΆk inte skapa tom paketutdata" -#: builtin/pack-objects.c:2636 +#: builtin/pack-objects.c:2626 msgid "read revision arguments from standard input" msgstr "lΓ€s revisionsargument frΓ₯n standard in" -#: builtin/pack-objects.c:2638 +#: builtin/pack-objects.c:2628 msgid "limit the objects to those that are not yet packed" msgstr "begrΓ€nsa objekt till de som Γ€nnu inte packats" -#: builtin/pack-objects.c:2641 +#: builtin/pack-objects.c:2631 msgid "include objects reachable from any reference" msgstr "inkludera objekt som kan nΓ₯s frΓ₯n nΓ₯gon referens" -#: builtin/pack-objects.c:2644 +#: builtin/pack-objects.c:2634 msgid "include objects referred by reflog entries" msgstr "inkludera objekt som refereras frΓ₯n referensloggposter" -#: builtin/pack-objects.c:2647 +#: builtin/pack-objects.c:2637 msgid "include objects referred to by the index" msgstr "inkludera objekt som refereras frΓ₯n indexet" -#: builtin/pack-objects.c:2650 +#: builtin/pack-objects.c:2640 msgid "output pack to stdout" msgstr "skriv paket pΓ₯ standard ut" -#: builtin/pack-objects.c:2652 +#: builtin/pack-objects.c:2642 msgid "include tag objects that refer to objects to be packed" msgstr "inkludera taggobjekt som refererar objekt som skall packas" -#: builtin/pack-objects.c:2654 +#: builtin/pack-objects.c:2644 msgid "keep unreachable objects" msgstr "behΓ₯ll onΓ₯bara objekt" -#: builtin/pack-objects.c:2655 parse-options.h:142 +#: builtin/pack-objects.c:2645 parse-options.h:142 msgid "time" msgstr "tid" -#: builtin/pack-objects.c:2656 +#: builtin/pack-objects.c:2646 msgid "unpack unreachable objects newer than <time>" msgstr "packa upp onΓ₯bara objekt nyare Γ€n <tid>" -#: builtin/pack-objects.c:2659 +#: builtin/pack-objects.c:2649 msgid "create thin packs" msgstr "skapa tunna paket" -#: builtin/pack-objects.c:2661 +#: builtin/pack-objects.c:2651 msgid "create packs suitable for shallow fetches" msgstr "skapa packfiler lΓ€mpade fΓΆr grunda hΓ€mtningar" -#: builtin/pack-objects.c:2663 +#: builtin/pack-objects.c:2653 msgid "ignore packs that have companion .keep file" msgstr "ignorera paket som har tillhΓΆrande .keep-fil" -#: builtin/pack-objects.c:2665 +#: builtin/pack-objects.c:2655 msgid "pack compression level" msgstr "komprimeringsgrad fΓΆr paket" -#: builtin/pack-objects.c:2667 +#: builtin/pack-objects.c:2657 msgid "do not hide commits by grafts" msgstr "gΓΆm inte incheckningar med ympningar (\"grafts\")" -#: builtin/pack-objects.c:2669 +#: builtin/pack-objects.c:2659 msgid "use a bitmap index if available to speed up counting objects" msgstr "anvΓ€nd bitkartindex om tillgΓ€ngligt fΓΆr att rΓ€kna objekt snabbare" -#: builtin/pack-objects.c:2671 +#: builtin/pack-objects.c:2661 msgid "write a bitmap index together with the pack index" msgstr "anvΓ€nd bitkartindex tillsammans med packindexet" -#: builtin/pack-objects.c:2762 +#: builtin/pack-objects.c:2752 msgid "Counting objects" msgstr "RΓ€knar objekt" @@ -8599,49 +8859,53 @@ msgstr "lΓ₯t tid gΓ₯ ut fΓΆr objekt Γ€ldre Γ€n <tid>" msgid "cannot prune in a precious-objects repo" msgstr "kan inte rensa i ett \"precious-objekt\"-arkiv" -#: builtin/pull.c:69 +#: builtin/pull.c:72 msgid "git pull [<options>] [<repository> [<refspec>...]]" msgstr "git pull [<flaggor>] [<arkiv> [<refspec>...]]" -#: builtin/pull.c:113 +#: builtin/pull.c:117 msgid "Options related to merging" msgstr "Alternativ gΓ€llande sammanslagning" -#: builtin/pull.c:116 +#: builtin/pull.c:120 msgid "incorporate changes by rebasing rather than merging" msgstr "inlemma Γ€ndringar genom ombasering i stΓ€llet fΓΆr sammanslagning" -#: builtin/pull.c:140 builtin/revert.c:105 +#: builtin/pull.c:144 builtin/revert.c:105 msgid "allow fast-forward" msgstr "tillΓ₯t snabbspolning" -#: builtin/pull.c:146 +#: builtin/pull.c:150 msgid "verify that the named commit has a valid GPG signature" msgstr "bekrΓ€fta att den namngivna incheckningen har en giltig GPG-signatur" -#: builtin/pull.c:160 +#: builtin/pull.c:164 msgid "Options related to fetching" msgstr "Alternativ gΓ€llande hΓ€mtningar" -#: builtin/pull.c:268 +#: builtin/pull.c:186 +msgid "number of submodules pulled in parallel" +msgstr "antal undermoduler som hΓ€mtas parallellt" + +#: builtin/pull.c:275 #, c-format msgid "Invalid value for pull.ff: %s" msgstr "Felaktigt vΓ€rde fΓΆr pull.ff: %s" -#: builtin/pull.c:352 +#: builtin/pull.c:359 msgid "Cannot pull with rebase: You have unstaged changes." msgstr "Kan inte hΓ€mta med ombasering: Du har okΓΆade Γ€ndringar." -#: builtin/pull.c:358 +#: builtin/pull.c:365 msgid "Additionally, your index contains uncommitted changes." msgstr "Dessutom innehΓ₯ller dit index Γ€ndringar som inte har checkats in." -#: builtin/pull.c:360 +#: builtin/pull.c:367 msgid "Cannot pull with rebase: Your index contains uncommitted changes." msgstr "" "Kan inte hΓ€mta med ombasering: Ditt index innehΓ₯ller oincheckade Γ€ndringar." -#: builtin/pull.c:436 +#: builtin/pull.c:443 msgid "" "There is no candidate for rebasing against among the refs that you just " "fetched." @@ -8649,14 +8913,14 @@ msgstr "" "Det finns ingen kandidat fΓΆr ombasering bland referenserna du precis har " "hΓ€mtat." -#: builtin/pull.c:438 +#: builtin/pull.c:445 msgid "" "There are no candidates for merging among the refs that you just fetched." msgstr "" "Det finns ingen kandidat fΓΆr sammanslagning bland referenserna du precis har " "hΓ€mtat." -#: builtin/pull.c:439 +#: builtin/pull.c:446 msgid "" "Generally this means that you provided a wildcard refspec which had no\n" "matches on the remote end." @@ -8664,7 +8928,7 @@ msgstr "" "Det betyder vanligtvis att du anvΓ€nt en jokertecken-refspec som inte\n" "motsvarade nΓ₯got i fjΓ€rrΓ€nden." -#: builtin/pull.c:442 +#: builtin/pull.c:449 #, c-format msgid "" "You asked to pull from the remote '%s', but did not specify\n" @@ -8675,27 +8939,27 @@ msgstr "" "gren. Eftersom det inte Γ€r den fjΓ€rr som Γ€r konfigurerad som\n" "standard fΓΆr aktuell gren mΓ₯ste du ange en gren pΓ₯ kommandoraden." -#: builtin/pull.c:447 +#: builtin/pull.c:454 msgid "You are not currently on a branch." msgstr "Du Γ€r inte pΓ₯ nΓ₯gon gren fΓΆr nΓ€rvarande." -#: builtin/pull.c:449 builtin/pull.c:464 +#: builtin/pull.c:456 builtin/pull.c:471 msgid "Please specify which branch you want to rebase against." msgstr "Ange vilken gren du vill ombasera mot." -#: builtin/pull.c:451 builtin/pull.c:466 +#: builtin/pull.c:458 builtin/pull.c:473 msgid "Please specify which branch you want to merge with." msgstr "Ange vilken gren du vill slΓ₯ samman med." -#: builtin/pull.c:452 builtin/pull.c:467 +#: builtin/pull.c:459 builtin/pull.c:474 msgid "See git-pull(1) for details." msgstr "Se git-pull(1) fΓΆr detaljer." -#: builtin/pull.c:462 +#: builtin/pull.c:469 msgid "There is no tracking information for the current branch." msgstr "Det finns ingen spΓ₯rningsinformation fΓΆr aktuell gren." -#: builtin/pull.c:471 +#: builtin/pull.c:478 #, c-format msgid "" "If you wish to set tracking information for this branch you can do so with:\n" @@ -8706,7 +8970,7 @@ msgstr "" "\n" " git branch --set-upstream-to=%s/<gren> %s\n" -#: builtin/pull.c:476 +#: builtin/pull.c:483 #, c-format msgid "" "Your configuration specifies to merge with the ref '%s'\n" @@ -8715,11 +8979,11 @@ msgstr "" "Dina instΓ€llningar anger sammanslagning med referensen \"%s\"\n" "frΓ₯n fjΓ€rren, men nΓ₯gon sΓ₯dan referens togs inte emot." -#: builtin/pull.c:830 +#: builtin/pull.c:841 msgid "Updating an unborn branch with changes added to the index." msgstr "Uppdaterar en ofΓΆdd gren med Γ€ndringar som lagts till i indexet." -#: builtin/pull.c:859 +#: builtin/pull.c:870 #, c-format msgid "" "fetch updated the current branch head.\n" @@ -8730,7 +8994,7 @@ msgstr "" "snabbspolar din arbetskatalog frΓ₯n\n" "incheckningen %s." -#: builtin/pull.c:864 +#: builtin/pull.c:875 #, c-format msgid "" "Cannot fast-forward your working tree.\n" @@ -8747,11 +9011,11 @@ msgstr "" "$ git reset --hard\n" "fΓΆr att Γ₯tergΓ₯." -#: builtin/pull.c:879 +#: builtin/pull.c:890 msgid "Cannot merge multiple branches into empty head." msgstr "Kan inte slΓ₯ ihop flera grenar i ett tomt huvud." -#: builtin/pull.c:883 +#: builtin/pull.c:894 msgid "Cannot rebase onto multiple branches." msgstr "Kan inte ombasera ovanpΓ₯ flera grenar." @@ -8759,15 +9023,15 @@ msgstr "Kan inte ombasera ovanpΓ₯ flera grenar." msgid "git push [<options>] [<repository> [<refspec>...]]" msgstr "git push [<flaggor>] [<arkiv> [<refspec>...]]" -#: builtin/push.c:88 +#: builtin/push.c:89 msgid "tag shorthand without <tag>" msgstr "taggfΓΆrkortning utan <tagg>" -#: builtin/push.c:98 +#: builtin/push.c:99 msgid "--delete only accepts plain target ref names" msgstr "--delete godtar endast enkla mΓ₯lreferensnamn" -#: builtin/push.c:142 +#: builtin/push.c:143 msgid "" "\n" "To choose either option permanently, see push.default in 'git help config'." @@ -8776,7 +9040,7 @@ msgstr "" "FΓΆr att vΓ€lja ett av alternativen permanent, se push.default i \"git help " "config\"." -#: builtin/push.c:145 +#: builtin/push.c:146 #, c-format msgid "" "The upstream branch of your current branch does not match\n" @@ -8801,7 +9065,7 @@ msgstr "" " git push %s %s\n" "%s" -#: builtin/push.c:160 +#: builtin/push.c:161 #, c-format msgid "" "You are not currently on a branch.\n" @@ -8816,7 +9080,7 @@ msgstr "" "\n" " git push %s HEAD:<namn-pΓ₯-fjΓ€rrgren>\n" -#: builtin/push.c:174 +#: builtin/push.c:175 #, c-format msgid "" "The current branch %s has no upstream branch.\n" @@ -8829,12 +9093,12 @@ msgstr "" "\n" " git push --set-upstream %s %s\n" -#: builtin/push.c:182 +#: builtin/push.c:183 #, c-format msgid "The current branch %s has multiple upstream branches, refusing to push." msgstr "Den aktuella grenen %s har flera uppstrΓΆmsgrenar, vΓ€grar sΓ€nda." -#: builtin/push.c:185 +#: builtin/push.c:186 #, c-format msgid "" "You are pushing to remote '%s', which is not the upstream of\n" @@ -8845,62 +9109,14 @@ msgstr "" "aktuella grenen \"%s\", utan att tala om fΓΆr mig vad som\n" "skall sΓ€ndas fΓΆr att uppdatera fjΓ€rrgrenen." -#: builtin/push.c:208 -msgid "" -"push.default is unset; its implicit value has changed in\n" -"Git 2.0 from 'matching' to 'simple'. To squelch this message\n" -"and maintain the traditional behavior, use:\n" -"\n" -" git config --global push.default matching\n" -"\n" -"To squelch this message and adopt the new behavior now, use:\n" -"\n" -" git config --global push.default simple\n" -"\n" -"When push.default is set to 'matching', git will push local branches\n" -"to the remote branches that already exist with the same name.\n" -"\n" -"Since Git 2.0, Git defaults to the more conservative 'simple'\n" -"behavior, which only pushes the current branch to the corresponding\n" -"remote branch that 'git pull' uses to update the current branch.\n" -"\n" -"See 'git help config' and search for 'push.default' for further " -"information.\n" -"(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n" -"'current' instead of 'simple' if you sometimes use older versions of Git)" -msgstr "" -"push.default har inte stΓ€llts in; dess underfΓΆrstΓ₯dda vΓ€rde\n" -"Γ€ndras i Git 2.0 frΓ₯n \"matching\" till \"simple\". FΓΆr att\n" -"undertrycka det hΓ€r meddelandet och behΓ₯lla traditionellt beteende\n" -"skriver du:\n" -"\n" -" git config --global push.default matching\n" -"\n" -"FΓΆr att undertrycka meddelandet och vΓ€lja det nya beteendet nu skriver du:\n" -"\n" -" git config --global push.default simple\n" -"\n" -"NΓ€r push.default Γ€r satt till \"matching\" kommer git att sΓ€nda lokala " -"grenar\n" -"till fjΓ€rrgrenar som redan finns och som har samma namn.\n" -"\n" -"Git 2.0 kommer som standard vΓ€lja den mer konservativa instΓ€llningen\n" -"\"simple\", vilket bara sΓ€nder in den aktuella grenen till den motsvarande\n" -"fjΓ€rrgren \"git pull\" anvΓ€nder fΓΆr att uppdatera den aktuella grenen.\n" -"\n" -"Se \"git help config\" och sΓΆk efter \"push.default\" fΓΆr ytterligare \n" -"information. (LΓ€get \"simple\" introducerades i Git 1.7.11. AnvΓ€nd det\n" -"liknande lΓ€get \"current\" istΓ€llet fΓΆr \"simple\" om du ibland anvΓ€nder\n" -"Γ€ldre versioner av Git.)" - -#: builtin/push.c:275 +#: builtin/push.c:242 msgid "" "You didn't specify any refspecs to push, and push.default is \"nothing\"." msgstr "" "Du angav inga referensspecifikationer att sΓ€nda, och push.default Γ€r " "\"nothing\"." -#: builtin/push.c:282 +#: builtin/push.c:249 msgid "" "Updates were rejected because the tip of your current branch is behind\n" "its remote counterpart. Integrate the remote changes (e.g.\n" @@ -8912,7 +9128,7 @@ msgstr "" "\"git pull ....\") innan du sΓ€nder igen.\n" "Se avsnittet \"Note about fast-forward\" i \"git push --help\" fΓΆr detaljer." -#: builtin/push.c:288 +#: builtin/push.c:255 msgid "" "Updates were rejected because a pushed branch tip is behind its remote\n" "counterpart. Check out this branch and integrate the remote changes\n" @@ -8924,7 +9140,7 @@ msgstr "" "\"git pull ...\") innan du sΓ€nder igen.\n" "Se avsnittet \"Note about fast-forward\" i \"git push --help\" fΓΆr detaljer." -#: builtin/push.c:294 +#: builtin/push.c:261 msgid "" "Updates were rejected because the remote contains work that you do\n" "not have locally. This is usually caused by another repository pushing\n" @@ -8938,11 +9154,11 @@ msgstr "" "(t.ex. \"git pull ...\") innan du sΓ€nder igen.\n" "Se avsnittet \"Note about fast-forwards\" i \"git push --help\" fΓΆr detaljer." -#: builtin/push.c:301 +#: builtin/push.c:268 msgid "Updates were rejected because the tag already exists in the remote." msgstr "Uppdateringarna avvisades eftersom taggen redan finns pΓ₯ fjΓ€rren." -#: builtin/push.c:304 +#: builtin/push.c:271 msgid "" "You cannot update a remote ref that points at a non-commit object,\n" "or update a remote ref to make it point at a non-commit object,\n" @@ -8953,22 +9169,22 @@ msgstr "" "pekar pΓ₯ nΓ₯got som inte Γ€r en incheckning, utan att anvΓ€nda flaggan\n" "\"--force\".\n" -#: builtin/push.c:363 +#: builtin/push.c:331 #, c-format msgid "Pushing to %s\n" msgstr "SΓ€nder till %s\n" -#: builtin/push.c:367 +#: builtin/push.c:335 #, c-format msgid "failed to push some refs to '%s'" msgstr "misslyckades sΓ€nda vissa referenser till \"%s\"" -#: builtin/push.c:397 +#: builtin/push.c:365 #, c-format msgid "bad repository '%s'" msgstr "felaktigt arkiv \"%s\"" -#: builtin/push.c:398 +#: builtin/push.c:366 msgid "" "No configured push destination.\n" "Either specify the URL from the command-line or configure a remote " @@ -8989,104 +9205,100 @@ msgstr "" "\n" " git push <namn>\n" -#: builtin/push.c:413 +#: builtin/push.c:381 msgid "--all and --tags are incompatible" msgstr "--all och --tags Γ€r inkompatibla" -#: builtin/push.c:414 +#: builtin/push.c:382 msgid "--all can't be combined with refspecs" msgstr "--all kan inte kombineras med referensspecifikationer" -#: builtin/push.c:419 +#: builtin/push.c:387 msgid "--mirror and --tags are incompatible" msgstr "--mirror och --tags Γ€r inkompatibla" -#: builtin/push.c:420 +#: builtin/push.c:388 msgid "--mirror can't be combined with refspecs" msgstr "--mirror kan inte kombineras med referensspecifikationer" -#: builtin/push.c:425 +#: builtin/push.c:393 msgid "--all and --mirror are incompatible" msgstr "--all och --mirror Γ€r inkompatibla" -#: builtin/push.c:537 +#: builtin/push.c:505 msgid "repository" msgstr "arkiv" -#: builtin/push.c:538 builtin/send-pack.c:161 +#: builtin/push.c:506 builtin/send-pack.c:161 msgid "push all refs" msgstr "sΓ€nd alla referenser" -#: builtin/push.c:539 builtin/send-pack.c:163 +#: builtin/push.c:507 builtin/send-pack.c:163 msgid "mirror all refs" msgstr "spegla alla referenser" -#: builtin/push.c:541 +#: builtin/push.c:509 msgid "delete refs" msgstr "ta bort referenser" -#: builtin/push.c:542 +#: builtin/push.c:510 msgid "push tags (can't be used with --all or --mirror)" msgstr "sΓ€nd taggar (kan inte anvΓ€ndas med --all eller --mirror)" -#: builtin/push.c:545 builtin/send-pack.c:164 +#: builtin/push.c:513 builtin/send-pack.c:164 msgid "force updates" msgstr "tvinga uppdateringar" -#: builtin/push.c:547 builtin/send-pack.c:175 +#: builtin/push.c:515 builtin/send-pack.c:175 msgid "refname>:<expect" msgstr "refnamn>:<fΓΆrvΓ€nta" -#: builtin/push.c:548 builtin/send-pack.c:176 +#: builtin/push.c:516 builtin/send-pack.c:176 msgid "require old value of ref to be at this value" msgstr "krΓ€v att ref:s tidigare vΓ€rde Γ€r detta" -#: builtin/push.c:550 -msgid "check|on-demand|no" -msgstr "check|on-demand|no" - -#: builtin/push.c:551 +#: builtin/push.c:519 msgid "control recursive pushing of submodules" msgstr "styr rekursiv insΓ€ndning av undermoduler" -#: builtin/push.c:553 builtin/send-pack.c:169 +#: builtin/push.c:521 builtin/send-pack.c:169 msgid "use thin pack" msgstr "anvΓ€nd tunna paket" -#: builtin/push.c:554 builtin/push.c:555 builtin/send-pack.c:158 +#: builtin/push.c:522 builtin/push.c:523 builtin/send-pack.c:158 #: builtin/send-pack.c:159 msgid "receive pack program" msgstr "program fΓΆr att ta emot paket" -#: builtin/push.c:556 +#: builtin/push.c:524 msgid "set upstream for git pull/status" msgstr "stΓ€ll in uppstrΓΆm fΓΆr git pull/status" -#: builtin/push.c:559 +#: builtin/push.c:527 msgid "prune locally removed refs" msgstr "ta bort lokalt borttagna referenser" -#: builtin/push.c:561 +#: builtin/push.c:529 msgid "bypass pre-push hook" msgstr "fΓΆrbigΓ₯ pre-push-krok" -#: builtin/push.c:562 +#: builtin/push.c:530 msgid "push missing but relevant tags" msgstr "sΓ€nd in saknade men relevanta taggar" -#: builtin/push.c:565 builtin/send-pack.c:166 +#: builtin/push.c:533 builtin/send-pack.c:166 msgid "GPG sign the push" msgstr "GPG-signera insΓ€ndningen" -#: builtin/push.c:567 builtin/send-pack.c:170 +#: builtin/push.c:535 builtin/send-pack.c:170 msgid "request atomic transaction on remote side" msgstr "begΓ€r atomiska transaktioner pΓ₯ fjΓ€rrsidan" -#: builtin/push.c:577 +#: builtin/push.c:549 msgid "--delete is incompatible with --all, --mirror and --tags" msgstr "--delete Γ€r inkompatibel med --all, --mirror och --tags" -#: builtin/push.c:579 +#: builtin/push.c:551 msgid "--delete doesn't make sense without any refs" msgstr "--delete kan inte anvΓ€ndas utan referenser" @@ -9164,12 +9376,12 @@ msgstr "hoppa ΓΆver att applicera filter fΓΆr gles utcheckning" msgid "debug unpack-trees" msgstr "felsΓΆk unpack-trees" -#: builtin/reflog.c:428 +#: builtin/reflog.c:423 #, c-format msgid "'%s' for '%s' is not a valid timestamp" msgstr "\"%s\" fΓΆr \"%s\" Γ€r inte en giltig tidsstΓ€mpel" -#: builtin/reflog.c:545 builtin/reflog.c:550 +#: builtin/reflog.c:540 builtin/reflog.c:545 #, c-format msgid "'%s' is not a valid timestamp" msgstr "\"%s\" Γ€r inte en giltig tidsstΓ€mpel" @@ -9310,55 +9522,45 @@ msgstr "att ange en master-gren ger ingen mening med --mirror" msgid "specifying branches to track makes sense only with fetch mirrors" msgstr "att ange grenar att spΓ₯ra ger mening bara med hΓ€mtningsspeglar" -#: builtin/remote.c:193 builtin/remote.c:643 +#: builtin/remote.c:190 builtin/remote.c:633 #, c-format msgid "remote %s already exists." msgstr "fjΓ€rrarkivet %s finns redan." -#: builtin/remote.c:197 builtin/remote.c:647 +#: builtin/remote.c:194 builtin/remote.c:637 #, c-format msgid "'%s' is not a valid remote name" msgstr "\"%s\" Γ€r inte ett giltigt namn pΓ₯ fjΓ€rrarkiv" -#: builtin/remote.c:241 +#: builtin/remote.c:234 #, c-format msgid "Could not setup master '%s'" msgstr "Kunde inte skapa master \"%s\"" -#: builtin/remote.c:341 +#: builtin/remote.c:336 #, c-format msgid "Could not get fetch map for refspec %s" msgstr "Kunde inte hΓ€mta mappning fΓΆr referensspecifikation %s" -#: builtin/remote.c:442 builtin/remote.c:450 +#: builtin/remote.c:437 builtin/remote.c:445 msgid "(matching)" msgstr "(matchande)" -#: builtin/remote.c:454 +#: builtin/remote.c:449 msgid "(delete)" msgstr "(ta bort)" -#: builtin/remote.c:594 builtin/remote.c:600 builtin/remote.c:606 -#, c-format -msgid "Could not append '%s' to '%s'" -msgstr "Kunde inte tillΓ€mpa \"%s\" pΓ₯ \"%s\"" - -#: builtin/remote.c:636 builtin/remote.c:775 builtin/remote.c:875 +#: builtin/remote.c:626 builtin/remote.c:761 builtin/remote.c:858 #, c-format msgid "No such remote: %s" msgstr "Inget sΓ₯dant fjΓ€rrarkiv: %s" -#: builtin/remote.c:653 +#: builtin/remote.c:643 #, c-format msgid "Could not rename config section '%s' to '%s'" msgstr "Kunde inte byta namn pΓ₯ konfigurationssektionen \"%s\" till \"%s\"" -#: builtin/remote.c:659 builtin/remote.c:827 -#, c-format -msgid "Could not remove config section '%s'" -msgstr "Kunde inte ta bort konfigurationssektionen \"%s\"" - -#: builtin/remote.c:674 +#: builtin/remote.c:663 #, c-format msgid "" "Not updating non-default fetch refspec\n" @@ -9369,27 +9571,17 @@ msgstr "" "\t%s\n" "\tUppdatera konfigurationen manuellt om nΓΆdvΓ€ndigt." -#: builtin/remote.c:680 -#, c-format -msgid "Could not append '%s'" -msgstr "Kunde inte lΓ€gga till pΓ₯ \"%s\"" - -#: builtin/remote.c:691 -#, c-format -msgid "Could not set '%s'" -msgstr "Kunde inte sΓ€tta \"%s\"" - -#: builtin/remote.c:713 +#: builtin/remote.c:699 #, c-format msgid "deleting '%s' failed" msgstr "misslyckades ta bort \"%s\"" -#: builtin/remote.c:747 +#: builtin/remote.c:733 #, c-format msgid "creating '%s' failed" msgstr "misslyckades skapa \"%s\"" -#: builtin/remote.c:813 +#: builtin/remote.c:796 msgid "" "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n" "to delete it, use:" @@ -9403,275 +9595,280 @@ msgstr[1] "" "Observera: NΓ₯gra grenar utanfΓΆr hierarkin refs/remotes/ togs inte bort;\n" "fΓΆr att ta bort dem, anvΓ€nd:" -#: builtin/remote.c:928 +#: builtin/remote.c:810 +#, c-format +msgid "Could not remove config section '%s'" +msgstr "Kunde inte ta bort konfigurationssektionen \"%s\"" + +#: builtin/remote.c:911 #, c-format msgid " new (next fetch will store in remotes/%s)" msgstr " ny (nΓ€sta hΓ€mtning sparar i remotes/%s)" -#: builtin/remote.c:931 +#: builtin/remote.c:914 msgid " tracked" msgstr " spΓ₯rad" -#: builtin/remote.c:933 +#: builtin/remote.c:916 msgid " stale (use 'git remote prune' to remove)" msgstr " fΓΆrlegad (anvΓ€nd \"git remote prune\" fΓΆr att ta bort)" -#: builtin/remote.c:935 +#: builtin/remote.c:918 msgid " ???" msgstr " ???" -#: builtin/remote.c:976 +#: builtin/remote.c:959 #, c-format msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch" msgstr "ogiltig branch.%s.merge; kan inte ombasera ΓΆver > 1 gren" -#: builtin/remote.c:983 +#: builtin/remote.c:967 #, c-format -msgid "rebases onto remote %s" -msgstr "ombaseras pΓ₯ fjΓ€rren %s" +msgid "rebases interactively onto remote %s" +msgstr "ombaseras interaktivt pΓ₯ fjΓ€rren %s" -#: builtin/remote.c:986 +#: builtin/remote.c:971 #, c-format msgid " merges with remote %s" msgstr " sammanslΓ₯s med fjΓ€rren %s" -#: builtin/remote.c:987 +#: builtin/remote.c:972 msgid " and with remote" msgstr " och med fjΓ€rren" -#: builtin/remote.c:989 +#: builtin/remote.c:974 #, c-format msgid "merges with remote %s" msgstr "sammanslΓ₯s med fjΓ€rren %s" -#: builtin/remote.c:990 +#: builtin/remote.c:975 msgid " and with remote" msgstr " och med fjΓ€rren" -#: builtin/remote.c:1036 +#: builtin/remote.c:1021 msgid "create" msgstr "skapa" -#: builtin/remote.c:1039 +#: builtin/remote.c:1024 msgid "delete" msgstr "ta bort" -#: builtin/remote.c:1043 +#: builtin/remote.c:1028 msgid "up to date" msgstr "Γ jour" -#: builtin/remote.c:1046 +#: builtin/remote.c:1031 msgid "fast-forwardable" msgstr "kan snabbspolas" -#: builtin/remote.c:1049 +#: builtin/remote.c:1034 msgid "local out of date" msgstr "lokal fΓΆrΓ₯ldrad" -#: builtin/remote.c:1056 +#: builtin/remote.c:1041 #, c-format msgid " %-*s forces to %-*s (%s)" msgstr " %-*s tvingar till %-*s (%s)" -#: builtin/remote.c:1059 +#: builtin/remote.c:1044 #, c-format msgid " %-*s pushes to %-*s (%s)" msgstr " %-*s sΓ€nder till %-*s (%s)" -#: builtin/remote.c:1063 +#: builtin/remote.c:1048 #, c-format msgid " %-*s forces to %s" msgstr " %-*s tvingar till %s" -#: builtin/remote.c:1066 +#: builtin/remote.c:1051 #, c-format msgid " %-*s pushes to %s" msgstr " %-*s sΓ€nder till %s" -#: builtin/remote.c:1134 +#: builtin/remote.c:1119 msgid "do not query remotes" msgstr "frΓ₯ga inte fjΓ€rrar" -#: builtin/remote.c:1161 +#: builtin/remote.c:1146 #, c-format msgid "* remote %s" msgstr "* fjΓ€rr %s" -#: builtin/remote.c:1162 +#: builtin/remote.c:1147 #, c-format msgid " Fetch URL: %s" msgstr " HΓ€mt-URL: %s" -#: builtin/remote.c:1163 builtin/remote.c:1314 +#: builtin/remote.c:1148 builtin/remote.c:1299 msgid "(no URL)" msgstr "(ingen URL)" -#: builtin/remote.c:1172 builtin/remote.c:1174 +#: builtin/remote.c:1157 builtin/remote.c:1159 #, c-format msgid " Push URL: %s" msgstr " SΓ€nd-URL: %s" -#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180 +#: builtin/remote.c:1161 builtin/remote.c:1163 builtin/remote.c:1165 #, c-format msgid " HEAD branch: %s" msgstr " HEAD-gren: %s" -#: builtin/remote.c:1182 +#: builtin/remote.c:1167 #, c-format msgid "" " HEAD branch (remote HEAD is ambiguous, may be one of the following):\n" msgstr " HEAD-gren (HEAD pΓ₯ fjΓ€rr Γ€r tvetydig, kan vara en av fΓΆljande):\n" -#: builtin/remote.c:1194 +#: builtin/remote.c:1179 #, c-format msgid " Remote branch:%s" msgid_plural " Remote branches:%s" msgstr[0] " FjΓ€rrgren:%s" msgstr[1] " FjΓ€rrgrenar:%s" -#: builtin/remote.c:1197 builtin/remote.c:1224 +#: builtin/remote.c:1182 builtin/remote.c:1209 msgid " (status not queried)" msgstr " (status inte fΓΆrfrΓ₯gad)" -#: builtin/remote.c:1206 +#: builtin/remote.c:1191 msgid " Local branch configured for 'git pull':" msgid_plural " Local branches configured for 'git pull':" msgstr[0] " Lokal gren konfigurerad fΓΆr \"git pull\":" msgstr[1] " Lokala grenar konfigurerade fΓΆr \"git pull\":" -#: builtin/remote.c:1214 +#: builtin/remote.c:1199 msgid " Local refs will be mirrored by 'git push'" msgstr " Lokala referenser speglas av \"git push\"" -#: builtin/remote.c:1221 +#: builtin/remote.c:1206 #, c-format msgid " Local ref configured for 'git push'%s:" msgid_plural " Local refs configured for 'git push'%s:" msgstr[0] " Lokal referens konfigurerad fΓΆr \"git push\"%s:" msgstr[1] " Lokala referenser konfigurerade fΓΆr \"git push\"%s:" -#: builtin/remote.c:1242 +#: builtin/remote.c:1227 msgid "set refs/remotes/<name>/HEAD according to remote" msgstr "sΓ€tt refs/remotes/<namn>/HEAD enligt fjΓ€rren" -#: builtin/remote.c:1244 +#: builtin/remote.c:1229 msgid "delete refs/remotes/<name>/HEAD" msgstr "ta bort refs/remotes/<namn>/HEAD" -#: builtin/remote.c:1259 +#: builtin/remote.c:1244 msgid "Cannot determine remote HEAD" msgstr "Kan inte bestΓ€mma HEAD pΓ₯ fjΓ€rren" -#: builtin/remote.c:1261 +#: builtin/remote.c:1246 msgid "Multiple remote HEAD branches. Please choose one explicitly with:" msgstr "Flera HEAD-grenar pΓ₯ fjΓ€rren. VΓ€lj en explicit med:" -#: builtin/remote.c:1271 +#: builtin/remote.c:1256 #, c-format msgid "Could not delete %s" msgstr "Kunde inte ta bort %s" -#: builtin/remote.c:1279 +#: builtin/remote.c:1264 #, c-format msgid "Not a valid ref: %s" msgstr "Inte en giltig referens: %s" -#: builtin/remote.c:1281 +#: builtin/remote.c:1266 #, c-format msgid "Could not setup %s" msgstr "Kunde inte stΓ€lla in %s" -#: builtin/remote.c:1299 +#: builtin/remote.c:1284 #, c-format msgid " %s will become dangling!" msgstr " %s kommer bli dinglande!" -#: builtin/remote.c:1300 +#: builtin/remote.c:1285 #, c-format msgid " %s has become dangling!" msgstr " %s har blivit dinglande!" -#: builtin/remote.c:1310 +#: builtin/remote.c:1295 #, c-format msgid "Pruning %s" msgstr "Rensar %s" -#: builtin/remote.c:1311 +#: builtin/remote.c:1296 #, c-format msgid "URL: %s" msgstr "URL: %s" -#: builtin/remote.c:1327 +#: builtin/remote.c:1312 #, c-format msgid " * [would prune] %s" msgstr " * [skulle rensa] %s" -#: builtin/remote.c:1330 +#: builtin/remote.c:1315 #, c-format msgid " * [pruned] %s" msgstr " * [rensad] %s" -#: builtin/remote.c:1375 +#: builtin/remote.c:1360 msgid "prune remotes after fetching" msgstr "rensa fjΓ€rrar efter hΓ€mtning" -#: builtin/remote.c:1441 builtin/remote.c:1498 builtin/remote.c:1566 +#: builtin/remote.c:1423 builtin/remote.c:1477 builtin/remote.c:1545 #, c-format msgid "No such remote '%s'" msgstr "Ingen sΓ₯dan fjΓ€rr \"%s\"" -#: builtin/remote.c:1461 +#: builtin/remote.c:1439 msgid "add branch" msgstr "lΓ€gg till gren" -#: builtin/remote.c:1468 +#: builtin/remote.c:1446 msgid "no remote specified" msgstr "ingen fjΓ€rr angavs" -#: builtin/remote.c:1485 +#: builtin/remote.c:1463 msgid "query push URLs rather than fetch URLs" msgstr "frΓ₯ga sΓ€nd-URL:er istΓ€llet fΓΆr hΓ€mta-URL:er" -#: builtin/remote.c:1487 +#: builtin/remote.c:1465 msgid "return all URLs" msgstr "returnera alla URL:er" -#: builtin/remote.c:1515 +#: builtin/remote.c:1493 #, c-format msgid "no URLs configured for remote '%s'" msgstr "ingen URL:er angivna fΓΆr fjΓ€rren \"%s\"" -#: builtin/remote.c:1541 +#: builtin/remote.c:1519 msgid "manipulate push URLs" msgstr "manipulera URL:ar fΓΆr sΓ€ndning" -#: builtin/remote.c:1543 +#: builtin/remote.c:1521 msgid "add URL" msgstr "lΓ€gg till URL" -#: builtin/remote.c:1545 +#: builtin/remote.c:1523 msgid "delete URLs" msgstr "ta bort URL:ar" -#: builtin/remote.c:1552 +#: builtin/remote.c:1530 msgid "--add --delete doesn't make sense" msgstr "--add --delete ger ingen mening" -#: builtin/remote.c:1592 +#: builtin/remote.c:1571 #, c-format msgid "Invalid old URL pattern: %s" msgstr "Felaktig gammalt URL-mΓΆnster: %s" -#: builtin/remote.c:1600 +#: builtin/remote.c:1579 #, c-format msgid "No such URL found: %s" msgstr "Ingen sΓ₯dan URL hittades: %s" -#: builtin/remote.c:1602 +#: builtin/remote.c:1581 msgid "Will not delete all non-push URLs" msgstr "Kommer inte ta bort alla icke-sΓ€nd-URL:er" -#: builtin/remote.c:1616 +#: builtin/remote.c:1595 msgid "be verbose; must be placed before a subcommand" msgstr "var pratsam; mΓ₯ste skrivas fΓΆre ett underkommando" @@ -9973,7 +10170,7 @@ msgstr "Kunde inte Γ₯terstΓ€lla indexfilen till versionen \"%s\"." msgid "Could not write new index file." msgstr "Kunde inte skriva ny indexfil." -#: builtin/rev-list.c:354 +#: builtin/rev-list.c:350 msgid "rev-list does not support display of notes" msgstr "rev-list stΓΆder inte visning av anteckningar" @@ -10226,28 +10423,23 @@ msgstr "visa status frΓ₯n fjΓ€rrhjΓ€lpare" msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]" msgstr "git shortlog [<flaggor>] [<versionsintervall>] [[--] <sΓΆkvΓ€g>...]" -#: builtin/shortlog.c:131 -#, c-format -msgid "Missing author: %s" -msgstr "FΓΆrfattare saknas: %s" - -#: builtin/shortlog.c:230 +#: builtin/shortlog.c:242 msgid "sort output according to the number of commits per author" msgstr "sortera utdata enligt antal incheckningar per fΓΆrfattare" -#: builtin/shortlog.c:232 +#: builtin/shortlog.c:244 msgid "Suppress commit descriptions, only provides commit count" msgstr "Undertryck beskrivningar, visa bara antal incheckningar" -#: builtin/shortlog.c:234 +#: builtin/shortlog.c:246 msgid "Show the email address of each author" msgstr "Visa e-postadress fΓΆr varje fΓΆrfattare" -#: builtin/shortlog.c:235 +#: builtin/shortlog.c:247 msgid "w[,i1[,i2]]" msgstr "w[,i1[,i2]]" -#: builtin/shortlog.c:236 +#: builtin/shortlog.c:248 msgid "Linewrap output" msgstr "Radbryt utdata" @@ -10388,43 +10580,43 @@ msgid "skip and remove all lines starting with comment character" msgstr "hoppa ΓΆver och ta bort alla rader som inleds med kommentarstecken" #: builtin/stripspace.c:38 -msgid "prepend comment character and blank to each line" +msgid "prepend comment character and space to each line" msgstr "lΓ€gg in kommentarstecken och blanksteg fΓΆrst pΓ₯ varje rad" -#: builtin/submodule--helper.c:79 builtin/submodule--helper.c:167 +#: builtin/submodule--helper.c:73 builtin/submodule--helper.c:161 msgid "alternative anchor for relative paths" msgstr "alternativa ankare fΓΆr relativa sΓΆkvΓ€gar" -#: builtin/submodule--helper.c:84 +#: builtin/submodule--helper.c:78 msgid "git submodule--helper list [--prefix=<path>] [<path>...]" msgstr "git submodule--helper list [--prefix=<sΓΆkvΓ€g>] [<sΓΆkvΓ€g>...]" -#: builtin/submodule--helper.c:114 +#: builtin/submodule--helper.c:108 msgid "git submodule--helper name <path>" msgstr "git submodule--helper name <sΓΆkvΓ€g>" -#: builtin/submodule--helper.c:120 +#: builtin/submodule--helper.c:114 #, c-format msgid "no submodule mapping found in .gitmodules for path '%s'" msgstr "hittade ingen undermodulmappning i .gitmodules fΓΆr sΓΆkvΓ€gen \"%s\"" -#: builtin/submodule--helper.c:170 +#: builtin/submodule--helper.c:164 msgid "where the new submodule will be cloned to" msgstr "var den nya undermodulen skall klonas till" -#: builtin/submodule--helper.c:173 +#: builtin/submodule--helper.c:167 msgid "name of the new submodule" msgstr "namn pΓ₯ den nya undermodulen" -#: builtin/submodule--helper.c:176 +#: builtin/submodule--helper.c:170 msgid "url where to clone the submodule from" msgstr "URL att klona undermodulen frΓ₯n" -#: builtin/submodule--helper.c:182 +#: builtin/submodule--helper.c:176 msgid "depth for shallow clones" msgstr "djup fΓΆr grunda kloner" -#: builtin/submodule--helper.c:188 +#: builtin/submodule--helper.c:182 msgid "" "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference " "<repository>] [--name <name>] [--url <url>][--depth <depth>] [--] [<path>...]" @@ -10432,39 +10624,39 @@ msgstr "" "git submodule--helper clone [--prefix=<sΓΆkvΓ€g>] [--quiet] [--reference " "<arkvi>] [--name <namn>] [--url <url>][--depth <djup>] [--] [<sΓΆkvΓ€g>...]" -#: builtin/submodule--helper.c:202 builtin/submodule--helper.c:208 -#: builtin/submodule--helper.c:216 +#: builtin/submodule--helper.c:196 builtin/submodule--helper.c:202 +#: builtin/submodule--helper.c:210 #, c-format msgid "could not create directory '%s'" msgstr "kunde inte skapa katalogen \"%s\"" -#: builtin/submodule--helper.c:204 +#: builtin/submodule--helper.c:198 #, c-format msgid "clone of '%s' into submodule path '%s' failed" msgstr "misslyckades klona \"%s\" till undermodulsΓΆkvΓ€gen \"%s\"" -#: builtin/submodule--helper.c:227 +#: builtin/submodule--helper.c:221 #, c-format msgid "cannot open file '%s'" msgstr "kan inte ΓΆppna filen \"%s\"" -#: builtin/submodule--helper.c:232 +#: builtin/submodule--helper.c:226 #, c-format msgid "could not close file %s" msgstr "kunde inte stΓ€nga filen %s" -#: builtin/submodule--helper.c:247 +#: builtin/submodule--helper.c:241 #, c-format msgid "could not get submodule directory for '%s'" msgstr "kunde inte fΓ₯ tag i undermodulkatalog fΓΆr \"%s\"" -#: builtin/submodule--helper.c:273 +#: builtin/submodule--helper.c:267 msgid "fatal: submodule--helper subcommand must be called with a subcommand" msgstr "" "ΓΆdesdigert: underkommandot submodule--helper mΓ₯ste anropas med ett " "underkommando" -#: builtin/submodule--helper.c:280 +#: builtin/submodule--helper.c:274 #, c-format msgid "fatal: '%s' is not a valid submodule--helper subcommand" msgstr "" @@ -10711,191 +10903,204 @@ msgstr "Uppdaterad tagg \"%s\" (var %s)\n" msgid "Unpacking objects" msgstr "Packar upp objekt" -#: builtin/update-index.c:70 +#: builtin/update-index.c:79 #, c-format msgid "failed to create directory %s" msgstr "misslyckades skapa katalogen %s" -#: builtin/update-index.c:76 +#: builtin/update-index.c:85 #, c-format msgid "failed to stat %s" msgstr "misslyckades ta status pΓ₯ %s" -#: builtin/update-index.c:86 +#: builtin/update-index.c:95 #, c-format msgid "failed to create file %s" msgstr "misslyckades skapa filen %s" -#: builtin/update-index.c:94 +#: builtin/update-index.c:103 #, c-format msgid "failed to delete file %s" msgstr "misslyckades ta bort filen %s" -#: builtin/update-index.c:101 builtin/update-index.c:203 +#: builtin/update-index.c:110 builtin/update-index.c:212 #, c-format msgid "failed to delete directory %s" msgstr "misslyckades ta bort katalogen %s" -#: builtin/update-index.c:124 +#: builtin/update-index.c:133 #, c-format -msgid "Testing " -msgstr "Testar" +msgid "Testing mtime in '%s' " +msgstr "Testar mtime i \"%s\"" -#: builtin/update-index.c:136 +#: builtin/update-index.c:145 msgid "directory stat info does not change after adding a new file" msgstr "stat-informationen fΓΆr en katalog Γ€ndras inte nΓ€r nya filer lΓ€ggs till" -#: builtin/update-index.c:149 +#: builtin/update-index.c:158 msgid "directory stat info does not change after adding a new directory" msgstr "" "stat-informationen fΓΆr en katalog Γ€ndras inte nΓ€r nya kataloger lΓ€ggs till" -#: builtin/update-index.c:162 +#: builtin/update-index.c:171 msgid "directory stat info changes after updating a file" msgstr "stat-informationen fΓΆr en katalog Γ€ndras nΓ€r filer uppdateras" -#: builtin/update-index.c:173 +#: builtin/update-index.c:182 msgid "directory stat info changes after adding a file inside subdirectory" msgstr "" "stat-informationen fΓΆr en katalog Γ€ndras nΓ€r filer lΓ€ggs till i en " "underkatalog" -#: builtin/update-index.c:184 +#: builtin/update-index.c:193 msgid "directory stat info does not change after deleting a file" msgstr "stat-informationen fΓΆr en katalog Γ€ndras inte nΓ€r en fil tas bort" -#: builtin/update-index.c:197 +#: builtin/update-index.c:206 msgid "directory stat info does not change after deleting a directory" msgstr "stat-informationen fΓΆr en katalog Γ€ndras inte nΓ€r en katalog tas bort" -#: builtin/update-index.c:204 +#: builtin/update-index.c:213 msgid " OK" msgstr " OK" -#: builtin/update-index.c:564 +#: builtin/update-index.c:575 msgid "git update-index [<options>] [--] [<file>...]" msgstr "git update-index [<flaggor>] [--] [<fil>...]" -#: builtin/update-index.c:918 +#: builtin/update-index.c:930 msgid "continue refresh even when index needs update" msgstr "fortsΓ€tt uppdatera Γ€ven nΓ€r index inte Γ€r Γ jour" -#: builtin/update-index.c:921 +#: builtin/update-index.c:933 msgid "refresh: ignore submodules" msgstr "refresh: ignorera undermoduler" -#: builtin/update-index.c:924 +#: builtin/update-index.c:936 msgid "do not ignore new files" msgstr "ignorera inte nya filer" -#: builtin/update-index.c:926 +#: builtin/update-index.c:938 msgid "let files replace directories and vice-versa" msgstr "lΓ₯t filer ersΓ€tta kataloger och omvΓ€nt" -#: builtin/update-index.c:928 +#: builtin/update-index.c:940 msgid "notice files missing from worktree" msgstr "lΓ€gg mΓ€rke till filer som saknas i arbetskatalogen" -#: builtin/update-index.c:930 +#: builtin/update-index.c:942 msgid "refresh even if index contains unmerged entries" msgstr "uppdatera Γ€ven om indexet innehΓ₯ller ej sammanslagna poster" -#: builtin/update-index.c:933 +#: builtin/update-index.c:945 msgid "refresh stat information" msgstr "uppdatera statusinformation" -#: builtin/update-index.c:937 +#: builtin/update-index.c:949 msgid "like --refresh, but ignore assume-unchanged setting" msgstr "som --refresh, men ignorera assume-unchanged-instΓ€llning" -#: builtin/update-index.c:941 +#: builtin/update-index.c:953 msgid "<mode>,<object>,<path>" msgstr "<lΓ€ge>,<objekt>,<sΓΆkvΓ€g>" -#: builtin/update-index.c:942 +#: builtin/update-index.c:954 msgid "add the specified entry to the index" msgstr "lΓ€gg till angiven post i indexet" -#: builtin/update-index.c:946 +#: builtin/update-index.c:958 msgid "(+/-)x" msgstr "(+/-)x" -#: builtin/update-index.c:947 +#: builtin/update-index.c:959 msgid "override the executable bit of the listed files" msgstr "ΓΆverstyr exekveringsbiten fΓΆr angivna filer" -#: builtin/update-index.c:951 +#: builtin/update-index.c:963 msgid "mark files as \"not changing\"" msgstr "markera filer som \"Γ€ndras inte\"" -#: builtin/update-index.c:954 +#: builtin/update-index.c:966 msgid "clear assumed-unchanged bit" msgstr "rensa \"assume-unchanged\"-biten" -#: builtin/update-index.c:957 +#: builtin/update-index.c:969 msgid "mark files as \"index-only\"" msgstr "markera filer som \"endast index\"" -#: builtin/update-index.c:960 +#: builtin/update-index.c:972 msgid "clear skip-worktree bit" msgstr "tΓΆm \"skip-worktree\"-biten" -#: builtin/update-index.c:963 +#: builtin/update-index.c:975 msgid "add to index only; do not add content to object database" msgstr "lΓ€gg endast till indexet; lΓ€gg inte till innehΓ₯llet i objektdatabasen" -#: builtin/update-index.c:965 +#: builtin/update-index.c:977 msgid "remove named paths even if present in worktree" msgstr "ta bort namngivna sΓΆkvΓ€gar Γ€ven om de finns i arbetskatalogen" -#: builtin/update-index.c:967 +#: builtin/update-index.c:979 msgid "with --stdin: input lines are terminated by null bytes" msgstr "med --stdin: indatarader termineras med null-byte" -#: builtin/update-index.c:969 +#: builtin/update-index.c:981 msgid "read list of paths to be updated from standard input" msgstr "lΓ€s lista ΓΆver sΓΆkvΓ€gar att uppdatera frΓ₯n standard in" -#: builtin/update-index.c:973 +#: builtin/update-index.c:985 msgid "add entries from standard input to the index" msgstr "lΓ€gg poster frΓ₯n standard in till indexet" -#: builtin/update-index.c:977 +#: builtin/update-index.c:989 msgid "repopulate stages #2 and #3 for the listed paths" msgstr "Γ₯terfyll etapp 2 och 3 frΓ₯n angivna sΓΆkvΓ€gar" -#: builtin/update-index.c:981 +#: builtin/update-index.c:993 msgid "only update entries that differ from HEAD" msgstr "uppdatera endast poster som skiljer sig frΓ₯n HEAD" -#: builtin/update-index.c:985 +#: builtin/update-index.c:997 msgid "ignore files missing from worktree" msgstr "ignorera filer som saknas i arbetskatalogen" -#: builtin/update-index.c:988 +#: builtin/update-index.c:1000 msgid "report actions to standard output" msgstr "rapportera Γ₯tgΓ€rder pΓ₯ standard ut" -#: builtin/update-index.c:990 +#: builtin/update-index.c:1002 msgid "(for porcelains) forget saved unresolved conflicts" msgstr "(fΓΆr porslin) glΓΆm sparade olΓΆsta konflikter" -#: builtin/update-index.c:994 +#: builtin/update-index.c:1006 msgid "write index in this format" msgstr "skriv index i detta format" -#: builtin/update-index.c:996 +#: builtin/update-index.c:1008 msgid "enable or disable split index" msgstr "aktivera eller inaktivera delat index" -#: builtin/update-index.c:998 +#: builtin/update-index.c:1010 msgid "enable/disable untracked cache" msgstr "aktivera/inaktivera ospΓ₯rad cache" -#: builtin/update-index.c:1000 +#: builtin/update-index.c:1012 +msgid "test if the filesystem supports untracked cache" +msgstr "testa om filsystemet stΓΆder ospΓ₯rad cache" + +#: builtin/update-index.c:1014 msgid "enable untracked cache without testing the filesystem" msgstr "aktivera ospΓ₯rad cache utan att testa filsystemet" +#: builtin/update-index.c:1134 +msgid "Untracked cache disabled" +msgstr "OspΓ₯rad cache Γ€r inaktiverad" + +#: builtin/update-index.c:1146 +#, c-format +msgid "Untracked cache enabled for '%s'" +msgstr "OspΓ₯rad cache Γ€r aktiverad fΓΆr \"%s\"" + #: builtin/update-ref.c:9 msgid "git update-ref [<options>] -d <refname> [<old-val>]" msgstr "git update-ref [<flaggor>] -d <refnamn> [<gammaltvΓ€rde>]" @@ -11011,34 +11216,34 @@ msgstr "misslyckades ta bort: %s" msgid "'%s' already exists" msgstr "\"%s\" finns redan" -#: builtin/worktree.c:235 +#: builtin/worktree.c:233 #, c-format msgid "could not create directory of '%s'" msgstr "kunde inte skapa katalogen \"%s\"" -#: builtin/worktree.c:271 +#: builtin/worktree.c:269 #, c-format msgid "Preparing %s (identifier %s)" msgstr "FΓΆrbereder %s (identifieraren %s)" -#: builtin/worktree.c:319 +#: builtin/worktree.c:317 msgid "checkout <branch> even if already checked out in other worktree" msgstr "" "checka ut <gren> Γ€ven om den redan Γ€r utcheckad i en annan arbetskatalog" -#: builtin/worktree.c:321 +#: builtin/worktree.c:319 msgid "create a new branch" msgstr "skapa en ny gren" -#: builtin/worktree.c:323 +#: builtin/worktree.c:321 msgid "create or reset a branch" msgstr "skapa eller Γ₯terstΓ€ll en gren" -#: builtin/worktree.c:324 +#: builtin/worktree.c:322 msgid "detach HEAD at named commit" msgstr "koppla frΓ₯n HEAD vid namngiven incheckning" -#: builtin/worktree.c:331 +#: builtin/worktree.c:329 msgid "-b, -B, and --detach are mutually exclusive" msgstr "-b, -B och --detach Γ€r ΓΆmsesidigt uteslutande" @@ -11058,7 +11263,7 @@ msgstr "visa trΓ€dobjekt fΓΆr underkatalogen <prefix>" msgid "only useful for debugging" msgstr "endast anvΓ€ndbart vid felsΓΆkning" -#: credential-cache--daemon.c:255 +#: credential-cache--daemon.c:262 msgid "print debugging messages to stderr" msgstr "skriv felsΓΆkningsmeddelanden pΓ₯ standard fel" @@ -11072,6 +11277,10 @@ msgstr "" "nΓ₯gra konceptvΓ€gledningar. Se \"git help <kommando>\" eller \"git help\n" "<koncept>\" fΓΆr att lΓ€sa mer om specifika underkommandon och koncept." +#: http.c:321 +msgid "Public key pinning not supported with cURL < 7.44.0" +msgstr "FastnΓ₯lning av ΓΆppen nyckel stΓΆds inte av cURL < 7.44.0" + #: common-cmds.h:9 msgid "start a working area (see also: git help tutorial)" msgstr "starta arbetskatalog (se ocksΓ₯: git help tutorial)" @@ -11153,8 +11362,8 @@ msgid "Update remote refs along with associated objects" msgstr "Uppdatera fjΓ€rr-referenser och tillhΓΆrande objekt" #: common-cmds.h:32 -msgid "Forward-port local commits to the updated upstream head" -msgstr "FramΓ₯tanpassa lokala kommandon pΓ₯ uppdaterat uppstrΓΆmshuvud" +msgid "Reapply commits on top of another base tip" +msgstr "Applicera incheckningar pΓ₯ nytt ovanpΓ₯ en annan bastopp" #: common-cmds.h:33 msgid "Reset current HEAD to the specified state" @@ -11866,7 +12075,7 @@ msgid "Submodule '$name' ($url) unregistered for path '$displaypath'" msgstr "" "Undermodulen \"$name\" ($url) avregistrerad fΓΆr sΓΆkvΓ€gen \"$displaypath\"" -#: git-submodule.sh:705 +#: git-submodule.sh:723 #, sh-format msgid "" "Submodule path '$displaypath' not initialized\n" @@ -11875,108 +12084,184 @@ msgstr "" "Undermodulen \"$displaypath\" har inte initierats\n" "Kanske du vill kΓΆra \"update --init\"?" -#: git-submodule.sh:718 +#: git-submodule.sh:736 #, sh-format msgid "Unable to find current revision in submodule path '$displaypath'" msgstr "Kan inte hitta aktuell revision i undermodulsΓΆkvΓ€gen \"$displaypath\"" -#: git-submodule.sh:727 +#: git-submodule.sh:745 #, sh-format msgid "Unable to fetch in submodule path '$sm_path'" msgstr "Kan inte hΓ€mta i undermodulsΓΆkvΓ€g \"$sm_path\"" -#: git-submodule.sh:751 +#: git-submodule.sh:768 #, sh-format msgid "Unable to fetch in submodule path '$displaypath'" msgstr "Kan inte hΓ€mta i undermodulsΓΆkvΓ€g \"$displaypath\"" -#: git-submodule.sh:765 +#: git-submodule.sh:788 #, sh-format msgid "Unable to checkout '$sha1' in submodule path '$displaypath'" msgstr "Kan inte checka ut \"$sha1\" i undermodulsΓΆkvΓ€gen \"$displaypath\"" -#: git-submodule.sh:766 +#: git-submodule.sh:789 #, sh-format msgid "Submodule path '$displaypath': checked out '$sha1'" msgstr "UndermodulsΓΆkvΓ€gen \"$displaypath\": checkade ut \"$sha1\"" -#: git-submodule.sh:770 +#: git-submodule.sh:793 #, sh-format msgid "Unable to rebase '$sha1' in submodule path '$displaypath'" msgstr "Kan inte ombasera \"$sha1\" i undermodulsΓΆkvΓ€gen \"$displaypath\"" -#: git-submodule.sh:771 +#: git-submodule.sh:794 #, sh-format msgid "Submodule path '$displaypath': rebased into '$sha1'" msgstr "UndermodulsΓΆkvΓ€gen \"$displaypath\": ombaserade in i \"$sha1\"" -#: git-submodule.sh:776 +#: git-submodule.sh:799 #, sh-format msgid "Unable to merge '$sha1' in submodule path '$displaypath'" msgstr "Kan inte slΓ₯ ihop \"$sha1\" i undermodulsΓΆkvΓ€gen \"$displaypath\"" -#: git-submodule.sh:777 +#: git-submodule.sh:800 #, sh-format msgid "Submodule path '$displaypath': merged in '$sha1'" msgstr "UndermodulsΓΆkvΓ€gen \"$displaypath\": sammanslagen i \"$sha1\"" -#: git-submodule.sh:782 +#: git-submodule.sh:805 #, sh-format msgid "" "Execution of '$command $sha1' failed in submodule path '$prefix$sm_path'" msgstr "" "Misslyckades kΓΆra \"$command $sha1\" i undermodulsΓΆkvΓ€gen \"$prefix$sm_path\"" -#: git-submodule.sh:783 +#: git-submodule.sh:806 #, sh-format msgid "Submodule path '$prefix$sm_path': '$command $sha1'" msgstr "UndermodulsΓΆkvΓ€gen \"$prefix$sm_path\": \"$command $sha1\"" -#: git-submodule.sh:813 +#: git-submodule.sh:836 #, sh-format msgid "Failed to recurse into submodule path '$displaypath'" msgstr "Misslyckades rekursera in i undermodulsΓΆkvΓ€gen \"$displaypath\"" -#: git-submodule.sh:921 +#: git-submodule.sh:944 msgid "The --cached option cannot be used with the --files option" msgstr "Flaggan --cached kan inte anvΓ€ndas med flaggan --files" -#: git-submodule.sh:973 +#: git-submodule.sh:996 #, sh-format msgid "unexpected mode $mod_dst" msgstr "ovΓ€ntat lΓ€ge $mod_dst" -#: git-submodule.sh:993 +#: git-submodule.sh:1016 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_src" msgstr " Varning: $display_name innehΓ₯ller inte incheckningen $sha1_src" -#: git-submodule.sh:996 +#: git-submodule.sh:1019 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_dst" msgstr " Varning: $display_name innehΓ₯ller inte incheckningen $sha1_dst" -#: git-submodule.sh:999 +#: git-submodule.sh:1022 #, sh-format msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst" msgstr "" " Varning: $display_name innehΓ₯ller inte incheckningarna $sha1_src och " "$sha1_dst" -#: git-submodule.sh:1024 +#: git-submodule.sh:1047 msgid "blob" msgstr "blob" -#: git-submodule.sh:1142 +#: git-submodule.sh:1165 #, sh-format msgid "Failed to recurse into submodule path '$sm_path'" msgstr "Misslyckades rekursera in i undermodulsΓΆkvΓ€gen \"$sm_path\"" -#: git-submodule.sh:1206 +#: git-submodule.sh:1229 #, sh-format msgid "Synchronizing submodule url for '$displaypath'" msgstr "Synkroniserar undermodul-url fΓΆr \"$displaypath\"" +#~ msgid "Forward-port local commits to the updated upstream head" +#~ msgstr "FramΓ₯tanpassa lokala kommandon pΓ₯ uppdaterat uppstrΓΆmshuvud" + +#~ msgid "unable to parse format" +#~ msgstr "kan inte tolka formatet" + +#~ msgid "improper format entered align:%s" +#~ msgstr "felaktigt format angivet align:%s" + +#~ msgid "Could not set core.worktree in %s" +#~ msgstr "Kunde inte sΓ€tta core.worktree i %s" + +#~ msgid "" +#~ "push.default is unset; its implicit value has changed in\n" +#~ "Git 2.0 from 'matching' to 'simple'. To squelch this message\n" +#~ "and maintain the traditional behavior, use:\n" +#~ "\n" +#~ " git config --global push.default matching\n" +#~ "\n" +#~ "To squelch this message and adopt the new behavior now, use:\n" +#~ "\n" +#~ " git config --global push.default simple\n" +#~ "\n" +#~ "When push.default is set to 'matching', git will push local branches\n" +#~ "to the remote branches that already exist with the same name.\n" +#~ "\n" +#~ "Since Git 2.0, Git defaults to the more conservative 'simple'\n" +#~ "behavior, which only pushes the current branch to the corresponding\n" +#~ "remote branch that 'git pull' uses to update the current branch.\n" +#~ "\n" +#~ "See 'git help config' and search for 'push.default' for further " +#~ "information.\n" +#~ "(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n" +#~ "'current' instead of 'simple' if you sometimes use older versions of Git)" +#~ msgstr "" +#~ "push.default har inte stΓ€llts in; dess underfΓΆrstΓ₯dda vΓ€rde\n" +#~ "Γ€ndras i Git 2.0 frΓ₯n \"matching\" till \"simple\". FΓΆr att\n" +#~ "undertrycka det hΓ€r meddelandet och behΓ₯lla traditionellt beteende\n" +#~ "skriver du:\n" +#~ "\n" +#~ " git config --global push.default matching\n" +#~ "\n" +#~ "FΓΆr att undertrycka meddelandet och vΓ€lja det nya beteendet nu skriver " +#~ "du:\n" +#~ "\n" +#~ " git config --global push.default simple\n" +#~ "\n" +#~ "NΓ€r push.default Γ€r satt till \"matching\" kommer git att sΓ€nda lokala " +#~ "grenar\n" +#~ "till fjΓ€rrgrenar som redan finns och som har samma namn.\n" +#~ "\n" +#~ "Git 2.0 kommer som standard vΓ€lja den mer konservativa instΓ€llningen\n" +#~ "\"simple\", vilket bara sΓ€nder in den aktuella grenen till den " +#~ "motsvarande\n" +#~ "fjΓ€rrgren \"git pull\" anvΓ€nder fΓΆr att uppdatera den aktuella grenen.\n" +#~ "\n" +#~ "Se \"git help config\" och sΓΆk efter \"push.default\" fΓΆr ytterligare \n" +#~ "information. (LΓ€get \"simple\" introducerades i Git 1.7.11. AnvΓ€nd det\n" +#~ "liknande lΓ€get \"current\" istΓ€llet fΓΆr \"simple\" om du ibland anvΓ€nder\n" +#~ "Γ€ldre versioner av Git.)" + +#~ msgid "check|on-demand|no" +#~ msgstr "check|on-demand|no" + +#~ msgid "Could not append '%s'" +#~ msgstr "Kunde inte lΓ€gga till pΓ₯ \"%s\"" + +#~ msgid "Could not set '%s'" +#~ msgstr "Kunde inte sΓ€tta \"%s\"" + +#~ msgid "Missing author: %s" +#~ msgstr "FΓΆrfattare saknas: %s" + +#~ msgid "Testing " +#~ msgstr "Testar" + #~ msgid "unable to look up current user in the passwd file: %s" #~ msgstr "kan inte slΓ₯ upp aktuell anvΓ€ndare i passwd-filen: %s" @@ -12046,9 +12331,6 @@ msgstr "Synkroniserar undermodul-url fΓΆr \"$displaypath\"" #~ msgid "unable to parse value '%s' for option %s" #~ msgstr "kunde inte tolka vΓ€rdet \"%s\" fΓΆr flaggan %s" -#~ msgid "unable to resolve HEAD" -#~ msgstr "kan inte bestΓ€mma HEAD" - #~ msgid "-b and -B are mutually exclusive" #~ msgstr "-b och -B kan inte anvΓ€ndas samtidigt" @@ -12118,9 +12400,6 @@ msgstr "Synkroniserar undermodul-url fΓΆr \"$displaypath\"" #~ msgid "prune .git/worktrees" #~ msgstr "rensa .git/worktrees" -#~ msgid "--worktrees does not take extra arguments" -#~ msgstr "--worktrees tar inte ytterligare argument" - #~ msgid "The most commonly used git commands are:" #~ msgstr "De mest anvΓ€nda git-kommandona Γ€r:" @@ -12151,9 +12430,6 @@ msgstr "Synkroniserar undermodul-url fΓΆr \"$displaypath\"" #~ msgid "force creation (when already exists)" #~ msgstr "tvinga skapande (nΓ€r den redan finns)" -#~ msgid "Malformed ident string: '%s'" -#~ msgstr "Felaktig indragningsstrΓ€ng: \"%s\"" - #~ msgid "slot" #~ msgstr "plats" @@ -12211,9 +12487,6 @@ msgstr "Synkroniserar undermodul-url fΓΆr \"$displaypath\"" #~ msgid "bug" #~ msgstr "programfel" -#~ msgid "ahead " -#~ msgstr "fΓΆre " - #~ msgid ", behind " #~ msgstr ", efter " @@ -12497,9 +12770,6 @@ msgstr "Synkroniserar undermodul-url fΓΆr \"$displaypath\"" #~ msgid "# Changed but not updated:" #~ msgstr "# Γndrade men inte uppdaterade:" -#~ msgid "path '%s' does not have all 3 versions" -#~ msgstr "sΓΆkvΓ€gen \"%s\" har inte alla 3 versionerna" - #~ msgid "git checkout: we do not like '%s' as a branch name." #~ msgstr "git checkout: vi tycker inte om \"%s\" som namn pΓ₯ en gren." @@ -2,16 +2,16 @@ # BαΊ£n dα»ch tiαΊΏng Viα»t dΓ nh cho GIT-CORE. # This file is distributed under the same license as the git-core package. # Nguyα»
n ThΓ‘i Ngα»c Duy <pclouds@gmail.com>, 2012. -# TrαΊ§n Ngα»c QuΓ’n <vnwildman@gmail.com>, 2012, 2013, 2014, 2015. +# TrαΊ§n Ngα»c QuΓ’n <vnwildman@gmail.com>, 2012, 2013, 2014, 2015, 2016. # msgid "" msgstr "" -"Project-Id-Version: git v2.7.0-rc0\n" +"Project-Id-Version: git v2.8.0-rc0\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2015-12-11 23:36+0800\n" -"PO-Revision-Date: 2015-12-12 14:31+0700\n" +"POT-Creation-Date: 2016-03-16 00:16+0800\n" +"PO-Revision-Date: 2016-03-21 07:14+0700\n" "Last-Translator: TrαΊ§n Ngα»c QuΓ’n <vnwildman@gmail.com>\n" -"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n" +"Language-Team: Vietnamese <gnome-vi-list@gnome.org>\n" "Language: vi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -36,7 +36,7 @@ msgstr "" "vΓ sau ΔΓ³ dΓΉng lα»nh βgit add/rm <tαΊp-tin>β\n" "dΓ nh riΓͺng cho viα»c ΔΓ‘nh dαΊ₯u cαΊ§n giαΊ£i quyαΊΏt vΓ tαΊ‘o lαΊ§n chuyα»n giao." -#: advice.c:101 builtin/merge.c:1225 +#: advice.c:101 builtin/merge.c:1226 msgid "You have not concluded your merge (MERGE_HEAD exists)." msgstr "BαΊ‘n chΖ°a kαΊΏt thΓΊc viα»c hΓ²a trα»n (MERGE_HEAD vαΊ«n tα»n tαΊ‘i)." @@ -80,7 +80,7 @@ msgstr "Δα»nh_dαΊ‘ng" msgid "archive format" msgstr "Δα»nh dαΊ‘ng lΖ°u trα»―" -#: archive.c:430 builtin/log.c:1228 +#: archive.c:430 builtin/log.c:1232 msgid "prefix" msgstr "tiα»n_tα»" @@ -88,10 +88,10 @@ msgstr "tiα»n_tα»" msgid "prepend prefix to each pathname in the archive" msgstr "nα»i thΓͺm tiα»n tα» vΓ o tα»«ng ΔΖ°α»ng dαΊ«n tαΊp tin trong kho lΖ°u" -#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2535 builtin/blame.c:2536 -#: builtin/config.c:58 builtin/fast-export.c:987 builtin/fast-export.c:989 -#: builtin/grep.c:707 builtin/hash-object.c:99 builtin/ls-files.c:446 -#: builtin/ls-files.c:449 builtin/notes.c:395 builtin/notes.c:558 +#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2547 builtin/blame.c:2548 +#: builtin/config.c:60 builtin/fast-export.c:987 builtin/fast-export.c:989 +#: builtin/grep.c:720 builtin/hash-object.c:100 builtin/ls-files.c:459 +#: builtin/ls-files.c:462 builtin/notes.c:398 builtin/notes.c:561 #: builtin/read-tree.c:109 parse-options.h:153 msgid "file" msgstr "tαΊp_tin" @@ -124,7 +124,7 @@ msgstr "nΓ©n nhα» hΖ‘n" msgid "list supported archive formats" msgstr "liα»t kΓͺ cΓ‘c kiα»u nΓ©n Δược hα» trợ" -#: archive.c:451 builtin/archive.c:90 builtin/clone.c:77 +#: archive.c:451 builtin/archive.c:90 builtin/clone.c:78 msgid "repo" msgstr "kho" @@ -132,7 +132,7 @@ msgstr "kho" msgid "retrieve the archive from remote repository <repo>" msgstr "nhαΊn kho nΓ©n tα»« kho chα»©a <kho> trΓͺn mΓ‘y chα»§" -#: archive.c:453 builtin/archive.c:92 builtin/notes.c:479 +#: archive.c:453 builtin/archive.c:92 builtin/notes.c:482 msgid "command" msgstr "lα»nh" @@ -140,7 +140,7 @@ msgstr "lα»nh" msgid "path to the remote git-upload-archive command" msgstr "ΔΖ°α»ng dαΊ«n ΔαΊΏn lα»nh git-upload-pack trΓͺn mΓ‘y chα»§" -#: attr.c:265 +#: attr.c:263 msgid "" "Negative patterns are ignored in git attributes\n" "Use '\\!' for literal leading exclamation." @@ -148,84 +148,101 @@ msgstr "" "CΓ‘c mαΊ«u dαΊ‘ng phα»§ Δα»nh bα» cαΊ₯m dΓΉng cho cΓ‘c thuα»c tΓnh cα»§a git\n" "DΓΉng β\\!β cho cΓ‘c chuα»i vΔn bαΊ£n cΓ³ dαΊ₯u chαΊ₯m than dαΊ«n ΔαΊ§u." -#: branch.c:61 +#: branch.c:53 +#, c-format +msgid "" +"\n" +"After fixing the error cause you may try to fix up\n" +"the remote tracking information by invoking\n" +"\"git branch --set-upstream-to=%s%s%s\"." +msgstr "" +"\n" +"Sau khi sα»a nguyΓͺn nhΓ’n lα»i bαΊ‘n cΓ³ lαΊ» cαΊ§n thα» sα»a\n" +"thΓ΄ng tin theo dΓ΅i mΓ‘y chα»§ bαΊ±ng cΓ‘ch gα»i lα»nh\n" +"\"git branch --set-upstream-to=%s%s%s\"." + +#: branch.c:67 #, c-format msgid "Not setting branch %s as its own upstream." msgstr "ChΖ°a cΓ i ΔαΊ·t nhΓ‘nh %s nhΖ° lΓ thượng nguα»n cα»§a nΓ³." -#: branch.c:84 +#: branch.c:93 #, c-format msgid "Branch %s set up to track remote branch %s from %s by rebasing." msgstr "NhΓ‘nh %s cΓ i ΔαΊ·t Δα» theo dΓ΅i nhΓ‘nh mΓ‘y chα»§ %s tα»« %s bαΊ±ng cΓ‘ch rebase." -#: branch.c:85 +#: branch.c:94 #, c-format msgid "Branch %s set up to track remote branch %s from %s." msgstr "NhΓ‘nh %s cΓ i ΔαΊ·t Δα» theo dΓ΅i nhΓ‘nh mΓ‘y chα»§ %s tα»« %s." -#: branch.c:89 +#: branch.c:98 #, c-format msgid "Branch %s set up to track local branch %s by rebasing." msgstr "NhΓ‘nh %s cΓ i ΔαΊ·t Δα» theo dΓ΅i nhΓ‘nh nα»i bα» %s bαΊ±ng cΓ‘ch rebase." -#: branch.c:90 +#: branch.c:99 #, c-format msgid "Branch %s set up to track local branch %s." msgstr "NhΓ‘nh %s cΓ i ΔαΊ·t Δα» theo dΓ΅i nhΓ‘nh nα»i bα» %s." -#: branch.c:95 +#: branch.c:104 #, c-format msgid "Branch %s set up to track remote ref %s by rebasing." msgstr "NhΓ‘nh %s cΓ i ΔαΊ·t Δα» theo dΓ΅i nhΓ‘nh mΓ‘y chα»§ %s bαΊ±ng cΓ‘ch rebase." -#: branch.c:96 +#: branch.c:105 #, c-format msgid "Branch %s set up to track remote ref %s." msgstr "NhΓ‘nh %s cΓ i ΔαΊ·t Δα» theo dΓ΅i tham chiαΊΏu mΓ‘y chα»§ %s." -#: branch.c:100 +#: branch.c:109 #, c-format msgid "Branch %s set up to track local ref %s by rebasing." msgstr "" "NhΓ‘nh %s cΓ i ΔαΊ·t Δα» theo dΓ΅i vαΊΏt tham chiαΊΏu nα»i bα» %s bαΊ±ng cΓ‘ch rebase." -#: branch.c:101 +#: branch.c:110 #, c-format msgid "Branch %s set up to track local ref %s." msgstr "NhΓ‘nh %s cΓ i ΔαΊ·t Δα» theo dΓ΅i tham chiαΊΏu nα»i bα» %s." -#: branch.c:134 +#: branch.c:119 +msgid "Unable to write upstream branch configuration" +msgstr "KhΓ΄ng thα» ghi cαΊ₯u hΓ¬nh nhΓ‘nh thượng nguα»n" + +#: branch.c:156 #, c-format msgid "Not tracking: ambiguous information for ref %s" msgstr "KhΓ΄ng theo dΓ΅i: thΓ΄ng tin chΖ°a rΓ΅ rΓ ng cho tham chiαΊΏu %s" -#: branch.c:163 +#: branch.c:185 #, c-format msgid "'%s' is not a valid branch name." msgstr "β%sβ khΓ΄ng phαΊ£i lΓ mα»t tΓͺn nhΓ‘nh hợp lα»." -#: branch.c:168 +#: branch.c:190 #, c-format msgid "A branch named '%s' already exists." msgstr "ΔΓ£ cΓ³ nhΓ‘nh mang tΓͺn β%sβ." -#: branch.c:176 +#: branch.c:198 msgid "Cannot force update the current branch." msgstr "KhΓ΄ng thα» Γ©p buα»c cαΊp nhαΊt nhΓ‘nh hiα»n hΓ nh." -#: branch.c:196 +#: branch.c:218 #, c-format msgid "Cannot setup tracking information; starting point '%s' is not a branch." msgstr "" "KhΓ΄ng thα» cΓ i ΔαΊ·t thΓ΄ng tin theo dΓ΅i; Δiα»m bαΊ―t ΔαΊ§u β%sβ khΓ΄ng phαΊ£i lΓ mα»t " "nhΓ‘nh." -#: branch.c:198 +#: branch.c:220 #, c-format msgid "the requested upstream branch '%s' does not exist" msgstr "nhΓ‘nh thượng nguα»n ΔΓ£ yΓͺu cαΊ§u β%sβ khΓ΄ng tα»n tαΊ‘i" -#: branch.c:200 +#: branch.c:222 msgid "" "\n" "If you are planning on basing your work on an upstream\n" @@ -245,22 +262,22 @@ msgstr "" "sαΊ½ theo dΓ΅i bαΊ£n Δα»i chiαΊΏu mΓ‘y chα»§ cα»§a nΓ³, bαΊ‘n cαΊ§n dΓΉng lα»nh\n" "\"git push -u\" Δα» ΔαΊ·t cαΊ₯u hΓ¬nh thượng nguα»n bαΊ‘n muα»n push." -#: branch.c:244 +#: branch.c:266 #, c-format msgid "Not a valid object name: '%s'." msgstr "KhΓ΄ng phαΊ£i tΓͺn Δα»i tượng hợp lα»: β%sβ." -#: branch.c:264 +#: branch.c:286 #, c-format msgid "Ambiguous object name: '%s'." msgstr "TΓͺn Δα»i tượng chΖ°a rΓ΅ rΓ ng: β%sβ." -#: branch.c:269 +#: branch.c:291 #, c-format msgid "Not a valid branch point: '%s'." msgstr "NhΓ‘nh khΓ΄ng hợp lα»: β%sβ." -#: branch.c:322 +#: branch.c:344 #, c-format msgid "'%s' is already checked out at '%s'" msgstr "β%sβ ΔΓ£ sαΊ΅n Δược lαΊ₯y ra tαΊ‘i β%sβ" @@ -284,10 +301,10 @@ msgstr "khΓ΄ng thα» mα» β%sβ" msgid "Repository lacks these prerequisite commits:" msgstr "Kho chα»©a thiαΊΏu nhα»―ng lαΊ§n chuyα»n giao tiΓͺn quyαΊΏt nΓ y:" -#: bundle.c:163 ref-filter.c:1372 sequencer.c:636 sequencer.c:1083 -#: builtin/blame.c:2734 builtin/commit.c:1045 builtin/log.c:334 -#: builtin/log.c:849 builtin/log.c:1456 builtin/log.c:1689 builtin/merge.c:358 -#: builtin/shortlog.c:158 +#: bundle.c:163 ref-filter.c:1462 sequencer.c:627 sequencer.c:1074 +#: builtin/blame.c:2754 builtin/commit.c:1045 builtin/log.c:334 +#: builtin/log.c:852 builtin/log.c:1467 builtin/log.c:1700 builtin/merge.c:358 +#: builtin/shortlog.c:170 msgid "revision walk setup failed" msgstr "cΓ i ΔαΊ·t viα»c di chuyα»n qua cΓ‘c Δiα»m xΓ©t duyα»t gαΊ·p lα»i" @@ -324,7 +341,7 @@ msgstr "rev-list ΔΓ£ chαΊΏt" msgid "ref '%s' is excluded by the rev-list options" msgstr "th.chiαΊΏu β%sβ bα» loαΊ‘i trα»« bα»i cΓ‘c tΓΉy chα»n rev-list" -#: bundle.c:443 builtin/log.c:157 builtin/log.c:1366 builtin/shortlog.c:261 +#: bundle.c:443 builtin/log.c:157 builtin/log.c:1372 builtin/shortlog.c:273 #, c-format msgid "unrecognized argument: %s" msgstr "Δα»i sα» khΓ΄ng Δược thα»«a nhαΊn: %s" @@ -347,8 +364,8 @@ msgstr "mα»₯c lα»₯c gΓ³i ΔΓ£ chαΊΏt" msgid "invalid color value: %.*s" msgstr "giΓ‘ trα» mΓ u khΓ΄ng hợp lα»: %.*s" -#: commit.c:40 builtin/am.c:452 builtin/am.c:488 builtin/am.c:1520 -#: builtin/am.c:2149 +#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1505 +#: builtin/am.c:2135 #, c-format msgid "could not parse %s" msgstr "khΓ΄ng thα» phΓ’n tΓch cΓΊ phΓ‘p %s" @@ -362,59 +379,64 @@ msgstr "%s %s khΓ΄ng phαΊ£i lΓ mα»t lαΊ§n chuyα»n giao!" msgid "memory exhausted" msgstr "hαΊΏt bα» nhα»" -#: config.c:474 config.c:476 +#: config.c:475 config.c:477 #, c-format -msgid "bad config file line %d in %s" -msgstr "tαΊp tin cαΊ₯u hΓ¬nh sai tαΊ‘i dΓ²ng %d trong %s" +msgid "bad config line %d in %s %s" +msgstr "tαΊp tin cαΊ₯u hΓ¬nh sai tαΊ‘i dΓ²ng %d trong %s %s" -#: config.c:592 +#: config.c:593 #, c-format -msgid "bad numeric config value '%s' for '%s' in %s: %s" -msgstr "sai giΓ‘ trα» bαΊ±ng sα» cα»§a cαΊ₯u hΓ¬nh β%sβ cho β%sβ trong %s: %s" +msgid "bad numeric config value '%s' for '%s' in %s %s: %s" +msgstr "sai giΓ‘ trα» bαΊ±ng sα» cα»§a cαΊ₯u hΓ¬nh β%sβ cho β%sβ trong %s %s: %s" -#: config.c:594 +#: config.c:595 #, c-format msgid "bad numeric config value '%s' for '%s': %s" msgstr "sai giΓ‘ trα» bαΊ±ng sα» cα»§a cαΊ₯u hΓ¬nh β%sβ cho β%sβ: %s" -#: config.c:679 +#: config.c:680 #, c-format msgid "failed to expand user dir in: '%s'" msgstr "gαΊ·p lα»i mα» rα»ng thΖ° mα»₯c ngΖ°α»i dΓΉng trong: β%sβ" -#: config.c:757 config.c:768 +#: config.c:758 config.c:769 #, c-format msgid "bad zlib compression level %d" msgstr "mα»©c nΓ©n zlib %d lΓ sai" -#: config.c:890 +#: config.c:891 #, c-format msgid "invalid mode for object creation: %s" msgstr "chαΊΏ Δα» khΓ΄ng hợp lα» Δα»i vα»i viα»c tαΊ‘o Δα»i tượng: %s" -#: config.c:1216 +#: config.c:1220 msgid "unable to parse command-line config" msgstr "khΓ΄ng thα» phΓ’n tΓch cαΊ₯u hΓ¬nh dΓ²ng lα»nh" -#: config.c:1277 +#: config.c:1281 msgid "unknown error occured while reading the configuration files" msgstr "ΔΓ£ cΓ³ lα»i chΖ°a biαΊΏt xαΊ£y ra trong khi Δα»c cΓ‘c tαΊp tin cαΊ₯u hΓ¬nh" -#: config.c:1601 +#: config.c:1629 #, c-format msgid "unable to parse '%s' from command-line config" msgstr "khΓ΄ng thα» phΓ’n tΓch β%sβ tα»« cαΊ₯u hΓ¬nh dΓ²ng lα»nh" -#: config.c:1603 +#: config.c:1631 #, c-format msgid "bad config variable '%s' in file '%s' at line %d" msgstr "sai biαΊΏn cαΊ₯u hΓ¬nh β%sβ trong tαΊp tin β%sβ tαΊ‘i dΓ²ng %d" -#: config.c:1662 +#: config.c:1690 #, c-format msgid "%s has multiple values" msgstr "%s cΓ³ Δa giΓ‘ trα»" +#: config.c:2226 +#, c-format +msgid "Could not set '%s' to '%s'" +msgstr "KhΓ΄ng thα» ΔαΊ·t β%sβ thΓ nh β%sβ" + #: connected.c:69 msgid "Could not run 'git rev-list'" msgstr "KhΓ΄ng thα» chαΊ‘y βgit rev-listβ" @@ -521,16 +543,16 @@ msgstr "" "TΓ¬m thαΊ₯y cΓ‘c lα»i trong biαΊΏn cαΊ₯u hΓ¬nh βdiff.dirstatβ:\n" "%s" -#: diff.c:3000 +#: diff.c:2997 #, c-format msgid "external diff died, stopping at %s" msgstr "phαΊ§n mα»m diff α» bΓͺn ngoΓ i ΔΓ£ chαΊΏt, dα»«ng tαΊ‘i %s" -#: diff.c:3396 +#: diff.c:3393 msgid "--follow requires exactly one pathspec" msgstr "--follow cαΊ§n chΓnh xΓ‘c mα»t ΔαΊ·c tαΊ£ ΔΖ°α»ng dαΊ«n" -#: diff.c:3559 +#: diff.c:3556 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" @@ -539,18 +561,18 @@ msgstr "" "GαΊ·p lα»i khi phΓ’n tΓch Δα»i sα» tΓΉy chα»n --dirstat/-X:\n" "%s" -#: diff.c:3573 +#: diff.c:3570 #, c-format msgid "Failed to parse --submodule option parameter: '%s'" msgstr "GαΊ·p lα»i khi phΓ’n tΓch Δα»i sα» tΓΉy chα»n --submodule: β%sβ" -#: dir.c:1915 +#: dir.c:2004 msgid "failed to get kernel name and information" msgstr "gαΊ·p lα»i khi lαΊ₯y tΓͺn vΓ thΓ΄ng tin cα»§a nhΓ’n" -#: dir.c:1998 -msgid "Untracked cache is disabled on this system." -msgstr "Bα» nhα» tαΊ‘m khΓ΄ng theo vαΊΏt bα» tαΊ―t trΓͺn hα» thα»ng nΓ y." +#: dir.c:2123 +msgid "Untracked cache is disabled on this system or location." +msgstr "Bα» nhα» tαΊ‘m khΓ΄ng theo vαΊΏt bα» tαΊ―t trΓͺn hα» thα»ng hay vα» trΓ nΓ y." #: gpg-interface.c:166 gpg-interface.c:237 msgid "could not run gpg." @@ -589,20 +611,20 @@ msgstr "β%sβ: %s" msgid "'%s': short read %s" msgstr "β%sβ: Δα»c ngαΊ―n %s" -#: help.c:207 +#: help.c:205 #, c-format msgid "available git commands in '%s'" msgstr "cΓ‘c lα»nh git sαΊ΅n cΓ³ trong thΖ° mα»₯c β%sβ:" -#: help.c:214 +#: help.c:212 msgid "git commands available from elsewhere on your $PATH" msgstr "cΓ‘c lα»nh git sαΊ΅n cΓ³ tα»« mα»t nΖ‘i khΓ‘c trong $PATH cα»§a bαΊ‘n" -#: help.c:246 +#: help.c:244 msgid "These are common Git commands used in various situations:" msgstr "CΓ³ cΓ‘c lα»nh Git chung Δược sα» dα»₯ng trong cΓ‘c tΓ¬nh huα»ng khΓ‘c nhau:" -#: help.c:311 +#: help.c:309 #, c-format msgid "" "'%s' appears to be a git command, but we were not\n" @@ -611,11 +633,11 @@ msgstr "" "β%sβ trΓ΄ng nhΖ° lΓ mα»t lα»nh git, nhΖ°ng chΓΊng tΓ΄i khΓ΄ng\n" "thα» thα»±c thi nΓ³. CΓ³ lαΊ½ lΓ lα»nh git-%s ΔΓ£ bα» hα»ng?" -#: help.c:368 +#: help.c:366 msgid "Uh oh. Your system reports no Git commands at all." msgstr "α»i chΓ . Hα» thα»ng cα»§a bαΊ‘n bΓ‘o rαΊ±ng chαΊ³ng cΓ³ lα»nh Git nΓ o cαΊ£." -#: help.c:390 +#: help.c:388 #, c-format msgid "" "WARNING: You called a Git command named '%s', which does not exist.\n" @@ -624,17 +646,17 @@ msgstr "" "CαΊ’NH BΓO: BαΊ‘n ΔΓ£ gα»i lα»nh Git cΓ³ tΓͺn β%sβ, mΓ nΓ³ lαΊ‘i khΓ΄ng cΓ³ sαΊ΅n.\n" "TiαΊΏp tα»₯c vΓ coi rαΊ±ng Γ½ bαΊ‘n lΓ β%sβ" -#: help.c:395 +#: help.c:393 #, c-format msgid "in %0.1f seconds automatically..." msgstr "trong %0.1f giΓ’y mα»t cΓ‘ch tα»± Δα»ngβ¦" -#: help.c:402 +#: help.c:400 #, c-format msgid "git: '%s' is not a git command. See 'git --help'." msgstr "git: β%sβ khΓ΄ng phαΊ£i lΓ mα»t lα»nh cα»§a git. Xem βgit --helpβ." -#: help.c:406 help.c:466 +#: help.c:404 help.c:464 msgid "" "\n" "Did you mean this?" @@ -645,7 +667,7 @@ msgstr[0] "" "\n" "CΓ³ phαΊ£i Γ½ bαΊ‘n lΓ mα»t trong sα» nhα»―ng cΓ‘i nΓ y khΓ΄ng?" -#: help.c:462 +#: help.c:460 #, c-format msgid "%s: %s - %s" msgstr "%s: %s - %s" @@ -654,8 +676,8 @@ msgstr "%s: %s - %s" msgid "failed to read the cache" msgstr "gαΊ·p lα»i khi Δα»c bα» nhα» Δα»m" -#: merge.c:94 builtin/am.c:2022 builtin/am.c:2057 builtin/checkout.c:376 -#: builtin/checkout.c:587 builtin/clone.c:722 +#: merge.c:94 builtin/am.c:2008 builtin/am.c:2043 builtin/checkout.c:376 +#: builtin/checkout.c:587 builtin/clone.c:730 msgid "unable to write new index file" msgstr "khΓ΄ng thα» ghi tαΊp tin lΖ°u bαΊ£ng mα»₯c lα»₯c mα»i" @@ -673,64 +695,64 @@ msgstr "addinfo_cache gαΊ·p lα»i Δα»i vα»i ΔΖ°α»ng dαΊ«n β%sβ" msgid "error building trees" msgstr "gαΊ·p lα»i khi xΓ’y dα»±ng cΓ’y" -#: merge-recursive.c:686 +#: merge-recursive.c:689 #, c-format msgid "failed to create path '%s'%s" msgstr "gαΊ·p lα»i khi tαΊ‘o ΔΖ°α»ng dαΊ«n β%sβ%s" -#: merge-recursive.c:697 +#: merge-recursive.c:700 #, c-format msgid "Removing %s to make room for subdirectory\n" msgstr "Gα»‘ bα» %s Δα» tαΊ‘o chα» (room) cho thΖ° mα»₯c con\n" -#: merge-recursive.c:711 merge-recursive.c:732 +#: merge-recursive.c:714 merge-recursive.c:735 msgid ": perhaps a D/F conflict?" msgstr ": cΓ³ lαΊ½ lΓ mα»t xung Δα»t D/F?" -#: merge-recursive.c:722 +#: merge-recursive.c:725 #, c-format msgid "refusing to lose untracked file at '%s'" msgstr "tα»« chα»i ΔΓ³ng tαΊp tin khΓ΄ng Δược theo dΓ΅i tαΊ‘i β%sβ" -#: merge-recursive.c:762 +#: merge-recursive.c:765 #, c-format msgid "cannot read object %s '%s'" msgstr "khΓ΄ng thα» Δα»c Δα»i tượng %s β%sβ" -#: merge-recursive.c:764 +#: merge-recursive.c:767 #, c-format msgid "blob expected for %s '%s'" msgstr "Δα»i tượng blob Δược mong Δợi cho %s β%sβ" -#: merge-recursive.c:787 builtin/clone.c:369 +#: merge-recursive.c:790 builtin/clone.c:374 #, c-format msgid "failed to open '%s'" msgstr "gαΊ·p lα»i khi mα» β%sβ" -#: merge-recursive.c:795 +#: merge-recursive.c:798 #, c-format msgid "failed to symlink '%s'" msgstr "gαΊ·p lα»i khi tαΊ‘o liΓͺn kαΊΏt mα»m (symlink) β%sβ" -#: merge-recursive.c:798 +#: merge-recursive.c:801 #, c-format msgid "do not know what to do with %06o %s '%s'" msgstr "khΓ΄ng hiα»u phαΊ£i lΓ m gΓ¬ vα»i %06o %s β%sβ" -#: merge-recursive.c:936 +#: merge-recursive.c:939 msgid "Failed to execute internal merge" msgstr "GαΊ·p lα»i khi thα»±c hiα»n trα»n nα»i bα»" -#: merge-recursive.c:940 +#: merge-recursive.c:943 #, c-format msgid "Unable to add %s to database" msgstr "KhΓ΄ng thα» thΓͺm %s vΓ o cΖ‘ sα» dα»― liα»u" -#: merge-recursive.c:956 +#: merge-recursive.c:959 msgid "unsupported object type in the tree" msgstr "kiα»u Δα»i tượng khΓ΄ng Δược hα» trợ trong cΓ’y (tree)" -#: merge-recursive.c:1031 merge-recursive.c:1045 +#: merge-recursive.c:1034 merge-recursive.c:1048 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -739,7 +761,7 @@ msgstr "" "XUNG Δα»T (%s/xΓ³a): %s bα» xΓ³a trong %s vΓ %s trong %s. PhiΓͺn bαΊ£n %s cα»§a %s " "cΓ²n lαΊ‘i trong cΓ’y (tree)." -#: merge-recursive.c:1037 merge-recursive.c:1050 +#: merge-recursive.c:1040 merge-recursive.c:1053 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -748,20 +770,20 @@ msgstr "" "XUNG Δα»T (%s/xΓ³a): %s bα» xΓ³a trong %s vΓ %s trong %s. PhiΓͺn bαΊ£n %s cα»§a %s " "cΓ²n lαΊ‘i trong cΓ’y (tree) tαΊ‘i %s." -#: merge-recursive.c:1091 +#: merge-recursive.c:1094 msgid "rename" msgstr "Δα»i tΓͺn" -#: merge-recursive.c:1091 +#: merge-recursive.c:1094 msgid "renamed" msgstr "ΔΓ£ Δα»i tΓͺn" -#: merge-recursive.c:1147 +#: merge-recursive.c:1150 #, c-format msgid "%s is a directory in %s adding as %s instead" msgstr "%s lΓ mα»t thΖ° mα»₯c trong %s thay vΓ o ΔΓ³ thΓͺm vΓ o nhΖ° lΓ %s" -#: merge-recursive.c:1169 +#: merge-recursive.c:1172 #, c-format msgid "" "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s" @@ -770,145 +792,145 @@ msgstr "" "XUNG Δα»T (Δα»i-tΓͺn/Δα»i-tΓͺn): Δα»i tΓͺn \"%s\"->\"%s\" trong nhΓ‘nh \"%s\" Δα»i " "tΓͺn \"%s\"->\"%s\" trong \"%s\"%s" -#: merge-recursive.c:1174 +#: merge-recursive.c:1177 msgid " (left unresolved)" msgstr " (cαΊ§n giαΊ£i quyαΊΏt)" -#: merge-recursive.c:1228 +#: merge-recursive.c:1231 #, c-format msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s" msgstr "" "XUNG Δα»T (Δα»i-tΓͺn/Δα»i-tΓͺn): Δα»i tΓͺn %s->%s trong %s. Δα»i tΓͺn %s->%s trong %s" -#: merge-recursive.c:1258 +#: merge-recursive.c:1261 #, c-format msgid "Renaming %s to %s and %s to %s instead" msgstr "Δang Δα»i tΓͺn %s thΓ nh %s thay vΓ¬ %s thΓ nh %s" -#: merge-recursive.c:1457 +#: merge-recursive.c:1460 #, c-format msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s" msgstr "" "XUNG Δα»T (Δα»i-tΓͺn/thΓͺm): Δα»i tΓͺn %s->%s trong %s. %s Δược thΓͺm vΓ o trong %s" -#: merge-recursive.c:1467 +#: merge-recursive.c:1470 #, c-format msgid "Adding merged %s" msgstr "ThΓͺm hΓ²a trα»n %s" -#: merge-recursive.c:1472 merge-recursive.c:1674 +#: merge-recursive.c:1475 merge-recursive.c:1677 #, c-format msgid "Adding as %s instead" msgstr "Thay vΓ o ΔΓ³ thΓͺm vΓ o %s" -#: merge-recursive.c:1523 +#: merge-recursive.c:1526 #, c-format msgid "cannot read object %s" msgstr "khΓ΄ng thα» Δα»c Δα»i tượng %s" -#: merge-recursive.c:1526 +#: merge-recursive.c:1529 #, c-format msgid "object %s is not a blob" msgstr "Δα»i tượng %s khΓ΄ng phαΊ£i lΓ mα»t blob" -#: merge-recursive.c:1578 +#: merge-recursive.c:1581 msgid "modify" msgstr "sα»a Δα»i" -#: merge-recursive.c:1578 +#: merge-recursive.c:1581 msgid "modified" msgstr "ΔΓ£ sα»a" -#: merge-recursive.c:1588 +#: merge-recursive.c:1591 msgid "content" msgstr "nα»i dung" -#: merge-recursive.c:1595 +#: merge-recursive.c:1598 msgid "add/add" msgstr "thΓͺm/thΓͺm" -#: merge-recursive.c:1629 +#: merge-recursive.c:1632 #, c-format msgid "Skipped %s (merged same as existing)" msgstr "ΔΓ£ bα» qua %s (ΔΓ£ cΓ³ sαΊ΅n lαΊ§n hΓ²a trα»n nΓ y)" -#: merge-recursive.c:1643 +#: merge-recursive.c:1646 #, c-format msgid "Auto-merging %s" msgstr "Tα»±-Δα»ng-hΓ²a-trα»n %s" -#: merge-recursive.c:1647 git-submodule.sh:1025 +#: merge-recursive.c:1650 git-submodule.sh:1048 msgid "submodule" msgstr "mΓ΄-Δun-con" -#: merge-recursive.c:1648 +#: merge-recursive.c:1651 #, c-format msgid "CONFLICT (%s): Merge conflict in %s" msgstr "XUNG Δα»T (%s): Xung Δα»t hΓ²a trα»n trong %s" -#: merge-recursive.c:1734 +#: merge-recursive.c:1737 #, c-format msgid "Removing %s" msgstr "Δang xΓ³a %s" -#: merge-recursive.c:1759 +#: merge-recursive.c:1762 msgid "file/directory" msgstr "tαΊp-tin/thΖ°-mα»₯c" -#: merge-recursive.c:1765 +#: merge-recursive.c:1768 msgid "directory/file" msgstr "thΖ°-mα»₯c/tαΊp-tin" -#: merge-recursive.c:1770 +#: merge-recursive.c:1773 #, c-format msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s" msgstr "" "XUNG Δα»T (%s): α» ΔΓ’y khΓ΄ng cΓ³ thΖ° mα»₯c nΓ o cΓ³ tΓͺn %s trong %s. ThΓͺm %s nhΖ° lΓ " "%s" -#: merge-recursive.c:1780 +#: merge-recursive.c:1783 #, c-format msgid "Adding %s" msgstr "ThΓͺm \"%s\"" -#: merge-recursive.c:1797 +#: merge-recursive.c:1800 msgid "Fatal merge failure, shouldn't happen." msgstr "Viα»c hΓ²a trα»n hα»ng nghiΓͺm trα»ng, khΓ΄ng nΓͺn Δα» xαΊ£y ra." -#: merge-recursive.c:1816 +#: merge-recursive.c:1819 msgid "Already up-to-date!" msgstr "ΔΓ£ cαΊp nhαΊt rα»i!" -#: merge-recursive.c:1825 +#: merge-recursive.c:1828 #, c-format msgid "merging of trees %s and %s failed" msgstr "hΓ²a trα»n cΓ‘c cΓ’y %s vΓ %s gαΊ·p lα»i" -#: merge-recursive.c:1855 +#: merge-recursive.c:1858 #, c-format msgid "Unprocessed path??? %s" msgstr "ΔΖ°α»ng dαΊ«n chΖ°a Δược xα» lΓ½??? %s" -#: merge-recursive.c:1903 +#: merge-recursive.c:1906 msgid "Merging:" msgstr "Δang trα»n:" -#: merge-recursive.c:1916 +#: merge-recursive.c:1919 #, c-format msgid "found %u common ancestor:" msgid_plural "found %u common ancestors:" msgstr[0] "tΓ¬m thαΊ₯y %u tα» tiΓͺn chung:" -#: merge-recursive.c:1953 +#: merge-recursive.c:1956 msgid "merge returned no commit" msgstr "hΓ²a trα»n khΓ΄ng trαΊ£ vα» lαΊ§n chuyα»n giao nΓ o" -#: merge-recursive.c:2010 +#: merge-recursive.c:2013 #, c-format msgid "Could not parse object '%s'" msgstr "KhΓ΄ng thα» phΓ’n tΓch Δα»i tượng β%sβ" -#: merge-recursive.c:2021 builtin/merge.c:645 +#: merge-recursive.c:2024 builtin/merge.c:646 msgid "Unable to write index." msgstr "KhΓ΄ng thα» ghi bαΊ£ng mα»₯c lα»₯c" @@ -1027,12 +1049,12 @@ msgstr "ΔαΊ·c tαΊ£ ΔΖ°α»ng dαΊ«n β%sβ thΓ¬ α» trong mΓ΄-Δun-con β%.*s msgid "%s: pathspec magic not supported by this command: %s" msgstr "%s: sα» mαΊ§u nhiα»m ΔαΊ·c tαΊ£ ΔΖ°α»ng dαΊ«n chΖ°a Δược hα» trợ bα»i lα»nh nΓ y: %s" -#: pathspec.c:432 +#: pathspec.c:433 #, c-format msgid "pathspec '%s' is beyond a symbolic link" msgstr "ΔαΊ·c tαΊ£ ΔΖ°α»ng dαΊ«n β%sβ vượt ra ngoΓ i liΓͺn kαΊΏt mα»m" -#: pathspec.c:441 +#: pathspec.c:442 msgid "" "There is nothing to exclude from by :(exclude) patterns.\n" "Perhaps you forgot to add either ':/' or '.' ?" @@ -1066,164 +1088,249 @@ msgstr "" "GIT_INDEX_VERSION Δược ΔαΊ·t, nhΖ°ng giΓ‘ trα» cα»§a nΓ³ lαΊ‘i khΓ΄ng hợp lα».\n" "DΓΉng phiΓͺn bαΊ£n %i" -#: refs.c:543 builtin/merge.c:760 builtin/merge.c:871 builtin/merge.c:973 -#: builtin/merge.c:983 +#: refs.c:543 builtin/merge.c:761 builtin/merge.c:872 builtin/merge.c:974 +#: builtin/merge.c:984 #, c-format msgid "Could not open '%s' for writing" msgstr "KhΓ΄ng thα» mα» β%sβ Δα» ghi" -#: refs/files-backend.c:2359 +#: refs/files-backend.c:2374 #, c-format msgid "could not delete reference %s: %s" msgstr "khΓ΄ng thα» xΓ³a bα» tham chiαΊΏu %s: %s" -#: refs/files-backend.c:2362 +#: refs/files-backend.c:2377 #, c-format msgid "could not delete references: %s" msgstr "khΓ΄ng thα» xΓ³a bα» tham chiαΊΏu: %s" -#: refs/files-backend.c:2371 +#: refs/files-backend.c:2386 #, c-format msgid "could not remove reference %s" msgstr "khΓ΄ng thα» gα»‘ bα» tham chiαΊΏu: %s" -#: ref-filter.c:245 +#: ref-filter.c:55 #, c-format -msgid "format: %%(end) atom used without corresponding atom" -msgstr "Δα»nh dαΊ‘ng: nguyΓͺn tα» %%(end) Δược dΓΉng mΓ khΓ΄ng cΓ³ nguyΓͺn tα» tΖ°Ζ‘ng α»©ng" +msgid "expected format: %%(color:<color>)" +msgstr "cαΊ§n Δα»nh dαΊ‘ng: %%(color:<color>)" + +#: ref-filter.c:57 +#, c-format +msgid "unrecognized color: %%(color:%s)" +msgstr "khΓ΄ng nhαΊn ra mΓ u: %%(mΓ u:%s)" + +#: ref-filter.c:71 +#, c-format +msgid "unrecognized format: %%(%s)" +msgstr "khΓ΄ng nhαΊn ra Δα»nh dαΊ‘ng: %%(%s)" + +#: ref-filter.c:77 +#, c-format +msgid "%%(body) does not take arguments" +msgstr "%%(body) khΓ΄ng nhαΊn cΓ‘c Δα»i sα»" + +#: ref-filter.c:84 +#, c-format +msgid "%%(subject) does not take arguments" +msgstr "%%(subject) khΓ΄ng nhαΊn cΓ‘c Δα»i sα»" -#: ref-filter.c:704 +#: ref-filter.c:101 #, c-format msgid "positive value expected contents:lines=%s" msgstr "cαΊ§n nα»i dung mang giΓ‘ trα» dΖ°Ζ‘ng:lines=%s" -#: ref-filter.c:833 +#: ref-filter.c:103 #, c-format -msgid "expected format: %%(color:<color>)" -msgstr "cαΊ§n Δα»nh dαΊ‘ng: %%(color:<color>)" +msgid "unrecognized %%(contents) argument: %s" +msgstr "Δα»i sα» khΓ΄ng Δược thα»«a nhαΊn %%(contents): %s" -#: ref-filter.c:835 -msgid "unable to parse format" -msgstr "khΓ΄ng thα» phΓ’n tΓch Δα»nh dαΊ‘ng" +#: ref-filter.c:113 +#, c-format +msgid "unrecognized %%(objectname) argument: %s" +msgstr "Δα»i sα» khΓ΄ng Δược thα»«a nhαΊn %%(objectname): %s" -#: ref-filter.c:870 +#: ref-filter.c:135 #, c-format msgid "expected format: %%(align:<width>,<position>)" msgstr "cαΊ§n Δα»nh dαΊ‘ng: %%(align:<width>,<position>)" -#: ref-filter.c:893 +#: ref-filter.c:147 +#, c-format +msgid "unrecognized position:%s" +msgstr "vα» trΓ khΓ΄ng Δược thα»«a nhαΊn:%s" + +#: ref-filter.c:151 #, c-format -msgid "improper format entered align:%s" -msgstr "Δα»nh dαΊ‘ng khΓ΄ng ΔΓΊng chα» cΔn chα»nh:%s" +msgid "unrecognized width:%s" +msgstr "chiα»u rα»ng khΓ΄ng Δược thα»«a nhαΊn:%s" -#: ref-filter.c:898 +#: ref-filter.c:157 +#, c-format +msgid "unrecognized %%(align) argument: %s" +msgstr "Δα»i sα» khΓ΄ng Δược thα»«a nhαΊn %%(align): %s" + +#: ref-filter.c:161 #, c-format msgid "positive width expected with the %%(align) atom" msgstr "cαΊ§n giΓ‘ trα» Δα» rα»ng dΖ°Ζ‘ng vα»i nguyΓͺn tα» %%(align)" -#: ref-filter.c:1219 +#: ref-filter.c:244 +#, c-format +msgid "malformed field name: %.*s" +msgstr "tΓͺn trΖ°α»ng dα» hΓ¬nh: %.*s" + +#: ref-filter.c:270 +#, c-format +msgid "unknown field name: %.*s" +msgstr "khΓ΄ng hiα»u tΓͺn trΖ°α»ng: %.*s" + +#: ref-filter.c:372 +#, c-format +msgid "format: %%(end) atom used without corresponding atom" +msgstr "Δα»nh dαΊ‘ng: nguyΓͺn tα» %%(end) Δược dΓΉng mΓ khΓ΄ng cΓ³ nguyΓͺn tα» tΖ°Ζ‘ng α»©ng" + +#: ref-filter.c:424 +#, c-format +msgid "malformed format string %s" +msgstr "chuα»i Δα»nh dαΊ‘ng dα» hΓ¬nh %s" + +#: ref-filter.c:878 +msgid ":strip= requires a positive integer argument" +msgstr ":strip= cαΊ§n mα»t Δα»i sα» nguyΓͺn dΖ°Ζ‘ng" + +#: ref-filter.c:883 +#, c-format +msgid "ref '%s' does not have %ld components to :strip" +msgstr "tham chiαΊΏu β%sβ khΓ΄ng cΓ³ %ld thΓ nh phαΊ§n Δα» mΓ :strip" + +#: ref-filter.c:1046 +#, c-format +msgid "unknown %.*s format %s" +msgstr "KhΓ΄ng hiα»u Δα»nh dαΊ‘ng %.*s %s" + +#: ref-filter.c:1066 ref-filter.c:1097 +#, c-format +msgid "missing object %s for %s" +msgstr "thiαΊΏu Δα»i tượng %s cho %s" + +#: ref-filter.c:1069 ref-filter.c:1100 +#, c-format +msgid "parse_object_buffer failed on %s for %s" +msgstr "parse_object_buffer gαΊ·p lα»i trΓͺn %s cho %s" + +#: ref-filter.c:1311 #, c-format msgid "malformed object at '%s'" msgstr "Δα»i tượng dα» hΓ¬nh tαΊ‘i β%sβ" -#: ref-filter.c:1561 +#: ref-filter.c:1373 +#, c-format +msgid "ignoring ref with broken name %s" +msgstr "Δang lα» Δi tham chiαΊΏu vα»i tΓͺn hα»ng %s" + +#: ref-filter.c:1378 +#, c-format +msgid "ignoring broken ref %s" +msgstr "Δang lα» Δi tham chiαΊΏu hα»ng %s" + +#: ref-filter.c:1651 #, c-format msgid "format: %%(end) atom missing" msgstr "Δα»nh dαΊ‘ng: thiαΊΏu nguyΓͺn tα» %%(end)" -#: ref-filter.c:1615 +#: ref-filter.c:1705 #, c-format msgid "malformed object name %s" msgstr "tΓͺn Δα»i tượng dα» hΓ¬nh %s" -#: remote.c:756 +#: remote.c:745 #, c-format msgid "Cannot fetch both %s and %s to %s" msgstr "KhΓ΄ng thα» lαΊ₯y vα» cαΊ£ %s vΓ %s cho %s" -#: remote.c:760 +#: remote.c:749 #, c-format msgid "%s usually tracks %s, not %s" msgstr "%s thΖ°α»ng theo dΓ΅i %s, khΓ΄ng phαΊ£i %s" -#: remote.c:764 +#: remote.c:753 #, c-format msgid "%s tracks both %s and %s" msgstr "%s theo dΓ΅i cαΊ£ %s vΓ %s" -#: remote.c:772 +#: remote.c:761 msgid "Internal error" msgstr "Lα»i nα»i bα»" -#: remote.c:1687 remote.c:1730 +#: remote.c:1677 remote.c:1720 msgid "HEAD does not point to a branch" msgstr "HEAD khΓ΄ng chα» ΔαΊΏn mα»t nhΓ‘nh nΓ o cαΊ£" -#: remote.c:1696 +#: remote.c:1686 #, c-format msgid "no such branch: '%s'" msgstr "khΓ΄ng cΓ³ nhΓ‘nh nΓ o nhΖ° thαΊΏ: β%sβ" -#: remote.c:1699 +#: remote.c:1689 #, c-format msgid "no upstream configured for branch '%s'" msgstr "khΓ΄ng cΓ³ thượng nguα»n Δược cαΊ₯u hΓ¬nh cho nhΓ‘nh β%sβ" -#: remote.c:1705 +#: remote.c:1695 #, c-format msgid "upstream branch '%s' not stored as a remote-tracking branch" msgstr "" "nhΓ‘nh thượng nguα»n β%sβ khΓ΄ng Δược lΖ°u lαΊ‘i nhΖ° lΓ mα»t nhΓ‘nh theo dΓ΅i mΓ‘y chα»§" -#: remote.c:1720 +#: remote.c:1710 #, c-format msgid "push destination '%s' on remote '%s' has no local tracking branch" msgstr "ΔαΊ©y lΓͺn ΔΓch β%sβ trΓͺn mΓ‘y chα»§ β%sβ khΓ΄ng cΓ³ nhΓ‘nh theo dΓ΅i nα»i bα»" -#: remote.c:1735 +#: remote.c:1725 #, c-format msgid "branch '%s' has no remote for pushing" msgstr "nhΓ‘nh β%sβ khΓ΄ng cΓ³ mΓ‘y chα»§ Δα» ΔαΊ©y lΓͺn" -#: remote.c:1746 +#: remote.c:1736 #, c-format msgid "push refspecs for '%s' do not include '%s'" msgstr "ΔαΊ©y refspecs cho β%sβ khΓ΄ng bao gα»m β%sβ" -#: remote.c:1759 +#: remote.c:1749 msgid "push has no destination (push.default is 'nothing')" msgstr "ΔαΊ©y lΓͺn mΓ khΓ΄ng cΓ³ ΔΓch (push.default lΓ βnothingβ)" -#: remote.c:1781 +#: remote.c:1771 msgid "cannot resolve 'simple' push to a single destination" msgstr "khΓ΄ng thα» phΓ’n giαΊ£i ΔαΊ©y βΔΖ‘n giαΊ£nβ ΔαΊΏn mα»t ΔΓch ΔΖ‘n" -#: remote.c:2083 +#: remote.c:2073 #, c-format msgid "Your branch is based on '%s', but the upstream is gone.\n" msgstr "" "NhΓ‘nh cα»§a bαΊ‘n dα»±a trΓͺn cΖ‘ sα» lΓ β%sβ, nhΖ°ng trΓͺn thượng nguα»n khΓ΄ng cΓ²n.\n" -#: remote.c:2087 +#: remote.c:2077 msgid " (use \"git branch --unset-upstream\" to fixup)\n" msgstr " (dΓΉng \" git branch --unset-upstream\" Δα» sα»a)\n" -#: remote.c:2090 +#: remote.c:2080 #, c-format msgid "Your branch is up-to-date with '%s'.\n" msgstr "NhΓ‘nh cα»§a bαΊ‘n ΔΓ£ cαΊp nhαΊt vα»i β%sβ.\n" -#: remote.c:2094 +#: remote.c:2084 #, c-format msgid "Your branch is ahead of '%s' by %d commit.\n" msgid_plural "Your branch is ahead of '%s' by %d commits.\n" msgstr[0] "NhΓ‘nh cα»§a bαΊ‘n Δα»©ng trΖ°α»c β%sβ %d lαΊ§n chuyα»n giao.\n" -#: remote.c:2100 +#: remote.c:2090 msgid " (use \"git push\" to publish your local commits)\n" msgstr " (dΓΉng \"git push\" Δα» xuαΊ₯t bαΊ£n cΓ‘c lαΊ§n chuyα»n giao nα»i bα» cα»§a bαΊ‘n)\n" -#: remote.c:2103 +#: remote.c:2093 #, c-format msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n" msgid_plural "" @@ -1232,11 +1339,11 @@ msgstr[0] "" "NhΓ‘nh cα»§a bαΊ‘n Δα»©ng ΔαΊ±ng sau β%sβ %d lαΊ§n chuyα»n giao, vΓ cΓ³ thα» Δược chuyα»n-" "tiαΊΏp-nhanh.\n" -#: remote.c:2111 +#: remote.c:2101 msgid " (use \"git pull\" to update your local branch)\n" msgstr " (dΓΉng \"git pull\" Δα» cαΊp nhαΊt nhΓ‘nh nα»i bα» cα»§a bαΊ‘n)\n" -#: remote.c:2114 +#: remote.c:2104 #, c-format msgid "" "Your branch and '%s' have diverged,\n" @@ -1249,30 +1356,30 @@ msgstr[0] "" "vΓ cΓ³ %d vΓ %d lαΊ§n chuyα»n giao khΓ‘c nhau cho tα»«ng cΓ‘i,\n" "tΖ°Ζ‘ng α»©ng vα»i mα»i lαΊ§n.\n" -#: remote.c:2124 +#: remote.c:2114 msgid " (use \"git pull\" to merge the remote branch into yours)\n" msgstr "" " (dΓΉng \"git pull\" Δα» hΓ²a trα»n nhΓ‘nh trΓͺn mΓ‘y chα»§ vΓ o trong nhΓ‘nh cα»§a " "bαΊ‘n)\n" -#: revision.c:2191 +#: revision.c:2131 msgid "your current branch appears to be broken" msgstr "nhΓ‘nh hiα»n tαΊ‘i cα»§a bαΊ‘n cΓ³ vαΊ» nhΖ° bα» hα»ng" -#: revision.c:2194 +#: revision.c:2134 #, c-format msgid "your current branch '%s' does not have any commits yet" msgstr "nhΓ‘nh hiα»n tαΊ‘i cα»§a bαΊ‘n β%sβ khΓ΄ng cΓ³ mα»t lαΊ§n chuyα»n giao nΓ o cαΊ£" -#: revision.c:2388 +#: revision.c:2328 msgid "--first-parent is incompatible with --bisect" msgstr "--first-parent xung khαΊ―c vα»i --bisect" -#: run-command.c:90 +#: run-command.c:92 msgid "open /dev/null failed" msgstr "gαΊ·p lα»i khi mα» β/dev/nullβ" -#: run-command.c:92 +#: run-command.c:94 #, c-format msgid "dup2(%d,%d) failed" msgstr "dup2(%d,%d) gαΊ·p lα»i" @@ -1297,7 +1404,7 @@ msgstr "" msgid "the receiving end does not support --atomic push" msgstr "kαΊΏt thΓΊc nhαΊn khΓ΄ng hα» trợ ΔαΊ©y --atomic" -#: sequencer.c:183 +#: sequencer.c:174 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'" @@ -1305,7 +1412,7 @@ msgstr "" "sau khi giαΊ£i quyαΊΏt cΓ‘c xung Δα»t, ΔΓ‘nh dαΊ₯u ΔΖ°α»ng dαΊ«n ΔΓ£ sα»a\n" "vα»i lα»nh βgit add <ΔΖ°α»ng_dαΊ«n>β hoαΊ·c βgit rm <ΔΖ°α»ng_dαΊ«n>β" -#: sequencer.c:186 +#: sequencer.c:177 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'\n" @@ -1315,67 +1422,67 @@ msgstr "" "vα»i lα»nh βgit add <ΔΖ°α»ng_dαΊ«n>β hoαΊ·c βgit rm <ΔΖ°α»ng_dαΊ«n>β\n" "vΓ chuyα»n giao kαΊΏt quαΊ£ bαΊ±ng lα»nh βgit commitβ" -#: sequencer.c:199 sequencer.c:842 sequencer.c:922 +#: sequencer.c:190 sequencer.c:833 sequencer.c:913 #, c-format msgid "Could not write to %s" msgstr "KhΓ΄ng thα» ghi vΓ o %s" -#: sequencer.c:202 +#: sequencer.c:193 #, c-format msgid "Error wrapping up %s" msgstr "Lα»i bao bα»c %s" -#: sequencer.c:217 +#: sequencer.c:208 msgid "Your local changes would be overwritten by cherry-pick." msgstr "CΓ‘c thay Δα»i nα»i bα» cα»§a bαΊ‘n cΓ³ thα» bα» ghi ΔΓ¨ bα»i lα»nh cherry-pick." -#: sequencer.c:219 +#: sequencer.c:210 msgid "Your local changes would be overwritten by revert." msgstr "CΓ‘c thay Δα»i nα»i bα» cα»§a bαΊ‘n cΓ³ thα» bα» ghi ΔΓ¨ bα»i lα»nh hoΓ n nguyΓͺn." -#: sequencer.c:222 +#: sequencer.c:213 msgid "Commit your changes or stash them to proceed." msgstr "Chuyα»n giao cΓ‘c thay Δα»i cα»§a bαΊ‘n hay tαΊ‘m cαΊ₯t (stash) chΓΊng Δα» xα» lΓ½." #. TRANSLATORS: %s will be "revert" or "cherry-pick" -#: sequencer.c:309 +#: sequencer.c:300 #, c-format msgid "%s: Unable to write new index file" msgstr "%s: KhΓ΄ng thα» ghi tαΊp tin lΖ°u bαΊ£ng mα»₯c lα»₯c mα»i" -#: sequencer.c:327 +#: sequencer.c:318 msgid "Could not resolve HEAD commit\n" msgstr "KhΓ΄ng thα» phΓ’n giαΊ£i lαΊ§n chuyα»n giao HEAD\n" -#: sequencer.c:347 +#: sequencer.c:338 msgid "Unable to update cache tree\n" msgstr "KhΓ΄ng thα» cαΊp nhαΊt cΓ’y bα» nhα» Δα»m\n" -#: sequencer.c:399 +#: sequencer.c:390 #, c-format msgid "Could not parse commit %s\n" msgstr "KhΓ΄ng thα» phΓ’n tΓch lαΊ§n chuyα»n giao %s\n" -#: sequencer.c:404 +#: sequencer.c:395 #, c-format msgid "Could not parse parent commit %s\n" msgstr "KhΓ΄ng thα» phΓ’n tΓch lαΊ§n chuyα»n giao cha mαΊΉ β%sβ\n" -#: sequencer.c:469 +#: sequencer.c:460 msgid "Your index file is unmerged." msgstr "TαΊp tin lΖ°u mα»₯c lα»₯c cα»§a bαΊ‘n khΓ΄ng Δược hΓ²a trα»n." -#: sequencer.c:488 +#: sequencer.c:479 #, c-format msgid "Commit %s is a merge but no -m option was given." msgstr "LαΊ§n chuyα»n giao %s lΓ mα»t lαΊ§n hΓ²a trα»n nhΖ°ng khΓ΄ng ΔΖ°a ra tΓΉy chα»n -m." -#: sequencer.c:496 +#: sequencer.c:487 #, c-format msgid "Commit %s does not have parent %d" msgstr "LαΊ§n chuyα»n giao %s khΓ΄ng cΓ³ cha mαΊΉ %d" -#: sequencer.c:500 +#: sequencer.c:491 #, c-format msgid "Mainline was specified but commit %s is not a merge." msgstr "" @@ -1384,162 +1491,177 @@ msgstr "" #. TRANSLATORS: The first %s will be "revert" or #. "cherry-pick", the second %s a SHA1 -#: sequencer.c:513 +#: sequencer.c:504 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "%s: khΓ΄ng thα» phΓ’n tΓch lαΊ§n chuyα»n giao mαΊΉ cα»§a %s" -#: sequencer.c:517 +#: sequencer.c:508 #, c-format msgid "Cannot get commit message for %s" msgstr "KhΓ΄ng thα» lαΊ₯y ghi chΓΊ lαΊ§n chuyα»n giao cho %s" -#: sequencer.c:603 +#: sequencer.c:594 #, c-format msgid "could not revert %s... %s" msgstr "khΓ΄ng thα» hoΓ n nguyΓͺn %sβ¦ %s" -#: sequencer.c:604 +#: sequencer.c:595 #, c-format msgid "could not apply %s... %s" msgstr "khΓ΄ng thα» Γ‘p dα»₯ng miαΊΏng vΓ‘ %sβ¦ %s" -#: sequencer.c:639 +#: sequencer.c:630 msgid "empty commit set passed" msgstr "lαΊ§n chuyα»n giao trα»ng rα»ng ΔαΊ·t lΓ hợp quy cΓ‘ch" -#: sequencer.c:647 +#: sequencer.c:638 #, c-format msgid "git %s: failed to read the index" msgstr "git %s: gαΊ·p lα»i Δα»c bαΊ£ng mα»₯c lα»₯c" -#: sequencer.c:651 +#: sequencer.c:642 #, c-format msgid "git %s: failed to refresh the index" msgstr "git %s: gαΊ·p lα»i khi lΓ m tΖ°Ζ‘i mα»i bαΊ£ng mα»₯c lα»₯c" -#: sequencer.c:711 +#: sequencer.c:702 #, c-format msgid "Cannot %s during a %s" msgstr "KhΓ΄ng thα» %s trong khi %s" -#: sequencer.c:733 +#: sequencer.c:724 #, c-format msgid "Could not parse line %d." msgstr "KhΓ΄ng phΓ’n tΓch Δược dΓ²ng %d." -#: sequencer.c:738 +#: sequencer.c:729 msgid "No commits parsed." msgstr "KhΓ΄ng cΓ³ lαΊ§n chuyα»n giao nΓ o Δược phΓ’n tΓch." -#: sequencer.c:750 +#: sequencer.c:741 #, c-format msgid "Could not open %s" msgstr "KhΓ΄ng thα» mα» %s" -#: sequencer.c:754 +#: sequencer.c:745 #, c-format msgid "Could not read %s." msgstr "KhΓ΄ng thα» Δα»c %s." -#: sequencer.c:761 +#: sequencer.c:752 #, c-format msgid "Unusable instruction sheet: %s" msgstr "BαΊ£ng chα» thα» khΓ΄ng thα» dΓΉng Δược: %s" -#: sequencer.c:791 +#: sequencer.c:782 #, c-format msgid "Invalid key: %s" msgstr "KhΓ³a khΓ΄ng ΔΓΊng: %s" -#: sequencer.c:794 builtin/pull.c:47 builtin/pull.c:49 +#: sequencer.c:785 builtin/pull.c:50 builtin/pull.c:52 #, c-format msgid "Invalid value for %s: %s" msgstr "GiΓ‘ trα» khΓ΄ng hợp lα» %s: %s" -#: sequencer.c:804 +#: sequencer.c:795 #, c-format msgid "Malformed options sheet: %s" msgstr "BαΊ£ng tΓΉy chα»n dα» hΓ¬nh: %s" -#: sequencer.c:823 +#: sequencer.c:814 msgid "a cherry-pick or revert is already in progress" msgstr "cΓ³ mα»t thao tΓ‘c βcherry-pickβ hoαΊ·c βrevertβ Δang Δược thα»±c hiα»n" -#: sequencer.c:824 +#: sequencer.c:815 msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" msgstr "hΓ£y thα» \"git cherry-pick (--continue | --quit | --abort)\"" -#: sequencer.c:828 +#: sequencer.c:819 #, c-format msgid "Could not create sequencer directory %s" msgstr "KhΓ΄ng thα» tαΊ‘o thΖ° mα»₯c xαΊΏp dΓ£y %s" -#: sequencer.c:844 sequencer.c:926 +#: sequencer.c:835 sequencer.c:917 #, c-format msgid "Error wrapping up %s." msgstr "Lα»i bao bα»c %s." -#: sequencer.c:863 sequencer.c:996 +#: sequencer.c:854 sequencer.c:987 msgid "no cherry-pick or revert in progress" msgstr "khΓ΄ng cherry-pick hay hoΓ n nguyΓͺn trong tiαΊΏn trΓ¬nh" -#: sequencer.c:865 +#: sequencer.c:856 msgid "cannot resolve HEAD" msgstr "khΓ΄ng thα» phΓ’n giαΊ£i HEAD" -#: sequencer.c:867 +#: sequencer.c:858 msgid "cannot abort from a branch yet to be born" msgstr "khΓ΄ng thα» hα»§y bα» tα»« mα»t nhΓ‘nh mΓ nΓ³ cΓ²n chΖ°a Δược tαΊ‘o ra" -#: sequencer.c:887 builtin/apply.c:4287 +#: sequencer.c:878 builtin/apply.c:4287 #, c-format msgid "cannot open %s: %s" msgstr "khΓ΄ng thα» mα» %s: %s" -#: sequencer.c:890 +#: sequencer.c:881 #, c-format msgid "cannot read %s: %s" msgstr "khΓ΄ng thα» Δα»c %s: %s" -#: sequencer.c:891 +#: sequencer.c:882 msgid "unexpected end of file" msgstr "gαΊ·p kαΊΏt thΓΊc tαΊp tin Δα»t xuαΊ₯t" -#: sequencer.c:897 +#: sequencer.c:888 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "tαΊp tin HEAD βpre-cherry-pickβ ΔΓ£ lΖ°u β%sβ bα» hα»ng" -#: sequencer.c:919 +#: sequencer.c:910 #, c-format msgid "Could not format %s." msgstr "KhΓ΄ng thα» Δα»nh dαΊ‘ng β%sβ." -#: sequencer.c:1064 +#: sequencer.c:1055 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "%s: khΓ΄ng thα» cherry-pick mα»t %s" -#: sequencer.c:1067 +#: sequencer.c:1058 #, c-format msgid "%s: bad revision" msgstr "%s: Δiα»m xΓ©t duyα»t sai" -#: sequencer.c:1101 +#: sequencer.c:1092 msgid "Can't revert as initial commit" msgstr "KhΓ΄ng thα» hoΓ n nguyΓͺn mα»t lαΊ§n chuyα»n giao khα»i tαΊ‘o" -#: sequencer.c:1102 +#: sequencer.c:1093 msgid "Can't cherry-pick into empty head" msgstr "KhΓ΄ng thα» cherry-pick vΓ o mα»t ΔαΊ§u (head) trα»ng rα»ng" -#: setup.c:248 +#: setup.c:246 #, c-format msgid "failed to read %s" msgstr "gαΊ·p lα»i khi Δα»c %s" -#: sha1_name.c:463 +#: sha1_file.c:1080 +msgid "offset before end of packfile (broken .idx?)" +msgstr "vα» trΓ tΖ°Ζ‘ng Δα»i trΖ°α»c Δiα»m kαΊΏt thΓΊc cα»§a tαΊp tin gΓ³i (.idx hα»ng Γ ?)" + +#: sha1_file.c:2459 +#, c-format +msgid "offset before start of pack index for %s (corrupt index?)" +msgstr "vα» trΓ tΖ°Ζ‘ng Δα»i nαΊ±m trΖ°α»c chα» mα»₯c gΓ³i cho %s (mα»₯c lα»₯c bα» hα»ng Γ ?)" + +#: sha1_file.c:2463 +#, c-format +msgid "offset beyond end of pack index for %s (truncated index?)" +msgstr "" +"vα» trΓ tΖ°Ζ‘ng Δα»i vượt quΓ‘ cuα»i cα»§a chα» mα»₯c gΓ³i cho %s (mα»₯c lα»₯c bα» cαΊ―t cα»₯t Γ ?)" + +#: sha1_name.c:462 msgid "" "Git normally never creates a ref that ends with 40 hex characters\n" "because it will be ignored when you just specify 40-hex. These refs\n" @@ -1563,62 +1685,86 @@ msgstr "" "nΓ y\n" "bαΊ±ng cΓ‘ch chαΊ‘y lα»nh \"git config advice.objectNameWarning false\"" -#: submodule.c:61 submodule.c:95 +#: submodule.c:62 submodule.c:96 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" msgstr "" "KhΓ΄ng thα» thay Δα»i .gitmodules chΖ°a hΓ²a trα»n, hΓ£y giαΊ£i quyαΊΏt xung Δα»t trα»n " "trΖ°α»c" -#: submodule.c:65 submodule.c:99 +#: submodule.c:66 submodule.c:100 #, c-format msgid "Could not find section in .gitmodules where path=%s" msgstr "KhΓ΄ng thα» tΓ¬m thαΊ₯y phαΊ§n trong .gitmodules nΖ‘i mΓ ΔΖ°α»ng_dαΊ«n=%s" -#: submodule.c:73 +#: submodule.c:74 #, c-format msgid "Could not update .gitmodules entry %s" msgstr "KhΓ΄ng thα» cαΊp nhαΊt mα»₯c .gitmodules %s" -#: submodule.c:106 +#: submodule.c:107 #, c-format msgid "Could not remove .gitmodules entry for %s" msgstr "KhΓ΄ng thα» gα»‘ bα» mα»₯c .gitmodules dΓ nh cho %s" -#: submodule.c:117 +#: submodule.c:118 msgid "staging updated .gitmodules failed" msgstr "gαΊ·p lα»i khi tα» chα»©c .gitmodules ΔΓ£ cαΊp nhαΊt" -#: submodule.c:1040 +#: trailer.c:237 #, c-format -msgid "Could not set core.worktree in %s" -msgstr "KhΓ΄ng thα» ΔαΊ·t βcore.worktreeβ trong β%sβ." +msgid "running trailer command '%s' failed" +msgstr "chαΊ‘y lα»nh kΓ©o theo β%sβ gαΊ·p lα»i" -#: trailer.c:491 trailer.c:495 trailer.c:499 trailer.c:553 trailer.c:557 -#: trailer.c:561 +#: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558 +#: trailer.c:562 #, c-format msgid "unknown value '%s' for key '%s'" msgstr "khΓ΄ng hiα»u giΓ‘ trα» β%sβ cho khΓ³a β%sβ" -#: trailer.c:543 trailer.c:548 builtin/remote.c:296 +#: trailer.c:544 trailer.c:549 builtin/remote.c:289 #, c-format msgid "more than one %s" msgstr "nhiα»u hΖ‘n mα»t %s" -#: trailer.c:581 +#: trailer.c:582 #, c-format msgid "empty trailer token in trailer '%.*s'" msgstr "thαΊ» thα»«a trα»ng rα»ng trong phαΊ§n thα»«a β%.*sβ" -#: trailer.c:701 +#: trailer.c:702 #, c-format msgid "could not read input file '%s'" msgstr "khΓ΄ng Δα»c Δược tαΊp tin ΔαΊ§u vΓ o β%sβ" -#: trailer.c:704 +#: trailer.c:705 msgid "could not read from stdin" msgstr "khΓ΄ng thα» Δα»c tα»« ΔαΊ§u vΓ o tiΓͺu chuαΊ©n" -#: transport-helper.c:1025 +#: trailer.c:857 builtin/am.c:42 +#, c-format +msgid "could not stat %s" +msgstr "khΓ΄ng thα» lαΊ₯y thΓ΄ng tin thα»ng kΓͺ vα» %s" + +#: trailer.c:859 +#, c-format +msgid "file %s is not a regular file" +msgstr "\"%s\" khΓ΄ng phαΊ£i lΓ tαΊp tin bΓ¬nh thΖ°α»ng" + +#: trailer.c:861 +#, c-format +msgid "file %s is not writable by user" +msgstr "tαΊp tin %s ngΖ°α»i dΓΉng khΓ΄ng thα» ghi Δược" + +#: trailer.c:873 +msgid "could not open temporary file" +msgstr "khΓ΄ng thα» tαΊ‘o tαΊp tin tαΊ‘m thα»i" + +#: trailer.c:912 +#, c-format +msgid "could not rename temporary file to %s" +msgstr "khΓ΄ng thα» Δα»i tΓͺn tαΊp tin tαΊ‘m thα»i thΓ nh %s" + +#: transport-helper.c:1041 #, c-format msgid "Could not read ref %s" msgstr "KhΓ΄ng thα» Δα»c tham chiαΊΏu %s" @@ -1656,56 +1802,47 @@ msgstr "tΓͺn cα»ng khΓ΄ng hợp lα»" msgid "invalid '..' path segment" msgstr "ΔoαΊ‘n ΔΖ°α»ng dαΊ«n β..β khΓ΄ng hợp lα»" -#: wrapper.c:219 wrapper.c:362 +#: wrapper.c:222 wrapper.c:381 #, c-format msgid "could not open '%s' for reading and writing" msgstr "khΓ΄ng thα» mα» β%sβ Δα» Δα»c vΓ ghi" -#: wrapper.c:221 wrapper.c:364 +#: wrapper.c:224 wrapper.c:383 #, c-format msgid "could not open '%s' for writing" msgstr "khΓ΄ng thα» mα» β%sβ Δα» ghi" -#: wrapper.c:223 wrapper.c:366 builtin/am.c:338 builtin/commit.c:1691 -#: builtin/merge.c:1074 builtin/pull.c:380 +#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/commit.c:1691 +#: builtin/merge.c:1075 builtin/pull.c:387 #, c-format msgid "could not open '%s' for reading" msgstr "khΓ΄ng thα» mα» β%sβ Δα» Δα»c" -#: wrapper.c:579 +#: wrapper.c:611 #, c-format msgid "unable to access '%s': %s" msgstr "khΓ΄ng thα» truy cαΊp β%sβ: %s" -#: wrapper.c:600 +#: wrapper.c:632 #, c-format msgid "unable to access '%s'" msgstr "khΓ΄ng thα» truy cαΊp β%sβ" -#: wrapper.c:611 -#, c-format -msgid "unable to look up current user in the passwd file: %s" -msgstr "khΓ΄ng tΓ¬m thαΊ₯y ngΖ°α»i dΓΉng hiα»n tαΊ‘i trong tαΊp tin passwd: %s" - -#: wrapper.c:612 -msgid "no such user" -msgstr "khΓ΄ng cΓ³ ngΖ°α»i dΓΉng nhΖ° vαΊy" - -#: wrapper.c:620 +#: wrapper.c:640 msgid "unable to get current working directory" msgstr "KhΓ΄ng thα» lαΊ₯y thΖ° mα»₯c lΓ m viα»c hiα»n hΓ nh" -#: wrapper.c:647 +#: wrapper.c:667 #, c-format msgid "could not open %s for writing" msgstr "khΓ΄ng thα» mα» %s Δα» ghi" -#: wrapper.c:658 builtin/am.c:425 +#: wrapper.c:678 builtin/am.c:410 #, c-format msgid "could not write to %s" msgstr "khΓ΄ng thα» ghi vΓ o %s" -#: wrapper.c:664 +#: wrapper.c:684 #, c-format msgid "could not close %s" msgstr "khΓ΄ng thα» ΔΓ³ng %s" @@ -2188,7 +2325,11 @@ msgstr "ΔΓ£ ra Δi" msgid "behind " msgstr "ΔαΊ±ng sau " -#: compat/precompose_utf8.c:56 builtin/clone.c:408 +#: wt-status.c:1680 wt-status.c:1683 +msgid "ahead " +msgstr "phΓa trΖ°α»c " + +#: compat/precompose_utf8.c:57 builtin/clone.c:413 #, c-format msgid "failed to unlink '%s'" msgstr "gαΊ·p lα»i khi bα» liΓͺn kαΊΏt (unlink) β%sβ" @@ -2216,7 +2357,7 @@ msgid "Unstaged changes after refreshing the index:" msgstr "" "ΔΖ°a ra khα»i bα» phΓ³ng cΓ‘c thay Δα»i sau khi lΓ m tΖ°Ζ‘i mα»i lαΊ‘i bαΊ£ng mα»₯c lα»₯c:" -#: builtin/add.c:194 builtin/rev-parse.c:796 +#: builtin/add.c:194 builtin/rev-parse.c:797 msgid "Could not read the index" msgstr "KhΓ΄ng thα» Δα»c bαΊ£ng mα»₯c lα»₯c" @@ -2253,15 +2394,15 @@ msgstr "" "CΓ‘c ΔΖ°α»ng dαΊ«n theo sau ΔΓ’y sαΊ½ bα» lα» Δi bα»i mα»t trong cΓ‘c tαΊp tin .gitignore " "cα»§a bαΊ‘n:\n" -#: builtin/add.c:249 builtin/clean.c:894 builtin/fetch.c:108 builtin/mv.c:110 -#: builtin/prune-packed.c:55 builtin/pull.c:182 builtin/push.c:545 -#: builtin/remote.c:1345 builtin/rm.c:268 builtin/send-pack.c:162 +#: builtin/add.c:249 builtin/clean.c:870 builtin/fetch.c:112 builtin/mv.c:111 +#: builtin/prune-packed.c:55 builtin/pull.c:189 builtin/push.c:511 +#: builtin/remote.c:1330 builtin/rm.c:268 builtin/send-pack.c:162 msgid "dry run" msgstr "chαΊ‘y thα»" -#: builtin/add.c:250 builtin/apply.c:4571 builtin/check-ignore.c:19 +#: builtin/add.c:250 builtin/apply.c:4561 builtin/check-ignore.c:19 #: builtin/commit.c:1322 builtin/count-objects.c:85 builtin/fsck.c:558 -#: builtin/log.c:1640 builtin/mv.c:109 builtin/read-tree.c:114 +#: builtin/log.c:1651 builtin/mv.c:110 builtin/read-tree.c:114 msgid "be verbose" msgstr "chi tiαΊΏt" @@ -2269,7 +2410,7 @@ msgstr "chi tiαΊΏt" msgid "interactive picking" msgstr "sα»a bαΊ±ng cΓ‘ch tΖ°Ζ‘ng tΓ‘c" -#: builtin/add.c:253 builtin/checkout.c:1153 builtin/reset.c:286 +#: builtin/add.c:253 builtin/checkout.c:1155 builtin/reset.c:286 msgid "select hunks interactively" msgstr "chα»n βhunksβ theo kiα»u tΖ°Ζ‘ng tΓ‘c" @@ -2340,137 +2481,132 @@ msgstr "KhΓ΄ng cΓ³ gΓ¬ Δược chα» ra, khΓ΄ng cΓ³ gΓ¬ Δược thΓͺm vΓ o.\n" msgid "Maybe you wanted to say 'git add .'?\n" msgstr "CΓ³ lαΊ½ Γ½ bαΊ‘n lΓ βgit add .β phαΊ£i khΓ΄ng?\n" -#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:938 -#: builtin/commit.c:337 builtin/mv.c:130 builtin/reset.c:235 builtin/rm.c:298 -#: builtin/submodule--helper.c:40 +#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:914 +#: builtin/commit.c:337 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298 +#: builtin/submodule--helper.c:35 msgid "index file corrupt" msgstr "tαΊp tin ghi bαΊ£ng mα»₯c lα»₯c bα» hα»ng" -#: builtin/add.c:439 builtin/apply.c:4669 builtin/mv.c:279 builtin/rm.c:430 +#: builtin/add.c:439 builtin/apply.c:4659 builtin/mv.c:280 builtin/rm.c:430 msgid "Unable to write new index file" msgstr "KhΓ΄ng thα» ghi tαΊp tin lΖ°u bαΊ£ng mα»₯c lα»₯c mα»i" -#: builtin/am.c:42 -#, c-format -msgid "could not stat %s" -msgstr "khΓ΄ng thα» lαΊ₯y thΓ΄ng tin thα»ng kΓͺ vα» %s" - -#: builtin/am.c:271 builtin/commit.c:738 builtin/merge.c:1077 +#: builtin/am.c:256 builtin/commit.c:738 builtin/merge.c:1078 #, c-format msgid "could not read '%s'" msgstr "KhΓ΄ng thα» Δα»c β%sβ." -#: builtin/am.c:445 +#: builtin/am.c:430 msgid "could not parse author script" msgstr "khΓ΄ng thα» phΓ’n tΓch cΓΊ phΓ‘p vΔn lα»nh tΓ‘c giαΊ£" -#: builtin/am.c:522 +#: builtin/am.c:507 #, c-format msgid "'%s' was deleted by the applypatch-msg hook" msgstr "β%sβ bα» xΓ³a bα»i mΓ³c applypatch-msg" -#: builtin/am.c:563 builtin/notes.c:300 +#: builtin/am.c:548 builtin/notes.c:300 #, c-format msgid "Malformed input line: '%s'." msgstr "DΓ²ng ΔαΊ§u vΓ o dα» hΓ¬nh: β%sβ." -#: builtin/am.c:600 builtin/notes.c:315 +#: builtin/am.c:585 builtin/notes.c:315 #, c-format msgid "Failed to copy notes from '%s' to '%s'" msgstr "GαΊ·p lα»i khi sao chΓ©p ghi chΓΊ (note) tα»« β%sβ tα»i β%sβ" -#: builtin/am.c:626 +#: builtin/am.c:611 msgid "fseek failed" msgstr "fseek gαΊ·p lα»i" -#: builtin/am.c:787 builtin/am.c:875 +#: builtin/am.c:772 builtin/am.c:860 #, c-format msgid "could not open '%s' for reading: %s" msgstr "khΓ΄ng thα» mα» β%sβ Δα» Δα»c: %s" -#: builtin/am.c:794 +#: builtin/am.c:779 #, c-format msgid "could not open '%s' for writing: %s" msgstr "KhΓ΄ng thα» mα» β%sβ Δα» ghi: %s" -#: builtin/am.c:803 +#: builtin/am.c:788 #, c-format msgid "could not parse patch '%s'" msgstr "khΓ΄ng thα» phΓ’n tΓch cΓΊ phΓ‘p β%sβ" -#: builtin/am.c:868 +#: builtin/am.c:853 msgid "Only one StGIT patch series can be applied at once" msgstr "Chα» cΓ³ mα»t sΓͺ-ri miαΊΏng vΓ‘ StGIT Δược Γ‘p dα»₯ng mα»t lΓΊc" -#: builtin/am.c:916 +#: builtin/am.c:901 msgid "invalid timestamp" msgstr "dαΊ₯u thα»i gian khΓ΄ng hợp lα»" -#: builtin/am.c:919 builtin/am.c:927 +#: builtin/am.c:904 builtin/am.c:912 msgid "invalid Date line" msgstr "dΓ²ng NgΓ y thΓ‘ng khΓ΄ng hợp lα»" -#: builtin/am.c:924 +#: builtin/am.c:909 msgid "invalid timezone offset" msgstr "Δα» lα»ch mΓΊi giα» khΓ΄ng hợp lα»" -#: builtin/am.c:1011 +#: builtin/am.c:996 msgid "Patch format detection failed." msgstr "DΓ² tΓ¬m Δα»nh dαΊ‘ng miαΊΏng vΓ‘ gαΊ·p lα»i." -#: builtin/am.c:1016 builtin/clone.c:373 +#: builtin/am.c:1001 builtin/clone.c:378 #, c-format msgid "failed to create directory '%s'" msgstr "tαΊ‘o thΖ° mα»₯c \"%s\" gαΊ·p lα»i" -#: builtin/am.c:1020 +#: builtin/am.c:1005 msgid "Failed to split patches." msgstr "GαΊ·p lα»i khi chia nhα» cΓ‘c miαΊΏng vΓ‘." -#: builtin/am.c:1152 builtin/commit.c:363 +#: builtin/am.c:1137 builtin/commit.c:363 msgid "unable to write index file" msgstr "khΓ΄ng thα» ghi tαΊp tin lΖ°u mα»₯c lα»₯c" -#: builtin/am.c:1203 +#: builtin/am.c:1188 #, c-format msgid "When you have resolved this problem, run \"%s --continue\"." msgstr "Khi bαΊ‘n ΔΓ£ phΓ’n giαΊ£i xong trα»₯c trαΊ·c nΓ y, hΓ£y chαΊ‘y \"%s --continue\"." -#: builtin/am.c:1204 +#: builtin/am.c:1189 #, c-format msgid "If you prefer to skip this patch, run \"%s --skip\" instead." msgstr "" "NαΊΏu bαΊ‘n muα»n bα» qua miαΊΏng vΓ‘ nΓ y, hΓ£y chαΊ‘y lα»nh \"%s --skip\" Δα» thay thαΊΏ." -#: builtin/am.c:1205 +#: builtin/am.c:1190 #, c-format msgid "To restore the original branch and stop patching, run \"%s --abort\"." msgstr "Δα» phα»₯c hα»i lαΊ‘i nhΓ‘nh gα»c vΓ dα»«ng vΓ‘, hΓ£y chαΊ‘y \"%s --abort\"." -#: builtin/am.c:1343 +#: builtin/am.c:1328 msgid "Patch is empty. Was it split wrong?" msgstr "MiαΊΏng vΓ‘ trα»ng rα»ng. QuΓ‘ trΓ¬nh chia nhα» miαΊΏng vΓ‘ cΓ³ lα»i?" -#: builtin/am.c:1417 builtin/log.c:1344 +#: builtin/am.c:1402 builtin/log.c:1350 #, c-format msgid "invalid ident line: %s" msgstr "dΓ²ng thα»₯t lα» khΓ΄ng hợp lα»: %s" -#: builtin/am.c:1444 +#: builtin/am.c:1429 #, c-format msgid "unable to parse commit %s" msgstr "khΓ΄ng thα» phΓ’n tΓch lαΊ§n chuyα»n giao β%sβ" -#: builtin/am.c:1646 +#: builtin/am.c:1631 msgid "Repository lacks necessary blobs to fall back on 3-way merge." msgstr "Kho thiαΊΏu Δα»i tượng blob cαΊ§n thiαΊΏt Δα» trα» vα» trΓͺn β3-way mergeβ." -#: builtin/am.c:1648 +#: builtin/am.c:1633 msgid "Using index info to reconstruct a base tree..." msgstr "" "Sα» dα»₯ng thΓ΄ng tin trong bαΊ£ng mα»₯c lα»₯c Δα» cαΊ₯u trΓΊc lαΊ‘i mα»t cΓ’y (tree) cΖ‘ sα»β¦" -#: builtin/am.c:1667 +#: builtin/am.c:1652 msgid "" "Did you hand edit your patch?\n" "It does not apply to blobs recorded in its index." @@ -2478,38 +2614,38 @@ msgstr "" "BαΊ‘n ΔΓ£ sα»a miαΊΏng vΓ‘ cα»§a mΓ¬nh bαΊ±ng cΓ‘ch thα»§ cΓ΄ng Γ ?\n" "NΓ³ khΓ΄ng thα» Γ‘p dα»₯ng cΓ‘c blob ΔΓ£ Δược ghi lαΊ‘i trong bαΊ£ng mα»₯c lα»₯c cα»§a nΓ³." -#: builtin/am.c:1673 +#: builtin/am.c:1658 msgid "Falling back to patching base and 3-way merge..." msgstr "Δang trα» lαΊ‘i Δα» vΓ‘ cΖ‘ sα» vΓ βhΓ²a trα»n 3-ΔΖ°α»ngββ¦" -#: builtin/am.c:1688 +#: builtin/am.c:1673 msgid "Failed to merge in the changes." msgstr "GαΊ·p lα»i khi trα»n vΓ o cΓ‘c thay Δα»i." -#: builtin/am.c:1712 builtin/merge.c:632 +#: builtin/am.c:1697 builtin/merge.c:633 msgid "git write-tree failed to write a tree" msgstr "lα»nh git write-tree gαΊ·p lα»i khi ghi mα»t cΓ’y" -#: builtin/am.c:1719 +#: builtin/am.c:1704 msgid "applying to an empty history" msgstr "Γ‘p dα»₯ng vΓ o mα»t lα»ch sα» trα»ng rα»ng" -#: builtin/am.c:1732 builtin/commit.c:1755 builtin/merge.c:829 -#: builtin/merge.c:854 +#: builtin/am.c:1717 builtin/commit.c:1755 builtin/merge.c:830 +#: builtin/merge.c:855 msgid "failed to write commit object" msgstr "gαΊ·p lα»i khi ghi Δα»i tượng chuyα»n giao" -#: builtin/am.c:1764 builtin/am.c:1768 +#: builtin/am.c:1749 builtin/am.c:1753 #, c-format msgid "cannot resume: %s does not exist." msgstr "khΓ΄ng thα» phα»₯c hα»i: %s khΓ΄ng tα»n tαΊ‘i." -#: builtin/am.c:1784 +#: builtin/am.c:1769 msgid "cannot be interactive without stdin connected to a terminal." msgstr "" "khΓ΄ng thα» Δược tΖ°Ζ‘ng tΓ‘c mΓ khΓ΄ng cΓ³ stdin kαΊΏt nα»i vα»i mα»t thiαΊΏt bα» cuα»i" -#: builtin/am.c:1789 +#: builtin/am.c:1774 msgid "Commit Body is:" msgstr "ThΓ’n cα»§a lαΊ§n chuyα»n giao lΓ :" @@ -2517,37 +2653,37 @@ msgstr "ThΓ’n cα»§a lαΊ§n chuyα»n giao lΓ :" #. in your translation. The program will only accept English #. input at this point. #. -#: builtin/am.c:1799 +#: builtin/am.c:1784 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: " msgstr "" "Γp dα»₯ng? Δα»ng Γ½ [y]/khΓ΄[n]g/chα»nh sα»a [e]/hiα»n thα» miαΊΏng [v]Γ‘/chαΊ₯p nhαΊn tαΊ₯t " "cαΊ£ [a]: " -#: builtin/am.c:1849 +#: builtin/am.c:1834 #, c-format msgid "Dirty index: cannot apply patches (dirty: %s)" msgstr "BαΊ£ng mα»₯c lα»₯c bαΊ©n: khΓ΄ng thα» Γ‘p dα»₯ng cΓ‘c miαΊΏng vΓ‘ (bαΊ©n: %s)" -#: builtin/am.c:1884 builtin/am.c:1955 +#: builtin/am.c:1869 builtin/am.c:1941 #, c-format msgid "Applying: %.*s" msgstr "Γp dα»₯ng: %.*s" -#: builtin/am.c:1900 +#: builtin/am.c:1885 msgid "No changes -- Patch already applied." msgstr "KhΓ΄ng thay Δα»i gΓ¬ cαΊ£ -- MiαΊΏng vΓ‘ ΔΓ£ Δược Γ‘p dα»₯ng rα»i." -#: builtin/am.c:1908 +#: builtin/am.c:1893 #, c-format msgid "Patch failed at %s %.*s" msgstr "GαΊ·p lα»i khi vΓ‘ tαΊ‘i %s %.*s" -#: builtin/am.c:1914 +#: builtin/am.c:1899 #, c-format msgid "The copy of the patch that failed is found in: %s" msgstr "BαΊ£n sao chΓ©p cα»§a miαΊΏng vΓ‘ mΓ nΓ³ gαΊ·p lα»i thΓ¬ Δược tΓ¬m thαΊ₯y trong: %s" -#: builtin/am.c:1958 +#: builtin/am.c:1944 msgid "" "No changes - did you forget to use 'git add'?\n" "If there is nothing left to stage, chances are that something else\n" @@ -2558,7 +2694,7 @@ msgstr "" "ΔΓ£ sαΊ΅n Δược ΔΖ°a vΓ o vα»i cΓΉng nα»i dung thay Δα»i; bαΊ‘n cΓ³ lαΊ½ muα»n bα» qua miαΊΏng " "vΓ‘ nΓ y." -#: builtin/am.c:1965 +#: builtin/am.c:1951 msgid "" "You still have unmerged paths in your index.\n" "Did you forget to use 'git add'?" @@ -2566,17 +2702,17 @@ msgstr "" "BαΊ‘n vαΊ«n cΓ³ nhα»―ng ΔΖ°α»ng dαΊ«n chΖ°a Δược hΓ²a trα»n trong bαΊ£ng mα»₯c lα»₯c cα»§a mΓ¬nh.\n" "BαΊ‘n ΔΓ£ quΓͺn sα» dα»₯ng lα»nh βgit addβ Γ ?" -#: builtin/am.c:2073 builtin/am.c:2077 builtin/am.c:2089 builtin/reset.c:308 +#: builtin/am.c:2059 builtin/am.c:2063 builtin/am.c:2075 builtin/reset.c:308 #: builtin/reset.c:316 #, c-format msgid "Could not parse object '%s'." msgstr "khΓ΄ng thα» phΓ’n tΓch Δα»i tượng β%sβ." -#: builtin/am.c:2125 +#: builtin/am.c:2111 msgid "failed to clean index" msgstr "gαΊ·p lα»i khi dα»n bαΊ£ng mα»₯c lα»₯c" -#: builtin/am.c:2159 +#: builtin/am.c:2145 msgid "" "You seem to have moved HEAD since the last 'am' failure.\n" "Not rewinding to ORIG_HEAD" @@ -2584,153 +2720,153 @@ msgstr "" "BαΊ‘n cΓ³ lαΊ½ ΔΓ£ cΓ³ HEAD ΔΓ£ bα» di chuyα»n Δi kα» tα»« lαΊ§n βamβ thαΊ₯t bαΊ‘i cuα»i cΓΉng.\n" "KhΓ΄ng thα» chuyα»n tα»i ORIG_HEAD" -#: builtin/am.c:2220 +#: builtin/am.c:2206 #, c-format msgid "Invalid value for --patch-format: %s" msgstr "GiΓ‘ trα» khΓ΄ng hợp lα» cho --patch-format: %s" -#: builtin/am.c:2253 +#: builtin/am.c:2239 msgid "git am [<options>] [(<mbox>|<Maildir>)...]" msgstr "git am [<cΓ‘c-tΓΉy-chα»n>] [(<mbox>|<Maildir>)β¦]" -#: builtin/am.c:2254 +#: builtin/am.c:2240 msgid "git am [<options>] (--continue | --skip | --abort)" msgstr "git am [<cΓ‘c-tΓΉy-chα»n>] (--continue | --skip | --abort)" -#: builtin/am.c:2260 +#: builtin/am.c:2246 msgid "run interactively" msgstr "chαΊ‘y kiα»u tΖ°Ζ‘ng tΓ‘c" -#: builtin/am.c:2262 +#: builtin/am.c:2248 msgid "historical option -- no-op" msgstr "tΓΉy chα»n lα»ch sα» -- khΓ΄ng-toΓ‘n-tα»" -#: builtin/am.c:2264 +#: builtin/am.c:2250 msgid "allow fall back on 3way merging if needed" msgstr "cho phΓ©p quay trα» lαΊ‘i Δα» hΓ²a trα»n kiα»u β3wayβ nαΊΏu cαΊ§n" -#: builtin/am.c:2265 builtin/init-db.c:474 builtin/prune-packed.c:57 +#: builtin/am.c:2251 builtin/init-db.c:474 builtin/prune-packed.c:57 #: builtin/repack.c:171 msgid "be quiet" msgstr "im lαΊ·ng" -#: builtin/am.c:2267 +#: builtin/am.c:2253 msgid "add a Signed-off-by line to the commit message" msgstr "ThΓͺm dΓ²ng Signed-off-by cho ghi chΓΊ cα»§a lαΊ§n chuyα»n giao" -#: builtin/am.c:2270 +#: builtin/am.c:2256 msgid "recode into utf8 (default)" msgstr "chuyα»n mΓ£ thΓ nh utf8 (mαΊ·c Δα»nh)" -#: builtin/am.c:2272 +#: builtin/am.c:2258 msgid "pass -k flag to git-mailinfo" msgstr "chuyα»n cα» -k cho git-mailinfo" -#: builtin/am.c:2274 +#: builtin/am.c:2260 msgid "pass -b flag to git-mailinfo" msgstr "chuyα»n cα» -b cho git-mailinfo" -#: builtin/am.c:2276 +#: builtin/am.c:2262 msgid "pass -m flag to git-mailinfo" msgstr "chuyα»n cα» -m cho git-mailinfo" -#: builtin/am.c:2278 +#: builtin/am.c:2264 msgid "pass --keep-cr flag to git-mailsplit for mbox format" msgstr "chuyα»n cα» --keep-cr cho git-mailsplit vα»i Δα»nh dαΊ‘ng mbox" -#: builtin/am.c:2281 +#: builtin/am.c:2267 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr" msgstr "" "Δα»«ng chuyα»n cα» --keep-cr cho git-mailsplit khΓ΄ng phα»₯ thuα»c vΓ o am.keepcr" -#: builtin/am.c:2284 +#: builtin/am.c:2270 msgid "strip everything before a scissors line" msgstr "cαΊ―t mα»i thα»© trΖ°α»c dΓ²ng scissors" -#: builtin/am.c:2285 builtin/apply.c:4554 +#: builtin/am.c:2271 builtin/apply.c:4544 msgid "action" msgstr "hΓ nh Δα»ng" -#: builtin/am.c:2286 builtin/am.c:2289 builtin/am.c:2292 builtin/am.c:2295 -#: builtin/am.c:2298 builtin/am.c:2301 builtin/am.c:2304 builtin/am.c:2307 -#: builtin/am.c:2313 +#: builtin/am.c:2272 builtin/am.c:2275 builtin/am.c:2278 builtin/am.c:2281 +#: builtin/am.c:2284 builtin/am.c:2287 builtin/am.c:2290 builtin/am.c:2293 +#: builtin/am.c:2299 msgid "pass it through git-apply" msgstr "chuyα»n nΓ³ qua git-apply" -#: builtin/am.c:2294 builtin/apply.c:4578 +#: builtin/am.c:2280 builtin/apply.c:4568 msgid "root" msgstr "gα»c" -#: builtin/am.c:2297 builtin/am.c:2300 builtin/apply.c:4516 -#: builtin/apply.c:4519 builtin/clone.c:85 builtin/fetch.c:93 -#: builtin/pull.c:167 builtin/submodule--helper.c:78 -#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169 +#: builtin/am.c:2283 builtin/am.c:2286 builtin/apply.c:4506 +#: builtin/apply.c:4509 builtin/clone.c:86 builtin/fetch.c:95 +#: builtin/pull.c:171 builtin/submodule--helper.c:72 +#: builtin/submodule--helper.c:160 builtin/submodule--helper.c:163 msgid "path" msgstr "ΔΖ°α»ng-dαΊ«n" -#: builtin/am.c:2303 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669 -#: builtin/grep.c:693 builtin/merge.c:198 builtin/pull.c:127 +#: builtin/am.c:2289 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669 +#: builtin/grep.c:704 builtin/merge.c:198 builtin/pull.c:131 builtin/pull.c:185 #: builtin/repack.c:178 builtin/repack.c:182 builtin/show-branch.c:645 #: builtin/show-ref.c:175 builtin/tag.c:340 parse-options.h:132 #: parse-options.h:134 parse-options.h:244 msgid "n" msgstr "n" -#: builtin/am.c:2306 builtin/apply.c:4522 +#: builtin/am.c:2292 builtin/apply.c:4512 msgid "num" msgstr "sα»" -#: builtin/am.c:2309 builtin/for-each-ref.c:37 builtin/replace.c:438 +#: builtin/am.c:2295 builtin/for-each-ref.c:37 builtin/replace.c:438 #: builtin/tag.c:372 msgid "format" msgstr "Δα»nh dαΊ‘ng" -#: builtin/am.c:2310 +#: builtin/am.c:2296 msgid "format the patch(es) are in" msgstr "Δα»nh dαΊ‘ng (cΓ‘c) miαΊΏng vΓ‘ theo" -#: builtin/am.c:2316 +#: builtin/am.c:2302 msgid "override error message when patch failure occurs" msgstr "ΔΓ¨ lΓͺn cΓ‘c lα»i nhαΊ―n lα»i khi xαΊ£y ra lα»i vΓ‘ nghiΓͺm trα»ng" -#: builtin/am.c:2318 +#: builtin/am.c:2304 msgid "continue applying patches after resolving a conflict" msgstr "tiαΊΏp tα»₯c Γ‘p dα»₯ng cΓ‘c miαΊΏng vΓ‘ sau khi giαΊ£i quyαΊΏt xung Δα»t" -#: builtin/am.c:2321 +#: builtin/am.c:2307 msgid "synonyms for --continue" msgstr "Δα»ng nghΔ©a vα»i --continue" -#: builtin/am.c:2324 +#: builtin/am.c:2310 msgid "skip the current patch" msgstr "bα» qua miαΊΏng vΓ‘ hiα»n hΓ nh" -#: builtin/am.c:2327 +#: builtin/am.c:2313 msgid "restore the original branch and abort the patching operation." msgstr "phα»₯c hα»i lαΊ‘i nhΓ‘nh gα»c vΓ loαΊ‘i bα» thao tΓ‘c vΓ‘." -#: builtin/am.c:2331 +#: builtin/am.c:2317 msgid "lie about committer date" msgstr "nΓ³i dα»i vα» ngΓ y chuyα»n giao" -#: builtin/am.c:2333 +#: builtin/am.c:2319 msgid "use current timestamp for author date" msgstr "dΓΉng dαΊ₯u thα»i gian hiα»n tαΊ‘i cho ngΓ y tΓ‘c giαΊ£" -#: builtin/am.c:2335 builtin/commit.c:1593 builtin/merge.c:225 -#: builtin/pull.c:155 builtin/revert.c:92 builtin/tag.c:355 +#: builtin/am.c:2321 builtin/commit.c:1593 builtin/merge.c:225 +#: builtin/pull.c:159 builtin/revert.c:92 builtin/tag.c:355 msgid "key-id" msgstr "mΓ£-sα»-khΓ³a" -#: builtin/am.c:2336 +#: builtin/am.c:2322 msgid "GPG-sign commits" msgstr "lαΊ§n chuyα»n giao kΓ½-GPG" -#: builtin/am.c:2339 +#: builtin/am.c:2325 msgid "(internal use for git-rebase)" msgstr "(dΓΉng nα»i bα» cho git-rebase)" -#: builtin/am.c:2354 +#: builtin/am.c:2340 msgid "" "The -b/--binary option has been a no-op for long time, and\n" "it will be removed. Please do not use it anymore." @@ -2738,16 +2874,16 @@ msgstr "" "TΓΉy chα»n -b/--binary ΔΓ£ khΓ΄ng dΓΉng tα»« lΓ’u rα»i, vΓ \n" "nΓ³ sαΊ½ Δược bα» Δi. Xin Δα»«ng sα» dα»₯ng nΓ³ thΓͺm nα»―a." -#: builtin/am.c:2361 +#: builtin/am.c:2347 msgid "failed to read the index" msgstr "gαΊ·p lα»i Δα»c bαΊ£ng mα»₯c lα»₯c" -#: builtin/am.c:2376 +#: builtin/am.c:2362 #, c-format msgid "previous rebase directory %s still exists but mbox given." msgstr "thΖ° mα»₯c rebase trΖ°α»c %s khΓ΄ng sαΊ΅n cΓ³ nhΖ°ng mbox lαΊ‘i ΔΖ°a ra." -#: builtin/am.c:2400 +#: builtin/am.c:2386 #, c-format msgid "" "Stray %s directory found.\n" @@ -2756,7 +2892,7 @@ msgstr "" "TΓ¬m thαΊ₯y thΖ° mα»₯c lαΊ‘c %s.\n" "DΓΉng \"git am --abort\" Δα» loαΊ‘i bα» nΓ³ Δi." -#: builtin/am.c:2406 +#: builtin/am.c:2392 msgid "Resolve operation not in progress, we are not resuming." msgstr "Thao tΓ‘c phΓ’n giαΊ£i khΓ΄ng Δược tiαΊΏn hΓ nh, chΓΊng ta khΓ΄ng phα»₯c hα»i lαΊ‘i." @@ -3101,135 +3237,135 @@ msgstr "khΓ΄ng thα»«a nhαΊn ΔαΊ§u vΓ o" msgid "unable to read index file" msgstr "khΓ΄ng thα» Δα»c tαΊp tin lΖ°u bαΊ£ng mα»₯c lα»₯c" -#: builtin/apply.c:4517 +#: builtin/apply.c:4507 msgid "don't apply changes matching the given path" msgstr "khΓ΄ng Γ‘p dα»₯ng cΓ‘c thay Δα»i khα»p vα»i ΔΖ°α»ng dαΊ«n ΔΓ£ cho" -#: builtin/apply.c:4520 +#: builtin/apply.c:4510 msgid "apply changes matching the given path" msgstr "Γ‘p dα»₯ng cΓ‘c thay Δα»i khα»p vα»i ΔΖ°α»ng dαΊ«n ΔΓ£ cho" -#: builtin/apply.c:4523 +#: builtin/apply.c:4513 msgid "remove <num> leading slashes from traditional diff paths" msgstr "gα»‘ bα» <sα»> dαΊ₯u gαΊ‘ch chΓ©o dαΊ«n ΔαΊ§u tα»« ΔΖ°α»ng dαΊ«n diff cα» Δiα»n" -#: builtin/apply.c:4526 +#: builtin/apply.c:4516 msgid "ignore additions made by the patch" msgstr "lα» Δi phαΊ§n bα» xung Δược tαΊ‘o ra bα»i miαΊΏng vΓ‘" -#: builtin/apply.c:4528 +#: builtin/apply.c:4518 msgid "instead of applying the patch, output diffstat for the input" msgstr "" "thay vΓ¬ Γ‘p dα»₯ng mα»t miαΊΏng vΓ‘, kαΊΏt xuαΊ₯t kαΊΏt quαΊ£ tα»« lα»nh diffstat cho ΔαΊ§u ra" -#: builtin/apply.c:4532 +#: builtin/apply.c:4522 msgid "show number of added and deleted lines in decimal notation" msgstr "" "hiα»n thα» sα» lượng cΓ‘c dΓ²ng Δược thΓͺm vΓ o vΓ xΓ³a Δi theo kΓ½ hiα»u thαΊp phΓ’n" -#: builtin/apply.c:4534 +#: builtin/apply.c:4524 msgid "instead of applying the patch, output a summary for the input" msgstr "thay vΓ¬ Γ‘p dα»₯ng mα»t miαΊΏng vΓ‘, kαΊΏt xuαΊ₯t kαΊΏt quαΊ£ cho ΔαΊ§u vΓ o" -#: builtin/apply.c:4536 +#: builtin/apply.c:4526 msgid "instead of applying the patch, see if the patch is applicable" msgstr "thay vΓ¬ Γ‘p dα»₯ng miαΊΏng vΓ‘, hΓ£y xem xem miαΊΏng vΓ‘ cΓ³ thΓch hợp khΓ΄ng" -#: builtin/apply.c:4538 +#: builtin/apply.c:4528 msgid "make sure the patch is applicable to the current index" msgstr "hΓ£y chαΊ―c chαΊ―n lΓ miαΊΏng vΓ‘ thΓch hợp vα»i bαΊ£ng mα»₯c lα»₯c hiα»n hΓ nh" -#: builtin/apply.c:4540 +#: builtin/apply.c:4530 msgid "apply a patch without touching the working tree" msgstr "Γ‘p dα»₯ng mα»t miαΊΏng vΓ‘ mΓ khΓ΄ng Δα»ng chαΊ‘m ΔαΊΏn cΓ’y lΓ m viα»c" -#: builtin/apply.c:4542 +#: builtin/apply.c:4532 msgid "accept a patch that touches outside the working area" msgstr "chαΊ₯p nhαΊn mα»t miαΊΏng vΓ‘ mΓ khΓ΄ng Δα»ng chαΊ‘m ΔαΊΏn cΓ’y lΓ m viα»c" -#: builtin/apply.c:4544 +#: builtin/apply.c:4534 msgid "also apply the patch (use with --stat/--summary/--check)" msgstr "" "Δα»ng thα»i Γ‘p dα»₯ng miαΊΏng vΓ‘ (dΓΉng vα»i tΓΉy chα»n --stat/--summary/--check)" -#: builtin/apply.c:4546 +#: builtin/apply.c:4536 msgid "attempt three-way merge if a patch does not apply" msgstr "thα» hΓ²a trα»n kiα»u three-way nαΊΏu viα»c vΓ‘ khΓ΄ng thα» thα»±c hiα»n Δược" -#: builtin/apply.c:4548 +#: builtin/apply.c:4538 msgid "build a temporary index based on embedded index information" msgstr "" "xΓ’y dα»±ng bαΊ£ng mα»₯c lα»₯c tαΊ‘m thα»i trΓͺn cΖ‘ sα» thΓ΄ng tin bαΊ£ng mα»₯c lα»₯c Δược nhΓΊng" -#: builtin/apply.c:4550 builtin/checkout-index.c:198 builtin/ls-files.c:412 +#: builtin/apply.c:4541 builtin/checkout-index.c:169 builtin/ls-files.c:425 msgid "paths are separated with NUL character" msgstr "cΓ‘c ΔΖ°α»ng dαΊ«n bα» ngΔn cΓ‘ch bα»i kΓ½ tα»± NULL" -#: builtin/apply.c:4553 +#: builtin/apply.c:4543 msgid "ensure at least <n> lines of context match" msgstr "ΔαΊ£m bαΊ£o rαΊ±ng cΓ³ Γt nhαΊ₯t <n> dΓ²ng nα»i dung khα»p" -#: builtin/apply.c:4555 +#: builtin/apply.c:4545 msgid "detect new or modified lines that have whitespace errors" msgstr "tΓ¬m thαΊ₯y mα»t dΓ²ng mα»i hoαΊ·c bα» sα»a Δα»i mΓ nΓ³ cΓ³ lα»i do khoαΊ£ng trαΊ―ng" -#: builtin/apply.c:4558 builtin/apply.c:4561 +#: builtin/apply.c:4548 builtin/apply.c:4551 msgid "ignore changes in whitespace when finding context" msgstr "lα» Δi sα»± thay Δα»i do khoαΊ£ng trαΊ―ng gΓ’y ra khi quΓ©t nα»i dung" -#: builtin/apply.c:4564 +#: builtin/apply.c:4554 msgid "apply the patch in reverse" msgstr "Γ‘p dα»₯ng miαΊΏng vΓ‘ theo chiα»u ngược" -#: builtin/apply.c:4566 +#: builtin/apply.c:4556 msgid "don't expect at least one line of context" msgstr "Δα»«ng hy vα»ng cΓ³ Γt nhαΊ₯t mα»t dΓ²ng nα»i dung" -#: builtin/apply.c:4568 +#: builtin/apply.c:4558 msgid "leave the rejected hunks in corresponding *.rej files" msgstr "Δα» lαΊ‘i khα»i dα»― liα»u bα» tα»« chα»i trong cΓ‘c tαΊp tin *.rej tΖ°Ζ‘ng α»©ng" -#: builtin/apply.c:4570 +#: builtin/apply.c:4560 msgid "allow overlapping hunks" msgstr "cho phΓ©p chα»ng khα»i nhα»" -#: builtin/apply.c:4573 +#: builtin/apply.c:4563 msgid "tolerate incorrectly detected missing new-line at the end of file" msgstr "" "ΔΓ£ dΓ² tΓ¬m thαΊ₯y dung sai khΓ΄ng chΓnh xΓ‘c thiαΊΏu dΓ²ng mα»i tαΊ‘i cuα»i tαΊp tin" -#: builtin/apply.c:4576 +#: builtin/apply.c:4566 msgid "do not trust the line counts in the hunk headers" msgstr "khΓ΄ng tin sα» lượng dΓ²ng trong phαΊ§n ΔαΊ§u khα»i dα»― liα»u" -#: builtin/apply.c:4579 +#: builtin/apply.c:4569 msgid "prepend <root> to all filenames" msgstr "treo thΓͺm <root> vΓ o tαΊ₯t cαΊ£ cΓ‘c tΓͺn tαΊp tin" -#: builtin/apply.c:4601 +#: builtin/apply.c:4591 msgid "--3way outside a repository" msgstr "--3way α» ngoΓ i mα»t kho chα»©a" -#: builtin/apply.c:4609 +#: builtin/apply.c:4599 msgid "--index outside a repository" msgstr "--index α» ngoΓ i mα»t kho chα»©a" -#: builtin/apply.c:4612 +#: builtin/apply.c:4602 msgid "--cached outside a repository" msgstr "--cached α» ngoΓ i mα»t kho chα»©a" -#: builtin/apply.c:4631 +#: builtin/apply.c:4621 #, c-format msgid "can't open patch '%s'" msgstr "khΓ΄ng thα» mα» miαΊΏng vΓ‘ β%sβ" -#: builtin/apply.c:4645 +#: builtin/apply.c:4635 #, c-format msgid "squelched %d whitespace error" msgid_plural "squelched %d whitespace errors" msgstr[0] "ΔΓ£ chαΊ₯m dα»©t %d lα»i khoαΊ£ng trαΊ―ng" -#: builtin/apply.c:4651 builtin/apply.c:4661 +#: builtin/apply.c:4641 builtin/apply.c:4651 #, c-format msgid "%d line adds whitespace errors." msgid_plural "%d lines add whitespace errors." @@ -3283,105 +3419,113 @@ msgid "update BISECT_HEAD instead of checking out the current commit" msgstr "" "cαΊp nhαΊt BISECT_HEAD thay vΓ¬ lαΊ₯y ra (checking out) lαΊ§n chuyα»n giao hiα»n hΓ nh" -#: builtin/blame.c:32 +#: builtin/blame.c:33 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>" msgstr "git blame [<cΓ‘c-tΓΉy-chα»n>] [<rev-opts>] [<rev>] [--] <tαΊp-tin>" -#: builtin/blame.c:37 +#: builtin/blame.c:38 msgid "<rev-opts> are documented in git-rev-list(1)" msgstr "<rev-opts> Δược mΓ΄ tαΊ£ trong tΓ i liα»u git-rev-list(1)" -#: builtin/blame.c:2519 +#: builtin/blame.c:1782 +msgid "Blaming lines" +msgstr "CΓ‘c dΓ²ng blame" + +#: builtin/blame.c:2530 msgid "Show blame entries as we find them, incrementally" msgstr "Hiα»n thα» cΓ‘c mα»₯c βblameβ nhΖ° lΓ chΓΊng ta thαΊ₯y chΓΊng, tΔng dαΊ§n" -#: builtin/blame.c:2520 +#: builtin/blame.c:2531 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "" "Hiα»n thα» SHA-1 trαΊ―ng cho nhα»―ng lαΊ§n chuyα»n giao biΓͺn giα»i (MαΊ·c Δα»nh: off)" -#: builtin/blame.c:2521 +#: builtin/blame.c:2532 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "KhΓ΄ng coi cΓ‘c lαΊ§n chuyα»n giao gα»c lΓ giα»i hαΊ‘n (MαΊ·c Δα»nh: off)" -#: builtin/blame.c:2522 +#: builtin/blame.c:2533 msgid "Show work cost statistics" msgstr "Hiα»n thα» thα»ng kΓͺ cΓ΄ng sα»©c lΓ m viα»c" -#: builtin/blame.c:2523 +#: builtin/blame.c:2534 +msgid "Force progress reporting" +msgstr "Γp buα»c bΓ‘o cΓ‘o tiαΊΏn triα»n cΓ΄ng viα»c" + +#: builtin/blame.c:2535 msgid "Show output score for blame entries" msgstr "Hiα»n thα» kαΊΏt xuαΊ₯t Δiα»m sα» cΓ³ cΓ‘c mα»₯c tin βblameβ" -#: builtin/blame.c:2524 +#: builtin/blame.c:2536 msgid "Show original filename (Default: auto)" msgstr "Hiα»n thα» tΓͺn tαΊp tin gα»c (MαΊ·c Δα»nh: auto)" -#: builtin/blame.c:2525 +#: builtin/blame.c:2537 msgid "Show original linenumber (Default: off)" msgstr "Hiα»n thα» sα» dΓ²ng gα»c (MαΊ·c Δα»nh: off)" -#: builtin/blame.c:2526 +#: builtin/blame.c:2538 msgid "Show in a format designed for machine consumption" msgstr "Hiα»n thα» α» Δα»nh dαΊ‘ng ΔΓ£ thiαΊΏt kαΊΏ cho sα»± tiΓͺu dΓΉng bαΊ±ng mΓ‘y" -#: builtin/blame.c:2527 +#: builtin/blame.c:2539 msgid "Show porcelain format with per-line commit information" msgstr "Hiα»n thα» Δα»nh dαΊ‘ng βporcelainβ vα»i thΓ΄ng tin chuyα»n giao mα»i dΓ²ng" -#: builtin/blame.c:2528 +#: builtin/blame.c:2540 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "DΓΉng cΓΉng chαΊΏ Δα» xuαΊ₯t ra vα»i git-annotate (MαΊ·c Δα»nh: off)" -#: builtin/blame.c:2529 +#: builtin/blame.c:2541 msgid "Show raw timestamp (Default: off)" msgstr "Hiα»n thα» dαΊ₯u vαΊΏt thα»i gian dαΊ‘ng thΓ΄ (MαΊ·c Δα»nh: off)" -#: builtin/blame.c:2530 +#: builtin/blame.c:2542 msgid "Show long commit SHA1 (Default: off)" msgstr "Hiα»n thα» SHA1 cα»§a lαΊ§n chuyα»n giao dαΊ‘ng dΓ i (MαΊ·c Δα»nh: off)" -#: builtin/blame.c:2531 +#: builtin/blame.c:2543 msgid "Suppress author name and timestamp (Default: off)" msgstr "KhΓ΄ng hiα»n thα» tΓͺn tΓ‘c giαΊ£ vΓ dαΊ₯u vαΊΏt thα»i gian (MαΊ·c Δα»nh: off)" -#: builtin/blame.c:2532 +#: builtin/blame.c:2544 msgid "Show author email instead of name (Default: off)" msgstr "Hiα»n thα» thΖ° Δiα»n tα» cα»§a tΓ‘c giαΊ£ thay vΓ¬ tΓͺn (MαΊ·c Δα»nh: off)" -#: builtin/blame.c:2533 +#: builtin/blame.c:2545 msgid "Ignore whitespace differences" msgstr "Bα» qua cΓ‘c khΓ‘c biα»t do khoαΊ£ng trαΊ―ng gΓ’y ra" -#: builtin/blame.c:2534 +#: builtin/blame.c:2546 msgid "Spend extra cycles to find better match" msgstr "TiΓͺu thα»₯ thΓͺm nΔng tΓ i nguyΓͺn mΓ‘y mΓ³c Δα» tΓ¬m kiαΊΏm tα»t hΖ‘n nα»―a" -#: builtin/blame.c:2535 +#: builtin/blame.c:2547 msgid "Use revisions from <file> instead of calling git-rev-list" msgstr "" "Sα» dα»₯ng Δiα»m xΓ©t duyα»t (revision) tα»« <tαΊp tin> thay vΓ¬ gα»i βgit-rev-listβ" -#: builtin/blame.c:2536 +#: builtin/blame.c:2548 msgid "Use <file>'s contents as the final image" msgstr "Sα» dα»₯ng nα»i dung cα»§a <tαΊp tin> nhΖ° lΓ αΊ£nh cuα»i cΓΉng" -#: builtin/blame.c:2537 builtin/blame.c:2538 +#: builtin/blame.c:2549 builtin/blame.c:2550 msgid "score" msgstr "Δiα»m sα»" -#: builtin/blame.c:2537 +#: builtin/blame.c:2549 msgid "Find line copies within and across files" msgstr "TΓ¬m cΓ‘c bαΊ£n sao chΓ©p dΓ²ng trong vΓ ngang qua tαΊp tin" -#: builtin/blame.c:2538 +#: builtin/blame.c:2550 msgid "Find line movements within and across files" msgstr "TΓ¬m cΓ‘c di chuyα»n dΓ²ng trong vΓ ngang qua tαΊp tin" -#: builtin/blame.c:2539 +#: builtin/blame.c:2551 msgid "n,m" msgstr "n,m" -#: builtin/blame.c:2539 +#: builtin/blame.c:2551 msgid "Process only line range n,m, counting from 1" msgstr "Xα» lΓ½ chα» dΓ²ng vΓΉng n,m, tΓnh tα»« 1" @@ -3391,7 +3535,7 @@ msgstr "Xα» lΓ½ chα» dΓ²ng vΓΉng n,m, tΓnh tα»« 1" #. takes 22 places, is the longest among various forms of #. relative timestamps, but your language may need more or #. fewer display columns. -#: builtin/blame.c:2620 +#: builtin/blame.c:2640 msgid "4 years, 11 months ago" msgstr "4 nΔm, 11 thΓ‘ng trΖ°α»c" @@ -3589,156 +3733,156 @@ msgstr "NhΓ‘nh bα» Δα»i tΓͺn thΓ nh %s, nhΖ°ng HEAD lαΊ‘i khΓ΄ng Δược cαΊ msgid "Branch is renamed, but update of config-file failed" msgstr "NhΓ‘nh bα» Δα»i tΓͺn, nhΖ°ng cαΊp nhαΊt tαΊp tin cαΊ₯u hΓ¬nh gαΊ·p lα»i" -#: builtin/branch.c:587 +#: builtin/branch.c:586 #, c-format msgid "could not write branch description template: %s" msgstr "khΓ΄ng thα» ghi vΓ o mαΊ«u mΓ΄ tαΊ£ nhΓ‘nh: %s" -#: builtin/branch.c:616 +#: builtin/branch.c:615 msgid "Generic options" msgstr "TΓΉy chα»n chung" -#: builtin/branch.c:618 +#: builtin/branch.c:617 msgid "show hash and subject, give twice for upstream branch" msgstr "hiα»n thα» mΓ£ bΔm vΓ chα»§ Δα», ΔΖ°a ra hai lαΊ§n cho nhΓ‘nh thượng nguα»n" -#: builtin/branch.c:619 +#: builtin/branch.c:618 msgid "suppress informational messages" msgstr "khΓ΄ng xuαΊ₯t cΓ‘c thΓ΄ng tin" -#: builtin/branch.c:620 +#: builtin/branch.c:619 msgid "set up tracking mode (see git-pull(1))" msgstr "cΓ i ΔαΊ·t chαΊΏ Δα» theo dΓ΅i (xem git-pull(1))" -#: builtin/branch.c:622 +#: builtin/branch.c:621 msgid "change upstream info" msgstr "thay Δα»i thΓ΄ng tin thượng nguα»n" -#: builtin/branch.c:626 +#: builtin/branch.c:625 msgid "use colored output" msgstr "tΓ΄ mΓ u kαΊΏt xuαΊ₯t" -#: builtin/branch.c:627 +#: builtin/branch.c:626 msgid "act on remote-tracking branches" msgstr "thao tΓ‘c trΓͺn nhΓ‘nh βremote-trackingβ" -#: builtin/branch.c:629 builtin/branch.c:630 +#: builtin/branch.c:628 builtin/branch.c:629 msgid "print only branches that contain the commit" msgstr "chα» hiα»n thα» nhα»―ng nhΓ‘nh mΓ nΓ³ chα»©a lαΊ§n chuyα»n giao" -#: builtin/branch.c:633 +#: builtin/branch.c:632 msgid "Specific git-branch actions:" msgstr "HΓ nh Δα»ng git-branch:" -#: builtin/branch.c:634 +#: builtin/branch.c:633 msgid "list both remote-tracking and local branches" msgstr "liα»t kΓͺ cαΊ£ nhΓ‘nh βremote-trackingβ vΓ nα»i bα»" -#: builtin/branch.c:636 +#: builtin/branch.c:635 msgid "delete fully merged branch" msgstr "xΓ³a mα»t toΓ n bα» nhΓ‘nh ΔΓ£ hΓ²a trα»n" -#: builtin/branch.c:637 +#: builtin/branch.c:636 msgid "delete branch (even if not merged)" msgstr "xΓ³a nhΓ‘nh (cho dΓΉ lΓ chΖ°a Δược hΓ²a trα»n)" -#: builtin/branch.c:638 +#: builtin/branch.c:637 msgid "move/rename a branch and its reflog" msgstr "di chuyα»n hay Δα»i tΓͺn mα»t nhΓ‘nh vΓ reflog cα»§a nΓ³" -#: builtin/branch.c:639 +#: builtin/branch.c:638 msgid "move/rename a branch, even if target exists" msgstr "di chuyα»n hoαΊ·c Δα»i tΓͺn mα»t nhΓ‘nh ngay cαΊ£ khi ΔΓch ΔΓ£ cΓ³ sαΊ΅n" -#: builtin/branch.c:640 +#: builtin/branch.c:639 msgid "list branch names" msgstr "liα»t kΓͺ cΓ‘c tΓͺn nhΓ‘nh" -#: builtin/branch.c:641 +#: builtin/branch.c:640 msgid "create the branch's reflog" msgstr "tαΊ‘o reflog cα»§a nhΓ‘nh" -#: builtin/branch.c:643 +#: builtin/branch.c:642 msgid "edit the description for the branch" msgstr "sα»a mΓ΄ tαΊ£ cho nhΓ‘nh" -#: builtin/branch.c:644 +#: builtin/branch.c:643 msgid "force creation, move/rename, deletion" msgstr "buα»c tαΊ‘o, di chuyα»n/Δα»i tΓͺn, xΓ³a" -#: builtin/branch.c:645 +#: builtin/branch.c:644 msgid "print only branches that are merged" msgstr "chα» hiα»n thα» nhα»―ng nhΓ‘nh mΓ nΓ³ Δược hΓ²a trα»n" -#: builtin/branch.c:646 +#: builtin/branch.c:645 msgid "print only branches that are not merged" msgstr "chα» hiα»n thα» nhα»―ng nhΓ‘nh mΓ nΓ³ khΓ΄ng Δược hΓ²a trα»n" -#: builtin/branch.c:647 +#: builtin/branch.c:646 msgid "list branches in columns" msgstr "liα»t kΓͺ cΓ‘c nhΓ‘nh trong cΓ‘c cα»t" -#: builtin/branch.c:648 builtin/for-each-ref.c:38 builtin/tag.c:366 +#: builtin/branch.c:647 builtin/for-each-ref.c:38 builtin/tag.c:366 msgid "key" msgstr "khΓ³a" -#: builtin/branch.c:649 builtin/for-each-ref.c:39 builtin/tag.c:367 +#: builtin/branch.c:648 builtin/for-each-ref.c:39 builtin/tag.c:367 msgid "field name to sort on" msgstr "tΓͺn trΖ°α»ng cαΊ§n sαΊ―p xαΊΏp" -#: builtin/branch.c:651 builtin/for-each-ref.c:41 builtin/notes.c:398 -#: builtin/notes.c:401 builtin/notes.c:561 builtin/notes.c:564 +#: builtin/branch.c:650 builtin/for-each-ref.c:41 builtin/notes.c:401 +#: builtin/notes.c:404 builtin/notes.c:564 builtin/notes.c:567 #: builtin/tag.c:369 msgid "object" msgstr "Δα»i tượng" -#: builtin/branch.c:652 +#: builtin/branch.c:651 msgid "print only branches of the object" msgstr "chα» hiα»n thα» cΓ‘c nhΓ‘nh cα»§a Δα»i tượng" -#: builtin/branch.c:670 +#: builtin/branch.c:669 msgid "Failed to resolve HEAD as a valid ref." msgstr "GαΊ·p lα»i khi phΓ’n giαΊ£i HEAD nhΖ° lΓ mα»t tham chiαΊΏu hợp lα»." -#: builtin/branch.c:674 builtin/clone.c:697 +#: builtin/branch.c:673 builtin/clone.c:705 msgid "HEAD not found below refs/heads!" msgstr "khΓ΄ng tΓ¬m thαΊ₯y HEAD α» dΖ°α»i refs/heads!" -#: builtin/branch.c:694 +#: builtin/branch.c:693 msgid "--column and --verbose are incompatible" msgstr "tΓΉy chα»n --column vΓ --verbose xung khαΊ―c nhau" -#: builtin/branch.c:705 builtin/branch.c:747 +#: builtin/branch.c:704 builtin/branch.c:746 msgid "branch name required" msgstr "cαΊ§n chα» ra tΓͺn nhΓ‘nh" -#: builtin/branch.c:723 +#: builtin/branch.c:722 msgid "Cannot give description to detached HEAD" msgstr "KhΓ΄ng thα» ΔΖ°a ra mΓ΄ tαΊ£ HEAD ΔΓ£ tΓ‘ch rα»i" -#: builtin/branch.c:728 +#: builtin/branch.c:727 msgid "cannot edit description of more than one branch" msgstr "khΓ΄ng thα» sα»a mΓ΄ tαΊ£ cho nhiα»u hΖ‘n mα»t nhΓ‘nh" -#: builtin/branch.c:735 +#: builtin/branch.c:734 #, c-format msgid "No commit on branch '%s' yet." msgstr "VαΊ«n chΖ°a chuyα»n giao trΓͺn nhΓ‘nh β%sβ." -#: builtin/branch.c:738 +#: builtin/branch.c:737 #, c-format msgid "No branch named '%s'." msgstr "KhΓ΄ng cΓ³ nhΓ‘nh nΓ o cΓ³ tΓͺn β%sβ." -#: builtin/branch.c:753 +#: builtin/branch.c:752 msgid "too many branches for a rename operation" msgstr "quΓ‘ nhiα»u nhΓ‘nh dΓ nh cho thao tΓ‘c Δα»i tΓͺn" -#: builtin/branch.c:758 +#: builtin/branch.c:757 msgid "too many branches to set new upstream" msgstr "quΓ‘ nhiα»u nhΓ‘nh Δược ΔαΊ·t cho thượng nguα»n mα»i" -#: builtin/branch.c:762 +#: builtin/branch.c:761 #, c-format msgid "" "could not set upstream of HEAD to %s when it does not point to any branch." @@ -3746,40 +3890,40 @@ msgstr "" "khΓ΄ng thα» ΔαΊ·t thượng nguα»n cα»§a HEAD thΓ nh %s khi mΓ nΓ³ chαΊ³ng chα» ΔαΊΏn nhΓ‘nh " "nΓ o cαΊ£." -#: builtin/branch.c:765 builtin/branch.c:787 builtin/branch.c:808 +#: builtin/branch.c:764 builtin/branch.c:786 builtin/branch.c:807 #, c-format msgid "no such branch '%s'" msgstr "khΓ΄ng cΓ³ nhΓ‘nh nΓ o nhΖ° thαΊΏ β%sβ" -#: builtin/branch.c:769 +#: builtin/branch.c:768 #, c-format msgid "branch '%s' does not exist" msgstr "chΖ°a cΓ³ nhΓ‘nh β%sβ" -#: builtin/branch.c:781 +#: builtin/branch.c:780 msgid "too many branches to unset upstream" msgstr "quΓ‘ nhiα»u nhΓ‘nh Δα» bα» ΔαΊ·t thượng nguα»n" -#: builtin/branch.c:785 +#: builtin/branch.c:784 msgid "could not unset upstream of HEAD when it does not point to any branch." msgstr "khΓ΄ng thα» bα» ΔαΊ·t thượng nguα»n cα»§a HEAD khΓ΄ng chα» ΔαΊΏn mα»t nhΓ‘nh nΓ o cαΊ£." -#: builtin/branch.c:791 +#: builtin/branch.c:790 #, c-format msgid "Branch '%s' has no upstream information" msgstr "NhΓ‘nh β%sβ khΓ΄ng cΓ³ thΓ΄ng tin thượng nguα»n" -#: builtin/branch.c:805 +#: builtin/branch.c:804 msgid "it does not make sense to create 'HEAD' manually" msgstr "khΓ΄ng hợp lΓ½ khi tαΊ‘o βHEADβ thα»§ cΓ΄ng" -#: builtin/branch.c:811 +#: builtin/branch.c:810 msgid "-a and -r options to 'git branch' do not make sense with a branch name" msgstr "" "hai tΓΉy chα»n -a vΓ -r Γ‘p dα»₯ng cho lα»nh βgit branchβ khΓ΄ng hợp lΓ½ Δα»i vα»i tΓͺn " "nhΓ‘nh" -#: builtin/branch.c:814 +#: builtin/branch.c:813 #, c-format msgid "" "The --set-upstream flag is deprecated and will be removed. Consider using --" @@ -3788,7 +3932,7 @@ msgstr "" "Cα» --set-upstream ΔΓ£ lαΊ‘c hαΊu vΓ sαΊ½ bα» xΓ³a bα». NΓͺn dΓΉng --track hoαΊ·c --set-" "upstream-to\n" -#: builtin/branch.c:831 +#: builtin/branch.c:830 #, c-format msgid "" "\n" @@ -3799,12 +3943,12 @@ msgstr "" "NαΊΏu bαΊ‘n muα»n β%sβ theo dΓ΅i β%sβ, thα»±c hiα»n lα»nh sau:\n" "\n" -#: builtin/branch.c:832 +#: builtin/branch.c:831 #, c-format msgid " git branch -d %s\n" msgstr " git branch -d %s\n" -#: builtin/branch.c:833 +#: builtin/branch.c:832 #, c-format msgid " git branch --set-upstream-to %s\n" msgstr " git branch --set-upstream-to %s\n" @@ -3899,7 +4043,7 @@ msgstr "bΓ‘o cΓ‘o tαΊ₯t cαΊ£ cΓ‘c thuα»c tΓnh ΔαΊ·t trΓͺn tαΊp tin" msgid "use .gitattributes only from the index" msgstr "chα» dΓΉng .gitattributes tα»« bαΊ£ng mα»₯c lα»₯c" -#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:96 +#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:97 msgid "read file names from stdin" msgstr "Δα»c tΓͺn tαΊp tin tα»« ΔαΊ§u vΓ o tiΓͺu chuαΊ©n" @@ -3907,7 +4051,7 @@ msgstr "Δα»c tΓͺn tαΊp tin tα»« ΔαΊ§u vΓ o tiΓͺu chuαΊ©n" msgid "terminate input and output records by a NUL character" msgstr "chαΊ₯m dα»©t cΓ‘c bαΊ£n ghi vΓ o vΓ ra bαΊ±ng kΓ½ tα»± NULL" -#: builtin/check-ignore.c:18 builtin/checkout.c:1134 builtin/gc.c:325 +#: builtin/check-ignore.c:18 builtin/checkout.c:1136 builtin/gc.c:325 msgid "suppress progress reporting" msgstr "chαΊ·n cΓ‘c bΓ‘o cΓ‘o tiαΊΏn trΓ¬nh hoαΊ‘t Δα»ng" @@ -3960,50 +4104,54 @@ msgstr "khΓ΄ng thα» phΓ’n tΓch danh bαΊ‘: β%sβ" msgid "no contacts specified" msgstr "chΖ°a chα» ra danh bαΊ‘" -#: builtin/checkout-index.c:126 +#: builtin/checkout-index.c:127 msgid "git checkout-index [<options>] [--] [<file>...]" msgstr "git checkout-index [<cΓ‘c-tΓΉy-chα»n>] [--] [<tαΊp-tin>β¦]" -#: builtin/checkout-index.c:188 +#: builtin/checkout-index.c:144 +msgid "stage should be between 1 and 3 or all" +msgstr "stage nΓͺn giα»―a 1 vΓ 3 hay all" + +#: builtin/checkout-index.c:160 msgid "check out all files in the index" msgstr "lαΊ₯y ra toΓ n bα» cΓ‘c tαΊp tin trong bαΊ£ng mα»₯c lα»₯c" -#: builtin/checkout-index.c:189 +#: builtin/checkout-index.c:161 msgid "force overwrite of existing files" msgstr "Γ©p buα»c ghi ΔΓ¨ lΓͺn tαΊp tin ΔΓ£ sαΊ΅n cΓ³ tα»« trΖ°α»c" -#: builtin/checkout-index.c:191 +#: builtin/checkout-index.c:163 msgid "no warning for existing files and files not in index" msgstr "" "khΓ΄ng cαΊ£nh bΓ‘o cho nhα»―ng tαΊp tin tα»n tαΊ‘i vΓ khΓ΄ng cΓ³ trong bαΊ£ng mα»₯c lα»₯c" -#: builtin/checkout-index.c:193 +#: builtin/checkout-index.c:165 msgid "don't checkout new files" msgstr "khΓ΄ng checkout cΓ‘c tαΊp tin mα»i" -#: builtin/checkout-index.c:195 +#: builtin/checkout-index.c:167 msgid "update stat information in the index file" msgstr "cαΊp nhαΊt thΓ΄ng tin thα»ng kΓͺ trong tαΊp tin lΖ°u bαΊ£ng mα»₯c lα»₯c mα»i" -#: builtin/checkout-index.c:201 +#: builtin/checkout-index.c:171 msgid "read list of paths from the standard input" msgstr "Δα»c danh sΓ‘ch ΔΖ°α»ng dαΊ«n tα»« ΔαΊ§u vΓ o tiΓͺu chuαΊ©n" -#: builtin/checkout-index.c:203 +#: builtin/checkout-index.c:173 msgid "write the content to temporary files" msgstr "ghi nα»i dung vΓ o tαΊp tin tαΊ‘m" -#: builtin/checkout-index.c:204 builtin/column.c:30 +#: builtin/checkout-index.c:174 builtin/column.c:30 +#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169 #: builtin/submodule--helper.c:172 builtin/submodule--helper.c:175 -#: builtin/submodule--helper.c:178 builtin/submodule--helper.c:181 msgid "string" msgstr "chuα»i" -#: builtin/checkout-index.c:205 +#: builtin/checkout-index.c:175 msgid "when creating files, prepend <string>" msgstr "khi tαΊ‘o cΓ‘c tαΊp tin, nα»i thΓͺm <chuα»i>" -#: builtin/checkout-index.c:208 +#: builtin/checkout-index.c:177 msgid "copy out the files from named stage" msgstr "sao chΓ©p ra cΓ‘c tαΊp tin tα»« bα» phΓ³ng cΓ³ tΓͺn" @@ -4084,37 +4232,41 @@ msgstr "KhΓ΄ng thα» thα»±c hiα»n reflog cho β%sβ: %s\n" msgid "HEAD is now at" msgstr "HEAD hiα»n giα» tαΊ‘i" -#: builtin/checkout.c:668 +#: builtin/checkout.c:665 builtin/clone.c:659 +msgid "unable to update HEAD" +msgstr "khΓ΄ng thα» cαΊp nhαΊt HEAD" + +#: builtin/checkout.c:669 #, c-format msgid "Reset branch '%s'\n" msgstr "ΔαΊ·t lαΊ‘i nhΓ‘nh β%sβ\n" -#: builtin/checkout.c:671 +#: builtin/checkout.c:672 #, c-format msgid "Already on '%s'\n" msgstr "ΔΓ£ sαΊ΅n sΓ ng trΓͺn β%sβ\n" -#: builtin/checkout.c:675 +#: builtin/checkout.c:676 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "ΔΓ£ chuyα»n tα»i vΓ ΔαΊ·t lαΊ‘i nhΓ‘nh β%sβ\n" -#: builtin/checkout.c:677 builtin/checkout.c:1066 +#: builtin/checkout.c:678 builtin/checkout.c:1068 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "ΔΓ£ chuyα»n ΔαΊΏn nhΓ‘nh mα»i β%sβ\n" -#: builtin/checkout.c:679 +#: builtin/checkout.c:680 #, c-format msgid "Switched to branch '%s'\n" msgstr "ΔΓ£ chuyα»n ΔαΊΏn nhΓ‘nh β%sβ\n" -#: builtin/checkout.c:731 +#: builtin/checkout.c:732 #, c-format msgid " ... and %d more.\n" msgstr " β¦ vΓ nhiα»u hΖ‘n %d.\n" -#: builtin/checkout.c:737 +#: builtin/checkout.c:738 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -4133,7 +4285,7 @@ msgstr[0] "" "\n" "%s\n" -#: builtin/checkout.c:756 +#: builtin/checkout.c:757 #, c-format msgid "" "If you want to keep it by creating a new branch, this may be a good time\n" @@ -4154,152 +4306,152 @@ msgstr[0] "" " git branch <tΓͺn_nhΓ‘nh_mα»i> %s\n" "\n" -#: builtin/checkout.c:792 +#: builtin/checkout.c:793 msgid "internal error in revision walk" msgstr "lα»i nα»i bα» trong khi di chuyα»n qua cΓ‘c Δiα»m xΓ©t duyα»t" -#: builtin/checkout.c:796 +#: builtin/checkout.c:797 msgid "Previous HEAD position was" msgstr "Vα» trΓ trΖ°α»c kia cα»§a HEAD lΓ " -#: builtin/checkout.c:823 builtin/checkout.c:1061 +#: builtin/checkout.c:824 builtin/checkout.c:1063 msgid "You are on a branch yet to be born" msgstr "BαΊ‘n tαΊ‘i nhΓ‘nh mΓ nΓ³ chΖ°a hα» Δược sinh ra" -#: builtin/checkout.c:968 +#: builtin/checkout.c:969 #, c-format msgid "only one reference expected, %d given." msgstr "chα» cαΊ§n mα»t tham chiαΊΏu, nhΖ°ng lαΊ‘i ΔΖ°a ra %d." -#: builtin/checkout.c:1007 builtin/worktree.c:213 +#: builtin/checkout.c:1009 builtin/worktree.c:211 #, c-format msgid "invalid reference: %s" msgstr "tham chiαΊΏu khΓ΄ng hợp lα»: %s" -#: builtin/checkout.c:1036 +#: builtin/checkout.c:1038 #, c-format msgid "reference is not a tree: %s" msgstr "tham chiαΊΏu khΓ΄ng phαΊ£i lΓ mα»t cΓ’y:%s" -#: builtin/checkout.c:1075 +#: builtin/checkout.c:1077 msgid "paths cannot be used with switching branches" msgstr "cΓ‘c ΔΖ°α»ng dαΊ«n khΓ΄ng thα» dΓΉng cΓΉng vα»i cΓ‘c nhΓ‘nh chuyα»n" -#: builtin/checkout.c:1078 builtin/checkout.c:1082 +#: builtin/checkout.c:1080 builtin/checkout.c:1084 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "β%sβ khΓ΄ng thα» Δược sα» dα»₯ng vα»i cΓ‘c nhΓ‘nh chuyα»n" -#: builtin/checkout.c:1086 builtin/checkout.c:1089 builtin/checkout.c:1094 -#: builtin/checkout.c:1097 +#: builtin/checkout.c:1088 builtin/checkout.c:1091 builtin/checkout.c:1096 +#: builtin/checkout.c:1099 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "β%sβ khΓ΄ng thα» Δược dΓΉng vα»i β%sβ" -#: builtin/checkout.c:1102 +#: builtin/checkout.c:1104 #, c-format msgid "Cannot switch branch to a non-commit '%s'" msgstr "KhΓ΄ng thα» chuyα»n nhΓ‘nh ΔαΊΏn mα»t thα»© khΓ΄ng phαΊ£i lΓ lαΊ§n chuyα»n giao β%sβ" -#: builtin/checkout.c:1135 builtin/checkout.c:1137 builtin/clone.c:83 -#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:320 -#: builtin/worktree.c:322 +#: builtin/checkout.c:1137 builtin/checkout.c:1139 builtin/clone.c:84 +#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:318 +#: builtin/worktree.c:320 msgid "branch" msgstr "nhΓ‘nh" -#: builtin/checkout.c:1136 +#: builtin/checkout.c:1138 msgid "create and checkout a new branch" msgstr "tαΊ‘o vΓ checkout mα»t nhΓ‘nh mα»i" -#: builtin/checkout.c:1138 +#: builtin/checkout.c:1140 msgid "create/reset and checkout a branch" msgstr "tαΊ‘o/ΔαΊ·t_lαΊ‘i vΓ checkout mα»t nhΓ‘nh" -#: builtin/checkout.c:1139 +#: builtin/checkout.c:1141 msgid "create reflog for new branch" msgstr "tαΊ‘o reflog cho nhΓ‘nh mα»i" -#: builtin/checkout.c:1140 +#: builtin/checkout.c:1142 msgid "detach the HEAD at named commit" msgstr "rα»i bα» HEAD tαΊ‘i lαΊ§n chuyα»n giao danh nghΔ©a" -#: builtin/checkout.c:1141 +#: builtin/checkout.c:1143 msgid "set upstream info for new branch" msgstr "ΔαΊ·t thΓ΄ng tin thượng nguα»n cho nhΓ‘nh mα»i" -#: builtin/checkout.c:1143 +#: builtin/checkout.c:1145 msgid "new-branch" msgstr "nhΓ‘nh-mα»i" -#: builtin/checkout.c:1143 +#: builtin/checkout.c:1145 msgid "new unparented branch" msgstr "nhΓ‘nh khΓ΄ng cha mα»i" -#: builtin/checkout.c:1144 +#: builtin/checkout.c:1146 msgid "checkout our version for unmerged files" msgstr "" "lαΊ₯y ra (checkout) phiΓͺn bαΊ£n cα»§a chΓΊng ta cho cΓ‘c tαΊp tin chΖ°a Δược hΓ²a trα»n" -#: builtin/checkout.c:1146 +#: builtin/checkout.c:1148 msgid "checkout their version for unmerged files" msgstr "" "lαΊ₯y ra (checkout) phiΓͺn bαΊ£n cα»§a chΓΊng hα» cho cΓ‘c tαΊp tin chΖ°a Δược hΓ²a trα»n" -#: builtin/checkout.c:1148 +#: builtin/checkout.c:1150 msgid "force checkout (throw away local modifications)" msgstr "Γ©p buα»c lαΊ₯y ra (bα» Δi nhα»―ng thay Δα»i nα»i bα»)" -#: builtin/checkout.c:1149 +#: builtin/checkout.c:1151 msgid "perform a 3-way merge with the new branch" msgstr "thα»±c hiα»n hΓ²a trα»n kiα»u 3-way vα»i nhΓ‘nh mα»i" -#: builtin/checkout.c:1150 builtin/merge.c:227 +#: builtin/checkout.c:1152 builtin/merge.c:227 msgid "update ignored files (default)" msgstr "cαΊp nhαΊt cΓ‘c tαΊp tin bα» bα» qua (mαΊ·c Δα»nh)" -#: builtin/checkout.c:1151 builtin/log.c:1263 parse-options.h:250 +#: builtin/checkout.c:1153 builtin/log.c:1269 parse-options.h:250 msgid "style" msgstr "kiα»u" -#: builtin/checkout.c:1152 +#: builtin/checkout.c:1154 msgid "conflict style (merge or diff3)" msgstr "xung Δα»t kiα»u (hΓ²a trα»n hoαΊ·c diff3)" -#: builtin/checkout.c:1155 +#: builtin/checkout.c:1157 msgid "do not limit pathspecs to sparse entries only" msgstr "khΓ΄ng giα»i hαΊ‘n ΔαΊ·c tαΊ£ ΔΖ°α»ng dαΊ«n thΓ nh chα» cΓ‘c mα»₯c thΖ°a thα»t" -#: builtin/checkout.c:1157 +#: builtin/checkout.c:1159 msgid "second guess 'git checkout <no-such-branch>'" msgstr "gợi Γ½ thα»© hai \"git checkout <khΓ΄ng-nhΓ‘nh-nΓ o-nhΖ°-vαΊy>\"" -#: builtin/checkout.c:1159 +#: builtin/checkout.c:1161 msgid "do not check if another worktree is holding the given ref" msgstr "khΓ΄ng kiα»m tra nαΊΏu cΓ’y lΓ m viα»c khΓ‘c Δang giα»― tham chiαΊΏu ΔΓ£ cho" -#: builtin/checkout.c:1160 builtin/clone.c:57 builtin/fetch.c:112 -#: builtin/merge.c:224 builtin/pull.c:109 builtin/push.c:560 +#: builtin/checkout.c:1162 builtin/clone.c:58 builtin/fetch.c:116 +#: builtin/merge.c:224 builtin/pull.c:113 builtin/push.c:526 #: builtin/send-pack.c:168 msgid "force progress reporting" msgstr "Γ©p buα»c bΓ‘o cΓ‘o tiαΊΏn triα»n cΓ΄ng viα»c" -#: builtin/checkout.c:1191 +#: builtin/checkout.c:1193 msgid "-b, -B and --orphan are mutually exclusive" msgstr "CΓ‘c tΓΉy chα»n -b, -B vΓ --orphan loαΊ‘i tα»« lαΊ«n nhau" -#: builtin/checkout.c:1208 +#: builtin/checkout.c:1210 msgid "--track needs a branch name" msgstr "--track cαΊ§n tΓͺn mα»t nhΓ‘nh" -#: builtin/checkout.c:1213 +#: builtin/checkout.c:1215 msgid "Missing branch name; try -b" msgstr "ThiαΊΏu tΓͺn nhΓ‘nh; hΓ£y thα» -b" -#: builtin/checkout.c:1249 +#: builtin/checkout.c:1251 msgid "invalid path specification" msgstr "ΔΖ°α»ng dαΊ«n ΔΓ£ cho khΓ΄ng hợp lα»" -#: builtin/checkout.c:1256 +#: builtin/checkout.c:1258 #, c-format msgid "" "Cannot update paths and switch to branch '%s' at the same time.\n" @@ -4309,12 +4461,12 @@ msgstr "" "BαΊ‘n ΔΓ£ cΓ³ Γ½ Δα»nh checkout β%sβ cΓ‘i mΓ khΓ΄ng thα» Δược phΓ’n giαΊ£i nhΖ° lΓ lαΊ§n " "chuyα»n giao?" -#: builtin/checkout.c:1261 +#: builtin/checkout.c:1263 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "git checkout: --detach khΓ΄ng nhαΊn mα»t Δα»i sα» ΔΖ°α»ng dαΊ«n β%sβ" -#: builtin/checkout.c:1265 +#: builtin/checkout.c:1267 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." @@ -4353,7 +4505,7 @@ msgstr "NΓͺn bα» qua kho chα»©a %s\n" msgid "failed to remove %s" msgstr "gαΊ·p lα»i khi gα»‘ bα» %s" -#: builtin/clean.c:315 +#: builtin/clean.c:291 msgid "" "Prompt help:\n" "1 - select a numbered item\n" @@ -4365,7 +4517,7 @@ msgstr "" "foo - chα»n mα»₯c trΓͺn cΖ‘ sα» tiα»n tα» duy nhαΊ₯t\n" " - (Δα» trα»ng) khΓ΄ng chα»n gΓ¬ cαΊ£" -#: builtin/clean.c:319 +#: builtin/clean.c:295 msgid "" "Prompt help:\n" "1 - select a single item\n" @@ -4385,36 +4537,36 @@ msgstr "" "* - chα»n tαΊ₯t\n" " - (Δα» trα»ng) kαΊΏt thΓΊc viα»c chα»n" -#: builtin/clean.c:535 +#: builtin/clean.c:511 #, c-format msgid "Huh (%s)?" msgstr "HαΊ£ (%s)?" -#: builtin/clean.c:677 +#: builtin/clean.c:653 #, c-format msgid "Input ignore patterns>> " msgstr "MαΊ«u Δα» lα»c cΓ‘c tαΊp tin ΔαΊ§u vΓ o cαΊ§n lα» Δi>> " -#: builtin/clean.c:714 +#: builtin/clean.c:690 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "CαΊ’NH BΓO: KhΓ΄ng tΓ¬m thαΊ₯y cΓ‘c mα»₯c Δược khα»p bα»i: %s" -#: builtin/clean.c:735 +#: builtin/clean.c:711 msgid "Select items to delete" msgstr "Chα»n mα»₯c muα»n xΓ³a" #. TRANSLATORS: Make sure to keep [y/N] as is -#: builtin/clean.c:776 +#: builtin/clean.c:752 #, c-format msgid "Remove %s [y/N]? " msgstr "XΓ³a bα» β%sβ [y/N]? " -#: builtin/clean.c:801 +#: builtin/clean.c:777 msgid "Bye." msgstr "TαΊ‘m biα»t." -#: builtin/clean.c:809 +#: builtin/clean.c:785 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -4432,61 +4584,61 @@ msgstr "" "help - hiα»n thα» chΓnh trợ giΓΊp nΓ y\n" "? - trợ giΓΊp dΓ nh cho chα»n bαΊ±ng cΓ‘ch nhαΊ―c" -#: builtin/clean.c:836 +#: builtin/clean.c:812 msgid "*** Commands ***" msgstr "*** Lα»nh ***" -#: builtin/clean.c:837 +#: builtin/clean.c:813 msgid "What now" msgstr "Giα» thΓ¬ sao" -#: builtin/clean.c:845 +#: builtin/clean.c:821 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "CΓ³ muα»n gα»‘ bα» (cΓ‘c) mα»₯c sau ΔΓ’y khΓ΄ng:" -#: builtin/clean.c:862 +#: builtin/clean.c:838 msgid "No more files to clean, exiting." msgstr "KhΓ΄ng cΓ²n tαΊp-tin nΓ o Δα» dα»n dαΊΉp, Δang thoΓ‘t ra." -#: builtin/clean.c:893 +#: builtin/clean.c:869 msgid "do not print names of files removed" msgstr "khΓ΄ng hiα»n thα» tΓͺn cα»§a cΓ‘c tαΊp tin ΔΓ£ gα»‘ bα»" -#: builtin/clean.c:895 +#: builtin/clean.c:871 msgid "force" msgstr "Γ©p buα»c" -#: builtin/clean.c:896 +#: builtin/clean.c:872 msgid "interactive cleaning" msgstr "dα»n bαΊ±ng kiα»u tΖ°Ζ‘ng tΓ‘c" -#: builtin/clean.c:898 +#: builtin/clean.c:874 msgid "remove whole directories" msgstr "gα»‘ bα» toΓ n bα» thΖ° mα»₯c" -#: builtin/clean.c:899 builtin/describe.c:407 builtin/grep.c:709 -#: builtin/ls-files.c:443 builtin/name-rev.c:307 builtin/show-ref.c:182 +#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:722 +#: builtin/ls-files.c:456 builtin/name-rev.c:307 builtin/show-ref.c:182 msgid "pattern" msgstr "mαΊ«u" -#: builtin/clean.c:900 +#: builtin/clean.c:876 msgid "add <pattern> to ignore rules" msgstr "thΓͺm <mαΊ«u> vΓ o trong qui tαΊ―c bα» qua" -#: builtin/clean.c:901 +#: builtin/clean.c:877 msgid "remove ignored files, too" msgstr "Δα»ng thα»i gα»‘ bα» cαΊ£ cΓ‘c tαΊp tin bα» bα» qua" -#: builtin/clean.c:903 +#: builtin/clean.c:879 msgid "remove only ignored files" msgstr "chα» gα»‘ bα» nhα»―ng tαΊp tin bα» bα» qua" -#: builtin/clean.c:921 +#: builtin/clean.c:897 msgid "-x and -X cannot be used together" msgstr "-x vΓ -X khΓ΄ng thα» dΓΉng cΓΉng nhau" -#: builtin/clean.c:925 +#: builtin/clean.c:901 msgid "" "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to " "clean" @@ -4494,7 +4646,7 @@ msgstr "" "clean.requireForce Δược ΔαΊ·t thΓ nh true vΓ khΓ΄ng ΔΖ°a ra tΓΉy chα»n -i, -n mΓ " "cΕ©ng khΓ΄ng -f; tα»« chα»i lα»nh dα»n dαΊΉp (clean)" -#: builtin/clean.c:928 +#: builtin/clean.c:904 msgid "" "clean.requireForce defaults to true and neither -i, -n, nor -f given; " "refusing to clean" @@ -4506,145 +4658,161 @@ msgstr "" msgid "git clone [<options>] [--] <repo> [<dir>]" msgstr "git clone [<cΓ‘c-tΓΉy-chα»n>] [--] <kho> [<t.mα»₯c>]" -#: builtin/clone.c:59 +#: builtin/clone.c:60 msgid "don't create a checkout" msgstr "khΓ΄ng tαΊ‘o mα»t checkout" -#: builtin/clone.c:60 builtin/clone.c:62 builtin/init-db.c:469 +#: builtin/clone.c:61 builtin/clone.c:63 builtin/init-db.c:469 msgid "create a bare repository" msgstr "tαΊ‘o kho thuαΊ§n" -#: builtin/clone.c:64 +#: builtin/clone.c:65 msgid "create a mirror repository (implies bare)" msgstr "tαΊ‘o kho bαΊ£n sao (Γ½ lΓ kho thuαΊ§n)" -#: builtin/clone.c:66 +#: builtin/clone.c:67 msgid "to clone from a local repository" msgstr "Δα» nhΓ’n bαΊ£n tα»« kho nα»i bα»" -#: builtin/clone.c:68 +#: builtin/clone.c:69 msgid "don't use local hardlinks, always copy" msgstr "khΓ΄ng sα» dα»₯ng liΓͺn kαΊΏt cα»©ng nα»i bα», luΓ΄n sao chΓ©p" -#: builtin/clone.c:70 +#: builtin/clone.c:71 msgid "setup as shared repository" msgstr "cΓ i ΔαΊ·t ΔΓ’y lΓ kho chia sαΊ»" -#: builtin/clone.c:72 builtin/clone.c:74 +#: builtin/clone.c:73 builtin/clone.c:75 msgid "initialize submodules in the clone" msgstr "khα»i tαΊ‘o mΓ΄-Δun-con trong bαΊ£n sao" -#: builtin/clone.c:75 builtin/init-db.c:466 +#: builtin/clone.c:76 builtin/init-db.c:466 msgid "template-directory" msgstr "thΖ°-mα»₯c-mαΊ«u" -#: builtin/clone.c:76 builtin/init-db.c:467 +#: builtin/clone.c:77 builtin/init-db.c:467 msgid "directory from which templates will be used" msgstr "thΖ° mα»₯c mΓ tαΊ‘i ΔΓ³ cΓ‘c mαΊ«u sαΊ½ Δược dΓΉng" -#: builtin/clone.c:78 builtin/submodule--helper.c:179 +#: builtin/clone.c:79 builtin/submodule--helper.c:173 msgid "reference repository" msgstr "kho tham chiαΊΏu" -#: builtin/clone.c:80 +#: builtin/clone.c:81 msgid "use --reference only while cloning" msgstr "chα» dΓΉng --reference khi nhΓ’n bαΊ£n" -#: builtin/clone.c:81 builtin/column.c:26 builtin/merge-file.c:44 +#: builtin/clone.c:82 builtin/column.c:26 builtin/merge-file.c:44 msgid "name" msgstr "tΓͺn" -#: builtin/clone.c:82 +#: builtin/clone.c:83 msgid "use <name> instead of 'origin' to track upstream" msgstr "dΓΉng <tΓͺn> thay cho βoriginβ Δα» theo dΓ΅i thượng nguα»n" -#: builtin/clone.c:84 +#: builtin/clone.c:85 msgid "checkout <branch> instead of the remote's HEAD" msgstr "lαΊ₯y ra <nhΓ‘nh> thay cho HEAD cα»§a mΓ‘y chα»§" -#: builtin/clone.c:86 +#: builtin/clone.c:87 msgid "path to git-upload-pack on the remote" msgstr "ΔΖ°α»ng dαΊ«n ΔαΊΏn git-upload-pack trΓͺn mΓ‘y chα»§" -#: builtin/clone.c:87 builtin/fetch.c:113 builtin/grep.c:654 builtin/pull.c:186 +#: builtin/clone.c:88 builtin/fetch.c:117 builtin/grep.c:665 builtin/pull.c:193 msgid "depth" msgstr "Δα»-sΓ’u" -#: builtin/clone.c:88 +#: builtin/clone.c:89 msgid "create a shallow clone of that depth" msgstr "tαΊ‘o bαΊ£n sao khΓ΄ng ΔαΊ§y Δα»§ cho mα»©c sΓ’u ΔΓ£ cho" -#: builtin/clone.c:90 +#: builtin/clone.c:91 msgid "clone only one branch, HEAD or --branch" msgstr "chα» nhΓ’n bαΊ£n mα»t nhΓ‘nh, HEAD hoαΊ·c --branch" -#: builtin/clone.c:91 builtin/init-db.c:475 +#: builtin/clone.c:92 builtin/init-db.c:475 msgid "gitdir" msgstr "gitdir" -#: builtin/clone.c:92 builtin/init-db.c:476 +#: builtin/clone.c:93 builtin/init-db.c:476 msgid "separate git dir from working tree" msgstr "khΓ΄ng dΓΉng chung thΖ° mα»₯c dΓ nh riΓͺng cho git vΓ thΖ° mα»₯c lΓ m viα»c" -#: builtin/clone.c:93 +#: builtin/clone.c:94 msgid "key=value" msgstr "khΓ³a=giΓ‘_trα»" -#: builtin/clone.c:94 +#: builtin/clone.c:95 msgid "set config inside the new repository" msgstr "ΔαΊ·t cαΊ₯u hΓ¬nh bΓͺn trong mα»t kho chα»©a mα»i" -#: builtin/clone.c:300 +#: builtin/clone.c:96 builtin/fetch.c:131 builtin/push.c:536 +msgid "use IPv4 addresses only" +msgstr "chα» dΓΉng Δα»a chα» IPv4" + +#: builtin/clone.c:98 builtin/fetch.c:133 builtin/push.c:538 +msgid "use IPv6 addresses only" +msgstr "chα» dΓΉng Δα»a chα» IPv6" + +#: builtin/clone.c:239 +msgid "" +"No directory name could be guessed.\n" +"Please specify a directory on the command line" +msgstr "" +"KhΓ΄ng ΔoΓ‘n Δược thΖ° mα»₯c tΓͺn lΓ gΓ¬.\n" +"Vui lΓ²ng chα» Δα»nh tΓͺn mα»t thΖ° mα»₯c trΓͺn dΓ²ng lα»nh" + +#: builtin/clone.c:305 #, c-format msgid "reference repository '%s' as a linked checkout is not supported yet." msgstr "kho tham chiαΊΏu β%sβ nhΖ° lΓ lαΊ₯y ra liΓͺn kαΊΏt vαΊ«n chΖ°a Δược hα» trợ." -#: builtin/clone.c:302 +#: builtin/clone.c:307 #, c-format msgid "reference repository '%s' is not a local repository." msgstr "kho tham chiαΊΏu β%sβ khΓ΄ng phαΊ£i lΓ mα»t kho nα»i bα»." -#: builtin/clone.c:307 +#: builtin/clone.c:312 #, c-format msgid "reference repository '%s' is shallow" msgstr "kho tham chiαΊΏu β%sβ lΓ nΓ΄ng" -#: builtin/clone.c:310 +#: builtin/clone.c:315 #, c-format msgid "reference repository '%s' is grafted" msgstr "kho tham chiαΊΏu β%sβ bα» cαΊ₯y ghΓ©p" -#: builtin/clone.c:375 builtin/diff.c:84 +#: builtin/clone.c:380 builtin/diff.c:84 #, c-format msgid "failed to stat '%s'" msgstr "gαΊ·p lα»i khi lαΊ₯y thα»ng kΓͺ vα» β%sβ" -#: builtin/clone.c:377 +#: builtin/clone.c:382 #, c-format msgid "%s exists and is not a directory" msgstr "%s cΓ³ tα»n tαΊ‘i nhΖ°ng lαΊ‘i khΓ΄ng phαΊ£i lΓ mα»t thΖ° mα»₯c" -#: builtin/clone.c:391 +#: builtin/clone.c:396 #, c-format msgid "failed to stat %s\n" msgstr "gαΊ·p lα»i khi lαΊ₯y thΓ΄ng tin thα»ng kΓͺ vα» %s\n" -#: builtin/clone.c:413 +#: builtin/clone.c:418 #, c-format msgid "failed to create link '%s'" msgstr "gαΊ·p lα»i khi tαΊ‘o Δược liΓͺn kαΊΏt mα»m %s" -#: builtin/clone.c:417 +#: builtin/clone.c:422 #, c-format msgid "failed to copy file to '%s'" msgstr "gαΊ·p lα»i khi sao chΓ©p tαΊp tin vΓ β%sβ" -#: builtin/clone.c:442 builtin/clone.c:626 +#: builtin/clone.c:447 builtin/clone.c:631 #, c-format msgid "done.\n" msgstr "hoΓ n tαΊ₯t.\n" -#: builtin/clone.c:454 +#: builtin/clone.c:459 msgid "" "Clone succeeded, but checkout failed.\n" "You can inspect what was checked out with 'git status'\n" @@ -4654,117 +4822,126 @@ msgstr "" "BαΊ‘n kiα»m tra kα»Ή xem cΓ‘i gΓ¬ Δược lαΊ₯y ra bαΊ±ng lα»nh βgit statusβ\n" "vΓ thα» lαΊ₯y ra vα»i lα»nh βgit checkout -f HEADβ\n" -#: builtin/clone.c:531 +#: builtin/clone.c:536 #, c-format msgid "Could not find remote branch %s to clone." msgstr "KhΓ΄ng tΓ¬m thαΊ₯y nhΓ‘nh mΓ‘y chα»§ %s Δα» nhΓ’n bαΊ£n (clone)." -#: builtin/clone.c:621 +#: builtin/clone.c:626 #, c-format msgid "Checking connectivity... " msgstr "Δang kiα»m tra kαΊΏt nα»iβ¦ " -#: builtin/clone.c:624 +#: builtin/clone.c:629 msgid "remote did not send all necessary objects" msgstr "mΓ‘y chα»§ ΔΓ£ khΓ΄ng gα»i tαΊ₯t cαΊ£ cΓ‘c Δα»i tượng cαΊ§n thiαΊΏt" -#: builtin/clone.c:688 +#: builtin/clone.c:647 +#, c-format +msgid "unable to update %s" +msgstr "khΓ΄ng thα» cαΊp nhαΊt %s" + +#: builtin/clone.c:696 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "refers HEAD mΓ‘y chα»§ chα» ΔαΊΏn ref khΓ΄ng tα»n tαΊ‘i, khΓ΄ng thα» lαΊ₯y ra.\n" -#: builtin/clone.c:719 +#: builtin/clone.c:727 msgid "unable to checkout working tree" msgstr "khΓ΄ng thα» lαΊ₯y ra (checkout) cΓ’y lΓ m viα»c" -#: builtin/clone.c:808 +#: builtin/clone.c:753 +msgid "unable to write parameters to config file" +msgstr "khΓ΄ng thα» ghi cΓ‘c tham sα» vΓ o tαΊp tin cαΊ₯u hΓ¬nh" + +#: builtin/clone.c:816 msgid "cannot repack to clean up" msgstr "khΓ΄ng thα» ΔΓ³ng gΓ³i Δα» dα»n dαΊΉp" -#: builtin/clone.c:810 +#: builtin/clone.c:818 msgid "cannot unlink temporary alternates file" msgstr "khΓ΄ng thα» bα» liΓͺn kαΊΏt tαΊp tin thay thαΊΏ tαΊ‘m thα»i" -#: builtin/clone.c:842 +#: builtin/clone.c:850 msgid "Too many arguments." msgstr "CΓ³ quΓ‘ nhiα»u Δα»i sα»." -#: builtin/clone.c:846 +#: builtin/clone.c:854 msgid "You must specify a repository to clone." msgstr "BαΊ‘n phαΊ£i chα» Δα»nh mα»t kho Δα» mΓ nhΓ’n bαΊ£n (clone)." -#: builtin/clone.c:857 +#: builtin/clone.c:865 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "tΓΉy chα»n --bare vΓ --origin %s xung khαΊ―c nhau." -#: builtin/clone.c:860 +#: builtin/clone.c:868 msgid "--bare and --separate-git-dir are incompatible." msgstr "tΓΉy chα»n --bare vΓ --separate-git-dir xung khαΊ―c nhau." -#: builtin/clone.c:873 +#: builtin/clone.c:881 #, c-format msgid "repository '%s' does not exist" msgstr "kho chα»©a β%sβ chΖ°a tα»n tαΊ‘i" -#: builtin/clone.c:879 builtin/fetch.c:1166 +#: builtin/clone.c:887 builtin/fetch.c:1174 #, c-format msgid "depth %s is not a positive number" msgstr "Δα» sΓ’u %s khΓ΄ng phαΊ£i lΓ mα»t sα» nguyΓͺn dΖ°Ζ‘ng" -#: builtin/clone.c:889 +#: builtin/clone.c:897 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "ΔΖ°α»ng dαΊ«n ΔΓch β%sβ ΔΓ£ cΓ³ tα»« trΖ°α»c vΓ khΓ΄ng phαΊ£i lΓ mα»t thΖ° mα»₯c rα»ng." -#: builtin/clone.c:899 +#: builtin/clone.c:907 #, c-format msgid "working tree '%s' already exists." msgstr "cΓ’y lΓ m viα»c β%sβ ΔΓ£ sαΊ΅n tα»n tαΊ‘i rα»i." -#: builtin/clone.c:914 builtin/clone.c:925 builtin/submodule--helper.c:224 -#: builtin/worktree.c:221 builtin/worktree.c:248 +#: builtin/clone.c:922 builtin/clone.c:933 builtin/submodule--helper.c:218 +#: builtin/worktree.c:219 builtin/worktree.c:246 #, c-format msgid "could not create leading directories of '%s'" msgstr "khΓ΄ng thα» tαΊ‘o cΓ‘c thΖ° mα»₯c dαΊ«n ΔαΊ§u cα»§a β%sβ" -#: builtin/clone.c:917 +#: builtin/clone.c:925 #, c-format msgid "could not create work tree dir '%s'" msgstr "khΓ΄ng thα» tαΊ‘o cΓ’y thΖ° mα»₯c lΓ m viα»c dir β%sβ" -#: builtin/clone.c:935 +#: builtin/clone.c:943 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "Δang nhΓ’n bαΊ£n thΓ nh kho chα»©a bare β%sββ¦\n" -#: builtin/clone.c:937 +#: builtin/clone.c:945 #, c-format msgid "Cloning into '%s'...\n" msgstr "Δang nhΓ’n bαΊ£n thΓ nh β%sββ¦\n" -#: builtin/clone.c:975 +#: builtin/clone.c:984 msgid "--depth is ignored in local clones; use file:// instead." msgstr "--depth bα» lα» Δi khi nhΓ’n bαΊ£n nα»i bα»; hΓ£y sα» dα»₯ng file:// Δα» thay thαΊΏ." -#: builtin/clone.c:978 +#: builtin/clone.c:987 msgid "source repository is shallow, ignoring --local" msgstr "kho nguα»n lΓ nΓ΄ng, nΓͺn bα» qua --local" -#: builtin/clone.c:983 +#: builtin/clone.c:992 msgid "--local is ignored" msgstr "--local bα» lα» Δi" -#: builtin/clone.c:987 +#: builtin/clone.c:996 #, c-format msgid "Don't know how to clone %s" msgstr "KhΓ΄ng biαΊΏt lΓ m cΓ‘ch nΓ o Δα» nhΓ’n bαΊ£n (clone) %s" -#: builtin/clone.c:1036 builtin/clone.c:1044 +#: builtin/clone.c:1045 builtin/clone.c:1053 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "NhΓ‘nh mΓ‘y chα»§ %s khΓ΄ng tΓ¬m thαΊ₯y trong thượng nguα»n %s" -#: builtin/clone.c:1047 +#: builtin/clone.c:1056 msgid "You appear to have cloned an empty repository." msgstr "BαΊ‘n hΓ¬nh nhΖ° lΓ ΔΓ£ nhΓ’n bαΊ£n mα»t kho trα»ng rα»ng." @@ -4989,7 +5166,7 @@ msgstr "" msgid "could not lookup commit %s" msgstr "khΓ΄ng thα» tΓ¬m kiαΊΏm commit (lαΊ§n chuyα»n giao) %s" -#: builtin/commit.c:702 builtin/shortlog.c:273 +#: builtin/commit.c:702 builtin/shortlog.c:285 #, c-format msgid "(reading log message from standard input)\n" msgstr "(Δang Δα»c thΓ΄ng Δiα»p nhαΊt kΓ½ tα»« ΔαΊ§u vΓ o tiΓͺu chuαΊ©n)\n" @@ -5186,8 +5363,8 @@ msgstr "hiα»n thα» trαΊ‘ng thΓ‘i α» dαΊ‘ng sΓΊc tΓch" msgid "show branch information" msgstr "hiα»n thα» thΓ΄ng tin nhΓ‘nh" -#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:546 -#: builtin/worktree.c:423 +#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:512 +#: builtin/worktree.c:430 msgid "machine-readable output" msgstr "kαΊΏt xuαΊ₯t dαΊ‘ng mΓ‘y-cΓ³-thα»-Δα»c" @@ -5279,8 +5456,8 @@ msgstr "ngΓ y thΓ‘ng" msgid "override date for commit" msgstr "ghi ΔΓ¨ ngΓ y thΓ‘ng cho lαΊ§n chuyα»n giao" -#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:392 -#: builtin/notes.c:555 builtin/tag.c:349 +#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:395 +#: builtin/notes.c:558 builtin/tag.c:349 msgid "message" msgstr "chΓΊ thΓch" @@ -5317,7 +5494,7 @@ msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "" "lαΊ§n chuyα»n giao nhαΊn tΓ΄i lΓ tΓ‘c giαΊ£ (Δược dΓΉng vα»i tΓΉy chα»n -C/-c/--amend)" -#: builtin/commit.c:1588 builtin/log.c:1215 builtin/revert.c:86 +#: builtin/commit.c:1588 builtin/log.c:1219 builtin/revert.c:86 msgid "add Signed-off-by:" msgstr "(nΓͺn dΓΉng) thΓͺm dΓ²ng Signed-off-by:" @@ -5341,7 +5518,7 @@ msgstr "lΓ m thαΊΏ nΓ o Δα» cαΊ―t bα» khoαΊ£ng trαΊ―ng vΓ #ghichΓΊ tα»« mαΊ© msgid "include status in commit message template" msgstr "bao gα»m cΓ‘c trαΊ‘ng thΓ‘i trong mαΊ«u ghi chΓΊ chuyα»n giao" -#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:156 +#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:160 #: builtin/revert.c:93 msgid "GPG sign commit" msgstr "kΓ½ lαΊ§n chuyα»n giao dΓΉng GPG" @@ -5435,139 +5612,145 @@ msgstr "" "cΓ³ bα» ΔαΊ§y quΓ‘ hay quota (hαΊ‘n nghαΊ‘ch ΔΔ©a cα»©ng) bα» vượt quΓ‘,\n" "vΓ sau ΔΓ³ \"git reset HEAD\" Δα» khαΊ―c phα»₯c." -#: builtin/config.c:8 +#: builtin/config.c:9 msgid "git config [<options>]" msgstr "git config [<cΓ‘c-tΓΉy-chα»n>]" -#: builtin/config.c:54 +#: builtin/config.c:56 msgid "Config file location" msgstr "Vα» trΓ tαΊp tin cαΊ₯u hΓ¬nh" -#: builtin/config.c:55 +#: builtin/config.c:57 msgid "use global config file" msgstr "dΓΉng tαΊp tin cαΊ₯u hΓ¬nh toΓ n cα»₯c" -#: builtin/config.c:56 +#: builtin/config.c:58 msgid "use system config file" msgstr "sα» dα»₯ng tαΊp tin cαΊ₯u hΓ¬nh hα» thα»ng" -#: builtin/config.c:57 +#: builtin/config.c:59 msgid "use repository config file" msgstr "dΓΉng tαΊp tin cαΊ₯u hΓ¬nh cα»§a kho" -#: builtin/config.c:58 +#: builtin/config.c:60 msgid "use given config file" msgstr "sα» dα»₯ng tαΊp tin cαΊ₯u hΓ¬nh ΔΓ£ cho" -#: builtin/config.c:59 +#: builtin/config.c:61 msgid "blob-id" msgstr "blob-id" -#: builtin/config.c:59 +#: builtin/config.c:61 msgid "read config from given blob object" msgstr "Δα»c cαΊ₯u hΓ¬nh tα»« Δα»i tượng blob ΔΓ£ cho" -#: builtin/config.c:60 +#: builtin/config.c:62 msgid "Action" msgstr "HΓ nh Δα»ng" -#: builtin/config.c:61 +#: builtin/config.c:63 msgid "get value: name [value-regex]" msgstr "lαΊ₯y giΓ‘-trα»: tΓͺn [value-regex]" -#: builtin/config.c:62 +#: builtin/config.c:64 msgid "get all values: key [value-regex]" msgstr "lαΊ₯y tαΊ₯t cαΊ£ giΓ‘-trα»: khΓ³a [value-regex]" -#: builtin/config.c:63 +#: builtin/config.c:65 msgid "get values for regexp: name-regex [value-regex]" msgstr "lαΊ₯y giΓ‘ trα» cho regexp: name-regex [value-regex]" -#: builtin/config.c:64 +#: builtin/config.c:66 msgid "get value specific for the URL: section[.var] URL" msgstr "lαΊ₯y ΔαΊ·c tαΊ£ giΓ‘ trα» cho URL: phαΊ§n[.biαΊΏn] URL" -#: builtin/config.c:65 +#: builtin/config.c:67 msgid "replace all matching variables: name value [value_regex]" msgstr "thay thαΊΏ tαΊ₯t cαΊ£ cΓ‘c biαΊΏn khα»p mαΊ«u: tΓͺn giΓ‘-trα» [value_regex]" -#: builtin/config.c:66 +#: builtin/config.c:68 msgid "add a new variable: name value" msgstr "thΓͺm biαΊΏn mα»i: tΓͺn giΓ‘-trα»" -#: builtin/config.c:67 +#: builtin/config.c:69 msgid "remove a variable: name [value-regex]" msgstr "gα»‘ bα» biαΊΏn: tΓͺn [value-regex]" -#: builtin/config.c:68 +#: builtin/config.c:70 msgid "remove all matches: name [value-regex]" msgstr "gα»‘ bα» mα»i cΓ‘i khα»p: tΓͺn [value-regex]" -#: builtin/config.c:69 +#: builtin/config.c:71 msgid "rename section: old-name new-name" msgstr "Δα»i tΓͺn phαΊ§n: tΓͺn-cΕ© tΓͺn-mα»i" -#: builtin/config.c:70 +#: builtin/config.c:72 msgid "remove a section: name" msgstr "gα»‘ bα» phαΊ§n: tΓͺn" -#: builtin/config.c:71 +#: builtin/config.c:73 msgid "list all" msgstr "liα»t kΓͺ tαΊ₯t" -#: builtin/config.c:72 +#: builtin/config.c:74 msgid "open an editor" msgstr "mα» mα»t trΓ¬nh biΓͺn soαΊ‘n" -#: builtin/config.c:73 +#: builtin/config.c:75 msgid "find the color configured: slot [default]" msgstr "tΓ¬m cαΊ₯u hΓ¬nh mΓ u sαΊ―c: slot [mαΊ·c Δα»nh]" -#: builtin/config.c:74 +#: builtin/config.c:76 msgid "find the color setting: slot [stdout-is-tty]" msgstr "tΓ¬m cΓ‘c cΓ i ΔαΊ·t vα» mΓ u sαΊ―c: slot [stdout-lΓ -tty]" -#: builtin/config.c:75 +#: builtin/config.c:77 msgid "Type" msgstr "Kiα»u" -#: builtin/config.c:76 +#: builtin/config.c:78 msgid "value is \"true\" or \"false\"" msgstr "giΓ‘ trα» lΓ \"true\" hoαΊ·c \"false\"" -#: builtin/config.c:77 +#: builtin/config.c:79 msgid "value is decimal number" msgstr "giΓ‘ trα» α» dαΊ‘ng sα» thαΊp phΓ’n" -#: builtin/config.c:78 +#: builtin/config.c:80 msgid "value is --bool or --int" msgstr "giΓ‘ trα» lΓ --bool hoαΊ·c --int" -#: builtin/config.c:79 +#: builtin/config.c:81 msgid "value is a path (file or directory name)" msgstr "giΓ‘ trα» lΓ ΔΖ°α»ng dαΊ«n (tΓͺn tαΊp tin hay thΖ° mα»₯c)" -#: builtin/config.c:80 +#: builtin/config.c:82 msgid "Other" msgstr "KhΓ‘c" -#: builtin/config.c:81 +#: builtin/config.c:83 msgid "terminate values with NUL byte" msgstr "chαΊ₯m dα»©t giΓ‘ trα» vα»i byte NUL" -#: builtin/config.c:82 +#: builtin/config.c:84 msgid "show variable names only" msgstr "chα» hiα»n thα» cΓ‘c tΓͺn biαΊΏn" -#: builtin/config.c:83 +#: builtin/config.c:85 msgid "respect include directives on lookup" msgstr "tΓ΄n trα»ng kα» cΓ cΓ‘c hΖ°α»ng trong tΓ¬m kiαΊΏm" -#: builtin/config.c:303 +#: builtin/config.c:86 +msgid "show origin of config (file, standard input, blob, command line)" +msgstr "" +"hiα»n thα» nguyΓͺn gα»c cα»§a cαΊ₯u hΓ¬nh (tαΊp tin, ΔαΊ§u vΓ o tiΓͺu chuαΊ©n, blob, dΓ²ng " +"lα»nh)" + +#: builtin/config.c:328 msgid "unable to parse default color value" msgstr "khΓ΄ng thα» phΓ’n tΓch giΓ‘ trα» mΓ u mαΊ·c Δα»nh" -#: builtin/config.c:441 +#: builtin/config.c:469 #, c-format msgid "" "# This is Git's per-user configuration file.\n" @@ -5582,7 +5765,7 @@ msgstr "" "#\tname = %s\n" "#\temail = %s\n" -#: builtin/config.c:575 +#: builtin/config.c:611 #, c-format msgid "cannot create configuration file %s" msgstr "khΓ΄ng thα» tαΊ‘o tαΊp tin cαΊ₯u hΓ¬nh β%sβ" @@ -5832,163 +6015,167 @@ msgstr "git fetch --multiple [<cΓ‘c-tΓΉy-chα»n>] [(<kho> | <nhΓ³m>)β¦]" msgid "git fetch --all [<options>]" msgstr "git fetch --all [<cΓ‘c-tΓΉy-chα»n>]" -#: builtin/fetch.c:90 builtin/pull.c:162 +#: builtin/fetch.c:92 builtin/pull.c:166 msgid "fetch from all remotes" msgstr "lαΊ₯y vα» tα»« tαΊ₯t cαΊ£ cΓ‘c mΓ‘y chα»§" -#: builtin/fetch.c:92 builtin/pull.c:165 +#: builtin/fetch.c:94 builtin/pull.c:169 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "nα»i thΓͺm vΓ o .git/FETCH_HEAD thay vΓ¬ ghi ΔΓ¨ lΓͺn nΓ³" -#: builtin/fetch.c:94 builtin/pull.c:168 +#: builtin/fetch.c:96 builtin/pull.c:172 msgid "path to upload pack on remote end" msgstr "ΔΖ°α»ng dαΊ«n ΔαΊΏn gΓ³i tαΊ£i lΓͺn trΓͺn mΓ‘y chα»§ cuα»i" -#: builtin/fetch.c:95 builtin/pull.c:170 +#: builtin/fetch.c:97 builtin/pull.c:174 msgid "force overwrite of local branch" msgstr "Γ©p buα»c ghi ΔΓ¨ lΓͺn nhΓ‘nh nα»i bα»" -#: builtin/fetch.c:97 +#: builtin/fetch.c:99 msgid "fetch from multiple remotes" msgstr "lαΊ₯y tα»« nhiα»u mΓ‘y chα»§ cΓΉng lΓΊc" -#: builtin/fetch.c:99 builtin/pull.c:172 +#: builtin/fetch.c:101 builtin/pull.c:176 msgid "fetch all tags and associated objects" msgstr "lαΊ₯y tαΊ₯t cαΊ£ cΓ‘c thαΊ» cΓΉng vα»i cΓ‘c Δα»i tượng liΓͺn quan ΔαΊΏn nΓ³" -#: builtin/fetch.c:101 +#: builtin/fetch.c:103 msgid "do not fetch all tags (--no-tags)" msgstr "khΓ΄ng lαΊ₯y tαΊ₯t cαΊ£ cΓ‘c thαΊ» (--no-tags)" -#: builtin/fetch.c:103 builtin/pull.c:175 +#: builtin/fetch.c:105 +msgid "number of submodules fetched in parallel" +msgstr "sα» lượng mΓ΄-Δun-con Δược lαΊ₯y Δα»ng thα»i" + +#: builtin/fetch.c:107 builtin/pull.c:179 msgid "prune remote-tracking branches no longer on remote" msgstr "" "cαΊ―t cα»₯t (prune) cΓ‘c nhΓ‘nh βremote-trackingβ khΓ΄ng cΓ²n tα»n tαΊ‘i trΓͺn mΓ‘y chα»§ " "nα»―a" -#: builtin/fetch.c:104 builtin/pull.c:178 +#: builtin/fetch.c:108 builtin/pull.c:182 msgid "on-demand" msgstr "khi-cαΊ§n" -#: builtin/fetch.c:105 builtin/pull.c:179 +#: builtin/fetch.c:109 builtin/pull.c:183 msgid "control recursive fetching of submodules" msgstr "Δiα»u khiα»n viα»c lαΊ₯y vα» Δα» quy trong cΓ‘c mΓ΄-Δun-con" -#: builtin/fetch.c:109 builtin/pull.c:184 +#: builtin/fetch.c:113 builtin/pull.c:191 msgid "keep downloaded pack" msgstr "giα»― lαΊ‘i gΓ³i ΔΓ£ tαΊ£i vα»" -#: builtin/fetch.c:111 +#: builtin/fetch.c:115 msgid "allow updating of HEAD ref" msgstr "cho phΓ©p cαΊp nhαΊt th.chiαΊΏu HEAD" -#: builtin/fetch.c:114 builtin/pull.c:187 +#: builtin/fetch.c:118 builtin/pull.c:194 msgid "deepen history of shallow clone" msgstr "lΓ m sΓ’u hΖ‘n lα»ch sα» cα»§a bαΊ£n sao" -#: builtin/fetch.c:116 builtin/pull.c:190 +#: builtin/fetch.c:120 builtin/pull.c:197 msgid "convert to a complete repository" msgstr "chuyα»n Δα»i hoΓ n toΓ n sang kho git" -#: builtin/fetch.c:118 builtin/log.c:1232 +#: builtin/fetch.c:122 builtin/log.c:1236 msgid "dir" msgstr "tmα»₯c" -#: builtin/fetch.c:119 +#: builtin/fetch.c:123 msgid "prepend this to submodule path output" msgstr "soαΊ‘n sαΊ΅n cΓ‘i nΓ y cho kαΊΏt xuαΊ₯t ΔΖ°α»ng dαΊ«n mΓ΄-Δun-con" -#: builtin/fetch.c:122 +#: builtin/fetch.c:126 msgid "default mode for recursion" msgstr "chαΊΏ Δα» mαΊ·c Δα»nh cho Δα» qui" -#: builtin/fetch.c:124 builtin/pull.c:193 +#: builtin/fetch.c:128 builtin/pull.c:200 msgid "accept refs that update .git/shallow" msgstr "chαΊ₯p nhαΊn tham chiαΊΏu cαΊp nhαΊt .git/shallow" -#: builtin/fetch.c:125 builtin/pull.c:195 +#: builtin/fetch.c:129 builtin/pull.c:202 msgid "refmap" msgstr "refmap" -#: builtin/fetch.c:126 builtin/pull.c:196 +#: builtin/fetch.c:130 builtin/pull.c:203 msgid "specify fetch refmap" msgstr "chα» ra refmap cαΊ§n lαΊ₯y vα»" -#: builtin/fetch.c:378 +#: builtin/fetch.c:386 msgid "Couldn't find remote ref HEAD" msgstr "KhΓ΄ng thα» tΓ¬m thαΊ₯y mΓ‘y chα»§ cho tham chiαΊΏu HEAD" -#: builtin/fetch.c:458 +#: builtin/fetch.c:466 #, c-format msgid "object %s not found" msgstr "KhΓ΄ng tΓ¬m thαΊ₯y Δα»i tượng %s" -#: builtin/fetch.c:463 +#: builtin/fetch.c:471 msgid "[up to date]" msgstr "[ΔΓ£ cαΊp nhαΊt]" -#: builtin/fetch.c:477 +#: builtin/fetch.c:485 #, c-format msgid "! %-*s %-*s -> %s (can't fetch in current branch)" msgstr "! %-*s %-*s -> %s (khΓ΄ng thα» fetch (lαΊ₯y) vα» nhΓ‘nh hiα»n hΓ nh)" -#: builtin/fetch.c:478 builtin/fetch.c:566 +#: builtin/fetch.c:486 builtin/fetch.c:574 msgid "[rejected]" msgstr "[Bα» tα»« chα»i]" -#: builtin/fetch.c:489 +#: builtin/fetch.c:497 msgid "[tag update]" msgstr "[cαΊp nhαΊt thαΊ»]" -#: builtin/fetch.c:491 builtin/fetch.c:526 builtin/fetch.c:544 +#: builtin/fetch.c:499 builtin/fetch.c:534 builtin/fetch.c:552 msgid " (unable to update local ref)" msgstr " (khΓ΄ng thα» cαΊp nhαΊt tham chiαΊΏu nα»i bα»)" -#: builtin/fetch.c:509 +#: builtin/fetch.c:517 msgid "[new tag]" msgstr "[thαΊ» mα»i]" -#: builtin/fetch.c:512 +#: builtin/fetch.c:520 msgid "[new branch]" msgstr "[nhΓ‘nh mα»i]" -#: builtin/fetch.c:515 +#: builtin/fetch.c:523 msgid "[new ref]" msgstr "[ref (tham chiαΊΏu) mα»i]" -#: builtin/fetch.c:561 +#: builtin/fetch.c:569 msgid "unable to update local ref" msgstr "khΓ΄ng thα» cαΊp nhαΊt tham chiαΊΏu nα»i bα»" -#: builtin/fetch.c:561 +#: builtin/fetch.c:569 msgid "forced update" msgstr "cΖ°α»‘ng bα»©c cαΊp nhαΊt" -#: builtin/fetch.c:568 +#: builtin/fetch.c:576 msgid "(non-fast-forward)" msgstr "(khΓ΄ng-chuyα»n-tiαΊΏp-nhanh)" -#: builtin/fetch.c:602 builtin/fetch.c:843 +#: builtin/fetch.c:610 builtin/fetch.c:851 #, c-format msgid "cannot open %s: %s\n" msgstr "khΓ΄ng thα» mα» %s: %s\n" -#: builtin/fetch.c:611 +#: builtin/fetch.c:619 #, c-format msgid "%s did not send all necessary objects\n" msgstr "%s ΔΓ£ khΓ΄ng gα»i tαΊ₯t cαΊ£ cΓ‘c Δα»i tượng cαΊ§n thiαΊΏt\n" -#: builtin/fetch.c:629 +#: builtin/fetch.c:637 #, c-format msgid "reject %s because shallow roots are not allowed to be updated" msgstr "tα»« chα»i %s bα»i vΓ¬ cΓ‘c gα»c nΓ΄ng thΓ¬ khΓ΄ng Δược phΓ©p cαΊp nhαΊt" -#: builtin/fetch.c:716 builtin/fetch.c:808 +#: builtin/fetch.c:724 builtin/fetch.c:816 #, c-format msgid "From %.*s\n" msgstr "Tα»« %.*s\n" -#: builtin/fetch.c:727 +#: builtin/fetch.c:735 #, c-format msgid "" "some local refs could not be updated; try running\n" @@ -5997,57 +6184,57 @@ msgstr "" "mα»t sα» tham chiαΊΏu nα»i bα» khΓ΄ng thα» Δược cαΊp nhαΊt; hΓ£y thα» chαΊ‘y\n" " βgit remote prune %sβ Δα» bα» Δi nhα»―ng nhΓ‘nh cΕ©, hay bα» xung Δα»t" -#: builtin/fetch.c:779 +#: builtin/fetch.c:787 #, c-format msgid " (%s will become dangling)" msgstr " (%s sαΊ½ trα» thΓ nh khΓ΄ng ΔαΊ§u (khΓ΄ng Δược quαΊ£n lΓ½))" -#: builtin/fetch.c:780 +#: builtin/fetch.c:788 #, c-format msgid " (%s has become dangling)" msgstr " (%s ΔΓ£ trα» thΓ nh khΓ΄ng ΔαΊ§u (khΓ΄ng Δược quαΊ£n lΓ½))" -#: builtin/fetch.c:812 +#: builtin/fetch.c:820 msgid "[deleted]" msgstr "[ΔΓ£ xΓ³a]" -#: builtin/fetch.c:813 builtin/remote.c:1040 +#: builtin/fetch.c:821 builtin/remote.c:1025 msgid "(none)" msgstr "(khΓ΄ng)" -#: builtin/fetch.c:833 +#: builtin/fetch.c:841 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "" "Tα»« chα»i viα»c lαΊ₯y vΓ o trong nhΓ‘nh hiα»n tαΊ‘i %s cα»§a mα»t kho chα»©a khΓ΄ng phαΊ£i kho " "trαΊ§n (bare)" -#: builtin/fetch.c:852 +#: builtin/fetch.c:860 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "TΓΉy chα»n \"%s\" cΓ³ giΓ‘ trα» \"%s\" lΓ khΓ΄ng hợp lα» cho %s" -#: builtin/fetch.c:855 +#: builtin/fetch.c:863 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "TΓΉy chα»n \"%s\" bα» bα» qua vα»i %s\n" -#: builtin/fetch.c:911 +#: builtin/fetch.c:920 #, c-format msgid "Don't know how to fetch from %s" msgstr "KhΓ΄ng biαΊΏt lΓ m cΓ‘ch nΓ o Δα» lαΊ₯y vα» tα»« %s" -#: builtin/fetch.c:1072 +#: builtin/fetch.c:1080 #, c-format msgid "Fetching %s\n" msgstr "Δang lαΊ₯y β%sβ vα»\n" -#: builtin/fetch.c:1074 builtin/remote.c:96 +#: builtin/fetch.c:1082 builtin/remote.c:96 #, c-format msgid "Could not fetch %s" msgstr "khΓ΄ng thα» β%sβ vα»" -#: builtin/fetch.c:1092 +#: builtin/fetch.c:1100 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." @@ -6055,32 +6242,32 @@ msgstr "" "ChΖ°a chα» ra kho chα»©a mΓ‘y chα»§. Xin hΓ£y chα» Δα»nh hoαΊ·c lΓ URL hoαΊ·c\n" "tΓͺn mΓ‘y chα»§ tα»« cΓ‘i mΓ nhα»―ng Δiα»m xΓ©t duyα»t mα»i cΓ³ thα» Δược fetch (lαΊ₯y vα»)." -#: builtin/fetch.c:1115 +#: builtin/fetch.c:1123 msgid "You need to specify a tag name." msgstr "BαΊ‘n phαΊ£i Δα»nh rΓ΅ tΓͺn thαΊ»." -#: builtin/fetch.c:1157 +#: builtin/fetch.c:1165 msgid "--depth and --unshallow cannot be used together" msgstr "tΓΉy chα»n --depth vΓ --unshallow khΓ΄ng thα» sα» dα»₯ng cΓΉng vα»i nhau" -#: builtin/fetch.c:1159 +#: builtin/fetch.c:1167 msgid "--unshallow on a complete repository does not make sense" msgstr "--unshallow trΓͺn kho hoΓ n chα»nh lΓ khΓ΄ng hợp lΓ½" -#: builtin/fetch.c:1179 +#: builtin/fetch.c:1187 msgid "fetch --all does not take a repository argument" msgstr "lα»nh lαΊ₯y vα» \"fetch --all\" khΓ΄ng lαΊ₯y Δα»i sα» kho chα»©a" -#: builtin/fetch.c:1181 +#: builtin/fetch.c:1189 msgid "fetch --all does not make sense with refspecs" msgstr "lα»nh lαΊ₯y vα» \"fetch --all\" khΓ΄ng hợp lΓ½ vα»i refspecs" -#: builtin/fetch.c:1192 +#: builtin/fetch.c:1200 #, c-format msgid "No such remote or remote group: %s" msgstr "khΓ΄ng cΓ³ nhΓ³m mΓ‘y chα»§ hay mΓ‘y chα»§ nhΖ° thαΊΏ: %s" -#: builtin/fetch.c:1200 +#: builtin/fetch.c:1208 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "Viα»c lαΊ₯y vα» cαΊ£ mα»t nhΓ³m vΓ chα» Δα»nh refspecs khΓ΄ng hợp lΓ½" @@ -6308,227 +6495,241 @@ msgstr "" msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]" msgstr "git grep [<cΓ‘c-tΓΉy-chα»n>] [-e] <mαΊ«u> [<rev>β¦] [[--] <ΔΖ°α»ng-dαΊ«n>β¦]" -#: builtin/grep.c:218 +#: builtin/grep.c:219 #, c-format msgid "grep: failed to create thread: %s" msgstr "grep: gαΊ·p lα»i tαΊ‘o tuyαΊΏn (thread): %s" -#: builtin/grep.c:441 builtin/grep.c:476 +#: builtin/grep.c:277 +#, c-format +msgid "invalid number of threads specified (%d) for %s" +msgstr "sα» tuyαΊΏn ΔΓ£ cho khΓ΄ng hợp lα» (%d) cho %s" + +#: builtin/grep.c:452 builtin/grep.c:487 #, c-format msgid "unable to read tree (%s)" msgstr "khΓ΄ng thα» Δα»c cΓ’y (%s)" -#: builtin/grep.c:491 +#: builtin/grep.c:502 #, c-format msgid "unable to grep from object of type %s" msgstr "khΓ΄ng thα» thα»±c hiα»n lα»nh grep (lα»c tΓ¬m) tα»« Δα»i tượng thuα»c kiα»u %s" -#: builtin/grep.c:547 +#: builtin/grep.c:558 #, c-format msgid "switch `%c' expects a numerical value" msgstr "chuyα»n ΔαΊΏn β%cβ cαΊ§n mα»t giΓ‘ trα» bαΊ±ng sα»" -#: builtin/grep.c:564 +#: builtin/grep.c:575 #, c-format msgid "cannot open '%s'" msgstr "khΓ΄ng mα» Δược β%sβ" -#: builtin/grep.c:633 +#: builtin/grep.c:644 msgid "search in index instead of in the work tree" msgstr "tΓ¬m trong bαΊ£ng mα»₯c lα»₯c thay vΓ¬ trong cΓ’y lΓ m viα»c" -#: builtin/grep.c:635 +#: builtin/grep.c:646 msgid "find in contents not managed by git" msgstr "tΓ¬m trong nα»i dung khΓ΄ng Δược quαΊ£n lΓ½ bα»i git" -#: builtin/grep.c:637 +#: builtin/grep.c:648 msgid "search in both tracked and untracked files" msgstr "tΓ¬m kiαΊΏm cΓ‘c tαΊp tin Δược vΓ chΖ°a Δược theo dΓ΅i dαΊ₯u vαΊΏt" -#: builtin/grep.c:639 +#: builtin/grep.c:650 msgid "ignore files specified via '.gitignore'" msgstr "cΓ‘c tαΊp tin bα» bα» qua Δược chα» Δα»nh thΓ΄ng qua β.gitignoreβ" -#: builtin/grep.c:642 +#: builtin/grep.c:653 msgid "show non-matching lines" msgstr "hiα»n thα» nhα»―ng dΓ²ng khΓ΄ng khα»p vα»i mαΊ«u" -#: builtin/grep.c:644 +#: builtin/grep.c:655 msgid "case insensitive matching" msgstr "phΓ’n biα»t HOA/thΖ°α»ng" -#: builtin/grep.c:646 +#: builtin/grep.c:657 msgid "match patterns only at word boundaries" msgstr "chα» khα»p mαΊ«u tαΊ‘i ΔΖ°α»ng ranh giα»i tα»«" -#: builtin/grep.c:648 +#: builtin/grep.c:659 msgid "process binary files as text" msgstr "xα» lΓ½ tαΊp tin nhα» phΓ’n nhΖ° lΓ dαΊ‘ng vΔn bαΊ£n thΖ°α»ng" -#: builtin/grep.c:650 +#: builtin/grep.c:661 msgid "don't match patterns in binary files" msgstr "khΓ΄ng khα»p mαΊ«u trong cΓ‘c tαΊp tin nhα» phΓ’n" -#: builtin/grep.c:653 +#: builtin/grep.c:664 msgid "process binary files with textconv filters" msgstr "xα» lΓ½ tαΊp tin nhα» phΓ’n vα»i cΓ‘c bα» lα»c βtextconvβ" -#: builtin/grep.c:655 +#: builtin/grep.c:666 msgid "descend at most <depth> levels" msgstr "hαΊ‘ xuα»ng Γt nhαΊ₯t lΓ mα»©c <sΓ’u>" -#: builtin/grep.c:659 +#: builtin/grep.c:670 msgid "use extended POSIX regular expressions" msgstr "dΓΉng biα»u thα»©c chΓnh qui POSIX cΓ³ mα» rα»ng" -#: builtin/grep.c:662 +#: builtin/grep.c:673 msgid "use basic POSIX regular expressions (default)" msgstr "sα» dα»₯ng biα»u thα»©c chΓnh quy kiα»u POSIX (mαΊ·c Δα»nh)" -#: builtin/grep.c:665 +#: builtin/grep.c:676 msgid "interpret patterns as fixed strings" msgstr "diα»
n dα»ch cΓ‘c mαΊ«u nhΖ° lΓ chuα»i cα» Δα»nh" -#: builtin/grep.c:668 +#: builtin/grep.c:679 msgid "use Perl-compatible regular expressions" msgstr "sα» dα»₯ng biα»u thα»©c chΓnh quy tΖ°Ζ‘ng thΓch Perl" -#: builtin/grep.c:671 +#: builtin/grep.c:682 msgid "show line numbers" msgstr "hiα»n thα» sα» cα»§a dΓ²ng" -#: builtin/grep.c:672 +#: builtin/grep.c:683 msgid "don't show filenames" msgstr "khΓ΄ng hiα»n thα» tΓͺn tαΊp tin" -#: builtin/grep.c:673 +#: builtin/grep.c:684 msgid "show filenames" msgstr "hiα»n thα» cΓ‘c tΓͺn tαΊp tin" -#: builtin/grep.c:675 +#: builtin/grep.c:686 msgid "show filenames relative to top directory" msgstr "hiα»n thα» tΓͺn tαΊp tin tΖ°Ζ‘ng Δα»i vα»i thΖ° mα»₯c Δα»nh (top)" -#: builtin/grep.c:677 +#: builtin/grep.c:688 msgid "show only filenames instead of matching lines" msgstr "chα» hiα»n thα» tΓͺn tαΊp tin thay vΓ¬ nhα»―ng dΓ²ng khα»p vα»i mαΊ«u" -#: builtin/grep.c:679 +#: builtin/grep.c:690 msgid "synonym for --files-with-matches" msgstr "Δα»ng nghΔ©a vα»i --files-with-matches" -#: builtin/grep.c:682 +#: builtin/grep.c:693 msgid "show only the names of files without match" msgstr "chα» hiα»n thα» tΓͺn cho nhα»―ng tαΊp tin khΓ΄ng khα»p vα»i mαΊ«u" -#: builtin/grep.c:684 +#: builtin/grep.c:695 msgid "print NUL after filenames" msgstr "thΓͺm NUL vΓ o sau tΓͺn tαΊp tin" -#: builtin/grep.c:686 +#: builtin/grep.c:697 msgid "show the number of matches instead of matching lines" msgstr "hiα»n thα» sα» lượng khα»p thay vΓ¬ nhα»―ng dΓ²ng khα»p vα»i mαΊ«u" -#: builtin/grep.c:687 +#: builtin/grep.c:698 msgid "highlight matches" msgstr "tΓ΄ sΓ‘ng phαΊ§n khα»p mαΊ«u" -#: builtin/grep.c:689 +#: builtin/grep.c:700 msgid "print empty line between matches from different files" msgstr "hiα»n thα» dΓ²ng trα»ng giα»―a cΓ‘c lαΊ§n khα»p tα»« cΓ‘c tαΊp tin khΓ‘c biα»t" -#: builtin/grep.c:691 +#: builtin/grep.c:702 msgid "show filename only once above matches from same file" msgstr "" "hiα»n thα» tΓͺn tαΊp tin mα»t lαΊ§n phΓa trΓͺn cΓ‘c lαΊ§n khα»p tα»« cΓΉng mα»t tαΊp tin" -#: builtin/grep.c:694 +#: builtin/grep.c:705 msgid "show <n> context lines before and after matches" msgstr "hiα»n thα» <n> dΓ²ng nα»i dung phΓa trΖ°α»c vΓ sau cΓ‘c lαΊ§n khα»p" -#: builtin/grep.c:697 +#: builtin/grep.c:708 msgid "show <n> context lines before matches" msgstr "hiα»n thα» <n> dΓ²ng nα»i dung trΖ°α»c khα»p" -#: builtin/grep.c:699 +#: builtin/grep.c:710 msgid "show <n> context lines after matches" msgstr "hiα»n thα» <n> dΓ²ng nα»i dung sau khα»p" -#: builtin/grep.c:700 +#: builtin/grep.c:712 +msgid "use <n> worker threads" +msgstr "dΓΉng <n> tuyαΊΏn trΓ¬nh lΓ m viα»c" + +#: builtin/grep.c:713 msgid "shortcut for -C NUM" msgstr "dαΊ‘ng viαΊΏt tαΊ―t cα»§a -C Sα»" -#: builtin/grep.c:703 +#: builtin/grep.c:716 msgid "show a line with the function name before matches" msgstr "hiα»n thα» dΓ²ng vΓ³i tΓͺn hΓ m trΖ°α»c cΓ‘c lαΊ§n khα»p" -#: builtin/grep.c:705 +#: builtin/grep.c:718 msgid "show the surrounding function" msgstr "hiα»n thα» hΓ m bao quanh" -#: builtin/grep.c:708 +#: builtin/grep.c:721 msgid "read patterns from file" msgstr "Δα»c mαΊ«u tα»« tαΊp-tin" -#: builtin/grep.c:710 +#: builtin/grep.c:723 msgid "match <pattern>" msgstr "match <mαΊ«u>" -#: builtin/grep.c:712 +#: builtin/grep.c:725 msgid "combine patterns specified with -e" msgstr "tα» hợp mαΊ«u Δược chα» ra vα»i tΓΉy chα»n -e" -#: builtin/grep.c:724 +#: builtin/grep.c:737 msgid "indicate hit with exit status without output" msgstr "ΔΖ°a ra gợi Γ½ vα»i trαΊ‘ng thΓ‘i thoΓ‘t mΓ khΓ΄ng cΓ³ kαΊΏt xuαΊ₯t" -#: builtin/grep.c:726 +#: builtin/grep.c:739 msgid "show only matches from files that match all patterns" msgstr "chα» hiα»n thα» nhα»―ng cΓ‘i khα»p tα»« tαΊp tin mΓ nΓ³ khα»p toΓ n bα» cΓ‘c mαΊ«u" -#: builtin/grep.c:728 +#: builtin/grep.c:741 msgid "show parse tree for grep expression" msgstr "hiα»n thα» cΓ’y phΓ’n tΓch cΓΊ phΓ‘p cho biα»u thα»©c βgrepβ (tΓ¬m kiαΊΏm)" -#: builtin/grep.c:732 +#: builtin/grep.c:745 msgid "pager" msgstr "dΓ n trang" -#: builtin/grep.c:732 +#: builtin/grep.c:745 msgid "show matching files in the pager" msgstr "hiα»n thα» cΓ‘c tαΊp tin khα»p trong trang giαΊ₯y" -#: builtin/grep.c:735 +#: builtin/grep.c:748 msgid "allow calling of grep(1) (ignored by this build)" msgstr "cho phΓ©p gα»i grep(1) (bα» bα» qua bα»i lαΊ§n dα»ch nΓ y)" -#: builtin/grep.c:793 +#: builtin/grep.c:811 msgid "no pattern given." msgstr "chΖ°a chα» ra mαΊ«u." -#: builtin/grep.c:851 +#: builtin/grep.c:843 builtin/index-pack.c:1475 +#, c-format +msgid "invalid number of threads specified (%d)" +msgstr "sα» tuyαΊΏn chα» ra khΓ΄ng hợp lα» (%d)" + +#: builtin/grep.c:873 msgid "--open-files-in-pager only works on the worktree" msgstr "--open-files-in-pager chα» lΓ m viα»c trΓͺn cΓ’y-lΓ m-viα»c" -#: builtin/grep.c:877 +#: builtin/grep.c:899 msgid "--cached or --untracked cannot be used with --no-index." msgstr "--cached hay --untracked khΓ΄ng Δược sα» dα»₯ng vα»i --no-index." -#: builtin/grep.c:882 +#: builtin/grep.c:904 msgid "--no-index or --untracked cannot be used with revs." msgstr "" "--no-index hay --untracked khΓ΄ng Δược sα» dα»₯ng cΓΉng vα»i cΓ‘c tΓΉy chα»n liΓͺn " "quan ΔαΊΏn revs." -#: builtin/grep.c:885 +#: builtin/grep.c:907 msgid "--[no-]exclude-standard cannot be used for tracked contents." msgstr "--[no-]exclude-standard khΓ΄ng thα» sα» dα»₯ng cho nα»i dung lΖ°u dαΊ₯u vαΊΏt." -#: builtin/grep.c:893 +#: builtin/grep.c:915 msgid "both --cached and trees are given." msgstr "cαΊ£ hai --cached vΓ cΓ‘c cΓ’y phαΊ£i Δược chα» ra." -#: builtin/hash-object.c:80 +#: builtin/hash-object.c:81 msgid "" "git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] " "[--] <file>..." @@ -6536,36 +6737,36 @@ msgstr "" "git hash-object [-t <kiα»u>] [-w] [--path=<tαΊp-tin> | --no-filters] [--stdin] " "[--] <tαΊp-tin>β¦" -#: builtin/hash-object.c:81 +#: builtin/hash-object.c:82 msgid "git hash-object --stdin-paths" msgstr "git hash-object --stdin-paths" -#: builtin/hash-object.c:92 +#: builtin/hash-object.c:93 msgid "type" msgstr "kiα»u" -#: builtin/hash-object.c:92 +#: builtin/hash-object.c:93 msgid "object type" msgstr "kiα»u Δα»i tượng" -#: builtin/hash-object.c:93 +#: builtin/hash-object.c:94 msgid "write the object into the object database" msgstr "ghi Δα»i tượng vΓ o dα»― liα»u Δα»i tượng" -#: builtin/hash-object.c:95 +#: builtin/hash-object.c:96 msgid "read the object from stdin" msgstr "Δα»c Δα»i tượng tα»« ΔαΊ§u vΓ o tiΓͺu chuαΊ©n stdin" -#: builtin/hash-object.c:97 +#: builtin/hash-object.c:98 msgid "store file as is without filters" msgstr "lΖ°u cΓ‘c tαΊp tin mΓ nΓ³ khΓ΄ng cΓ³ cΓ‘c bα» lα»c" -#: builtin/hash-object.c:98 +#: builtin/hash-object.c:99 msgid "" "just hash any random garbage to create corrupt objects for debugging Git" msgstr "chα» cαΊ§n bΔm rΓ‘c ngαΊ«u nhiΓͺn Δα» tαΊ‘o mα»t Δα»i tượng hα»ng Δα» mΓ gα»‘ lα»i Git" -#: builtin/hash-object.c:99 +#: builtin/hash-object.c:100 msgid "process file as it were from this path" msgstr "xα» lΓ½ tαΊp tin nhΖ° lΓ nΓ³ Δang α» thΖ° mα»₯c nΓ y" @@ -6616,7 +6817,7 @@ msgstr "phiΓͺn bαΊ£n cα»§a emacsclient β%dβ quΓ‘ cΕ© (< 22)." msgid "failed to exec '%s': %s" msgstr "gαΊ·p lα»i khi thα»±c thi β%sβ: %s" -#: builtin/help.c:208 +#: builtin/help.c:205 #, c-format msgid "" "'%s': path for unsupported man viewer.\n" @@ -6625,7 +6826,7 @@ msgstr "" "β%sβ: ΔΖ°α»ng dαΊ«n khΓ΄ng hα» trợ bα» trΓ¬nh chiαΊΏu man.\n" "HΓ£y cΓ’n nhαΊ―c ΔαΊΏn viα»c sα» dα»₯ng βman.<tool>.cmdβ Δα» thay thαΊΏ." -#: builtin/help.c:220 +#: builtin/help.c:217 #, c-format msgid "" "'%s': cmd for supported man viewer.\n" @@ -6634,61 +6835,61 @@ msgstr "" "β%sβ: cmd (lα»nh) hα» trợ bα» trΓ¬nh chiαΊΏu man.\n" "HΓ£y cΓ’n nhαΊ―c ΔαΊΏn viα»c sα» dα»₯ng βman.<tool>.pathβ Δα» thay thαΊΏ." -#: builtin/help.c:337 +#: builtin/help.c:334 #, c-format msgid "'%s': unknown man viewer." msgstr "β%sβ: khΓ΄ng rΓ΅ chΖ°Ζ‘ng trΓ¬nh xem man." -#: builtin/help.c:354 +#: builtin/help.c:351 msgid "no man viewer handled the request" msgstr "khΓ΄ng cΓ³ trΓ¬nh xem trợ giΓΊp dαΊ‘ng manpage tiαΊΏp hợp vα»i yΓͺu cαΊ§u" -#: builtin/help.c:362 +#: builtin/help.c:359 msgid "no info viewer handled the request" msgstr "khΓ΄ng cΓ³ trΓ¬nh xem trợ giΓΊp dαΊ‘ng info tiαΊΏp hợp vα»i yΓͺu cαΊ§u" -#: builtin/help.c:411 +#: builtin/help.c:408 msgid "Defining attributes per path" msgstr "Δα»nh nghΔ©a cΓ‘c thuα»c tΓnh cho mα»i ΔΖ°α»ng dαΊ«n" -#: builtin/help.c:412 +#: builtin/help.c:409 msgid "Everyday Git With 20 Commands Or So" msgstr "Mα»i ngΓ y hα»c 20 lα»nh Git hay hΖ‘n" -#: builtin/help.c:413 +#: builtin/help.c:410 msgid "A Git glossary" msgstr "ThuαΊt ngα»― chuyΓͺn mΓ΄n Git" -#: builtin/help.c:414 +#: builtin/help.c:411 msgid "Specifies intentionally untracked files to ignore" msgstr "Chα» Δα»nh cΓ‘c tαΊp tin khΓ΄ng cαΊ§n theo dΓ΅i" -#: builtin/help.c:415 +#: builtin/help.c:412 msgid "Defining submodule properties" msgstr "Δα»nh nghΔ©a thuα»c tΓnh mΓ΄-Δun-con" -#: builtin/help.c:416 +#: builtin/help.c:413 msgid "Specifying revisions and ranges for Git" msgstr "Chα» Δα»nh Δiα»m xΓ©t duyα»t vΓ vΓΉng cho Git" -#: builtin/help.c:417 +#: builtin/help.c:414 msgid "A tutorial introduction to Git (for version 1.5.1 or newer)" msgstr "HΖ°α»ng dαΊ«n cΓ‘ch dΓΉng Git α» mα»©c cΖ‘ bαΊ£n (bαΊ£n 1.5.1 hay mα»i hΖ‘n)" -#: builtin/help.c:418 +#: builtin/help.c:415 msgid "An overview of recommended workflows with Git" msgstr "Tα»ng quan vα» luα»ng cΓ΄ng viα»c khuyαΊΏn nghα» nΓͺn dΓΉng vα»i Git." -#: builtin/help.c:430 +#: builtin/help.c:427 msgid "The common Git guides are:\n" msgstr "CΓ‘c chα» dαΊ«n chung vα» cΓ‘ch dΓΉng Git lΓ :\n" -#: builtin/help.c:451 builtin/help.c:468 +#: builtin/help.c:448 builtin/help.c:465 #, c-format msgid "usage: %s%s" msgstr "cΓ‘ch dΓΉng: %s%s" -#: builtin/help.c:484 +#: builtin/help.c:481 #, c-format msgid "`git %s' is aliased to `%s'" msgstr "βgit %sβ Δược ΔαΊ·t bΓ danh thΓ nh β%sβ" @@ -6921,58 +7122,53 @@ msgstr "khΓ΄ng thα» lΖ°u trα»― tαΊp tin ghi mα»₯c lα»₯c" msgid "bad pack.indexversion=%<PRIu32>" msgstr "sai pack.indexversion=%<PRIu32>" -#: builtin/index-pack.c:1475 -#, c-format -msgid "invalid number of threads specified (%d)" -msgstr "sα» tuyαΊΏn chα» ra khΓ΄ng hợp lα» (%d)" - -#: builtin/index-pack.c:1479 builtin/index-pack.c:1663 +#: builtin/index-pack.c:1479 builtin/index-pack.c:1664 #, c-format msgid "no threads support, ignoring %s" msgstr "khΓ΄ng hα» trợ Δa tuyαΊΏn, bα» qua %s" -#: builtin/index-pack.c:1537 +#: builtin/index-pack.c:1538 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "KhΓ΄ng thα» mα» tαΊp tin gΓ³i ΔΓ£ sαΊ΅n cΓ³ β%sβ" -#: builtin/index-pack.c:1539 +#: builtin/index-pack.c:1540 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "KhΓ΄ng thα» mα» tαΊp tin idx cα»§a gΓ³i cho β%sβ" -#: builtin/index-pack.c:1586 +#: builtin/index-pack.c:1587 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" msgstr[0] "khΓ΄ng delta: %d Δα»i tượng" -#: builtin/index-pack.c:1593 +#: builtin/index-pack.c:1594 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" msgstr[0] "chiα»u dΓ i xΓch = %d: %lu Δα»i tượng" -#: builtin/index-pack.c:1623 +#: builtin/index-pack.c:1624 msgid "Cannot come back to cwd" msgstr "KhΓ΄ng thα» quay lαΊ‘i cwd" -#: builtin/index-pack.c:1675 builtin/index-pack.c:1678 -#: builtin/index-pack.c:1690 builtin/index-pack.c:1694 +#: builtin/index-pack.c:1676 builtin/index-pack.c:1679 +#: builtin/index-pack.c:1691 builtin/index-pack.c:1695 #, c-format msgid "bad %s" msgstr "%s sai" -#: builtin/index-pack.c:1708 +#: builtin/index-pack.c:1709 msgid "--fix-thin cannot be used without --stdin" msgstr "--fix-thin khΓ΄ng thα» Δược dΓΉng mΓ khΓ΄ng cΓ³ --stdin" -#: builtin/index-pack.c:1712 builtin/index-pack.c:1721 +#: builtin/index-pack.c:1713 builtin/index-pack.c:1722 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "tΓͺn tαΊp tin tαΊp tin gΓ³i β%sβ khΓ΄ng Δược kαΊΏt thΓΊc bαΊ±ng ΔuΓ΄i β.packβ" -#: builtin/index-pack.c:1729 +#: builtin/index-pack.c:1730 msgid "--verify with no packfile name given" msgstr "dΓΉng tΓΉy chα»n --verify mΓ khΓ΄ng ΔΖ°a ra tΓͺn packfile" @@ -7098,24 +7294,32 @@ msgstr "khΓ΄ng thα» truy cαΊp cΓ’y (tree) lΓ m viα»c β%sβ" #: builtin/interpret-trailers.c:15 msgid "" -"git interpret-trailers [--trim-empty] [(--trailer <token>[(=|:)<value>])...] " -"[<file>...]" +"git interpret-trailers [--in-place] [--trim-empty] [(--trailer " +"<token>[(=|:)<value>])...] [<file>...]" msgstr "" -"git interpret-trailers [--trim-empty] [(--trailer <thαΊ»>[(=|:)<giΓ‘-trα»>])β¦] " -"[<tαΊp-tin>β¦]" +"git interpret-trailers [--in-place] [--trim-empty] [(--trailer " +"<thαΊ»>[(=|:)<giΓ‘-trα»>])β¦] [<tαΊp-tin>β¦]" + +#: builtin/interpret-trailers.c:26 +msgid "edit files in place" +msgstr "sα»a cΓ‘c tαΊp tin tαΊ‘i chα»" -#: builtin/interpret-trailers.c:25 +#: builtin/interpret-trailers.c:27 msgid "trim empty trailers" msgstr "bα» dΓ² vαΊΏt cαΊ―t bα» phαΊ§n trα»ng rα»ng" -#: builtin/interpret-trailers.c:26 +#: builtin/interpret-trailers.c:28 msgid "trailer" msgstr "bα» dΓ² vαΊΏt" -#: builtin/interpret-trailers.c:27 +#: builtin/interpret-trailers.c:29 msgid "trailer(s) to add" msgstr "bα» dΓ² vαΊΏt cαΊ§n thΓͺm" +#: builtin/interpret-trailers.c:42 +msgid "no input file given for in-place editing" +msgstr "khΓ΄ng ΔΖ°a ra tαΊp tin ΔαΊ§u vΓ o Δα» sα»a tαΊ‘i-chα»" + #: builtin/log.c:43 msgid "git log [<options>] [<revision-range>] [[--] <path>...]" msgstr "git log [<cΓ‘c-tΓΉy-chα»n>] [<vΓΉng-xem-xΓ©t>] [[--] <ΔΖ°α»ng-dαΊ«n>β¦]" @@ -7169,220 +7373,224 @@ msgstr "KhΓ΄ng thα» Δα»c Δα»i tượng %s" msgid "Unknown type: %d" msgstr "KhΓ΄ng nhαΊn ra kiα»u: %d" -#: builtin/log.c:714 +#: builtin/log.c:715 msgid "format.headers without value" msgstr "format.headers khΓ΄ng cΓ³ giΓ‘ trα» cα»₯ thα»" -#: builtin/log.c:798 +#: builtin/log.c:801 msgid "name of output directory is too long" msgstr "tΓͺn cα»§a thΖ° mα»₯c kαΊΏt xuαΊ₯t quΓ‘ dΓ i" -#: builtin/log.c:813 +#: builtin/log.c:816 #, c-format msgid "Cannot open patch file %s" msgstr "KhΓ΄ng thα» mα» tαΊp tin miαΊΏng vΓ‘: %s" -#: builtin/log.c:827 +#: builtin/log.c:830 msgid "Need exactly one range." msgstr "CαΊ§n chΓnh xΓ‘c mα»t vΓΉng." -#: builtin/log.c:837 +#: builtin/log.c:840 msgid "Not a range." msgstr "KhΓ΄ng phαΊ£i lΓ mα»t vΓΉng." -#: builtin/log.c:943 +#: builtin/log.c:946 msgid "Cover letter needs email format" msgstr "βCover letterβ cαΊ§n cho Δα»nh dαΊ‘ng thΖ°" -#: builtin/log.c:1022 +#: builtin/log.c:1025 #, c-format msgid "insane in-reply-to: %s" msgstr "in-reply-to ΔiΓͺn rα»: %s" -#: builtin/log.c:1050 +#: builtin/log.c:1053 msgid "git format-patch [<options>] [<since> | <revision-range>]" msgstr "git format-patch [<cΓ‘c-tΓΉy-chα»n>] [<kα»-tα»«> | <vΓΉng-xem-xΓ©t>]" -#: builtin/log.c:1095 +#: builtin/log.c:1098 msgid "Two output directories?" msgstr "Hai thΖ° mα»₯c kαΊΏt xuαΊ₯t?" -#: builtin/log.c:1210 +#: builtin/log.c:1214 msgid "use [PATCH n/m] even with a single patch" msgstr "dΓΉng [PATCH n/m] ngay cαΊ£ vα»i miαΊΏng vΓ‘ ΔΖ‘n" -#: builtin/log.c:1213 +#: builtin/log.c:1217 msgid "use [PATCH] even with multiple patches" msgstr "dΓΉng [VΓ] ngay cαΊ£ vα»i cΓ‘c miαΊΏng vΓ‘ phα»©c tαΊ‘p" -#: builtin/log.c:1217 +#: builtin/log.c:1221 msgid "print patches to standard out" msgstr "hiα»n thα» miαΊΏng vΓ‘ ra ΔαΊ§u ra chuαΊ©n" -#: builtin/log.c:1219 +#: builtin/log.c:1223 msgid "generate a cover letter" msgstr "tαΊ‘o bΓ¬ thΖ°" -#: builtin/log.c:1221 +#: builtin/log.c:1225 msgid "use simple number sequence for output file names" msgstr "sα» dα»₯ng chα»i dΓ£y sα» dαΊ‘ng ΔΖ‘n giαΊ£n cho tΓͺn tαΊp-tin xuαΊ₯t ra" -#: builtin/log.c:1222 +#: builtin/log.c:1226 msgid "sfx" msgstr "sfx" -#: builtin/log.c:1223 +#: builtin/log.c:1227 msgid "use <sfx> instead of '.patch'" msgstr "sα» dα»₯ng <sfx> thay cho β.patchβ" -#: builtin/log.c:1225 +#: builtin/log.c:1229 msgid "start numbering patches at <n> instead of 1" msgstr "bαΊ―t ΔαΊ§u ΔΓ‘nh sα» miαΊΏng vΓ‘ tα»« <n> thay vΓ¬ 1" -#: builtin/log.c:1227 +#: builtin/log.c:1231 msgid "mark the series as Nth re-roll" msgstr "ΔΓ‘nh dαΊ₯u chuα»i nα»i tiαΊΏp dαΊ‘ng thα»©-N re-roll" -#: builtin/log.c:1229 +#: builtin/log.c:1233 msgid "Use [<prefix>] instead of [PATCH]" msgstr "DΓΉng [<tiα»n-tα»>] thay cho [VΓ]" -#: builtin/log.c:1232 +#: builtin/log.c:1236 msgid "store resulting files in <dir>" msgstr "lΖ°u cΓ‘c tαΊp tin kαΊΏt quαΊ£ trong <t.mα»₯c>" -#: builtin/log.c:1235 +#: builtin/log.c:1239 msgid "don't strip/add [PATCH]" msgstr "khΓ΄ng strip/add [VΓ]" -#: builtin/log.c:1238 +#: builtin/log.c:1242 msgid "don't output binary diffs" msgstr "khΓ΄ng kαΊΏt xuαΊ₯t diff (nhα»―ng khΓ‘c biα»t) nhα» phΓ’n" -#: builtin/log.c:1240 +#: builtin/log.c:1244 +msgid "output all-zero hash in From header" +msgstr "xuαΊ₯t mα»i mΓ£ bΔm all-zero trong phαΊ§n ΔαΊ§u From" + +#: builtin/log.c:1246 msgid "don't include a patch matching a commit upstream" msgstr "khΓ΄ng bao gα»m miαΊΏng vΓ‘ khα»p vα»i mα»t lαΊ§n chuyα»n giao thượng nguα»n" -#: builtin/log.c:1242 +#: builtin/log.c:1248 msgid "show patch format instead of default (patch + stat)" msgstr "hiα»n thα» Δα»nh dαΊ‘ng miαΊΏng vΓ‘ thay vΓ¬ mαΊ·c Δα»nh (miαΊΏng vΓ‘ + thα»ng kΓͺ)" -#: builtin/log.c:1244 +#: builtin/log.c:1250 msgid "Messaging" msgstr "Lα»i nhαΊ―n" -#: builtin/log.c:1245 +#: builtin/log.c:1251 msgid "header" msgstr "ΔαΊ§u Δα» thΖ°" -#: builtin/log.c:1246 +#: builtin/log.c:1252 msgid "add email header" msgstr "thΓͺm ΔαΊ§u Δα» thΖ°" -#: builtin/log.c:1247 builtin/log.c:1249 +#: builtin/log.c:1253 builtin/log.c:1255 msgid "email" msgstr "thΖ° Δiα»n tα»" -#: builtin/log.c:1247 +#: builtin/log.c:1253 msgid "add To: header" msgstr "thΓͺm To: ΔαΊ§u Δα» thΖ°" -#: builtin/log.c:1249 +#: builtin/log.c:1255 msgid "add Cc: header" msgstr "thΓͺm Cc: ΔαΊ§u Δα» thΖ°" -#: builtin/log.c:1251 +#: builtin/log.c:1257 msgid "ident" msgstr "thα»₯t lα»" -#: builtin/log.c:1252 +#: builtin/log.c:1258 msgid "set From address to <ident> (or committer ident if absent)" msgstr "" "ΔαΊ·t βΔα»a chα» gα»iβ thΓ nh <thα»₯ lα»> (hoαΊ·c thα»₯t lα» ngΖ°α»i commit nαΊΏu bα» quΓͺn)" -#: builtin/log.c:1254 +#: builtin/log.c:1260 msgid "message-id" msgstr "message-id" -#: builtin/log.c:1255 +#: builtin/log.c:1261 msgid "make first mail a reply to <message-id>" msgstr "dΓΉng thΖ° ΔαΊ§u tiΓͺn Δα» trαΊ£ lα»i <message-id>" -#: builtin/log.c:1256 builtin/log.c:1259 +#: builtin/log.c:1262 builtin/log.c:1265 msgid "boundary" msgstr "ranh giα»i" -#: builtin/log.c:1257 +#: builtin/log.c:1263 msgid "attach the patch" msgstr "ΔΓnh kΓ¨m miαΊΏng vΓ‘" -#: builtin/log.c:1260 +#: builtin/log.c:1266 msgid "inline the patch" msgstr "dΓΉng miαΊΏng vΓ‘ lΓ m nα»i dung" -#: builtin/log.c:1264 +#: builtin/log.c:1270 msgid "enable message threading, styles: shallow, deep" msgstr "cho phΓ©p luα»ng lα»i nhαΊ―n, kiα»u: βshallowβ, βdeepβ" -#: builtin/log.c:1266 +#: builtin/log.c:1272 msgid "signature" msgstr "chα»― kΓ½" -#: builtin/log.c:1267 +#: builtin/log.c:1273 msgid "add a signature" msgstr "thΓͺm chα»― kΓ½" -#: builtin/log.c:1269 +#: builtin/log.c:1275 msgid "add a signature from a file" msgstr "thΓͺm chα»― kΓ½ tα»« mα»t tαΊp tin" -#: builtin/log.c:1270 +#: builtin/log.c:1276 msgid "don't print the patch filenames" msgstr "khΓ΄ng hiα»n thα» cΓ‘c tΓͺn tαΊp tin cα»§a miαΊΏng vΓ‘" -#: builtin/log.c:1359 +#: builtin/log.c:1365 msgid "-n and -k are mutually exclusive." msgstr "-n vΓ -k loαΊ‘i tα»« lαΊ«n nhau." -#: builtin/log.c:1361 +#: builtin/log.c:1367 msgid "--subject-prefix and -k are mutually exclusive." msgstr "--subject-prefix vΓ -k xung khαΊ―c nhau." -#: builtin/log.c:1369 +#: builtin/log.c:1375 msgid "--name-only does not make sense" msgstr "--name-only khΓ΄ng hợp lΓ½" -#: builtin/log.c:1371 +#: builtin/log.c:1377 msgid "--name-status does not make sense" msgstr "--name-status khΓ΄ng hợp lΓ½" -#: builtin/log.c:1373 +#: builtin/log.c:1379 msgid "--check does not make sense" msgstr "--check khΓ΄ng hợp lΓ½" -#: builtin/log.c:1396 +#: builtin/log.c:1407 msgid "standard output, or directory, which one?" msgstr "ΔαΊ§u ra chuαΊ©n, hay thΖ° mα»₯c, chα»n cΓ‘i nΓ o?" -#: builtin/log.c:1398 +#: builtin/log.c:1409 #, c-format msgid "Could not create directory '%s'" msgstr "KhΓ΄ng thα» tαΊ‘o thΖ° mα»₯c β%sβ" -#: builtin/log.c:1495 +#: builtin/log.c:1506 #, c-format msgid "unable to read signature file '%s'" msgstr "khΓ΄ng thα» Δα»c tαΊp tin chα»― kΓ½ β%sβ" -#: builtin/log.c:1558 +#: builtin/log.c:1569 msgid "Failed to create output files" msgstr "GαΊ·p lα»i khi tαΊ‘o cΓ‘c tαΊp tin kαΊΏt xuαΊ₯t" -#: builtin/log.c:1606 +#: builtin/log.c:1617 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" msgstr "git cherry [-v] [<thượng-nguα»n> [<ΔαΊ§u> [<giα»i-hαΊ‘n>]]]" -#: builtin/log.c:1660 +#: builtin/log.c:1671 #, c-format msgid "" "Could not find a tracked remote branch, please specify <upstream> manually.\n" @@ -7390,106 +7598,156 @@ msgstr "" "KhΓ΄ng tΓ¬m thαΊ₯y nhΓ‘nh mαΊ‘ng Δược theo dΓ΅i, hΓ£y chα» Δα»nh <thượng-nguα»n> mα»t " "cΓ‘ch thα»§ cΓ΄ng.\n" -#: builtin/log.c:1671 builtin/log.c:1673 builtin/log.c:1685 +#: builtin/log.c:1682 builtin/log.c:1684 builtin/log.c:1696 #, c-format msgid "Unknown commit %s" msgstr "KhΓ΄ng hiα»u lαΊ§n chuyα»n giao %s" -#: builtin/ls-files.c:358 +#: builtin/ls-files.c:378 msgid "git ls-files [<options>] [<file>...]" msgstr "git ls-files [<cΓ‘c-tΓΉy-chα»n>] [<tαΊp-tin>β¦]" -#: builtin/ls-files.c:415 +#: builtin/ls-files.c:427 msgid "identify the file status with tags" msgstr "nhαΊn dαΊ‘ng cΓ‘c trαΊ‘ng thΓ‘i tαΊp tin vα»i thαΊ»" -#: builtin/ls-files.c:417 +#: builtin/ls-files.c:429 msgid "use lowercase letters for 'assume unchanged' files" msgstr "" "dΓΉng chα»― cΓ‘i viαΊΏt thΖ°α»ng cho cΓ‘c tαΊp tin βassume unchangedβ (giαΊ£ Δα»nh khΓ΄ng " "thay Δα»i)" -#: builtin/ls-files.c:419 +#: builtin/ls-files.c:431 msgid "show cached files in the output (default)" msgstr "hiα»n thα» cΓ‘c tαΊp tin Δược nhα» tαΊ‘m vΓ o ΔαΊ§u ra (mαΊ·c Δα»nh)" -#: builtin/ls-files.c:421 +#: builtin/ls-files.c:433 msgid "show deleted files in the output" msgstr "hiα»n thα» cΓ‘c tαΊp tin ΔΓ£ xΓ³a trong kαΊΏt xuαΊ₯t" -#: builtin/ls-files.c:423 +#: builtin/ls-files.c:435 msgid "show modified files in the output" msgstr "hiα»n thα» cΓ‘c tαΊp tin ΔΓ£ bα» sα»a Δα»i ra kαΊΏt xuαΊ₯t" -#: builtin/ls-files.c:425 +#: builtin/ls-files.c:437 msgid "show other files in the output" msgstr "hiα»n thα» cΓ‘c tαΊp tin khΓ‘c trong kαΊΏt xuαΊ₯t" -#: builtin/ls-files.c:427 +#: builtin/ls-files.c:439 msgid "show ignored files in the output" msgstr "hiα»n thα» cΓ‘c tαΊp tin bα» bα» qua trong kαΊΏt xuαΊ₯t" -#: builtin/ls-files.c:430 +#: builtin/ls-files.c:442 msgid "show staged contents' object name in the output" msgstr "hiα»n thα» tΓͺn Δα»i tượng cα»§a nα»i dung Δược ΔαΊ·t lΓͺn bα» phΓ³ng ra kαΊΏt xuαΊ₯t" -#: builtin/ls-files.c:432 +#: builtin/ls-files.c:444 msgid "show files on the filesystem that need to be removed" msgstr "hiα»n thα» cΓ‘c tαΊp tin trΓͺn hα» thα»ng tαΊp tin mΓ nΓ³ cαΊ§n Δược gα»‘ bα»" -#: builtin/ls-files.c:434 +#: builtin/ls-files.c:446 msgid "show 'other' directories' names only" msgstr "chα» hiα»n thα» tΓͺn cα»§a cΓ‘c thΖ° mα»₯c βkhΓ‘cβ" -#: builtin/ls-files.c:437 +#: builtin/ls-files.c:448 +msgid "show line endings of files" +msgstr "hiα»n thα» kαΊΏt thΓΊc dΓ²ng cα»§a cΓ‘c tαΊp tin" + +#: builtin/ls-files.c:450 msgid "don't show empty directories" msgstr "khΓ΄ng hiα»n thα» thΖ° mα»₯c rα»ng" -#: builtin/ls-files.c:440 +#: builtin/ls-files.c:453 msgid "show unmerged files in the output" msgstr "hiα»n thα» cΓ‘c tαΊp tin chΖ°a hΓ²a trα»n trong kαΊΏt xuαΊ₯t" -#: builtin/ls-files.c:442 +#: builtin/ls-files.c:455 msgid "show resolve-undo information" msgstr "hiα»n thα» thΓ΄ng tin resolve-undo" -#: builtin/ls-files.c:444 +#: builtin/ls-files.c:457 msgid "skip files matching pattern" msgstr "bα» qua nhα»―ng tαΊp tin khα»p vα»i mα»t mαΊ«u" -#: builtin/ls-files.c:447 +#: builtin/ls-files.c:460 msgid "exclude patterns are read from <file>" msgstr "mαΊ«u loαΊ‘i trα»« Δược Δα»c tα»« <tαΊp tin>" -#: builtin/ls-files.c:450 +#: builtin/ls-files.c:463 msgid "read additional per-directory exclude patterns in <file>" msgstr "Δα»c thΓͺm cΓ‘c mαΊ«u ngoαΊ‘i trα»« mα»i thΖ° mα»₯c trong <tαΊp tin>" -#: builtin/ls-files.c:452 +#: builtin/ls-files.c:465 msgid "add the standard git exclusions" msgstr "thΓͺm loαΊ‘i trα»« tiΓͺu chuαΊ©n kiα»u git" -#: builtin/ls-files.c:455 +#: builtin/ls-files.c:468 msgid "make the output relative to the project top directory" msgstr "lΓ m cho kαΊΏt xuαΊ₯t liΓͺn quan ΔαΊΏn thΖ° mα»₯c α» mα»©c cao nhαΊ₯t (gα»c) cα»§a dα»± Γ‘n" -#: builtin/ls-files.c:458 +#: builtin/ls-files.c:471 msgid "if any <file> is not in the index, treat this as an error" msgstr "nαΊΏu <tαΊp tin> bαΊ₯t kα»³ khΓ΄ng α» trong bαΊ£ng mα»₯c lα»₯c, xα» lΓ½ nΓ³ nhΖ° mα»t lα»i" -#: builtin/ls-files.c:459 +#: builtin/ls-files.c:472 msgid "tree-ish" msgstr "tree-ish" -#: builtin/ls-files.c:460 +#: builtin/ls-files.c:473 msgid "pretend that paths removed since <tree-ish> are still present" msgstr "" "giαΊ£ Δα»nh rαΊ±ng cΓ‘c ΔΖ°α»ng dαΊ«n ΔΓ£ bα» gα»‘ bα» kα» tα»« <tree-ish> nay vαΊ«n hiα»n diα»n" -#: builtin/ls-files.c:462 +#: builtin/ls-files.c:475 msgid "show debugging data" msgstr "hiα»n thα» dα»― liα»u gα»‘ lα»i" +#: builtin/ls-remote.c:7 +msgid "" +"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n" +" [-q | --quiet] [--exit-code] [--get-url]\n" +" [--symref] [<repository> [<refs>...]]" +msgstr "" +"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n" +" [-q | --quiet] [--exit-code] [--get-url]\n" +" [--symref] [<kho> [<cΓ‘c tham chiαΊΏu>β¦]]" + +#: builtin/ls-remote.c:50 +msgid "do not print remote URL" +msgstr "khΓ΄ng hiα»n thα» URL mΓ‘y chα»§" + +#: builtin/ls-remote.c:51 builtin/ls-remote.c:53 +msgid "exec" +msgstr "thα»±c thi" + +#: builtin/ls-remote.c:52 builtin/ls-remote.c:54 +msgid "path of git-upload-pack on the remote host" +msgstr "ΔΖ°α»ng dαΊ«n cα»§a git-upload-pack trΓͺn mΓ‘y chα»§" + +#: builtin/ls-remote.c:56 +msgid "limit to tags" +msgstr "giα»i hαΊ‘n tα»i cΓ‘c thαΊ»" + +#: builtin/ls-remote.c:57 +msgid "limit to heads" +msgstr "giα»i hαΊ‘n cho cΓ‘c ΔαΊ§u" + +#: builtin/ls-remote.c:58 +msgid "do not show peeled tags" +msgstr "khΓ΄ng hiα»n thα» thαΊ» bα» peel (gα»t bα»)" + +#: builtin/ls-remote.c:60 +msgid "take url.<base>.insteadOf into account" +msgstr "lαΊ₯y url.<base>.insteadOf vΓ o trong tΓ i khoαΊ£n" + +#: builtin/ls-remote.c:62 +msgid "exit with exit code 2 if no matching refs are found" +msgstr "thoΓ‘t vα»i mΓ£ lΓ 2 nαΊΏu khΓ΄ng tΓ¬m thαΊ₯y tham chiαΊΏu nΓ o khα»p" + +#: builtin/ls-remote.c:64 +msgid "show underlying ref in addition to the object pointed by it" +msgstr "hiα»n thα» tham chiαΊΏu nαΊ±m dΖ°α»i Δα» thΓͺm vΓ o Δα»i tượng Δược chα» bα»i nΓ³" + #: builtin/ls-tree.c:28 msgid "git ls-tree [<options>] <tree-ish> [<path>...]" msgstr "git ls-tree [<cΓ‘c-tΓΉy-chα»n>] <tree-ish> [<ΔΖ°α»ng-dαΊ«n>β¦]" @@ -7557,31 +7815,31 @@ msgstr "CΓ‘c chiαΊΏn lược sαΊ΅n sΓ ng lΓ :" msgid "Available custom strategies are:" msgstr "CΓ‘c chiαΊΏn lược tΓΉy chα»nh sαΊ΅n sΓ ng lΓ :" -#: builtin/merge.c:193 builtin/pull.c:119 +#: builtin/merge.c:193 builtin/pull.c:123 msgid "do not show a diffstat at the end of the merge" msgstr "khΓ΄ng hiα»n thα» thα»ng kΓͺ khΓ‘c biα»t tαΊ‘i cuα»i cα»§a lαΊ§n hΓ²a trα»n" -#: builtin/merge.c:196 builtin/pull.c:122 +#: builtin/merge.c:196 builtin/pull.c:126 msgid "show a diffstat at the end of the merge" msgstr "hiα»n thα» thα»ng kΓͺ khΓ‘c biα»t tαΊ‘i cuα»i cα»§a hΓ²a trα»n" -#: builtin/merge.c:197 builtin/pull.c:125 +#: builtin/merge.c:197 builtin/pull.c:129 msgid "(synonym to --stat)" msgstr "(Δα»ng nghΔ©a vα»i --stat)" -#: builtin/merge.c:199 builtin/pull.c:128 +#: builtin/merge.c:199 builtin/pull.c:132 msgid "add (at most <n>) entries from shortlog to merge commit message" msgstr "thΓͺm (Γt nhαΊ₯t <n>) mα»₯c tα»« shortlog cho ghi chΓΊ chuyα»n giao hΓ²a trα»n" -#: builtin/merge.c:202 builtin/pull.c:131 +#: builtin/merge.c:202 builtin/pull.c:135 msgid "create a single commit instead of doing a merge" msgstr "tαΊ‘o mα»t lαΊ§n chuyα»n giao ΔΖ°on thay vΓ¬ thα»±c hiα»n viα»c hΓ²a trα»n" -#: builtin/merge.c:204 builtin/pull.c:134 +#: builtin/merge.c:204 builtin/pull.c:138 msgid "perform a commit if the merge succeeds (default)" msgstr "thα»±c hiα»n chuyα»n giao nαΊΏu hΓ²a trα»n thΓ nh cΓ΄ng (mαΊ·c Δα»nh)" -#: builtin/merge.c:206 builtin/pull.c:137 +#: builtin/merge.c:206 builtin/pull.c:141 msgid "edit message before committing" msgstr "sα»a chΓΊ thΓch trΖ°α»c khi chuyα»n giao" @@ -7589,7 +7847,7 @@ msgstr "sα»a chΓΊ thΓch trΖ°α»c khi chuyα»n giao" msgid "allow fast-forward (default)" msgstr "cho phΓ©p chuyα»n-tiαΊΏp-nhanh (mαΊ·c Δα»nh)" -#: builtin/merge.c:209 builtin/pull.c:143 +#: builtin/merge.c:209 builtin/pull.c:147 msgid "abort if fast-forward is not possible" msgstr "bα» qua nαΊΏu chuyα»n-tiαΊΏp-nhanh khΓ΄ng thα» Δược" @@ -7597,20 +7855,20 @@ msgstr "bα» qua nαΊΏu chuyα»n-tiαΊΏp-nhanh khΓ΄ng thα» Δược" msgid "Verify that the named commit has a valid GPG signature" msgstr "ThαΊ©m tra xem lαΊ§n chuyα»n giao cΓ³ tΓͺn ΔΓ³ cΓ³ chα»― kΓ½ GPG hợp lα» hay khΓ΄ng" -#: builtin/merge.c:214 builtin/notes.c:767 builtin/pull.c:148 +#: builtin/merge.c:214 builtin/notes.c:770 builtin/pull.c:152 #: builtin/revert.c:89 msgid "strategy" msgstr "chiαΊΏn lược" -#: builtin/merge.c:215 builtin/pull.c:149 +#: builtin/merge.c:215 builtin/pull.c:153 msgid "merge strategy to use" msgstr "chiαΊΏn lược hΓ²a trα»n sαΊ½ dΓΉng" -#: builtin/merge.c:216 builtin/pull.c:152 +#: builtin/merge.c:216 builtin/pull.c:156 msgid "option=value" msgstr "tΓΉy_chα»n=giΓ‘_trα»" -#: builtin/merge.c:217 builtin/pull.c:153 +#: builtin/merge.c:217 builtin/pull.c:157 msgid "option for selected merge strategy" msgstr "tΓΉy chα»n cho chiαΊΏn lược hΓ²a trα»n ΔΓ£ chα»n" @@ -7650,8 +7908,8 @@ msgstr " (khΓ΄ng cΓ³ gΓ¬ Δα» squash)" msgid "Squash commit -- not updating HEAD\n" msgstr "Squash commit -- khΓ΄ng cαΊp nhαΊt HEAD\n" -#: builtin/merge.c:344 builtin/merge.c:763 builtin/merge.c:975 -#: builtin/merge.c:988 +#: builtin/merge.c:344 builtin/merge.c:764 builtin/merge.c:976 +#: builtin/merge.c:989 #, c-format msgid "Could not write to '%s'" msgstr "KhΓ΄ng thα» ghi vΓ o β%sβ" @@ -7669,43 +7927,43 @@ msgstr "HoΓ n thΓ nh SQUASH_MSG" msgid "No merge message -- not updating HEAD\n" msgstr "KhΓ΄ng cΓ³ lα»i chΓΊ thΓch hΓ²a trα»n -- nΓͺn khΓ΄ng cαΊp nhαΊt HEAD\n" -#: builtin/merge.c:447 +#: builtin/merge.c:448 #, c-format msgid "'%s' does not point to a commit" msgstr "β%sβ khΓ΄ng chα» ΔαΊΏn mα»t lαΊ§n chuyα»n giao nΓ o cαΊ£" -#: builtin/merge.c:537 +#: builtin/merge.c:538 #, c-format msgid "Bad branch.%s.mergeoptions string: %s" msgstr "Chuα»i branch.%s.mergeoptions sai: %s" -#: builtin/merge.c:656 +#: builtin/merge.c:657 msgid "Not handling anything other than two heads merge." msgstr "KhΓ΄ng cαΊ§m nαΊ―m gΓ¬ ngoΓ i hai head hΓ²a trα»n" -#: builtin/merge.c:670 +#: builtin/merge.c:671 #, c-format msgid "Unknown option for merge-recursive: -X%s" msgstr "KhΓ΄ng hiα»u tΓΉy chα»n cho merge-recursive: -X%s" -#: builtin/merge.c:683 +#: builtin/merge.c:684 #, c-format msgid "unable to write %s" msgstr "khΓ΄ng thα» ghi %s" -#: builtin/merge.c:772 +#: builtin/merge.c:773 #, c-format msgid "Could not read from '%s'" msgstr "KhΓ΄ng thα» Δα»c tα»« β%sβ" -#: builtin/merge.c:781 +#: builtin/merge.c:782 #, c-format msgid "Not committing merge; use 'git commit' to complete the merge.\n" msgstr "" "VαΊ«n chΖ°a hΓ²a trα»n cΓ‘c lαΊ§n chuyα»n giao; sα» dα»₯ng lα»nh βgit commitβ Δα» hoΓ n tαΊ₯t " "viα»c hΓ²a trα»n.\n" -#: builtin/merge.c:787 +#: builtin/merge.c:788 #, c-format msgid "" "Please enter a commit message to explain why this merge is necessary,\n" @@ -7723,55 +7981,55 @@ msgstr "" "rα»ng\n" "sαΊ½ hα»§y bα» lαΊ§n chuyα»n giao.\n" -#: builtin/merge.c:811 +#: builtin/merge.c:812 msgid "Empty commit message." msgstr "ChΓΊ thΓch cα»§a lαΊ§n commit (chuyα»n giao) bα» trα»ng rα»ng." -#: builtin/merge.c:823 +#: builtin/merge.c:824 #, c-format msgid "Wonderful.\n" msgstr "Tuyα»t vα»i.\n" -#: builtin/merge.c:878 +#: builtin/merge.c:879 #, c-format msgid "Automatic merge failed; fix conflicts and then commit the result.\n" msgstr "" "Viα»c tα»± Δα»ng hΓ²a trα»n gαΊ·p lα»i; hΓ£y sα»a cΓ‘c xung Δα»t sau ΔΓ³ chuyα»n giao kαΊΏt " "quαΊ£.\n" -#: builtin/merge.c:894 +#: builtin/merge.c:895 #, c-format msgid "'%s' is not a commit" msgstr "%s khΓ΄ng phαΊ£i lΓ mα»t lαΊ§n commit (chuyα»n giao)" -#: builtin/merge.c:935 +#: builtin/merge.c:936 msgid "No current branch." msgstr "khΓ΄ng phαΊ£i nhΓ‘nh hiα»n hΓ nh" -#: builtin/merge.c:937 +#: builtin/merge.c:938 msgid "No remote for the current branch." msgstr "KhΓ΄ng cΓ³ mΓ‘y chα»§ cho nhΓ‘nh hiα»n hΓ nh." -#: builtin/merge.c:939 +#: builtin/merge.c:940 msgid "No default upstream defined for the current branch." msgstr "KhΓ΄ng cΓ³ thượng nguα»n mαΊ·c Δα»nh Δược Δα»nh nghΔ©a cho nhΓ‘nh hiα»n hΓ nh." -#: builtin/merge.c:944 +#: builtin/merge.c:945 #, c-format msgid "No remote-tracking branch for %s from %s" msgstr "KhΓ΄ng nhΓ‘nh mαΊ‘ng theo dΓ΅i cho %s tα»« %s" -#: builtin/merge.c:1079 +#: builtin/merge.c:1080 #, c-format msgid "could not close '%s'" msgstr "khΓ΄ng thα» ΔΓ³ng β%sβ" -#: builtin/merge.c:1206 +#: builtin/merge.c:1207 msgid "There is no merge to abort (MERGE_HEAD missing)." msgstr "" "α» ΔΓ’y khΓ΄ng cΓ³ lαΊ§n hΓ²a trα»n nΓ o Δược hα»§y bα» giα»―a chα»«ng cαΊ£ (thiαΊΏu MERGE_HEAD)." -#: builtin/merge.c:1222 +#: builtin/merge.c:1223 msgid "" "You have not concluded your merge (MERGE_HEAD exists).\n" "Please, commit your changes before you merge." @@ -7779,7 +8037,7 @@ msgstr "" "BαΊ‘n chΖ°a kαΊΏt thΓΊc viα»c hΓ²a trα»n (MERGE_HEAD vαΊ«n tα»n tαΊ‘i).\n" "HΓ£y chuyα»n giao cΓ‘c thay Δα»i trΖ°α»c khi bαΊ‘n cΓ³ thα» hΓ²a trα»n." -#: builtin/merge.c:1229 +#: builtin/merge.c:1230 msgid "" "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n" "Please, commit your changes before you merge." @@ -7787,103 +8045,103 @@ msgstr "" "BαΊ‘n chΖ°a kαΊΏt thΓΊc viα»c cherry-pick (CHERRY_PICK_HEAD vαΊ«n tα»n tαΊ‘i).\n" "HΓ£y chuyα»n giao cΓ‘c thay Δα»i trΖ°α»c khi bαΊ‘n cΓ³ thα» hΓ²a trα»n." -#: builtin/merge.c:1232 +#: builtin/merge.c:1233 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)." msgstr "BαΊ‘n chΖ°a kαΊΏt thΓΊc viα»c cherry-pick (CHERRY_PICK_HEAD vαΊ«n tα»n tαΊ‘i)." -#: builtin/merge.c:1241 +#: builtin/merge.c:1242 msgid "You cannot combine --squash with --no-ff." msgstr "BαΊ‘n khΓ΄ng thα» kαΊΏt hợp --squash vα»i --no-ff." -#: builtin/merge.c:1249 +#: builtin/merge.c:1250 msgid "No commit specified and merge.defaultToUpstream not set." msgstr "KhΓ΄ng chα» ra lαΊ§n chuyα»n giao vΓ merge.defaultToUpstream chΖ°a Δược ΔαΊ·t." -#: builtin/merge.c:1266 +#: builtin/merge.c:1267 msgid "Squash commit into empty head not supported yet" msgstr "Squash commit vΓ o mα»t head trα»ng rα»ng vαΊ«n chΖ°a Δược hα» trợ" -#: builtin/merge.c:1268 +#: builtin/merge.c:1269 msgid "Non-fast-forward commit does not make sense into an empty head" msgstr "" "Chuyα»n giao khΓ΄ng-chuyα»n-tiαΊΏp-nhanh khΓ΄ng hợp lΓ½ α» trong mα»t head trα»ng rα»ng" -#: builtin/merge.c:1274 +#: builtin/merge.c:1275 #, c-format msgid "%s - not something we can merge" msgstr "%s - khΓ΄ng phαΊ£i lΓ mα»t sα» thα»© chΓΊng tΓ΄i cΓ³ thα» hΓ²a trα»n" -#: builtin/merge.c:1276 +#: builtin/merge.c:1277 msgid "Can merge only exactly one commit into empty head" msgstr "" "KhΓ΄ng thα» hΓ²a trα»n mα»t cΓ‘ch ΔΓΊng ΔαΊ―n mα»t lαΊ§n chuyα»n giao vΓ o mα»t head rα»ng" -#: builtin/merge.c:1331 +#: builtin/merge.c:1332 #, c-format msgid "Commit %s has an untrusted GPG signature, allegedly by %s." msgstr "" "LαΊ§n chuyα»n giao %s cΓ³ mα»t chα»― kΓ½ GPG khΓ΄ng ΔΓ‘ng tin, Δược cho lΓ bα»i %s." -#: builtin/merge.c:1334 +#: builtin/merge.c:1335 #, c-format msgid "Commit %s has a bad GPG signature allegedly by %s." msgstr "LαΊ§n chuyα»n giao %s cΓ³ mα»t chα»― kΓ½ GPG sai, Δược cho lΓ bα»i %s." -#: builtin/merge.c:1337 +#: builtin/merge.c:1338 #, c-format msgid "Commit %s does not have a GPG signature." msgstr "LαΊ§n chuyα»n giao %s khΓ΄ng cΓ³ chα»― kΓ½ GPG." -#: builtin/merge.c:1340 +#: builtin/merge.c:1341 #, c-format msgid "Commit %s has a good GPG signature by %s\n" msgstr "LαΊ§n chuyα»n giao %s cΓ³ mα»t chα»― kΓ½ GPG tα»t bα»i %s\n" -#: builtin/merge.c:1423 +#: builtin/merge.c:1424 #, c-format msgid "Updating %s..%s\n" msgstr "Δang cαΊp nhαΊt %s..%s\n" -#: builtin/merge.c:1460 +#: builtin/merge.c:1461 #, c-format msgid "Trying really trivial in-index merge...\n" msgstr "Δang thα» hΓ²a trα»n kiα»u βtrivial in-indexββ¦\n" -#: builtin/merge.c:1467 +#: builtin/merge.c:1468 #, c-format msgid "Nope.\n" msgstr "KhΓ΄ng.\n" -#: builtin/merge.c:1499 +#: builtin/merge.c:1500 msgid "Not possible to fast-forward, aborting." msgstr "Thα»±c hiα»n lα»nh chuyα»n-tiαΊΏp-nhanh lΓ khΓ΄ng thα» Δược, Δang bα» qua." -#: builtin/merge.c:1522 builtin/merge.c:1601 +#: builtin/merge.c:1523 builtin/merge.c:1602 #, c-format msgid "Rewinding the tree to pristine...\n" msgstr "Δang tua lαΊ‘i cΓ’y thΓ nh thα»i xa xΖ°aβ¦\n" -#: builtin/merge.c:1526 +#: builtin/merge.c:1527 #, c-format msgid "Trying merge strategy %s...\n" msgstr "Δang thα» chiαΊΏn lược hΓ²a trα»n %sβ¦\n" -#: builtin/merge.c:1592 +#: builtin/merge.c:1593 #, c-format msgid "No merge strategy handled the merge.\n" msgstr "KhΓ΄ng cΓ³ chiαΊΏn lược hΓ²a trα»n nΓ o Δược nαΊ―m giα»― (handle) sα»± hΓ²a trα»n.\n" -#: builtin/merge.c:1594 +#: builtin/merge.c:1595 #, c-format msgid "Merge with strategy %s failed.\n" msgstr "HΓ²a trα»n vα»i chiαΊΏn lược %s gαΊ·p lα»i.\n" -#: builtin/merge.c:1603 +#: builtin/merge.c:1604 #, c-format msgid "Using the %s to prepare resolving by hand.\n" msgstr "Sα» dα»₯ng %s Δα» chuαΊ©n bα» giαΊ£i quyαΊΏt bαΊ±ng tay.\n" -#: builtin/merge.c:1615 +#: builtin/merge.c:1616 #, c-format msgid "Automatic merge went well; stopped before committing as requested\n" msgstr "" @@ -7970,19 +8228,19 @@ msgstr "khΓ΄ng cαΊ£nh bΓ‘o vα» cΓ‘c xung Δα»t xαΊ£y ra" msgid "set labels for file1/orig-file/file2" msgstr "ΔαΊ·t nhΓ£n cho tαΊp-tin-1/tαΊp-tin-gα»c/tαΊp-tin-2" -#: builtin/mktree.c:64 +#: builtin/mktree.c:65 msgid "git mktree [-z] [--missing] [--batch]" msgstr "git mktree [-z] [--missing] [--batch]" -#: builtin/mktree.c:150 +#: builtin/mktree.c:152 msgid "input is NUL terminated" msgstr "ΔαΊ§u vΓ o Δược chαΊ₯m dα»©t bα»i NUL" -#: builtin/mktree.c:151 builtin/write-tree.c:24 +#: builtin/mktree.c:153 builtin/write-tree.c:24 msgid "allow missing objects" msgstr "cho phΓ©p thiαΊΏu Δα»i tượng" -#: builtin/mktree.c:152 +#: builtin/mktree.c:154 msgid "allow creation of more than one tree" msgstr "cho phΓ©p tαΊ‘o nhiα»u hΖ‘n mα»t cΓ’y" @@ -7990,91 +8248,91 @@ msgstr "cho phΓ©p tαΊ‘o nhiα»u hΖ‘n mα»t cΓ’y" msgid "git mv [<options>] <source>... <destination>" msgstr "git mv [<cΓ‘c-tΓΉy-chα»n>] <nguα»n>β¦ <ΔΓch>" -#: builtin/mv.c:69 +#: builtin/mv.c:70 #, c-format msgid "Directory %s is in index and no submodule?" msgstr "ThΖ° mα»₯c β%sβ cΓ³ α» trong chα» mα»₯c mΓ khΓ΄ng cΓ³ mΓ΄-Δun con?" -#: builtin/mv.c:71 +#: builtin/mv.c:72 msgid "Please stage your changes to .gitmodules or stash them to proceed" msgstr "" "HΓ£y ΔΖ°a cΓ‘c thay Δα»i cα»§a bαΊ‘n vΓ o .gitmodules hay tαΊ‘m cαΊ₯t chΓΊng Δi Δα» xα» lΓ½" -#: builtin/mv.c:89 +#: builtin/mv.c:90 #, c-format msgid "%.*s is in index" msgstr "%.*s trong bαΊ£ng mα»₯c lα»₯c" -#: builtin/mv.c:111 +#: builtin/mv.c:112 msgid "force move/rename even if target exists" msgstr "Γ©p buα»c di chuyα»n hay Δα»i tΓͺn thαΊm chΓ cαΊ£ khi ΔΓch ΔΓ£ tα»n tαΊ‘i" -#: builtin/mv.c:112 +#: builtin/mv.c:113 msgid "skip move/rename errors" msgstr "bα» qua cΓ‘c lα»i liΓͺn quan ΔαΊΏn di chuyα»n, Δα»i tΓͺn" -#: builtin/mv.c:151 +#: builtin/mv.c:152 #, c-format msgid "destination '%s' is not a directory" msgstr "cΓ³ ΔΓch β%sβ nhΖ°ng ΔΓ’y khΓ΄ng phαΊ£i lΓ mα»t thΖ° mα»₯c" -#: builtin/mv.c:162 +#: builtin/mv.c:163 #, c-format msgid "Checking rename of '%s' to '%s'\n" msgstr "Δang kiα»m tra viα»c Δα»i tΓͺn cα»§a β%sβ thΓ nh β%sβ\n" -#: builtin/mv.c:166 +#: builtin/mv.c:167 msgid "bad source" msgstr "nguα»n sai" -#: builtin/mv.c:169 +#: builtin/mv.c:170 msgid "can not move directory into itself" msgstr "khΓ΄ng thα» di chuyα»n mα»t thΖ° mα»₯c vΓ o trong chΓnh nΓ³ Δược" -#: builtin/mv.c:172 +#: builtin/mv.c:173 msgid "cannot move directory over file" msgstr "khΓ΄ng di chuyα»n Δược thΖ° mα»₯c thΓ΄ng qua tαΊp tin" -#: builtin/mv.c:181 +#: builtin/mv.c:182 msgid "source directory is empty" msgstr "thΖ° mα»₯c nguα»n lΓ trα»ng rα»ng" -#: builtin/mv.c:206 +#: builtin/mv.c:207 msgid "not under version control" msgstr "khΓ΄ng nαΊ±m dΖ°α»i sα»± quαΊ£n lΓ½ mΓ£ nguα»n" -#: builtin/mv.c:209 +#: builtin/mv.c:210 msgid "destination exists" msgstr "ΔΓch ΔΓ£ tα»n tαΊ‘i sαΊ΅n rα»i" -#: builtin/mv.c:217 +#: builtin/mv.c:218 #, c-format msgid "overwriting '%s'" msgstr "Δang ghi ΔΓ¨ lΓͺn β%sβ" -#: builtin/mv.c:220 +#: builtin/mv.c:221 msgid "Cannot overwrite" msgstr "KhΓ΄ng thα» ghi ΔΓ¨" -#: builtin/mv.c:223 +#: builtin/mv.c:224 msgid "multiple sources for the same target" msgstr "Nhiα»u nguα»n cho cΓΉng mα»t ΔΓch" -#: builtin/mv.c:225 +#: builtin/mv.c:226 msgid "destination directory does not exist" msgstr "thΖ° mα»₯c ΔΓch khΓ΄ng tα»n tαΊ‘i" -#: builtin/mv.c:232 +#: builtin/mv.c:233 #, c-format msgid "%s, source=%s, destination=%s" msgstr "%s, nguα»n=%s, ΔΓch=%s" -#: builtin/mv.c:253 +#: builtin/mv.c:254 #, c-format msgid "Renaming %s to %s\n" msgstr "Δα»i tΓͺn %s thΓ nh %s\n" -#: builtin/mv.c:256 builtin/remote.c:728 builtin/repack.c:365 +#: builtin/mv.c:257 builtin/remote.c:714 builtin/repack.c:365 #, c-format msgid "renaming '%s' failed" msgstr "gαΊ·p lα»i khi Δα»i tΓͺn β%sβ" @@ -8274,9 +8532,9 @@ msgid "could not open or read '%s'" msgstr "khΓ΄ng thα» mα» hay Δα»c β%sβ" #: builtin/notes.c:253 builtin/notes.c:304 builtin/notes.c:306 -#: builtin/notes.c:366 builtin/notes.c:421 builtin/notes.c:507 -#: builtin/notes.c:512 builtin/notes.c:590 builtin/notes.c:653 -#: builtin/notes.c:877 builtin/tag.c:456 +#: builtin/notes.c:369 builtin/notes.c:424 builtin/notes.c:510 +#: builtin/notes.c:515 builtin/notes.c:593 builtin/notes.c:656 +#: builtin/notes.c:880 builtin/tag.c:456 #, c-format msgid "Failed to resolve '%s' as a valid ref." msgstr "GαΊ·p lα»i khi phΓ’n giαΊ£i β%sβ nhΖ° lΓ mα»t tham chiαΊΏu hợp lα»." @@ -8291,42 +8549,42 @@ msgstr "GαΊ·p lα»i khi Δα»c Δα»i tượng β%sβ." msgid "Cannot read note data from non-blob object '%s'." msgstr "khΓ΄ng thα» Δα»c dα»― liα»u ghi chΓΊ tα»« Δα»i tượng khΓ΄ng-blob β%sβ." -#: builtin/notes.c:359 builtin/notes.c:414 builtin/notes.c:490 -#: builtin/notes.c:502 builtin/notes.c:578 builtin/notes.c:646 -#: builtin/notes.c:942 +#: builtin/notes.c:362 builtin/notes.c:417 builtin/notes.c:493 +#: builtin/notes.c:505 builtin/notes.c:581 builtin/notes.c:649 +#: builtin/notes.c:945 msgid "too many parameters" msgstr "quΓ‘ nhiα»u Δα»i sα»" -#: builtin/notes.c:372 builtin/notes.c:659 +#: builtin/notes.c:375 builtin/notes.c:662 #, c-format msgid "No note found for object %s." msgstr "khΓ΄ng tΓ¬m thαΊ₯y ghi chΓΊ cho Δα»i tượng %s." -#: builtin/notes.c:393 builtin/notes.c:556 +#: builtin/notes.c:396 builtin/notes.c:559 msgid "note contents as a string" msgstr "nα»i dung ghi chΓΊ (note) nαΊ±m trong mα»t chuα»i" -#: builtin/notes.c:396 builtin/notes.c:559 +#: builtin/notes.c:399 builtin/notes.c:562 msgid "note contents in a file" msgstr "nα»i dung ghi chΓΊ (note) nαΊ±m trong mα»t tαΊp tin" -#: builtin/notes.c:399 builtin/notes.c:562 +#: builtin/notes.c:402 builtin/notes.c:565 msgid "reuse and edit specified note object" msgstr "dΓΉng lαΊ‘i nhΖ°ng cΓ³ sα»a chα»―a Δα»i tượng note ΔΓ£ chα» ra" -#: builtin/notes.c:402 builtin/notes.c:565 +#: builtin/notes.c:405 builtin/notes.c:568 msgid "reuse specified note object" msgstr "dΓΉng lαΊ‘i Δα»i tượng ghi chΓΊ (note) ΔΓ£ chα» ra" -#: builtin/notes.c:405 builtin/notes.c:568 +#: builtin/notes.c:408 builtin/notes.c:571 msgid "allow storing empty note" msgstr "cho lΖ°u trα»― ghi chΓΊ trα»ng rα»ng" -#: builtin/notes.c:406 builtin/notes.c:477 +#: builtin/notes.c:409 builtin/notes.c:480 msgid "replace existing notes" msgstr "thay thαΊΏ ghi chΓΊ trΖ°α»c" -#: builtin/notes.c:431 +#: builtin/notes.c:434 #, c-format msgid "" "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite " @@ -8335,29 +8593,29 @@ msgstr "" "KhΓ΄ng thα» thΓͺm cΓ‘c ghi chΓΊ. ΔΓ£ tΓ¬m thαΊ₯y cΓ‘c ghi chΓΊ ΔΓ£ cΓ³ sαΊ΅n cho Δα»i tượng " "%s. Sα» dα»₯ng tΓΉy chα»n β-fβ Δα» ghi ΔΓ¨ lΓͺn cΓ‘c ghi chΓΊ cΕ©" -#: builtin/notes.c:446 builtin/notes.c:525 +#: builtin/notes.c:449 builtin/notes.c:528 #, c-format msgid "Overwriting existing notes for object %s\n" msgstr "Δang ghi ΔΓ¨ lΓͺn ghi chΓΊ cΕ© cho Δα»i tượng %s\n" -#: builtin/notes.c:457 builtin/notes.c:618 builtin/notes.c:882 +#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:885 #, c-format msgid "Removing note for object %s\n" msgstr "Δang gα»‘ bα» ghi chΓΊ (note) cho Δα»i tượng %s\n" -#: builtin/notes.c:478 +#: builtin/notes.c:481 msgid "read objects from stdin" msgstr "Δα»c cΓ‘c Δα»i tượng tα»« ΔαΊ§u vΓ o tiΓͺu chuαΊ©n" -#: builtin/notes.c:480 +#: builtin/notes.c:483 msgid "load rewriting config for <command> (implies --stdin)" msgstr "tαΊ£i cαΊ₯u hΓ¬nh chΓ©p lαΊ‘i cho <lα»nh> (ngαΊ§m Δα»nh lΓ --stdin)" -#: builtin/notes.c:498 +#: builtin/notes.c:501 msgid "too few parameters" msgstr "quΓ‘ Γt Δα»i sα»" -#: builtin/notes.c:519 +#: builtin/notes.c:522 #, c-format msgid "" "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite " @@ -8366,12 +8624,12 @@ msgstr "" "KhΓ΄ng thα» sao chΓ©p cΓ‘c ghi chΓΊ. ΔΓ£ tΓ¬m thαΊ₯y cΓ‘c ghi chΓΊ ΔΓ£ cΓ³ sαΊ΅n cho Δα»i " "tượng %s. Sα» dα»₯ng tΓΉy chα»n β-fβ Δα» ghi ΔΓ¨ lΓͺn cΓ‘c ghi chΓΊ cΕ©" -#: builtin/notes.c:531 +#: builtin/notes.c:534 #, c-format msgid "Missing notes on source object %s. Cannot copy." msgstr "ThiαΊΏu ghi chΓΊ trΓͺn Δα»i tượng nguα»n %s. KhΓ΄ng thα» sao chΓ©p." -#: builtin/notes.c:583 +#: builtin/notes.c:586 #, c-format msgid "" "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n" @@ -8380,15 +8638,15 @@ msgstr "" "CΓ‘c tΓΉy chα»n -m/-F/-c/-C ΔΓ£ cα» khΓ΄ng cΓ²n dΓΉng nα»―a cho lα»nh con βeditβ.\n" "Xin hΓ£y sα» dα»₯ng lα»nh sau Δα» thay thαΊΏ: βgit notes add -f -m/-F/-c/-Cβ.\n" -#: builtin/notes.c:764 +#: builtin/notes.c:767 msgid "General options" msgstr "TΓΉy chα»n chung" -#: builtin/notes.c:766 +#: builtin/notes.c:769 msgid "Merge options" msgstr "TΓΉy chα»n vα» hΓ²a trα»n" -#: builtin/notes.c:768 +#: builtin/notes.c:771 msgid "" "resolve notes conflicts using the given strategy (manual/ours/theirs/union/" "cat_sort_uniq)" @@ -8396,51 +8654,51 @@ msgstr "" "phΓ’n giαΊ£i cΓ‘c xung Δα»t βnotesβ sα» dα»₯ng chiαΊΏn lược ΔΓ£ ΔΖ°a ra (manual/ours/" "theirs/union/cat_sort_uniq)" -#: builtin/notes.c:770 +#: builtin/notes.c:773 msgid "Committing unmerged notes" msgstr "Chuyα»n giao cΓ‘c note chΖ°a Δược hΓ²a trα»n" -#: builtin/notes.c:772 +#: builtin/notes.c:775 msgid "finalize notes merge by committing unmerged notes" msgstr "" "cΓ‘c note cuα»i cΓΉng Δược hΓ²a trα»n bα»i cΓ‘c note chΖ°a hΓ²a trα»n cα»§a lαΊ§n chuyα»n " "giao" -#: builtin/notes.c:774 +#: builtin/notes.c:777 msgid "Aborting notes merge resolution" msgstr "Hα»§y bα» phΓ’n giαΊ£i ghi chΓΊ (note) hΓ²a trα»n" -#: builtin/notes.c:776 +#: builtin/notes.c:779 msgid "abort notes merge" msgstr "bα» qua hΓ²a trα»n cΓ‘c ghi chΓΊ (note)" -#: builtin/notes.c:853 +#: builtin/notes.c:856 #, c-format msgid "A notes merge into %s is already in-progress at %s" msgstr "CΓ‘c ghi chΓΊ hΓ²a trα»n vΓ o %s ΔΓ£ sαΊ΅n trong quΓ‘ trΓ¬nh xα» lΓ½ tαΊ‘i %s" -#: builtin/notes.c:880 +#: builtin/notes.c:883 #, c-format msgid "Object %s has no note\n" msgstr "Δα»i tượng %s khΓ΄ng cΓ³ ghi chΓΊ (note)\n" -#: builtin/notes.c:892 +#: builtin/notes.c:895 msgid "attempt to remove non-existent note is not an error" msgstr "cα» gαΊ―ng gα»‘ bα» mα»t note chΖ°a tα»«ng tα»n tαΊ‘i khΓ΄ng phαΊ£i lΓ mα»t lα»i" -#: builtin/notes.c:895 +#: builtin/notes.c:898 msgid "read object names from the standard input" msgstr "Δα»c tΓͺn Δα»i tượng tα»« thiαΊΏt bα» nhαΊp chuαΊ©n" -#: builtin/notes.c:976 +#: builtin/notes.c:979 msgid "notes-ref" msgstr "notes-ref" -#: builtin/notes.c:977 +#: builtin/notes.c:980 msgid "use notes from <notes-ref>" msgstr "dΓΉng βnotesβ tα»« <notes-ref>" -#: builtin/notes.c:1012 builtin/remote.c:1647 +#: builtin/notes.c:1015 builtin/remote.c:1626 #, c-format msgid "Unknown subcommand: %s" msgstr "KhΓ΄ng hiα»u cΓ’u lα»nh con: %s" @@ -8464,166 +8722,166 @@ msgstr "" msgid "deflate error (%d)" msgstr "lα»i giαΊ£i nΓ©n (%d)" -#: builtin/pack-objects.c:771 +#: builtin/pack-objects.c:772 msgid "Writing objects" msgstr "Δang ghi lαΊ‘i cΓ‘c Δα»i tượng" -#: builtin/pack-objects.c:1011 +#: builtin/pack-objects.c:1012 msgid "disabling bitmap writing, as some objects are not being packed" msgstr "tαΊ―t ghi bitmap, nhΖ° vαΊy mα»t sα» Δα»i tượng sαΊ½ khΓ΄ng Δược ΔΓ³ng gΓ³i" -#: builtin/pack-objects.c:2171 +#: builtin/pack-objects.c:2172 msgid "Compressing objects" msgstr "Δang nΓ©n cΓ‘c Δα»i tượng" -#: builtin/pack-objects.c:2568 +#: builtin/pack-objects.c:2558 #, c-format msgid "unsupported index version %s" msgstr "phiΓͺn bαΊ£n mα»₯c lα»₯c khΓ΄ng Δược hα» trợ %s" -#: builtin/pack-objects.c:2572 +#: builtin/pack-objects.c:2562 #, c-format msgid "bad index version '%s'" msgstr "phiΓͺn bαΊ£n mα»₯c lα»₯c sai β%sβ" -#: builtin/pack-objects.c:2602 +#: builtin/pack-objects.c:2592 msgid "do not show progress meter" msgstr "khΓ΄ng hiα»n thα» bα» Δo tiαΊΏn trΓ¬nh" -#: builtin/pack-objects.c:2604 +#: builtin/pack-objects.c:2594 msgid "show progress meter" msgstr "hiα»n thα» bα» Δo tiαΊΏn trΓ¬nh" -#: builtin/pack-objects.c:2606 +#: builtin/pack-objects.c:2596 msgid "show progress meter during object writing phase" msgstr "hiα»n thα» bα» Δo tiαΊΏn triα»n trong suα»t pha ghi Δα»i tượng" -#: builtin/pack-objects.c:2609 +#: builtin/pack-objects.c:2599 msgid "similar to --all-progress when progress meter is shown" msgstr "tΖ°Ζ‘ng tα»± --all-progress khi bα» Δo tiαΊΏn trΓ¬nh Δược xuαΊ₯t hiα»n" -#: builtin/pack-objects.c:2610 +#: builtin/pack-objects.c:2600 msgid "version[,offset]" msgstr "phiΓͺn bαΊ£n[,offset]" -#: builtin/pack-objects.c:2611 +#: builtin/pack-objects.c:2601 msgid "write the pack index file in the specified idx format version" msgstr "ghi tαΊp tin bαΊ£ng mα»₯c lα»₯c gΓ³i (pack) α» phiΓͺn bαΊ£n Δα»nh dαΊ‘ng idx ΔΓ£ cho" -#: builtin/pack-objects.c:2614 +#: builtin/pack-objects.c:2604 msgid "maximum size of each output pack file" msgstr "kcΓh thΖ°α»c tα»i Δa cho tαΊp tin gΓ³i Δược tαΊ‘o" -#: builtin/pack-objects.c:2616 +#: builtin/pack-objects.c:2606 msgid "ignore borrowed objects from alternate object store" msgstr "bα» qua cΓ‘c Δα»i tượng vay mượn tα»« kho Δα»i tượng thay thαΊΏ" -#: builtin/pack-objects.c:2618 +#: builtin/pack-objects.c:2608 msgid "ignore packed objects" msgstr "bα» qua cΓ‘c Δα»i tượng ΔΓ³ng gΓ³i" -#: builtin/pack-objects.c:2620 +#: builtin/pack-objects.c:2610 msgid "limit pack window by objects" msgstr "giα»i hαΊ‘n cα»a sα» ΔΓ³ng gΓ³i theo Δα»i tượng" -#: builtin/pack-objects.c:2622 +#: builtin/pack-objects.c:2612 msgid "limit pack window by memory in addition to object limit" msgstr "giα»i hαΊ‘n cα»a sα» ΔΓ³ng gΓ³i theo bα» nhα» cα»ng thΓͺm vα»i giα»i hαΊ‘n Δα»i tượng" -#: builtin/pack-objects.c:2624 +#: builtin/pack-objects.c:2614 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "Δα» dΓ i tα»i Δa cα»§a chuα»i mΓ³c xΓch βdeltaβ Δược phΓ©p trong gΓ³i kαΊΏt quαΊ£" -#: builtin/pack-objects.c:2626 +#: builtin/pack-objects.c:2616 msgid "reuse existing deltas" msgstr "dΓΉng lαΊ‘i cΓ‘c delta sαΊ΅n cΓ³" -#: builtin/pack-objects.c:2628 +#: builtin/pack-objects.c:2618 msgid "reuse existing objects" msgstr "dΓΉng lαΊ‘i cΓ‘c Δα»i tượng sαΊ΅n cΓ³" -#: builtin/pack-objects.c:2630 +#: builtin/pack-objects.c:2620 msgid "use OFS_DELTA objects" msgstr "dΓΉng cΓ‘c Δα»i tượng OFS_DELTA" -#: builtin/pack-objects.c:2632 +#: builtin/pack-objects.c:2622 msgid "use threads when searching for best delta matches" msgstr "sα» dα»₯ng cΓ‘c tuyαΊΏn trΓ¬nh khi tΓ¬m kiαΊΏm cho cΓ‘c mαΊ«u khα»p delta tα»t nhαΊ₯t" -#: builtin/pack-objects.c:2634 +#: builtin/pack-objects.c:2624 msgid "do not create an empty pack output" msgstr "khΓ΄ng thα» tαΊ‘o kαΊΏt xuαΊ₯t gΓ³i trα»ng rα»ng" -#: builtin/pack-objects.c:2636 +#: builtin/pack-objects.c:2626 msgid "read revision arguments from standard input" msgstr " Δα»c tham sα» βrevisionβ tα»« thiαΊΏt bα» nhαΊp chuαΊ©n" -#: builtin/pack-objects.c:2638 +#: builtin/pack-objects.c:2628 msgid "limit the objects to those that are not yet packed" msgstr "giα»i hαΊ‘n cΓ‘c Δα»i tượng thΓ nh nhα»―ng cΓ‘i mΓ chΓΊng vαΊ«n chΖ°a Δược ΔΓ³ng gΓ³i" -#: builtin/pack-objects.c:2641 +#: builtin/pack-objects.c:2631 msgid "include objects reachable from any reference" msgstr "bao gα»m cΓ‘c Δα»i tượng cΓ³ thα» Δα»c Δược tα»« bαΊ₯t kα»³ tham chiαΊΏu nΓ o" -#: builtin/pack-objects.c:2644 +#: builtin/pack-objects.c:2634 msgid "include objects referred by reflog entries" msgstr "bao gα»m cΓ‘c Δα»i tượng Δược tham chiαΊΏu bα»i cΓ‘c mα»₯c reflog" -#: builtin/pack-objects.c:2647 +#: builtin/pack-objects.c:2637 msgid "include objects referred to by the index" msgstr "bao gα»m cΓ‘c Δα»i tượng Δược tham chiαΊΏu bα»i mα»₯c lα»₯c" -#: builtin/pack-objects.c:2650 +#: builtin/pack-objects.c:2640 msgid "output pack to stdout" msgstr "xuαΊ₯t gΓ³i ra ΔαΊ§u ra tiΓͺu chuαΊ©n" -#: builtin/pack-objects.c:2652 +#: builtin/pack-objects.c:2642 msgid "include tag objects that refer to objects to be packed" msgstr "bao gα»m cΓ‘c Δα»i tượng tham chiαΊΏu ΔαΊΏn cΓ‘c Δα»i tượng Δược ΔΓ³ng gΓ³i" -#: builtin/pack-objects.c:2654 +#: builtin/pack-objects.c:2644 msgid "keep unreachable objects" msgstr "giα»― lαΊ‘i cΓ‘c Δα»i tượng khΓ΄ng thα» Δα»c Δược" -#: builtin/pack-objects.c:2655 parse-options.h:142 +#: builtin/pack-objects.c:2645 parse-options.h:142 msgid "time" msgstr "thα»i-gian" -#: builtin/pack-objects.c:2656 +#: builtin/pack-objects.c:2646 msgid "unpack unreachable objects newer than <time>" msgstr "" "xαΊ£ nΓ©n (gα»‘ khα»i gΓ³i) cΓ‘c Δα»i tượng khΓ΄ng thα» Δα»c Δược mα»i hΖ‘n <thα»i-gian>" -#: builtin/pack-objects.c:2659 +#: builtin/pack-objects.c:2649 msgid "create thin packs" msgstr "tαΊ‘o gΓ³i nhαΊΉ" -#: builtin/pack-objects.c:2661 +#: builtin/pack-objects.c:2651 msgid "create packs suitable for shallow fetches" msgstr "tαΊ‘o gΓ³i Δα» phΓΉ hợp cho lαΊ₯y vα» nΓ΄ng (shallow)" -#: builtin/pack-objects.c:2663 +#: builtin/pack-objects.c:2653 msgid "ignore packs that have companion .keep file" msgstr "bα» qua cΓ‘c gΓ³i mΓ nΓ³ cΓ³ tαΊp tin .keep Δi kΓ¨m" -#: builtin/pack-objects.c:2665 +#: builtin/pack-objects.c:2655 msgid "pack compression level" msgstr "mα»©c nΓ©n gΓ³i" -#: builtin/pack-objects.c:2667 +#: builtin/pack-objects.c:2657 msgid "do not hide commits by grafts" msgstr "khΓ΄ng αΊ©n cΓ‘c lαΊ§n chuyα»n giao bα»i βgraftsβ" -#: builtin/pack-objects.c:2669 +#: builtin/pack-objects.c:2659 msgid "use a bitmap index if available to speed up counting objects" msgstr "dΓΉng mα»₯c lα»₯c Γ‘nh xαΊ‘ nαΊΏu cΓ³ thα» Δược Δα» nΓ’ng cao tα»c Δα» ΔαΊΏm Δα»i tượng" -#: builtin/pack-objects.c:2671 +#: builtin/pack-objects.c:2661 msgid "write a bitmap index together with the pack index" msgstr "ghi mα»t mα»₯c lα»₯c Γ‘nh xαΊ‘ cΓΉng vα»i mα»₯c lα»₯c gΓ³i" -#: builtin/pack-objects.c:2762 +#: builtin/pack-objects.c:2752 msgid "Counting objects" msgstr "Δang ΔαΊΏm cΓ‘c Δα»i tượng" @@ -8667,50 +8925,54 @@ msgstr "cΓ‘c Δα»i tượng hαΊΏt hαΊ‘n cΕ© hΖ‘n khoαΊ£ng <thα»i gian>" msgid "cannot prune in a precious-objects repo" msgstr "khΓ΄ng thα» tα»a bα»t trong mα»t kho Δα»i_tượng_vΔ©_ΔαΊ‘i" -#: builtin/pull.c:69 +#: builtin/pull.c:72 msgid "git pull [<options>] [<repository> [<refspec>...]]" msgstr "git pull [<cΓ‘c-tΓΉy-chα»n>] [<kho-chα»©a> [<refspec>β¦]]" -#: builtin/pull.c:113 +#: builtin/pull.c:117 msgid "Options related to merging" msgstr "CΓ‘c tΓΉy chα»n liΓͺn quan ΔαΊΏn hΓ²a trα»n" -#: builtin/pull.c:116 +#: builtin/pull.c:120 msgid "incorporate changes by rebasing rather than merging" msgstr "cΓ‘c thay Δα»i hợp nhαΊ₯t bαΊ±ng cαΊ£i tα» thay vΓ¬ hΓ²a trα»n" -#: builtin/pull.c:140 builtin/revert.c:105 +#: builtin/pull.c:144 builtin/revert.c:105 msgid "allow fast-forward" msgstr "cho phΓ©p chuyα»n-tiαΊΏp-nhanh" -#: builtin/pull.c:146 +#: builtin/pull.c:150 msgid "verify that the named commit has a valid GPG signature" msgstr "thαΊ©m tra xem lαΊ§n chuyα»n giao cΓ³ tΓͺn ΔΓ³ cΓ³ chα»― kΓ½ GPG hợp lα» hay khΓ΄ng" -#: builtin/pull.c:160 +#: builtin/pull.c:164 msgid "Options related to fetching" msgstr "CΓ‘c tΓΉy chα»n liΓͺn quan ΔαΊΏn lα»nh lαΊ₯y vα»" -#: builtin/pull.c:268 +#: builtin/pull.c:186 +msgid "number of submodules pulled in parallel" +msgstr "sα» lượng mΓ΄-Δun-con Δược ΔαΊ©y lΓͺn Δα»ng thα»i" + +#: builtin/pull.c:275 #, c-format msgid "Invalid value for pull.ff: %s" msgstr "GiΓ‘ trα» khΓ΄ng hợp lα» cho pull.ff: %s" -#: builtin/pull.c:352 +#: builtin/pull.c:359 msgid "Cannot pull with rebase: You have unstaged changes." msgstr "" "KhΓ΄ng thα» pull vα»i cαΊ£i tα»: BαΊ‘n cΓ³ cΓ‘c thay Δα»i chΖ°a Δược ΔΖ°a lΓͺn bα» phΓ³ng." -#: builtin/pull.c:358 +#: builtin/pull.c:365 msgid "Additionally, your index contains uncommitted changes." msgstr "" "ThΓͺm vΓ o ΔΓ³, bαΊ£ng mα»₯c lα»₯c cα»§a bαΊ‘n cΓ³ chα»©a cΓ‘c thay Δα»i chΖ°a Δược chuyα»n giao." -#: builtin/pull.c:360 +#: builtin/pull.c:367 msgid "Cannot pull with rebase: Your index contains uncommitted changes." msgstr "KhΓ΄ng thα» pull vα»i cαΊ£i tα»: BαΊ‘n cΓ³ cΓ‘c thay Δα»i chΖ°a Δược chuyα»n giao." -#: builtin/pull.c:436 +#: builtin/pull.c:443 msgid "" "There is no candidate for rebasing against among the refs that you just " "fetched." @@ -8718,14 +8980,14 @@ msgstr "" "α» ΔΓ’y khΓ΄ng cΓ³ α»©ng cα» nΓ o Δα» cαΊ£i tα» lαΊ‘i trong sα» cΓ‘c tham chiαΊΏu mΓ bαΊ‘n vα»«a " "lαΊ₯y vα»." -#: builtin/pull.c:438 +#: builtin/pull.c:445 msgid "" "There are no candidates for merging among the refs that you just fetched." msgstr "" "α» ΔΓ’y khΓ΄ng cΓ³ α»©ng cα» nΓ o Δα» hΓ²a trα»n trong sα» cΓ‘c tham chiαΊΏu mΓ bαΊ‘n vα»«a lαΊ₯y " "vα»." -#: builtin/pull.c:439 +#: builtin/pull.c:446 msgid "" "Generally this means that you provided a wildcard refspec which had no\n" "matches on the remote end." @@ -8734,7 +8996,7 @@ msgstr "" "tα»±\n" "ΔαΊ‘i diα»n mΓ nΓ³ lαΊ‘i khΓ΄ng khα»p trΓͺn Δiα»m cuα»i mΓ‘y phα»₯c vα»₯." -#: builtin/pull.c:442 +#: builtin/pull.c:449 #, c-format msgid "" "You asked to pull from the remote '%s', but did not specify\n" @@ -8746,27 +9008,27 @@ msgstr "" "theo mαΊ·c Δα»nh cho nhΓ‘nh hiα»n tαΊ‘i cα»§a bαΊ‘n, bαΊ‘n phαΊ£i chα» Δα»nh\n" "mα»t nhΓ‘nh trΓͺn dΓ²ng lα»nh." -#: builtin/pull.c:447 +#: builtin/pull.c:454 msgid "You are not currently on a branch." msgstr "Hiα»n tαΊ‘i bαΊ‘n chαΊ³ng α» nhΓ‘nh nΓ o cαΊ£." -#: builtin/pull.c:449 builtin/pull.c:464 +#: builtin/pull.c:456 builtin/pull.c:471 msgid "Please specify which branch you want to rebase against." msgstr "Vui lΓ²ng chα» Δα»nh nhΓ‘nh nΓ o bαΊ‘n muα»n cαΊ£i tα» lαΊ‘i." -#: builtin/pull.c:451 builtin/pull.c:466 +#: builtin/pull.c:458 builtin/pull.c:473 msgid "Please specify which branch you want to merge with." msgstr "Vui lΓ²ng chα» Δα»nh nhΓ‘nh nΓ o bαΊ‘n muα»n hΓ²a trα»n vΓ o." -#: builtin/pull.c:452 builtin/pull.c:467 +#: builtin/pull.c:459 builtin/pull.c:474 msgid "See git-pull(1) for details." msgstr "Xem git-pull(1) Δα» biαΊΏt thΓͺm chi tiαΊΏt." -#: builtin/pull.c:462 +#: builtin/pull.c:469 msgid "There is no tracking information for the current branch." msgstr "α» ΔΓ’y khΓ΄ng cΓ³ thΓ΄ng tin theo dΓ΅i cho nhΓ‘nh hiα»n hΓ nh." -#: builtin/pull.c:471 +#: builtin/pull.c:478 #, c-format msgid "" "If you wish to set tracking information for this branch you can do so with:\n" @@ -8779,7 +9041,7 @@ msgstr "" " git branch --set-upstream-to=%s/<nhΓ‘nh> %s\n" "\n" -#: builtin/pull.c:476 +#: builtin/pull.c:483 #, c-format msgid "" "Your configuration specifies to merge with the ref '%s'\n" @@ -8788,13 +9050,13 @@ msgstr "" "CΓ‘c ΔαΊ·c tαΊ£ cαΊ₯u hΓ¬nh cα»§a bαΊ‘n Δα» hΓ²a trα»n vα»i tham chiαΊΏu β%sβ\n" "tα»« mΓ‘y dα»ch vα»₯, nhΖ°ng khΓ΄ng cΓ³ nhΓ‘nh nΓ o nhΖ° thαΊΏ Δược lαΊ₯y vα»." -#: builtin/pull.c:830 +#: builtin/pull.c:841 msgid "Updating an unborn branch with changes added to the index." msgstr "" "Δang cαΊp nhαΊt mα»t nhΓ‘nh chΖ°a Δược sinh ra vα»i cΓ‘c thay Δα»i Δược thΓͺm vΓ o " "bαΊ£ng mα»₯c lα»₯c." -#: builtin/pull.c:859 +#: builtin/pull.c:870 #, c-format msgid "" "fetch updated the current branch head.\n" @@ -8805,7 +9067,7 @@ msgstr "" "Δang chuyα»n-tiαΊΏp-nhanh cΓ’y lΓ m viα»c cα»§a bαΊ‘n tα»«\n" "lαΊ§n chuyα»n giaot %s." -#: builtin/pull.c:864 +#: builtin/pull.c:875 #, c-format msgid "" "Cannot fast-forward your working tree.\n" @@ -8823,27 +9085,27 @@ msgstr "" "$ git reset --hard\n" "Δα» khΓ΄i phα»₯c lαΊ‘i." -#: builtin/pull.c:879 +#: builtin/pull.c:890 msgid "Cannot merge multiple branches into empty head." msgstr "KhΓ΄ng thα» hΓ²a trα»n nhiα»u nhΓ‘nh vΓ o trong mα»t head trα»ng rα»ng." -#: builtin/pull.c:883 +#: builtin/pull.c:894 msgid "Cannot rebase onto multiple branches." msgstr "KhΓ΄ng thα» thα»±c hiα»n lα»nh rebase (cαΊ£i tα») trΓͺn nhiα»u nhΓ‘nh." -#: builtin/push.c:15 +#: builtin/push.c:16 msgid "git push [<options>] [<repository> [<refspec>...]]" msgstr "git push [<cΓ‘c-tΓΉy-chα»n>] [<kho-chα»©a> [<refspec>β¦]]" -#: builtin/push.c:86 +#: builtin/push.c:89 msgid "tag shorthand without <tag>" msgstr "dΓΉng tα»c kΓ½ thαΊ» khΓ΄ng cΓ³ <thαΊ»>" -#: builtin/push.c:96 +#: builtin/push.c:99 msgid "--delete only accepts plain target ref names" msgstr "--delete chα» chαΊ₯p nhαΊn cΓ‘c tΓͺn tham chiαΊΏu dαΊ‘ng thΖ°α»ng" -#: builtin/push.c:140 +#: builtin/push.c:143 msgid "" "\n" "To choose either option permanently, see push.default in 'git help config'." @@ -8852,7 +9114,7 @@ msgstr "" "Δα» chα»n mα»i tΓΉy chα»n mα»t cΓ‘ch cα» Δα»nh, xem push.default trong βgit help " "configβ." -#: builtin/push.c:143 +#: builtin/push.c:146 #, c-format msgid "" "The upstream branch of your current branch does not match\n" @@ -8877,7 +9139,7 @@ msgstr "" " git push %s %s\n" "%s" -#: builtin/push.c:158 +#: builtin/push.c:161 #, c-format msgid "" "You are not currently on a branch.\n" @@ -8892,7 +9154,7 @@ msgstr "" "\n" " git push %s HEAD:<tΓͺn-cα»§a-nhΓ‘nh-mΓ‘y-chα»§>\n" -#: builtin/push.c:172 +#: builtin/push.c:175 #, c-format msgid "" "The current branch %s has no upstream branch.\n" @@ -8906,12 +9168,12 @@ msgstr "" "\n" " git push --set-upstream %s %s\n" -#: builtin/push.c:180 +#: builtin/push.c:183 #, c-format msgid "The current branch %s has multiple upstream branches, refusing to push." msgstr "NhΓ‘nh hiα»n tαΊ‘i %s cΓ³ nhiα»u nhΓ‘nh thượng nguα»n, tα»« chα»i push." -#: builtin/push.c:183 +#: builtin/push.c:186 #, c-format msgid "" "You are pushing to remote '%s', which is not the upstream of\n" @@ -8923,60 +9185,14 @@ msgstr "" "nhΓ‘nh hiα»n tαΊ‘i β%sβ cα»§a bαΊ‘n, mΓ khΓ΄ng bΓ‘o cho tΓ΄i biαΊΏt lΓ cΓ‘i gΓ¬ Δược push\n" "Δα» cαΊp nhαΊt nhΓ‘nh mΓ‘y chα»§ nΓ o." -#: builtin/push.c:206 -msgid "" -"push.default is unset; its implicit value has changed in\n" -"Git 2.0 from 'matching' to 'simple'. To squelch this message\n" -"and maintain the traditional behavior, use:\n" -"\n" -" git config --global push.default matching\n" -"\n" -"To squelch this message and adopt the new behavior now, use:\n" -"\n" -" git config --global push.default simple\n" -"\n" -"When push.default is set to 'matching', git will push local branches\n" -"to the remote branches that already exist with the same name.\n" -"\n" -"Since Git 2.0, Git defaults to the more conservative 'simple'\n" -"behavior, which only pushes the current branch to the corresponding\n" -"remote branch that 'git pull' uses to update the current branch.\n" -"\n" -"See 'git help config' and search for 'push.default' for further " -"information.\n" -"(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n" -"'current' instead of 'simple' if you sometimes use older versions of Git)" -msgstr "" -"biαΊΏn push.default chΖ°a Δược ΔαΊ·t; giΓ‘ trα» ngαΊ§m Δα»nh cα»§a nΓ³\n" -"ΔΓ£ Δược thay Δα»i trong Git 2.0 tα»« βmatchingβ thΓ nh βsimpleβ.\n" -"Δα» khΓ΄ng hiα»n thα» nhαΊ―c nhα» nΓ y vΓ duy trΓ¬ cΓ‘ch xα» lΓ½ cΕ©, hΓ£y chαΊ‘y lα»nh:\n" -"\n" -" git config --global push.default matching\n" -"\n" -"Δα» khΓ΄ng hiα»n thα» nhαΊ―c nhα» nΓ y vΓ Γ‘p dα»₯ng cΓ‘ch α»©ng xα» mα»i, hΓ£y chαΊ‘y lα»nh:\n" -"\n" -" git config --global push.default simple\n" -"\n" -"Khi push.default Δược ΔαΊ·t thΓ nh βmatchingβ, git sαΊ½ ΔαΊ©y cΓ‘c nhΓ‘nh nα»i bα»\n" -"lΓͺn cΓ‘c nhΓ‘nh trΓͺn mΓ‘y chα»§, cΓ‘i mΓ ΔΓ£ sαΊ΅n cΓ³ vΓ cΓΉng tΓͺn.\n" -"\n" -"Trong 2.0, Git sαΊ½ mαΊ·c Δα»nh duy trΓ¬ cΓ‘c α»©ng xα» βsimpleβ,\n" -"cΓ‘i nΓ y chα» ΔαΊ©y nhα»―ng nhΓ‘nh hiα»n hΓ nh lΓͺn cΓ‘c nhΓ‘nh tΖ°Ζ‘ng α»©ng\n" -"trΓͺn mΓ‘y chα»§ cΓ‘i mΓ lα»nh βgit pullβ dΓΉng Δα» cαΊp nhαΊt nhΓ‘nh hiα»n tαΊ‘i.\n" -"\n" -"Xem βgit help configβ vΓ tΓ¬m ΔαΊΏn βpush.defaultβ Δα» cΓ³ thΓͺm thΓ΄ng tin.\n" -"(chαΊΏ Δα» βsimpleβ Δược bαΊ―t ΔαΊ§u sα» dα»₯ng tα»« Git 1.7.11. Sα» dα»₯ng chαΊΏ Δα» tΖ°Ζ‘ng " -"tα»±\n" -"βcurrentβ thay vΓ¬ βsimpleβ nαΊΏu bαΊ‘n thα»nh thoαΊ£ng phαΊ£i sα» dα»₯ng bαΊ£n Git cΕ©)" - -#: builtin/push.c:273 +#: builtin/push.c:242 msgid "" "You didn't specify any refspecs to push, and push.default is \"nothing\"." msgstr "" "BαΊ‘n ΔΓ£ khΓ΄ng chα» ra mα»t refspecs nΓ o Δα» ΔαΊ©y lΓͺn, vΓ push.default lΓ \"khΓ΄ng " "lΓ gΓ¬ cαΊ£\"." -#: builtin/push.c:280 +#: builtin/push.c:249 msgid "" "Updates were rejected because the tip of your current branch is behind\n" "its remote counterpart. Integrate the remote changes (e.g.\n" @@ -8989,7 +9205,7 @@ msgstr "" "Xem βNote about fast-forwardsβ trong βgit push --helpβ Δα» cΓ³ thΓ΄ng tin chi " "tiαΊΏt." -#: builtin/push.c:286 +#: builtin/push.c:255 msgid "" "Updates were rejected because a pushed branch tip is behind its remote\n" "counterpart. Check out this branch and integrate the remote changes\n" @@ -9003,7 +9219,7 @@ msgstr "" "Xem βNote about fast-forwardsβ trong βgit push --helpβ Δα» cΓ³ thΓ΄ng tin chi " "tiαΊΏt." -#: builtin/push.c:292 +#: builtin/push.c:261 msgid "" "Updates were rejected because the remote contains work that you do\n" "not have locally. This is usually caused by another repository pushing\n" @@ -9018,11 +9234,11 @@ msgstr "" "Xem βNote about fast-forwardsβ trong βgit push --helpβ Δα» cΓ³ thΓ΄ng tin chi " "tiαΊΏt." -#: builtin/push.c:299 +#: builtin/push.c:268 msgid "Updates were rejected because the tag already exists in the remote." msgstr "Viα»c cαΊp nhαΊt bα» tα»« chα»i bα»i vΓ¬ thαΊ» ΔΓ£ sαΊ΅n cΓ³ tα»« trΖ°α»c trΓͺn mΓ‘y chα»§." -#: builtin/push.c:302 +#: builtin/push.c:271 msgid "" "You cannot update a remote ref that points at a non-commit object,\n" "or update a remote ref to make it point at a non-commit object,\n" @@ -9034,22 +9250,22 @@ msgstr "" "Δα»i tượng\n" "khΓ΄ng phαΊ£i chuyα»n giao, mΓ khΓ΄ng sα» dα»₯ng tΓΉy chα»n β--forceβ.\n" -#: builtin/push.c:361 +#: builtin/push.c:331 #, c-format msgid "Pushing to %s\n" msgstr "Δang ΔαΊ©y lΓͺn %s\n" -#: builtin/push.c:365 +#: builtin/push.c:335 #, c-format msgid "failed to push some refs to '%s'" msgstr "gαΊ·p lα»i khi ΔαΊ©y tα»i mα»t sα» tham chiαΊΏu ΔαΊΏn β%sβ" -#: builtin/push.c:395 +#: builtin/push.c:365 #, c-format msgid "bad repository '%s'" msgstr "repository (kho) sai β%sβ" -#: builtin/push.c:396 +#: builtin/push.c:366 msgid "" "No configured push destination.\n" "Either specify the URL from the command-line or configure a remote " @@ -9070,100 +9286,100 @@ msgstr "" "\n" " git push <tΓͺn>\n" -#: builtin/push.c:411 +#: builtin/push.c:381 msgid "--all and --tags are incompatible" msgstr "--all vΓ --tags xung khαΊ―c nhau" -#: builtin/push.c:412 +#: builtin/push.c:382 msgid "--all can't be combined with refspecs" msgstr "--all khΓ΄ng thα» Δược tα» hợp cΓΉng vα»i ΔαΊ·c tαΊ£ ΔΖ°α»ng dαΊ«n" -#: builtin/push.c:417 +#: builtin/push.c:387 msgid "--mirror and --tags are incompatible" msgstr "--mirror vΓ --tags xung khαΊ―c nhau" -#: builtin/push.c:418 +#: builtin/push.c:388 msgid "--mirror can't be combined with refspecs" msgstr "--mirror khΓ΄ng thα» Δược tα» hợp cΓΉng vα»i ΔαΊ·c tαΊ£ ΔΖ°α»ng dαΊ«n" -#: builtin/push.c:423 +#: builtin/push.c:393 msgid "--all and --mirror are incompatible" msgstr "--all vΓ --mirror xung khαΊ―c nhau" -#: builtin/push.c:539 +#: builtin/push.c:505 msgid "repository" msgstr "kho" -#: builtin/push.c:540 builtin/send-pack.c:161 +#: builtin/push.c:506 builtin/send-pack.c:161 msgid "push all refs" msgstr "ΔαΊ©y tαΊ₯t cαΊ£ cΓ‘c tham chiαΊΏu" -#: builtin/push.c:541 builtin/send-pack.c:163 +#: builtin/push.c:507 builtin/send-pack.c:163 msgid "mirror all refs" msgstr "mirror tαΊ₯t cαΊ£ cΓ‘c tham chiαΊΏu" -#: builtin/push.c:543 +#: builtin/push.c:509 msgid "delete refs" msgstr "xΓ³a cΓ‘c tham chiαΊΏu" -#: builtin/push.c:544 +#: builtin/push.c:510 msgid "push tags (can't be used with --all or --mirror)" msgstr "ΔαΊ©y cΓ‘c thαΊ» (khΓ΄ng dΓΉng cΓΉng vα»i --all hay --mirror)" -#: builtin/push.c:547 builtin/send-pack.c:164 +#: builtin/push.c:513 builtin/send-pack.c:164 msgid "force updates" msgstr "Γ©p buα»c cαΊp nhαΊt" -#: builtin/push.c:549 builtin/send-pack.c:175 +#: builtin/push.c:515 builtin/send-pack.c:175 msgid "refname>:<expect" msgstr "tΓͺn-tham-chiαΊΏu>:<cαΊ§n" -#: builtin/push.c:550 builtin/send-pack.c:176 +#: builtin/push.c:516 builtin/send-pack.c:176 msgid "require old value of ref to be at this value" msgstr "yΓͺu cαΊ§u giΓ‘-trα» cΕ© cα»§a tham chiαΊΏu thΓ¬ lΓ giΓ‘-trα» nΓ y" -#: builtin/push.c:553 +#: builtin/push.c:519 msgid "control recursive pushing of submodules" msgstr "Δiα»u khiα»n viα»c ΔαΊ©y lΓͺn (push) Δα» qui cα»§a mΓ΄-Δun-con" -#: builtin/push.c:555 builtin/send-pack.c:169 +#: builtin/push.c:521 builtin/send-pack.c:169 msgid "use thin pack" msgstr "tαΊ‘o gΓ³i nhαΊΉ" -#: builtin/push.c:556 builtin/push.c:557 builtin/send-pack.c:158 +#: builtin/push.c:522 builtin/push.c:523 builtin/send-pack.c:158 #: builtin/send-pack.c:159 msgid "receive pack program" msgstr "chΖ°Ζ‘ng trΓ¬nh nhαΊn gΓ³i" -#: builtin/push.c:558 +#: builtin/push.c:524 msgid "set upstream for git pull/status" msgstr "ΔαΊ·t thượng nguα»n cho git pull/status" -#: builtin/push.c:561 +#: builtin/push.c:527 msgid "prune locally removed refs" msgstr "xΓ©n tα»a nhα»―ng tham chiαΊΏu bα» gα»‘ bα»" -#: builtin/push.c:563 +#: builtin/push.c:529 msgid "bypass pre-push hook" msgstr "vΓ²ng qua mΓ³c tiα»n-ΔαΊ©y (pre-push)" -#: builtin/push.c:564 +#: builtin/push.c:530 msgid "push missing but relevant tags" msgstr "push phαΊ§n bα» thiαΊΏu nhΖ°ng cΓ‘c thαΊ» lαΊ‘i thΓch hợp" -#: builtin/push.c:567 builtin/send-pack.c:166 +#: builtin/push.c:533 builtin/send-pack.c:166 msgid "GPG sign the push" msgstr "kΓ½ lαΊ§n ΔαΊ©y dΓΉng GPG" -#: builtin/push.c:569 builtin/send-pack.c:170 +#: builtin/push.c:535 builtin/send-pack.c:170 msgid "request atomic transaction on remote side" msgstr "yΓͺu cαΊ§u giao dα»ch hαΊ‘t nhΓ’n bΓͺn phΓa mΓ‘y chα»§" -#: builtin/push.c:579 +#: builtin/push.c:549 msgid "--delete is incompatible with --all, --mirror and --tags" msgstr "--delete lΓ xung khαΊ―c vα»i cΓ‘c tΓΉy chα»n --all, --mirror vΓ --tags" -#: builtin/push.c:581 +#: builtin/push.c:551 msgid "--delete doesn't make sense without any refs" msgstr "--delete khΓ΄ng hợp lΓ½ nαΊΏu khΓ΄ng cΓ³ bαΊ₯t kα»³ tham chiαΊΏu nΓ o" @@ -9243,12 +9459,12 @@ msgstr "bα» qua Γ‘p dα»₯ng bα» lα»c lαΊ₯y ra (checkout) thΖ°a thα»t" msgid "debug unpack-trees" msgstr "gα»‘ lα»i βunpack-treesβ" -#: builtin/reflog.c:428 +#: builtin/reflog.c:423 #, c-format msgid "'%s' for '%s' is not a valid timestamp" msgstr "β%sβ dΓ nh cho β%sβ khΓ΄ng phαΊ£i lΓ dαΊ₯u vαΊΏt thα»i gian hợp lα»" -#: builtin/reflog.c:545 builtin/reflog.c:550 +#: builtin/reflog.c:540 builtin/reflog.c:545 #, c-format msgid "'%s' is not a valid timestamp" msgstr "β%sβ khΓ΄ng phαΊ£i lΓ dαΊ₯u thα»i gian hợp lα»" @@ -9389,55 +9605,45 @@ msgstr "Δang chα» Δα»nh mα»t nhΓ‘nh master khΓ΄ng hợp lΓ½ vα»i tΓΉy chα» msgid "specifying branches to track makes sense only with fetch mirrors" msgstr "chα» Δα»nh nhα»―ng nhΓ‘nh Δα» theo dΓ΅i chα» hợp lΓ½ vα»i cΓ‘c βfetch mirrorβ" -#: builtin/remote.c:193 builtin/remote.c:643 +#: builtin/remote.c:190 builtin/remote.c:633 #, c-format msgid "remote %s already exists." msgstr "mΓ‘y chα»§ %s ΔΓ£ tα»n tαΊ‘i rα»i." -#: builtin/remote.c:197 builtin/remote.c:647 +#: builtin/remote.c:194 builtin/remote.c:637 #, c-format msgid "'%s' is not a valid remote name" msgstr "β%sβ khΓ΄ng phαΊ£i tΓͺn mΓ‘y chα»§ hợp lα»" -#: builtin/remote.c:241 +#: builtin/remote.c:234 #, c-format msgid "Could not setup master '%s'" msgstr "KhΓ΄ng thα» cΓ i ΔαΊ·t nhΓ‘nh master β%sβ" -#: builtin/remote.c:341 +#: builtin/remote.c:336 #, c-format msgid "Could not get fetch map for refspec %s" msgstr "KhΓ΄ng thα» lαΊ₯y Γ‘nh xαΊ‘ (map) fetch cho ΔαΊ·c tαΊ£ tham chiαΊΏu %s" -#: builtin/remote.c:442 builtin/remote.c:450 +#: builtin/remote.c:437 builtin/remote.c:445 msgid "(matching)" msgstr "(khα»p)" -#: builtin/remote.c:454 +#: builtin/remote.c:449 msgid "(delete)" msgstr "(xΓ³a)" -#: builtin/remote.c:594 builtin/remote.c:600 builtin/remote.c:606 -#, c-format -msgid "Could not append '%s' to '%s'" -msgstr "KhΓ΄ng thα» nα»i thΓͺm β%sβ vΓ o β%sβ" - -#: builtin/remote.c:636 builtin/remote.c:775 builtin/remote.c:875 +#: builtin/remote.c:626 builtin/remote.c:761 builtin/remote.c:858 #, c-format msgid "No such remote: %s" msgstr "KhΓ΄ng cΓ³ mΓ‘y chα»§ nΓ o nhΖ° thαΊΏ: %s" -#: builtin/remote.c:653 +#: builtin/remote.c:643 #, c-format msgid "Could not rename config section '%s' to '%s'" msgstr "KhΓ΄ng thα» Δα»i tΓͺn phαΊ§n cα»§a cαΊ₯u hΓ¬nh tα»« β%sβ thΓ nh β%sβ" -#: builtin/remote.c:659 builtin/remote.c:827 -#, c-format -msgid "Could not remove config section '%s'" -msgstr "KhΓ΄ng thα» gα»‘ bα» phαΊ§n cαΊ₯u hΓ¬nh β%sβ" - -#: builtin/remote.c:674 +#: builtin/remote.c:663 #, c-format msgid "" "Not updating non-default fetch refspec\n" @@ -9448,27 +9654,17 @@ msgstr "" "\t%s\n" "\tXin hΓ£y cαΊp nhαΊt phαΊ§n cαΊ₯u hΓ¬nh mα»t cΓ‘ch thα»§ cΓ΄ng nαΊΏu thαΊ₯y cαΊ§n thiαΊΏt." -#: builtin/remote.c:680 -#, c-format -msgid "Could not append '%s'" -msgstr "KhΓ΄ng thα» nα»i thΓͺm β%sβ" - -#: builtin/remote.c:691 -#, c-format -msgid "Could not set '%s'" -msgstr "KhΓ΄ng thα» ΔαΊ·t β%sβ" - -#: builtin/remote.c:713 +#: builtin/remote.c:699 #, c-format msgid "deleting '%s' failed" msgstr "gαΊ·p lα»i khi xΓ³a β%sβ" -#: builtin/remote.c:747 +#: builtin/remote.c:733 #, c-format msgid "creating '%s' failed" msgstr "gαΊ·p lα»i khi tαΊ‘o β%sβ" -#: builtin/remote.c:813 +#: builtin/remote.c:796 msgid "" "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n" "to delete it, use:" @@ -9480,272 +9676,277 @@ msgstr[0] "" "Δi;\n" "Δα» xΓ³a Δi, sα» dα»₯ng:" -#: builtin/remote.c:928 +#: builtin/remote.c:810 +#, c-format +msgid "Could not remove config section '%s'" +msgstr "KhΓ΄ng thα» gα»‘ bα» phαΊ§n cαΊ₯u hΓ¬nh β%sβ" + +#: builtin/remote.c:911 #, c-format msgid " new (next fetch will store in remotes/%s)" msgstr " mα»i (lαΊ§n lαΊ₯y vα» tiαΊΏp theo sαΊ½ lΖ°u trong remotes/%s)" -#: builtin/remote.c:931 +#: builtin/remote.c:914 msgid " tracked" msgstr " Δược theo dΓ΅i" -#: builtin/remote.c:933 +#: builtin/remote.c:916 msgid " stale (use 'git remote prune' to remove)" msgstr " cΕ© rΓch (dΓΉng βgit remote pruneβ Δα» gα»‘ bα»)" -#: builtin/remote.c:935 +#: builtin/remote.c:918 msgid " ???" msgstr " ???" -#: builtin/remote.c:976 +#: builtin/remote.c:959 #, c-format msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch" msgstr "branch.%s.merge khΓ΄ng hợp lα»; khΓ΄ng thα» cαΊ£i tα» vα» phΓa > 1 nhΓ‘nh" -#: builtin/remote.c:983 +#: builtin/remote.c:967 #, c-format -msgid "rebases onto remote %s" -msgstr "thα»±c hiα»n rebase trΓͺn mΓ‘y chα»§ %s" +msgid "rebases interactively onto remote %s" +msgstr "thα»±c hiα»n rebase mα»t cΓ‘ch tΖ°Ζ‘ng tΓ‘c trΓͺn mΓ‘y chα»§ %s" -#: builtin/remote.c:986 +#: builtin/remote.c:971 #, c-format msgid " merges with remote %s" msgstr " hΓ²a trα»n vα»i mΓ‘y chα»§ %s" -#: builtin/remote.c:987 +#: builtin/remote.c:972 msgid " and with remote" msgstr " vΓ vα»i mΓ‘y chα»§" -#: builtin/remote.c:989 +#: builtin/remote.c:974 #, c-format msgid "merges with remote %s" msgstr "hΓ²a trα»n vα»i mΓ‘y chα»§ %s" -#: builtin/remote.c:990 +#: builtin/remote.c:975 msgid " and with remote" msgstr " vΓ vα»i mΓ‘y chα»§" -#: builtin/remote.c:1036 +#: builtin/remote.c:1021 msgid "create" msgstr "tαΊ‘o" -#: builtin/remote.c:1039 +#: builtin/remote.c:1024 msgid "delete" msgstr "xΓ³a" -#: builtin/remote.c:1043 +#: builtin/remote.c:1028 msgid "up to date" msgstr "ΔΓ£ cαΊp nhαΊt" -#: builtin/remote.c:1046 +#: builtin/remote.c:1031 msgid "fast-forwardable" msgstr "cΓ³-thα»-chuyα»n-tiαΊΏp-nhanh" -#: builtin/remote.c:1049 +#: builtin/remote.c:1034 msgid "local out of date" msgstr "dα»― liα»u nα»i bα» ΔΓ£ cΕ©" -#: builtin/remote.c:1056 +#: builtin/remote.c:1041 #, c-format msgid " %-*s forces to %-*s (%s)" msgstr " %-*s Γ©p buα»c thΓ nh %-*s (%s)" -#: builtin/remote.c:1059 +#: builtin/remote.c:1044 #, c-format msgid " %-*s pushes to %-*s (%s)" msgstr " %-*s ΔαΊ©y lΓͺn thΓ nh %-*s (%s)" -#: builtin/remote.c:1063 +#: builtin/remote.c:1048 #, c-format msgid " %-*s forces to %s" msgstr " %-*s Γ©p buα»c thΓ nh %s" -#: builtin/remote.c:1066 +#: builtin/remote.c:1051 #, c-format msgid " %-*s pushes to %s" msgstr " %-*s ΔαΊ©y lΓͺn thΓ nh %s" -#: builtin/remote.c:1134 +#: builtin/remote.c:1119 msgid "do not query remotes" msgstr "khΓ΄ng truy vαΊ₯n cΓ‘c mΓ‘y chα»§" -#: builtin/remote.c:1161 +#: builtin/remote.c:1146 #, c-format msgid "* remote %s" msgstr "* mΓ‘y chα»§ %s" -#: builtin/remote.c:1162 +#: builtin/remote.c:1147 #, c-format msgid " Fetch URL: %s" msgstr " URL Δα» lαΊ₯y vα»: %s" -#: builtin/remote.c:1163 builtin/remote.c:1314 +#: builtin/remote.c:1148 builtin/remote.c:1299 msgid "(no URL)" msgstr "(khΓ΄ng cΓ³ URL)" -#: builtin/remote.c:1172 builtin/remote.c:1174 +#: builtin/remote.c:1157 builtin/remote.c:1159 #, c-format msgid " Push URL: %s" msgstr " URL Δα» ΔαΊ©y lΓͺn: %s" -#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180 +#: builtin/remote.c:1161 builtin/remote.c:1163 builtin/remote.c:1165 #, c-format msgid " HEAD branch: %s" msgstr " NhΓ‘nh HEAD: %s" -#: builtin/remote.c:1182 +#: builtin/remote.c:1167 #, c-format msgid "" " HEAD branch (remote HEAD is ambiguous, may be one of the following):\n" msgstr " nhΓ‘nh HEAD (HEAD mΓ‘y chα»§ chΖ°a rΓ΅ rΓ ng, cΓ³ lαΊ½ lΓ mα»t trong sα» sau):\n" -#: builtin/remote.c:1194 +#: builtin/remote.c:1179 #, c-format msgid " Remote branch:%s" msgid_plural " Remote branches:%s" msgstr[0] " Nhα»―ng nhΓ‘nh trΓͺn mΓ‘y chα»§:%s" -#: builtin/remote.c:1197 builtin/remote.c:1224 +#: builtin/remote.c:1182 builtin/remote.c:1209 msgid " (status not queried)" msgstr " (trαΊ‘ng thΓ‘i khΓ΄ng Δược yΓͺu cαΊ§u)" -#: builtin/remote.c:1206 +#: builtin/remote.c:1191 msgid " Local branch configured for 'git pull':" msgid_plural " Local branches configured for 'git pull':" msgstr[0] " Nhα»―ng nhΓ‘nh nα»i bα» ΔΓ£ Δược cαΊ₯u hΓ¬nh cho lα»nh βgit pullβ:" -#: builtin/remote.c:1214 +#: builtin/remote.c:1199 msgid " Local refs will be mirrored by 'git push'" msgstr " refs nα»i bα» sαΊ½ Δược phαΊ£n chiαΊΏu bα»i lα»nh βgit pushβ" -#: builtin/remote.c:1221 +#: builtin/remote.c:1206 #, c-format msgid " Local ref configured for 'git push'%s:" msgid_plural " Local refs configured for 'git push'%s:" msgstr[0] " Nhα»―ng tham chiαΊΏu nα»i bα» Δược cαΊ₯u hΓ¬nh cho lα»nh βgit pushβ%s:" -#: builtin/remote.c:1242 +#: builtin/remote.c:1227 msgid "set refs/remotes/<name>/HEAD according to remote" msgstr "ΔαΊ·t refs/remotes/<tΓͺn>/HEAD cho phΓΉ hợp vα»i mΓ‘y chα»§" -#: builtin/remote.c:1244 +#: builtin/remote.c:1229 msgid "delete refs/remotes/<name>/HEAD" msgstr "xΓ³a refs/remotes/<tΓͺn>/HEAD" -#: builtin/remote.c:1259 +#: builtin/remote.c:1244 msgid "Cannot determine remote HEAD" msgstr "KhΓ΄ng thα» xΓ‘c Δα»nh Δược HEAD mΓ‘y chα»§" -#: builtin/remote.c:1261 +#: builtin/remote.c:1246 msgid "Multiple remote HEAD branches. Please choose one explicitly with:" msgstr "Nhiα»u nhΓ‘nh HEAD mΓ‘y chα»§. HΓ£y chα»n rΓ΅ rΓ ng mα»t:" -#: builtin/remote.c:1271 +#: builtin/remote.c:1256 #, c-format msgid "Could not delete %s" msgstr "KhΓ΄ng thα» xΓ³a bα» %s" -#: builtin/remote.c:1279 +#: builtin/remote.c:1264 #, c-format msgid "Not a valid ref: %s" msgstr "KhΓ΄ng phαΊ£i lΓ tham chiαΊΏu hợp lα»: %s" -#: builtin/remote.c:1281 +#: builtin/remote.c:1266 #, c-format msgid "Could not setup %s" msgstr "KhΓ΄ng thα» cΓ i ΔαΊ·t %s" -#: builtin/remote.c:1299 +#: builtin/remote.c:1284 #, c-format msgid " %s will become dangling!" msgstr " %s sαΊ½ trα» thΓ nh khΓ΄ng ΔαΊ§u (khΓ΄ng Δược quαΊ£n lΓ½)!" -#: builtin/remote.c:1300 +#: builtin/remote.c:1285 #, c-format msgid " %s has become dangling!" msgstr " %s ΔΓ£ trα» thΓ nh khΓ΄ng ΔαΊ§u (khΓ΄ng Δược quαΊ£n lΓ½)!" -#: builtin/remote.c:1310 +#: builtin/remote.c:1295 #, c-format msgid "Pruning %s" msgstr "Δang xΓ©n bα»t %s" -#: builtin/remote.c:1311 +#: builtin/remote.c:1296 #, c-format msgid "URL: %s" msgstr "URL: %s" -#: builtin/remote.c:1327 +#: builtin/remote.c:1312 #, c-format msgid " * [would prune] %s" msgstr " * [nΓͺn xΓ©n bα»t] %s" -#: builtin/remote.c:1330 +#: builtin/remote.c:1315 #, c-format msgid " * [pruned] %s" msgstr " * [ΔΓ£ bα» xΓ©n] %s" -#: builtin/remote.c:1375 +#: builtin/remote.c:1360 msgid "prune remotes after fetching" msgstr "cαΊ―t mΓ‘y chα»§ sau khi lαΊ₯y vα»" -#: builtin/remote.c:1441 builtin/remote.c:1498 builtin/remote.c:1566 +#: builtin/remote.c:1423 builtin/remote.c:1477 builtin/remote.c:1545 #, c-format msgid "No such remote '%s'" msgstr "KhΓ΄ng cΓ³ mΓ‘y chα»§ nΓ o cΓ³ tΓͺn β%sβ" -#: builtin/remote.c:1461 +#: builtin/remote.c:1439 msgid "add branch" msgstr "thΓͺm nhΓ‘nh" -#: builtin/remote.c:1468 +#: builtin/remote.c:1446 msgid "no remote specified" msgstr "chΖ°a chα» ra mΓ‘y chα»§ nΓ o" -#: builtin/remote.c:1485 +#: builtin/remote.c:1463 msgid "query push URLs rather than fetch URLs" msgstr "truy vαΊ₯n ΔαΊ©y URL thay vΓ¬ lαΊ₯y" -#: builtin/remote.c:1487 +#: builtin/remote.c:1465 msgid "return all URLs" msgstr "trαΊ£ vα» mα»i URL" -#: builtin/remote.c:1515 +#: builtin/remote.c:1493 #, c-format msgid "no URLs configured for remote '%s'" msgstr "khΓ΄ng cΓ³ URL nΓ o Δược cαΊ₯u hΓ¬nh cho nhΓ‘nh β%sβ" -#: builtin/remote.c:1541 +#: builtin/remote.c:1519 msgid "manipulate push URLs" msgstr "ΔαΊ©y cΓ‘c βURLβ bαΊ±ng tay" -#: builtin/remote.c:1543 +#: builtin/remote.c:1521 msgid "add URL" msgstr "thΓͺm URL" -#: builtin/remote.c:1545 +#: builtin/remote.c:1523 msgid "delete URLs" msgstr "xΓ³a URLs" -#: builtin/remote.c:1552 +#: builtin/remote.c:1530 msgid "--add --delete doesn't make sense" msgstr "--add --delete khΓ΄ng hợp lΓ½" -#: builtin/remote.c:1592 +#: builtin/remote.c:1571 #, c-format msgid "Invalid old URL pattern: %s" msgstr "Kiα»u mαΊ«u URL cΕ© khΓ΄ng hợp lα»: %s" -#: builtin/remote.c:1600 +#: builtin/remote.c:1579 #, c-format msgid "No such URL found: %s" msgstr "KhΓ΄ng tΓ¬m thαΊ₯y URL nhΖ° vαΊy: %s" -#: builtin/remote.c:1602 +#: builtin/remote.c:1581 msgid "Will not delete all non-push URLs" msgstr "SαΊ½ khΓ΄ng xΓ³a nhα»―ng Δα»a chα» URL khΓ΄ng-push" -#: builtin/remote.c:1616 +#: builtin/remote.c:1595 msgid "be verbose; must be placed before a subcommand" msgstr "chi tiαΊΏt; phαΊ£i Δược ΔαΊ·t trΖ°α»c mα»t lα»nh-con" @@ -10049,7 +10250,7 @@ msgstr "KhΓ΄ng thα» ΔαΊ·t lαΊ‘i (reset) bαΊ£ng mα»₯c lα»₯c thΓ nh Δiα»m xΓ©t msgid "Could not write new index file." msgstr "KhΓ΄ng thα» ghi tαΊp tin lΖ°u bαΊ£ng mα»₯c lα»₯c mα»i." -#: builtin/rev-list.c:354 +#: builtin/rev-list.c:350 msgid "rev-list does not support display of notes" msgstr "rev-list khΓ΄ng hα» trợ hiα»n thα» cΓ‘c ghi chΓΊ" @@ -10297,28 +10498,23 @@ msgstr "in cΓ‘c trαΊ‘ng thΓ‘i tα»« phαΊ§n hΖ°α»ng dαΊ«n trΓͺn mΓ‘y dα»ch vα»₯" msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]" msgstr "git shortlog [<cΓ‘c-tΓΉy-chα»n>] [<vΓΉng-xΓ©t-duyα»t>] [[--] [<ΔΖ°α»ng-dαΊ«n>β¦]]" -#: builtin/shortlog.c:131 -#, c-format -msgid "Missing author: %s" -msgstr "ThiαΊΏu tΓͺn tΓ‘c giαΊ£: %s" - -#: builtin/shortlog.c:230 +#: builtin/shortlog.c:242 msgid "sort output according to the number of commits per author" msgstr "sαΊ―p xαΊΏp kαΊΏt xuαΊ₯t tuΓ’n theo sα» lượng chuyα»n giao trΓͺn mα»i tΓ‘c giαΊ£" -#: builtin/shortlog.c:232 +#: builtin/shortlog.c:244 msgid "Suppress commit descriptions, only provides commit count" msgstr "ChαΊ·n mα»i mΓ΄ tαΊ£ lαΊ§n chuyα»n giao, chα» ΔΖ°a ra sα» lượng lαΊ§n chuyα»n giao" -#: builtin/shortlog.c:234 +#: builtin/shortlog.c:246 msgid "Show the email address of each author" msgstr "Hiα»n thα» thΖ° Δiα»n tα» cho tα»«ng tΓ‘c giαΊ£" -#: builtin/shortlog.c:235 +#: builtin/shortlog.c:247 msgid "w[,i1[,i2]]" msgstr "w[,i1[,i2]]" -#: builtin/shortlog.c:236 +#: builtin/shortlog.c:248 msgid "Linewrap output" msgstr "NgαΊ―t dΓ²ng khi quΓ‘ dΓ i" @@ -10463,45 +10659,45 @@ msgid "skip and remove all lines starting with comment character" msgstr "giα»― vΓ xΓ³a bα» mα»i dΓ²ng bαΊ―t ΔαΊ§u bαΊ±ng kΓ½ tα»± ghi chΓΊ" #: builtin/stripspace.c:38 -msgid "prepend comment character and blank to each line" -msgstr "treo trΖ°α»c kΓ½ tα»± ghi chΓΊ vΓ Δα» trαΊ―ng cho tα»«ng dΓ²ng" +msgid "prepend comment character and space to each line" +msgstr "treo trΖ°α»c kΓ½ tα»± ghi chΓΊ vΓ kΓ½ tα»± khoαΊ£ng trαΊ―ng cho tα»«ng dΓ²ng" -#: builtin/submodule--helper.c:79 builtin/submodule--helper.c:167 +#: builtin/submodule--helper.c:73 builtin/submodule--helper.c:161 msgid "alternative anchor for relative paths" msgstr "Δiα»m neo thay thαΊΏ cho cΓ‘c ΔΖ°α»ng dαΊ«n tΖ°Ζ‘ng Δα»i" -#: builtin/submodule--helper.c:84 +#: builtin/submodule--helper.c:78 msgid "git submodule--helper list [--prefix=<path>] [<path>...]" msgstr "git submodule--helper list [--prefix=<ΔΖ°α»ng/dαΊ«n>] [<ΔΖ°α»ng/dαΊ«n>β¦]" -#: builtin/submodule--helper.c:114 +#: builtin/submodule--helper.c:108 msgid "git submodule--helper name <path>" msgstr "git submodule--helper name <ΔΖ°α»ng/dαΊ«n>" -#: builtin/submodule--helper.c:120 +#: builtin/submodule--helper.c:114 #, c-format msgid "no submodule mapping found in .gitmodules for path '%s'" msgstr "" "KhΓ΄ng tΓ¬m thαΊ₯y Γ‘nh xαΊ‘ (mapping) mΓ΄-Δun-con trong .gitmodules cho ΔΖ°α»ng dαΊ«n " "β%sβ" -#: builtin/submodule--helper.c:170 +#: builtin/submodule--helper.c:164 msgid "where the new submodule will be cloned to" msgstr "nhΓ’n bαΊ£n mΓ΄-Δun-con mα»i vΓ o chα» nΓ o" -#: builtin/submodule--helper.c:173 +#: builtin/submodule--helper.c:167 msgid "name of the new submodule" msgstr "tΓͺn cα»§a mΓ΄-Δun-con mα»i" -#: builtin/submodule--helper.c:176 +#: builtin/submodule--helper.c:170 msgid "url where to clone the submodule from" msgstr "url nΖ‘i mΓ nhΓ’n bαΊ£n mΓ΄-Δun-con tα»« ΔΓ³" -#: builtin/submodule--helper.c:182 +#: builtin/submodule--helper.c:176 msgid "depth for shallow clones" msgstr "chiα»u sΓ’u lα»ch sα» khi tαΊ‘o bαΊ£n sao" -#: builtin/submodule--helper.c:188 +#: builtin/submodule--helper.c:182 msgid "" "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference " "<repository>] [--name <name>] [--url <url>][--depth <depth>] [--] [<path>...]" @@ -10509,38 +10705,38 @@ msgstr "" "git submodule--helper clone [--prefix=<ΔΖ°α»ng/dαΊ«n>] [--quiet] [--reference " "<kho>] [--name <tΓͺn>] [--url <url>][--depth <ΔΖ°α»ng/dαΊ«n>] [--] [<ΔΖ°α»ng/dαΊ«n>β¦]" -#: builtin/submodule--helper.c:202 builtin/submodule--helper.c:208 -#: builtin/submodule--helper.c:216 +#: builtin/submodule--helper.c:196 builtin/submodule--helper.c:202 +#: builtin/submodule--helper.c:210 #, c-format msgid "could not create directory '%s'" msgstr "khΓ΄ng thα» tαΊ‘o thΖ° mα»₯c β%sβ" -#: builtin/submodule--helper.c:204 +#: builtin/submodule--helper.c:198 #, c-format msgid "clone of '%s' into submodule path '%s' failed" msgstr "NhΓ’n bαΊ£n β%sβ vΓ o ΔΖ°α»ng dαΊ«n mΓ΄-Δun-con β%sβ gαΊ·p lα»i" -#: builtin/submodule--helper.c:227 +#: builtin/submodule--helper.c:221 #, c-format msgid "cannot open file '%s'" msgstr "khΓ΄ng thα» mα» tαΊp tin β%sβ" -#: builtin/submodule--helper.c:232 +#: builtin/submodule--helper.c:226 #, c-format msgid "could not close file %s" msgstr "khΓ΄ng thα» ΔΓ³ng tαΊp tin %s" -#: builtin/submodule--helper.c:247 +#: builtin/submodule--helper.c:241 #, c-format msgid "could not get submodule directory for '%s'" msgstr "khΓ΄ng thα» lαΊ₯y thΖ° mα»₯c mΓ΄-Δun-con cho β%sβ" -#: builtin/submodule--helper.c:273 +#: builtin/submodule--helper.c:267 msgid "fatal: submodule--helper subcommand must be called with a subcommand" msgstr "" "lα»i nghiΓͺm trα»ng: lα»nh con submodule--helper phαΊ£i Δược gΓ³i vα»i mα»t lα»nh con" -#: builtin/submodule--helper.c:280 +#: builtin/submodule--helper.c:274 #, c-format msgid "fatal: '%s' is not a valid submodule--helper subcommand" msgstr "lα»i nghiΓͺm trα»ng: β%sβ khΓ΄ng phαΊ£i lΓ lα»nh con submodule--helper hợp lα»" @@ -10786,194 +10982,207 @@ msgstr "ΔΓ£ cαΊp nhαΊt thαΊ» β%sβ (trΖ°α»c lΓ %s)\n" msgid "Unpacking objects" msgstr "Δang giαΊ£i nΓ©n cΓ‘c Δα»i tượng" -#: builtin/update-index.c:70 +#: builtin/update-index.c:79 #, c-format msgid "failed to create directory %s" msgstr "tαΊ‘o thΖ° mα»₯c \"%s\" gαΊ·p lα»i" -#: builtin/update-index.c:76 +#: builtin/update-index.c:85 #, c-format msgid "failed to stat %s" msgstr "gαΊ·p lα»i khi lαΊ₯y thΓ΄ng tin thα»ng kΓͺ vα» %s" -#: builtin/update-index.c:86 +#: builtin/update-index.c:95 #, c-format msgid "failed to create file %s" msgstr "gαΊ·p lα»i khi tαΊ‘o tαΊp tin %s" -#: builtin/update-index.c:94 +#: builtin/update-index.c:103 #, c-format msgid "failed to delete file %s" msgstr "gαΊ·p lα»i khi xΓ³a tαΊp tin %s" -#: builtin/update-index.c:101 builtin/update-index.c:203 +#: builtin/update-index.c:110 builtin/update-index.c:212 #, c-format msgid "failed to delete directory %s" msgstr "gαΊ·p lα»i khi xΓ³a thΖ° mα»₯c %s" -#: builtin/update-index.c:124 +#: builtin/update-index.c:133 #, c-format -msgid "Testing " -msgstr "Δang thα»" +msgid "Testing mtime in '%s' " +msgstr "Δang kiα»m thα» mtime trong β%sβ" -#: builtin/update-index.c:136 +#: builtin/update-index.c:145 msgid "directory stat info does not change after adding a new file" msgstr "thΓ΄ng tin thα»ng kΓͺ thΖ° mα»₯c khΓ΄ng thay Δα»i sau khi thΓͺm tαΊp tin mα»i" -#: builtin/update-index.c:149 +#: builtin/update-index.c:158 msgid "directory stat info does not change after adding a new directory" msgstr "thΓ΄ng tin thα»ng kΓͺ thΖ° mα»₯c khΓ΄ng thay Δα»i sau khi thΓͺm thΖ° mα»₯c mα»i" -#: builtin/update-index.c:162 +#: builtin/update-index.c:171 msgid "directory stat info changes after updating a file" msgstr "thΓ΄ng tin thα»ng kΓͺ thΖ° mα»₯c thay Δα»i sau khi cαΊp nhαΊt tαΊp tin" -#: builtin/update-index.c:173 +#: builtin/update-index.c:182 msgid "directory stat info changes after adding a file inside subdirectory" msgstr "" "thΓ΄ng tin thα»ng kΓͺ thΖ° mα»₯c thay Δα»i sau khi thΓͺm tαΊp tin mα»i vΓ o trong thΖ° " "mα»₯c con" -#: builtin/update-index.c:184 +#: builtin/update-index.c:193 msgid "directory stat info does not change after deleting a file" msgstr "thΓ΄ng tin thα»ng kΓͺ thΖ° mα»₯c khΓ΄ng thay Δα»i sau khi xΓ³a tαΊp tin" -#: builtin/update-index.c:197 +#: builtin/update-index.c:206 msgid "directory stat info does not change after deleting a directory" msgstr "thΓ΄ng tin thα»ng kΓͺ thΖ° mα»₯c khΓ΄ng thay Δα»i sau khi xΓ³a thΖ° mα»₯c" -#: builtin/update-index.c:204 +#: builtin/update-index.c:213 msgid " OK" msgstr " Δα»ng Γ½" -#: builtin/update-index.c:564 +#: builtin/update-index.c:575 msgid "git update-index [<options>] [--] [<file>...]" msgstr "git update-index [<cΓ‘c-tΓΉy-chα»n>] [--] [<tαΊp-tin>β¦]" -#: builtin/update-index.c:918 +#: builtin/update-index.c:930 msgid "continue refresh even when index needs update" msgstr "tiαΊΏp tα»₯c lΓ m mα»i ngay cαΊ£ khi bαΊ£ng mα»₯c lα»₯c cαΊ§n Δược cαΊp nhαΊt" -#: builtin/update-index.c:921 +#: builtin/update-index.c:933 msgid "refresh: ignore submodules" msgstr "refresh: lα» Δi mΓ΄-Δun-con" -#: builtin/update-index.c:924 +#: builtin/update-index.c:936 msgid "do not ignore new files" msgstr "khΓ΄ng bα» qua cΓ‘c tαΊp tin mα»i tαΊ‘o" -#: builtin/update-index.c:926 +#: builtin/update-index.c:938 msgid "let files replace directories and vice-versa" msgstr "Δα» cΓ‘c tαΊp tin thay thαΊΏ cΓ‘c thΖ° mα»₯c vΓ βvice-versaβ" -#: builtin/update-index.c:928 +#: builtin/update-index.c:940 msgid "notice files missing from worktree" msgstr "thΓ΄ng bΓ‘o cΓ‘c tαΊp-tin thiαΊΏu trong thΖ°-mα»₯c lΓ m viα»c" -#: builtin/update-index.c:930 +#: builtin/update-index.c:942 msgid "refresh even if index contains unmerged entries" msgstr "" "lΓ m tΖ°Ζ‘i mα»i thαΊm chΓ khi bαΊ£ng mα»₯c lα»₯c chα»©a cΓ‘c mα»₯c tin chΖ°a Δược hΓ²a trα»n" -#: builtin/update-index.c:933 +#: builtin/update-index.c:945 msgid "refresh stat information" msgstr "lαΊ₯y lαΊ‘i thΓ΄ng tin thα»ng kΓͺ" -#: builtin/update-index.c:937 +#: builtin/update-index.c:949 msgid "like --refresh, but ignore assume-unchanged setting" msgstr "giα»ng --refresh, nhΖ°ng bα» qua cΓ‘c cΓ i ΔαΊ·t βassume-unchangedβ" -#: builtin/update-index.c:941 +#: builtin/update-index.c:953 msgid "<mode>,<object>,<path>" msgstr "<chαΊΏ_Δα»>,<Δα»i_tượng>,<ΔΖ°α»ng_dαΊ«n>" -#: builtin/update-index.c:942 +#: builtin/update-index.c:954 msgid "add the specified entry to the index" msgstr "thΓͺm cΓ‘c tαΊp tin ΔΓ£ chα» ra vΓ o bαΊ£ng mα»₯c lα»₯c" -#: builtin/update-index.c:946 +#: builtin/update-index.c:958 msgid "(+/-)x" msgstr "(+/-)x" -#: builtin/update-index.c:947 +#: builtin/update-index.c:959 msgid "override the executable bit of the listed files" msgstr "ghi ΔΓ¨ lΓͺn bΓt thi hΓ nh cα»§a cΓ‘c tαΊp tin Δược liα»t kΓͺ" -#: builtin/update-index.c:951 +#: builtin/update-index.c:963 msgid "mark files as \"not changing\"" msgstr "ΔΓ‘nh dαΊ₯u cΓ‘c tαΊp tin lΓ \"khΓ΄ng thay Δα»i\"" -#: builtin/update-index.c:954 +#: builtin/update-index.c:966 msgid "clear assumed-unchanged bit" msgstr "xΓ³a bΓt assumed-unchanged (giαΊ£ Δα»nh lΓ khΓ΄ng thay Δα»i)" -#: builtin/update-index.c:957 +#: builtin/update-index.c:969 msgid "mark files as \"index-only\"" msgstr "ΔΓ‘nh dαΊ₯u cΓ‘c tαΊp tin lΓ βchα»-Δα»cβ" -#: builtin/update-index.c:960 +#: builtin/update-index.c:972 msgid "clear skip-worktree bit" msgstr "xΓ³a bΓt skip-worktree" -#: builtin/update-index.c:963 +#: builtin/update-index.c:975 msgid "add to index only; do not add content to object database" msgstr "" "chα» thΓͺm vΓ o bαΊ£ng mα»₯c lα»₯c; khΓ΄ng thΓͺm nα»i dung vΓ o cΖ‘ sα» dα»― liα»u Δα»i tượng" -#: builtin/update-index.c:965 +#: builtin/update-index.c:977 msgid "remove named paths even if present in worktree" msgstr "" "gα»‘ bα» cΓ‘c ΔΖ°α»ng dαΊ«n Δược ΔαΊ·t tΓͺn thαΊm chΓ cαΊ£ khi nΓ³ hiα»n diα»n trong thΖ° mα»₯c " "lΓ m viα»c" -#: builtin/update-index.c:967 +#: builtin/update-index.c:979 msgid "with --stdin: input lines are terminated by null bytes" msgstr "vα»i tΓΉy chα»n --stdin: cΓ‘c dΓ²ng ΔαΊ§u vΓ o Δược chαΊ₯m dα»©t bα»i kΓ½ tα»± null" -#: builtin/update-index.c:969 +#: builtin/update-index.c:981 msgid "read list of paths to be updated from standard input" msgstr "Δα»c danh sΓ‘ch ΔΖ°α»ng dαΊ«n cαΊ§n cαΊp nhαΊt tα»« ΔαΊ§u vΓ o tiΓͺu chuαΊ©n" -#: builtin/update-index.c:973 +#: builtin/update-index.c:985 msgid "add entries from standard input to the index" msgstr "khΓ΄ng thα» Δα»c cΓ‘c mα»₯c tα»« ΔαΊ§u vΓ o tiΓͺu chuαΊ©n vΓ o bαΊ£ng mα»₯c lα»₯c" -#: builtin/update-index.c:977 +#: builtin/update-index.c:989 msgid "repopulate stages #2 and #3 for the listed paths" msgstr "phα»₯c hα»i cΓ‘c trαΊ‘ng thΓ‘i #2 vΓ #3 cho cΓ‘c ΔΖ°α»ng dαΊ«n Δược liα»t kΓͺ" -#: builtin/update-index.c:981 +#: builtin/update-index.c:993 msgid "only update entries that differ from HEAD" msgstr "chα» cαΊp nhαΊt cΓ‘c mα»₯c tin mΓ nΓ³ khΓ‘c biα»t so vα»i HEAD" -#: builtin/update-index.c:985 +#: builtin/update-index.c:997 msgid "ignore files missing from worktree" msgstr "bα» qua cΓ‘c tαΊp-tin thiαΊΏu trong thΖ°-mα»₯c lΓ m viα»c" -#: builtin/update-index.c:988 +#: builtin/update-index.c:1000 msgid "report actions to standard output" msgstr "bΓ‘o cΓ‘o cΓ‘c thao tΓ‘c ra thiαΊΏt bα» xuαΊ₯t chuαΊ©n" -#: builtin/update-index.c:990 +#: builtin/update-index.c:1002 msgid "(for porcelains) forget saved unresolved conflicts" msgstr "(cho βporcelainsβ) quΓͺn cΓ‘c xung Δα»t chΖ°a Δược giαΊ£i quyαΊΏt ΔΓ£ ghi" -#: builtin/update-index.c:994 +#: builtin/update-index.c:1006 msgid "write index in this format" msgstr "ghi mα»₯c lα»₯c α» Δα»nh dαΊ‘ng nΓ y" -#: builtin/update-index.c:996 +#: builtin/update-index.c:1008 msgid "enable or disable split index" msgstr "bαΊt/tαΊ―t chia cαΊ―t bαΊ£ng mα»₯c lα»₯c" -#: builtin/update-index.c:998 +#: builtin/update-index.c:1010 msgid "enable/disable untracked cache" msgstr "bαΊt/tαΊ―t bα» Δα»m khΓ΄ng theo vαΊΏt" -#: builtin/update-index.c:1000 +#: builtin/update-index.c:1012 +msgid "test if the filesystem supports untracked cache" +msgstr "kiα»m tra xem hα» thα»ng tαΊp tin cΓ³ hα» trợ Δα»m khΓ΄ng theo dΓ΅i hay khΓ΄ng" + +#: builtin/update-index.c:1014 msgid "enable untracked cache without testing the filesystem" msgstr "bαΊt bα» Δα»m khΓ΄ng theo vαΊΏt mΓ khΓ΄ng kiα»m tra hα» thα»ng tαΊp tin" +#: builtin/update-index.c:1134 +msgid "Untracked cache disabled" +msgstr "Nhα» Δα»m khΓ΄ng theo vαΊΏt bα» tαΊ―t" + +#: builtin/update-index.c:1146 +#, c-format +msgid "Untracked cache enabled for '%s'" +msgstr "Nhα» Δα»m khΓ΄ng theo vαΊΏt Δược bαΊt cho β%sβ" + #: builtin/update-ref.c:9 msgid "git update-ref [<options>] -d <refname> [<old-val>]" msgstr "git update-ref [<cΓ‘c-tΓΉy-chα»n>] -d <refname> [<biαΊΏn-cΕ©>]" @@ -11089,33 +11298,33 @@ msgstr "gαΊ·p lα»i khi gα»‘ bα»: %s" msgid "'%s' already exists" msgstr "β%sβ ΔΓ£ cΓ³ tα»« trΖ°α»c rα»i" -#: builtin/worktree.c:235 +#: builtin/worktree.c:233 #, c-format msgid "could not create directory of '%s'" msgstr "khΓ΄ng thα» tαΊ‘o thΖ° mα»₯c cα»§a β%sβ" -#: builtin/worktree.c:271 +#: builtin/worktree.c:269 #, c-format msgid "Preparing %s (identifier %s)" msgstr "Δang chuαΊ©n bα» %s (Δα»nh danh %s)" -#: builtin/worktree.c:319 +#: builtin/worktree.c:317 msgid "checkout <branch> even if already checked out in other worktree" msgstr "lαΊ₯y ra <nhΓ‘nh> ngay cαΊ£ khi nΓ³ ΔΓ£ Δược lαΊ₯y ra α» cΓ’y lΓ m viα»c khΓ‘c" -#: builtin/worktree.c:321 +#: builtin/worktree.c:319 msgid "create a new branch" msgstr "tαΊ‘o nhΓ‘nh mα»i" -#: builtin/worktree.c:323 +#: builtin/worktree.c:321 msgid "create or reset a branch" msgstr "tαΊ‘o hay ΔαΊ·t lαΊ‘i mα»t nhΓ‘nh" -#: builtin/worktree.c:324 +#: builtin/worktree.c:322 msgid "detach HEAD at named commit" msgstr "rα»i bα» HEAD tαΊ‘i lαΊ§n chuyα»n giao theo tΓͺn" -#: builtin/worktree.c:331 +#: builtin/worktree.c:329 msgid "-b, -B, and --detach are mutually exclusive" msgstr "CΓ‘c tΓΉy chα»n -b, -B, vΓ --detach loαΊ‘i tα»« lαΊ«n nhau" @@ -11135,7 +11344,7 @@ msgstr "ghi Δα»i tượng cΓ’y (tree) cho <tiα»n tα»> thΖ° mα»₯c con" msgid "only useful for debugging" msgstr "chα» hα»―u Γch khi cαΊ§n gα»‘ lα»i" -#: credential-cache--daemon.c:255 +#: credential-cache--daemon.c:262 msgid "print debugging messages to stderr" msgstr "in thΓ΄ng tin gα»‘ lα»i ra ΔαΊ§u ra lα»i tiΓͺu chuαΊ©n" @@ -11149,6 +11358,10 @@ msgstr "" "hΖ°α»ng dαΊ«n vα» khΓ‘i niα»m. Xem βgit help <lα»nh>β hay βgit help <khΓ‘i-niα»m>β\n" "Δα» xem cΓ‘c ΔαΊ·c tαΊ£ cho lα»nh hay khΓ‘i niα»m cα»₯ thα»." +#: http.c:321 +msgid "Public key pinning not supported with cURL < 7.44.0" +msgstr "Chα»t khΓ³a cΓ΄ng khΓ΄ng Δược hα» trợ vα»i cURL < 7.44.0" + #: common-cmds.h:9 msgid "start a working area (see also: git help tutorial)" msgstr "bαΊ―t ΔαΊ§u mα»t vΓΉng lΓ m viα»c (xem thΓͺm: git help tutorial)" @@ -11232,9 +11445,8 @@ msgid "Update remote refs along with associated objects" msgstr "CαΊp nhαΊt th.chiαΊΏu mΓ‘y chα»§ cΓΉng vα»i cΓ‘c Δα»i tượng liΓͺn quan ΔαΊΏn nΓ³" #: common-cmds.h:32 -msgid "Forward-port local commits to the updated upstream head" -msgstr "" -"Chuyα»n tiαΊΏp nhα»―ng lαΊ§n chuyα»n giao nα»i bα» tα»i head thượng nguα»n ΔΓ£ cαΊp nhαΊt" +msgid "Reapply commits on top of another base tip" +msgstr "Thu hoαΊ‘ch cΓ‘c lαΊ§n chuyα»n giao trΓͺn Δα»nh cα»§a ΔαΊ§u mΓΊt cΖ‘ sα» khΓ‘c" #: common-cmds.h:33 msgid "Reset current HEAD to the specified state" @@ -11950,7 +12162,7 @@ msgstr "KhΓ΄ng thα» tαΊ‘o thΖ° mα»₯c mΓ΄-Δun-con rα»ng β$displaypathβ" msgid "Submodule '$name' ($url) unregistered for path '$displaypath'" msgstr "MΓ΄-Δun-con β$nameβ ($url) Δược bα» ΔΔng kΓ½ cho ΔΖ°α»ng dαΊ«n β$displaypathβ" -#: git-submodule.sh:705 +#: git-submodule.sh:723 #, sh-format msgid "" "Submodule path '$displaypath' not initialized\n" @@ -11959,55 +12171,55 @@ msgstr "" "ΔΖ°α»ng dαΊ«n mΓ΄-Δun-con β$displaypathβ chΖ°a Δược khα»i tαΊ‘o.\n" "CΓ³ lαΊ½ bαΊ‘n muα»n sα» dα»₯ng lα»nh βupdate --initβ?" -#: git-submodule.sh:718 +#: git-submodule.sh:736 #, sh-format msgid "Unable to find current revision in submodule path '$displaypath'" msgstr "" "KhΓ΄ng tΓ¬m thαΊ₯y Δiα»m xΓ©t duyα»t hiα»n hΓ nh trong ΔΖ°α»ng dαΊ«n mΓ΄-Δun-con " "β$displaypathβ" -#: git-submodule.sh:727 +#: git-submodule.sh:745 #, sh-format msgid "Unable to fetch in submodule path '$sm_path'" msgstr "KhΓ΄ng thα» lαΊ₯y vα» trong ΔΖ°α»ng dαΊ«n mΓ΄-Δun-con β$sm_pathβ" -#: git-submodule.sh:751 +#: git-submodule.sh:768 #, sh-format msgid "Unable to fetch in submodule path '$displaypath'" msgstr "KhΓ΄ng thα» lαΊ₯y vα» trong ΔΖ°α»ng dαΊ«n mΓ΄-Δun-con β$displaypathβ" -#: git-submodule.sh:765 +#: git-submodule.sh:788 #, sh-format msgid "Unable to checkout '$sha1' in submodule path '$displaypath'" msgstr "KhΓ΄ng thα» lαΊ₯y ra β$sha1β trong ΔΖ°α»ng dαΊ«n mΓ΄-Δun-con β$displaypathβ" -#: git-submodule.sh:766 +#: git-submodule.sh:789 #, sh-format msgid "Submodule path '$displaypath': checked out '$sha1'" msgstr "ΔΖ°α»ng dαΊ«n mΓ΄-Δun-con β$displaypathβ: ΔΓ£ checkout β$sha1β" -#: git-submodule.sh:770 +#: git-submodule.sh:793 #, sh-format msgid "Unable to rebase '$sha1' in submodule path '$displaypath'" msgstr "KhΓ΄ng thα» cαΊ£i tα» β$sha1β trong ΔΖ°α»ng dαΊ«n mΓ΄-Δun-con β$displaypathβ" -#: git-submodule.sh:771 +#: git-submodule.sh:794 #, sh-format msgid "Submodule path '$displaypath': rebased into '$sha1'" msgstr "ΔΖ°α»ng dαΊ«n mΓ΄-Δun-con β$displaypathβ: Δược rebase vΓ o trong β$sha1β" -#: git-submodule.sh:776 +#: git-submodule.sh:799 #, sh-format msgid "Unable to merge '$sha1' in submodule path '$displaypath'" msgstr "" "KhΓ΄ng thα» hΓ²a trα»n (merge) β$sha1β trong ΔΖ°α»ng dαΊ«n mΓ΄-Δun-con β$displaypathβ" -#: git-submodule.sh:777 +#: git-submodule.sh:800 #, sh-format msgid "Submodule path '$displaypath': merged in '$sha1'" msgstr "ΔΖ°α»ng dαΊ«n mΓ΄-Δun-con β$displaypathβ: Δược hΓ²a trα»n vΓ o β$sha1β" -#: git-submodule.sh:782 +#: git-submodule.sh:805 #, sh-format msgid "" "Execution of '$command $sha1' failed in submodule path '$prefix$sm_path'" @@ -12015,56 +12227,133 @@ msgstr "" "Thα»±c hiα»n khΓ΄ng thΓ nh cΓ΄ng lα»nh β$command $sha1β trong ΔΖ°α»ng dαΊ«n mΓ΄-Δun-con " "β$prefix$sm_pathβ" -#: git-submodule.sh:783 +#: git-submodule.sh:806 #, sh-format msgid "Submodule path '$prefix$sm_path': '$command $sha1'" msgstr "ΔΖ°α»ng dαΊ«n mΓ΄-Δun-con β$prefix$sm_pathβ: β$command $sha1β" -#: git-submodule.sh:813 +#: git-submodule.sh:836 #, sh-format msgid "Failed to recurse into submodule path '$displaypath'" msgstr "GαΊ·p lα»i khi Δα» quy vΓ o trong ΔΖ°α»ng dαΊ«n mΓ΄-Δun-con β$displaypathβ" -#: git-submodule.sh:921 +#: git-submodule.sh:944 msgid "The --cached option cannot be used with the --files option" msgstr "TΓΉy chα»n --cached khΓ΄ng thα» dΓΉng cΓΉng vα»i tΓΉy chα»n --files" -#: git-submodule.sh:973 +#: git-submodule.sh:996 #, sh-format msgid "unexpected mode $mod_dst" msgstr "chαΊΏ Δα» khΓ΄ng nhΖ° mong chα» $mod_dst" -#: git-submodule.sh:993 +#: git-submodule.sh:1016 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_src" msgstr " CαΊ£nh bΓ‘o: $display_name khΓ΄ng chα»©a lαΊ§n chuyα»n giao $sha1_src" -#: git-submodule.sh:996 +#: git-submodule.sh:1019 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_dst" msgstr " CαΊ£nh bΓ‘o: $display_name khΓ΄ng chα»©a lαΊ§n chuyα»n giao $sha1_dst" -#: git-submodule.sh:999 +#: git-submodule.sh:1022 #, sh-format msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst" msgstr "" " CαΊ£nh bΓ‘o: $display_name khΓ΄ng chα»©a nhα»―ng lαΊ§n chuyα»n giao $sha1_src vΓ " "$sha1_dst" -#: git-submodule.sh:1024 +#: git-submodule.sh:1047 msgid "blob" msgstr "blob" -#: git-submodule.sh:1142 +#: git-submodule.sh:1165 #, sh-format msgid "Failed to recurse into submodule path '$sm_path'" msgstr "GαΊ·p lα»i khi Δα» quy vΓ o trong ΔΖ°α»ng dαΊ«n mΓ΄-Δun-con β$sm_pathβ" -#: git-submodule.sh:1206 +#: git-submodule.sh:1229 #, sh-format msgid "Synchronizing submodule url for '$displaypath'" msgstr "Url MΓ΄-Δun-con Δα»ng bα» hΓ³a cho β$displaypathβ" +#~ msgid "Forward-port local commits to the updated upstream head" +#~ msgstr "" +#~ "Chuyα»n tiαΊΏp nhα»―ng lαΊ§n chuyα»n giao nα»i bα» tα»i head thượng nguα»n ΔΓ£ cαΊp nhαΊt" + +#~ msgid "unable to parse format" +#~ msgstr "khΓ΄ng thα» phΓ’n tΓch Δα»nh dαΊ‘ng" + +#~ msgid "improper format entered align:%s" +#~ msgstr "Δα»nh dαΊ‘ng khΓ΄ng ΔΓΊng chα» cΔn chα»nh:%s" + +#~ msgid "Could not set core.worktree in %s" +#~ msgstr "KhΓ΄ng thα» ΔαΊ·t βcore.worktreeβ trong β%sβ." + +#~ msgid "" +#~ "push.default is unset; its implicit value has changed in\n" +#~ "Git 2.0 from 'matching' to 'simple'. To squelch this message\n" +#~ "and maintain the traditional behavior, use:\n" +#~ "\n" +#~ " git config --global push.default matching\n" +#~ "\n" +#~ "To squelch this message and adopt the new behavior now, use:\n" +#~ "\n" +#~ " git config --global push.default simple\n" +#~ "\n" +#~ "When push.default is set to 'matching', git will push local branches\n" +#~ "to the remote branches that already exist with the same name.\n" +#~ "\n" +#~ "Since Git 2.0, Git defaults to the more conservative 'simple'\n" +#~ "behavior, which only pushes the current branch to the corresponding\n" +#~ "remote branch that 'git pull' uses to update the current branch.\n" +#~ "\n" +#~ "See 'git help config' and search for 'push.default' for further " +#~ "information.\n" +#~ "(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n" +#~ "'current' instead of 'simple' if you sometimes use older versions of Git)" +#~ msgstr "" +#~ "biαΊΏn push.default chΖ°a Δược ΔαΊ·t; giΓ‘ trα» ngαΊ§m Δα»nh cα»§a nΓ³\n" +#~ "ΔΓ£ Δược thay Δα»i trong Git 2.0 tα»« βmatchingβ thΓ nh βsimpleβ.\n" +#~ "Δα» khΓ΄ng hiα»n thα» nhαΊ―c nhα» nΓ y vΓ duy trΓ¬ cΓ‘ch xα» lΓ½ cΕ©, hΓ£y chαΊ‘y lα»nh:\n" +#~ "\n" +#~ " git config --global push.default matching\n" +#~ "\n" +#~ "Δα» khΓ΄ng hiα»n thα» nhαΊ―c nhα» nΓ y vΓ Γ‘p dα»₯ng cΓ‘ch α»©ng xα» mα»i, hΓ£y chαΊ‘y " +#~ "lα»nh:\n" +#~ "\n" +#~ " git config --global push.default simple\n" +#~ "\n" +#~ "Khi push.default Δược ΔαΊ·t thΓ nh βmatchingβ, git sαΊ½ ΔαΊ©y cΓ‘c nhΓ‘nh nα»i bα»\n" +#~ "lΓͺn cΓ‘c nhΓ‘nh trΓͺn mΓ‘y chα»§, cΓ‘i mΓ ΔΓ£ sαΊ΅n cΓ³ vΓ cΓΉng tΓͺn.\n" +#~ "\n" +#~ "Trong 2.0, Git sαΊ½ mαΊ·c Δα»nh duy trΓ¬ cΓ‘c α»©ng xα» βsimpleβ,\n" +#~ "cΓ‘i nΓ y chα» ΔαΊ©y nhα»―ng nhΓ‘nh hiα»n hΓ nh lΓͺn cΓ‘c nhΓ‘nh tΖ°Ζ‘ng α»©ng\n" +#~ "trΓͺn mΓ‘y chα»§ cΓ‘i mΓ lα»nh βgit pullβ dΓΉng Δα» cαΊp nhαΊt nhΓ‘nh hiα»n tαΊ‘i.\n" +#~ "\n" +#~ "Xem βgit help configβ vΓ tΓ¬m ΔαΊΏn βpush.defaultβ Δα» cΓ³ thΓͺm thΓ΄ng tin.\n" +#~ "(chαΊΏ Δα» βsimpleβ Δược bαΊ―t ΔαΊ§u sα» dα»₯ng tα»« Git 1.7.11. Sα» dα»₯ng chαΊΏ Δα» tΖ°Ζ‘ng " +#~ "tα»±\n" +#~ "βcurrentβ thay vΓ¬ βsimpleβ nαΊΏu bαΊ‘n thα»nh thoαΊ£ng phαΊ£i sα» dα»₯ng bαΊ£n Git cΕ©)" + +#~ msgid "Could not append '%s'" +#~ msgstr "KhΓ΄ng thα» nα»i thΓͺm β%sβ" + +#~ msgid "Could not set '%s'" +#~ msgstr "KhΓ΄ng thα» ΔαΊ·t β%sβ" + +#~ msgid "unable to look up current user in the passwd file: %s" +#~ msgstr "khΓ΄ng tΓ¬m thαΊ₯y ngΖ°α»i dΓΉng hiα»n tαΊ‘i trong tαΊp tin passwd: %s" + +#~ msgid "no such user" +#~ msgstr "khΓ΄ng cΓ³ ngΖ°α»i dΓΉng nhΖ° vαΊy" + +#~ msgid "Missing author: %s" +#~ msgstr "ThiαΊΏu tΓͺn tΓ‘c giαΊ£: %s" + +#~ msgid "Testing " +#~ msgstr "Δang thα»" + #~ msgid "branch '%s' does not point at a commit" #~ msgstr "nhΓ‘nh β%sβ khΓ΄ng chα» ΔαΊΏn mα»t lαΊ§n chuyα»n giao nΓ o cαΊ£" @@ -12129,9 +12418,6 @@ msgstr "Url MΓ΄-Δun-con Δα»ng bα» hΓ³a cho β$displaypathβ" #~ msgid "unable to parse value '%s' for option %s" #~ msgstr "khΓ΄ng thα» phΓ’n tΓch giΓ‘ trα» β%sβ cho tΓΉy chα»n %s" -#~ msgid "unable to resolve HEAD" -#~ msgstr "khΓ΄ng thα» phΓ’n giαΊ£i HEAD" - #~ msgid "-b and -B are mutually exclusive" #~ msgstr "-b vΓ -B loαΊ‘i tα»« lαΊ«n nhau." @@ -12201,9 +12487,6 @@ msgstr "Url MΓ΄-Δun-con Δα»ng bα» hΓ³a cho β$displaypathβ" #~ msgid "prune .git/worktrees" #~ msgstr "xΓ©n .git/worktrees" -#~ msgid "--worktrees does not take extra arguments" -#~ msgstr "--worktrees khΓ΄ng nhαΊn cΓ‘c Δα»i sα» thΓͺm" - #~ msgid "The most commonly used git commands are:" #~ msgstr "Nhα»―ng lα»nh git hay Δược dΓΉng nhαΊ₯t lΓ :" @@ -12234,9 +12517,6 @@ msgstr "Url MΓ΄-Δun-con Δα»ng bα» hΓ³a cho β$displaypathβ" #~ msgid "force creation (when already exists)" #~ msgstr "Γ©p buα»c tαΊ‘o (khi ΔΓ£ cΓ³ nhΓ‘nh cΓΉng tΓͺn)" -#~ msgid "Malformed ident string: '%s'" -#~ msgstr "Chuα»i thα»₯t lα» ΔαΊ§u dΓ²ng dα» hΓ¬nh: β%sβ" - #~ msgid "slot" #~ msgstr "khe" @@ -12285,9 +12565,6 @@ msgstr "Url MΓ΄-Δun-con Δα»ng bα» hΓ³a cho β$displaypathβ" #~ msgid "bug" #~ msgstr "lα»i" -#~ msgid "ahead " -#~ msgstr "phΓa trΖ°α»c " - #~ msgid ", behind " #~ msgstr ", ΔαΊ±ng sau " diff --git a/po/zh_CN.po b/po/zh_CN.po index c7fed4628b..a6b06f9d39 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -135,8 +135,8 @@ msgid "" msgstr "" "Project-Id-Version: Git\n" "Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\n" -"POT-Creation-Date: 2015-12-22 22:50+0800\n" -"PO-Revision-Date: 2015-12-22 23:06+0800\n" +"POT-Creation-Date: 2016-03-16 00:16+0800\n" +"PO-Revision-Date: 2016-03-16 00:18+0800\n" "Last-Translator: Jiang Xin <worldhello.net@gmail.com>\n" "Language-Team: GitHub <https://github.com/jiangxin/git/>\n" "Language: zh_CN\n" @@ -158,7 +158,7 @@ msgstr "" "θ―·ε¨ε·₯δ½εΊζΉζ£ζδ»ΆοΌηΆει
ζ
δ½Ώη¨ 'git add/rm <ζδ»Ά>' ε½δ»€ζ θ°\n" "θ§£ε³ζΉζ‘εΉΆζδΊ€γ" -#: advice.c:101 builtin/merge.c:1225 +#: advice.c:101 builtin/merge.c:1226 msgid "You have not concluded your merge (MERGE_HEAD exists)." msgstr "ζ¨ε°ζͺη»ζζ¨ηεεΉΆοΌεε¨ MERGE_HEADοΌγ" @@ -201,7 +201,7 @@ msgstr "ζ ΌεΌ" msgid "archive format" msgstr "ε½ζ‘£ζ ΌεΌ" -#: archive.c:430 builtin/log.c:1229 +#: archive.c:430 builtin/log.c:1232 msgid "prefix" msgstr "εηΌ" @@ -209,11 +209,11 @@ msgstr "εηΌ" msgid "prepend prefix to each pathname in the archive" msgstr "δΈΊε½ζ‘£δΈζ―δΈͺθ·―εΎεε δΈεηΌ" -#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2535 -#: builtin/blame.c:2536 builtin/config.c:58 builtin/fast-export.c:987 -#: builtin/fast-export.c:989 builtin/grep.c:707 builtin/hash-object.c:99 -#: builtin/ls-files.c:446 builtin/ls-files.c:449 builtin/notes.c:395 -#: builtin/notes.c:558 builtin/read-tree.c:109 parse-options.h:153 +#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2547 +#: builtin/blame.c:2548 builtin/config.c:60 builtin/fast-export.c:987 +#: builtin/fast-export.c:989 builtin/grep.c:720 builtin/hash-object.c:100 +#: builtin/ls-files.c:459 builtin/ls-files.c:462 builtin/notes.c:398 +#: builtin/notes.c:561 builtin/read-tree.c:109 parse-options.h:153 msgid "file" msgstr "ζδ»Ά" @@ -245,7 +245,7 @@ msgstr "εηΌ©ζζζ΄ε₯½" msgid "list supported archive formats" msgstr "εεΊζ―ζηε½ζ‘£ζ ΌεΌ" -#: archive.c:451 builtin/archive.c:90 builtin/clone.c:77 +#: archive.c:451 builtin/archive.c:90 builtin/clone.c:78 msgid "repo" msgstr "δ»εΊ" @@ -253,7 +253,7 @@ msgstr "δ»εΊ" msgid "retrieve the archive from remote repository <repo>" msgstr "δ»θΏη¨δ»εΊοΌ<δ»εΊ>οΌζεε½ζ‘£ζδ»Ά" -#: archive.c:453 builtin/archive.c:92 builtin/notes.c:479 +#: archive.c:453 builtin/archive.c:92 builtin/notes.c:482 msgid "command" msgstr "ε½δ»€" @@ -261,7 +261,7 @@ msgstr "ε½δ»€" msgid "path to the remote git-upload-archive command" msgstr "θΏη¨ git-upload-archive ε½δ»€ηθ·―εΎ" -#: attr.c:265 +#: attr.c:263 msgid "" "Negative patterns are ignored in git attributes\n" "Use '\\!' for literal leading exclamation." @@ -269,81 +269,97 @@ msgstr "" "θ΄εΌζ¨‘ηε¨ git attributes δΈθ’«εΏ½η₯\n" "ε½ε符串η‘εθ¦δ»₯ζεΉε·εΌε§ζΆοΌδ½Ώη¨ '\\!'γ" -#: branch.c:61 +#: branch.c:53 +#, c-format +msgid "" +"\n" +"After fixing the error cause you may try to fix up\n" +"the remote tracking information by invoking\n" +"\"git branch --set-upstream-to=%s%s%s\"." +msgstr "" +"\n" +"ε¨δΏε€ιθ――εοΌζ¨ε―δ»₯ε°θ―δΏζΉθΏη¨θ·θΈͺεζ―οΌιθΏζ§θ‘ε½δ»€\n" +"\"git branch --set-upstream-to=%s%s%s\" γ" + +#: branch.c:67 #, c-format msgid "Not setting branch %s as its own upstream." msgstr "ζͺθΎη½εζ― %s δ½δΈΊεθͺε·±ηδΈζΈΈγ" -#: branch.c:84 +#: branch.c:93 #, c-format msgid "Branch %s set up to track remote branch %s from %s by rebasing." msgstr "εζ― %1$s θΎη½δΈΊδ½Ώη¨εεΊζ₯θ·θΈͺζ₯θͺ %3$s ηθΏη¨εζ― %2$sγ" -#: branch.c:85 +#: branch.c:94 #, c-format msgid "Branch %s set up to track remote branch %s from %s." msgstr "εζ― %1$s θΎη½δΈΊθ·θΈͺζ₯θͺ %3$s ηθΏη¨εζ― %2$sγ" -#: branch.c:89 +#: branch.c:98 #, c-format msgid "Branch %s set up to track local branch %s by rebasing." msgstr "εζ― %s θΎη½δΈΊδ½Ώη¨εεΊζ₯θ·θΈͺζ¬ε°εζ― %sγ" -#: branch.c:90 +#: branch.c:99 #, c-format msgid "Branch %s set up to track local branch %s." msgstr "εζ― %s θΎη½δΈΊθ·θΈͺζ¬ε°εζ― %sγ" -#: branch.c:95 +#: branch.c:104 #, c-format msgid "Branch %s set up to track remote ref %s by rebasing." msgstr "εζ― %s θΎη½δΈΊδ½Ώη¨εεΊζ₯θ·θΈͺθΏη¨εΌη¨ %sγ" -#: branch.c:96 +#: branch.c:105 #, c-format msgid "Branch %s set up to track remote ref %s." msgstr "εζ― %s θΎη½δΈΊθ·θΈͺθΏη¨εΌη¨ %sγ" -#: branch.c:100 +#: branch.c:109 #, c-format msgid "Branch %s set up to track local ref %s by rebasing." msgstr "εζ― %s θΎη½δΈΊδ½Ώη¨εεΊζ₯θ·θΈͺζ¬ε°εΌη¨ %sγ" -#: branch.c:101 +#: branch.c:110 #, c-format msgid "Branch %s set up to track local ref %s." msgstr "εζ― %s θΎη½δΈΊθ·θΈͺζ¬ε°εΌη¨ %sγ" -#: branch.c:134 +#: branch.c:119 +msgid "Unable to write upstream branch configuration" +msgstr "ζ ζ³εε
₯δΈζΈΈεζ―ι
η½" + +#: branch.c:156 #, c-format msgid "Not tracking: ambiguous information for ref %s" msgstr "ζͺθ·θΈͺοΌεΌη¨ %s ζζ§δΉ" -#: branch.c:163 +#: branch.c:185 #, c-format msgid "'%s' is not a valid branch name." msgstr "'%s' δΈζ―δΈδΈͺζζηεζ―εη§°γ" -#: branch.c:168 +#: branch.c:190 #, c-format msgid "A branch named '%s' already exists." msgstr "δΈδΈͺεζ―ε '%s' ε·²η»εε¨γ" -#: branch.c:176 +#: branch.c:198 msgid "Cannot force update the current branch." msgstr "ζ ζ³εΌΊεΆζ΄ζ°ε½εεζ―γ" -#: branch.c:196 +#: branch.c:218 #, c-format msgid "Cannot setup tracking information; starting point '%s' is not a branch." msgstr "ζ ζ³θΎη½θ·θΈͺδΏ‘ζ―οΌθ΅·ε§ηΉ '%s' δΈζ―δΈδΈͺεζ―γ" -#: branch.c:198 +#: branch.c:220 #, c-format msgid "the requested upstream branch '%s' does not exist" msgstr "θ―·ζ±ηδΈζΈΈεζ― '%s' δΈεε¨" -#: branch.c:200 +#: branch.c:222 msgid "" "\n" "If you are planning on basing your work on an upstream\n" @@ -361,22 +377,22 @@ msgstr "" "ε¦ζζ¨ζ£θ‘εζ¨ιδΈδΈͺθ½δΈε―ΉεΊθΏη¨εζ―ε»Ίη«θ·θΈͺηζ°ηζ¬ε°εζ―οΌ\n" "ζ¨ε―θ½ιθ¦δ½Ώη¨ \"git push -u\" ζ¨ιεζ―εΉΆι
η½εδΈζΈΈηε
³θγ" -#: branch.c:244 +#: branch.c:266 #, c-format msgid "Not a valid object name: '%s'." msgstr "δΈζ―δΈδΈͺζζη对豑εοΌ'%s'γ" -#: branch.c:264 +#: branch.c:286 #, c-format msgid "Ambiguous object name: '%s'." msgstr "ζ§δΉη对豑εοΌ'%s'γ" -#: branch.c:269 +#: branch.c:291 #, c-format msgid "Not a valid branch point: '%s'." msgstr "ζ ζηεζ―ηΉοΌ'%s'γ" -#: branch.c:322 +#: branch.c:344 #, c-format msgid "'%s' is already checked out at '%s'" msgstr "'%s' ε·²η»ζ£εΊε° '%s'" @@ -400,10 +416,10 @@ msgstr "δΈθ½ζεΌ '%s'" msgid "Repository lacks these prerequisite commits:" msgstr "δ»εΊδΈηΌΊε°θΏδΊεΏ
ε€ηζδΊ€οΌ" -#: bundle.c:163 ref-filter.c:1372 sequencer.c:636 sequencer.c:1083 -#: builtin/blame.c:2734 builtin/commit.c:1045 builtin/log.c:334 -#: builtin/log.c:849 builtin/log.c:1461 builtin/log.c:1694 builtin/merge.c:358 -#: builtin/shortlog.c:158 +#: bundle.c:163 ref-filter.c:1462 sequencer.c:627 sequencer.c:1074 +#: builtin/blame.c:2754 builtin/commit.c:1045 builtin/log.c:334 +#: builtin/log.c:852 builtin/log.c:1467 builtin/log.c:1700 builtin/merge.c:358 +#: builtin/shortlog.c:170 msgid "revision walk setup failed" msgstr "ηζ¬ιεθΎη½ε€±θ΄₯" @@ -442,7 +458,7 @@ msgstr "rev-list η»ζ’" msgid "ref '%s' is excluded by the rev-list options" msgstr "εΌη¨ '%s' θ’« rev-list ιι‘Ήζι€" -#: bundle.c:443 builtin/log.c:157 builtin/log.c:1369 builtin/shortlog.c:261 +#: bundle.c:443 builtin/log.c:157 builtin/log.c:1372 builtin/shortlog.c:273 #, c-format msgid "unrecognized argument: %s" msgstr "ζͺθ½θ―ε«ηεζ°οΌ%s" @@ -465,8 +481,8 @@ msgstr "index-pack η»ζ’" msgid "invalid color value: %.*s" msgstr "ζ ζηι’θ²εΌοΌ%.*s" -#: commit.c:40 builtin/am.c:452 builtin/am.c:488 builtin/am.c:1520 -#: builtin/am.c:2149 +#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1505 +#: builtin/am.c:2135 #, c-format msgid "could not parse %s" msgstr "δΈθ½θ§£ζ %s" @@ -480,59 +496,64 @@ msgstr "%s %s δΈζ―δΈδΈͺζδΊ€!" msgid "memory exhausted" msgstr "ε
εθε°½" -#: config.c:474 config.c:476 +#: config.c:475 config.c:477 #, c-format -msgid "bad config file line %d in %s" -msgstr "ι
η½ζδ»Ά %2$s εΊιδΊη¬¬ %1$d θ‘" +msgid "bad config line %d in %s %s" +msgstr "%2$s %3$s εΊιδΊη¬¬ %1$d θ‘" -#: config.c:592 +#: config.c:593 #, c-format -msgid "bad numeric config value '%s' for '%s' in %s: %s" -msgstr "ζδ»Ά %3$s δΈι
η½ει '%2$s' ηζ°εεεΌ '%1$s' θΎη½ιθ――: %4$s" +msgid "bad numeric config value '%s' for '%s' in %s %s: %s" +msgstr "%3$s %4$s δΈι
η½ει '%2$s' ηζ°εεεΌ '%1$s' θΎη½ιθ――: %5$s" -#: config.c:594 +#: config.c:595 #, c-format msgid "bad numeric config value '%s' for '%s': %s" msgstr "ι
η½ει '%2$s' ηζ°εεεΌ '%1$s' θΎη½ιθ――: %3$s" -#: config.c:679 +#: config.c:680 #, c-format msgid "failed to expand user dir in: '%s'" msgstr "ζ ζ³ζ©ε± '%s' δΈηη¨ζ·ηε½" -#: config.c:757 config.c:768 +#: config.c:758 config.c:769 #, c-format msgid "bad zlib compression level %d" msgstr "ιθ――η zlib εηΌ©ηΊ§ε« %d" -#: config.c:890 +#: config.c:891 #, c-format msgid "invalid mode for object creation: %s" msgstr "ζ ζη对豑ε建樑εΌοΌ%s" -#: config.c:1216 +#: config.c:1220 msgid "unable to parse command-line config" msgstr "ζ ζ³θ§£ζε½δ»€θ‘δΈηι
η½" -#: config.c:1277 +#: config.c:1281 msgid "unknown error occured while reading the configuration files" msgstr "ε¨θ―»ει
η½ζδ»ΆζΆιε°ζͺη₯ιθ――" -#: config.c:1601 +#: config.c:1629 #, c-format msgid "unable to parse '%s' from command-line config" msgstr "ζ ζ³θ§£ζε½δ»€θ‘ι
η½δΈη '%s'" -#: config.c:1603 +#: config.c:1631 #, c-format msgid "bad config variable '%s' in file '%s' at line %d" msgstr "ε¨ζδ»Ά '%2$s' η第 %3$d θ‘εη°ιθ――ηι
η½ει '%1$s'" -#: config.c:1662 +#: config.c:1690 #, c-format msgid "%s has multiple values" msgstr "%s ζε€δΈͺεεΌ" +#: config.c:2226 +#, c-format +msgid "Could not set '%s' to '%s'" +msgstr "δΈθ½θΎη½ '%s' δΈΊ '%s'" + #: connected.c:69 msgid "Could not run 'git rev-list'" msgstr "δΈθ½ζ§θ‘ 'git rev-list'" @@ -650,16 +671,16 @@ msgstr "" "εη°ι
η½ει 'diff.dirstat' δΈηιθ――οΌ\n" "%s" -#: diff.c:3000 +#: diff.c:2997 #, c-format msgid "external diff died, stopping at %s" msgstr "ε€ι¨ diff ιεΊοΌεζ’ε¨ %s" -#: diff.c:3396 +#: diff.c:3393 msgid "--follow requires exactly one pathspec" msgstr "--follow εζ°εεͺθ·δΈδΈͺ pathspec" -#: diff.c:3559 +#: diff.c:3556 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" @@ -668,18 +689,18 @@ msgstr "" "ζ ζ³θ§£ζ --dirstat/-X ιι‘Ήηεζ°οΌ\n" "%s" -#: diff.c:3573 +#: diff.c:3570 #, c-format msgid "Failed to parse --submodule option parameter: '%s'" msgstr "ζ ζ³θ§£ζ --submodule ιι‘Ήηεζ°οΌ'%s'" -#: dir.c:1915 +#: dir.c:2004 msgid "failed to get kernel name and information" msgstr "ζ ζ³θ·εΎε
ζ Έεη§°εδΏ‘ζ―" -#: dir.c:1998 -msgid "Untracked cache is disabled on this system." -msgstr "ηΌεζͺθ·θΈͺζδ»Άε¨ζ¬η³»η»θ’«η¦η¨" +#: dir.c:2123 +msgid "Untracked cache is disabled on this system or location." +msgstr "ηΌεζͺθ·θΈͺζδ»Άε¨ζ¬η³»η»ζδ½η½δΈθ’«η¦η¨γ" #: gpg-interface.c:166 gpg-interface.c:237 msgid "could not run gpg." @@ -718,20 +739,20 @@ msgstr "'%s'οΌ%s" msgid "'%s': short read %s" msgstr "'%s'οΌθ―»εδΈεζ΄ %s" -#: help.c:207 +#: help.c:205 #, c-format msgid "available git commands in '%s'" msgstr "ε¨ '%s' δΈε―η¨η git ε½δ»€" -#: help.c:214 +#: help.c:212 msgid "git commands available from elsewhere on your $PATH" msgstr "ε¨ $PATH θ·―εΎδΈηε
Άδ»ε°ζΉε―η¨η git ε½δ»€" -#: help.c:246 +#: help.c:244 msgid "These are common Git commands used in various situations:" msgstr "θΏδΊζ―εη§εΊεεΈΈθ§η Git ε½δ»€οΌ" -#: help.c:311 +#: help.c:309 #, c-format msgid "" "'%s' appears to be a git command, but we were not\n" @@ -740,11 +761,11 @@ msgstr "" "'%s' εζ―δΈδΈͺ git ε½δ»€οΌδ½ε΄ζ ζ³θΏθ‘γ\n" "ε―θ½ζ― git-%s εζοΌ" -#: help.c:368 +#: help.c:366 msgid "Uh oh. Your system reports no Git commands at all." msgstr "εεοΌζ¨ηη³»η»δΈζͺεη° Git ε½δ»€γ" -#: help.c:390 +#: help.c:388 #, c-format msgid "" "WARNING: You called a Git command named '%s', which does not exist.\n" @@ -753,17 +774,17 @@ msgstr "" "θ¦εοΌζ¨θΏθ‘δΈδΈͺδΈεε¨η Git ε½δ»€ '%s'γη»§η»ζ§θ‘εεζ¨θ¦θ¦θΏθ‘η\n" "ζ― '%s'" -#: help.c:395 +#: help.c:393 #, c-format msgid "in %0.1f seconds automatically..." msgstr "ε¨ %0.1f η§ιεθͺε¨θΏθ‘..." -#: help.c:402 +#: help.c:400 #, c-format msgid "git: '%s' is not a git command. See 'git --help'." msgstr "gitοΌ'%s' δΈζ―δΈδΈͺ git ε½δ»€γεθ§ 'git --help'γ" -#: help.c:406 help.c:466 +#: help.c:404 help.c:464 msgid "" "\n" "Did you mean this?" @@ -777,7 +798,7 @@ msgstr[1] "" "\n" "ζ¨ζηζ―θΏε
ΆδΈηζδΈδΈͺδΉοΌ" -#: help.c:462 +#: help.c:460 #, c-format msgid "%s: %s - %s" msgstr "%sοΌ%s - %s" @@ -786,8 +807,8 @@ msgstr "%sοΌ%s - %s" msgid "failed to read the cache" msgstr "ζ ζ³θ―»εηΌε" -#: merge.c:94 builtin/am.c:2022 builtin/am.c:2057 builtin/checkout.c:376 -#: builtin/checkout.c:587 builtin/clone.c:722 +#: merge.c:94 builtin/am.c:2008 builtin/am.c:2043 builtin/checkout.c:376 +#: builtin/checkout.c:587 builtin/clone.c:730 msgid "unable to write new index file" msgstr "ζ ζ³εζ°ηη΄’εΌζδ»Ά" @@ -805,64 +826,64 @@ msgstr "δΈΊθ·―εΎ '%s' addinfo_cache ε€±θ΄₯" msgid "error building trees" msgstr "ζ ζ³εε»Ίζ " -#: merge-recursive.c:686 +#: merge-recursive.c:689 #, c-format msgid "failed to create path '%s'%s" msgstr "ζ ζ³εε»Ίθ·―εΎ '%s'%s" -#: merge-recursive.c:697 +#: merge-recursive.c:700 #, c-format msgid "Removing %s to make room for subdirectory\n" msgstr "ε ι€ %s δ»₯δΎΏδΈΊεηε½ηεΊη©Ίι΄\n" -#: merge-recursive.c:711 merge-recursive.c:732 +#: merge-recursive.c:714 merge-recursive.c:735 msgid ": perhaps a D/F conflict?" msgstr "οΌε―θ½ζ―δΈδΈͺηε½/ζδ»Άε²ηͺοΌ" -#: merge-recursive.c:722 +#: merge-recursive.c:725 #, c-format msgid "refusing to lose untracked file at '%s'" msgstr "ζη»δΈ’εΌ '%s' δΈηζͺθ·θΈͺζδ»Ά" -#: merge-recursive.c:762 +#: merge-recursive.c:765 #, c-format msgid "cannot read object %s '%s'" msgstr "δΈθ½θ―»ε对豑 %s '%s'" -#: merge-recursive.c:764 +#: merge-recursive.c:767 #, c-format msgid "blob expected for %s '%s'" msgstr "%s '%s' εΊδΈΊζ°ζ对豑" -#: merge-recursive.c:787 builtin/clone.c:369 +#: merge-recursive.c:790 builtin/clone.c:374 #, c-format msgid "failed to open '%s'" msgstr "ζ ζ³ζεΌ '%s'" -#: merge-recursive.c:795 +#: merge-recursive.c:798 #, c-format msgid "failed to symlink '%s'" msgstr "ζ ζ³ε建符ε·ιΎζ₯ '%s'" -#: merge-recursive.c:798 +#: merge-recursive.c:801 #, c-format msgid "do not know what to do with %06o %s '%s'" msgstr "δΈη₯ιε¦δ½ε€η %06o %s '%s'" -#: merge-recursive.c:936 +#: merge-recursive.c:939 msgid "Failed to execute internal merge" msgstr "ζ ζ³ζ§θ‘ε
ι¨εεΉΆ" -#: merge-recursive.c:940 +#: merge-recursive.c:943 #, c-format msgid "Unable to add %s to database" msgstr "δΈθ½ζ·»ε %s θ³ε―Ήθ±‘εΊ" -#: merge-recursive.c:956 +#: merge-recursive.c:959 msgid "unsupported object type in the tree" msgstr "ε¨ζ δΈζδΈζ―ζη对豑类ε" -#: merge-recursive.c:1031 merge-recursive.c:1045 +#: merge-recursive.c:1034 merge-recursive.c:1048 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -871,7 +892,7 @@ msgstr "" "ε²ηͺοΌ%1$s/ε ι€οΌοΌ%2$s ε¨ %3$s δΈθ’«ε ι€οΌε¨ %5$s δΈθ’« %4$sγ%7$s ε¨ %6$s δΈ" "ηηζ¬θ’«δΏηγ" -#: merge-recursive.c:1037 merge-recursive.c:1050 +#: merge-recursive.c:1040 merge-recursive.c:1053 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -880,20 +901,20 @@ msgstr "" "ε²ηͺοΌ%1$s/ε ι€οΌοΌ%2$s ε¨ %3$s δΈθ’«ε ι€οΌε¨ %5$s δΈθ’« %4$sγ%7$s ε¨ %6$s δΈ" "ηηζ¬δΏηδΊ %8$s δΈγ" -#: merge-recursive.c:1091 +#: merge-recursive.c:1094 msgid "rename" msgstr "ιε½ε" -#: merge-recursive.c:1091 +#: merge-recursive.c:1094 msgid "renamed" msgstr "ιε½ε" -#: merge-recursive.c:1147 +#: merge-recursive.c:1150 #, c-format msgid "%s is a directory in %s adding as %s instead" msgstr "%s ζ― %s δΈηδΈδΈͺηε½θδ»₯ %s δΈΊεθ’«ζ·»ε " -#: merge-recursive.c:1169 +#: merge-recursive.c:1172 #, c-format msgid "" "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s" @@ -902,144 +923,144 @@ msgstr "" "ε²ηͺοΌιε½ε/ιε½εοΌοΌε¨εζ― \"%3$s\" δΈιε½ε \"%1$s\"->\"%2$s\"οΌε¨εζ― " "\"%6$s\" δΈιε½ε \"%4$s\"->\"%5$s\"%7$s" -#: merge-recursive.c:1174 +#: merge-recursive.c:1177 msgid " (left unresolved)" msgstr "οΌηδΈζͺθ§£ε³οΌ" -#: merge-recursive.c:1228 +#: merge-recursive.c:1231 #, c-format msgid "CONFLICT (rename/rename): Rename %s->%s in %s. Rename %s->%s in %s" msgstr "" "ε²ηͺοΌιε½ε/ιε½εοΌοΌε¨ %3$s δΈιε½ε %1$s->%2$sοΌε¨ %6$s δΈιε½ε %4$s->" "%5$s" -#: merge-recursive.c:1258 +#: merge-recursive.c:1261 #, c-format msgid "Renaming %s to %s and %s to %s instead" msgstr "θζ―ιε½ε %s θ³ %sοΌδ»₯ε %s θ³ %s" -#: merge-recursive.c:1457 +#: merge-recursive.c:1460 #, c-format msgid "CONFLICT (rename/add): Rename %s->%s in %s. %s added in %s" msgstr "ε²ηͺοΌιε½ε/ζ·»ε οΌοΌε¨ %3$s δΈιε½ε %1$s->%2$sγε¨ %5$s δΈζ·»ε %4$s" -#: merge-recursive.c:1467 +#: merge-recursive.c:1470 #, c-format msgid "Adding merged %s" msgstr "ζ·»ε εεΉΆεη %s" -#: merge-recursive.c:1472 merge-recursive.c:1674 +#: merge-recursive.c:1475 merge-recursive.c:1677 #, c-format msgid "Adding as %s instead" msgstr "θζ―δ»₯ %s δΈΊεζ·»ε " -#: merge-recursive.c:1523 +#: merge-recursive.c:1526 #, c-format msgid "cannot read object %s" msgstr "δΈθ½θ―»ε对豑 %s" -#: merge-recursive.c:1526 +#: merge-recursive.c:1529 #, c-format msgid "object %s is not a blob" msgstr "对豑 %s δΈζ―δΈδΈͺζ°ζ对豑" -#: merge-recursive.c:1578 +#: merge-recursive.c:1581 msgid "modify" msgstr "δΏζΉ" -#: merge-recursive.c:1578 +#: merge-recursive.c:1581 msgid "modified" msgstr "δΏζΉ" -#: merge-recursive.c:1588 +#: merge-recursive.c:1591 msgid "content" msgstr "ε
εΉ" -#: merge-recursive.c:1595 +#: merge-recursive.c:1598 msgid "add/add" msgstr "ζ·»ε /ζ·»ε " -#: merge-recursive.c:1629 +#: merge-recursive.c:1632 #, c-format msgid "Skipped %s (merged same as existing)" msgstr "η₯θΏ %sοΌε·²η»εθΏηΈεεεΉΆοΌ" -#: merge-recursive.c:1643 +#: merge-recursive.c:1646 #, c-format msgid "Auto-merging %s" msgstr "θͺε¨εεΉΆ %s" -#: merge-recursive.c:1647 git-submodule.sh:1025 +#: merge-recursive.c:1650 git-submodule.sh:1048 msgid "submodule" msgstr "ε樑η»" -#: merge-recursive.c:1648 +#: merge-recursive.c:1651 #, c-format msgid "CONFLICT (%s): Merge conflict in %s" msgstr "ε²ηͺοΌ%sοΌοΌεεΉΆε²ηͺδΊ %s" -#: merge-recursive.c:1734 +#: merge-recursive.c:1737 #, c-format msgid "Removing %s" msgstr "ε ι€ %s" -#: merge-recursive.c:1759 +#: merge-recursive.c:1762 msgid "file/directory" msgstr "ζδ»Ά/ηε½" -#: merge-recursive.c:1765 +#: merge-recursive.c:1768 msgid "directory/file" msgstr "ηε½/ζδ»Ά" -#: merge-recursive.c:1770 +#: merge-recursive.c:1773 #, c-format msgid "CONFLICT (%s): There is a directory with name %s in %s. Adding %s as %s" msgstr "ε²ηͺοΌ%1$sοΌοΌε¨ %3$s δΈζδΈδΈͺεδΈΊ %2$s ηηε½γδ»₯ %5$s δΈΊεζ·»ε %4$s" -#: merge-recursive.c:1780 +#: merge-recursive.c:1783 #, c-format msgid "Adding %s" msgstr "ζ·»ε %s" -#: merge-recursive.c:1797 +#: merge-recursive.c:1800 msgid "Fatal merge failure, shouldn't happen." msgstr "δΈ₯ιηεεΉΆιθ――οΌδΈεΊεηγ" -#: merge-recursive.c:1816 +#: merge-recursive.c:1819 msgid "Already up-to-date!" msgstr "ε·²η»ζ―ζζ°ηοΌ" -#: merge-recursive.c:1825 +#: merge-recursive.c:1828 #, c-format msgid "merging of trees %s and %s failed" msgstr "ζ ζ³εεΉΆζ %s ε %s" -#: merge-recursive.c:1855 +#: merge-recursive.c:1858 #, c-format msgid "Unprocessed path??? %s" msgstr "ζͺε€ηηθ·―εΎ??? %s" -#: merge-recursive.c:1903 +#: merge-recursive.c:1906 msgid "Merging:" msgstr "εεΉΆοΌ" -#: merge-recursive.c:1916 +#: merge-recursive.c:1919 #, c-format msgid "found %u common ancestor:" msgid_plural "found %u common ancestors:" msgstr[0] "εη° %u δΈͺε
±εη₯ε
οΌ" msgstr[1] "εη° %u δΈͺε
±εη₯ε
οΌ" -#: merge-recursive.c:1953 +#: merge-recursive.c:1956 msgid "merge returned no commit" msgstr "εεΉΆζͺθΏεζδΊ€" -#: merge-recursive.c:2010 +#: merge-recursive.c:2013 #, c-format msgid "Could not parse object '%s'" msgstr "δΈθ½θ§£ζ对豑 '%s'" -#: merge-recursive.c:2021 builtin/merge.c:645 +#: merge-recursive.c:2024 builtin/merge.c:646 msgid "Unable to write index." msgstr "δΈθ½εε
₯η΄’εΌγ" @@ -1154,12 +1175,12 @@ msgstr "θ·―εΎθ§ζ Ό '%s' ε¨εζ¨‘η» '%.*s' δΈ" msgid "%s: pathspec magic not supported by this command: %s" msgstr "%sοΌθ·―εΎθ§ζ Όη₯ε₯εηΌδΈθ’«ζ€ε½δ»€ζ―ζοΌ%s" -#: pathspec.c:432 +#: pathspec.c:433 #, c-format msgid "pathspec '%s' is beyond a symbolic link" msgstr "θ·―εΎθ§ζ Ό '%s' δ½δΊη¬¦ε·ιΎζ₯δΈ" -#: pathspec.c:441 +#: pathspec.c:442 msgid "" "There is nothing to exclude from by :(exclude) patterns.\n" "Perhaps you forgot to add either ':/' or '.' ?" @@ -1193,163 +1214,248 @@ msgstr "" "θΎη½δΊ GIT_INDEX_VERSIONοΌδ½ζ―εεΌζ ζγ\n" "δ½Ώη¨ηζ¬ %i" -#: refs.c:543 builtin/merge.c:760 builtin/merge.c:871 builtin/merge.c:973 -#: builtin/merge.c:983 +#: refs.c:543 builtin/merge.c:761 builtin/merge.c:872 builtin/merge.c:974 +#: builtin/merge.c:984 #, c-format msgid "Could not open '%s' for writing" msgstr "ζ ζ³ζεΌ '%s' θΏθ‘εε
₯" -#: refs/files-backend.c:2359 +#: refs/files-backend.c:2374 #, c-format msgid "could not delete reference %s: %s" msgstr "ζ ζ³ε ι€εΌη¨ %sοΌ%s" -#: refs/files-backend.c:2362 +#: refs/files-backend.c:2377 #, c-format msgid "could not delete references: %s" msgstr "ζ ζ³ε ι€εΌη¨οΌ%s" -#: refs/files-backend.c:2371 +#: refs/files-backend.c:2386 #, c-format msgid "could not remove reference %s" msgstr "ζ ζ³ε ι€εΌη¨ %s" -#: ref-filter.c:245 +#: ref-filter.c:55 #, c-format -msgid "format: %%(end) atom used without corresponding atom" -msgstr "ζ ΌεΌοΌδ½Ώη¨δΊ %%(end) ε
η΄ ε΄ζ²‘ζεηε―ΉεΊε
η΄ " +msgid "expected format: %%(color:<color>)" +msgstr "ζζηζ ΌεΌοΌ%%(color:<color>)" -#: ref-filter.c:704 +#: ref-filter.c:57 +#, c-format +msgid "unrecognized color: %%(color:%s)" +msgstr "ζͺθ½θ―ε«ηι’θ²οΌ%%(color:%s)" + +#: ref-filter.c:71 +#, c-format +msgid "unrecognized format: %%(%s)" +msgstr "ζͺθ½θ―ε«ηζ ΌεΌοΌ%%(%s)" + +#: ref-filter.c:77 +#, c-format +msgid "%%(body) does not take arguments" +msgstr "%%(body) δΈεΈ¦εζ°" + +#: ref-filter.c:84 +#, c-format +msgid "%%(subject) does not take arguments" +msgstr "%%(subject) δΈεΈ¦εζ°" + +#: ref-filter.c:101 #, c-format msgid "positive value expected contents:lines=%s" msgstr "θ¦δΈΊ contents:lines=%s ζδΎδΈδΈͺζ£ζ°" -#: ref-filter.c:833 +#: ref-filter.c:103 #, c-format -msgid "expected format: %%(color:<color>)" -msgstr "ζζηζ ΌεΌοΌ%%(color:<color>)" +msgid "unrecognized %%(contents) argument: %s" +msgstr "ζͺθ½θ―ε«η %%(contents) εζ°οΌ%s" -#: ref-filter.c:835 -msgid "unable to parse format" -msgstr "δΈθ½θ§£ζζ ΌεΌ" +#: ref-filter.c:113 +#, c-format +msgid "unrecognized %%(objectname) argument: %s" +msgstr "ζͺθ½θ―ε«η %%(objectname) εζ°οΌ%s" -#: ref-filter.c:870 +#: ref-filter.c:135 #, c-format msgid "expected format: %%(align:<width>,<position>)" msgstr "ζζηζ ΌεΌοΌ%%(align:<width>,<position>)" -#: ref-filter.c:893 +#: ref-filter.c:147 +#, c-format +msgid "unrecognized position:%s" +msgstr "ζͺθ½θ―ε«ηδ½η½οΌ%s" + +#: ref-filter.c:151 +#, c-format +msgid "unrecognized width:%s" +msgstr "ζͺθ½θ―ε«ηε½εΊ¦οΌ%s" + +#: ref-filter.c:157 #, c-format -msgid "improper format entered align:%s" -msgstr "θΎε
₯δΊδΈζ£η‘ηζ ΌεΌ align:%s" +msgid "unrecognized %%(align) argument: %s" +msgstr "ζͺθ½θ―ε«η %%(align) εζ°οΌ%s" -#: ref-filter.c:898 +#: ref-filter.c:161 #, c-format msgid "positive width expected with the %%(align) atom" msgstr "ε
η΄ %%(align) ιθ¦δΈδΈͺζ£ζ°ηε½εΊ¦" -#: ref-filter.c:1219 +#: ref-filter.c:244 +#, c-format +msgid "malformed field name: %.*s" +msgstr "ιζ³ηεζ΅εοΌ%.*s" + +#: ref-filter.c:270 +#, c-format +msgid "unknown field name: %.*s" +msgstr "ζͺη₯ηεζ΅εοΌ%.*s" + +#: ref-filter.c:372 +#, c-format +msgid "format: %%(end) atom used without corresponding atom" +msgstr "ζ ΌεΌοΌδ½Ώη¨δΊ %%(end) ε
η΄ ε΄ζ²‘ζεηε―ΉεΊε
η΄ " + +#: ref-filter.c:424 +#, c-format +msgid "malformed format string %s" +msgstr "ιζ³ηζ ΌεΌεε符串 %s" + +#: ref-filter.c:878 +msgid ":strip= requires a positive integer argument" +msgstr ":strip= ιθ¦δΈδΈͺζ£ζ΄εεζ°" + +#: ref-filter.c:883 +#, c-format +msgid "ref '%s' does not have %ld components to :strip" +msgstr "εΌη¨ '%s' ζͺζδΎη¨δΊ :strip η %ld δΈͺη»δ»Ά" + +#: ref-filter.c:1046 +#, c-format +msgid "unknown %.*s format %s" +msgstr "ζͺη₯η %.*s ζ ΌεΌ %s" + +#: ref-filter.c:1066 ref-filter.c:1097 +#, c-format +msgid "missing object %s for %s" +msgstr "ηΌΊε€± %2$s η对豑 %1$s" + +#: ref-filter.c:1069 ref-filter.c:1100 +#, c-format +msgid "parse_object_buffer failed on %s for %s" +msgstr "parse_object_buffer ε€±θ΄₯δΊ %2$s η %1$s" + +#: ref-filter.c:1311 #, c-format msgid "malformed object at '%s'" msgstr "ιζ³ηε―Ήθ±‘δΊ '%s'" -#: ref-filter.c:1561 +#: ref-filter.c:1373 +#, c-format +msgid "ignoring ref with broken name %s" +msgstr "εΏ½η₯εΈ¦ζιθ――εη§° %s ηεΌη¨" + +#: ref-filter.c:1378 +#, c-format +msgid "ignoring broken ref %s" +msgstr "εΏ½η₯ζεηεΌη¨ %s" + +#: ref-filter.c:1651 #, c-format msgid "format: %%(end) atom missing" msgstr "ζ ΌεΌοΌηΌΊε° %%(end) ε
η΄ " -#: ref-filter.c:1615 +#: ref-filter.c:1705 #, c-format msgid "malformed object name %s" msgstr "ιζ³η对豑ε %s" -#: remote.c:756 +#: remote.c:745 #, c-format msgid "Cannot fetch both %s and %s to %s" msgstr "δΈθ½εζΆθ·ε %s ε %s θ³ %s" -#: remote.c:760 +#: remote.c:749 #, c-format msgid "%s usually tracks %s, not %s" msgstr "%s ιεΈΈθ·θΈͺ %sοΌθι %s" -#: remote.c:764 +#: remote.c:753 #, c-format msgid "%s tracks both %s and %s" msgstr "%s εζΆθ·θΈͺ %s ε %s" -#: remote.c:772 +#: remote.c:761 msgid "Internal error" msgstr "ε
ι¨ιθ――" -#: remote.c:1687 remote.c:1730 +#: remote.c:1677 remote.c:1720 msgid "HEAD does not point to a branch" msgstr "HEAD 沑ζζεδΈδΈͺεζ―" -#: remote.c:1696 +#: remote.c:1686 #, c-format msgid "no such branch: '%s'" msgstr "沑ζζ€εζ―οΌ'%s'" -#: remote.c:1699 +#: remote.c:1689 #, c-format msgid "no upstream configured for branch '%s'" msgstr "ε°ζͺη»εζ― '%s' θΎη½δΈζΈΈ" -#: remote.c:1705 +#: remote.c:1695 #, c-format msgid "upstream branch '%s' not stored as a remote-tracking branch" msgstr "δΈζΈΈεζ― '%s' 沑ζεε¨δΈΊδΈδΈͺθΏη¨θ·θΈͺεζ―" -#: remote.c:1720 +#: remote.c:1710 #, c-format msgid "push destination '%s' on remote '%s' has no local tracking branch" msgstr "ζ¨ιηζ '%s' θ³θΏη¨ '%s' 沑ζζ¬ε°θ·θΈͺεζ―" -#: remote.c:1735 +#: remote.c:1725 #, c-format msgid "branch '%s' has no remote for pushing" msgstr "εζ― '%s' 沑ζθΎη½θ¦ζ¨ιηθΏη¨ζε‘ε¨" -#: remote.c:1746 +#: remote.c:1736 #, c-format msgid "push refspecs for '%s' do not include '%s'" msgstr "ε '%s' ζ¨ιεΌη¨θ§ζ Όζͺε
ε« '%s'" -#: remote.c:1759 +#: remote.c:1749 msgid "push has no destination (push.default is 'nothing')" msgstr "ζ¨ιζ ηζ οΌpush.default ζ― 'nothing'οΌ" -#: remote.c:1781 +#: remote.c:1771 msgid "cannot resolve 'simple' push to a single destination" msgstr "ζ ζ³θ§£ζ 'simple' ζ¨ιθ³δΈδΈͺεη¬ηηζ " -#: remote.c:2083 +#: remote.c:2073 #, c-format msgid "Your branch is based on '%s', but the upstream is gone.\n" msgstr "ζ¨ηεζ―εΊδΊ '%s'οΌδ½ζ€δΈζΈΈεζ―ε·²η»δΈεε¨γ\n" -#: remote.c:2087 +#: remote.c:2077 msgid " (use \"git branch --unset-upstream\" to fixup)\n" msgstr " οΌδ½Ώη¨ \"git branch --unset-upstream\" ζ₯δΏε€οΌ\n" -#: remote.c:2090 +#: remote.c:2080 #, c-format msgid "Your branch is up-to-date with '%s'.\n" msgstr "ζ¨ηεζ―δΈδΈζΈΈεζ― '%s' δΈθ΄γ\n" -#: remote.c:2094 +#: remote.c:2084 #, c-format msgid "Your branch is ahead of '%s' by %d commit.\n" msgid_plural "Your branch is ahead of '%s' by %d commits.\n" msgstr[0] "ζ¨ηεζ―ι’ε
'%s' ε
± %d δΈͺζδΊ€γ\n" msgstr[1] "ζ¨ηεζ―ι’ε
'%s' ε
± %d δΈͺζδΊ€γ\n" -#: remote.c:2100 +#: remote.c:2090 msgid " (use \"git push\" to publish your local commits)\n" msgstr " οΌδ½Ώη¨ \"git push\" ζ₯εεΈζ¨ηζ¬ε°ζδΊ€οΌ\n" -#: remote.c:2103 +#: remote.c:2093 #, c-format msgid "Your branch is behind '%s' by %d commit, and can be fast-forwarded.\n" msgid_plural "" @@ -1358,11 +1464,11 @@ msgstr[0] "ζ¨ηεζ―θ½ε '%s' ε
± %d δΈͺζδΊ€οΌεΉΆδΈε―δ»₯εΏ«θΏγ\n" msgstr[1] "ζ¨ηεζ―θ½ε '%s' ε
± %d δΈͺζδΊ€οΌεΉΆδΈε―δ»₯εΏ«θΏγ\n" # θ―θ
οΌζ³¨ζδΏζεε―Όη©Ίζ Ό -#: remote.c:2111 +#: remote.c:2101 msgid " (use \"git pull\" to update your local branch)\n" msgstr " οΌδ½Ώη¨ \"git pull\" ζ₯ζ΄ζ°ζ¨ηζ¬ε°εζ―οΌ\n" -#: remote.c:2114 +#: remote.c:2104 #, c-format msgid "" "Your branch and '%s' have diverged,\n" @@ -1378,28 +1484,28 @@ msgstr[1] "" "εΉΆδΈεε«ζ %d ε %d ε€δΈεηζδΊ€γ\n" # θ―θ
οΌζ³¨ζδΏζεε―Όη©Ίζ Ό -#: remote.c:2124 +#: remote.c:2114 msgid " (use \"git pull\" to merge the remote branch into yours)\n" msgstr " οΌδ½Ώη¨ \"git pull\" ζ₯εεΉΆθΏη¨εζ―οΌ\n" -#: revision.c:2193 +#: revision.c:2131 msgid "your current branch appears to be broken" msgstr "ζ¨ηε½εεζ―ε₯½εθ’«ζε" -#: revision.c:2196 +#: revision.c:2134 #, c-format msgid "your current branch '%s' does not have any commits yet" msgstr "ζ¨ηε½εεζ― '%s' ε°ζ δ»»δ½ζδΊ€" -#: revision.c:2390 +#: revision.c:2328 msgid "--first-parent is incompatible with --bisect" msgstr "--first-parent δΈ --bisect δΈε
ΌεΉ" -#: run-command.c:90 +#: run-command.c:92 msgid "open /dev/null failed" msgstr "δΈθ½ζεΌ /dev/null" -#: run-command.c:92 +#: run-command.c:94 #, c-format msgid "dup2(%d,%d) failed" msgstr "δΈθ½θ°η¨ dup2(%d,%d)" @@ -1422,7 +1528,7 @@ msgstr "ζͺειζ¨ιθ―δΉ¦οΌε δΈΊζ₯ζΆη«―δΈζ―ζηΎεζ¨ι" msgid "the receiving end does not support --atomic push" msgstr "ζ₯ζΆη«―δΈζ―ζεεζ¨ι" -#: sequencer.c:183 +#: sequencer.c:174 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'" @@ -1430,7 +1536,7 @@ msgstr "" "ε²ηͺθ§£ε³εζ―εοΌη¨ 'git add <θ·―εΎ>' ζ 'git rm <θ·―εΎ>'\n" "ε½δ»€ζ θ°δΏζ£εηζδ»Ά" -#: sequencer.c:186 +#: sequencer.c:177 msgid "" "after resolving the conflicts, mark the corrected paths\n" "with 'git add <paths>' or 'git rm <paths>'\n" @@ -1439,229 +1545,243 @@ msgstr "" "ε²ηͺθ§£ε³εζ―εοΌη¨ 'git add <θ·―εΎ>' ζ 'git rm <θ·―εΎ>'\n" "ε―ΉδΏζ£εηζδ»Άεζ θ°οΌηΆεη¨ 'git commit' ζδΊ€" -#: sequencer.c:199 sequencer.c:842 sequencer.c:922 +#: sequencer.c:190 sequencer.c:833 sequencer.c:913 #, c-format msgid "Could not write to %s" msgstr "δΈθ½εε
₯ %s" -#: sequencer.c:202 +#: sequencer.c:193 #, c-format msgid "Error wrapping up %s" msgstr "ιθ――ζΆε°Ύ %s" -#: sequencer.c:217 +#: sequencer.c:208 msgid "Your local changes would be overwritten by cherry-pick." msgstr "ζ¨ηζ¬ε°δΏζΉε°θ’«ζ£ιζδ½θ¦ηγ" -#: sequencer.c:219 +#: sequencer.c:210 msgid "Your local changes would be overwritten by revert." msgstr "ζ¨ηζ¬ε°δΏζΉε°θ’«θΏεζδ½θ¦ηγ" -#: sequencer.c:222 +#: sequencer.c:213 msgid "Commit your changes or stash them to proceed." msgstr "ζδΊ€ζ¨ηδΏζΉζδΏεθΏεΊ¦εεη»§η»γ" #. TRANSLATORS: %s will be "revert" or "cherry-pick" -#: sequencer.c:309 +#: sequencer.c:300 #, c-format msgid "%s: Unable to write new index file" msgstr "%sοΌζ ζ³εε
₯ζ°η΄’εΌζδ»Ά" -#: sequencer.c:327 +#: sequencer.c:318 msgid "Could not resolve HEAD commit\n" msgstr "δΈθ½θ§£ζ HEAD ζδΊ€\n" -#: sequencer.c:347 +#: sequencer.c:338 msgid "Unable to update cache tree\n" msgstr "δΈθ½ζ΄ζ°ηΌε\n" -#: sequencer.c:399 +#: sequencer.c:390 #, c-format msgid "Could not parse commit %s\n" msgstr "δΈθ½θ§£ζζδΊ€ %s\n" -#: sequencer.c:404 +#: sequencer.c:395 #, c-format msgid "Could not parse parent commit %s\n" msgstr "δΈθ½θ§£ζηΆζδΊ€ %s\n" -#: sequencer.c:469 +#: sequencer.c:460 msgid "Your index file is unmerged." msgstr "ζ¨ηη΄’εΌζδ»ΆζͺεζεεΉΆγ" -#: sequencer.c:488 +#: sequencer.c:479 #, c-format msgid "Commit %s is a merge but no -m option was given." msgstr "ζδΊ€ %s ζ―δΈδΈͺεεΉΆζδΊ€δ½ζͺζδΎ -m ιι‘Ήγ" -#: sequencer.c:496 +#: sequencer.c:487 #, c-format msgid "Commit %s does not have parent %d" msgstr "ζδΊ€ %s 沑ζηΆζδΊ€ %d" -#: sequencer.c:500 +#: sequencer.c:491 #, c-format msgid "Mainline was specified but commit %s is not a merge." msgstr "ζεδΊδΈ»ηΊΏδ½ζδΊ€ %s δΈζ―δΈδΈͺεεΉΆγ" #. TRANSLATORS: The first %s will be "revert" or #. "cherry-pick", the second %s a SHA1 -#: sequencer.c:513 +#: sequencer.c:504 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "%sοΌδΈθ½θ§£ζηΆζδΊ€ %s" -#: sequencer.c:517 +#: sequencer.c:508 #, c-format msgid "Cannot get commit message for %s" msgstr "δΈθ½εΎε° %s ηζδΊ€θ―΄ζ" -#: sequencer.c:603 +#: sequencer.c:594 #, c-format msgid "could not revert %s... %s" msgstr "δΈθ½θΏε %s... %s" -#: sequencer.c:604 +#: sequencer.c:595 #, c-format msgid "could not apply %s... %s" msgstr "δΈθ½εΊη¨ %s... %s" -#: sequencer.c:639 +#: sequencer.c:630 msgid "empty commit set passed" msgstr "ζδΎδΊη©ΊηζδΊ€ι" -#: sequencer.c:647 +#: sequencer.c:638 #, c-format msgid "git %s: failed to read the index" msgstr "git %sοΌζ ζ³θ―»εη΄’εΌ" -#: sequencer.c:651 +#: sequencer.c:642 #, c-format msgid "git %s: failed to refresh the index" msgstr "git %sοΌζ ζ³ε·ζ°η΄’εΌ" -#: sequencer.c:711 +#: sequencer.c:702 #, c-format msgid "Cannot %s during a %s" msgstr "ζ ζ³ %s ε¨δΈδΈͺ %s θΏη¨δΈ" -#: sequencer.c:733 +#: sequencer.c:724 #, c-format msgid "Could not parse line %d." msgstr "δΈθ½θ§£ζ第 %d θ‘γ" -#: sequencer.c:738 +#: sequencer.c:729 msgid "No commits parsed." msgstr "沑ζζδΊ€θ’«θ§£ζγ" -#: sequencer.c:750 +#: sequencer.c:741 #, c-format msgid "Could not open %s" msgstr "δΈθ½ζεΌ %s" -#: sequencer.c:754 +#: sequencer.c:745 #, c-format msgid "Could not read %s." msgstr "δΈθ½θ―»ε %sγ" -#: sequencer.c:761 +#: sequencer.c:752 #, c-format msgid "Unusable instruction sheet: %s" msgstr "ζ η¨ηζ什葨εοΌ%s" -#: sequencer.c:791 +#: sequencer.c:782 #, c-format msgid "Invalid key: %s" msgstr "ζ ζιεοΌ%s" -#: sequencer.c:794 builtin/pull.c:47 builtin/pull.c:49 +#: sequencer.c:785 builtin/pull.c:50 builtin/pull.c:52 #, c-format msgid "Invalid value for %s: %s" msgstr "%s ηεΌζ ζοΌ%s" -#: sequencer.c:804 +#: sequencer.c:795 #, c-format msgid "Malformed options sheet: %s" msgstr "ιζ³ηι鑹葨εοΌ%s" -#: sequencer.c:823 +#: sequencer.c:814 msgid "a cherry-pick or revert is already in progress" msgstr "δΈδΈͺζ£ιζθΏεζδ½ε·²ε¨θΏθ‘" -#: sequencer.c:824 +#: sequencer.c:815 msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" msgstr "ε°θ― \"git cherry-pick (--continue | --quit | --abort)\"" -#: sequencer.c:828 +#: sequencer.c:819 #, c-format msgid "Could not create sequencer directory %s" msgstr "δΈθ½εε»ΊεΊεηε½ %s" -#: sequencer.c:844 sequencer.c:926 +#: sequencer.c:835 sequencer.c:917 #, c-format msgid "Error wrapping up %s." msgstr "ιθ――ζΆε°Ύ %sγ" -#: sequencer.c:863 sequencer.c:996 +#: sequencer.c:854 sequencer.c:987 msgid "no cherry-pick or revert in progress" msgstr "ζ£ιζθΏεζδ½εΉΆζͺθΏθ‘" -#: sequencer.c:865 +#: sequencer.c:856 msgid "cannot resolve HEAD" msgstr "δΈθ½θ§£ζ HEAD" -#: sequencer.c:867 +#: sequencer.c:858 msgid "cannot abort from a branch yet to be born" msgstr "δΈθ½δ»ε°ζͺε»Ίη«ηεζ―η»ζ’" -#: sequencer.c:887 builtin/apply.c:4287 +#: sequencer.c:878 builtin/apply.c:4287 #, c-format msgid "cannot open %s: %s" msgstr "δΈθ½ζεΌ %sοΌ%s" -#: sequencer.c:890 +#: sequencer.c:881 #, c-format msgid "cannot read %s: %s" msgstr "δΈθ½θ―»ε %sοΌ%s" -#: sequencer.c:891 +#: sequencer.c:882 msgid "unexpected end of file" msgstr "ζε€ηζδ»Άη»ζ" -#: sequencer.c:897 +#: sequencer.c:888 #, c-format msgid "stored pre-cherry-pick HEAD file '%s' is corrupt" msgstr "δΏεζ£ιζδΊ€εη HEAD ζδ»Ά '%s' ζε" -#: sequencer.c:919 +#: sequencer.c:910 #, c-format msgid "Could not format %s." msgstr "δΈθ½ζ ΌεΌε %sγ" -#: sequencer.c:1064 +#: sequencer.c:1055 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "%sοΌδΈθ½ζ£ιδΈδΈͺ%s" -#: sequencer.c:1067 +#: sequencer.c:1058 #, c-format msgid "%s: bad revision" msgstr "%sοΌιθ――ηηζ¬" -#: sequencer.c:1101 +#: sequencer.c:1092 msgid "Can't revert as initial commit" msgstr "δΈθ½δ½δΈΊεε§ζδΊ€θΏε" -#: sequencer.c:1102 +#: sequencer.c:1093 msgid "Can't cherry-pick into empty head" msgstr "δΈθ½ζ£ιε°η©Ίεζ―" -#: setup.c:248 +#: setup.c:246 #, c-format msgid "failed to read %s" msgstr "ζ ζ³θ―»ε %s" -#: sha1_name.c:463 +#: sha1_file.c:1080 +msgid "offset before end of packfile (broken .idx?)" +msgstr "εη§»ιε¨ε
ζδ»Άη»ζδΉεοΌζεη .idxοΌοΌ" + +#: sha1_file.c:2459 +#, c-format +msgid "offset before start of pack index for %s (corrupt index?)" +msgstr "εη§»ιε¨ %s ηε
η΄’εΌεΌε§δΉεοΌζεηη΄’εΌοΌοΌ" + +#: sha1_file.c:2463 +#, c-format +msgid "offset beyond end of pack index for %s (truncated index?)" +msgstr "εη§»ιθΆθΏδΊ %s ηε
η΄’εΌηη»ε°ΎοΌθ’«ζͺζηη΄’εΌοΌοΌ" + +#: sha1_name.c:462 msgid "" "Git normally never creates a ref that ends with 40 hex characters\n" "because it will be ignored when you just specify 40-hex. These refs\n" @@ -1682,60 +1802,84 @@ msgstr "" "ε―θ½ιθ¦ε ι€ε们γη¨ \"git config advice.objectNameWarning false\"\n" "ε½δ»€ε
³ιζ¬ζΆζ―ιη₯γ" -#: submodule.c:61 submodule.c:95 +#: submodule.c:62 submodule.c:96 msgid "Cannot change unmerged .gitmodules, resolve merge conflicts first" msgstr "ζ ζ³δΏζΉζͺεεΉΆη .gitmodulesοΌε
θ§£ε³εεΉΆε²ηͺ" -#: submodule.c:65 submodule.c:99 +#: submodule.c:66 submodule.c:100 #, c-format msgid "Could not find section in .gitmodules where path=%s" msgstr "ζ ζ³ε¨ .gitmodules δΈζΎε° path=%s ηε°θ" -#: submodule.c:73 +#: submodule.c:74 #, c-format msgid "Could not update .gitmodules entry %s" msgstr "δΈθ½ζ΄ζ° .gitmodules ζ‘η %s" -#: submodule.c:106 +#: submodule.c:107 #, c-format msgid "Could not remove .gitmodules entry for %s" msgstr "ζ ζ³η§»ι€ %s η .gitmodules ζ‘η" -#: submodule.c:117 +#: submodule.c:118 msgid "staging updated .gitmodules failed" msgstr "ε°ζ΄ζ°ε .gitmodules ζ·»ε ζεεΊε€±θ΄₯" -#: submodule.c:1040 +#: trailer.c:237 #, c-format -msgid "Could not set core.worktree in %s" -msgstr "δΈθ½ε¨ %s δΈθΎη½ core.worktree" +msgid "running trailer command '%s' failed" +msgstr "ζ§θ‘ trailer ε½δ»€ '%s' ε€±θ΄₯" -#: trailer.c:491 trailer.c:495 trailer.c:499 trailer.c:553 trailer.c:557 -#: trailer.c:561 +#: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558 +#: trailer.c:562 #, c-format msgid "unknown value '%s' for key '%s'" msgstr "ι '%2$s' ηζͺη₯εεΌ '%1$s'" -#: trailer.c:543 trailer.c:548 builtin/remote.c:296 +#: trailer.c:544 trailer.c:549 builtin/remote.c:289 #, c-format msgid "more than one %s" msgstr "ε€δΊδΈδΈͺ %s" -#: trailer.c:581 +#: trailer.c:582 #, c-format msgid "empty trailer token in trailer '%.*s'" msgstr "ηΎε '%.*s' ηιδΈΊη©Ί" -#: trailer.c:701 +#: trailer.c:702 #, c-format msgid "could not read input file '%s'" msgstr "δΈθ½θ―»εθΎε
₯ζδ»Ά '%s'" -#: trailer.c:704 +#: trailer.c:705 msgid "could not read from stdin" msgstr "δΈθ½θͺζ εθΎε
₯θ―»ε" -#: transport-helper.c:1025 +#: trailer.c:857 builtin/am.c:42 +#, c-format +msgid "could not stat %s" +msgstr "δΈθ½θ·ε %s ηζδ»ΆηΆζ" + +#: trailer.c:859 +#, c-format +msgid "file %s is not a regular file" +msgstr "ζδ»Ά %s δΈζ―δΈδΈͺζ£θ§ζδ»Ά" + +#: trailer.c:861 +#, c-format +msgid "file %s is not writable by user" +msgstr "ζδ»Ά %s η¨ζ·δΈε―ε" + +#: trailer.c:873 +msgid "could not open temporary file" +msgstr "δΈθ½ζεΌδΈ΄ζΆζδ»Ά" + +#: trailer.c:912 +#, c-format +msgid "could not rename temporary file to %s" +msgstr "δΈθ½ιε½εδΈ΄ζΆζδ»ΆδΈΊ %s" + +#: transport-helper.c:1041 #, c-format msgid "Could not read ref %s" msgstr "δΈθ½θ―»εεΌη¨ %s" @@ -1773,47 +1917,47 @@ msgstr "ζ ζηη«―ε£ε·" msgid "invalid '..' path segment" msgstr "ζ ζη '..' θ·―εΎηζ΅" -#: wrapper.c:219 wrapper.c:362 +#: wrapper.c:222 wrapper.c:381 #, c-format msgid "could not open '%s' for reading and writing" msgstr "ζ ζ³ζεΌ '%s' θΏθ‘θ―»ε" -#: wrapper.c:221 wrapper.c:364 +#: wrapper.c:224 wrapper.c:383 #, c-format msgid "could not open '%s' for writing" msgstr "ζ ζ³ζεΌ '%s' θΏθ‘εε
₯" -#: wrapper.c:223 wrapper.c:366 builtin/am.c:338 builtin/commit.c:1691 -#: builtin/merge.c:1074 builtin/pull.c:380 +#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/commit.c:1691 +#: builtin/merge.c:1075 builtin/pull.c:387 #, c-format msgid "could not open '%s' for reading" msgstr "ζ ζ³ζεΌ '%s' θΏθ‘θ―»ε" -#: wrapper.c:579 +#: wrapper.c:611 #, c-format msgid "unable to access '%s': %s" msgstr "δΈθ½θΏι '%s'οΌ%s" -#: wrapper.c:600 +#: wrapper.c:632 #, c-format msgid "unable to access '%s'" msgstr "δΈθ½θΏι '%s'" -#: wrapper.c:608 +#: wrapper.c:640 msgid "unable to get current working directory" msgstr "δΈθ½θ·εε½εε·₯δ½ηε½" -#: wrapper.c:635 +#: wrapper.c:667 #, c-format msgid "could not open %s for writing" msgstr "δΈθ½εε
₯ %s" -#: wrapper.c:646 builtin/am.c:425 +#: wrapper.c:678 builtin/am.c:410 #, c-format msgid "could not write to %s" msgstr "δΈθ½εε
₯ %s" -#: wrapper.c:652 +#: wrapper.c:684 #, c-format msgid "could not close %s" msgstr "δΈθ½ε
³ι %s" @@ -2298,7 +2442,11 @@ msgstr "δΈ’ε€±" msgid "behind " msgstr "θ½ε " -#: compat/precompose_utf8.c:56 builtin/clone.c:408 +#: wt-status.c:1680 wt-status.c:1683 +msgid "ahead " +msgstr "ι’ε
" + +#: compat/precompose_utf8.c:57 builtin/clone.c:413 #, c-format msgid "failed to unlink '%s'" msgstr "ζ ζ³ε ι€ '%s'" @@ -2325,7 +2473,7 @@ msgstr "ε ι€ '%s'\n" msgid "Unstaged changes after refreshing the index:" msgstr "ε·ζ°η΄’εΌδΉεε°ζͺθ’«ζεηεζ΄οΌ" -#: builtin/add.c:194 builtin/rev-parse.c:796 +#: builtin/add.c:194 builtin/rev-parse.c:797 msgid "Could not read the index" msgstr "δΈθ½θ―»εη΄’εΌ" @@ -2360,15 +2508,15 @@ msgstr "δΈθ½εΊη¨ '%s'" msgid "The following paths are ignored by one of your .gitignore files:\n" msgstr "δΈεθ·―εΎζ Ήζζ¨ηδΈδΈͺ .gitignore ζδ»Άθθ’«εΏ½η₯οΌ\n" -#: builtin/add.c:249 builtin/clean.c:894 builtin/fetch.c:108 builtin/mv.c:110 -#: builtin/prune-packed.c:55 builtin/pull.c:182 builtin/push.c:543 -#: builtin/remote.c:1345 builtin/rm.c:268 builtin/send-pack.c:162 +#: builtin/add.c:249 builtin/clean.c:870 builtin/fetch.c:112 builtin/mv.c:111 +#: builtin/prune-packed.c:55 builtin/pull.c:189 builtin/push.c:511 +#: builtin/remote.c:1330 builtin/rm.c:268 builtin/send-pack.c:162 msgid "dry run" msgstr "ζΌδΉ " -#: builtin/add.c:250 builtin/apply.c:4571 builtin/check-ignore.c:19 +#: builtin/add.c:250 builtin/apply.c:4561 builtin/check-ignore.c:19 #: builtin/commit.c:1322 builtin/count-objects.c:85 builtin/fsck.c:558 -#: builtin/log.c:1645 builtin/mv.c:109 builtin/read-tree.c:114 +#: builtin/log.c:1651 builtin/mv.c:110 builtin/read-tree.c:114 msgid "be verbose" msgstr "ειΏθΎεΊ" @@ -2376,7 +2524,7 @@ msgstr "ειΏθΎεΊ" msgid "interactive picking" msgstr "δΊ€δΊεΌζ£ι" -#: builtin/add.c:253 builtin/checkout.c:1153 builtin/reset.c:286 +#: builtin/add.c:253 builtin/checkout.c:1155 builtin/reset.c:286 msgid "select hunks interactively" msgstr "δΊ€δΊεΌζιζ°ζε" @@ -2443,135 +2591,130 @@ msgstr "沑ζζεζδ»ΆοΌδΉζ²‘ζζδ»Άθ’«ζ·»ε γ\n" msgid "Maybe you wanted to say 'git add .'?\n" msgstr "δΉθΈζ¨ζ³θ¦ζ§θ‘ 'git add .'οΌ\n" -#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:938 -#: builtin/commit.c:337 builtin/mv.c:130 builtin/reset.c:235 builtin/rm.c:298 -#: builtin/submodule--helper.c:40 +#: builtin/add.c:358 builtin/check-ignore.c:172 builtin/clean.c:914 +#: builtin/commit.c:337 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298 +#: builtin/submodule--helper.c:35 msgid "index file corrupt" msgstr "η΄’εΌζδ»Άζε" -#: builtin/add.c:439 builtin/apply.c:4669 builtin/mv.c:279 builtin/rm.c:430 +#: builtin/add.c:439 builtin/apply.c:4659 builtin/mv.c:280 builtin/rm.c:430 msgid "Unable to write new index file" msgstr "ζ ζ³εε
₯ζ°η΄’εΌζδ»Ά" -#: builtin/am.c:42 -#, c-format -msgid "could not stat %s" -msgstr "δΈθ½θ·ε %s ηζδ»ΆηΆζ" - -#: builtin/am.c:271 builtin/commit.c:738 builtin/merge.c:1077 +#: builtin/am.c:256 builtin/commit.c:738 builtin/merge.c:1078 #, c-format msgid "could not read '%s'" msgstr "δΈθ½θ―»ε '%s'" -#: builtin/am.c:445 +#: builtin/am.c:430 msgid "could not parse author script" msgstr "δΈθ½θ§£ζδ½θ
θζ¬" -#: builtin/am.c:522 +#: builtin/am.c:507 #, c-format msgid "'%s' was deleted by the applypatch-msg hook" msgstr "'%s' θ’« applypatch-msg ι©εε ι€" -#: builtin/am.c:563 builtin/notes.c:300 +#: builtin/am.c:548 builtin/notes.c:300 #, c-format msgid "Malformed input line: '%s'." msgstr "ιζ³ηθΎε
₯θ‘οΌ'%s'γ" -#: builtin/am.c:600 builtin/notes.c:315 +#: builtin/am.c:585 builtin/notes.c:315 #, c-format msgid "Failed to copy notes from '%s' to '%s'" msgstr "δ» '%s' ζ·θ΄ζ³¨θ§£ε° '%s' ζΆε€±θ΄₯" -#: builtin/am.c:626 +#: builtin/am.c:611 msgid "fseek failed" msgstr "fseek ε€±θ΄₯" -#: builtin/am.c:787 builtin/am.c:875 +#: builtin/am.c:772 builtin/am.c:860 #, c-format msgid "could not open '%s' for reading: %s" msgstr "ζ ζ³ζεΌ '%s' θΏθ‘θ―»εοΌ%s" -#: builtin/am.c:794 +#: builtin/am.c:779 #, c-format msgid "could not open '%s' for writing: %s" msgstr "ζ ζ³ζεΌ '%s' θΏθ‘εε
₯οΌ%s" -#: builtin/am.c:803 +#: builtin/am.c:788 #, c-format msgid "could not parse patch '%s'" msgstr "ζ ζ³θ§£ζθ‘₯δΈ '%s'" -#: builtin/am.c:868 +#: builtin/am.c:853 msgid "Only one StGIT patch series can be applied at once" msgstr "δΈζ¬‘εͺθ½ζδΈδΈͺ StGIT θ‘₯δΈιεθ’«εΊη¨" -#: builtin/am.c:916 +#: builtin/am.c:901 msgid "invalid timestamp" msgstr "ζ ζηζΆι΄ζ³" -#: builtin/am.c:919 builtin/am.c:927 +#: builtin/am.c:904 builtin/am.c:912 msgid "invalid Date line" msgstr "ζ ζηζ₯ζθ‘" -#: builtin/am.c:924 +#: builtin/am.c:909 msgid "invalid timezone offset" msgstr "ζ ζηζΆεΊεη§»εΌ" -#: builtin/am.c:1011 +#: builtin/am.c:996 msgid "Patch format detection failed." msgstr "θ‘₯δΈζ ΌεΌζ£ζ΅ε€±θ΄₯γ" -#: builtin/am.c:1016 builtin/clone.c:373 +#: builtin/am.c:1001 builtin/clone.c:378 #, c-format msgid "failed to create directory '%s'" msgstr "ζ ζ³εε»Ίηε½ '%s'" -#: builtin/am.c:1020 +#: builtin/am.c:1005 msgid "Failed to split patches." msgstr "ζ ζ³ζεθ‘₯δΈγ" -#: builtin/am.c:1152 builtin/commit.c:363 +#: builtin/am.c:1137 builtin/commit.c:363 msgid "unable to write index file" msgstr "ζ ζ³εε
₯η΄’εΌζδ»Ά" -#: builtin/am.c:1203 +#: builtin/am.c:1188 #, c-format msgid "When you have resolved this problem, run \"%s --continue\"." msgstr "ε½ζ¨θ§£ε³θΏδΈιι’οΌζ§θ‘ \"%s --continue\"γ" -#: builtin/am.c:1204 +#: builtin/am.c:1189 #, c-format msgid "If you prefer to skip this patch, run \"%s --skip\" instead." msgstr "ε¦ζζ¨ζ³θ¦θ·³θΏθΏδΈθ‘₯δΈοΌεζ§θ‘ \"%s --skip\"γ" -#: builtin/am.c:1205 +#: builtin/am.c:1190 #, c-format msgid "To restore the original branch and stop patching, run \"%s --abort\"." msgstr "θ₯θ¦ε€εθ³εε§εζ―εΉΆεζ’θ‘₯δΈζδ½οΌζ§θ‘ \"%s --abort\"γ" -#: builtin/am.c:1343 +#: builtin/am.c:1328 msgid "Patch is empty. Was it split wrong?" msgstr "θ‘₯δΈδΈΊη©Ίγζ―δΈζ―εειθ――οΌ" -#: builtin/am.c:1417 builtin/log.c:1347 +#: builtin/am.c:1402 builtin/log.c:1350 #, c-format msgid "invalid ident line: %s" msgstr "ε
ε«ζ ζηθΊ«δ»½ζ θ―οΌ%s" -#: builtin/am.c:1444 +#: builtin/am.c:1429 #, c-format msgid "unable to parse commit %s" msgstr "δΈθ½θ§£ζζδΊ€ %s" -#: builtin/am.c:1646 +#: builtin/am.c:1631 msgid "Repository lacks necessary blobs to fall back on 3-way merge." msgstr "δ»εΊηΌΊδΉεΏ
θ¦ηζ°ζ对豑δ»₯θΏθ‘δΈζΉεεΉΆγ" -#: builtin/am.c:1648 +#: builtin/am.c:1633 msgid "Using index info to reconstruct a base tree..." msgstr "δ½Ώη¨η΄’εΌζ₯ιε»ΊδΈδΈͺοΌδΈζΉεεΉΆηοΌεΊη‘ηε½ζ ..." -#: builtin/am.c:1667 +#: builtin/am.c:1652 msgid "" "Did you hand edit your patch?\n" "It does not apply to blobs recorded in its index." @@ -2579,37 +2722,37 @@ msgstr "" "ζ¨ζ―ε¦ζΎζε¨ηΌθΎθΏζ¨ηθ‘₯δΈοΌ\n" "ζ ζ³εΊη¨θ‘₯δΈε°η΄’εΌδΈηζ°ζ对豑δΈγ" -#: builtin/am.c:1673 +#: builtin/am.c:1658 msgid "Falling back to patching base and 3-way merge..." msgstr "εθ½ε°εΊη‘ηζ¬δΈζθ‘₯δΈεθΏθ‘δΈζΉεεΉΆ..." -#: builtin/am.c:1688 +#: builtin/am.c:1673 msgid "Failed to merge in the changes." msgstr "ζ ζ³εεΉΆεζ΄γ" -#: builtin/am.c:1712 builtin/merge.c:632 +#: builtin/am.c:1697 builtin/merge.c:633 msgid "git write-tree failed to write a tree" msgstr "git write-tree ζ ζ³εε
₯δΈζ 对豑" -#: builtin/am.c:1719 +#: builtin/am.c:1704 msgid "applying to an empty history" msgstr "ζ£εΊη¨ε°δΈδΈͺη©Ίεε²δΈ" -#: builtin/am.c:1732 builtin/commit.c:1755 builtin/merge.c:829 -#: builtin/merge.c:854 +#: builtin/am.c:1717 builtin/commit.c:1755 builtin/merge.c:830 +#: builtin/merge.c:855 msgid "failed to write commit object" msgstr "ζ ζ³εζ亀对豑" -#: builtin/am.c:1764 builtin/am.c:1768 +#: builtin/am.c:1749 builtin/am.c:1753 #, c-format msgid "cannot resume: %s does not exist." msgstr "ζ ζ³η»§η»οΌ%s δΈεε¨γ" -#: builtin/am.c:1784 +#: builtin/am.c:1769 msgid "cannot be interactive without stdin connected to a terminal." msgstr "ζ εθΎε
₯沑ζεη»η«―ε
³θοΌδΈθ½θΏθ‘δΊ€δΊεΌζδ½γ" -#: builtin/am.c:1789 +#: builtin/am.c:1774 msgid "Commit Body is:" msgstr "ζδΊ€ε
εΉδΈΊοΌ" @@ -2618,35 +2761,35 @@ msgstr "ζδΊ€ε
εΉδΈΊοΌ" #. in your translation. The program will only accept English #. input at this point. #. -#: builtin/am.c:1799 +#: builtin/am.c:1784 msgid "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all: " msgstr "εΊη¨οΌζ―[y]/ε¦[n]/ηΌθΎ[e]/ζ₯ηθ‘₯δΈ[v]/εΊη¨ζζ[a]οΌ" -#: builtin/am.c:1849 +#: builtin/am.c:1834 #, c-format msgid "Dirty index: cannot apply patches (dirty: %s)" msgstr "θη΄’εΌοΌδΈθ½εΊη¨θ‘₯δΈοΌθζδ»ΆοΌ%sοΌ" -#: builtin/am.c:1884 builtin/am.c:1955 +#: builtin/am.c:1869 builtin/am.c:1941 #, c-format msgid "Applying: %.*s" msgstr "εΊη¨οΌ%.*s" -#: builtin/am.c:1900 +#: builtin/am.c:1885 msgid "No changes -- Patch already applied." msgstr "沑ζεζ΄ ββ θ‘₯δΈε·²η»εΊη¨θΏγ" -#: builtin/am.c:1908 +#: builtin/am.c:1893 #, c-format msgid "Patch failed at %s %.*s" msgstr "ζθ‘₯δΈε€±θ΄₯δΊ %s %.*s" -#: builtin/am.c:1914 +#: builtin/am.c:1899 #, c-format msgid "The copy of the patch that failed is found in: %s" msgstr "ε€±θ΄₯ηθ‘₯δΈζδ»Άε―ζ¬δ½δΊοΌ%s" -#: builtin/am.c:1958 +#: builtin/am.c:1944 msgid "" "No changes - did you forget to use 'git add'?\n" "If there is nothing left to stage, chances are that something else\n" @@ -2656,7 +2799,7 @@ msgstr "" "ε¦ζ沑ζδ»δΉθ¦ζ·»ε ε°ζεεΊηοΌεεΎε―θ½ζ―ε
ΆεζδΊ€ε·²η»εΌε
₯δΊηΈεηεζ΄γ\n" "ζ¨δΉθΈζ³θ¦θ·³θΏθΏδΈͺθ‘₯δΈγ" -#: builtin/am.c:1965 +#: builtin/am.c:1951 msgid "" "You still have unmerged paths in your index.\n" "Did you forget to use 'git add'?" @@ -2664,168 +2807,168 @@ msgstr "" "ζ¨ηη΄’εΌδΈδ»ζζͺεεΉΆηθ·―εΎγ\n" "ζ¨ζ―ε¦εΏδΊζ§θ‘ 'git add'οΌ" -#: builtin/am.c:2073 builtin/am.c:2077 builtin/am.c:2089 builtin/reset.c:308 +#: builtin/am.c:2059 builtin/am.c:2063 builtin/am.c:2075 builtin/reset.c:308 #: builtin/reset.c:316 #, c-format msgid "Could not parse object '%s'." msgstr "δΈθ½θ§£ζ对豑 '%s'γ" -#: builtin/am.c:2125 +#: builtin/am.c:2111 msgid "failed to clean index" msgstr "ζ ζ³ζΈ
η©Ίη΄’εΌ" -#: builtin/am.c:2159 +#: builtin/am.c:2145 msgid "" "You seem to have moved HEAD since the last 'am' failure.\n" "Not rewinding to ORIG_HEAD" msgstr "ζ¨ε₯½εε¨δΈδΈζ¬‘ 'am' ε€±θ΄₯εη§»ε¨δΊ HEADγζͺειθ³ ORIG_HEAD" -#: builtin/am.c:2220 +#: builtin/am.c:2206 #, c-format msgid "Invalid value for --patch-format: %s" msgstr "ζ ζη --patch-format εΌοΌ%s" -#: builtin/am.c:2253 +#: builtin/am.c:2239 msgid "git am [<options>] [(<mbox>|<Maildir>)...]" msgstr "git am [<ιι‘Ή>] [(<mbox>|<Maildir>)...]" -#: builtin/am.c:2254 +#: builtin/am.c:2240 msgid "git am [<options>] (--continue | --skip | --abort)" msgstr "git am [<ιι‘Ή>] (--continue | --skip | --abort)" -#: builtin/am.c:2260 +#: builtin/am.c:2246 msgid "run interactively" msgstr "δ»₯δΊ€δΊεΌζΉεΌθΏθ‘" -#: builtin/am.c:2262 +#: builtin/am.c:2248 msgid "historical option -- no-op" msgstr "θηεζ° ββ ζ δ½η¨" -#: builtin/am.c:2264 +#: builtin/am.c:2250 msgid "allow fall back on 3way merging if needed" msgstr "ε¦ζεΏ
θ¦οΌε
θΈδ½Ώη¨δΈζΉεεΉΆγ" -#: builtin/am.c:2265 builtin/init-db.c:474 builtin/prune-packed.c:57 +#: builtin/am.c:2251 builtin/init-db.c:474 builtin/prune-packed.c:57 #: builtin/repack.c:171 msgid "be quiet" msgstr "ιι»ζ¨‘εΌ" -#: builtin/am.c:2267 +#: builtin/am.c:2253 msgid "add a Signed-off-by line to the commit message" msgstr "ε¨ζδΊ€θ―΄ζδΈζ·»ε δΈδΈͺ Signed-off-by ηΎε" -#: builtin/am.c:2270 +#: builtin/am.c:2256 msgid "recode into utf8 (default)" msgstr "δ½Ώη¨ utf8 ε符ιοΌι»θ€οΌ" -#: builtin/am.c:2272 +#: builtin/am.c:2258 msgid "pass -k flag to git-mailinfo" msgstr "ε git-mailinfo δΌ ι -k εζ°" -#: builtin/am.c:2274 +#: builtin/am.c:2260 msgid "pass -b flag to git-mailinfo" msgstr "ε git-mailinfo δΌ ι -b εζ°" -#: builtin/am.c:2276 +#: builtin/am.c:2262 msgid "pass -m flag to git-mailinfo" msgstr "ε git-mailinfo δΌ ι -m εζ°" -#: builtin/am.c:2278 +#: builtin/am.c:2264 msgid "pass --keep-cr flag to git-mailsplit for mbox format" msgstr "ιε―Ή mbox ζ ΌεΌοΌε git-mailsplit δΌ ι --keep-cr εζ°" -#: builtin/am.c:2281 +#: builtin/am.c:2267 msgid "do not pass --keep-cr flag to git-mailsplit independent of am.keepcr" msgstr "δΈε git-mailsplit δΌ ι --keep-cr εζ°οΌθ¦η am.keepcr ηθΎη½" -#: builtin/am.c:2284 +#: builtin/am.c:2270 msgid "strip everything before a scissors line" msgstr "δΈ’εΌθ£εηΊΏεηζζε
εΉ" -#: builtin/am.c:2285 builtin/apply.c:4554 +#: builtin/am.c:2271 builtin/apply.c:4544 msgid "action" msgstr "ε¨δ½" -#: builtin/am.c:2286 builtin/am.c:2289 builtin/am.c:2292 builtin/am.c:2295 -#: builtin/am.c:2298 builtin/am.c:2301 builtin/am.c:2304 builtin/am.c:2307 -#: builtin/am.c:2313 +#: builtin/am.c:2272 builtin/am.c:2275 builtin/am.c:2278 builtin/am.c:2281 +#: builtin/am.c:2284 builtin/am.c:2287 builtin/am.c:2290 builtin/am.c:2293 +#: builtin/am.c:2299 msgid "pass it through git-apply" msgstr "δΌ ιη» git-apply" -#: builtin/am.c:2294 builtin/apply.c:4578 +#: builtin/am.c:2280 builtin/apply.c:4568 msgid "root" msgstr "ζ Ήηε½" -#: builtin/am.c:2297 builtin/am.c:2300 builtin/apply.c:4516 -#: builtin/apply.c:4519 builtin/clone.c:85 builtin/fetch.c:93 -#: builtin/pull.c:167 builtin/submodule--helper.c:78 -#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169 +#: builtin/am.c:2283 builtin/am.c:2286 builtin/apply.c:4506 +#: builtin/apply.c:4509 builtin/clone.c:86 builtin/fetch.c:95 +#: builtin/pull.c:171 builtin/submodule--helper.c:72 +#: builtin/submodule--helper.c:160 builtin/submodule--helper.c:163 msgid "path" msgstr "θ·―εΎ" -#: builtin/am.c:2303 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669 -#: builtin/grep.c:693 builtin/merge.c:198 builtin/pull.c:127 -#: builtin/repack.c:178 builtin/repack.c:182 builtin/show-branch.c:645 -#: builtin/show-ref.c:175 builtin/tag.c:340 parse-options.h:132 -#: parse-options.h:134 parse-options.h:244 +#: builtin/am.c:2289 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669 +#: builtin/grep.c:704 builtin/merge.c:198 builtin/pull.c:131 +#: builtin/pull.c:185 builtin/repack.c:178 builtin/repack.c:182 +#: builtin/show-branch.c:645 builtin/show-ref.c:175 builtin/tag.c:340 +#: parse-options.h:132 parse-options.h:134 parse-options.h:244 msgid "n" msgstr "n" -#: builtin/am.c:2306 builtin/apply.c:4522 +#: builtin/am.c:2292 builtin/apply.c:4512 msgid "num" msgstr "ζ°ε" -#: builtin/am.c:2309 builtin/for-each-ref.c:37 builtin/replace.c:438 +#: builtin/am.c:2295 builtin/for-each-ref.c:37 builtin/replace.c:438 #: builtin/tag.c:372 msgid "format" msgstr "ζ ΌεΌ" -#: builtin/am.c:2310 +#: builtin/am.c:2296 msgid "format the patch(es) are in" msgstr "θ‘₯δΈηζ ΌεΌ" -#: builtin/am.c:2316 +#: builtin/am.c:2302 msgid "override error message when patch failure occurs" msgstr "ζθ‘₯δΈε€±θ΄₯ζΆζΎη€Ίηιθ――δΏ‘ζ―" -#: builtin/am.c:2318 +#: builtin/am.c:2304 msgid "continue applying patches after resolving a conflict" msgstr "ε²ηͺθ§£ε³εη»§η»εΊη¨θ‘₯δΈ" -#: builtin/am.c:2321 +#: builtin/am.c:2307 msgid "synonyms for --continue" msgstr "ε --continue εδΉ" -#: builtin/am.c:2324 +#: builtin/am.c:2310 msgid "skip the current patch" msgstr "θ·³θΏε½εθ‘₯δΈ" -#: builtin/am.c:2327 +#: builtin/am.c:2313 msgid "restore the original branch and abort the patching operation." msgstr "ζ’ε€εε§εζ―εΉΆη»ζ’ζθ‘₯δΈζδ½γ" -#: builtin/am.c:2331 +#: builtin/am.c:2317 msgid "lie about committer date" msgstr "ε°δ½θ
ζ₯ζδ½δΈΊζδΊ€ζ₯ζ" -#: builtin/am.c:2333 +#: builtin/am.c:2319 msgid "use current timestamp for author date" msgstr "η¨ε½εζΆι΄δ½δΈΊδ½θ
ζ₯ζ" -#: builtin/am.c:2335 builtin/commit.c:1593 builtin/merge.c:225 -#: builtin/pull.c:155 builtin/revert.c:92 builtin/tag.c:355 +#: builtin/am.c:2321 builtin/commit.c:1593 builtin/merge.c:225 +#: builtin/pull.c:159 builtin/revert.c:92 builtin/tag.c:355 msgid "key-id" msgstr "key-id" -#: builtin/am.c:2336 +#: builtin/am.c:2322 msgid "GPG-sign commits" msgstr "δ½Ώη¨ GPG ηΎεζδΊ€" -#: builtin/am.c:2339 +#: builtin/am.c:2325 msgid "(internal use for git-rebase)" msgstr "οΌε
ι¨δ½Ώη¨οΌη¨δΊ git-rebaseοΌ" -#: builtin/am.c:2354 +#: builtin/am.c:2340 msgid "" "The -b/--binary option has been a no-op for long time, and\n" "it will be removed. Please do not use it anymore." @@ -2833,16 +2976,16 @@ msgstr "" "εζ° -b/--binary ε·²η»εΎιΏζΆι΄δΈεδ»»δ½ε质ζδ½δΊοΌεΉΆδΈε°θ’«η§»ι€γ\n" "θ―·δΈθ¦εδ½Ώη¨εδΊγ" -#: builtin/am.c:2361 +#: builtin/am.c:2347 msgid "failed to read the index" msgstr "ζ ζ³θ―»εη΄’εΌ" -#: builtin/am.c:2376 +#: builtin/am.c:2362 #, c-format msgid "previous rebase directory %s still exists but mbox given." msgstr "δΉεηεεΊηε½ %s δ»ηΆεε¨οΌδ½ε΄ζδΎδΊ mboxγ" -#: builtin/am.c:2400 +#: builtin/am.c:2386 #, c-format msgid "" "Stray %s directory found.\n" @@ -2851,7 +2994,7 @@ msgstr "" "εη°δΊιθ――η %s ηε½γ\n" "δ½Ώη¨ \"git am --abort\" ε ι€εγ" -#: builtin/am.c:2406 +#: builtin/am.c:2392 msgid "Resolve operation not in progress, we are not resuming." msgstr "θ§£ε³ζδ½ζͺθΏθ‘οΌζ们δΈδΌη»§η»γ" @@ -3192,131 +3335,131 @@ msgstr "ζͺθ½θ―ε«ηθΎε
₯" msgid "unable to read index file" msgstr "ζ ζ³θ―»εη΄’εΌζδ»Ά" -#: builtin/apply.c:4517 +#: builtin/apply.c:4507 msgid "don't apply changes matching the given path" msgstr "δΈθ¦εΊη¨δΈη»εΊθ·―εΎεεΉι
ηεζ΄" -#: builtin/apply.c:4520 +#: builtin/apply.c:4510 msgid "apply changes matching the given path" msgstr "εΊη¨δΈη»εΊθ·―εΎεεΉι
ηεζ΄" -#: builtin/apply.c:4523 +#: builtin/apply.c:4513 msgid "remove <num> leading slashes from traditional diff paths" msgstr "δ»δΌ η»η diff θ·―εΎδΈη§»ι€ζεζ°ιηεε―ΌζηΊΏ" -#: builtin/apply.c:4526 +#: builtin/apply.c:4516 msgid "ignore additions made by the patch" msgstr "εΏ½η₯θ‘₯δΈδΈηζ·»ε ηζδ»Ά" -#: builtin/apply.c:4528 +#: builtin/apply.c:4518 msgid "instead of applying the patch, output diffstat for the input" msgstr "δΈεΊη¨θ‘₯δΈοΌθζ―ζΎη€ΊθΎε
₯ηε·εΌη»θ‘οΌdiffstatοΌ" -#: builtin/apply.c:4532 +#: builtin/apply.c:4522 msgid "show number of added and deleted lines in decimal notation" msgstr "δ»₯εθΏεΆζ°ζΎη€Ίζ·»ε εε ι€ηθ‘ζ°" -#: builtin/apply.c:4534 +#: builtin/apply.c:4524 msgid "instead of applying the patch, output a summary for the input" msgstr "δΈεΊη¨θ‘₯δΈοΌθζ―ζΎη€ΊθΎε
₯ηζ¦θ¦" -#: builtin/apply.c:4536 +#: builtin/apply.c:4526 msgid "instead of applying the patch, see if the patch is applicable" msgstr "δΈεΊη¨θ‘₯δΈοΌθζ―ζ₯ηθ‘₯δΈζ―ε¦ε―εΊη¨" -#: builtin/apply.c:4538 +#: builtin/apply.c:4528 msgid "make sure the patch is applicable to the current index" msgstr "η‘θ€θ‘₯δΈε―δ»₯εΊη¨ε°ε½εη΄’εΌ" -#: builtin/apply.c:4540 +#: builtin/apply.c:4530 msgid "apply a patch without touching the working tree" msgstr "εΊη¨θ‘₯δΈθδΈδΏζΉε·₯δ½εΊ" -#: builtin/apply.c:4542 +#: builtin/apply.c:4532 msgid "accept a patch that touches outside the working area" msgstr "ζ₯εδΏζΉε·₯δ½εΊδΉε€ζδ»Άηθ‘₯δΈ" -#: builtin/apply.c:4544 +#: builtin/apply.c:4534 msgid "also apply the patch (use with --stat/--summary/--check)" msgstr "θΏεΊη¨ζ€θ‘₯δΈοΌδΈ --stat/--summary/--check ιι‘ΉεζΆδ½Ώη¨οΌ" -#: builtin/apply.c:4546 +#: builtin/apply.c:4536 msgid "attempt three-way merge if a patch does not apply" msgstr "ε¦ζδΈδΈͺθ‘₯δΈδΈθ½εΊη¨εε°θ―δΈζΉεεΉΆ" -#: builtin/apply.c:4548 +#: builtin/apply.c:4538 msgid "build a temporary index based on embedded index information" msgstr "εε»ΊδΈδΈͺδΈ΄ζΆη΄’εΌεΊδΊε΅ε
₯ηη΄’εΌδΏ‘ζ―" -#: builtin/apply.c:4550 builtin/checkout-index.c:198 builtin/ls-files.c:412 +#: builtin/apply.c:4541 builtin/checkout-index.c:169 builtin/ls-files.c:425 msgid "paths are separated with NUL character" msgstr "θ·―εΎδ»₯ NUL ε符ει" -#: builtin/apply.c:4553 +#: builtin/apply.c:4543 msgid "ensure at least <n> lines of context match" msgstr "η‘δΏθ³ε°εΉι
<n> θ‘δΈδΈζ" -#: builtin/apply.c:4555 +#: builtin/apply.c:4545 msgid "detect new or modified lines that have whitespace errors" msgstr "ζ£ζ₯ζ°ε’εδΏζΉηθ‘δΈι΄ηη©Ίη½ε符ζ»₯η¨" -#: builtin/apply.c:4558 builtin/apply.c:4561 +#: builtin/apply.c:4548 builtin/apply.c:4551 msgid "ignore changes in whitespace when finding context" msgstr "ζ₯ζΎδΈδΈζζΆεΏ½η₯η©Ίη½ε符ηεζ΄" -#: builtin/apply.c:4564 +#: builtin/apply.c:4554 msgid "apply the patch in reverse" msgstr "εεεΊη¨θ‘₯δΈ" -#: builtin/apply.c:4566 +#: builtin/apply.c:4556 msgid "don't expect at least one line of context" msgstr "ζ ιθ³ε°δΈθ‘δΈδΈζ" -#: builtin/apply.c:4568 +#: builtin/apply.c:4558 msgid "leave the rejected hunks in corresponding *.rej files" msgstr "ε°ζη»ηθ‘₯δΈηζ΅δΏεε¨ε―ΉεΊη *.rej ζδ»ΆδΈ" -#: builtin/apply.c:4570 +#: builtin/apply.c:4560 msgid "allow overlapping hunks" msgstr "ε
θΈιε ηθ‘₯δΈηζ΅" -#: builtin/apply.c:4573 +#: builtin/apply.c:4563 msgid "tolerate incorrectly detected missing new-line at the end of file" msgstr "ε
θΈδΈζ£η‘ηζδ»Άζ«ε°Ύζ’θ‘符" -#: builtin/apply.c:4576 +#: builtin/apply.c:4566 msgid "do not trust the line counts in the hunk headers" msgstr "δΈδΏ‘δ»»θ‘₯δΈηζ΅η倴俑ζ―δΈηθ‘ε·" -#: builtin/apply.c:4579 +#: builtin/apply.c:4569 msgid "prepend <root> to all filenames" msgstr "δΈΊζζζδ»Άεεζ·»ε <ζ Ήηε½>" -#: builtin/apply.c:4601 +#: builtin/apply.c:4591 msgid "--3way outside a repository" msgstr "--3way ε¨δΈδΈͺδ»εΊδΉε€" -#: builtin/apply.c:4609 +#: builtin/apply.c:4599 msgid "--index outside a repository" msgstr "--index ε¨δΈδΈͺδ»εΊδΉε€" -#: builtin/apply.c:4612 +#: builtin/apply.c:4602 msgid "--cached outside a repository" msgstr "--cached ε¨δΈδΈͺδ»εΊδΉε€" -#: builtin/apply.c:4631 +#: builtin/apply.c:4621 #, c-format msgid "can't open patch '%s'" msgstr "δΈθ½ζεΌθ‘₯δΈ '%s'" -#: builtin/apply.c:4645 +#: builtin/apply.c:4635 #, c-format msgid "squelched %d whitespace error" msgid_plural "squelched %d whitespace errors" msgstr[0] "ζεΆδΈδ»ζ %d δΈͺη©Ίη½ε符误η¨" msgstr[1] "ζεΆδΈδ»ζ %d δΈͺη©Ίη½ε符误η¨" -#: builtin/apply.c:4651 builtin/apply.c:4661 +#: builtin/apply.c:4641 builtin/apply.c:4651 #, c-format msgid "%d line adds whitespace errors." msgid_plural "%d lines add whitespace errors." @@ -3370,103 +3513,111 @@ msgstr "ζ§θ‘ 'git bisect next'" msgid "update BISECT_HEAD instead of checking out the current commit" msgstr "ζ΄ζ° BISECT_HEAD θιζ£εΊε½εζδΊ€" -#: builtin/blame.c:32 +#: builtin/blame.c:33 msgid "git blame [<options>] [<rev-opts>] [<rev>] [--] <file>" msgstr "git blame [<ιι‘Ή>] [<ηζ¬ιι‘Ή>] [<ηζ¬>] [--] <ζδ»Ά>" -#: builtin/blame.c:37 +#: builtin/blame.c:38 msgid "<rev-opts> are documented in git-rev-list(1)" msgstr "<ηζ¬ιι‘Ή> ηζζ‘£θ°ε½ε¨ git-rev-list(1) δΈ" -#: builtin/blame.c:2519 +#: builtin/blame.c:1782 +msgid "Blaming lines" +msgstr "θΏ½θΈͺ代η θ‘" + +#: builtin/blame.c:2530 msgid "Show blame entries as we find them, incrementally" msgstr "ε’ιεΌε°ζΎη€Ίεη°η blame ζ‘η" -#: builtin/blame.c:2520 +#: builtin/blame.c:2531 msgid "Show blank SHA-1 for boundary commits (Default: off)" msgstr "θΎΉηζδΊ€ζΎη€Ίη©Ίη SHA-1οΌι»θ€οΌε
³ιοΌ" -#: builtin/blame.c:2521 +#: builtin/blame.c:2532 msgid "Do not treat root commits as boundaries (Default: off)" msgstr "δΈζζ ΉζδΊ€δ½δΈΊθΎΉηοΌι»θ€οΌε
³ιοΌ" -#: builtin/blame.c:2522 +#: builtin/blame.c:2533 msgid "Show work cost statistics" msgstr "ζΎη€Ίε½δ»€ζΆθη»θ‘" -#: builtin/blame.c:2523 +#: builtin/blame.c:2534 +msgid "Force progress reporting" +msgstr "εΌΊεΆθΏεΊ¦ζΎη€Ί" + +#: builtin/blame.c:2535 msgid "Show output score for blame entries" msgstr "ζΎη€Ίε€ζ blame ζ‘ηδ½η§»ηεΎεθ―ζδΏ‘ζ―" -#: builtin/blame.c:2524 +#: builtin/blame.c:2536 msgid "Show original filename (Default: auto)" msgstr "ζΎη€Ίεε§ζδ»ΆεοΌι»θ€οΌθͺε¨οΌ" -#: builtin/blame.c:2525 +#: builtin/blame.c:2537 msgid "Show original linenumber (Default: off)" msgstr "ζΎη€Ίεε§ηθ‘ε·οΌι»θ€οΌε
³ιοΌ" -#: builtin/blame.c:2526 +#: builtin/blame.c:2538 msgid "Show in a format designed for machine consumption" msgstr "ζΎη€ΊδΈΊδΈδΈͺιεζΊε¨θ―»εηζ ΌεΌ" -#: builtin/blame.c:2527 +#: builtin/blame.c:2539 msgid "Show porcelain format with per-line commit information" msgstr "δΈΊζ―δΈθ‘ζΎη€ΊζΊε¨ιη¨ηζδΊ€δΏ‘ζ―" -#: builtin/blame.c:2528 +#: builtin/blame.c:2540 msgid "Use the same output mode as git-annotate (Default: off)" msgstr "δ½Ώη¨ε git-annotate ηΈεηθΎεΊζ¨‘εΌοΌι»θ€οΌε
³ιοΌ" -#: builtin/blame.c:2529 +#: builtin/blame.c:2541 msgid "Show raw timestamp (Default: off)" msgstr "ζΎη€Ίεε§ζΆι΄ζ³οΌι»θ€οΌε
³ιοΌ" -#: builtin/blame.c:2530 +#: builtin/blame.c:2542 msgid "Show long commit SHA1 (Default: off)" msgstr "ζΎη€ΊιΏη SHA1 ζδΊ€ε·οΌι»θ€οΌε
³ιοΌ" -#: builtin/blame.c:2531 +#: builtin/blame.c:2543 msgid "Suppress author name and timestamp (Default: off)" msgstr "ιθδ½θ
εεεζΆι΄ζ³οΌι»θ€οΌε
³ιοΌ" -#: builtin/blame.c:2532 +#: builtin/blame.c:2544 msgid "Show author email instead of name (Default: off)" msgstr "ζΎη€Ίδ½θ
ηιη±θδΈζ―εεοΌι»θ€οΌε
³ιοΌ" -#: builtin/blame.c:2533 +#: builtin/blame.c:2545 msgid "Ignore whitespace differences" msgstr "εΏ½η₯η©Ίη½ε·εΌ" -#: builtin/blame.c:2534 +#: builtin/blame.c:2546 msgid "Spend extra cycles to find better match" msgstr "θ±θ΄Ήι’ε€ηεΎͺη―ζ₯ζΎε°ζ΄ε₯½ηεΉι
" -#: builtin/blame.c:2535 +#: builtin/blame.c:2547 msgid "Use revisions from <file> instead of calling git-rev-list" msgstr "δ½Ώη¨ζ₯θͺ <ζδ»Ά> ηδΏθ’ιθδΈζ―θ°η¨ git-rev-list" -#: builtin/blame.c:2536 +#: builtin/blame.c:2548 msgid "Use <file>'s contents as the final image" msgstr "δ½Ώη¨ <ζδ»Ά> ηε
εΉδ½δΈΊζη»ηεΎη" -#: builtin/blame.c:2537 builtin/blame.c:2538 +#: builtin/blame.c:2549 builtin/blame.c:2550 msgid "score" msgstr "εΎε" -#: builtin/blame.c:2537 +#: builtin/blame.c:2549 msgid "Find line copies within and across files" msgstr "ζΎε°ζδ»Άε
εθ·¨ζδ»Άηθ‘ζ·θ΄" -#: builtin/blame.c:2538 +#: builtin/blame.c:2550 msgid "Find line movements within and across files" msgstr "ζΎε°ζδ»Άε
εθ·¨ζδ»Άηθ‘η§»ε¨" -#: builtin/blame.c:2539 +#: builtin/blame.c:2551 msgid "n,m" msgstr "n,m" -#: builtin/blame.c:2539 +#: builtin/blame.c:2551 msgid "Process only line range n,m, counting from 1" msgstr "εͺε€ηθ‘θε΄ε¨ n ε m δΉι΄ηοΌδ» 1 εΌε§" @@ -3476,7 +3627,7 @@ msgstr "εͺε€ηθ‘θε΄ε¨ n ε m δΉι΄ηοΌδ» 1 εΌε§" #. takes 22 places, is the longest among various forms of #. relative timestamps, but your language may need more or #. fewer display columns. -#: builtin/blame.c:2620 +#: builtin/blame.c:2640 msgid "4 years, 11 months ago" msgstr "4 εΉ΄ 11 δΈͺζε" @@ -3676,193 +3827,193 @@ msgstr "εζ―ιε½εδΈΊ %sοΌδ½ HEAD 沑ζζ΄ζ°οΌ" msgid "Branch is renamed, but update of config-file failed" msgstr "εζ―θ’«ιε½εοΌδ½ζ΄ζ° config ζδ»Άε€±θ΄₯" -#: builtin/branch.c:587 +#: builtin/branch.c:586 #, c-format msgid "could not write branch description template: %s" msgstr "δΈθ½εεζ―ζ述樑ηοΌ%s" -#: builtin/branch.c:616 +#: builtin/branch.c:615 msgid "Generic options" msgstr "ιη¨ιι‘Ή" -#: builtin/branch.c:618 +#: builtin/branch.c:617 msgid "show hash and subject, give twice for upstream branch" msgstr "ζΎη€ΊεεΈεΌεδΈ»ι’οΌθ₯εζ°εΊη°δΈ€ζ¬‘εζΎη€ΊδΈζΈΈεζ―" -#: builtin/branch.c:619 +#: builtin/branch.c:618 msgid "suppress informational messages" msgstr "δΈζΎη€ΊδΏ‘ζ―" -#: builtin/branch.c:620 +#: builtin/branch.c:619 msgid "set up tracking mode (see git-pull(1))" msgstr "θΎη½θ·θΈͺ樑εΌοΌεθ§ git-pull(1)οΌ" -#: builtin/branch.c:622 +#: builtin/branch.c:621 msgid "change upstream info" msgstr "ζΉεδΈζΈΈδΏ‘ζ―" -#: builtin/branch.c:626 +#: builtin/branch.c:625 msgid "use colored output" msgstr "δ½Ώη¨ε½©θ²θΎεΊ" -#: builtin/branch.c:627 +#: builtin/branch.c:626 msgid "act on remote-tracking branches" msgstr "δ½η¨δΊθΏη¨θ·θΈͺεζ―" -#: builtin/branch.c:629 builtin/branch.c:630 +#: builtin/branch.c:628 builtin/branch.c:629 msgid "print only branches that contain the commit" msgstr "εͺζε°ε
ε«θ―₯ζδΊ€ηεζ―" -#: builtin/branch.c:633 +#: builtin/branch.c:632 msgid "Specific git-branch actions:" msgstr "ε
·δ½η git-branch ε¨δ½οΌ" -#: builtin/branch.c:634 +#: builtin/branch.c:633 msgid "list both remote-tracking and local branches" msgstr "εεΊθΏη¨θ·θΈͺεζ¬ε°εζ―" -#: builtin/branch.c:636 +#: builtin/branch.c:635 msgid "delete fully merged branch" msgstr "ε ι€εε
¨εεΉΆηεζ―" -#: builtin/branch.c:637 +#: builtin/branch.c:636 msgid "delete branch (even if not merged)" msgstr "ε ι€εζ―οΌε³δ½Ώζ²‘ζεεΉΆοΌ" -#: builtin/branch.c:638 +#: builtin/branch.c:637 msgid "move/rename a branch and its reflog" msgstr "η§»ε¨/ιε½εδΈδΈͺεζ―οΌδ»₯εεηεΌη¨ζ₯εΏ" -#: builtin/branch.c:639 +#: builtin/branch.c:638 msgid "move/rename a branch, even if target exists" msgstr "η§»ε¨/ιε½εδΈδΈͺεζ―οΌε³δ½Ώηζ ε·²εε¨" -#: builtin/branch.c:640 +#: builtin/branch.c:639 msgid "list branch names" msgstr "εεΊεζ―ε" -#: builtin/branch.c:641 +#: builtin/branch.c:640 msgid "create the branch's reflog" msgstr "εε»Ίεζ―ηεΌη¨ζ₯εΏ" -#: builtin/branch.c:643 +#: builtin/branch.c:642 msgid "edit the description for the branch" msgstr "ζ θ°εζ―ηζθΏ°" -#: builtin/branch.c:644 +#: builtin/branch.c:643 msgid "force creation, move/rename, deletion" msgstr "εΌΊεΆεε»Ίγη§»ε¨/ιε½εγε ι€" -#: builtin/branch.c:645 +#: builtin/branch.c:644 msgid "print only branches that are merged" msgstr "εͺζε°ε·²η»εεΉΆηεζ―" -#: builtin/branch.c:646 +#: builtin/branch.c:645 msgid "print only branches that are not merged" msgstr "εͺζε°ε°ζͺεεΉΆηεζ―" -#: builtin/branch.c:647 +#: builtin/branch.c:646 msgid "list branches in columns" msgstr "δ»₯εηζΉεΌζΎη€Ίεζ―" -#: builtin/branch.c:648 builtin/for-each-ref.c:38 builtin/tag.c:366 +#: builtin/branch.c:647 builtin/for-each-ref.c:38 builtin/tag.c:366 msgid "key" msgstr "key" -#: builtin/branch.c:649 builtin/for-each-ref.c:39 builtin/tag.c:367 +#: builtin/branch.c:648 builtin/for-each-ref.c:39 builtin/tag.c:367 msgid "field name to sort on" msgstr "ζεΊηεζ΅ε" -#: builtin/branch.c:651 builtin/for-each-ref.c:41 builtin/notes.c:398 -#: builtin/notes.c:401 builtin/notes.c:561 builtin/notes.c:564 +#: builtin/branch.c:650 builtin/for-each-ref.c:41 builtin/notes.c:401 +#: builtin/notes.c:404 builtin/notes.c:564 builtin/notes.c:567 #: builtin/tag.c:369 msgid "object" msgstr "对豑" -#: builtin/branch.c:652 +#: builtin/branch.c:651 msgid "print only branches of the object" msgstr "εͺζε°ζεθ―₯对豑ηεζ―" -#: builtin/branch.c:670 +#: builtin/branch.c:669 msgid "Failed to resolve HEAD as a valid ref." msgstr "ζ ζ³ε° HEAD θ§£ζδΈΊζζεΌη¨γ" -#: builtin/branch.c:674 builtin/clone.c:697 +#: builtin/branch.c:673 builtin/clone.c:705 msgid "HEAD not found below refs/heads!" msgstr "HEAD 沑ζδ½δΊ /refs/heads δΉδΈοΌ" -#: builtin/branch.c:694 +#: builtin/branch.c:693 msgid "--column and --verbose are incompatible" msgstr "--column ε --verbose δΈε
ΌεΉ" -#: builtin/branch.c:705 builtin/branch.c:747 +#: builtin/branch.c:704 builtin/branch.c:746 msgid "branch name required" msgstr "εΏ
ι‘»ζδΎεζ―ε" -#: builtin/branch.c:723 +#: builtin/branch.c:722 msgid "Cannot give description to detached HEAD" msgstr "δΈθ½εε离倴ζιζδΎζθΏ°" -#: builtin/branch.c:728 +#: builtin/branch.c:727 msgid "cannot edit description of more than one branch" msgstr "δΈθ½δΈΊδΈδΈͺδ»₯δΈηεζ―ηΌθΎζθΏ°" -#: builtin/branch.c:735 +#: builtin/branch.c:734 #, c-format msgid "No commit on branch '%s' yet." msgstr "εζ― '%s' ε°ζ ζδΊ€γ" -#: builtin/branch.c:738 +#: builtin/branch.c:737 #, c-format msgid "No branch named '%s'." msgstr "沑ζεζ― '%s'γ" -#: builtin/branch.c:753 +#: builtin/branch.c:752 msgid "too many branches for a rename operation" msgstr "δΈΊιε½εζδ½ζδΎδΊε€ͺε€ηεζ―ε" -#: builtin/branch.c:758 +#: builtin/branch.c:757 msgid "too many branches to set new upstream" msgstr "δΈΊθΎη½ζ°δΈζΈΈζδΎδΊε€ͺε€ηεζ―ε" -#: builtin/branch.c:762 +#: builtin/branch.c:761 #, c-format msgid "" "could not set upstream of HEAD to %s when it does not point to any branch." msgstr "ζ ζ³θΎη½ HEAD ηδΈζΈΈδΈΊ %sοΌε δΈΊ HEAD 沑ζζεδ»»δ½εζ―γ" -#: builtin/branch.c:765 builtin/branch.c:787 builtin/branch.c:808 +#: builtin/branch.c:764 builtin/branch.c:786 builtin/branch.c:807 #, c-format msgid "no such branch '%s'" msgstr "沑ζζ€εζ― '%s'" -#: builtin/branch.c:769 +#: builtin/branch.c:768 #, c-format msgid "branch '%s' does not exist" msgstr "εζ― '%s' δΈεε¨" -#: builtin/branch.c:781 +#: builtin/branch.c:780 msgid "too many branches to unset upstream" msgstr "δΈΊεζΆδΈζΈΈθΎη½ζδ½ζδΎδΊε€ͺε€ηεζ―ε" -#: builtin/branch.c:785 +#: builtin/branch.c:784 msgid "could not unset upstream of HEAD when it does not point to any branch." msgstr "ζ ζ³εζΆ HEAD ηδΈζΈΈθΎη½ε δΈΊε沑ζζεδΈδΈͺεζ―" -#: builtin/branch.c:791 +#: builtin/branch.c:790 #, c-format msgid "Branch '%s' has no upstream information" msgstr "εζ― '%s' 沑ζδΈζΈΈδΏ‘ζ―" -#: builtin/branch.c:805 +#: builtin/branch.c:804 msgid "it does not make sense to create 'HEAD' manually" msgstr "ζε·₯εε»Ί 'HEAD' 沑ζζδΉ" -#: builtin/branch.c:811 +#: builtin/branch.c:810 msgid "-a and -r options to 'git branch' do not make sense with a branch name" msgstr "'git branch' η -a ε -r ιι‘ΉεΈ¦δΈδΈͺεζ―εεζ°ζ²‘ζζδΉ" -#: builtin/branch.c:814 +#: builtin/branch.c:813 #, c-format msgid "" "The --set-upstream flag is deprecated and will be removed. Consider using --" @@ -3870,7 +4021,7 @@ msgid "" msgstr "" "ιι‘Ή --set-upstream ε·²εΌη¨εΉΆε°θ’«η§»ι€γθθδ½Ώη¨ --track ζ --set-upstream-to\n" -#: builtin/branch.c:831 +#: builtin/branch.c:830 #, c-format msgid "" "\n" @@ -3881,12 +4032,12 @@ msgstr "" "ε¦ζδ½ ζ³η¨ '%s' θ·θΈͺ '%s', θΏδΉεοΌ\n" "\n" -#: builtin/branch.c:832 +#: builtin/branch.c:831 #, c-format msgid " git branch -d %s\n" msgstr " git branch -d %s\n" -#: builtin/branch.c:833 +#: builtin/branch.c:832 #, c-format msgid " git branch --set-upstream-to %s\n" msgstr " git branch --set-upstream-to %s\n" @@ -3980,7 +4131,7 @@ msgstr "ζ₯εθΎη½ε¨ζδ»ΆδΈηζζε±ζ§" msgid "use .gitattributes only from the index" msgstr "εͺδ½Ώη¨η΄’εΌδΈη .gitattributes" -#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:96 +#: builtin/check-attr.c:21 builtin/check-ignore.c:22 builtin/hash-object.c:97 msgid "read file names from stdin" msgstr "δ»ζ εθΎε
₯θ―»εΊζδ»Άε" @@ -3988,7 +4139,7 @@ msgstr "δ»ζ εθΎε
₯θ―»εΊζδ»Άε" msgid "terminate input and output records by a NUL character" msgstr "θΎε
₯εθΎεΊηθ°ε½δ½Ώη¨ NUL ε符η»η»" -#: builtin/check-ignore.c:18 builtin/checkout.c:1134 builtin/gc.c:325 +#: builtin/check-ignore.c:18 builtin/checkout.c:1136 builtin/gc.c:325 msgid "suppress progress reporting" msgstr "δΈζΎη€ΊθΏεΊ¦ζ₯ε" @@ -4041,49 +4192,53 @@ msgstr "δΈθ½θ§£ζθη³»ε°εοΌ%s" msgid "no contacts specified" msgstr "ζͺζεθη³»ε°ε" -#: builtin/checkout-index.c:126 +#: builtin/checkout-index.c:127 msgid "git checkout-index [<options>] [--] [<file>...]" msgstr "git checkout-index [<ιι‘Ή>] [--] [<ζδ»Ά>...]" -#: builtin/checkout-index.c:188 +#: builtin/checkout-index.c:144 +msgid "stage should be between 1 and 3 or all" +msgstr "η΄’εΌεΌεΊθ―₯εεΌ 1 ε° 3 ζθ
all" + +#: builtin/checkout-index.c:160 msgid "check out all files in the index" msgstr "ζ£εΊη΄’εΌεΊηζζζδ»Ά" -#: builtin/checkout-index.c:189 +#: builtin/checkout-index.c:161 msgid "force overwrite of existing files" msgstr "εΌΊεΆθ¦ηη°ζηζδ»Ά" -#: builtin/checkout-index.c:191 +#: builtin/checkout-index.c:163 msgid "no warning for existing files and files not in index" msgstr "εε¨ζδΈε¨η΄’εΌδΈηζδ»Άι½ζ²‘ζθ¦ε" -#: builtin/checkout-index.c:193 +#: builtin/checkout-index.c:165 msgid "don't checkout new files" msgstr "δΈζ£εΊζ°ζδ»Ά" -#: builtin/checkout-index.c:195 +#: builtin/checkout-index.c:167 msgid "update stat information in the index file" msgstr "ζ΄ζ°η΄’εΌδΈζδ»ΆηηΆζδΏ‘ζ―" -#: builtin/checkout-index.c:201 +#: builtin/checkout-index.c:171 msgid "read list of paths from the standard input" msgstr "δ»ζ εθΎε
₯θ―»εθ·―εΎε葨" -#: builtin/checkout-index.c:203 +#: builtin/checkout-index.c:173 msgid "write the content to temporary files" msgstr "ε°ε
εΉεε
₯δΈ΄ζΆζδ»Ά" -#: builtin/checkout-index.c:204 builtin/column.c:30 +#: builtin/checkout-index.c:174 builtin/column.c:30 +#: builtin/submodule--helper.c:166 builtin/submodule--helper.c:169 #: builtin/submodule--helper.c:172 builtin/submodule--helper.c:175 -#: builtin/submodule--helper.c:178 builtin/submodule--helper.c:181 msgid "string" msgstr "ε符串" -#: builtin/checkout-index.c:205 +#: builtin/checkout-index.c:175 msgid "when creating files, prepend <string>" msgstr "ε¨εε»Ίζδ»ΆζΆοΌε¨ει’ε δΈ <ε符串>" -#: builtin/checkout-index.c:208 +#: builtin/checkout-index.c:177 msgid "copy out the files from named stage" msgstr "δ»ζεζεεΊδΈζ·εΊζδ»Ά" @@ -4163,38 +4318,42 @@ msgstr "δΈθ½ε―Ή '%s' ζ§θ‘ reflog ζδ½οΌ%s\n" msgid "HEAD is now at" msgstr "HEAD ηεδ½δΊ" -#: builtin/checkout.c:668 +#: builtin/checkout.c:665 builtin/clone.c:659 +msgid "unable to update HEAD" +msgstr "δΈθ½ζ΄ζ° HEAD" + +#: builtin/checkout.c:669 #, c-format msgid "Reset branch '%s'\n" msgstr "ιη½εζ― '%s'\n" -#: builtin/checkout.c:671 +#: builtin/checkout.c:672 #, c-format msgid "Already on '%s'\n" msgstr "ε·²η»δ½δΊ '%s'\n" -#: builtin/checkout.c:675 +#: builtin/checkout.c:676 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "εζ’εΉΆιη½εζ― '%s'\n" -#: builtin/checkout.c:677 builtin/checkout.c:1066 +#: builtin/checkout.c:678 builtin/checkout.c:1068 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "εζ’ε°δΈδΈͺζ°εζ― '%s'\n" -#: builtin/checkout.c:679 +#: builtin/checkout.c:680 #, c-format msgid "Switched to branch '%s'\n" msgstr "εζ’ε°εζ― '%s'\n" # θ―θ
οΌζ³¨ζδΏζεε―Όη©Ίζ Ό -#: builtin/checkout.c:731 +#: builtin/checkout.c:732 #, c-format msgid " ... and %d more.\n" msgstr " ... εε
Άε %d δΈͺγ\n" -#: builtin/checkout.c:737 +#: builtin/checkout.c:738 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -4215,7 +4374,7 @@ msgstr[1] "" "\n" "%s\n" -#: builtin/checkout.c:756 +#: builtin/checkout.c:757 #, c-format msgid "" "If you want to keep it by creating a new branch, this may be a good time\n" @@ -4242,150 +4401,150 @@ msgstr[1] "" " git branch <ζ°εζ―ε> %s\n" "\n" -#: builtin/checkout.c:792 +#: builtin/checkout.c:793 msgid "internal error in revision walk" msgstr "ε¨ηζ¬ιεζΆιε°ε
ι¨ιθ――" -#: builtin/checkout.c:796 +#: builtin/checkout.c:797 msgid "Previous HEAD position was" msgstr "δΉεη HEAD δ½η½ζ―" -#: builtin/checkout.c:823 builtin/checkout.c:1061 +#: builtin/checkout.c:824 builtin/checkout.c:1063 msgid "You are on a branch yet to be born" msgstr "ζ¨δ½δΊδΈδΈͺε°ζͺεε§εηεζ―" -#: builtin/checkout.c:968 +#: builtin/checkout.c:969 #, c-format msgid "only one reference expected, %d given." msgstr "εͺθ¦δΈδΈͺεΌη¨οΌε΄η»εΊδΊ %d δΈͺ" -#: builtin/checkout.c:1007 builtin/worktree.c:213 +#: builtin/checkout.c:1009 builtin/worktree.c:211 #, c-format msgid "invalid reference: %s" msgstr "ζ ζεΌη¨οΌ%s" -#: builtin/checkout.c:1036 +#: builtin/checkout.c:1038 #, c-format msgid "reference is not a tree: %s" msgstr "εΌη¨δΈζ―δΈδΈͺζ οΌ%s" -#: builtin/checkout.c:1075 +#: builtin/checkout.c:1077 msgid "paths cannot be used with switching branches" msgstr "θ·―εΎδΈθ½εεζ’εζ―εζΆδ½Ώη¨" -#: builtin/checkout.c:1078 builtin/checkout.c:1082 +#: builtin/checkout.c:1080 builtin/checkout.c:1084 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "'%s' δΈθ½εεζ’εζ―εζΆδ½Ώη¨" -#: builtin/checkout.c:1086 builtin/checkout.c:1089 builtin/checkout.c:1094 -#: builtin/checkout.c:1097 +#: builtin/checkout.c:1088 builtin/checkout.c:1091 builtin/checkout.c:1096 +#: builtin/checkout.c:1099 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "'%s' δΈθ½ε '%s' εζΆδ½Ώη¨" -#: builtin/checkout.c:1102 +#: builtin/checkout.c:1104 #, c-format msgid "Cannot switch branch to a non-commit '%s'" msgstr "δΈθ½εζ’εζ―ε°δΈδΈͺιζδΊ€ '%s'" -#: builtin/checkout.c:1135 builtin/checkout.c:1137 builtin/clone.c:83 -#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:320 -#: builtin/worktree.c:322 +#: builtin/checkout.c:1137 builtin/checkout.c:1139 builtin/clone.c:84 +#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:318 +#: builtin/worktree.c:320 msgid "branch" msgstr "εζ―" -#: builtin/checkout.c:1136 +#: builtin/checkout.c:1138 msgid "create and checkout a new branch" msgstr "εε»ΊεΉΆζ£εΊδΈδΈͺζ°ηεζ―" -#: builtin/checkout.c:1138 +#: builtin/checkout.c:1140 msgid "create/reset and checkout a branch" msgstr "εε»Ί/ιη½εΉΆζ£εΊδΈδΈͺεζ―" -#: builtin/checkout.c:1139 +#: builtin/checkout.c:1141 msgid "create reflog for new branch" msgstr "δΈΊζ°ηεζ―εε»ΊεΌη¨ζ₯εΏ" -#: builtin/checkout.c:1140 +#: builtin/checkout.c:1142 msgid "detach the HEAD at named commit" msgstr "ζδΈΊζεθ―₯ζδΊ€ηε离倴ζι" -#: builtin/checkout.c:1141 +#: builtin/checkout.c:1143 msgid "set upstream info for new branch" msgstr "δΈΊζ°ηεζ―θΎη½δΈζΈΈδΏ‘ζ―" -#: builtin/checkout.c:1143 +#: builtin/checkout.c:1145 msgid "new-branch" msgstr "ζ°εζ―" -#: builtin/checkout.c:1143 +#: builtin/checkout.c:1145 msgid "new unparented branch" msgstr "ζ°η沑ζηΆζδΊ€ηεζ―" -#: builtin/checkout.c:1144 +#: builtin/checkout.c:1146 msgid "checkout our version for unmerged files" msgstr "ε―Ήε°ζͺεεΉΆηζδ»Άζ£εΊζ们ηηζ¬" -#: builtin/checkout.c:1146 +#: builtin/checkout.c:1148 msgid "checkout their version for unmerged files" msgstr "ε―Ήε°ζͺεεΉΆηζδ»Άζ£εΊδ»δ»¬ηηζ¬" -#: builtin/checkout.c:1148 +#: builtin/checkout.c:1150 msgid "force checkout (throw away local modifications)" msgstr "εΌΊεΆζ£εΊοΌδΈ’εΌζ¬ε°δΏζΉοΌ" -#: builtin/checkout.c:1149 +#: builtin/checkout.c:1151 msgid "perform a 3-way merge with the new branch" msgstr "εζ°ηεζ―ζ§θ‘δΈζΉεεΉΆ" -#: builtin/checkout.c:1150 builtin/merge.c:227 +#: builtin/checkout.c:1152 builtin/merge.c:227 msgid "update ignored files (default)" msgstr "ζ΄ζ°εΏ½η₯ηζδ»ΆοΌι»θ€οΌ" -#: builtin/checkout.c:1151 builtin/log.c:1266 parse-options.h:250 +#: builtin/checkout.c:1153 builtin/log.c:1269 parse-options.h:250 msgid "style" msgstr "ι£ζ Ό" -#: builtin/checkout.c:1152 +#: builtin/checkout.c:1154 msgid "conflict style (merge or diff3)" msgstr "ε²ηͺθΎεΊι£ζ ΌοΌmerge ζ diff3οΌ" -#: builtin/checkout.c:1155 +#: builtin/checkout.c:1157 msgid "do not limit pathspecs to sparse entries only" msgstr "ε―Ήθ·―εΎδΈεη¨ηζ£εΊηιεΆ" -#: builtin/checkout.c:1157 +#: builtin/checkout.c:1159 msgid "second guess 'git checkout <no-such-branch>'" msgstr "δΊζ¬‘ηζ΅'git checkout <ζ ζ€εζ―>'" -#: builtin/checkout.c:1159 +#: builtin/checkout.c:1161 msgid "do not check if another worktree is holding the given ref" msgstr "δΈζ£ζ₯ζεηεΌη¨ζ―ε¦θ’«ε
Άδ»ε·₯δ½εΊζε η¨" -#: builtin/checkout.c:1160 builtin/clone.c:57 builtin/fetch.c:112 -#: builtin/merge.c:224 builtin/pull.c:109 builtin/push.c:558 +#: builtin/checkout.c:1162 builtin/clone.c:58 builtin/fetch.c:116 +#: builtin/merge.c:224 builtin/pull.c:113 builtin/push.c:526 #: builtin/send-pack.c:168 msgid "force progress reporting" msgstr "εΌΊεΆζΎη€ΊθΏεΊ¦ζ₯ε" -#: builtin/checkout.c:1191 +#: builtin/checkout.c:1193 msgid "-b, -B and --orphan are mutually exclusive" msgstr "-bγ-B ε --orphan ζ―δΊζ₯η" -#: builtin/checkout.c:1208 +#: builtin/checkout.c:1210 msgid "--track needs a branch name" msgstr "--track ιθ¦δΈδΈͺεζ―ε" -#: builtin/checkout.c:1213 +#: builtin/checkout.c:1215 msgid "Missing branch name; try -b" msgstr "ηΌΊε°εζ―εοΌε°θ― -b" -#: builtin/checkout.c:1249 +#: builtin/checkout.c:1251 msgid "invalid path specification" msgstr "ζ ζηθ·―εΎθ§ζ Ό" -#: builtin/checkout.c:1256 +#: builtin/checkout.c:1258 #, c-format msgid "" "Cannot update paths and switch to branch '%s' at the same time.\n" @@ -4394,12 +4553,12 @@ msgstr "" "δΈθ½εζΆζ΄ζ°θ·―εΎεΉΆεζ’ε°εζ―'%s'γ\n" "ζ¨ζ―ζ³θ¦ζ£εΊ '%s' δ½ε
Άζͺθ½θ§£ζδΈΊζδΊ€δΉοΌ" -#: builtin/checkout.c:1261 +#: builtin/checkout.c:1263 #, c-format msgid "git checkout: --detach does not take a path argument '%s'" msgstr "git checkoutοΌ--detach δΈθ½ζ₯ζΆθ·―εΎεζ° '%s'" -#: builtin/checkout.c:1265 +#: builtin/checkout.c:1267 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." @@ -4437,7 +4596,7 @@ msgstr "ε°εΏ½η₯δ»εΊ %s\n" msgid "failed to remove %s" msgstr "ζ ζ³ε ι€ %s" -#: builtin/clean.c:315 +#: builtin/clean.c:291 msgid "" "Prompt help:\n" "1 - select a numbered item\n" @@ -4449,7 +4608,7 @@ msgstr "" "foo - ιθΏζ ι’ιζ©δΈδΈͺιι‘Ή\n" " - οΌη©ΊοΌδ»δΉδΉδΈιζ©" -#: builtin/clean.c:319 +#: builtin/clean.c:295 msgid "" "Prompt help:\n" "1 - select a single item\n" @@ -4469,36 +4628,36 @@ msgstr "" "* - ιζ©ζζιι‘Ή\n" " - οΌη©ΊοΌη»ζιζ©" -#: builtin/clean.c:535 +#: builtin/clean.c:511 #, c-format msgid "Huh (%s)?" msgstr "ε―οΌ%sοΌοΌ" -#: builtin/clean.c:677 +#: builtin/clean.c:653 #, c-format msgid "Input ignore patterns>> " msgstr "θΎε
₯樑ηδ»₯ζι€ζ‘η>> " -#: builtin/clean.c:714 +#: builtin/clean.c:690 #, c-format msgid "WARNING: Cannot find items matched by: %s" msgstr "θ¦εοΌζ ζ³ζΎε°ε %s εΉι
ηζ‘η" -#: builtin/clean.c:735 +#: builtin/clean.c:711 msgid "Select items to delete" msgstr "ιζ©θ¦ε ι€ηζ‘η" #. TRANSLATORS: Make sure to keep [y/N] as is -#: builtin/clean.c:776 +#: builtin/clean.c:752 #, c-format msgid "Remove %s [y/N]? " msgstr "ε ι€ %s [y/N]οΌ" -#: builtin/clean.c:801 +#: builtin/clean.c:777 msgid "Bye." msgstr "εθ§γ" -#: builtin/clean.c:809 +#: builtin/clean.c:785 msgid "" "clean - start cleaning\n" "filter by pattern - exclude items from deletion\n" @@ -4516,69 +4675,69 @@ msgstr "" "help - ζΎη€Ίζ¬εΈε©\n" "? - ζΎη€Ίε¦δ½ε¨ζ瀺符δΈιζ©ηεΈε©" -#: builtin/clean.c:836 +#: builtin/clean.c:812 msgid "*** Commands ***" msgstr "*** ε½δ»€ ***" -#: builtin/clean.c:837 +#: builtin/clean.c:813 msgid "What now" msgstr "θ―·ιζ©" -#: builtin/clean.c:845 +#: builtin/clean.c:821 msgid "Would remove the following item:" msgid_plural "Would remove the following items:" msgstr[0] "ε°ε ι€ε¦δΈζ‘ηοΌ" msgstr[1] "ε°ε ι€ε¦δΈζ‘ηοΌ" -#: builtin/clean.c:862 +#: builtin/clean.c:838 msgid "No more files to clean, exiting." msgstr "沑ζθ¦ζΈ
ηηζδ»ΆοΌιεΊγ" -#: builtin/clean.c:893 +#: builtin/clean.c:869 msgid "do not print names of files removed" msgstr "δΈζε°ε ι€ζδ»Άηεη§°" -#: builtin/clean.c:895 +#: builtin/clean.c:871 msgid "force" msgstr "εΌΊεΆ" -#: builtin/clean.c:896 +#: builtin/clean.c:872 msgid "interactive cleaning" msgstr "δΊ€δΊεΌζΈ
ι€" -#: builtin/clean.c:898 +#: builtin/clean.c:874 msgid "remove whole directories" msgstr "ε ι€ζ΄δΈͺηε½" -#: builtin/clean.c:899 builtin/describe.c:407 builtin/grep.c:709 -#: builtin/ls-files.c:443 builtin/name-rev.c:307 builtin/show-ref.c:182 +#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:722 +#: builtin/ls-files.c:456 builtin/name-rev.c:307 builtin/show-ref.c:182 msgid "pattern" msgstr "樑εΌ" -#: builtin/clean.c:900 +#: builtin/clean.c:876 msgid "add <pattern> to ignore rules" msgstr "ζ·»ε <樑εΌ> ε°εΏ½η₯θ§ε" -#: builtin/clean.c:901 +#: builtin/clean.c:877 msgid "remove ignored files, too" msgstr "δΉε ι€εΏ½η₯ηζδ»Ά" -#: builtin/clean.c:903 +#: builtin/clean.c:879 msgid "remove only ignored files" msgstr "εͺε ι€εΏ½η₯ηζδ»Ά" -#: builtin/clean.c:921 +#: builtin/clean.c:897 msgid "-x and -X cannot be used together" msgstr "-x ε -X δΈθ½εζΆδ½Ώη¨" -#: builtin/clean.c:925 +#: builtin/clean.c:901 msgid "" "clean.requireForce set to true and neither -i, -n, nor -f given; refusing to " "clean" msgstr "" "clean.requireForce θΎη½δΈΊ true δΈζͺζδΎ -iγ-n ζ -f ιι‘ΉοΌζη»ζ§θ‘ζΈ
ηε¨δ½" -#: builtin/clean.c:928 +#: builtin/clean.c:904 msgid "" "clean.requireForce defaults to true and neither -i, -n, nor -f given; " "refusing to clean" @@ -4589,146 +4748,162 @@ msgstr "" msgid "git clone [<options>] [--] <repo> [<dir>]" msgstr "git clone [<ιι‘Ή>] [--] <δ»εΊ> [<θ·―εΎ>]" -#: builtin/clone.c:59 +#: builtin/clone.c:60 msgid "don't create a checkout" msgstr "δΈεε»ΊδΈδΈͺζ£εΊ" -#: builtin/clone.c:60 builtin/clone.c:62 builtin/init-db.c:469 +#: builtin/clone.c:61 builtin/clone.c:63 builtin/init-db.c:469 msgid "create a bare repository" msgstr "εε»ΊδΈδΈͺηΊ―δ»εΊ" -#: builtin/clone.c:64 +#: builtin/clone.c:65 msgid "create a mirror repository (implies bare)" msgstr "εε»ΊδΈδΈͺιεδ»εΊοΌδΉζ―ηΊ―δ»εΊοΌ" -#: builtin/clone.c:66 +#: builtin/clone.c:67 msgid "to clone from a local repository" msgstr "δ»ζ¬ε°δ»εΊε
ι" -#: builtin/clone.c:68 +#: builtin/clone.c:69 msgid "don't use local hardlinks, always copy" msgstr "δΈδ½Ώη¨ζ¬ε°η‘¬ιΎζ₯οΌε§η»ε€εΆ" -#: builtin/clone.c:70 +#: builtin/clone.c:71 msgid "setup as shared repository" msgstr "θΎη½δΈΊε
±δΊ«δ»εΊ" -#: builtin/clone.c:72 builtin/clone.c:74 +#: builtin/clone.c:73 builtin/clone.c:75 msgid "initialize submodules in the clone" msgstr "ε¨ε
ιζΆεε§εε樑η»" -#: builtin/clone.c:75 builtin/init-db.c:466 +#: builtin/clone.c:76 builtin/init-db.c:466 msgid "template-directory" msgstr "樑ζΏηε½" -#: builtin/clone.c:76 builtin/init-db.c:467 +#: builtin/clone.c:77 builtin/init-db.c:467 msgid "directory from which templates will be used" msgstr "樑ζΏηε½ε°θ’«δ½Ώη¨" -#: builtin/clone.c:78 builtin/submodule--helper.c:179 +#: builtin/clone.c:79 builtin/submodule--helper.c:173 msgid "reference repository" msgstr "εθδ»εΊ" -#: builtin/clone.c:80 +#: builtin/clone.c:81 msgid "use --reference only while cloning" msgstr "δ»
ε¨ε
ιζΆεθ --reference ζεηζ¬ε°δ»εΊ" -#: builtin/clone.c:81 builtin/column.c:26 builtin/merge-file.c:44 +#: builtin/clone.c:82 builtin/column.c:26 builtin/merge-file.c:44 msgid "name" msgstr "εη§°" -#: builtin/clone.c:82 +#: builtin/clone.c:83 msgid "use <name> instead of 'origin' to track upstream" msgstr "δ½Ώη¨ <εη§°> θδΈζ― 'origin' ε»θ·θΈͺδΈζΈΈ" -#: builtin/clone.c:84 +#: builtin/clone.c:85 msgid "checkout <branch> instead of the remote's HEAD" msgstr "ζ£εΊ <εζ―> θδΈζ―θΏη¨ HEAD" -#: builtin/clone.c:86 +#: builtin/clone.c:87 msgid "path to git-upload-pack on the remote" msgstr "θΏη¨ git-upload-pack θ·―εΎ" -#: builtin/clone.c:87 builtin/fetch.c:113 builtin/grep.c:654 -#: builtin/pull.c:186 +#: builtin/clone.c:88 builtin/fetch.c:117 builtin/grep.c:665 +#: builtin/pull.c:193 msgid "depth" msgstr "ζ·±εΊ¦" -#: builtin/clone.c:88 +#: builtin/clone.c:89 msgid "create a shallow clone of that depth" msgstr "εε»ΊδΈδΈͺζεζ·±εΊ¦ηζ΅
ε
ι" -#: builtin/clone.c:90 +#: builtin/clone.c:91 msgid "clone only one branch, HEAD or --branch" msgstr "εͺε
ιδΈδΈͺεζ―γHEAD ζ --branch" -#: builtin/clone.c:91 builtin/init-db.c:475 +#: builtin/clone.c:92 builtin/init-db.c:475 msgid "gitdir" msgstr "gitηε½" -#: builtin/clone.c:92 builtin/init-db.c:476 +#: builtin/clone.c:93 builtin/init-db.c:476 msgid "separate git dir from working tree" msgstr "gitηε½εε·₯δ½εΊε离" -#: builtin/clone.c:93 +#: builtin/clone.c:94 msgid "key=value" msgstr "key=value" -#: builtin/clone.c:94 +#: builtin/clone.c:95 msgid "set config inside the new repository" msgstr "ε¨ζ°δ»εΊδΈθΎη½ι
η½δΏ‘ζ―" -#: builtin/clone.c:300 +#: builtin/clone.c:96 builtin/fetch.c:131 builtin/push.c:536 +msgid "use IPv4 addresses only" +msgstr "εͺδ½Ώη¨ IPv4 ε°ε" + +#: builtin/clone.c:98 builtin/fetch.c:133 builtin/push.c:538 +msgid "use IPv6 addresses only" +msgstr "εͺδ½Ώη¨ IPv6 ε°ε" + +#: builtin/clone.c:239 +msgid "" +"No directory name could be guessed.\n" +"Please specify a directory on the command line" +msgstr "" +"ζ ζ³ηε°ηε½εγ\n" +"θ―·ε¨ε½δ»€θ‘ζεδΈδΈͺηε½" + +#: builtin/clone.c:305 #, c-format msgid "reference repository '%s' as a linked checkout is not supported yet." msgstr "ε°δΈζ―ζε°εθδ»εΊ '%s' δ½δΈΊδΈδΈͺιΎζ₯ζ£εΊγ" -#: builtin/clone.c:302 +#: builtin/clone.c:307 #, c-format msgid "reference repository '%s' is not a local repository." msgstr "εθδ»εΊ '%s' δΈζ―δΈδΈͺζ¬ε°δ»εΊγ" -#: builtin/clone.c:307 +#: builtin/clone.c:312 #, c-format msgid "reference repository '%s' is shallow" msgstr "εθδ»εΊ '%s' ζ―δΈδΈͺζ΅
ε
ι" -#: builtin/clone.c:310 +#: builtin/clone.c:315 #, c-format msgid "reference repository '%s' is grafted" msgstr "εθδ»εΊ '%s' ε·²θ’«ε«ζ₯" -#: builtin/clone.c:375 builtin/diff.c:84 +#: builtin/clone.c:380 builtin/diff.c:84 #, c-format msgid "failed to stat '%s'" msgstr "ζ ζ³ζδΈΎ '%s' ηΆζ" -#: builtin/clone.c:377 +#: builtin/clone.c:382 #, c-format msgid "%s exists and is not a directory" msgstr "%s εε¨δΈδΈζ―δΈδΈͺηε½" -#: builtin/clone.c:391 +#: builtin/clone.c:396 #, c-format msgid "failed to stat %s\n" msgstr "ζ ζ³ζδΈΎ %s ηΆζ\n" -#: builtin/clone.c:413 +#: builtin/clone.c:418 #, c-format msgid "failed to create link '%s'" msgstr "ζ ζ³εε»ΊιΎζ₯ '%s'" -#: builtin/clone.c:417 +#: builtin/clone.c:422 #, c-format msgid "failed to copy file to '%s'" msgstr "ζ ζ³ζ·θ΄ζδ»Άθ³ '%s'" -#: builtin/clone.c:442 builtin/clone.c:626 +#: builtin/clone.c:447 builtin/clone.c:631 #, c-format msgid "done.\n" msgstr "εζγ\n" -#: builtin/clone.c:454 +#: builtin/clone.c:459 msgid "" "Clone succeeded, but checkout failed.\n" "You can inspect what was checked out with 'git status'\n" @@ -4738,117 +4913,126 @@ msgstr "" "ζ¨ε―δ»₯ιθΏ 'git status' ζ£ζ₯εͺδΊε·²θ’«ζ£εΊοΌηΆεδ½Ώη¨ε½δ»€\n" "'git checkout -f HEAD' ιθ―\n" -#: builtin/clone.c:531 +#: builtin/clone.c:536 #, c-format msgid "Could not find remote branch %s to clone." msgstr "δΈθ½εη°θ¦ε
ιηθΏη¨εζ― %sγ" -#: builtin/clone.c:621 +#: builtin/clone.c:626 #, c-format msgid "Checking connectivity... " msgstr "ζ£ζ₯θΏζ₯... " -#: builtin/clone.c:624 +#: builtin/clone.c:629 msgid "remote did not send all necessary objects" msgstr "θΏη¨ζ²‘ζειζζεΏ
ι‘»η对豑" -#: builtin/clone.c:688 +#: builtin/clone.c:647 +#, c-format +msgid "unable to update %s" +msgstr "δΈθ½ζ΄ζ° %s" + +#: builtin/clone.c:696 msgid "remote HEAD refers to nonexistent ref, unable to checkout.\n" msgstr "θΏη¨ HEAD ζεδΈδΈͺδΈεε¨ηεΌη¨οΌζ ζ³ζ£εΊγ\n" -#: builtin/clone.c:719 +#: builtin/clone.c:727 msgid "unable to checkout working tree" msgstr "δΈθ½ζ£εΊε·₯δ½εΊ" -#: builtin/clone.c:808 +#: builtin/clone.c:753 +msgid "unable to write parameters to config file" +msgstr "ζ ζ³ε°εζ°εε
₯ι
η½ζδ»Ά" + +#: builtin/clone.c:816 msgid "cannot repack to clean up" msgstr "ζ ζ³ζ§θ‘ repack ζ₯ζΈ
η" -#: builtin/clone.c:810 +#: builtin/clone.c:818 msgid "cannot unlink temporary alternates file" msgstr "ζ ζ³ε ι€δΈ΄ζΆη alternates ζδ»Ά" -#: builtin/clone.c:842 +#: builtin/clone.c:850 msgid "Too many arguments." msgstr "ε€ͺε€εζ°γ" -#: builtin/clone.c:846 +#: builtin/clone.c:854 msgid "You must specify a repository to clone." msgstr "ζ¨εΏ
ι‘»ζεδΈδΈͺδ»εΊζ₯ε
ιγ" -#: builtin/clone.c:857 +#: builtin/clone.c:865 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "--bare ε --origin %s ιι‘ΉδΈε
ΌεΉγ" -#: builtin/clone.c:860 +#: builtin/clone.c:868 msgid "--bare and --separate-git-dir are incompatible." msgstr "--bare ε --separate-git-dir ιι‘ΉδΈε
ΌεΉγ" -#: builtin/clone.c:873 +#: builtin/clone.c:881 #, c-format msgid "repository '%s' does not exist" msgstr "δ»εΊ '%s' δΈεε¨" -#: builtin/clone.c:879 builtin/fetch.c:1166 +#: builtin/clone.c:887 builtin/fetch.c:1174 #, c-format msgid "depth %s is not a positive number" msgstr "ζ·±εΊ¦ %s δΈζ―δΈδΈͺζ£ζ°" -#: builtin/clone.c:889 +#: builtin/clone.c:897 #, c-format msgid "destination path '%s' already exists and is not an empty directory." msgstr "ηζ θ·―εΎ '%s' ε·²η»εε¨οΌεΉΆδΈδΈζ―δΈδΈͺη©Ίηε½γ" -#: builtin/clone.c:899 +#: builtin/clone.c:907 #, c-format msgid "working tree '%s' already exists." msgstr "ε·₯δ½εΊ '%s' ε·²η»εε¨γ" -#: builtin/clone.c:914 builtin/clone.c:925 builtin/submodule--helper.c:224 -#: builtin/worktree.c:221 builtin/worktree.c:248 +#: builtin/clone.c:922 builtin/clone.c:933 builtin/submodule--helper.c:218 +#: builtin/worktree.c:219 builtin/worktree.c:246 #, c-format msgid "could not create leading directories of '%s'" msgstr "δΈθ½δΈΊ '%s' εε»Ίε
ε―Όηε½" -#: builtin/clone.c:917 +#: builtin/clone.c:925 #, c-format msgid "could not create work tree dir '%s'" msgstr "δΈθ½εε»Ίε·₯δ½εΊηε½ '%s'" -#: builtin/clone.c:935 +#: builtin/clone.c:943 #, c-format msgid "Cloning into bare repository '%s'...\n" msgstr "ε
ιε°ηΊ―δ»εΊ '%s'...\n" -#: builtin/clone.c:937 +#: builtin/clone.c:945 #, c-format msgid "Cloning into '%s'...\n" msgstr "ζ£ε
ιε° '%s'...\n" -#: builtin/clone.c:975 +#: builtin/clone.c:984 msgid "--depth is ignored in local clones; use file:// instead." msgstr "--depth ε¨ζ¬ε°ε
ιθ’«εΏ½η₯οΌζΉδΈΊ file:// εθθ―θ―γ" -#: builtin/clone.c:978 +#: builtin/clone.c:987 msgid "source repository is shallow, ignoring --local" msgstr "ζΊδ»εΊζ―ζ΅
ε
ιοΌεΏ½η₯ --local" -#: builtin/clone.c:983 +#: builtin/clone.c:992 msgid "--local is ignored" msgstr "--local θ’«εΏ½η₯" -#: builtin/clone.c:987 +#: builtin/clone.c:996 #, c-format msgid "Don't know how to clone %s" msgstr "δΈη₯ιε¦δ½ε
ι %s" -#: builtin/clone.c:1036 builtin/clone.c:1044 +#: builtin/clone.c:1045 builtin/clone.c:1053 #, c-format msgid "Remote branch %s not found in upstream %s" msgstr "θΏη¨εζ― %s ε¨δΈζΈΈ %s ζͺεη°" -#: builtin/clone.c:1047 +#: builtin/clone.c:1056 msgid "You appear to have cloned an empty repository." msgstr "ζ¨δΌΌδΉε
ιδΊδΈδΈͺη©Ίδ»εΊγ" @@ -5052,7 +5236,7 @@ msgstr "ζ ζ³ιζ©δΈδΈͺζͺθ’«ε½εζδΊ€θ―΄ζδ½Ώη¨η注ιε符" msgid "could not lookup commit %s" msgstr "δΈθ½ζ₯θ―’ζδΊ€ %s" -#: builtin/commit.c:702 builtin/shortlog.c:273 +#: builtin/commit.c:702 builtin/shortlog.c:285 #, c-format msgid "(reading log message from standard input)\n" msgstr "οΌζ£δ»ζ εθΎε
₯δΈθ―»εζ₯εΏδΏ‘ζ―οΌ\n" @@ -5235,8 +5419,8 @@ msgstr "δ»₯ηζ΄ηζ ΌεΌζΎη€ΊηΆζ" msgid "show branch information" msgstr "ζΎη€Ίεζ―δΏ‘ζ―" -#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:544 -#: builtin/worktree.c:423 +#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:512 +#: builtin/worktree.c:430 msgid "machine-readable output" msgstr "ζΊε¨ε―θ―»ηθΎεΊ" @@ -5325,8 +5509,8 @@ msgstr "ζ₯ζ" msgid "override date for commit" msgstr "ζδΊ€ζΆθ¦ηζ₯ζ" -#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:392 -#: builtin/notes.c:555 builtin/tag.c:349 +#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:395 +#: builtin/notes.c:558 builtin/tag.c:349 msgid "message" msgstr "θ―΄ζ" @@ -5359,7 +5543,7 @@ msgstr "δ½Ώη¨ autosquash ζ ΌεΌηζδΊ€θ―΄ζη¨δ»₯εηΌ©θ³ζεηζδΊ€" msgid "the commit is authored by me now (used with -C/-c/--amend)" msgstr "η°ε¨ε°θ―₯ζδΊ€ηδ½θ
ζΉδΈΊζοΌε -C/-c/--amend εζ°ε
±η¨οΌ" -#: builtin/commit.c:1588 builtin/log.c:1216 builtin/revert.c:86 +#: builtin/commit.c:1588 builtin/log.c:1219 builtin/revert.c:86 msgid "add Signed-off-by:" msgstr "ζ·»ε Signed-off-by: ηΎε" @@ -5384,7 +5568,7 @@ msgstr "θΎη½ε¦δ½ε ι€ζδΊ€θ―΄ζιηη©Ίζ Όε#注ι" msgid "include status in commit message template" msgstr "ε¨ζδΊ€θ―΄ζ樑ζΏιε
ε«ηΆζδΏ‘ζ―" -#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:156 +#: builtin/commit.c:1594 builtin/merge.c:226 builtin/pull.c:160 #: builtin/revert.c:93 msgid "GPG sign commit" msgstr "GPG ζδΊ€ηΎε" @@ -5474,139 +5658,143 @@ msgstr "" "δ»εΊε·²ζ΄ζ°οΌδ½ζ ζ³ε new_index ζδ»Άγζ£ζ₯ζ―ε¦η£ηε·²ζ»‘\n" "ζη£ηι
ι’ε·²θε°½οΌηΆεζ§θ‘ \"git reset HEAD\" ζ’ε€γ" -#: builtin/config.c:8 +#: builtin/config.c:9 msgid "git config [<options>]" msgstr "git config [<ιι‘Ή>]" -#: builtin/config.c:54 +#: builtin/config.c:56 msgid "Config file location" msgstr "ι
η½ζδ»Άδ½η½" -#: builtin/config.c:55 +#: builtin/config.c:57 msgid "use global config file" msgstr "δ½Ώη¨ε
¨ε±ι
η½ζδ»Ά" -#: builtin/config.c:56 +#: builtin/config.c:58 msgid "use system config file" msgstr "δ½Ώη¨η³»η»ηΊ§ι
η½ζδ»Ά" -#: builtin/config.c:57 +#: builtin/config.c:59 msgid "use repository config file" msgstr "δ½Ώη¨δ»εΊηΊ§ι
η½ζδ»Ά" -#: builtin/config.c:58 +#: builtin/config.c:60 msgid "use given config file" msgstr "δ½Ώη¨ζεηι
η½ζδ»Ά" -#: builtin/config.c:59 +#: builtin/config.c:61 msgid "blob-id" msgstr "ζ°ζ对豑 ID" -#: builtin/config.c:59 +#: builtin/config.c:61 msgid "read config from given blob object" msgstr "δ»η»εηζ°ζ对豑读ει
η½" -#: builtin/config.c:60 +#: builtin/config.c:62 msgid "Action" msgstr "ζδ½" -#: builtin/config.c:61 +#: builtin/config.c:63 msgid "get value: name [value-regex]" msgstr "θ·εεΌοΌname [value-regex]" -#: builtin/config.c:62 +#: builtin/config.c:64 msgid "get all values: key [value-regex]" msgstr "θ·εΎζζηεΌοΌkey [value-regex]" -#: builtin/config.c:63 +#: builtin/config.c:65 msgid "get values for regexp: name-regex [value-regex]" msgstr "ζ Ήζζ£ε葨达εΌθ·εΎεΌοΌname-regex [value-regex]" -#: builtin/config.c:64 +#: builtin/config.c:66 msgid "get value specific for the URL: section[.var] URL" msgstr "θ·εΎ URL εεΌοΌsection[.var] URL" -#: builtin/config.c:65 +#: builtin/config.c:67 msgid "replace all matching variables: name value [value_regex]" msgstr "ζΏζ’ζζεΉι
ηειοΌname value [value_regex]" -#: builtin/config.c:66 +#: builtin/config.c:68 msgid "add a new variable: name value" msgstr "ζ·»ε δΈδΈͺζ°ηειοΌname value" -#: builtin/config.c:67 +#: builtin/config.c:69 msgid "remove a variable: name [value-regex]" msgstr "ε ι€δΈδΈͺειοΌname [value-regex]" -#: builtin/config.c:68 +#: builtin/config.c:70 msgid "remove all matches: name [value-regex]" msgstr "ε ι€ζζεΉι
ι‘ΉοΌname [value-regex]" -#: builtin/config.c:69 +#: builtin/config.c:71 msgid "rename section: old-name new-name" msgstr "ιε½εε°θοΌold-name new-name" -#: builtin/config.c:70 +#: builtin/config.c:72 msgid "remove a section: name" msgstr "ε ι€δΈδΈͺε°θοΌname" -#: builtin/config.c:71 +#: builtin/config.c:73 msgid "list all" msgstr "εεΊζζ" -#: builtin/config.c:72 +#: builtin/config.c:74 msgid "open an editor" msgstr "ζεΌδΈδΈͺηΌθΎε¨" -#: builtin/config.c:73 +#: builtin/config.c:75 msgid "find the color configured: slot [default]" msgstr "θ·εΎι
η½ηι’θ²οΌι
η½ [ι»θ€]" -#: builtin/config.c:74 +#: builtin/config.c:76 msgid "find the color setting: slot [stdout-is-tty]" msgstr "θ·εΎι’θ²θΎη½οΌι
η½ [stdout-is-tty]" -#: builtin/config.c:75 +#: builtin/config.c:77 msgid "Type" msgstr "η±»ε" -#: builtin/config.c:76 +#: builtin/config.c:78 msgid "value is \"true\" or \"false\"" msgstr "εΌζ― \"true\" ζ \"false\"" -#: builtin/config.c:77 +#: builtin/config.c:79 msgid "value is decimal number" msgstr "εΌζ―εθΏεΆζ°" -#: builtin/config.c:78 +#: builtin/config.c:80 msgid "value is --bool or --int" msgstr "εΌζ― --bool or --int" -#: builtin/config.c:79 +#: builtin/config.c:81 msgid "value is a path (file or directory name)" msgstr "εΌζ―δΈδΈͺθ·―εΎοΌζδ»Άζηε½εοΌ" -#: builtin/config.c:80 +#: builtin/config.c:82 msgid "Other" msgstr "ε
Άε" -#: builtin/config.c:81 +#: builtin/config.c:83 msgid "terminate values with NUL byte" msgstr "η»ζ’εΌζ― NUL εθ" -#: builtin/config.c:82 +#: builtin/config.c:84 msgid "show variable names only" msgstr "εͺζΎη€Ίειε" -#: builtin/config.c:83 +#: builtin/config.c:85 msgid "respect include directives on lookup" msgstr "ζ₯θ―’ζΆεη
§ include ζ什ιε½ζ₯ζΎ" -#: builtin/config.c:303 +#: builtin/config.c:86 +msgid "show origin of config (file, standard input, blob, command line)" +msgstr "ζΎη€Ίι
η½ηζ₯ζΊοΌζδ»Άγζ εθΎε
₯γζ°ζ对豑οΌζε½δ»€θ‘οΌ" + +#: builtin/config.c:328 msgid "unable to parse default color value" msgstr "δΈθ½θ§£ζι»θ€ι’θ²εΌ" -#: builtin/config.c:441 +#: builtin/config.c:469 #, c-format msgid "" "# This is Git's per-user configuration file.\n" @@ -5621,7 +5809,7 @@ msgstr "" "#\tname = %s\n" "#\temail = %s\n" -#: builtin/config.c:575 +#: builtin/config.c:611 #, c-format msgid "cannot create configuration file %s" msgstr "δΈθ½εε»Ίι
η½ζδ»Ά %s" @@ -5871,163 +6059,167 @@ msgstr "git fetch --multiple [<ιι‘Ή>] [(<δ»εΊ> | <η»>)...]" msgid "git fetch --all [<options>]" msgstr "git fetch --all [<ιι‘Ή>]" -#: builtin/fetch.c:90 builtin/pull.c:162 +#: builtin/fetch.c:92 builtin/pull.c:166 msgid "fetch from all remotes" msgstr "δ»ζζηθΏη¨ζε" -#: builtin/fetch.c:92 builtin/pull.c:165 +#: builtin/fetch.c:94 builtin/pull.c:169 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "θΏ½ε ε° .git/FETCH_HEAD θδΈζ―θ¦ηε" -#: builtin/fetch.c:94 builtin/pull.c:168 +#: builtin/fetch.c:96 builtin/pull.c:172 msgid "path to upload pack on remote end" msgstr "δΈδΌ ε
ε°θΏη¨ηθ·―εΎ" -#: builtin/fetch.c:95 builtin/pull.c:170 +#: builtin/fetch.c:97 builtin/pull.c:174 msgid "force overwrite of local branch" msgstr "εΌΊεΆθ¦ηζ¬ε°εζ―" -#: builtin/fetch.c:97 +#: builtin/fetch.c:99 msgid "fetch from multiple remotes" msgstr "δ»ε€δΈͺθΏη¨ζε" -#: builtin/fetch.c:99 builtin/pull.c:172 +#: builtin/fetch.c:101 builtin/pull.c:176 msgid "fetch all tags and associated objects" msgstr "ζεζζηζ ηΎεε
³θ对豑" -#: builtin/fetch.c:101 +#: builtin/fetch.c:103 msgid "do not fetch all tags (--no-tags)" msgstr "δΈζεδ»»δ½ζ ηΎ(--no-tags)" -#: builtin/fetch.c:103 builtin/pull.c:175 +#: builtin/fetch.c:105 +msgid "number of submodules fetched in parallel" +msgstr "ε樑η»θ·εηεΉΆεζ°" + +#: builtin/fetch.c:107 builtin/pull.c:179 msgid "prune remote-tracking branches no longer on remote" msgstr "ζΈ
ι€θΏη¨ε·²η»δΈεε¨ηεζ―ηθ·θΈͺεζ―" # θ―θ
οΌε―ιεΌοΌδΈθ½ηΏ»θ― -#: builtin/fetch.c:104 builtin/pull.c:178 +#: builtin/fetch.c:108 builtin/pull.c:182 msgid "on-demand" msgstr "on-demand" -#: builtin/fetch.c:105 builtin/pull.c:179 +#: builtin/fetch.c:109 builtin/pull.c:183 msgid "control recursive fetching of submodules" msgstr "ζ§εΆε樑η»ηιε½ζε" -#: builtin/fetch.c:109 builtin/pull.c:184 +#: builtin/fetch.c:113 builtin/pull.c:191 msgid "keep downloaded pack" msgstr "δΏζδΈθ½½ε
" -#: builtin/fetch.c:111 +#: builtin/fetch.c:115 msgid "allow updating of HEAD ref" msgstr "ε
θΈζ΄ζ° HEAD εΌη¨" -#: builtin/fetch.c:114 builtin/pull.c:187 +#: builtin/fetch.c:118 builtin/pull.c:194 msgid "deepen history of shallow clone" msgstr "ζ·±εζ΅
ε
ιηεε²" -#: builtin/fetch.c:116 builtin/pull.c:190 +#: builtin/fetch.c:120 builtin/pull.c:197 msgid "convert to a complete repository" msgstr "转ζ’δΈΊδΈδΈͺεζ΄ηδ»εΊ" -#: builtin/fetch.c:118 builtin/log.c:1233 +#: builtin/fetch.c:122 builtin/log.c:1236 msgid "dir" msgstr "ηε½" -#: builtin/fetch.c:119 +#: builtin/fetch.c:123 msgid "prepend this to submodule path output" msgstr "ε¨ε樑η»θ·―εΎθΎεΊηει’ε δΈζ€ηε½" -#: builtin/fetch.c:122 +#: builtin/fetch.c:126 msgid "default mode for recursion" msgstr "ιε½ηι»θ€ζ¨‘εΌ" -#: builtin/fetch.c:124 builtin/pull.c:193 +#: builtin/fetch.c:128 builtin/pull.c:200 msgid "accept refs that update .git/shallow" msgstr "ζ₯εζ΄ζ° .git/shallow ηεΌη¨" -#: builtin/fetch.c:125 builtin/pull.c:195 +#: builtin/fetch.c:129 builtin/pull.c:202 msgid "refmap" msgstr "εΌη¨ζ ε°" -#: builtin/fetch.c:126 builtin/pull.c:196 +#: builtin/fetch.c:130 builtin/pull.c:203 msgid "specify fetch refmap" msgstr "ζεθ·εζδ½ηεΌη¨ζ ε°" -#: builtin/fetch.c:378 +#: builtin/fetch.c:386 msgid "Couldn't find remote ref HEAD" msgstr "ζ ζ³εη°θΏη¨ HEAD εΌη¨" -#: builtin/fetch.c:458 +#: builtin/fetch.c:466 #, c-format msgid "object %s not found" msgstr "对豑 %s ζͺεη°" -#: builtin/fetch.c:463 +#: builtin/fetch.c:471 msgid "[up to date]" msgstr "[ζζ°]" -#: builtin/fetch.c:477 +#: builtin/fetch.c:485 #, c-format msgid "! %-*s %-*s -> %s (can't fetch in current branch)" msgstr "! %-*s %-*s -> %s οΌε¨ε½εεζ―δΈδΈθ½θ·εοΌ" -#: builtin/fetch.c:478 builtin/fetch.c:566 +#: builtin/fetch.c:486 builtin/fetch.c:574 msgid "[rejected]" msgstr "[ε·²ζη»]" -#: builtin/fetch.c:489 +#: builtin/fetch.c:497 msgid "[tag update]" msgstr "[ζ ηΎζ΄ζ°]" # θ―θ
οΌζ³¨ζδΏζεε―Όη©Ίζ Ό -#: builtin/fetch.c:491 builtin/fetch.c:526 builtin/fetch.c:544 +#: builtin/fetch.c:499 builtin/fetch.c:534 builtin/fetch.c:552 msgid " (unable to update local ref)" msgstr " οΌδΈθ½ζ΄ζ°ζ¬ε°εΌη¨οΌ" -#: builtin/fetch.c:509 +#: builtin/fetch.c:517 msgid "[new tag]" msgstr "[ζ°ζ ηΎ]" -#: builtin/fetch.c:512 +#: builtin/fetch.c:520 msgid "[new branch]" msgstr "[ζ°εζ―]" -#: builtin/fetch.c:515 +#: builtin/fetch.c:523 msgid "[new ref]" msgstr "[ζ°εΌη¨]" -#: builtin/fetch.c:561 +#: builtin/fetch.c:569 msgid "unable to update local ref" msgstr "δΈθ½ζ΄ζ°ζ¬ε°εΌη¨" -#: builtin/fetch.c:561 +#: builtin/fetch.c:569 msgid "forced update" msgstr "εΌΊεΆζ΄ζ°" -#: builtin/fetch.c:568 +#: builtin/fetch.c:576 msgid "(non-fast-forward)" msgstr "οΌιεΏ«θΏεΌοΌ" -#: builtin/fetch.c:602 builtin/fetch.c:843 +#: builtin/fetch.c:610 builtin/fetch.c:851 #, c-format msgid "cannot open %s: %s\n" msgstr "ζ ζ³ζεΌ %sοΌ%s\n" -#: builtin/fetch.c:611 +#: builtin/fetch.c:619 #, c-format msgid "%s did not send all necessary objects\n" msgstr "%s ζͺειζζεΏ
ι‘»η对豑\n" -#: builtin/fetch.c:629 +#: builtin/fetch.c:637 #, c-format msgid "reject %s because shallow roots are not allowed to be updated" msgstr "ζη» %s ε δΈΊζ΅
ε
ιδΈε
θΈθ’«ζ΄ζ°" -#: builtin/fetch.c:716 builtin/fetch.c:808 +#: builtin/fetch.c:724 builtin/fetch.c:816 #, c-format msgid "From %.*s\n" msgstr "ζ₯θͺ %.*s\n" -#: builtin/fetch.c:727 +#: builtin/fetch.c:735 #, c-format msgid "" "some local refs could not be updated; try running\n" @@ -6037,87 +6229,87 @@ msgstr "" " 'git remote prune %s' ζ₯ε ι€ζ§ηγζε²ηͺηεζ―" # θ―θ
οΌζ³¨ζδΏζεε―Όη©Ίζ Ό -#: builtin/fetch.c:779 +#: builtin/fetch.c:787 #, c-format msgid " (%s will become dangling)" msgstr " οΌ%s ε°ζδΈΊζζηΆζοΌ" # θ―θ
οΌζ³¨ζδΏζεε―Όη©Ίζ Ό -#: builtin/fetch.c:780 +#: builtin/fetch.c:788 #, c-format msgid " (%s has become dangling)" msgstr " οΌ%s ε·²ζδΈΊζζηΆζοΌ" -#: builtin/fetch.c:812 +#: builtin/fetch.c:820 msgid "[deleted]" msgstr "[ε·²ε ι€]" -#: builtin/fetch.c:813 builtin/remote.c:1040 +#: builtin/fetch.c:821 builtin/remote.c:1025 msgid "(none)" msgstr "οΌζ οΌ" -#: builtin/fetch.c:833 +#: builtin/fetch.c:841 #, c-format msgid "Refusing to fetch into current branch %s of non-bare repository" msgstr "ζη»θ·εε°ιηΊ―δ»εΊηε½εεζ― %s" -#: builtin/fetch.c:852 +#: builtin/fetch.c:860 #, c-format msgid "Option \"%s\" value \"%s\" is not valid for %s" msgstr "ιι‘Ή \"%s\" ηεΌ \"%s\" ε―ΉδΊ %s ζ―ζ ζη" -#: builtin/fetch.c:855 +#: builtin/fetch.c:863 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "ιι‘Ή \"%s\" δΈΊ %s ζεΏ½η₯\n" -#: builtin/fetch.c:911 +#: builtin/fetch.c:920 #, c-format msgid "Don't know how to fetch from %s" msgstr "δΈη₯ιε¦δ½δ» %s θ·ε" -#: builtin/fetch.c:1072 +#: builtin/fetch.c:1080 #, c-format msgid "Fetching %s\n" msgstr "ζ£ε¨θ·ε %s\n" -#: builtin/fetch.c:1074 builtin/remote.c:96 +#: builtin/fetch.c:1082 builtin/remote.c:96 #, c-format msgid "Could not fetch %s" msgstr "δΈθ½θ·ε %s" -#: builtin/fetch.c:1092 +#: builtin/fetch.c:1100 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." msgstr "ζͺζεθΏη¨δ»εΊγθ―·ιθΏδΈδΈͺ URL ζθΏη¨δ»εΊεζεοΌη¨δ»₯θ·εζ°ζδΊ€γ" -#: builtin/fetch.c:1115 +#: builtin/fetch.c:1123 msgid "You need to specify a tag name." msgstr "ζ¨ιθ¦ζεδΈδΈͺζ ηΎεη§°γ" -#: builtin/fetch.c:1157 +#: builtin/fetch.c:1165 msgid "--depth and --unshallow cannot be used together" msgstr "--depth ε --unshallow δΈθ½εζΆδ½Ώη¨" -#: builtin/fetch.c:1159 +#: builtin/fetch.c:1167 msgid "--unshallow on a complete repository does not make sense" msgstr "ε―ΉδΊδΈδΈͺεζ΄ηδ»εΊοΌεζ° --unshallow 沑ζζδΉ" -#: builtin/fetch.c:1179 +#: builtin/fetch.c:1187 msgid "fetch --all does not take a repository argument" msgstr "fetch --all δΈθ½εΈ¦δΈδΈͺδ»εΊεζ°" -#: builtin/fetch.c:1181 +#: builtin/fetch.c:1189 msgid "fetch --all does not make sense with refspecs" msgstr "fetch --all εΈ¦εΌη¨θ§ζ Όζ²‘ζδ»»δ½ζδΉ" -#: builtin/fetch.c:1192 +#: builtin/fetch.c:1200 #, c-format msgid "No such remote or remote group: %s" msgstr "沑ζθΏζ ·ηθΏη¨ζθΏη¨η»οΌ%s" -#: builtin/fetch.c:1200 +#: builtin/fetch.c:1208 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "θ·εη»εΉΆζεεΌη¨θ§ζ Όζ²‘ζζδΉ" @@ -6337,225 +6529,239 @@ msgstr "ζε€ͺε€δΈε―θΎΎηζΎζ£ε―Ήθ±‘οΌθΏθ‘ 'git prune' ε ι€ε们γ" msgid "git grep [<options>] [-e] <pattern> [<rev>...] [[--] <path>...]" msgstr "git grep [<ιι‘Ή>] [-e] <樑εΌ> [<ηζ¬>...] [[--] <θ·―εΎ>...]" -#: builtin/grep.c:218 +#: builtin/grep.c:219 #, c-format msgid "grep: failed to create thread: %s" msgstr "grepοΌζ ζ³εε»ΊηΊΏη¨οΌ%s" -#: builtin/grep.c:441 builtin/grep.c:476 +#: builtin/grep.c:277 +#, c-format +msgid "invalid number of threads specified (%d) for %s" +msgstr "δΈΊ %2$s θΎεηηΊΏη¨ζ° (%1$d) ζ ζ" + +#: builtin/grep.c:452 builtin/grep.c:487 #, c-format msgid "unable to read tree (%s)" msgstr "ζ ζ³θ―»εζ οΌ%sοΌ" -#: builtin/grep.c:491 +#: builtin/grep.c:502 #, c-format msgid "unable to grep from object of type %s" msgstr "ζ ζ³ζεζ₯θͺδΊ %s η±»εη对豑" -#: builtin/grep.c:547 +#: builtin/grep.c:558 #, c-format msgid "switch `%c' expects a numerical value" msgstr "εΌε
³ `%c' ζζδΈδΈͺζ°εεΌ" -#: builtin/grep.c:564 +#: builtin/grep.c:575 #, c-format msgid "cannot open '%s'" msgstr "δΈθ½ζεΌ '%s'" -#: builtin/grep.c:633 +#: builtin/grep.c:644 msgid "search in index instead of in the work tree" msgstr "ε¨η΄’εΌεΊζη΄’θδΈζ―ε¨ε·₯δ½εΊ" -#: builtin/grep.c:635 +#: builtin/grep.c:646 msgid "find in contents not managed by git" msgstr "ε¨ζͺθ’« git η‘ηηε
εΉδΈζ₯ζΎ" # θ―θ
οΌδΈζε符串ζΌζ₯οΌε―ε ι€εε―Όη©Ίζ Ό -#: builtin/grep.c:637 +#: builtin/grep.c:648 msgid "search in both tracked and untracked files" msgstr "ε¨θ·θΈͺεζͺθ·θΈͺηζδ»ΆδΈζη΄’" -#: builtin/grep.c:639 +#: builtin/grep.c:650 msgid "ignore files specified via '.gitignore'" msgstr "εΏ½η₯ '.gitignore' ε
ε«ηζδ»Ά" -#: builtin/grep.c:642 +#: builtin/grep.c:653 msgid "show non-matching lines" msgstr "ζΎη€ΊζͺεΉι
ηθ‘" -#: builtin/grep.c:644 +#: builtin/grep.c:655 msgid "case insensitive matching" msgstr "δΈεΊεε€§ε°εεΉι
" -#: builtin/grep.c:646 +#: builtin/grep.c:657 msgid "match patterns only at word boundaries" msgstr "εͺε¨εθ―θΎΉηεΉι
樑εΌ" -#: builtin/grep.c:648 +#: builtin/grep.c:659 msgid "process binary files as text" msgstr "ζδΊθΏεΆζδ»Άε½εζζ¬ε€η" -#: builtin/grep.c:650 +#: builtin/grep.c:661 msgid "don't match patterns in binary files" msgstr "δΈε¨δΊθΏεΆζδ»ΆδΈεΉι
樑εΌ" -#: builtin/grep.c:653 +#: builtin/grep.c:664 msgid "process binary files with textconv filters" msgstr "η¨ textconv θΏζ»€ε¨ε€ηδΊθΏεΆζδ»Ά" -#: builtin/grep.c:655 +#: builtin/grep.c:666 msgid "descend at most <depth> levels" msgstr "ζε€δ»₯ζεηζ·±εΊ¦εδΈε―»ζΎ" -#: builtin/grep.c:659 +#: builtin/grep.c:670 msgid "use extended POSIX regular expressions" msgstr "δ½Ώη¨ζ©ε±η POSIX ζ£ε葨达εΌ" -#: builtin/grep.c:662 +#: builtin/grep.c:673 msgid "use basic POSIX regular expressions (default)" msgstr "δ½Ώη¨εΊζ¬η POSIX ζ£ε葨达εΌοΌι»θ€οΌ" -#: builtin/grep.c:665 +#: builtin/grep.c:676 msgid "interpret patterns as fixed strings" msgstr "ζ樑εΌθ§£ζδΈΊεΊεηε符串" -#: builtin/grep.c:668 +#: builtin/grep.c:679 msgid "use Perl-compatible regular expressions" msgstr "δ½Ώη¨ Perl ε
ΌεΉηζ£ε葨达εΌ" -#: builtin/grep.c:671 +#: builtin/grep.c:682 msgid "show line numbers" msgstr "ζΎη€Ίθ‘ε·" -#: builtin/grep.c:672 +#: builtin/grep.c:683 msgid "don't show filenames" msgstr "δΈζΎη€Ίζδ»Άε" -#: builtin/grep.c:673 +#: builtin/grep.c:684 msgid "show filenames" msgstr "ζΎη€Ίζδ»Άε" -#: builtin/grep.c:675 +#: builtin/grep.c:686 msgid "show filenames relative to top directory" msgstr "ζΎη€ΊηΈε―ΉδΊι‘ΆηΊ§ηε½ηζδ»Άε" -#: builtin/grep.c:677 +#: builtin/grep.c:688 msgid "show only filenames instead of matching lines" msgstr "εͺζΎη€Ίζδ»ΆεθδΈζΎη€ΊεΉι
ηθ‘" -#: builtin/grep.c:679 +#: builtin/grep.c:690 msgid "synonym for --files-with-matches" msgstr "ε --files-with-matches εδΉ" -#: builtin/grep.c:682 +#: builtin/grep.c:693 msgid "show only the names of files without match" msgstr "εͺζΎη€ΊζͺεΉι
ηζδ»Άε" -#: builtin/grep.c:684 +#: builtin/grep.c:695 msgid "print NUL after filenames" msgstr "ε¨ζδ»ΆεεθΎεΊ NUL ε符" -#: builtin/grep.c:686 +#: builtin/grep.c:697 msgid "show the number of matches instead of matching lines" msgstr "ζΎη€Ίζ»εΉι
θ‘ζ°οΌθδΈζΎη€ΊεΉι
ηθ‘" -#: builtin/grep.c:687 +#: builtin/grep.c:698 msgid "highlight matches" msgstr "ι«δΊζΎη€ΊεΉι
ι‘Ή" -#: builtin/grep.c:689 +#: builtin/grep.c:700 msgid "print empty line between matches from different files" msgstr "ε¨δΈεζδ»ΆηεΉι
ι‘ΉδΉι΄ζε°η©Ίθ‘" -#: builtin/grep.c:691 +#: builtin/grep.c:702 msgid "show filename only once above matches from same file" msgstr "εͺε¨εδΈζδ»ΆηεΉι
ι‘ΉηδΈι’ζΎη€ΊδΈζ¬‘ζδ»Άε" -#: builtin/grep.c:694 +#: builtin/grep.c:705 msgid "show <n> context lines before and after matches" msgstr "ζΎη€ΊεΉι
ι‘Ήεεη <n> θ‘δΈδΈζ" -#: builtin/grep.c:697 +#: builtin/grep.c:708 msgid "show <n> context lines before matches" msgstr "ζΎη€ΊεΉι
ι‘Ήε <n> θ‘δΈδΈζ" -#: builtin/grep.c:699 +#: builtin/grep.c:710 msgid "show <n> context lines after matches" msgstr "ζΎη€ΊεΉι
ι‘Ήε <n> θ‘δΈδΈζ" -#: builtin/grep.c:700 +#: builtin/grep.c:712 +msgid "use <n> worker threads" +msgstr "δ½Ώη¨ <n> δΈͺε·₯δ½ηΊΏη¨" + +#: builtin/grep.c:713 msgid "shortcut for -C NUM" msgstr "εΏ«ζ·ι -C ζ°ε" -#: builtin/grep.c:703 +#: builtin/grep.c:716 msgid "show a line with the function name before matches" msgstr "ε¨εΉι
ηει’ζΎη€ΊδΈθ‘ε½ζ°ε" -#: builtin/grep.c:705 +#: builtin/grep.c:718 msgid "show the surrounding function" msgstr "ζΎη€Ίζε¨ε½ζ°ηεεε
εΉ" -#: builtin/grep.c:708 +#: builtin/grep.c:721 msgid "read patterns from file" msgstr "δ»ζδ»Άθ―»ε樑εΌ" -#: builtin/grep.c:710 +#: builtin/grep.c:723 msgid "match <pattern>" msgstr "εΉι
<樑εΌ>" -#: builtin/grep.c:712 +#: builtin/grep.c:725 msgid "combine patterns specified with -e" msgstr "η»εη¨ -e εζ°θΎεη樑εΌ" -#: builtin/grep.c:724 +#: builtin/grep.c:737 msgid "indicate hit with exit status without output" msgstr "δΈθΎεΊοΌθη¨ιεΊη ζ θ―ε½δΈηΆζ" -#: builtin/grep.c:726 +#: builtin/grep.c:739 msgid "show only matches from files that match all patterns" msgstr "εͺζΎη€ΊεΉι
ζζ樑εΌηζδ»ΆδΈηεΉι
" -#: builtin/grep.c:728 +#: builtin/grep.c:741 msgid "show parse tree for grep expression" msgstr "ζΎη€Ί grep 葨达εΌηθ§£ζζ " -#: builtin/grep.c:732 +#: builtin/grep.c:745 msgid "pager" msgstr "ει‘΅" -#: builtin/grep.c:732 +#: builtin/grep.c:745 msgid "show matching files in the pager" msgstr "ει‘΅ζΎη€ΊεΉι
ηζδ»Ά" -#: builtin/grep.c:735 +#: builtin/grep.c:748 msgid "allow calling of grep(1) (ignored by this build)" msgstr "ε
θΈθ°η¨ grep(1)οΌζ¬ζ¬‘ζε»ΊεΏ½η₯οΌ" -#: builtin/grep.c:793 +#: builtin/grep.c:811 msgid "no pattern given." msgstr "ζͺζδΎζ¨‘εΌεΉι
γ" -#: builtin/grep.c:851 +#: builtin/grep.c:843 builtin/index-pack.c:1475 +#, c-format +msgid "invalid number of threads specified (%d)" +msgstr "ζεηηΊΏη¨ζ°ζ ζοΌ%dοΌ" + +#: builtin/grep.c:873 msgid "--open-files-in-pager only works on the worktree" msgstr "--open-files-in-pager δ»
η¨δΊε·₯δ½εΊ" -#: builtin/grep.c:877 +#: builtin/grep.c:899 msgid "--cached or --untracked cannot be used with --no-index." msgstr "--cached ζ --untracked δΈθ½δΈ --no-index εζΆδ½Ώη¨γ" -#: builtin/grep.c:882 +#: builtin/grep.c:904 msgid "--no-index or --untracked cannot be used with revs." msgstr "--no-index ζ --untracked δΈθ½εηζ¬εζΆδ½Ώη¨γ" -#: builtin/grep.c:885 +#: builtin/grep.c:907 msgid "--[no-]exclude-standard cannot be used for tracked contents." msgstr "--[no-]exclude-standard δΈθ½η¨δΊε·²θ·θΈͺε
εΉγ" -#: builtin/grep.c:893 +#: builtin/grep.c:915 msgid "both --cached and trees are given." msgstr "εζΆη»εΊδΊ --cached εζ 对豑γ" -#: builtin/hash-object.c:80 +#: builtin/hash-object.c:81 msgid "" "git hash-object [-t <type>] [-w] [--path=<file> | --no-filters] [--stdin] " "[--] <file>..." @@ -6563,36 +6769,36 @@ msgstr "" "git hash-object [-t <η±»ε>] [-w] [--path=<ζδ»Ά> | --no-filters] [--stdin] " "[--] <ζδ»Ά>..." -#: builtin/hash-object.c:81 +#: builtin/hash-object.c:82 msgid "git hash-object --stdin-paths" msgstr "git hash-object --stdin-paths" -#: builtin/hash-object.c:92 +#: builtin/hash-object.c:93 msgid "type" msgstr "η±»ε" -#: builtin/hash-object.c:92 +#: builtin/hash-object.c:93 msgid "object type" msgstr "对豑类ε" -#: builtin/hash-object.c:93 +#: builtin/hash-object.c:94 msgid "write the object into the object database" msgstr "ε°ε―Ήθ±‘εε
₯对豑ζ°ζεΊ" -#: builtin/hash-object.c:95 +#: builtin/hash-object.c:96 msgid "read the object from stdin" msgstr "δ»ζ εθΎε
₯θ―»ε对豑" -#: builtin/hash-object.c:97 +#: builtin/hash-object.c:98 msgid "store file as is without filters" msgstr "εζ ·εε¨ζδ»ΆδΈδ½Ώη¨θΏζ»€ε¨" -#: builtin/hash-object.c:98 +#: builtin/hash-object.c:99 msgid "" "just hash any random garbage to create corrupt objects for debugging Git" msgstr "ε
θΈε―Ήδ»»ζιζΊεεΎζ°ζεζ£εζ₯εε»Ίζεη对豑δ»₯δΎΏθ°θ― Git" -#: builtin/hash-object.c:99 +#: builtin/hash-object.c:100 msgid "process file as it were from this path" msgstr "ε€ηζδ»ΆεΉΆεθΎε
Άζ₯θͺδΊζ€θ·―εΎ" @@ -6643,7 +6849,7 @@ msgstr "emacsclient ηζ¬ '%d' ε€ͺθοΌ< 22οΌγ" msgid "failed to exec '%s': %s" msgstr "ζ ζ³ζ§θ‘ '%s'οΌ%s" -#: builtin/help.c:208 +#: builtin/help.c:205 #, c-format msgid "" "'%s': path for unsupported man viewer.\n" @@ -6652,7 +6858,7 @@ msgstr "" "'%s'οΌδΈζ―ζη man ζεζ₯ηε¨ηθ·―εΎγ\n" "θ―·δ½Ώη¨ 'man.<ε·₯ε
·>.cmd'γ" -#: builtin/help.c:220 +#: builtin/help.c:217 #, c-format msgid "" "'%s': cmd for supported man viewer.\n" @@ -6661,61 +6867,61 @@ msgstr "" "'%s': ζ―ζη man ζεζ₯ηε¨ε½δ»€γ\n" "θ―·δ½Ώη¨ 'man.<ε·₯ε
·>.path'γ" -#: builtin/help.c:337 +#: builtin/help.c:334 #, c-format msgid "'%s': unknown man viewer." msgstr "'%s'οΌζͺη₯η man ζ₯ηε¨γ" -#: builtin/help.c:354 +#: builtin/help.c:351 msgid "no man viewer handled the request" msgstr "沑ζ man ζ₯ηε¨ε€ηζ€θ―·ζ±" -#: builtin/help.c:362 +#: builtin/help.c:359 msgid "no info viewer handled the request" msgstr "沑ζ info ζ₯ηε¨ε€ηζ€θ―·ζ±" -#: builtin/help.c:411 +#: builtin/help.c:408 msgid "Defining attributes per path" msgstr "εδΉθ·―εΎηε±ζ§" -#: builtin/help.c:412 +#: builtin/help.c:409 msgid "Everyday Git With 20 Commands Or So" msgstr "ζ―δΈε€© Git εΈΈη¨ηηΊ¦ 20 ζ‘ε½δ»€" -#: builtin/help.c:413 +#: builtin/help.c:410 msgid "A Git glossary" msgstr "Git θ―ζ±θ‘¨" -#: builtin/help.c:414 +#: builtin/help.c:411 msgid "Specifies intentionally untracked files to ignore" msgstr "εΏ½η₯ζεηζͺθ·θΈͺζδ»Ά" -#: builtin/help.c:415 +#: builtin/help.c:412 msgid "Defining submodule properties" msgstr "εδΉε樑η»ε±ζ§" -#: builtin/help.c:416 +#: builtin/help.c:413 msgid "Specifying revisions and ranges for Git" msgstr "ζε Git ηηζ¬εηζ¬θε΄" -#: builtin/help.c:417 +#: builtin/help.c:414 msgid "A tutorial introduction to Git (for version 1.5.1 or newer)" msgstr "δΈδΈͺ Git ζη¨οΌιε―Ή 1.5.1 ζζ΄ζ°ηζ¬οΌ" -#: builtin/help.c:418 +#: builtin/help.c:415 msgid "An overview of recommended workflows with Git" msgstr "Git ζ¨θηε·₯δ½ζ΅ζ¦θ§" -#: builtin/help.c:430 +#: builtin/help.c:427 msgid "The common Git guides are:\n" msgstr "ζεΈΈη¨η Git εε―ΌζοΌ\n" -#: builtin/help.c:451 builtin/help.c:468 +#: builtin/help.c:448 builtin/help.c:465 #, c-format msgid "usage: %s%s" msgstr "η¨ζ³οΌ%s%s" -#: builtin/help.c:484 +#: builtin/help.c:481 #, c-format msgid "`git %s' is aliased to `%s'" msgstr "`git %s' ζ― `%s' ηε«ε" @@ -6951,60 +7157,55 @@ msgstr "ζ ζ³εε¨η΄’εΌζδ»Ά" msgid "bad pack.indexversion=%<PRIu32>" msgstr "εη pack.indexversion=%<PRIu32>" -#: builtin/index-pack.c:1475 -#, c-format -msgid "invalid number of threads specified (%d)" -msgstr "ζεηηΊΏη¨ζ°ζ ζοΌ%dοΌ" - -#: builtin/index-pack.c:1479 builtin/index-pack.c:1663 +#: builtin/index-pack.c:1479 builtin/index-pack.c:1664 #, c-format msgid "no threads support, ignoring %s" msgstr "沑ζηΊΏη¨ζ―ζοΌεΏ½η₯ %s" -#: builtin/index-pack.c:1537 +#: builtin/index-pack.c:1538 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "ζ ζ³ζεΌη°εε
ζδ»Ά '%s'" -#: builtin/index-pack.c:1539 +#: builtin/index-pack.c:1540 #, c-format msgid "Cannot open existing pack idx file for '%s'" msgstr "ζ ζ³δΈΊ %s ζεΌε
η΄’εΌζδ»Ά" -#: builtin/index-pack.c:1586 +#: builtin/index-pack.c:1587 #, c-format msgid "non delta: %d object" msgid_plural "non delta: %d objects" msgstr[0] "ι deltaοΌ%d δΈͺ对豑" msgstr[1] "ι deltaοΌ%d δΈͺ对豑" -#: builtin/index-pack.c:1593 +#: builtin/index-pack.c:1594 #, c-format msgid "chain length = %d: %lu object" msgid_plural "chain length = %d: %lu objects" msgstr[0] "ιΎιΏ = %d: %lu 对豑" msgstr[1] "ιΎιΏ = %d: %lu 对豑" -#: builtin/index-pack.c:1623 +#: builtin/index-pack.c:1624 msgid "Cannot come back to cwd" msgstr "ζ ζ³θΏεε½εε·₯δ½ηε½" -#: builtin/index-pack.c:1675 builtin/index-pack.c:1678 -#: builtin/index-pack.c:1690 builtin/index-pack.c:1694 +#: builtin/index-pack.c:1676 builtin/index-pack.c:1679 +#: builtin/index-pack.c:1691 builtin/index-pack.c:1695 #, c-format msgid "bad %s" msgstr "ιθ――ιι‘Ή %s" -#: builtin/index-pack.c:1708 +#: builtin/index-pack.c:1709 msgid "--fix-thin cannot be used without --stdin" msgstr "--fix-thin δΈθ½ε --stdin εζΆδ½Ώη¨" -#: builtin/index-pack.c:1712 builtin/index-pack.c:1721 +#: builtin/index-pack.c:1713 builtin/index-pack.c:1722 #, c-format msgid "packfile name '%s' does not end with '.pack'" msgstr "ε
ζδ»Άε '%s' 沑ζδ»₯ '.pack' η»ε°Ύ" -#: builtin/index-pack.c:1729 +#: builtin/index-pack.c:1730 msgid "--verify with no packfile name given" msgstr "--verify 沑ζζδΎε
ζδ»Άεεζ°" @@ -7129,24 +7330,32 @@ msgstr "δΈθ½θΏιε·₯δ½εΊ '%s'" #: builtin/interpret-trailers.c:15 msgid "" -"git interpret-trailers [--trim-empty] [(--trailer <token>[(=|:)<value>])...] " -"[<file>...]" +"git interpret-trailers [--in-place] [--trim-empty] [(--trailer " +"<token>[(=|:)<value>])...] [<file>...]" msgstr "" -"git interpret-trailers [--trim-empty] [(--trailer <ι>[(=|:)<εΌ>])...] [<ζδ»Ά" -">...]" +"git interpret-trailers [--in-place] [--trim-empty] [(--trailer <ι>[(=|:)<εΌ" +">])...] [<ζδ»Ά>...]" + +#: builtin/interpret-trailers.c:26 +msgid "edit files in place" +msgstr "ε¨εδ½ηΌθΎζδ»Ά" -#: builtin/interpret-trailers.c:25 +#: builtin/interpret-trailers.c:27 msgid "trim empty trailers" msgstr "ε ι€η©ΊηΎε" -#: builtin/interpret-trailers.c:26 +#: builtin/interpret-trailers.c:28 msgid "trailer" msgstr "ηΎε" -#: builtin/interpret-trailers.c:27 +#: builtin/interpret-trailers.c:29 msgid "trailer(s) to add" msgstr "θ¦ζ·»ε ηηΎε" +#: builtin/interpret-trailers.c:42 +msgid "no input file given for in-place editing" +msgstr "沑ζη»εΊθ¦εδ½ηΌθΎηζδ»Ά" + #: builtin/log.c:43 msgid "git log [<options>] [<revision-range>] [[--] <path>...]" msgstr "git log [<ιι‘Ή>] [<ηζ¬θε΄>] [[--] <θ·―εΎ>...]" @@ -7200,325 +7409,375 @@ msgstr "δΈθ½θ―»ε对豑 %s" msgid "Unknown type: %d" msgstr "ζͺη₯η±»εοΌ%d" -#: builtin/log.c:714 +#: builtin/log.c:715 msgid "format.headers without value" msgstr "format.headers 沑ζεΌ" -#: builtin/log.c:798 +#: builtin/log.c:801 msgid "name of output directory is too long" msgstr "θΎεΊηε½εε€ͺιΏ" -#: builtin/log.c:813 +#: builtin/log.c:816 #, c-format msgid "Cannot open patch file %s" msgstr "ζ ζ³ζεΌθ‘₯δΈζδ»Ά %s" -#: builtin/log.c:827 +#: builtin/log.c:830 msgid "Need exactly one range." msgstr "εͺιθ¦δΈδΈͺθε΄γ" -#: builtin/log.c:837 +#: builtin/log.c:840 msgid "Not a range." msgstr "δΈζ―δΈδΈͺθε΄γ" -#: builtin/log.c:943 +#: builtin/log.c:946 msgid "Cover letter needs email format" msgstr "δΏ‘ε°ιθ¦ιδ»Άε°εζ ΌεΌ" -#: builtin/log.c:1022 +#: builtin/log.c:1025 #, c-format msgid "insane in-reply-to: %s" msgstr "δΈζ£εΈΈη in-reply-toοΌ%s" -#: builtin/log.c:1050 +#: builtin/log.c:1053 msgid "git format-patch [<options>] [<since> | <revision-range>]" msgstr "git format-patch [<ιι‘Ή>] [<δ»> | <ηζ¬θε΄>]" -#: builtin/log.c:1095 +#: builtin/log.c:1098 msgid "Two output directories?" msgstr "δΈ€δΈͺθΎεΊηε½οΌ" -#: builtin/log.c:1211 +#: builtin/log.c:1214 msgid "use [PATCH n/m] even with a single patch" msgstr "δ½Ώη¨ [PATCH n/m]οΌε³δ½ΏεͺζδΈδΈͺθ‘₯δΈ" -#: builtin/log.c:1214 +#: builtin/log.c:1217 msgid "use [PATCH] even with multiple patches" msgstr "δ½Ώη¨ [PATCH]οΌε³δ½Ώζε€δΈͺθ‘₯δΈ" -#: builtin/log.c:1218 +#: builtin/log.c:1221 msgid "print patches to standard out" msgstr "ζε°θ‘₯δΈε°ζ εθΎεΊ" -#: builtin/log.c:1220 +#: builtin/log.c:1223 msgid "generate a cover letter" msgstr "ηζδΈε°ιδΏ‘" -#: builtin/log.c:1222 +#: builtin/log.c:1225 msgid "use simple number sequence for output file names" msgstr "δ½Ώη¨ηεηζ°εεΊεδ½δΈΊθΎεΊζδ»Άε" -#: builtin/log.c:1223 +#: builtin/log.c:1226 msgid "sfx" msgstr "εηΌ" -#: builtin/log.c:1224 +#: builtin/log.c:1227 msgid "use <sfx> instead of '.patch'" msgstr "δ½Ώη¨ <εηΌ> δ»£ζΏ '.patch'" -#: builtin/log.c:1226 +#: builtin/log.c:1229 msgid "start numbering patches at <n> instead of 1" msgstr "θ‘₯δΈδ»₯ <n> εΌε§ηΌε·οΌθδΈζ―1" -#: builtin/log.c:1228 +#: builtin/log.c:1231 msgid "mark the series as Nth re-roll" msgstr "ζ θ°θ‘₯δΈη³»εζ―第ε 欑ιεΆ" -#: builtin/log.c:1230 +#: builtin/log.c:1233 msgid "Use [<prefix>] instead of [PATCH]" msgstr "δ½Ώη¨ [<εηΌ>] δ»£ζΏ [PATCH]" -#: builtin/log.c:1233 +#: builtin/log.c:1236 msgid "store resulting files in <dir>" msgstr "ζη»ζζδ»Άεε¨ε¨ <ηε½>" -#: builtin/log.c:1236 +#: builtin/log.c:1239 msgid "don't strip/add [PATCH]" msgstr "δΈε ι€/ζ·»ε [PATCH]" -#: builtin/log.c:1239 +#: builtin/log.c:1242 msgid "don't output binary diffs" msgstr "δΈθΎεΊδΊθΏεΆε·εΌ" -#: builtin/log.c:1241 +#: builtin/log.c:1244 msgid "output all-zero hash in From header" msgstr "ε¨ From 倴俑ζ―δΈθΎεΊε
¨δΈΊιΆηεεΈεΌ" -#: builtin/log.c:1243 +#: builtin/log.c:1246 msgid "don't include a patch matching a commit upstream" msgstr "δΈε
ε«ε·²ε¨δΈζΈΈζδΊ€δΈηθ‘₯δΈ" -#: builtin/log.c:1245 +#: builtin/log.c:1248 msgid "show patch format instead of default (patch + stat)" msgstr "ζΎη€ΊηΊ―θ‘₯δΈζ ΌεΌθιι»θ€ηοΌθ‘₯δΈ+ηΆζοΌ" -#: builtin/log.c:1247 +#: builtin/log.c:1250 msgid "Messaging" msgstr "ιδ»Άει" -#: builtin/log.c:1248 +#: builtin/log.c:1251 msgid "header" msgstr "header" -#: builtin/log.c:1249 +#: builtin/log.c:1252 msgid "add email header" msgstr "ζ·»ε ι仢倴" -#: builtin/log.c:1250 builtin/log.c:1252 +#: builtin/log.c:1253 builtin/log.c:1255 msgid "email" msgstr "ιδ»Άε°ε" -#: builtin/log.c:1250 +#: builtin/log.c:1253 msgid "add To: header" msgstr "ζ·»ε ζΆδ»ΆδΊΊ" -#: builtin/log.c:1252 +#: builtin/log.c:1255 msgid "add Cc: header" msgstr "ζ·»ε ζι" -#: builtin/log.c:1254 +#: builtin/log.c:1257 msgid "ident" msgstr "ζ θ―" -#: builtin/log.c:1255 +#: builtin/log.c:1258 msgid "set From address to <ident> (or committer ident if absent)" msgstr "ε° From ε°εθΎη½δΈΊ <ζ θ―>οΌε¦θ₯δΈζδΎοΌεη¨ζδΊ€θ
ID εδΈΊε°εοΌ" -#: builtin/log.c:1257 +#: builtin/log.c:1260 msgid "message-id" msgstr "ιδ»Άζ θ―" -#: builtin/log.c:1258 +#: builtin/log.c:1261 msgid "make first mail a reply to <message-id>" msgstr "使第δΈε°ιδ»Άδ½δΈΊε―Ή <ιδ»Άζ θ―> ηεε€" -#: builtin/log.c:1259 builtin/log.c:1262 +#: builtin/log.c:1262 builtin/log.c:1265 msgid "boundary" msgstr "θΎΉη" -#: builtin/log.c:1260 +#: builtin/log.c:1263 msgid "attach the patch" msgstr "ιδ»ΆζΉεΌζ·»ε θ‘₯δΈ" -#: builtin/log.c:1263 +#: builtin/log.c:1266 msgid "inline the patch" msgstr "ε
θζΎη€Ίθ‘₯δΈ" -#: builtin/log.c:1267 +#: builtin/log.c:1270 msgid "enable message threading, styles: shallow, deep" msgstr "ε―η¨ιδ»ΆηΊΏη΄’οΌι£ζ ΌοΌζ΅
οΌζ·±" -#: builtin/log.c:1269 +#: builtin/log.c:1272 msgid "signature" msgstr "ηΎε" -#: builtin/log.c:1270 +#: builtin/log.c:1273 msgid "add a signature" msgstr "ζ·»ε δΈδΈͺηΎε" -#: builtin/log.c:1272 +#: builtin/log.c:1275 msgid "add a signature from a file" msgstr "δ»ζδ»Άζ·»ε δΈδΈͺηΎε" -#: builtin/log.c:1273 +#: builtin/log.c:1276 msgid "don't print the patch filenames" msgstr "δΈθ¦ζε°θ‘₯δΈζδ»Άε" -#: builtin/log.c:1362 +#: builtin/log.c:1365 msgid "-n and -k are mutually exclusive." msgstr "-n ε -k δΊζ₯γ" -#: builtin/log.c:1364 +#: builtin/log.c:1367 msgid "--subject-prefix and -k are mutually exclusive." msgstr "--subject-prefix ε -k δΊζ₯γ" -#: builtin/log.c:1372 +#: builtin/log.c:1375 msgid "--name-only does not make sense" msgstr "--name-only ζ ζδΉ" -#: builtin/log.c:1374 +#: builtin/log.c:1377 msgid "--name-status does not make sense" msgstr "--name-status ζ ζδΉ" -#: builtin/log.c:1376 +#: builtin/log.c:1379 msgid "--check does not make sense" msgstr "--check ζ ζδΉ" -#: builtin/log.c:1401 +#: builtin/log.c:1407 msgid "standard output, or directory, which one?" msgstr "ζ εθΎεΊζηε½οΌεͺδΈδΈͺοΌ" -#: builtin/log.c:1403 +#: builtin/log.c:1409 #, c-format msgid "Could not create directory '%s'" msgstr "δΈθ½εε»Ίηε½ '%s'" -#: builtin/log.c:1500 +#: builtin/log.c:1506 #, c-format msgid "unable to read signature file '%s'" msgstr "ζ ζ³θ―»εηΎεζδ»Ά '%s'" -#: builtin/log.c:1563 +#: builtin/log.c:1569 msgid "Failed to create output files" msgstr "ζ ζ³εε»ΊθΎεΊζδ»Ά" -#: builtin/log.c:1611 +#: builtin/log.c:1617 msgid "git cherry [-v] [<upstream> [<head> [<limit>]]]" msgstr "git cherry [-v] [<δΈζΈΈ> [<倴> [<ιεΆ>]]]" -#: builtin/log.c:1665 +#: builtin/log.c:1671 #, c-format msgid "" "Could not find a tracked remote branch, please specify <upstream> manually.\n" msgstr "δΈθ½ζΎε°θ·θΈͺηθΏη¨εζ―οΌθ―·ζε·₯ζε <δΈζΈΈ>γ\n" -#: builtin/log.c:1676 builtin/log.c:1678 builtin/log.c:1690 +#: builtin/log.c:1682 builtin/log.c:1684 builtin/log.c:1696 #, c-format msgid "Unknown commit %s" msgstr "ζͺη₯ζδΊ€ %s" -#: builtin/ls-files.c:358 +#: builtin/ls-files.c:378 msgid "git ls-files [<options>] [<file>...]" msgstr "git ls-files [<ιι‘Ή>] [<ζδ»Ά>...]" -#: builtin/ls-files.c:415 +#: builtin/ls-files.c:427 msgid "identify the file status with tags" msgstr "η¨ζ ηΎζ θ―ζδ»ΆηηΆζ" -#: builtin/ls-files.c:417 +#: builtin/ls-files.c:429 msgid "use lowercase letters for 'assume unchanged' files" msgstr "δ½Ώη¨ε°εεζ―葨瀺 'εθΎζͺζΉεη' ζδ»Ά" -#: builtin/ls-files.c:419 +#: builtin/ls-files.c:431 msgid "show cached files in the output (default)" msgstr "ζΎη€ΊηΌεηζδ»ΆοΌι»θ€οΌ" -#: builtin/ls-files.c:421 +#: builtin/ls-files.c:433 msgid "show deleted files in the output" msgstr "ζΎη€Ίε·²ε ι€ηζδ»Ά" -#: builtin/ls-files.c:423 +#: builtin/ls-files.c:435 msgid "show modified files in the output" msgstr "ζΎη€Ίε·²δΏζΉηζδ»Ά" -#: builtin/ls-files.c:425 +#: builtin/ls-files.c:437 msgid "show other files in the output" msgstr "ζΎη€Ίε
Άεζδ»Ά" -#: builtin/ls-files.c:427 +#: builtin/ls-files.c:439 msgid "show ignored files in the output" msgstr "ζΎη€ΊεΏ½η₯ηζδ»Ά" -#: builtin/ls-files.c:430 +#: builtin/ls-files.c:442 msgid "show staged contents' object name in the output" msgstr "ζΎη€ΊζεεΊε
εΉη对豑εη§°" -#: builtin/ls-files.c:432 +#: builtin/ls-files.c:444 msgid "show files on the filesystem that need to be removed" msgstr "ζΎη€Ίζδ»Άη³»η»ιθ¦ε ι€ηζδ»Ά" -#: builtin/ls-files.c:434 +#: builtin/ls-files.c:446 msgid "show 'other' directories' names only" msgstr "εͺζΎη€Ίβε
Άδ»βηε½ηεη§°" -#: builtin/ls-files.c:437 +#: builtin/ls-files.c:448 +msgid "show line endings of files" +msgstr "ζΎη€Ίζδ»Άζ’θ‘η¬¦ζ ΌεΌ" + +#: builtin/ls-files.c:450 msgid "don't show empty directories" msgstr "δΈζΎη€Ίη©Ίηε½" -#: builtin/ls-files.c:440 +#: builtin/ls-files.c:453 msgid "show unmerged files in the output" msgstr "ζΎη€ΊζͺεεΉΆηζδ»Ά" -#: builtin/ls-files.c:442 +#: builtin/ls-files.c:455 msgid "show resolve-undo information" msgstr "ζΎη€Ί resolve-undo δΏ‘ζ―" -#: builtin/ls-files.c:444 +#: builtin/ls-files.c:457 msgid "skip files matching pattern" msgstr "εΉι
ζι€ζδ»Άη樑εΌ" -#: builtin/ls-files.c:447 +#: builtin/ls-files.c:460 msgid "exclude patterns are read from <file>" msgstr "δ» <ζδ»Ά> δΈθ―»εζι€ζ¨‘εΌ" -#: builtin/ls-files.c:450 +#: builtin/ls-files.c:463 msgid "read additional per-directory exclude patterns in <file>" msgstr "δ» <ζδ»Ά> θ―»ει’ε€ηζ―δΈͺηε½ηζι€ζ¨‘εΌ" -#: builtin/ls-files.c:452 +#: builtin/ls-files.c:465 msgid "add the standard git exclusions" msgstr "ζ·»ε ζ εη git ζι€" -#: builtin/ls-files.c:455 +#: builtin/ls-files.c:468 msgid "make the output relative to the project top directory" msgstr "ζΎη€ΊηΈε―ΉδΊι‘ΆηΊ§ηε½ηζδ»Άε" -#: builtin/ls-files.c:458 +#: builtin/ls-files.c:471 msgid "if any <file> is not in the index, treat this as an error" msgstr "ε¦ζδ»»δ½ <ζδ»Ά> ι½δΈε¨η΄’εΌεΊοΌθ§δΈΊιθ――" -#: builtin/ls-files.c:459 +#: builtin/ls-files.c:472 msgid "tree-ish" msgstr "ζ ζζδΊ€" -#: builtin/ls-files.c:460 +#: builtin/ls-files.c:473 msgid "pretend that paths removed since <tree-ish> are still present" msgstr "εθ£
θͺδ» <ζ ζζδΊ€> δΉεε ι€ηθ·―εΎδ»ηΆεε¨" -#: builtin/ls-files.c:462 +#: builtin/ls-files.c:475 msgid "show debugging data" msgstr "ζΎη€Ίθ°θ―ζ°ζ" +#: builtin/ls-remote.c:7 +msgid "" +"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n" +" [-q | --quiet] [--exit-code] [--get-url]\n" +" [--symref] [<repository> [<refs>...]]" +msgstr "" +"git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]\n" +" [-q | --quiet] [--exit-code] [--get-url]\n" +" [--symref] [<δ»εΊ> [<εΌη¨>...]]" + +#: builtin/ls-remote.c:50 +msgid "do not print remote URL" +msgstr "δΈζε°θΏη¨ URL" + +#: builtin/ls-remote.c:51 builtin/ls-remote.c:53 +msgid "exec" +msgstr "exec" + +#: builtin/ls-remote.c:52 builtin/ls-remote.c:54 +msgid "path of git-upload-pack on the remote host" +msgstr "θΏη¨δΈ»ζΊδΈη git-upload-pack θ·―εΎ" + +#: builtin/ls-remote.c:56 +msgid "limit to tags" +msgstr "δ»
ιδΊζ ηΎ" + +#: builtin/ls-remote.c:57 +msgid "limit to heads" +msgstr "δ»
ιδΊεζ―" + +#: builtin/ls-remote.c:58 +msgid "do not show peeled tags" +msgstr "δΈζΎη€Ίε·²θ§£ζηζ ηΎ" + +#: builtin/ls-remote.c:60 +msgid "take url.<base>.insteadOf into account" +msgstr "εθ url.<base>.insteadOf θΎη½" + +#: builtin/ls-remote.c:62 +msgid "exit with exit code 2 if no matching refs are found" +msgstr "θ₯ζͺζΎε°εΉι
ηεΌη¨εδ»₯ιεΊη 2ιεΊ" + +#: builtin/ls-remote.c:64 +msgid "show underlying ref in addition to the object pointed by it" +msgstr "ι€δΊζΎη€Ίζεη对豑ε€οΌζΎη€ΊζεηεΌη¨ε" + #: builtin/ls-tree.c:28 msgid "git ls-tree [<options>] <tree-ish> [<path>...]" msgstr "git ls-tree [<ιι‘Ή>] <ζ ζζδΊ€> [<θ·―εΎ>...]" @@ -7586,31 +7845,31 @@ msgstr "ε―η¨ηηη₯ζοΌ" msgid "Available custom strategies are:" msgstr "ε―η¨ηθͺεδΉηη₯ζοΌ" -#: builtin/merge.c:193 builtin/pull.c:119 +#: builtin/merge.c:193 builtin/pull.c:123 msgid "do not show a diffstat at the end of the merge" msgstr "ε¨εεΉΆηζεδΈζΎη€Ίε·εΌη»θ‘" -#: builtin/merge.c:196 builtin/pull.c:122 +#: builtin/merge.c:196 builtin/pull.c:126 msgid "show a diffstat at the end of the merge" msgstr "ε¨εεΉΆηζεζΎη€Ίε·εΌη»θ‘" -#: builtin/merge.c:197 builtin/pull.c:125 +#: builtin/merge.c:197 builtin/pull.c:129 msgid "(synonym to --stat)" msgstr "οΌε --stat εδΉοΌ" -#: builtin/merge.c:199 builtin/pull.c:128 +#: builtin/merge.c:199 builtin/pull.c:132 msgid "add (at most <n>) entries from shortlog to merge commit message" msgstr "ε¨εεΉΆζδΊ€δΏ‘ζ―δΈζ·»ε οΌζε€ <n> ζ‘οΌη²ΎηζδΊ€θ°ε½" -#: builtin/merge.c:202 builtin/pull.c:131 +#: builtin/merge.c:202 builtin/pull.c:135 msgid "create a single commit instead of doing a merge" msgstr "εε»ΊδΈδΈͺεη¬ηζδΊ€θδΈζ―εδΈζ¬‘εεΉΆ" -#: builtin/merge.c:204 builtin/pull.c:134 +#: builtin/merge.c:204 builtin/pull.c:138 msgid "perform a commit if the merge succeeds (default)" msgstr "ε¦ζεεΉΆζεοΌζ§θ‘δΈζ¬‘ζδΊ€οΌι»θ€οΌ" -#: builtin/merge.c:206 builtin/pull.c:137 +#: builtin/merge.c:206 builtin/pull.c:141 msgid "edit message before committing" msgstr "ε¨ζδΊ€εηΌθΎζδΊ€θ―΄ζ" @@ -7618,7 +7877,7 @@ msgstr "ε¨ζδΊ€εηΌθΎζδΊ€θ―΄ζ" msgid "allow fast-forward (default)" msgstr "ε
θΈεΏ«θΏοΌι»θ€οΌ" -#: builtin/merge.c:209 builtin/pull.c:143 +#: builtin/merge.c:209 builtin/pull.c:147 msgid "abort if fast-forward is not possible" msgstr "ε¦ζδΈθ½εΏ«θΏε°±ζΎεΌεεΉΆ" @@ -7626,20 +7885,20 @@ msgstr "ε¦ζδΈθ½εΏ«θΏε°±ζΎεΌεεΉΆ" msgid "Verify that the named commit has a valid GPG signature" msgstr "ιͺθ―ζεηζδΊ€ζ―ε¦ε
ε«δΈδΈͺζζη GPG ηΎε" -#: builtin/merge.c:214 builtin/notes.c:767 builtin/pull.c:148 +#: builtin/merge.c:214 builtin/notes.c:770 builtin/pull.c:152 #: builtin/revert.c:89 msgid "strategy" msgstr "ηη₯" -#: builtin/merge.c:215 builtin/pull.c:149 +#: builtin/merge.c:215 builtin/pull.c:153 msgid "merge strategy to use" msgstr "θ¦δ½Ώη¨ηεεΉΆηη₯" -#: builtin/merge.c:216 builtin/pull.c:152 +#: builtin/merge.c:216 builtin/pull.c:156 msgid "option=value" msgstr "option=value" -#: builtin/merge.c:217 builtin/pull.c:153 +#: builtin/merge.c:217 builtin/pull.c:157 msgid "option for selected merge strategy" msgstr "ζιηεεΉΆηη₯ηιι‘Ή" @@ -7678,8 +7937,8 @@ msgstr " οΌζ ε―εηΌ©οΌ" msgid "Squash commit -- not updating HEAD\n" msgstr "εηΌ©ζδΊ€ -- ζͺζ΄ζ° HEAD\n" -#: builtin/merge.c:344 builtin/merge.c:763 builtin/merge.c:975 -#: builtin/merge.c:988 +#: builtin/merge.c:344 builtin/merge.c:764 builtin/merge.c:976 +#: builtin/merge.c:989 #, c-format msgid "Could not write to '%s'" msgstr "δΈθ½εε
₯ '%s'" @@ -7697,41 +7956,41 @@ msgstr "εζ SQUASH_MSG" msgid "No merge message -- not updating HEAD\n" msgstr "ζ εεΉΆδΏ‘ζ― -- ζͺζ΄ζ° HEAD\n" -#: builtin/merge.c:447 +#: builtin/merge.c:448 #, c-format msgid "'%s' does not point to a commit" msgstr "'%s' 沑ζζεδΈδΈͺζδΊ€" -#: builtin/merge.c:537 +#: builtin/merge.c:538 #, c-format msgid "Bad branch.%s.mergeoptions string: %s" msgstr "εη branch.%s.mergeoptions ε符串οΌ%s" -#: builtin/merge.c:656 +#: builtin/merge.c:657 msgid "Not handling anything other than two heads merge." msgstr "δΈθ½ε€ηδΈ€δΈͺ倴εεΉΆδΉε€ηδ»»δ½ζδ½γ" -#: builtin/merge.c:670 +#: builtin/merge.c:671 #, c-format msgid "Unknown option for merge-recursive: -X%s" msgstr "merge-recursive ηζͺη₯ιι‘ΉοΌ-X%s" -#: builtin/merge.c:683 +#: builtin/merge.c:684 #, c-format msgid "unable to write %s" msgstr "δΈθ½ε %s" -#: builtin/merge.c:772 +#: builtin/merge.c:773 #, c-format msgid "Could not read from '%s'" msgstr "δΈθ½δ» '%s' θ―»ε" -#: builtin/merge.c:781 +#: builtin/merge.c:782 #, c-format msgid "Not committing merge; use 'git commit' to complete the merge.\n" msgstr "ζͺζδΊ€εεΉΆοΌδ½Ώη¨ 'git commit' εζζ€ζ¬‘εεΉΆγ\n" -#: builtin/merge.c:787 +#: builtin/merge.c:788 #, c-format msgid "" "Please enter a commit message to explain why this merge is necessary,\n" @@ -7745,52 +8004,52 @@ msgstr "" "\n" "δ»₯ '%c' εΌε€΄ηθ‘ε°θ’«εΏ½η₯οΌθδΈη©ΊζδΊ€θ―΄ζε°δΌη»ζ’ζδΊ€γ\n" -#: builtin/merge.c:811 +#: builtin/merge.c:812 msgid "Empty commit message." msgstr "η©ΊζδΊ€δΏ‘ζ―γ" -#: builtin/merge.c:823 +#: builtin/merge.c:824 #, c-format msgid "Wonderful.\n" msgstr "ε€ͺζ£δΊγ\n" -#: builtin/merge.c:878 +#: builtin/merge.c:879 #, c-format msgid "Automatic merge failed; fix conflicts and then commit the result.\n" msgstr "θͺε¨εεΉΆε€±θ΄₯οΌδΏζ£ε²ηͺηΆεζδΊ€δΏζ£ηη»ζγ\n" -#: builtin/merge.c:894 +#: builtin/merge.c:895 #, c-format msgid "'%s' is not a commit" msgstr "'%s' δΈζ―δΈδΈͺζδΊ€" -#: builtin/merge.c:935 +#: builtin/merge.c:936 msgid "No current branch." msgstr "沑ζε½εεζ―γ" -#: builtin/merge.c:937 +#: builtin/merge.c:938 msgid "No remote for the current branch." msgstr "ε½εεζ―沑ζε―ΉεΊηθΏη¨δ»εΊγ" -#: builtin/merge.c:939 +#: builtin/merge.c:940 msgid "No default upstream defined for the current branch." msgstr "ε½εεζ―沑ζεδΉι»θ€ηδΈζΈΈεζ―γ" -#: builtin/merge.c:944 +#: builtin/merge.c:945 #, c-format msgid "No remote-tracking branch for %s from %s" msgstr "ε―ΉδΊ %s 沑ζζ₯θͺ %s ηθΏη¨θ·θΈͺεζ―" -#: builtin/merge.c:1079 +#: builtin/merge.c:1080 #, c-format msgid "could not close '%s'" msgstr "δΈθ½ε
³ι '%s'" -#: builtin/merge.c:1206 +#: builtin/merge.c:1207 msgid "There is no merge to abort (MERGE_HEAD missing)." msgstr "沑ζθ¦η»ζ’ηεεΉΆοΌMERGE_HEAD δΈ’ε€±οΌγ" -#: builtin/merge.c:1222 +#: builtin/merge.c:1223 msgid "" "You have not concluded your merge (MERGE_HEAD exists).\n" "Please, commit your changes before you merge." @@ -7798,7 +8057,7 @@ msgstr "" "ζ¨ε°ζͺη»ζζ¨ηεεΉΆοΌεε¨ MERGE_HEADοΌγ\n" "θ―·ε¨εεΉΆεε
ζδΊ€ζ¨ηδΏζΉγ" -#: builtin/merge.c:1229 +#: builtin/merge.c:1230 msgid "" "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n" "Please, commit your changes before you merge." @@ -7806,100 +8065,100 @@ msgstr "" "ζ¨ε°ζͺη»ζζ¨ηζ£ιοΌεε¨ CHERRY_PICK_HEADοΌγ\n" "θ―·ε¨εεΉΆεε
ζδΊ€ζ¨ηδΏζΉγ" -#: builtin/merge.c:1232 +#: builtin/merge.c:1233 msgid "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists)." msgstr "ζ¨ε°ζͺη»ζζ¨ηζ£ιοΌεε¨ CHERRY_PICK_HEADοΌγ" -#: builtin/merge.c:1241 +#: builtin/merge.c:1242 msgid "You cannot combine --squash with --no-ff." msgstr "ζ¨δΈθ½ε° --squash δΈ --no-ff εζΆδ½Ώη¨γ" -#: builtin/merge.c:1249 +#: builtin/merge.c:1250 msgid "No commit specified and merge.defaultToUpstream not set." msgstr "ζͺζεζδΊ€εΉΆδΈ merge.defaultToUpstream ζͺθΎη½γ" -#: builtin/merge.c:1266 +#: builtin/merge.c:1267 msgid "Squash commit into empty head not supported yet" msgstr "ε°δΈζ―ζε°η©Ίεζ―ηεηΌ©ζδΊ€" -#: builtin/merge.c:1268 +#: builtin/merge.c:1269 msgid "Non-fast-forward commit does not make sense into an empty head" msgstr "ε°η©Ίεζ―ηιεΏ«θΏεΌζ亀沑ζζδΉ" -#: builtin/merge.c:1274 +#: builtin/merge.c:1275 #, c-format msgid "%s - not something we can merge" msgstr "%s - δΈθ½θ’«εεΉΆ" -#: builtin/merge.c:1276 +#: builtin/merge.c:1277 msgid "Can merge only exactly one commit into empty head" msgstr "εͺθ½ε°δΈδΈͺζδΊ€εεΉΆε°η©Ίεζ―δΈ" -#: builtin/merge.c:1331 +#: builtin/merge.c:1332 #, c-format msgid "Commit %s has an untrusted GPG signature, allegedly by %s." msgstr "ζδΊ€ %s ζδΈδΈͺιε―δΏ‘ηε£°η§°ζ₯θͺ %s η GPG ηΎεγ" -#: builtin/merge.c:1334 +#: builtin/merge.c:1335 #, c-format msgid "Commit %s has a bad GPG signature allegedly by %s." msgstr "ζδΊ€ %s ζδΈδΈͺιθ――ηε£°η§°ζ₯θͺ %s η GPG ηΎεγ" -#: builtin/merge.c:1337 +#: builtin/merge.c:1338 #, c-format msgid "Commit %s does not have a GPG signature." msgstr "ζδΊ€ %s 沑ζδΈδΈͺ GPG ηΎεγ" -#: builtin/merge.c:1340 +#: builtin/merge.c:1341 #, c-format msgid "Commit %s has a good GPG signature by %s\n" msgstr "ζδΊ€ %s ζδΈδΈͺζ₯θͺ %s ηε₯½η GPG ηΎεγ\n" -#: builtin/merge.c:1423 +#: builtin/merge.c:1424 #, c-format msgid "Updating %s..%s\n" msgstr "ζ΄ζ° %s..%s\n" -#: builtin/merge.c:1460 +#: builtin/merge.c:1461 #, c-format msgid "Trying really trivial in-index merge...\n" msgstr "ε°θ―ιεΈΈε°ηη΄’εΌε
εεΉΆ...\n" -#: builtin/merge.c:1467 +#: builtin/merge.c:1468 #, c-format msgid "Nope.\n" msgstr "ζ γ\n" -#: builtin/merge.c:1499 +#: builtin/merge.c:1500 msgid "Not possible to fast-forward, aborting." msgstr "ζ ζ³εΏ«θΏοΌη»ζ’γ" -#: builtin/merge.c:1522 builtin/merge.c:1601 +#: builtin/merge.c:1523 builtin/merge.c:1602 #, c-format msgid "Rewinding the tree to pristine...\n" msgstr "ε°ζ εζ»θ³εε§ηΆζ...\n" -#: builtin/merge.c:1526 +#: builtin/merge.c:1527 #, c-format msgid "Trying merge strategy %s...\n" msgstr "ε°θ―εεΉΆηη₯ %s...\n" -#: builtin/merge.c:1592 +#: builtin/merge.c:1593 #, c-format msgid "No merge strategy handled the merge.\n" msgstr "沑ζεεΉΆηη₯ε€ηζ€εεΉΆγ\n" -#: builtin/merge.c:1594 +#: builtin/merge.c:1595 #, c-format msgid "Merge with strategy %s failed.\n" msgstr "δ½Ώη¨ηη₯ %s εεΉΆε€±θ΄₯γ\n" -#: builtin/merge.c:1603 +#: builtin/merge.c:1604 #, c-format msgid "Using the %s to prepare resolving by hand.\n" msgstr "δ½Ώη¨ %s δ»₯εε€ζε·₯θ§£ε³γ\n" -#: builtin/merge.c:1615 +#: builtin/merge.c:1616 #, c-format msgid "Automatic merge went well; stopped before committing as requested\n" msgstr "θͺε¨εεΉΆθΏε±ι‘Ίε©οΌζθ¦ζ±ε¨ζδΊ€εεζ’\n" @@ -7984,19 +8243,19 @@ msgstr "δΈθ¦θ¦εε²ηͺ" msgid "set labels for file1/orig-file/file2" msgstr "δΈΊ ζδ»Ά1/εε§ζδ»Ά/ζδ»Ά2 θΎη½ζ ηΎ" -#: builtin/mktree.c:64 +#: builtin/mktree.c:65 msgid "git mktree [-z] [--missing] [--batch]" msgstr "git mktree [-z] [--missing] [--batch]" -#: builtin/mktree.c:150 +#: builtin/mktree.c:152 msgid "input is NUL terminated" msgstr "θΎε
₯δ»₯ NUL ε符η»ζ’" -#: builtin/mktree.c:151 builtin/write-tree.c:24 +#: builtin/mktree.c:153 builtin/write-tree.c:24 msgid "allow missing objects" msgstr "ε
θΈδΈ’ε€±η对豑" -#: builtin/mktree.c:152 +#: builtin/mktree.c:154 msgid "allow creation of more than one tree" msgstr "ε
θΈεε»ΊδΈδΈͺδ»₯δΈηζ " @@ -8004,90 +8263,90 @@ msgstr "ε
θΈεε»ΊδΈδΈͺδ»₯δΈηζ " msgid "git mv [<options>] <source>... <destination>" msgstr "git mv [<ιι‘Ή>] <ζΊ>... <ηζ >" -#: builtin/mv.c:69 +#: builtin/mv.c:70 #, c-format msgid "Directory %s is in index and no submodule?" msgstr "ηε½ %s ε¨η΄’εΌδΈεΉΆδΈδΈζ―ε樑η»οΌ" -#: builtin/mv.c:71 +#: builtin/mv.c:72 msgid "Please stage your changes to .gitmodules or stash them to proceed" msgstr "θ―·ε°ζ¨ηδΏζΉζεε° .gitmodules δΈζδΏεθΏεΊ¦εεη»§η»" -#: builtin/mv.c:89 +#: builtin/mv.c:90 #, c-format msgid "%.*s is in index" msgstr "%.*s ε¨η΄’εΌδΈ" -#: builtin/mv.c:111 +#: builtin/mv.c:112 msgid "force move/rename even if target exists" msgstr "εΌΊεΆη§»ε¨/ιε½δ»€οΌε³δ½Ώηζ εε¨" -#: builtin/mv.c:112 +#: builtin/mv.c:113 msgid "skip move/rename errors" msgstr "θ·³θΏη§»ε¨/ιε½ειθ――" -#: builtin/mv.c:151 +#: builtin/mv.c:152 #, c-format msgid "destination '%s' is not a directory" msgstr "ηζ '%s' δΈζ―δΈδΈͺηε½" -#: builtin/mv.c:162 +#: builtin/mv.c:163 #, c-format msgid "Checking rename of '%s' to '%s'\n" msgstr "ζ£ζ₯ '%s' ε° '%s' ηιε½ε\n" -#: builtin/mv.c:166 +#: builtin/mv.c:167 msgid "bad source" msgstr "εηζΊ" -#: builtin/mv.c:169 +#: builtin/mv.c:170 msgid "can not move directory into itself" msgstr "δΈθ½ε°ηε½η§»ε¨ε°θͺθΊ«" -#: builtin/mv.c:172 +#: builtin/mv.c:173 msgid "cannot move directory over file" msgstr "δΈθ½ε°ηε½η§»ε¨ε°ζδ»Ά" -#: builtin/mv.c:181 +#: builtin/mv.c:182 msgid "source directory is empty" msgstr "ζΊηε½δΈΊη©Ί" -#: builtin/mv.c:206 +#: builtin/mv.c:207 msgid "not under version control" msgstr "δΈε¨ηζ¬ζ§εΆδΉδΈ" -#: builtin/mv.c:209 +#: builtin/mv.c:210 msgid "destination exists" msgstr "ηζ ε·²εε¨" -#: builtin/mv.c:217 +#: builtin/mv.c:218 #, c-format msgid "overwriting '%s'" msgstr "θ¦η '%s'" -#: builtin/mv.c:220 +#: builtin/mv.c:221 msgid "Cannot overwrite" msgstr "δΈθ½θ¦η" -#: builtin/mv.c:223 +#: builtin/mv.c:224 msgid "multiple sources for the same target" msgstr "εδΈηζ ε
·ζε€δΈͺζΊ" -#: builtin/mv.c:225 +#: builtin/mv.c:226 msgid "destination directory does not exist" msgstr "ηζ ηε½δΈεε¨" -#: builtin/mv.c:232 +#: builtin/mv.c:233 #, c-format msgid "%s, source=%s, destination=%s" msgstr "%sοΌζΊ=%sοΌηζ =%s" -#: builtin/mv.c:253 +#: builtin/mv.c:254 #, c-format msgid "Renaming %s to %s\n" msgstr "ιε½ε %s θ³ %s\n" -#: builtin/mv.c:256 builtin/remote.c:728 builtin/repack.c:365 +#: builtin/mv.c:257 builtin/remote.c:714 builtin/repack.c:365 #, c-format msgid "renaming '%s' failed" msgstr "ιε½ε '%s' ε€±θ΄₯" @@ -8284,9 +8543,9 @@ msgid "could not open or read '%s'" msgstr "δΈθ½ζεΌζθ―»ε '%s'" #: builtin/notes.c:253 builtin/notes.c:304 builtin/notes.c:306 -#: builtin/notes.c:366 builtin/notes.c:421 builtin/notes.c:507 -#: builtin/notes.c:512 builtin/notes.c:590 builtin/notes.c:653 -#: builtin/notes.c:877 builtin/tag.c:456 +#: builtin/notes.c:369 builtin/notes.c:424 builtin/notes.c:510 +#: builtin/notes.c:515 builtin/notes.c:593 builtin/notes.c:656 +#: builtin/notes.c:880 builtin/tag.c:456 #, c-format msgid "Failed to resolve '%s' as a valid ref." msgstr "ζ ζ³θ§£ζ '%s' δΈΊδΈδΈͺζζεΌη¨γ" @@ -8301,83 +8560,83 @@ msgstr "ζ ζ³θ―»ε对豑 '%s'γ" msgid "Cannot read note data from non-blob object '%s'." msgstr "δΈθ½δ»ιζ°ζ对豑 '%s' δΈθ―»ε注解ζ°ζ" -#: builtin/notes.c:359 builtin/notes.c:414 builtin/notes.c:490 -#: builtin/notes.c:502 builtin/notes.c:578 builtin/notes.c:646 -#: builtin/notes.c:942 +#: builtin/notes.c:362 builtin/notes.c:417 builtin/notes.c:493 +#: builtin/notes.c:505 builtin/notes.c:581 builtin/notes.c:649 +#: builtin/notes.c:945 msgid "too many parameters" msgstr "εζ°ε€ͺε€" -#: builtin/notes.c:372 builtin/notes.c:659 +#: builtin/notes.c:375 builtin/notes.c:662 #, c-format msgid "No note found for object %s." msgstr "ζͺεη°ε―Ήθ±‘ %s η注解γ" -#: builtin/notes.c:393 builtin/notes.c:556 +#: builtin/notes.c:396 builtin/notes.c:559 msgid "note contents as a string" msgstr "注解ε
εΉδ½δΈΊδΈδΈͺε符串" -#: builtin/notes.c:396 builtin/notes.c:559 +#: builtin/notes.c:399 builtin/notes.c:562 msgid "note contents in a file" msgstr "注解ε
εΉε°δΈδΈͺζδ»ΆδΈ" -#: builtin/notes.c:399 builtin/notes.c:562 +#: builtin/notes.c:402 builtin/notes.c:565 msgid "reuse and edit specified note object" msgstr "ιη¨εηΌθΎζεη注解对豑" -#: builtin/notes.c:402 builtin/notes.c:565 +#: builtin/notes.c:405 builtin/notes.c:568 msgid "reuse specified note object" msgstr "ιη¨ζεη注解对豑" -#: builtin/notes.c:405 builtin/notes.c:568 +#: builtin/notes.c:408 builtin/notes.c:571 msgid "allow storing empty note" msgstr "ε
θΈδΏεη©Ίη½ζ³¨ι" -#: builtin/notes.c:406 builtin/notes.c:477 +#: builtin/notes.c:409 builtin/notes.c:480 msgid "replace existing notes" msgstr "ζΏζ’ε·²εε¨η注解" -#: builtin/notes.c:431 +#: builtin/notes.c:434 #, c-format msgid "" "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite " "existing notes" msgstr "δΈθ½ζ·»ε 注解γεη°ε―Ήθ±‘ %s ε·²εε¨ζ³¨θ§£γδ½Ώη¨ '-f' θ¦ηη°ε注解" -#: builtin/notes.c:446 builtin/notes.c:525 +#: builtin/notes.c:449 builtin/notes.c:528 #, c-format msgid "Overwriting existing notes for object %s\n" msgstr "θ¦η对豑 %s η°ε注解\n" -#: builtin/notes.c:457 builtin/notes.c:618 builtin/notes.c:882 +#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:885 #, c-format msgid "Removing note for object %s\n" msgstr "ε ι€ε―Ήθ±‘ %s η注解\n" -#: builtin/notes.c:478 +#: builtin/notes.c:481 msgid "read objects from stdin" msgstr "δ»ζ εθΎε
₯θ―»ε对豑" -#: builtin/notes.c:480 +#: builtin/notes.c:483 msgid "load rewriting config for <command> (implies --stdin)" msgstr "ιζ°ε θ½½ <ε½δ»€> ηι
η½οΌιε« --stdinοΌ" -#: builtin/notes.c:498 +#: builtin/notes.c:501 msgid "too few parameters" msgstr "εζ°ε€ͺε°" -#: builtin/notes.c:519 +#: builtin/notes.c:522 #, c-format msgid "" "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite " "existing notes" msgstr "δΈθ½ζ·θ΄ζ³¨θ§£γεη°ε―Ήθ±‘ %s ε·²εε¨ζ³¨θ§£γδ½Ώη¨ '-f' θ¦ηη°ε注解" -#: builtin/notes.c:531 +#: builtin/notes.c:534 #, c-format msgid "Missing notes on source object %s. Cannot copy." msgstr "ζΊε―Ήθ±‘ %s ηΌΊε°ζ³¨θ§£γδΈθ½ζ·θ΄γ" -#: builtin/notes.c:583 +#: builtin/notes.c:586 #, c-format msgid "" "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n" @@ -8386,63 +8645,63 @@ msgstr "" "εε½δ»€ 'edit' ηιι‘Ή -m/-F/-c/-C ε·²εΌη¨γ\n" "θ―·ζ’η¨ 'git notes add -f -m/-F/-c/-C'γ\n" -#: builtin/notes.c:764 +#: builtin/notes.c:767 msgid "General options" msgstr "ιη¨ιι‘Ή" -#: builtin/notes.c:766 +#: builtin/notes.c:769 msgid "Merge options" msgstr "εεΉΆιι‘Ή" -#: builtin/notes.c:768 +#: builtin/notes.c:771 msgid "" "resolve notes conflicts using the given strategy (manual/ours/theirs/union/" "cat_sort_uniq)" msgstr "δ½Ώη¨ζεηηη₯θ§£ε³ζ³¨θ§£ε²ηͺ (manual/ours/theirs/union/cat_sort_uniq)" -#: builtin/notes.c:770 +#: builtin/notes.c:773 msgid "Committing unmerged notes" msgstr "ζδΊ€ζͺεεΉΆη注解" -#: builtin/notes.c:772 +#: builtin/notes.c:775 msgid "finalize notes merge by committing unmerged notes" msgstr "ιθΏζδΊ€ζͺεεΉΆη注解ζ₯εζ注解εεΉΆ" -#: builtin/notes.c:774 +#: builtin/notes.c:777 msgid "Aborting notes merge resolution" msgstr "δΈζ’注解εεΉΆηζΉζ‘" -#: builtin/notes.c:776 +#: builtin/notes.c:779 msgid "abort notes merge" msgstr "δΈζ’注解εεΉΆ" -#: builtin/notes.c:853 +#: builtin/notes.c:856 #, c-format msgid "A notes merge into %s is already in-progress at %s" msgstr "δΈδΈͺε° %s η注解εεΉΆε·²η»ε¨ %s ζ§θ‘δΈ" -#: builtin/notes.c:880 +#: builtin/notes.c:883 #, c-format msgid "Object %s has no note\n" msgstr "对豑 %s 沑ζ注解\n" -#: builtin/notes.c:892 +#: builtin/notes.c:895 msgid "attempt to remove non-existent note is not an error" msgstr "ε°θ―ε ι€δΈεε¨η注解δΈζ―δΈδΈͺιθ――" -#: builtin/notes.c:895 +#: builtin/notes.c:898 msgid "read object names from the standard input" msgstr "δ»ζ εθΎε
₯θ―»ε对豑εη§°" -#: builtin/notes.c:976 +#: builtin/notes.c:979 msgid "notes-ref" msgstr "注解εΌη¨" -#: builtin/notes.c:977 +#: builtin/notes.c:980 msgid "use notes from <notes-ref>" msgstr "δ» <注解εΌη¨> δ½Ώη¨ζ³¨θ§£" -#: builtin/notes.c:1012 builtin/remote.c:1647 +#: builtin/notes.c:1015 builtin/remote.c:1626 #, c-format msgid "Unknown subcommand: %s" msgstr "ζͺη₯εε½δ»€οΌ%s" @@ -8462,165 +8721,165 @@ msgstr "git pack-objects [<ιι‘Ή>...] <base-name> [< <εΌη¨ε葨> | < <对豑 msgid "deflate error (%d)" msgstr "εηΌ©ιθ―― (%d)" -#: builtin/pack-objects.c:771 +#: builtin/pack-objects.c:772 msgid "Writing objects" msgstr "εε
₯对豑δΈ" -#: builtin/pack-objects.c:1011 +#: builtin/pack-objects.c:1012 msgid "disabling bitmap writing, as some objects are not being packed" msgstr "η¦η¨ bitmap εε
₯οΌε δΈΊδΈδΊε―Ήθ±‘ε°δΈδΌθ’«ζε
" -#: builtin/pack-objects.c:2171 +#: builtin/pack-objects.c:2172 msgid "Compressing objects" msgstr "ε缩对豑δΈ" -#: builtin/pack-objects.c:2568 +#: builtin/pack-objects.c:2558 #, c-format msgid "unsupported index version %s" msgstr "δΈζ―ζηη΄’εΌηζ¬ %s" -#: builtin/pack-objects.c:2572 +#: builtin/pack-objects.c:2562 #, c-format msgid "bad index version '%s'" msgstr "εηη΄’εΌηζ¬ '%s'" -#: builtin/pack-objects.c:2602 +#: builtin/pack-objects.c:2592 msgid "do not show progress meter" msgstr "δΈζΎη€ΊθΏεΊ¦θ‘¨" -#: builtin/pack-objects.c:2604 +#: builtin/pack-objects.c:2594 msgid "show progress meter" msgstr "ζΎη€ΊθΏεΊ¦θ‘¨" -#: builtin/pack-objects.c:2606 +#: builtin/pack-objects.c:2596 msgid "show progress meter during object writing phase" msgstr "ε¨ε―Ήθ±‘εε
₯ιΆζ΅ζΎη€ΊθΏεΊ¦θ‘¨" -#: builtin/pack-objects.c:2609 +#: builtin/pack-objects.c:2599 msgid "similar to --all-progress when progress meter is shown" msgstr "ε½θΏεΊ¦θ‘¨ζΎη€ΊζΆη±»δΌΌδΊ --all-progress" -#: builtin/pack-objects.c:2610 +#: builtin/pack-objects.c:2600 msgid "version[,offset]" msgstr "ηζ¬[,εη§»]" -#: builtin/pack-objects.c:2611 +#: builtin/pack-objects.c:2601 msgid "write the pack index file in the specified idx format version" msgstr "η¨ζεη idx ζ ΌεΌηζ¬ζ₯εε
η΄’εΌζδ»Ά" -#: builtin/pack-objects.c:2614 +#: builtin/pack-objects.c:2604 msgid "maximum size of each output pack file" msgstr "ζ―δΈͺθΎεΊε
ηζε€§ε°Ίε―Έ" -#: builtin/pack-objects.c:2616 +#: builtin/pack-objects.c:2606 msgid "ignore borrowed objects from alternate object store" msgstr "εΏ½η₯δ»ε€η¨ε―Ήθ±‘εε¨ιεη¨ε―Ήθ±‘" -#: builtin/pack-objects.c:2618 +#: builtin/pack-objects.c:2608 msgid "ignore packed objects" msgstr "εΏ½η₯ε
对豑" -#: builtin/pack-objects.c:2620 +#: builtin/pack-objects.c:2610 msgid "limit pack window by objects" msgstr "ιεΆζε
ηͺε£η对豑ζ°" -#: builtin/pack-objects.c:2622 +#: builtin/pack-objects.c:2612 msgid "limit pack window by memory in addition to object limit" msgstr "ι€ε―Ήθ±‘ζ°ιιεΆε€θΎη½ζε
ηͺε£ηε
ειεΆ" -#: builtin/pack-objects.c:2624 +#: builtin/pack-objects.c:2614 msgid "maximum length of delta chain allowed in the resulting pack" msgstr "ζε
ε
θΈη delta ιΎηζε€§ιΏεΊ¦" -#: builtin/pack-objects.c:2626 +#: builtin/pack-objects.c:2616 msgid "reuse existing deltas" msgstr "ιη¨ε·²εε¨η deltas" -#: builtin/pack-objects.c:2628 +#: builtin/pack-objects.c:2618 msgid "reuse existing objects" msgstr "ιη¨ε·²εε¨η对豑" -#: builtin/pack-objects.c:2630 +#: builtin/pack-objects.c:2620 msgid "use OFS_DELTA objects" msgstr "δ½Ώη¨ OFS_DELTA 对豑" -#: builtin/pack-objects.c:2632 +#: builtin/pack-objects.c:2622 msgid "use threads when searching for best delta matches" msgstr "δ½Ώη¨ηΊΏη¨ζ₯θ―’ζδ½³ delta εΉι
" -#: builtin/pack-objects.c:2634 +#: builtin/pack-objects.c:2624 msgid "do not create an empty pack output" msgstr "δΈεε»Ίη©Ίηε
θΎεΊ" -#: builtin/pack-objects.c:2636 +#: builtin/pack-objects.c:2626 msgid "read revision arguments from standard input" msgstr "δ»ζ εθΎε
₯θ―»εηζ¬ε·εζ°" -#: builtin/pack-objects.c:2638 +#: builtin/pack-objects.c:2628 msgid "limit the objects to those that are not yet packed" msgstr "ιεΆι£δΊε°ζͺζε
η对豑" -#: builtin/pack-objects.c:2641 +#: builtin/pack-objects.c:2631 msgid "include objects reachable from any reference" msgstr "ε
ζ¬ε―δ»₯δ»δ»»δ½εΌη¨θΏιε°η对豑" -#: builtin/pack-objects.c:2644 +#: builtin/pack-objects.c:2634 msgid "include objects referred by reflog entries" msgstr "ε
ζ¬θ’«εΌη¨ζ₯εΏεΌη¨ε°η对豑" -#: builtin/pack-objects.c:2647 +#: builtin/pack-objects.c:2637 msgid "include objects referred to by the index" msgstr "ε
ζ¬θ’«η΄’εΌεΌη¨ε°η对豑" -#: builtin/pack-objects.c:2650 +#: builtin/pack-objects.c:2640 msgid "output pack to stdout" msgstr "θΎεΊε
ε°ζ εθΎεΊ" -#: builtin/pack-objects.c:2652 +#: builtin/pack-objects.c:2642 msgid "include tag objects that refer to objects to be packed" msgstr "ε
ζ¬ι£δΊεΌη¨δΊεΎ
ζε
对豑ηζ ηΎε―Ήθ±‘" -#: builtin/pack-objects.c:2654 +#: builtin/pack-objects.c:2644 msgid "keep unreachable objects" msgstr "η»΄ζδΈε―θΎΎη对豑" -#: builtin/pack-objects.c:2655 parse-options.h:142 +#: builtin/pack-objects.c:2645 parse-options.h:142 msgid "time" msgstr "ζΆι΄" -#: builtin/pack-objects.c:2656 +#: builtin/pack-objects.c:2646 msgid "unpack unreachable objects newer than <time>" msgstr "ε°ζ―η»ε <ζΆι΄> ζ°ηζ ζ³θΏιη对豑解ε
" -#: builtin/pack-objects.c:2659 +#: builtin/pack-objects.c:2649 msgid "create thin packs" msgstr "εε»Ίη²Ύηε
" -#: builtin/pack-objects.c:2661 +#: builtin/pack-objects.c:2651 msgid "create packs suitable for shallow fetches" msgstr "εε»Ίιεζ΅
ε
ιδ»εΊθ·εηε
" -#: builtin/pack-objects.c:2663 +#: builtin/pack-objects.c:2653 msgid "ignore packs that have companion .keep file" msgstr "εΏ½η₯ι
ζ .keep ζδ»Άηε
" -#: builtin/pack-objects.c:2665 +#: builtin/pack-objects.c:2655 msgid "pack compression level" msgstr "ζε
εηΌ©ηΊ§ε«" -#: builtin/pack-objects.c:2667 +#: builtin/pack-objects.c:2657 msgid "do not hide commits by grafts" msgstr "ζΎη€Ίθ’«ε«ζ₯ιθηζδΊ€" -#: builtin/pack-objects.c:2669 +#: builtin/pack-objects.c:2659 msgid "use a bitmap index if available to speed up counting objects" msgstr "δ½Ώη¨ bitmap η΄’εΌοΌε¦ζζηθ―οΌδ»₯ζι«ε―Ήθ±‘θ‘ζ°ζΆηιεΊ¦" -#: builtin/pack-objects.c:2671 +#: builtin/pack-objects.c:2661 msgid "write a bitmap index together with the pack index" msgstr "ε¨ε»Ίη«ε
η΄’εΌηεζΆεε»Ί bitmap η΄’εΌ" -#: builtin/pack-objects.c:2762 +#: builtin/pack-objects.c:2752 msgid "Counting objects" msgstr "对豑θ‘ζ°δΈ" @@ -8664,65 +8923,69 @@ msgstr "δ½Ώζ©δΊη»εζΆι΄η对豑θΏζ" msgid "cannot prune in a precious-objects repo" msgstr "δΈθ½ε¨ηεδ»εΊδΈζ§θ‘ζΈ
ηζδ½" -#: builtin/pull.c:69 +#: builtin/pull.c:72 msgid "git pull [<options>] [<repository> [<refspec>...]]" msgstr "git pull [<ιι‘Ή>] [<δ»εΊ> [<εΌη¨θ§ζ Ό>...]]" -#: builtin/pull.c:113 +#: builtin/pull.c:117 msgid "Options related to merging" msgstr "εεεΉΆηΈε
³ηιι‘Ή" -#: builtin/pull.c:116 +#: builtin/pull.c:120 msgid "incorporate changes by rebasing rather than merging" msgstr "δ½Ώη¨εεΊζδ½ε代εεΉΆζδ½δ»₯εε
₯δΏζΉ" -#: builtin/pull.c:140 builtin/revert.c:105 +#: builtin/pull.c:144 builtin/revert.c:105 msgid "allow fast-forward" msgstr "ε
θΈεΏ«θΏεΌ" -#: builtin/pull.c:146 +#: builtin/pull.c:150 msgid "verify that the named commit has a valid GPG signature" msgstr "ιͺθ―ζεηζδΊ€ζ―ε¦ε
ε«δΈδΈͺζζη GPG ηΎε" -#: builtin/pull.c:160 +#: builtin/pull.c:164 msgid "Options related to fetching" msgstr "εθ·εηΈε
³ηεζ°" -#: builtin/pull.c:268 +#: builtin/pull.c:186 +msgid "number of submodules pulled in parallel" +msgstr "εΉΆεζεηε樑η»ηζ°ι" + +#: builtin/pull.c:275 #, c-format msgid "Invalid value for pull.ff: %s" msgstr "pull.ff ηεεΌζ ζοΌ%s" -#: builtin/pull.c:352 +#: builtin/pull.c:359 msgid "Cannot pull with rebase: You have unstaged changes." msgstr "ζ ζ³ιθΏεεΊζΉεΌζεοΌζ¨ζζͺζεηεζ΄γ" -#: builtin/pull.c:358 +#: builtin/pull.c:365 msgid "Additionally, your index contains uncommitted changes." msgstr "θδΈζ¨ηη΄’εΌδΈε
ε«ζͺζδΊ€ηεζ΄γ" -#: builtin/pull.c:360 +#: builtin/pull.c:367 msgid "Cannot pull with rebase: Your index contains uncommitted changes." msgstr "ζ ζ³ιθΏεεΊζΉεΌζεοΌζ¨ηη΄’εΌδΈε
ε«ζͺζδΊ€ηεζ΄γ" -#: builtin/pull.c:436 +#: builtin/pull.c:443 msgid "" "There is no candidate for rebasing against among the refs that you just " "fetched." msgstr "ε¨ζ¨εεθ·εε°ηεΌη¨δΈζ²‘ζεεΊζδ½ηειγ" -#: builtin/pull.c:438 +#: builtin/pull.c:445 msgid "" "There are no candidates for merging among the refs that you just fetched." msgstr "ε¨ζ¨εεθ·εε°ηεΌη¨δΈζ²‘ζεεΉΆζδ½ηειγ" -#: builtin/pull.c:439 +#: builtin/pull.c:446 msgid "" "Generally this means that you provided a wildcard refspec which had no\n" "matches on the remote end." msgstr "ιεΈΈθΏζε³ηζ¨ζδΎδΊδΈδΈͺιι
符εΌη¨θ§ζ Όδ½ζͺθ½εθΏη«―εΉι
γ" -#: builtin/pull.c:442 +#: builtin/pull.c:449 #, c-format msgid "" "You asked to pull from the remote '%s', but did not specify\n" @@ -8732,27 +8995,27 @@ msgstr "" "ζ¨θ¦ζ±δ»θΏη¨ '%s' ζεοΌδ½ζ―ζͺζεδΈδΈͺεζ―γε δΈΊθΏδΈζ―ε½ε\n" "εζ―ι»θ€ηθΏη¨δ»εΊοΌζ¨εΏ
ι‘»ε¨ε½δ»€θ‘δΈζεδΈδΈͺεζ―εγ" -#: builtin/pull.c:447 +#: builtin/pull.c:454 msgid "You are not currently on a branch." msgstr "ζ¨ε½εδΈε¨δΈδΈͺεζ―δΈγ" -#: builtin/pull.c:449 builtin/pull.c:464 +#: builtin/pull.c:456 builtin/pull.c:471 msgid "Please specify which branch you want to rebase against." msgstr "θ―·ζεζ¨θ¦εεΊε°εͺδΈδΈͺεζ―γ" -#: builtin/pull.c:451 builtin/pull.c:466 +#: builtin/pull.c:458 builtin/pull.c:473 msgid "Please specify which branch you want to merge with." msgstr "θ―·ζεζ¨θ¦εεΉΆεͺδΈδΈͺεζ―γ" -#: builtin/pull.c:452 builtin/pull.c:467 +#: builtin/pull.c:459 builtin/pull.c:474 msgid "See git-pull(1) for details." msgstr "θ―¦θ§ git-pull(1)γ" -#: builtin/pull.c:462 +#: builtin/pull.c:469 msgid "There is no tracking information for the current branch." msgstr "ε½εεζ―沑ζθ·θΈͺδΏ‘ζ―γ" -#: builtin/pull.c:471 +#: builtin/pull.c:478 #, c-format msgid "" "If you wish to set tracking information for this branch you can do so with:\n" @@ -8763,7 +9026,7 @@ msgstr "" "\n" " git branch --set-upstream-to=%s/<branch> %s\n" -#: builtin/pull.c:476 +#: builtin/pull.c:483 #, c-format msgid "" "Your configuration specifies to merge with the ref '%s'\n" @@ -8772,11 +9035,11 @@ msgstr "" "ζ¨ηι
η½δΈζεθ¦εεΉΆθΏη¨ηεΌη¨ '%s'οΌ\n" "δ½ζ―沑ζθ·εε°θΏδΈͺεΌη¨γ" -#: builtin/pull.c:830 +#: builtin/pull.c:841 msgid "Updating an unborn branch with changes added to the index." msgstr "ζ΄ζ°ε°ζͺθ―ηηεζ―οΌεζ΄ζ·»ε θ³η΄’εΌγ" -#: builtin/pull.c:859 +#: builtin/pull.c:870 #, c-format msgid "" "fetch updated the current branch head.\n" @@ -8786,7 +9049,7 @@ msgstr "" "fetch ζ΄ζ°δΊε½εηεζ―γεΏ«θΏζ¨ηε·₯δ½εΊ\n" "θ³ζδΊ€ %sγ" -#: builtin/pull.c:864 +#: builtin/pull.c:875 #, c-format msgid "" "Cannot fast-forward your working tree.\n" @@ -8803,11 +9066,11 @@ msgstr "" "$ git reset --hard\n" "ζ’ε€δΉεηηΆζγ" -#: builtin/pull.c:879 +#: builtin/pull.c:890 msgid "Cannot merge multiple branches into empty head." msgstr "ζ ζ³ε°ε€δΈͺεζ―εεΉΆε°η©Ίεζ―γ" -#: builtin/pull.c:883 +#: builtin/pull.c:894 msgid "Cannot rebase onto multiple branches." msgstr "ζ ζ³εεΊε°ε€δΈͺεζ―γ" @@ -8815,15 +9078,15 @@ msgstr "ζ ζ³εεΊε°ε€δΈͺεζ―γ" msgid "git push [<options>] [<repository> [<refspec>...]]" msgstr "git push [<ιι‘Ή>] [<δ»εΊ> [<εΌη¨θ§ζ Ό>...]]" -#: builtin/push.c:88 +#: builtin/push.c:89 msgid "tag shorthand without <tag>" msgstr "ζ ηΎει’ζͺζδΎ <ζ ηΎ> εζ°" -#: builtin/push.c:98 +#: builtin/push.c:99 msgid "--delete only accepts plain target ref names" msgstr "--delete εͺζ₯εηεηηζ εΌη¨ε" -#: builtin/push.c:142 +#: builtin/push.c:143 msgid "" "\n" "To choose either option permanently, see push.default in 'git help config'." @@ -8831,7 +9094,7 @@ msgstr "" "\n" "δΈΊδΊζ°ΈδΉ
ε°ιζ©δ»»δΈιι‘ΉοΌεθ§ 'git help config' δΈη push.defaultγ" -#: builtin/push.c:145 +#: builtin/push.c:146 #, c-format msgid "" "The upstream branch of your current branch does not match\n" @@ -8855,7 +9118,7 @@ msgstr "" " git push %s %s\n" "%s" -#: builtin/push.c:160 +#: builtin/push.c:161 #, c-format msgid "" "You are not currently on a branch.\n" @@ -8869,7 +9132,7 @@ msgstr "" "\n" " git push %s HEAD:<θΏη¨εζ―εε>\n" -#: builtin/push.c:174 +#: builtin/push.c:175 #, c-format msgid "" "The current branch %s has no upstream branch.\n" @@ -8882,12 +9145,12 @@ msgstr "" "\n" " git push --set-upstream %s %s\n" -#: builtin/push.c:182 +#: builtin/push.c:183 #, c-format msgid "The current branch %s has multiple upstream branches, refusing to push." msgstr "ε½εεζ― %s ζε€δΈͺδΈζΈΈεζ―οΌζη»ζ¨ιγ" -#: builtin/push.c:185 +#: builtin/push.c:186 #, c-format msgid "" "You are pushing to remote '%s', which is not the upstream of\n" @@ -8897,56 +9160,12 @@ msgstr "" "ζ¨ζ£ζ¨ιθ³θΏη¨ '%s'οΌε
ΆεΉΆιε½εεζ― '%s' ηδΈζΈΈοΌοΌ\n" "θ沑ζεθ―ζθ¦ζ¨ιδ»δΉγζ΄ζ°εͺδΈͺθΏη¨εζ―γ" -# θ―θ
οΌε符串ι¦θ‘θ‘ι¦θ¦ζ·»ε βwarning: βεδΈ²οΌζ
ζ€ι¦θ‘θ¦θΎε
Άδ½θ‘η -#: builtin/push.c:208 -msgid "" -"push.default is unset; its implicit value has changed in\n" -"Git 2.0 from 'matching' to 'simple'. To squelch this message\n" -"and maintain the traditional behavior, use:\n" -"\n" -" git config --global push.default matching\n" -"\n" -"To squelch this message and adopt the new behavior now, use:\n" -"\n" -" git config --global push.default simple\n" -"\n" -"When push.default is set to 'matching', git will push local branches\n" -"to the remote branches that already exist with the same name.\n" -"\n" -"Since Git 2.0, Git defaults to the more conservative 'simple'\n" -"behavior, which only pushes the current branch to the corresponding\n" -"remote branch that 'git pull' uses to update the current branch.\n" -"\n" -"See 'git help config' and search for 'push.default' for further " -"information.\n" -"(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n" -"'current' instead of 'simple' if you sometimes use older versions of Git)" -msgstr "" -"push.default ε°ζͺθΎη½οΌεηι»θ€εΌε¨ Git 2.0 ε·²δ» 'matching'\n" -"εζ΄δΈΊ 'simple'γθ₯θ¦δΈεζΎη€Ίζ¬δΏ‘ζ―εΉΆδΏζδΌ η»δΉ ζ―οΌθΏθ‘ε¦δΈθΎη½οΌ\n" -"\n" -" git config --global push.default matching\n" -"\n" -"θ₯θ¦δΈεζΎη€Ίζ¬δΏ‘ζ―εΉΆδ»η°ε¨εΌε§ιη¨ζ°ηδ½Ώη¨δΉ ζ―οΌθΎη½οΌ\n" -"\n" -" git config --global push.default simple\n" -"\n" -"ε½ push.default θΎη½δΈΊ 'matching' εοΌgit ε°ζ¨ιεθΏη¨εεηζζ\n" -"ζ¬ε°εζ―γ\n" -"\n" -"δ» Git 2.0 εΌε§οΌGit ι»θ€ιη¨ζ΄δΈΊδΏεη 'simple' 樑εΌοΌεͺζ¨ιε½ε\n" -"εζ―ε°θΏη¨ε
³θηεεεζ―οΌε³ 'git push' ζ¨ιε½εεζ―γ\n" -"\n" -"εθ§ 'git help config' εΉΆζ₯ζΎ 'push.default' δ»₯θ·εζ΄ε€δΏ‘ζ―γ\n" -"οΌ'simple' 樑εΌη± Git 1.7.11 ηζ¬εΌε
₯γε¦ζζ¨ζζΆθ¦δ½Ώη¨θηζ¬η GitοΌ\n" -"δΈΊδΏζε
ΌεΉοΌθ―·η¨ 'current' δ»£ζΏ 'simple'οΌ" - -#: builtin/push.c:275 +#: builtin/push.c:242 msgid "" "You didn't specify any refspecs to push, and push.default is \"nothing\"." msgstr "ζ¨ζ²‘ζδΈΊζ¨ιζεδ»»δ½εΌη¨θ§ζ ΌοΌεΉΆδΈ push.default δΈΊ \"nothing\"γ" -#: builtin/push.c:282 +#: builtin/push.c:249 msgid "" "Updates were rejected because the tip of your current branch is behind\n" "its remote counterpart. Integrate the remote changes (e.g.\n" @@ -8957,7 +9176,7 @@ msgstr "" "ε欑ζ¨ιεοΌε
δΈθΏη¨εζ΄εεΉΆοΌε¦ 'git pull ...'οΌγθ―¦θ§\n" "'git push --help' δΈη 'Note about fast-forwards' ε°θγ" -#: builtin/push.c:288 +#: builtin/push.c:255 msgid "" "Updates were rejected because a pushed branch tip is behind its remote\n" "counterpart. Check out this branch and integrate the remote changes\n" @@ -8968,7 +9187,7 @@ msgstr "" "ζ£εΊθ―₯εζ―εΉΆζ΄εθΏη¨εζ΄οΌε¦ 'git pull ...'οΌοΌηΆεεζ¨ιγθ―¦θ§\n" "'git push --help' δΈη 'Note about fast-forwards' ε°θγ" -#: builtin/push.c:294 +#: builtin/push.c:261 msgid "" "Updates were rejected because the remote contains work that you do\n" "not have locally. This is usually caused by another repository pushing\n" @@ -8981,11 +9200,11 @@ msgstr "" "οΌε¦ 'git pull ...'οΌγ\n" "θ―¦θ§ 'git push --help' δΈη 'Note about fast-forwards' ε°θγ" -#: builtin/push.c:301 +#: builtin/push.c:268 msgid "Updates were rejected because the tag already exists in the remote." msgstr "ζ΄ζ°θ’«ζη»οΌε δΈΊθ―₯ζ ηΎε¨θΏη¨ε·²η»εε¨γ" -#: builtin/push.c:304 +#: builtin/push.c:271 msgid "" "You cannot update a remote ref that points at a non-commit object,\n" "or update a remote ref to make it point at a non-commit object,\n" @@ -8994,22 +9213,22 @@ msgstr "" "ε¦ζδΈδ½Ώη¨ '--force' εζ°οΌζ¨δΈθ½ζ΄ζ°δΈδΈͺζειζ亀对豑ηθΏη¨εΌη¨οΌ\n" "δΉδΈθ½ζ΄ζ°θΏη¨εΌη¨θ©ε
ΆζεδΈδΈͺιζ亀对豑γ\n" -#: builtin/push.c:363 +#: builtin/push.c:331 #, c-format msgid "Pushing to %s\n" msgstr "ζ¨ιε° %s\n" -#: builtin/push.c:367 +#: builtin/push.c:335 #, c-format msgid "failed to push some refs to '%s'" msgstr "ζ ζ³ζ¨ιδΈδΊεΌη¨ε° '%s'" -#: builtin/push.c:397 +#: builtin/push.c:365 #, c-format msgid "bad repository '%s'" msgstr "εηδ»εΊ '%s'" -#: builtin/push.c:398 +#: builtin/push.c:366 msgid "" "No configured push destination.\n" "Either specify the URL from the command-line or configure a remote " @@ -9030,105 +9249,100 @@ msgstr "" "\n" " git push <εη§°>\n" -#: builtin/push.c:413 +#: builtin/push.c:381 msgid "--all and --tags are incompatible" msgstr "--all ε --tags δΈε
ΌεΉ" -#: builtin/push.c:414 +#: builtin/push.c:382 msgid "--all can't be combined with refspecs" msgstr "--all δΈθ½εεΌη¨θ§ζ ΌεζΆδ½Ώη¨" -#: builtin/push.c:419 +#: builtin/push.c:387 msgid "--mirror and --tags are incompatible" msgstr "--mirror ε --tags δΈε
ΌεΉ" -#: builtin/push.c:420 +#: builtin/push.c:388 msgid "--mirror can't be combined with refspecs" msgstr "--mirror δΈθ½εεΌη¨θ§ζ ΌεζΆδ½Ώη¨" -#: builtin/push.c:425 +#: builtin/push.c:393 msgid "--all and --mirror are incompatible" msgstr "--all ε --mirror δΈε
ΌεΉ" -#: builtin/push.c:537 +#: builtin/push.c:505 msgid "repository" msgstr "δ»εΊ" -#: builtin/push.c:538 builtin/send-pack.c:161 +#: builtin/push.c:506 builtin/send-pack.c:161 msgid "push all refs" msgstr "ζ¨ιζζεΌη¨" -#: builtin/push.c:539 builtin/send-pack.c:163 +#: builtin/push.c:507 builtin/send-pack.c:163 msgid "mirror all refs" msgstr "ιεζζεΌη¨" -#: builtin/push.c:541 +#: builtin/push.c:509 msgid "delete refs" msgstr "ε ι€εΌη¨" -#: builtin/push.c:542 +#: builtin/push.c:510 msgid "push tags (can't be used with --all or --mirror)" msgstr "ζ¨ιζ ηΎοΌδΈθ½δ½Ώη¨ --all or --mirrorοΌ" -#: builtin/push.c:545 builtin/send-pack.c:164 +#: builtin/push.c:513 builtin/send-pack.c:164 msgid "force updates" msgstr "εΌΊεΆζ΄ζ°" -#: builtin/push.c:547 builtin/send-pack.c:175 +#: builtin/push.c:515 builtin/send-pack.c:175 msgid "refname>:<expect" msgstr "εΌη¨ε>:<ζζεΌ" -#: builtin/push.c:548 builtin/send-pack.c:176 +#: builtin/push.c:516 builtin/send-pack.c:176 msgid "require old value of ref to be at this value" msgstr "θ¦ζ±εΌη¨ζ§ηεεΌδΈΊθΎεεΌ" -# θ―θ
οΌε―ιεΌοΌδΈθ½ηΏ»θ― -#: builtin/push.c:550 -msgid "check|on-demand|no" -msgstr "check|on-demand|no" - -#: builtin/push.c:551 +#: builtin/push.c:519 msgid "control recursive pushing of submodules" msgstr "ζ§εΆε樑η»ηιε½ζ¨ι" -#: builtin/push.c:553 builtin/send-pack.c:169 +#: builtin/push.c:521 builtin/send-pack.c:169 msgid "use thin pack" msgstr "δ½Ώη¨η²Ύηζε
" -#: builtin/push.c:554 builtin/push.c:555 builtin/send-pack.c:158 +#: builtin/push.c:522 builtin/push.c:523 builtin/send-pack.c:158 #: builtin/send-pack.c:159 msgid "receive pack program" msgstr "ζ₯ζΆε
η¨εΊ" -#: builtin/push.c:556 +#: builtin/push.c:524 msgid "set upstream for git pull/status" msgstr "θΎη½ git pull/status ηδΈζΈΈ" -#: builtin/push.c:559 +#: builtin/push.c:527 msgid "prune locally removed refs" msgstr "ζΈ
ι€ζ¬ε°ε ι€ηεΌη¨" -#: builtin/push.c:561 +#: builtin/push.c:529 msgid "bypass pre-push hook" msgstr "η»θΏ pre-push ι©ε" -#: builtin/push.c:562 +#: builtin/push.c:530 msgid "push missing but relevant tags" msgstr "ζ¨ιηΌΊε€±δ½ζε
³ηζ ηΎ" -#: builtin/push.c:565 builtin/send-pack.c:166 +#: builtin/push.c:533 builtin/send-pack.c:166 msgid "GPG sign the push" msgstr "η¨ GPG δΈΊζ¨ιηΎε" -#: builtin/push.c:567 builtin/send-pack.c:170 +#: builtin/push.c:535 builtin/send-pack.c:170 msgid "request atomic transaction on remote side" msgstr "ιθ¦θΏη«―ζ―ζεεδΊε‘" -#: builtin/push.c:577 +#: builtin/push.c:549 msgid "--delete is incompatible with --all, --mirror and --tags" msgstr "--delete δΈ --allγ--mirror ε --tags δΈε
ΌεΉ" -#: builtin/push.c:579 +#: builtin/push.c:551 msgid "--delete doesn't make sense without any refs" msgstr "--delete ζͺζ₯δ»»δ½εΌη¨ζ²‘ζζδΉ" @@ -9206,12 +9420,12 @@ msgstr "θ·³θΏεΊη¨η¨ηζ£εΊθΏζ»€ε¨" msgid "debug unpack-trees" msgstr "θ°θ― unpack-trees" -#: builtin/reflog.c:428 +#: builtin/reflog.c:423 #, c-format msgid "'%s' for '%s' is not a valid timestamp" msgstr "'%2$s' ηεΌ '%1$s' δΈζ―δΈδΈͺζζηζΆι΄ζ³" -#: builtin/reflog.c:545 builtin/reflog.c:550 +#: builtin/reflog.c:540 builtin/reflog.c:545 #, c-format msgid "'%s' is not a valid timestamp" msgstr "'%s' δΈζ―δΈδΈͺζζηζΆι΄ζ³" @@ -9351,55 +9565,45 @@ msgstr "ζεδΈδΈͺ master εζ―εΉΆδ½Ώη¨ --mirror ι鑹沑ζζδΉ" msgid "specifying branches to track makes sense only with fetch mirrors" msgstr "ζεθ¦θ·θΈͺηεζ―εͺε¨δΈθ·ειεεζΆδ½Ώη¨ζζζδΉ" -#: builtin/remote.c:193 builtin/remote.c:643 +#: builtin/remote.c:190 builtin/remote.c:633 #, c-format msgid "remote %s already exists." msgstr "θΏη¨ %s ε·²η»εε¨γ" -#: builtin/remote.c:197 builtin/remote.c:647 +#: builtin/remote.c:194 builtin/remote.c:637 #, c-format msgid "'%s' is not a valid remote name" msgstr "'%s' δΈζ―δΈδΈͺζζηθΏη¨εη§°" -#: builtin/remote.c:241 +#: builtin/remote.c:234 #, c-format msgid "Could not setup master '%s'" msgstr "ζ ζ³θΎη½ master '%s'" -#: builtin/remote.c:341 +#: builtin/remote.c:336 #, c-format msgid "Could not get fetch map for refspec %s" msgstr "ζ ζ³εΎε°εΌη¨θ§ζ Ό %s ηθ·εε葨" -#: builtin/remote.c:442 builtin/remote.c:450 +#: builtin/remote.c:437 builtin/remote.c:445 msgid "(matching)" msgstr "οΌεΉι
οΌ" -#: builtin/remote.c:454 +#: builtin/remote.c:449 msgid "(delete)" msgstr "οΌε ι€οΌ" -#: builtin/remote.c:594 builtin/remote.c:600 builtin/remote.c:606 -#, c-format -msgid "Could not append '%s' to '%s'" -msgstr "δΈθ½ζ·»ε '%s' θ³ '%s'" - -#: builtin/remote.c:636 builtin/remote.c:775 builtin/remote.c:875 +#: builtin/remote.c:626 builtin/remote.c:761 builtin/remote.c:858 #, c-format msgid "No such remote: %s" msgstr "沑ζθΏζ ·ηθΏη¨οΌ%s" -#: builtin/remote.c:653 +#: builtin/remote.c:643 #, c-format msgid "Could not rename config section '%s' to '%s'" msgstr "δΈθ½ιε½ει
η½ε°θ '%s' ε° '%s'" -#: builtin/remote.c:659 builtin/remote.c:827 -#, c-format -msgid "Could not remove config section '%s'" -msgstr "δΈθ½η§»ι€ι
η½ε°θ '%s'" - -#: builtin/remote.c:674 +#: builtin/remote.c:663 #, c-format msgid "" "Not updating non-default fetch refspec\n" @@ -9410,27 +9614,17 @@ msgstr "" "\t%s\n" "\tε¦ζεΏ
θ¦θ―·ζε¨ζ΄ζ°ι
η½γ" -#: builtin/remote.c:680 -#, c-format -msgid "Could not append '%s'" -msgstr "δΈθ½θΏ½ε '%s'" - -#: builtin/remote.c:691 -#, c-format -msgid "Could not set '%s'" -msgstr "δΈθ½θΎη½ '%s'" - -#: builtin/remote.c:713 +#: builtin/remote.c:699 #, c-format msgid "deleting '%s' failed" msgstr "ε ι€ '%s' ε€±θ΄₯" -#: builtin/remote.c:747 +#: builtin/remote.c:733 #, c-format msgid "creating '%s' failed" msgstr "εε»Ί '%s' ε€±θ΄₯" -#: builtin/remote.c:813 +#: builtin/remote.c:796 msgid "" "Note: A branch outside the refs/remotes/ hierarchy was not removed;\n" "to delete it, use:" @@ -9440,126 +9634,131 @@ msgid_plural "" msgstr[0] "注ζοΌref/remotes ε±ηΊ§δΉε€ηδΈδΈͺεζ―ζͺθ’«η§»ι€γθ¦ε ι€εοΌδ½Ώη¨οΌ" msgstr[1] "注ζοΌref/remotes ε±ηΊ§δΉε€ηδΈδΊεζ―ζͺθ’«η§»ι€γθ¦ε ι€ε们οΌδ½Ώη¨οΌ" -#: builtin/remote.c:928 +#: builtin/remote.c:810 +#, c-format +msgid "Could not remove config section '%s'" +msgstr "δΈθ½η§»ι€ι
η½ε°θ '%s'" + +#: builtin/remote.c:911 #, c-format msgid " new (next fetch will store in remotes/%s)" msgstr " ζ°ηοΌδΈδΈζ¬‘θ·εε°εε¨δΊ remotes/%sοΌ" -#: builtin/remote.c:931 +#: builtin/remote.c:914 msgid " tracked" msgstr " ε·²θ·θΈͺ" -#: builtin/remote.c:933 +#: builtin/remote.c:916 msgid " stale (use 'git remote prune' to remove)" msgstr " θΏζΆοΌδ½Ώη¨ 'git remote prune' ζ₯η§»ι€οΌ" -#: builtin/remote.c:935 +#: builtin/remote.c:918 msgid " ???" msgstr " ???" -#: builtin/remote.c:976 +#: builtin/remote.c:959 #, c-format msgid "invalid branch.%s.merge; cannot rebase onto > 1 branch" msgstr "ζ ζη branch.%s.mergeοΌδΈθ½εεΊε°δΈδΈͺδ»₯δΈηεζ―" -#: builtin/remote.c:983 +#: builtin/remote.c:967 #, c-format -msgid "rebases onto remote %s" -msgstr "εεΊε°θΏη¨ %s" +msgid "rebases interactively onto remote %s" +msgstr "δΊ€δΊεΌεεΊε°θΏη¨ %s" -#: builtin/remote.c:986 +#: builtin/remote.c:971 #, c-format msgid " merges with remote %s" msgstr " δΈθΏη¨ %s εεΉΆ" -#: builtin/remote.c:987 +#: builtin/remote.c:972 msgid " and with remote" msgstr " δΈζθΏη¨" -#: builtin/remote.c:989 +#: builtin/remote.c:974 #, c-format msgid "merges with remote %s" msgstr "δΈθΏη¨ %s εεΉΆ" -#: builtin/remote.c:990 +#: builtin/remote.c:975 msgid " and with remote" msgstr " δΈζθΏη¨" -#: builtin/remote.c:1036 +#: builtin/remote.c:1021 msgid "create" msgstr "εε»Ί" -#: builtin/remote.c:1039 +#: builtin/remote.c:1024 msgid "delete" msgstr "ε ι€" -#: builtin/remote.c:1043 +#: builtin/remote.c:1028 msgid "up to date" msgstr "ζζ°" -#: builtin/remote.c:1046 +#: builtin/remote.c:1031 msgid "fast-forwardable" msgstr "ε―εΏ«θΏ" -#: builtin/remote.c:1049 +#: builtin/remote.c:1034 msgid "local out of date" msgstr "ζ¬ε°ε·²θΏζΆ" -#: builtin/remote.c:1056 +#: builtin/remote.c:1041 #, c-format msgid " %-*s forces to %-*s (%s)" msgstr " %-*s εΌΊεΆζ¨ιθ³ %-*s (%s)" -#: builtin/remote.c:1059 +#: builtin/remote.c:1044 #, c-format msgid " %-*s pushes to %-*s (%s)" msgstr " %-*s ζ¨ιθ³ %-*s (%s)" -#: builtin/remote.c:1063 +#: builtin/remote.c:1048 #, c-format msgid " %-*s forces to %s" msgstr " %-*s εΌΊεΆζ¨ιθ³ %s" -#: builtin/remote.c:1066 +#: builtin/remote.c:1051 #, c-format msgid " %-*s pushes to %s" msgstr " %-*s ζ¨ιθ³ %s" -#: builtin/remote.c:1134 +#: builtin/remote.c:1119 msgid "do not query remotes" msgstr "δΈζ₯θ―’θΏη¨" -#: builtin/remote.c:1161 +#: builtin/remote.c:1146 #, c-format msgid "* remote %s" msgstr "* θΏη¨ %s" -#: builtin/remote.c:1162 +#: builtin/remote.c:1147 #, c-format msgid " Fetch URL: %s" msgstr " θ·εε°εοΌ%s" -#: builtin/remote.c:1163 builtin/remote.c:1314 +#: builtin/remote.c:1148 builtin/remote.c:1299 msgid "(no URL)" msgstr "(ζ URL)" -#: builtin/remote.c:1172 builtin/remote.c:1174 +#: builtin/remote.c:1157 builtin/remote.c:1159 #, c-format msgid " Push URL: %s" msgstr " ζ¨ιε°εοΌ%s" -#: builtin/remote.c:1176 builtin/remote.c:1178 builtin/remote.c:1180 +#: builtin/remote.c:1161 builtin/remote.c:1163 builtin/remote.c:1165 #, c-format msgid " HEAD branch: %s" msgstr " HEAD εζ―οΌ%s" -#: builtin/remote.c:1182 +#: builtin/remote.c:1167 #, c-format msgid "" " HEAD branch (remote HEAD is ambiguous, may be one of the following):\n" msgstr " HEAD εζ―οΌθΏη¨ HEAD 樑η³οΌε―θ½ζ―δΈεδΈηδΈδΈͺοΌοΌ\n" -#: builtin/remote.c:1194 +#: builtin/remote.c:1179 #, c-format msgid " Remote branch:%s" msgid_plural " Remote branches:%s" @@ -9567,151 +9766,151 @@ msgstr[0] " θΏη¨εζ―οΌ%s" msgstr[1] " θΏη¨εζ―οΌ%s" # θ―θ
οΌδΈζε符串ζΌζ₯οΌε―ε ι€εε―Όη©Ίζ Ό -#: builtin/remote.c:1197 builtin/remote.c:1224 +#: builtin/remote.c:1182 builtin/remote.c:1209 msgid " (status not queried)" msgstr "οΌηΆζζͺζ₯θ―’οΌ" -#: builtin/remote.c:1206 +#: builtin/remote.c:1191 msgid " Local branch configured for 'git pull':" msgid_plural " Local branches configured for 'git pull':" msgstr[0] " δΈΊ 'git pull' ι
η½ηζ¬ε°εζ―οΌ" msgstr[1] " δΈΊ 'git pull' ι
η½ηζ¬ε°εζ―οΌ" -#: builtin/remote.c:1214 +#: builtin/remote.c:1199 msgid " Local refs will be mirrored by 'git push'" msgstr " ζ¬ε°εΌη¨ε°ε¨ 'git push' ζΆθ’«ιε" -#: builtin/remote.c:1221 +#: builtin/remote.c:1206 #, c-format msgid " Local ref configured for 'git push'%s:" msgid_plural " Local refs configured for 'git push'%s:" msgstr[0] " δΈΊ 'git push' ι
η½ηζ¬ε°εΌη¨%sοΌ" msgstr[1] " δΈΊ 'git push' ι
η½ηζ¬ε°εΌη¨%sοΌ" -#: builtin/remote.c:1242 +#: builtin/remote.c:1227 msgid "set refs/remotes/<name>/HEAD according to remote" msgstr "ζ ΉζθΏη¨θΎη½ refs/remotes/<εη§°>/HEAD" -#: builtin/remote.c:1244 +#: builtin/remote.c:1229 msgid "delete refs/remotes/<name>/HEAD" msgstr "ε ι€ refs/remotes/<εη§°>/HEAD" -#: builtin/remote.c:1259 +#: builtin/remote.c:1244 msgid "Cannot determine remote HEAD" msgstr "ζ ζ³η‘εθΏη¨ HEAD" -#: builtin/remote.c:1261 +#: builtin/remote.c:1246 msgid "Multiple remote HEAD branches. Please choose one explicitly with:" msgstr "ε€δΈͺθΏη¨ HEAD εζ―γθ―·ζη‘ε°ιζ©δΈδΈͺη¨ε½δ»€οΌ" -#: builtin/remote.c:1271 +#: builtin/remote.c:1256 #, c-format msgid "Could not delete %s" msgstr "ζ ζ³ε ι€ %s" -#: builtin/remote.c:1279 +#: builtin/remote.c:1264 #, c-format msgid "Not a valid ref: %s" msgstr "δΈζ―δΈδΈͺζζεΌη¨οΌ%s" -#: builtin/remote.c:1281 +#: builtin/remote.c:1266 #, c-format msgid "Could not setup %s" msgstr "δΈθ½θΎη½ %s" # θ―θ
οΌζ³¨ζδΏζεε―Όη©Ίζ Ό -#: builtin/remote.c:1299 +#: builtin/remote.c:1284 #, c-format msgid " %s will become dangling!" msgstr " %s ε°ζδΈΊζζηΆζοΌ" # θ―θ
οΌζ³¨ζδΏζεε―Όη©Ίζ Ό -#: builtin/remote.c:1300 +#: builtin/remote.c:1285 #, c-format msgid " %s has become dangling!" msgstr " %s ε·²ζδΈΊζζηΆζοΌ" -#: builtin/remote.c:1310 +#: builtin/remote.c:1295 #, c-format msgid "Pruning %s" msgstr "δΏεͺ %s" -#: builtin/remote.c:1311 +#: builtin/remote.c:1296 #, c-format msgid "URL: %s" msgstr "URLοΌ%s" -#: builtin/remote.c:1327 +#: builtin/remote.c:1312 #, c-format msgid " * [would prune] %s" msgstr " * [ε°ε ι€] %s" -#: builtin/remote.c:1330 +#: builtin/remote.c:1315 #, c-format msgid " * [pruned] %s" msgstr " * [ε·²ε ι€] %s" -#: builtin/remote.c:1375 +#: builtin/remote.c:1360 msgid "prune remotes after fetching" msgstr "ζεεζΈ
ι€θΏη¨" -#: builtin/remote.c:1441 builtin/remote.c:1498 builtin/remote.c:1566 +#: builtin/remote.c:1423 builtin/remote.c:1477 builtin/remote.c:1545 #, c-format msgid "No such remote '%s'" msgstr "沑ζζ€θΏη¨ '%s'" -#: builtin/remote.c:1461 +#: builtin/remote.c:1439 msgid "add branch" msgstr "ζ·»ε εζ―" -#: builtin/remote.c:1468 +#: builtin/remote.c:1446 msgid "no remote specified" msgstr "ζͺζεθΏη¨" -#: builtin/remote.c:1485 +#: builtin/remote.c:1463 msgid "query push URLs rather than fetch URLs" msgstr "ζ₯θ―’ζ¨ι URL ε°εοΌθιθ·ε URL ε°ε" -#: builtin/remote.c:1487 +#: builtin/remote.c:1465 msgid "return all URLs" msgstr "θΏεζζ URL ε°ε" -#: builtin/remote.c:1515 +#: builtin/remote.c:1493 #, c-format msgid "no URLs configured for remote '%s'" msgstr "沑ζη»θΏη¨δ»εΊ '%s' θΎε URL" -#: builtin/remote.c:1541 +#: builtin/remote.c:1519 msgid "manipulate push URLs" msgstr "ζδ½ζ¨ι URLS" -#: builtin/remote.c:1543 +#: builtin/remote.c:1521 msgid "add URL" msgstr "ζ·»ε URL" -#: builtin/remote.c:1545 +#: builtin/remote.c:1523 msgid "delete URLs" msgstr "ε ι€ URLS" -#: builtin/remote.c:1552 +#: builtin/remote.c:1530 msgid "--add --delete doesn't make sense" msgstr "--add --delete ζ ζδΉ" -#: builtin/remote.c:1592 +#: builtin/remote.c:1571 #, c-format msgid "Invalid old URL pattern: %s" msgstr "ζ ζηζ§ URL εΉι
樑ηοΌ%s" -#: builtin/remote.c:1600 +#: builtin/remote.c:1579 #, c-format msgid "No such URL found: %s" msgstr "ζͺζΎε°ζ€ URLοΌ%s" -#: builtin/remote.c:1602 +#: builtin/remote.c:1581 msgid "Will not delete all non-push URLs" msgstr "ε°δΈδΌε ι€ζζιζ¨ι URL ε°ε" -#: builtin/remote.c:1616 +#: builtin/remote.c:1595 msgid "be verbose; must be placed before a subcommand" msgstr "ειΏθΎεΊοΌεΏ
ι‘»η½δΊεε½δ»€δΉε" @@ -10012,7 +10211,7 @@ msgstr "δΈθ½ιη½η΄’εΌζδ»Άθ³ηζ¬ '%s'γ" msgid "Could not write new index file." msgstr "δΈθ½εε
₯ζ°ηη΄’εΌζδ»Άγ" -#: builtin/rev-list.c:354 +#: builtin/rev-list.c:350 msgid "rev-list does not support display of notes" msgstr "rev-list δΈζ―ζζΎη€Ίζ³¨θ§£" @@ -10256,28 +10455,23 @@ msgstr "ζε°ζ₯θͺθΏη¨ helper ηηΆζ" msgid "git shortlog [<options>] [<revision-range>] [[--] [<path>...]]" msgstr "git shortlog [<ιι‘Ή>] [<ηζ¬θε΄>] [[--] [<θ·―εΎ>...]]" -#: builtin/shortlog.c:131 -#, c-format -msgid "Missing author: %s" -msgstr "ηΌΊε°δ½θ
οΌ%s" - -#: builtin/shortlog.c:230 +#: builtin/shortlog.c:242 msgid "sort output according to the number of commits per author" msgstr "ζ Ήζζ―δΈͺδ½θ
ηζδΊ€ζ°ιζεΊ" -#: builtin/shortlog.c:232 +#: builtin/shortlog.c:244 msgid "Suppress commit descriptions, only provides commit count" msgstr "ιθζδΊ€θ―΄ζοΌεͺζδΎζδΊ€ζ°ι" -#: builtin/shortlog.c:234 +#: builtin/shortlog.c:246 msgid "Show the email address of each author" msgstr "ζΎη€Ίζ―δΈͺδ½θ
ηη΅ειδ»Άε°ε" -#: builtin/shortlog.c:235 +#: builtin/shortlog.c:247 msgid "w[,i1[,i2]]" msgstr "w[,i1[,i2]]" -#: builtin/shortlog.c:236 +#: builtin/shortlog.c:248 msgid "Linewrap output" msgstr "ζθ‘θΎεΊ" @@ -10418,43 +10612,43 @@ msgid "skip and remove all lines starting with comment character" msgstr "θ·³θΏεη§»ι€ζζη注ιθ‘" #: builtin/stripspace.c:38 -msgid "prepend comment character and blank to each line" +msgid "prepend comment character and space to each line" msgstr "δΈΊζ―δΈθ‘ηθ‘ι¦ζ·»ε 注ι符εη©Ίζ Ό" -#: builtin/submodule--helper.c:79 builtin/submodule--helper.c:167 +#: builtin/submodule--helper.c:73 builtin/submodule--helper.c:161 msgid "alternative anchor for relative paths" msgstr "ηΈε―Ήθ·―εΎηζΏδ»£ιθ°οΌanchorοΌ" -#: builtin/submodule--helper.c:84 +#: builtin/submodule--helper.c:78 msgid "git submodule--helper list [--prefix=<path>] [<path>...]" msgstr "git submodule--helper list [--prefix=<θ·―εΎ>] [<θ·―εΎ>...]" -#: builtin/submodule--helper.c:114 +#: builtin/submodule--helper.c:108 msgid "git submodule--helper name <path>" msgstr "git submodule--helper name <θ·―εΎ>" -#: builtin/submodule--helper.c:120 +#: builtin/submodule--helper.c:114 #, c-format msgid "no submodule mapping found in .gitmodules for path '%s'" msgstr "ε¨ .gitmodules δΈζ²‘ζεη°θ·―εΎ '%s' ηε樑η»ζ ε°" -#: builtin/submodule--helper.c:170 +#: builtin/submodule--helper.c:164 msgid "where the new submodule will be cloned to" msgstr "ζ°ηε樑η»ε°θ¦ε
ιηθ·―εΎ" -#: builtin/submodule--helper.c:173 +#: builtin/submodule--helper.c:167 msgid "name of the new submodule" msgstr "ζ°ε樑η»ηεη§°" -#: builtin/submodule--helper.c:176 +#: builtin/submodule--helper.c:170 msgid "url where to clone the submodule from" msgstr "ε
ιε樑η»η url ε°ε" -#: builtin/submodule--helper.c:182 +#: builtin/submodule--helper.c:176 msgid "depth for shallow clones" msgstr "ζ΅
ε
ιηζ·±εΊ¦" -#: builtin/submodule--helper.c:188 +#: builtin/submodule--helper.c:182 msgid "" "git submodule--helper clone [--prefix=<path>] [--quiet] [--reference " "<repository>] [--name <name>] [--url <url>][--depth <depth>] [--] [<path>...]" @@ -10462,37 +10656,37 @@ msgstr "" "git submodule--helper clone [--prefix=<θ·―εΎ>] [--quiet] [--reference <δ»εΊ>] " "[--name <εε>] [--url <ε°ε>][--depth <ζ·±εΊ¦>] [--] [<θ·―εΎ>...]" -#: builtin/submodule--helper.c:202 builtin/submodule--helper.c:208 -#: builtin/submodule--helper.c:216 +#: builtin/submodule--helper.c:196 builtin/submodule--helper.c:202 +#: builtin/submodule--helper.c:210 #, c-format msgid "could not create directory '%s'" msgstr "δΈθ½εε»Ίηε½ '%s'" -#: builtin/submodule--helper.c:204 +#: builtin/submodule--helper.c:198 #, c-format msgid "clone of '%s' into submodule path '%s' failed" msgstr "ζ ζ³ε
ι '%s' ε°ε樑η»θ·―εΎ '%s'" -#: builtin/submodule--helper.c:227 +#: builtin/submodule--helper.c:221 #, c-format msgid "cannot open file '%s'" msgstr "ζ ζ³ζεΌζδ»Ά '%s'" -#: builtin/submodule--helper.c:232 +#: builtin/submodule--helper.c:226 #, c-format msgid "could not close file %s" msgstr "ζ ζ³ε
³ιζδ»Ά %s" -#: builtin/submodule--helper.c:247 +#: builtin/submodule--helper.c:241 #, c-format msgid "could not get submodule directory for '%s'" msgstr "ζ ζ³εΎε° '%s' ηε樑η»ηε½" -#: builtin/submodule--helper.c:273 +#: builtin/submodule--helper.c:267 msgid "fatal: submodule--helper subcommand must be called with a subcommand" msgstr "δΈ₯ιιθ――οΌsubmodule-helper εε½δ»€εΏ
ι‘»η±ε¦ε€ηεε½δ»€θ°η¨" -#: builtin/submodule--helper.c:280 +#: builtin/submodule--helper.c:274 #, c-format msgid "fatal: '%s' is not a valid submodule--helper subcommand" msgstr "δΈ₯ιιθ――οΌ'%s' δΈζ―δΈδΈͺζζη submodule--helper εε½δ»€" @@ -10735,188 +10929,201 @@ msgstr "ε·²ζ΄ζ°ζ ηΎ '%s'οΌζΎδΈΊ %sοΌ\n" msgid "Unpacking objects" msgstr "ε±εΌε―Ήθ±‘δΈ" -#: builtin/update-index.c:70 +#: builtin/update-index.c:79 #, c-format msgid "failed to create directory %s" msgstr "ζ ζ³εε»Ίηε½ %s" -#: builtin/update-index.c:76 +#: builtin/update-index.c:85 #, c-format msgid "failed to stat %s" msgstr "ζ ζ³ζδΈΎ %s ηΆζ" -#: builtin/update-index.c:86 +#: builtin/update-index.c:95 #, c-format msgid "failed to create file %s" msgstr "ζ ζ³εε»Ίζδ»Ά %s" -#: builtin/update-index.c:94 +#: builtin/update-index.c:103 #, c-format msgid "failed to delete file %s" msgstr "ζ ζ³ε ι€ζδ»Ά %s" -#: builtin/update-index.c:101 builtin/update-index.c:203 +#: builtin/update-index.c:110 builtin/update-index.c:212 #, c-format msgid "failed to delete directory %s" msgstr "ζ ζ³ε ι€ηε½ %s" -#: builtin/update-index.c:124 +#: builtin/update-index.c:133 #, c-format -msgid "Testing " -msgstr "ζ£ε¨ζ΅θ― " +msgid "Testing mtime in '%s' " +msgstr "ε¨ '%s' δΈζ΅θ― mtime " -#: builtin/update-index.c:136 +#: builtin/update-index.c:145 msgid "directory stat info does not change after adding a new file" msgstr "ζ·»ε δΈδΈͺζ°ζδ»ΆεοΌηε½ηηΆζδΏ‘ζ―ζͺζΉε" -#: builtin/update-index.c:149 +#: builtin/update-index.c:158 msgid "directory stat info does not change after adding a new directory" msgstr "ζ·»ε δΈδΈͺζ°ηε½εοΌηε½ηηΆζδΏ‘ζ―ζͺζΉε" -#: builtin/update-index.c:162 +#: builtin/update-index.c:171 msgid "directory stat info changes after updating a file" msgstr "ζ΄ζ°δΈδΈͺζδ»ΆεοΌηε½ηηΆζδΏ‘ζ―θ’«δΏζΉ" -#: builtin/update-index.c:173 +#: builtin/update-index.c:182 msgid "directory stat info changes after adding a file inside subdirectory" msgstr "ε¨εηε½δΈζ·»ε ζδ»ΆεοΌηε½ηηΆζδΏ‘ζ―θ’«δΏζΉ" -#: builtin/update-index.c:184 +#: builtin/update-index.c:193 msgid "directory stat info does not change after deleting a file" msgstr "ε ι€δΈδΈͺζδ»ΆεοΌηε½ηηΆζδΏ‘ζ―ζͺζΉε" -#: builtin/update-index.c:197 +#: builtin/update-index.c:206 msgid "directory stat info does not change after deleting a directory" msgstr "ε ι€δΈδΈͺηε½εοΌηε½ηηΆζδΏ‘ζ―ζͺζΉε" -#: builtin/update-index.c:204 +#: builtin/update-index.c:213 msgid " OK" msgstr " OK" -#: builtin/update-index.c:564 +#: builtin/update-index.c:575 msgid "git update-index [<options>] [--] [<file>...]" msgstr "git update-index [<ιι‘Ή>] [--] [<ζδ»Ά>...]" -#: builtin/update-index.c:918 +#: builtin/update-index.c:930 msgid "continue refresh even when index needs update" msgstr "ε½η΄’εΌιθ¦ζ΄ζ°ζΆη»§η»ε·ζ°" -#: builtin/update-index.c:921 +#: builtin/update-index.c:933 msgid "refresh: ignore submodules" msgstr "ε·ζ°οΌεΏ½η₯ε樑η»" -#: builtin/update-index.c:924 +#: builtin/update-index.c:936 msgid "do not ignore new files" msgstr "δΈεΏ½η₯ζ°ηζδ»Ά" -#: builtin/update-index.c:926 +#: builtin/update-index.c:938 msgid "let files replace directories and vice-versa" msgstr "θ©ζδ»ΆζΏζ’ηε½οΌεδΉδΊ¦ηΆοΌ" -#: builtin/update-index.c:928 +#: builtin/update-index.c:940 msgid "notice files missing from worktree" msgstr "ιη₯ζδ»Άδ»ε·₯δ½εΊδΈ’ε€±" -#: builtin/update-index.c:930 +#: builtin/update-index.c:942 msgid "refresh even if index contains unmerged entries" msgstr "ε³δ½Ώη΄’εΌεΊε
ε«ζͺεεΉΆηζ‘ηδΉζ§θ‘ε·ζ°" -#: builtin/update-index.c:933 +#: builtin/update-index.c:945 msgid "refresh stat information" msgstr "ε·ζ°η»θ‘δΏ‘ζ―" -#: builtin/update-index.c:937 +#: builtin/update-index.c:949 msgid "like --refresh, but ignore assume-unchanged setting" msgstr "η±»δΌΌδΊ --refreshοΌδ½ζ―εΏ½η₯ assume-unchanged θΎη½" -#: builtin/update-index.c:941 +#: builtin/update-index.c:953 msgid "<mode>,<object>,<path>" msgstr "<εε樑εΌ>,<对豑>,<θ·―εΎ>" -#: builtin/update-index.c:942 +#: builtin/update-index.c:954 msgid "add the specified entry to the index" msgstr "ζ·»ε ζεηζ‘ηε°η΄’εΌεΊ" -#: builtin/update-index.c:946 +#: builtin/update-index.c:958 msgid "(+/-)x" msgstr "(+/-)x" -#: builtin/update-index.c:947 +#: builtin/update-index.c:959 msgid "override the executable bit of the listed files" msgstr "θ¦ηε葨ιζδ»Άηε―ζ§θ‘δ½" -#: builtin/update-index.c:951 +#: builtin/update-index.c:963 msgid "mark files as \"not changing\"" msgstr "ζζδ»Άζ θ°δΈΊ \"沑ζεζ΄\"" -#: builtin/update-index.c:954 +#: builtin/update-index.c:966 msgid "clear assumed-unchanged bit" msgstr "ζΈ
ι€ assumed-unchanged δ½" -#: builtin/update-index.c:957 +#: builtin/update-index.c:969 msgid "mark files as \"index-only\"" msgstr "ζζδ»Άζ θ°δΈΊ \"δ»
η΄’εΌ\"" -#: builtin/update-index.c:960 +#: builtin/update-index.c:972 msgid "clear skip-worktree bit" msgstr "ζΈ
ι€ skip-worktree δ½" -#: builtin/update-index.c:963 +#: builtin/update-index.c:975 msgid "add to index only; do not add content to object database" msgstr "εͺζ·»ε ε°η΄’εΌεΊοΌδΈζ·»ε 对豑ε°ε―Ήθ±‘εΊ" -#: builtin/update-index.c:965 +#: builtin/update-index.c:977 msgid "remove named paths even if present in worktree" msgstr "ε³δ½Ώεε¨ε·₯δ½εΊιοΌδΉε ι€θ·―εΎ" -#: builtin/update-index.c:967 +#: builtin/update-index.c:979 msgid "with --stdin: input lines are terminated by null bytes" msgstr "ζΊεΈ¦ --stdinοΌθΎε
₯ηθ‘δ»₯ null ε符η»ζ’" -#: builtin/update-index.c:969 +#: builtin/update-index.c:981 msgid "read list of paths to be updated from standard input" msgstr "δ»ζ εθΎε
₯δΈθ―»ειθ¦ζ΄ζ°ηθ·―εΎε葨" -#: builtin/update-index.c:973 +#: builtin/update-index.c:985 msgid "add entries from standard input to the index" msgstr "δ»ζ εθΎε
₯ζ·»ε ζ‘ηε°η΄’εΌεΊ" -#: builtin/update-index.c:977 +#: builtin/update-index.c:989 msgid "repopulate stages #2 and #3 for the listed paths" msgstr "δΈΊζεζδ»Άιζ°ηζ第2ε第3ζεεΊ" -#: builtin/update-index.c:981 +#: builtin/update-index.c:993 msgid "only update entries that differ from HEAD" msgstr "εͺζ΄ζ°δΈ HEAD δΈεηζ‘η" -#: builtin/update-index.c:985 +#: builtin/update-index.c:997 msgid "ignore files missing from worktree" msgstr "εΏ½η₯ε·₯δ½εΊδΈ’ε€±ηζδ»Ά" -#: builtin/update-index.c:988 +#: builtin/update-index.c:1000 msgid "report actions to standard output" msgstr "ε¨ζ εθΎεΊζΎη€Ίζδ½" -#: builtin/update-index.c:990 +#: builtin/update-index.c:1002 msgid "(for porcelains) forget saved unresolved conflicts" msgstr "(for porcelains) εΏθ°δΏεηζͺθ§£ε³ηε²ηͺ" -#: builtin/update-index.c:994 +#: builtin/update-index.c:1006 msgid "write index in this format" msgstr "δ»₯θΏη§ζ ΌεΌεε
₯η΄’εΌεΊ" -#: builtin/update-index.c:996 +#: builtin/update-index.c:1008 msgid "enable or disable split index" msgstr "ε―η¨ζη¦η¨η΄’εΌζε" -#: builtin/update-index.c:998 +#: builtin/update-index.c:1010 msgid "enable/disable untracked cache" msgstr "ε―η¨/η¦η¨ε―Ήζͺθ·θΈͺζδ»ΆηηΌε" -#: builtin/update-index.c:1000 +#: builtin/update-index.c:1012 +msgid "test if the filesystem supports untracked cache" +msgstr "ζ΅θ―ζδ»Άη³»η»ζ―ε¦ζ―ζζͺθ·θΈͺζδ»ΆηΌε" + +#: builtin/update-index.c:1014 msgid "enable untracked cache without testing the filesystem" msgstr "ζ ιζ£ζ΅ζδ»Άη³»η»οΌε―η¨ε―Ήζͺθ·θΈͺζδ»ΆηηΌε" +#: builtin/update-index.c:1134 +msgid "Untracked cache disabled" +msgstr "ηΌεζͺθ·θΈͺζδ»Άθ’«η¦η¨" + +#: builtin/update-index.c:1146 +#, c-format +msgid "Untracked cache enabled for '%s'" +msgstr "ηΌεζͺθ·θΈͺζδ»Άε¨ '%s' ε―η¨" + #: builtin/update-ref.c:9 msgid "git update-ref [<options>] -d <refname> [<old-val>]" msgstr "git update-ref [<ιι‘Ή>] -d <εΌη¨ε> [<ζ§εΌ>]" @@ -11032,33 +11239,33 @@ msgstr "ζ ζ³ε ι€οΌ%s" msgid "'%s' already exists" msgstr "'%s' ε·²η»εε¨" -#: builtin/worktree.c:235 +#: builtin/worktree.c:233 #, c-format msgid "could not create directory of '%s'" msgstr "δΈθ½εε»Ίηε½ '%s'" -#: builtin/worktree.c:271 +#: builtin/worktree.c:269 #, c-format msgid "Preparing %s (identifier %s)" msgstr "εε€ %s οΌζ θ―符 %sοΌ" -#: builtin/worktree.c:319 +#: builtin/worktree.c:317 msgid "checkout <branch> even if already checked out in other worktree" msgstr "ζ£εΊεζ― <branch> ε³δ½Ώε·²η»θ’«ζ£εΊε°ε
Άεε·₯δ½εΊ" -#: builtin/worktree.c:321 +#: builtin/worktree.c:319 msgid "create a new branch" msgstr "εε»ΊδΈδΈͺζ°εζ―" -#: builtin/worktree.c:323 +#: builtin/worktree.c:321 msgid "create or reset a branch" msgstr "εε»Ίζιη½δΈδΈͺεζ―" -#: builtin/worktree.c:324 +#: builtin/worktree.c:322 msgid "detach HEAD at named commit" msgstr "HEAD δ»ζεηζδΊ€ε离" -#: builtin/worktree.c:331 +#: builtin/worktree.c:329 msgid "-b, -B, and --detach are mutually exclusive" msgstr "-bγ-B ε --detach ζ―δΊζ₯η" @@ -11078,7 +11285,7 @@ msgstr "ε° <εηΌ> εηε½ε
εΉεε°δΈδΈͺζ 对豑" msgid "only useful for debugging" msgstr "εͺε―Ήθ°θ―ζη¨" -#: credential-cache--daemon.c:255 +#: credential-cache--daemon.c:262 msgid "print debugging messages to stderr" msgstr "θ°θ―δΏ‘ζ―θΎεΊε°ζ ειθ――" @@ -11092,6 +11299,10 @@ msgstr "" "ζ₯η 'git help <ε½δ»€>' ζ 'git help <ζ¦εΏ΅>' δ»₯θ·εη»εεε½δ»€ζζ¦εΏ΅η\n" "εΈε©γ" +#: http.c:321 +msgid "Public key pinning not supported with cURL < 7.44.0" +msgstr "δΈζ―ζε
¬ι₯ζδ»ΆιεοΌε δΈΊ cURL < 7.44.0" + #: common-cmds.h:9 msgid "start a working area (see also: git help tutorial)" msgstr "εΌε§δΈδΈͺε·₯δ½εΊοΌεθ§οΌgit help tutorialοΌ" @@ -11173,8 +11384,8 @@ msgid "Update remote refs along with associated objects" msgstr "ζ΄ζ°θΏη¨εΌη¨εηΈε
³η对豑" #: common-cmds.h:32 -msgid "Forward-port local commits to the updated upstream head" -msgstr "ζ¬ε°ζ亀转移θ³ζ΄ζ°εηδΈζΈΈεζ―δΈ" +msgid "Reapply commits on top of another base tip" +msgstr "ε¨ε¦δΈδΈͺεζ―δΈιζ°εΊη¨ζδΊ€" #: common-cmds.h:33 msgid "Reset current HEAD to the specified state" @@ -11860,7 +12071,7 @@ msgstr "δΈθ½εε»Ίη©Ίηε樑η»ηε½ '$displaypath'" msgid "Submodule '$name' ($url) unregistered for path '$displaypath'" msgstr "εζ¨‘η» '$name' ($url) ζͺε―Ήθ·―εΎ '$displaypath' 注ε" -#: git-submodule.sh:705 +#: git-submodule.sh:723 #, sh-format msgid "" "Submodule path '$displaypath' not initialized\n" @@ -11869,108 +12080,179 @@ msgstr "" "ε樑η»θ·―εΎ '$displaypath' 沑ζεε§ε\n" "δΉθΈζ¨ζ³η¨ 'update --init'οΌ" -#: git-submodule.sh:718 +#: git-submodule.sh:736 #, sh-format msgid "Unable to find current revision in submodule path '$displaypath'" msgstr "ζ ζ³ε¨ε樑η»θ·―εΎ '$displaypath' δΈζΎε°ε½εηζ¬" -#: git-submodule.sh:727 +#: git-submodule.sh:745 #, sh-format msgid "Unable to fetch in submodule path '$sm_path'" msgstr "ζ ζ³ε¨ε樑η»θ·―εΎ '$sm_path' δΈθ·ε" -#: git-submodule.sh:751 +#: git-submodule.sh:768 #, sh-format msgid "Unable to fetch in submodule path '$displaypath'" msgstr "ζ ζ³ε¨ε樑η»θ·―εΎ '$displaypath' δΈθ·ε" -#: git-submodule.sh:765 +#: git-submodule.sh:788 #, sh-format msgid "Unable to checkout '$sha1' in submodule path '$displaypath'" msgstr "ζ ζ³ε¨ε樑η»θ·―εΎ '$displaypath' δΈζ£εΊ '$sha1'" -#: git-submodule.sh:766 +#: git-submodule.sh:789 #, sh-format msgid "Submodule path '$displaypath': checked out '$sha1'" msgstr "ε樑η»θ·―εΎ '$displaypath'οΌζ£εΊ '$sha1'" -#: git-submodule.sh:770 +#: git-submodule.sh:793 #, sh-format msgid "Unable to rebase '$sha1' in submodule path '$displaypath'" msgstr "ζ ζ³ε¨ε樑η»θ·―εΎ '$displaypath' δΈεεΊ '$sha1'" -#: git-submodule.sh:771 +#: git-submodule.sh:794 #, sh-format msgid "Submodule path '$displaypath': rebased into '$sha1'" msgstr "ε樑η»θ·―εΎ '$displaypath'οΌεεΊθ³ '$sha1'" -#: git-submodule.sh:776 +#: git-submodule.sh:799 #, sh-format msgid "Unable to merge '$sha1' in submodule path '$displaypath'" msgstr "ζ ζ³εεΉΆ '$sha1' ε°ε樑η»θ·―εΎ '$displaypath' δΈ" -#: git-submodule.sh:777 +#: git-submodule.sh:800 #, sh-format msgid "Submodule path '$displaypath': merged in '$sha1'" msgstr "ε樑η»θ·―εΎ '$displaypath'οΌε·²εεΉΆε
₯ '$sha1'" -#: git-submodule.sh:782 +#: git-submodule.sh:805 #, sh-format msgid "" "Execution of '$command $sha1' failed in submodule path '$prefix$sm_path'" msgstr "ε¨ε樑η»θ·―εΎ '$prefix$sm_path' δΈζ§θ‘ '$command $sha1' ε€±θ΄₯" -#: git-submodule.sh:783 +#: git-submodule.sh:806 #, sh-format msgid "Submodule path '$prefix$sm_path': '$command $sha1'" msgstr "ε樑η»θ·―εΎ '$prefix$sm_path': '$command $sha1'" -#: git-submodule.sh:813 +#: git-submodule.sh:836 #, sh-format msgid "Failed to recurse into submodule path '$displaypath'" msgstr "ζ ζ³ιε½θΏε樑η»θ·―εΎ '$displaypath'" -#: git-submodule.sh:921 +#: git-submodule.sh:944 msgid "The --cached option cannot be used with the --files option" msgstr "ιι‘Ή --cached δΈθ½ειι‘Ή --files εζΆδ½Ώη¨" -#: git-submodule.sh:973 +#: git-submodule.sh:996 #, sh-format msgid "unexpected mode $mod_dst" msgstr "ζε€ηζ¨‘εΌ $mod_dst" # θ―θ
οΌζ³¨ζδΏζεε―Όη©Ίζ Ό -#: git-submodule.sh:993 +#: git-submodule.sh:1016 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_src" msgstr " θ¦εοΌ$display_name ζͺε
ε«ζδΊ€ $sha1_src" # θ―θ
οΌζ³¨ζδΏζεε―Όη©Ίζ Ό -#: git-submodule.sh:996 +#: git-submodule.sh:1019 #, sh-format msgid " Warn: $display_name doesn't contain commit $sha1_dst" msgstr " θ¦εοΌ$display_name ζͺε
ε«ζδΊ€ $sha1_dst" # θ―θ
οΌζ³¨ζδΏζεε―Όη©Ίζ Ό -#: git-submodule.sh:999 +#: git-submodule.sh:1022 #, sh-format msgid " Warn: $display_name doesn't contain commits $sha1_src and $sha1_dst" msgstr " θ¦εοΌ$display_name ζͺε
ε«ζδΊ€ $sha1_src ε $sha1_dst" -#: git-submodule.sh:1024 +#: git-submodule.sh:1047 msgid "blob" msgstr "ζ°ζ对豑" -#: git-submodule.sh:1142 +#: git-submodule.sh:1165 #, sh-format msgid "Failed to recurse into submodule path '$sm_path'" msgstr "ζ ζ³ιε½θΏε樑η»θ·―εΎ '$sm_path'" -#: git-submodule.sh:1206 +#: git-submodule.sh:1229 #, sh-format msgid "Synchronizing submodule url for '$displaypath'" msgstr "δΈΊ '$displaypath' εζ₯εζ¨‘η» url" +#~ msgid "Forward-port local commits to the updated upstream head" +#~ msgstr "ζ¬ε°ζ亀转移θ³ζ΄ζ°εηδΈζΈΈεζ―δΈ" + +#~ msgid "unable to parse format" +#~ msgstr "δΈθ½θ§£ζζ ΌεΌ" + +#~ msgid "improper format entered align:%s" +#~ msgstr "θΎε
₯δΊδΈζ£η‘ηζ ΌεΌ align:%s" + +#~ msgid "Could not set core.worktree in %s" +#~ msgstr "δΈθ½ε¨ %s δΈθΎη½ core.worktree" + +# θ―θ
οΌε符串ι¦θ‘θ‘ι¦θ¦ζ·»ε βwarning: βεδΈ²οΌζ
ζ€ι¦θ‘θ¦θΎε
Άδ½θ‘η +#~ msgid "" +#~ "push.default is unset; its implicit value has changed in\n" +#~ "Git 2.0 from 'matching' to 'simple'. To squelch this message\n" +#~ "and maintain the traditional behavior, use:\n" +#~ "\n" +#~ " git config --global push.default matching\n" +#~ "\n" +#~ "To squelch this message and adopt the new behavior now, use:\n" +#~ "\n" +#~ " git config --global push.default simple\n" +#~ "\n" +#~ "When push.default is set to 'matching', git will push local branches\n" +#~ "to the remote branches that already exist with the same name.\n" +#~ "\n" +#~ "Since Git 2.0, Git defaults to the more conservative 'simple'\n" +#~ "behavior, which only pushes the current branch to the corresponding\n" +#~ "remote branch that 'git pull' uses to update the current branch.\n" +#~ "\n" +#~ "See 'git help config' and search for 'push.default' for further " +#~ "information.\n" +#~ "(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode\n" +#~ "'current' instead of 'simple' if you sometimes use older versions of Git)" +#~ msgstr "" +#~ "push.default ε°ζͺθΎη½οΌεηι»θ€εΌε¨ Git 2.0 ε·²δ» 'matching'\n" +#~ "εζ΄δΈΊ 'simple'γθ₯θ¦δΈεζΎη€Ίζ¬δΏ‘ζ―εΉΆδΏζδΌ η»δΉ ζ―οΌθΏθ‘ε¦δΈθΎη½οΌ\n" +#~ "\n" +#~ " git config --global push.default matching\n" +#~ "\n" +#~ "θ₯θ¦δΈεζΎη€Ίζ¬δΏ‘ζ―εΉΆδ»η°ε¨εΌε§ιη¨ζ°ηδ½Ώη¨δΉ ζ―οΌθΎη½οΌ\n" +#~ "\n" +#~ " git config --global push.default simple\n" +#~ "\n" +#~ "ε½ push.default θΎη½δΈΊ 'matching' εοΌgit ε°ζ¨ιεθΏη¨εεηζζ\n" +#~ "ζ¬ε°εζ―γ\n" +#~ "\n" +#~ "δ» Git 2.0 εΌε§οΌGit ι»θ€ιη¨ζ΄δΈΊδΏεη 'simple' 樑εΌοΌεͺζ¨ιε½ε\n" +#~ "εζ―ε°θΏη¨ε
³θηεεεζ―οΌε³ 'git push' ζ¨ιε½εεζ―γ\n" +#~ "\n" +#~ "εθ§ 'git help config' εΉΆζ₯ζΎ 'push.default' δ»₯θ·εζ΄ε€δΏ‘ζ―γ\n" +#~ "οΌ'simple' 樑εΌη± Git 1.7.11 ηζ¬εΌε
₯γε¦ζζ¨ζζΆθ¦δ½Ώη¨θηζ¬η GitοΌ\n" +#~ "δΈΊδΏζε
ΌεΉοΌθ―·η¨ 'current' δ»£ζΏ 'simple'οΌ" + +#~ msgid "Could not append '%s'" +#~ msgstr "δΈθ½θΏ½ε '%s'" + +#~ msgid "Could not set '%s'" +#~ msgstr "δΈθ½θΎη½ '%s'" + +# θ―θ
οΌε―ιεΌοΌδΈθ½ηΏ»θ― +#~ msgid "check|on-demand|no" +#~ msgstr "check|on-demand|no" + +#~ msgid "Missing author: %s" +#~ msgstr "ηΌΊε°δ½θ
οΌ%s" + +#~ msgid "Testing " +#~ msgstr "ζ£ε¨ζ΅θ― " + #~ msgid "unable to look up current user in the passwd file: %s" #~ msgstr "ζ ζ³ε¨ε£δ»€ζδ»ΆδΈζ₯θ―’ε°ε½εη¨ζ·οΌ%s" @@ -12037,9 +12319,6 @@ msgstr "δΈΊ '$displaypath' εζ₯εζ¨‘η» url" #~ msgid "unable to parse value '%s' for option %s" #~ msgstr "δΈθ½θ§£ζιι‘Ή %1$s ηεΌ '%2$s'" -#~ msgid "unable to resolve HEAD" -#~ msgstr "δΈθ½θ§£ζ HEAD" - #~ msgid "-b and -B are mutually exclusive" #~ msgstr "-b ε -B δΊζ₯" @@ -16,6 +16,7 @@ static struct cmt_fmt_map { const char *name; enum cmit_fmt format; int is_tformat; + int expand_tabs_in_log; int is_alias; const char *user_format; } *commit_formats; @@ -87,13 +88,13 @@ static int git_pretty_formats_config(const char *var, const char *value, void *c static void setup_commit_formats(void) { struct cmt_fmt_map builtin_formats[] = { - { "raw", CMIT_FMT_RAW, 0 }, - { "medium", CMIT_FMT_MEDIUM, 0 }, - { "short", CMIT_FMT_SHORT, 0 }, - { "email", CMIT_FMT_EMAIL, 0 }, - { "fuller", CMIT_FMT_FULLER, 0 }, - { "full", CMIT_FMT_FULL, 0 }, - { "oneline", CMIT_FMT_ONELINE, 1 } + { "raw", CMIT_FMT_RAW, 0, 0 }, + { "medium", CMIT_FMT_MEDIUM, 0, 8 }, + { "short", CMIT_FMT_SHORT, 0, 0 }, + { "email", CMIT_FMT_EMAIL, 0, 0 }, + { "fuller", CMIT_FMT_FULLER, 0, 8 }, + { "full", CMIT_FMT_FULL, 0, 8 }, + { "oneline", CMIT_FMT_ONELINE, 1, 0 } }; commit_formats_len = ARRAY_SIZE(builtin_formats); builtin_formats_len = commit_formats_len; @@ -172,6 +173,7 @@ void get_commit_format(const char *arg, struct rev_info *rev) rev->commit_format = commit_format->format; rev->use_terminator = commit_format->is_tformat; + rev->expand_tabs_in_log_default = commit_format->expand_tabs_in_log; if (commit_format->format == CMIT_FMT_USERFORMAT) { save_user_format(rev, commit_format->user_format, commit_format->is_tformat); @@ -1629,6 +1631,72 @@ void pp_title_line(struct pretty_print_context *pp, strbuf_release(&title); } +static int pp_utf8_width(const char *start, const char *end) +{ + int width = 0; + size_t remain = end - start; + + while (remain) { + int n = utf8_width(&start, &remain); + if (n < 0 || !start) + return -1; + width += n; + } + return width; +} + +static void strbuf_add_tabexpand(struct strbuf *sb, int tabwidth, + const char *line, int linelen) +{ + const char *tab; + + while ((tab = memchr(line, '\t', linelen)) != NULL) { + int width = pp_utf8_width(line, tab); + + /* + * If it wasn't well-formed utf8, or it + * had characters with badly defined + * width (control characters etc), just + * give up on trying to align things. + */ + if (width < 0) + break; + + /* Output the data .. */ + strbuf_add(sb, line, tab - line); + + /* .. and the de-tabified tab */ + strbuf_addchars(sb, ' ', tabwidth - (width % tabwidth)); + + /* Skip over the printed part .. */ + linelen -= tab + 1 - line; + line = tab + 1; + } + + /* + * Print out everything after the last tab without + * worrying about width - there's nothing more to + * align. + */ + strbuf_add(sb, line, linelen); +} + +/* + * pp_handle_indent() prints out the intendation, and + * the whole line (without the final newline), after + * de-tabifying. + */ +static void pp_handle_indent(struct pretty_print_context *pp, + struct strbuf *sb, int indent, + const char *line, int linelen) +{ + strbuf_addchars(sb, ' ', indent); + if (pp->expand_tabs_in_log) + strbuf_add_tabexpand(sb, pp->expand_tabs_in_log, line, linelen); + else + strbuf_add(sb, line, linelen); +} + void pp_remainder(struct pretty_print_context *pp, const char **msg_p, struct strbuf *sb, @@ -1653,8 +1721,12 @@ void pp_remainder(struct pretty_print_context *pp, strbuf_grow(sb, linelen + indent + 20); if (indent) - strbuf_addchars(sb, ' ', indent); - strbuf_add(sb, line, linelen); + pp_handle_indent(pp, sb, indent, line, linelen); + else if (pp->expand_tabs_in_log) + strbuf_add_tabexpand(sb, pp->expand_tabs_in_log, + line, linelen); + else + strbuf_add(sb, line, linelen); strbuf_addch(sb, '\n'); } } diff --git a/progress.c b/progress.c index 353bd37416..76a88c573f 100644 --- a/progress.c +++ b/progress.c @@ -247,7 +247,7 @@ void stop_progress_msg(struct progress **p_progress, const char *msg) size_t len = strlen(msg) + 5; struct throughput *tp = progress->throughput; - bufp = (len < sizeof(buf)) ? buf : xmalloc(len + 1); + bufp = (len < sizeof(buf)) ? buf : xmallocz(len); if (tp) { unsigned int rate = !tp->avg_misecs ? 0 : tp->avg_bytes / tp->avg_misecs; diff --git a/ref-filter.c b/ref-filter.c index f097176ed9..bc551a752c 100644 --- a/ref-filter.c +++ b/ref-filter.c @@ -16,14 +16,162 @@ typedef enum { FIELD_STR, FIELD_ULONG, FIELD_TIME } cmp_type; +struct align { + align_type position; + unsigned int width; +}; + +/* + * An atom is a valid field atom listed below, possibly prefixed with + * a "*" to denote deref_tag(). + * + * We parse given format string and sort specifiers, and make a list + * of properties that we need to extract out of objects. ref_array_item + * structure will hold an array of values extracted that can be + * indexed with the "atom number", which is an index into this + * array. + */ +static struct used_atom { + const char *name; + cmp_type type; + union { + char color[COLOR_MAXLEN]; + struct align align; + enum { RR_NORMAL, RR_SHORTEN, RR_TRACK, RR_TRACKSHORT } + remote_ref; + struct { + enum { C_BARE, C_BODY, C_BODY_DEP, C_LINES, C_SIG, C_SUB } option; + unsigned int nlines; + } contents; + enum { O_FULL, O_SHORT } objectname; + } u; +} *used_atom; +static int used_atom_cnt, need_tagged, need_symref; +static int need_color_reset_at_eol; + +static void color_atom_parser(struct used_atom *atom, const char *color_value) +{ + if (!color_value) + die(_("expected format: %%(color:<color>)")); + if (color_parse(color_value, atom->u.color) < 0) + die(_("unrecognized color: %%(color:%s)"), color_value); +} + +static void remote_ref_atom_parser(struct used_atom *atom, const char *arg) +{ + if (!arg) + atom->u.remote_ref = RR_NORMAL; + else if (!strcmp(arg, "short")) + atom->u.remote_ref = RR_SHORTEN; + else if (!strcmp(arg, "track")) + atom->u.remote_ref = RR_TRACK; + else if (!strcmp(arg, "trackshort")) + atom->u.remote_ref = RR_TRACKSHORT; + else + die(_("unrecognized format: %%(%s)"), atom->name); +} + +static void body_atom_parser(struct used_atom *atom, const char *arg) +{ + if (arg) + die(_("%%(body) does not take arguments")); + atom->u.contents.option = C_BODY_DEP; +} + +static void subject_atom_parser(struct used_atom *atom, const char *arg) +{ + if (arg) + die(_("%%(subject) does not take arguments")); + atom->u.contents.option = C_SUB; +} + +static void contents_atom_parser(struct used_atom *atom, const char *arg) +{ + if (!arg) + atom->u.contents.option = C_BARE; + else if (!strcmp(arg, "body")) + atom->u.contents.option = C_BODY; + else if (!strcmp(arg, "signature")) + atom->u.contents.option = C_SIG; + else if (!strcmp(arg, "subject")) + atom->u.contents.option = C_SUB; + else if (skip_prefix(arg, "lines=", &arg)) { + atom->u.contents.option = C_LINES; + if (strtoul_ui(arg, 10, &atom->u.contents.nlines)) + die(_("positive value expected contents:lines=%s"), arg); + } else + die(_("unrecognized %%(contents) argument: %s"), arg); +} + +static void objectname_atom_parser(struct used_atom *atom, const char *arg) +{ + if (!arg) + atom->u.objectname = O_FULL; + else if (!strcmp(arg, "short")) + atom->u.objectname = O_SHORT; + else + die(_("unrecognized %%(objectname) argument: %s"), arg); +} + +static align_type parse_align_position(const char *s) +{ + if (!strcmp(s, "right")) + return ALIGN_RIGHT; + else if (!strcmp(s, "middle")) + return ALIGN_MIDDLE; + else if (!strcmp(s, "left")) + return ALIGN_LEFT; + return -1; +} + +static void align_atom_parser(struct used_atom *atom, const char *arg) +{ + struct align *align = &atom->u.align; + struct string_list params = STRING_LIST_INIT_DUP; + int i; + unsigned int width = ~0U; + + if (!arg) + die(_("expected format: %%(align:<width>,<position>)")); + + align->position = ALIGN_LEFT; + + string_list_split(¶ms, arg, ',', -1); + for (i = 0; i < params.nr; i++) { + const char *s = params.items[i].string; + int position; + + if (skip_prefix(s, "position=", &s)) { + position = parse_align_position(s); + if (position < 0) + die(_("unrecognized position:%s"), s); + align->position = position; + } else if (skip_prefix(s, "width=", &s)) { + if (strtoul_ui(s, 10, &width)) + die(_("unrecognized width:%s"), s); + } else if (!strtoul_ui(s, 10, &width)) + ; + else if ((position = parse_align_position(s)) >= 0) + align->position = position; + else + die(_("unrecognized %%(align) argument: %s"), s); + } + + if (width == ~0U) + die(_("positive width expected with the %%(align) atom")); + align->width = width; + string_list_clear(¶ms, 0); +} + static struct { const char *name; cmp_type cmp_type; + void (*parser)(struct used_atom *atom, const char *arg); } valid_atom[] = { { "refname" }, { "objecttype" }, { "objectsize", FIELD_ULONG }, - { "objectname" }, + { "objectname", FIELD_STR, objectname_atom_parser }, { "tree" }, { "parent" }, { "numparent", FIELD_ULONG }, @@ -44,31 +192,21 @@ static struct { { "taggerdate", FIELD_TIME }, { "creator" }, { "creatordate", FIELD_TIME }, - { "subject" }, - { "body" }, - { "contents" }, - { "upstream" }, - { "push" }, + { "subject", FIELD_STR, subject_atom_parser }, + { "body", FIELD_STR, body_atom_parser }, + { "contents", FIELD_STR, contents_atom_parser }, + { "upstream", FIELD_STR, remote_ref_atom_parser }, + { "push", FIELD_STR, remote_ref_atom_parser }, { "symref" }, { "flag" }, { "HEAD" }, - { "color" }, - { "align" }, + { "color", FIELD_STR, color_atom_parser }, + { "align", FIELD_STR, align_atom_parser }, { "end" }, }; #define REF_FORMATTING_STATE_INIT { 0, NULL } -struct align { - align_type position; - unsigned int width; -}; - -struct contents { - unsigned int lines; - struct object_id oid; -}; - struct ref_formatting_stack { struct ref_formatting_stack *prev; struct strbuf output; @@ -85,77 +223,66 @@ struct atom_value { const char *s; union { struct align align; - struct contents contents; } u; void (*handler)(struct atom_value *atomv, struct ref_formatting_state *state); unsigned long ul; /* used for sorting when not FIELD_STR */ }; /* - * An atom is a valid field atom listed above, possibly prefixed with - * a "*" to denote deref_tag(). - * - * We parse given format string and sort specifiers, and make a list - * of properties that we need to extract out of objects. ref_array_item - * structure will hold an array of values extracted that can be - * indexed with the "atom number", which is an index into this - * array. - */ -static const char **used_atom; -static cmp_type *used_atom_type; -static int used_atom_cnt, need_tagged, need_symref; -static int need_color_reset_at_eol; - -/* * Used to parse format string and sort specifiers */ int parse_ref_filter_atom(const char *atom, const char *ep) { const char *sp; + const char *arg; int i, at; sp = atom; if (*sp == '*' && sp < ep) sp++; /* deref */ if (ep <= sp) - die("malformed field name: %.*s", (int)(ep-atom), atom); + die(_("malformed field name: %.*s"), (int)(ep-atom), atom); /* Do we have the atom already used elsewhere? */ for (i = 0; i < used_atom_cnt; i++) { - int len = strlen(used_atom[i]); - if (len == ep - atom && !memcmp(used_atom[i], atom, len)) + int len = strlen(used_atom[i].name); + if (len == ep - atom && !memcmp(used_atom[i].name, atom, len)) return i; } /* Is the atom a valid one? */ for (i = 0; i < ARRAY_SIZE(valid_atom); i++) { int len = strlen(valid_atom[i].name); + /* * If the atom name has a colon, strip it and everything after * it off - it specifies the format for this entry, and * shouldn't be used for checking against the valid_atom * table. */ - const char *formatp = strchr(sp, ':'); - if (!formatp || ep < formatp) - formatp = ep; - if (len == formatp - sp && !memcmp(valid_atom[i].name, sp, len)) + arg = memchr(sp, ':', ep - sp); + if (len == (arg ? arg : ep) - sp && + !memcmp(valid_atom[i].name, sp, len)) break; } if (ARRAY_SIZE(valid_atom) <= i) - die("unknown field name: %.*s", (int)(ep-atom), atom); + die(_("unknown field name: %.*s"), (int)(ep-atom), atom); /* Add it in, including the deref prefix */ at = used_atom_cnt; used_atom_cnt++; REALLOC_ARRAY(used_atom, used_atom_cnt); - REALLOC_ARRAY(used_atom_type, used_atom_cnt); - used_atom[at] = xmemdupz(atom, ep - atom); - used_atom_type[at] = valid_atom[i].cmp_type; + used_atom[at].name = xmemdupz(atom, ep - atom); + used_atom[at].type = valid_atom[i].cmp_type; + if (arg) + arg = used_atom[at].name + (arg - atom) + 1; + memset(&used_atom[at].u, 0, sizeof(used_atom[at].u)); + if (valid_atom[i].parser) + valid_atom[i].parser(&used_atom[at], arg); if (*atom == '*') need_tagged = 1; - if (!strcmp(used_atom[at], "symref")) + if (!strcmp(used_atom[at].name, "symref")) need_symref = 1; return at; } @@ -258,22 +385,6 @@ static void end_atom_handler(struct atom_value *atomv, struct ref_formatting_sta pop_stack_element(&state->stack); } -static int match_atom_name(const char *name, const char *atom_name, const char **val) -{ - const char *body; - - if (!skip_prefix(name, atom_name, &body)) - return 0; /* doesn't even begin with "atom_name" */ - if (!body[0]) { - *val = NULL; /* %(atom_name) and no customization */ - return 1; - } - if (body[0] != ':') - return 0; /* "atom_namefoo" is not "atom_name" or "atom_name:..." */ - *val = body + 1; /* "atom_name:val" */ - return 1; -} - /* * In a format string, find the next occurrence of %(atom). */ @@ -310,12 +421,12 @@ int verify_ref_format(const char *format) int at; if (!ep) - return error("malformed format string %s", sp); + return error(_("malformed format string %s"), sp); /* sp points at "%(" and ep points at the closing ")" */ at = parse_ref_filter_atom(sp + 2, ep); cp = ep + 1; - if (skip_prefix(used_atom[at], "color:", &color)) + if (skip_prefix(used_atom[at].name, "color:", &color)) need_color_reset_at_eol = !!strcmp(color, "reset"); } return 0; @@ -340,15 +451,17 @@ static void *get_obj(const unsigned char *sha1, struct object **obj, unsigned lo } static int grab_objectname(const char *name, const unsigned char *sha1, - struct atom_value *v) + struct atom_value *v, struct used_atom *atom) { - if (!strcmp(name, "objectname")) { - v->s = xstrdup(sha1_to_hex(sha1)); - return 1; - } - if (!strcmp(name, "objectname:short")) { - v->s = xstrdup(find_unique_abbrev(sha1, DEFAULT_ABBREV)); - return 1; + if (starts_with(name, "objectname")) { + if (atom->u.objectname == O_SHORT) { + v->s = xstrdup(find_unique_abbrev(sha1, DEFAULT_ABBREV)); + return 1; + } else if (atom->u.objectname == O_FULL) { + v->s = xstrdup(sha1_to_hex(sha1)); + return 1; + } else + die("BUG: unknown %%(objectname) option"); } return 0; } @@ -359,7 +472,7 @@ static void grab_common_values(struct atom_value *val, int deref, struct object int i; for (i = 0; i < used_atom_cnt; i++) { - const char *name = used_atom[i]; + const char *name = used_atom[i].name; struct atom_value *v = &val[i]; if (!!deref != (*name == '*')) continue; @@ -372,7 +485,7 @@ static void grab_common_values(struct atom_value *val, int deref, struct object v->s = xstrfmt("%lu", sz); } else if (deref) - grab_objectname(name, obj->oid.hash, v); + grab_objectname(name, obj->oid.hash, v, &used_atom[i]); } } @@ -383,7 +496,7 @@ static void grab_tag_values(struct atom_value *val, int deref, struct object *ob struct tag *tag = (struct tag *) obj; for (i = 0; i < used_atom_cnt; i++) { - const char *name = used_atom[i]; + const char *name = used_atom[i].name; struct atom_value *v = &val[i]; if (!!deref != (*name == '*')) continue; @@ -405,7 +518,7 @@ static void grab_commit_values(struct atom_value *val, int deref, struct object struct commit *commit = (struct commit *) obj; for (i = 0; i < used_atom_cnt; i++) { - const char *name = used_atom[i]; + const char *name = used_atom[i].name; struct atom_value *v = &val[i]; if (!!deref != (*name == '*')) continue; @@ -535,7 +648,7 @@ static void grab_person(const char *who, struct atom_value *val, int deref, stru const char *wholine = NULL; for (i = 0; i < used_atom_cnt; i++) { - const char *name = used_atom[i]; + const char *name = used_atom[i].name; struct atom_value *v = &val[i]; if (!!deref != (*name == '*')) continue; @@ -573,7 +686,7 @@ static void grab_person(const char *who, struct atom_value *val, int deref, stru if (!wholine) return; for (i = 0; i < used_atom_cnt; i++) { - const char *name = used_atom[i]; + const char *name = used_atom[i].name; struct atom_value *v = &val[i]; if (!!deref != (*name == '*')) continue; @@ -663,20 +776,16 @@ static void grab_sub_body_contents(struct atom_value *val, int deref, struct obj unsigned long sublen = 0, bodylen = 0, nonsiglen = 0, siglen = 0; for (i = 0; i < used_atom_cnt; i++) { - const char *name = used_atom[i]; + struct used_atom *atom = &used_atom[i]; + const char *name = atom->name; struct atom_value *v = &val[i]; - const char *valp = NULL; if (!!deref != (*name == '*')) continue; if (deref) name++; if (strcmp(name, "subject") && strcmp(name, "body") && - strcmp(name, "contents") && - strcmp(name, "contents:subject") && - strcmp(name, "contents:body") && - strcmp(name, "contents:signature") && - !starts_with(name, "contents:lines=")) + !starts_with(name, "contents")) continue; if (!subpos) find_subpos(buf, sz, @@ -684,28 +793,23 @@ static void grab_sub_body_contents(struct atom_value *val, int deref, struct obj &bodypos, &bodylen, &nonsiglen, &sigpos, &siglen); - if (!strcmp(name, "subject")) - v->s = copy_subject(subpos, sublen); - else if (!strcmp(name, "contents:subject")) + if (atom->u.contents.option == C_SUB) v->s = copy_subject(subpos, sublen); - else if (!strcmp(name, "body")) + else if (atom->u.contents.option == C_BODY_DEP) v->s = xmemdupz(bodypos, bodylen); - else if (!strcmp(name, "contents:body")) + else if (atom->u.contents.option == C_BODY) v->s = xmemdupz(bodypos, nonsiglen); - else if (!strcmp(name, "contents:signature")) + else if (atom->u.contents.option == C_SIG) v->s = xmemdupz(sigpos, siglen); - else if (!strcmp(name, "contents")) - v->s = xstrdup(subpos); - else if (skip_prefix(name, "contents:lines=", &valp)) { + else if (atom->u.contents.option == C_LINES) { struct strbuf s = STRBUF_INIT; const char *contents_end = bodylen + bodypos - siglen; - if (strtoul_ui(valp, 10, &v->u.contents.lines)) - die(_("positive value expected contents:lines=%s"), valp); /* Size is the length of the message after removing the signature */ - append_lines(&s, subpos, contents_end - subpos, v->u.contents.lines); + append_lines(&s, subpos, contents_end - subpos, atom->u.contents.nlines); v->s = strbuf_detach(&s, NULL); - } + } else if (atom->u.contents.option == C_BARE) + v->s = xstrdup(subpos); } } @@ -771,12 +875,12 @@ static const char *strip_ref_components(const char *refname, const char *nr_arg) const char *start = refname; if (nr < 1 || *end != '\0') - die(":strip= requires a positive integer argument"); + die(_(":strip= requires a positive integer argument")); while (remaining) { switch (*start++) { case '\0': - die("ref '%s' does not have %ld components to :strip", + die(_("ref '%s' does not have %ld components to :strip"), refname, nr); case '/': remaining--; @@ -786,6 +890,43 @@ static const char *strip_ref_components(const char *refname, const char *nr_arg) return start; } +static void fill_remote_ref_details(struct used_atom *atom, const char *refname, + struct branch *branch, const char **s) +{ + int num_ours, num_theirs; + if (atom->u.remote_ref == RR_SHORTEN) + *s = shorten_unambiguous_ref(refname, warn_ambiguous_refs); + else if (atom->u.remote_ref == RR_TRACK) { + if (stat_tracking_info(branch, &num_ours, + &num_theirs, NULL)) + return; + + if (!num_ours && !num_theirs) + *s = ""; + else if (!num_ours) + *s = xstrfmt("[behind %d]", num_theirs); + else if (!num_theirs) + *s = xstrfmt("[ahead %d]", num_ours); + else + *s = xstrfmt("[ahead %d, behind %d]", + num_ours, num_theirs); + } else if (atom->u.remote_ref == RR_TRACKSHORT) { + if (stat_tracking_info(branch, &num_ours, + &num_theirs, NULL)) + return; + + if (!num_ours && !num_theirs) + *s = "="; + else if (!num_ours) + *s = "<"; + else if (!num_theirs) + *s = ">"; + else + *s = "<>"; + } else /* RR_NORMAL */ + *s = refname; +} + /* * Parse the object referred by ref, and grab needed value. */ @@ -809,12 +950,12 @@ static void populate_value(struct ref_array_item *ref) /* Fill in specials first */ for (i = 0; i < used_atom_cnt; i++) { - const char *name = used_atom[i]; + struct used_atom *atom = &used_atom[i]; + const char *name = used_atom[i].name; struct atom_value *v = &ref->value[i]; int deref = 0; const char *refname; const char *formatp; - const char *valp; struct branch *branch = NULL; v->handler = append_atom; @@ -837,8 +978,9 @@ static void populate_value(struct ref_array_item *ref) branch = branch_get(branch_name); refname = branch_get_upstream(branch, NULL); - if (!refname) - continue; + if (refname) + fill_remote_ref_details(atom, refname, branch, &v->s); + continue; } else if (starts_with(name, "push")) { const char *branch_name; if (!skip_prefix(ref->refname, "refs/heads/", @@ -849,14 +991,10 @@ static void populate_value(struct ref_array_item *ref) refname = branch_get_push(branch, NULL); if (!refname) continue; - } else if (match_atom_name(name, "color", &valp)) { - char color[COLOR_MAXLEN] = ""; - - if (!valp) - die(_("expected format: %%(color:<color>)")); - if (color_parse(valp, color) < 0) - die(_("unable to parse format")); - v->s = xstrdup(color); + fill_remote_ref_details(atom, refname, branch, &v->s); + continue; + } else if (starts_with(name, "color:")) { + v->s = atom->u.color; continue; } else if (!strcmp(name, "flag")) { char buf[256], *cp = buf; @@ -871,7 +1009,7 @@ static void populate_value(struct ref_array_item *ref) v->s = xstrdup(buf + 1); } continue; - } else if (!deref && grab_objectname(name, ref->objectname, v)) { + } else if (!deref && grab_objectname(name, ref->objectname, v, atom)) { continue; } else if (!strcmp(name, "HEAD")) { const char *head; @@ -884,43 +1022,8 @@ static void populate_value(struct ref_array_item *ref) else v->s = " "; continue; - } else if (match_atom_name(name, "align", &valp)) { - struct align *align = &v->u.align; - struct strbuf **s, **to_free; - int width = -1; - - if (!valp) - die(_("expected format: %%(align:<width>,<position>)")); - - /* - * TODO: Implement a function similar to strbuf_split_str() - * which would omit the separator from the end of each value. - */ - s = to_free = strbuf_split_str(valp, ',', 0); - - align->position = ALIGN_LEFT; - - while (*s) { - /* Strip trailing comma */ - if (s[1]) - strbuf_setlen(s[0], s[0]->len - 1); - if (!strtoul_ui(s[0]->buf, 10, (unsigned int *)&width)) - ; - else if (!strcmp(s[0]->buf, "left")) - align->position = ALIGN_LEFT; - else if (!strcmp(s[0]->buf, "right")) - align->position = ALIGN_RIGHT; - else if (!strcmp(s[0]->buf, "middle")) - align->position = ALIGN_MIDDLE; - else - die(_("improper format entered align:%s"), s[0]->buf); - s++; - } - - if (width < 0) - die(_("positive width expected with the %%(align) atom")); - align->width = width; - strbuf_list_free(to_free); + } else if (starts_with(name, "align")) { + v->u.align = atom->u.align; v->handler = align_atom_handler; continue; } else if (!strcmp(name, "end")) { @@ -931,7 +1034,6 @@ static void populate_value(struct ref_array_item *ref) formatp = strchr(name, ':'); if (formatp) { - int num_ours, num_theirs; const char *arg; formatp++; @@ -940,44 +1042,8 @@ static void populate_value(struct ref_array_item *ref) warn_ambiguous_refs); else if (skip_prefix(formatp, "strip=", &arg)) refname = strip_ref_components(refname, arg); - else if (!strcmp(formatp, "track") && - (starts_with(name, "upstream") || - starts_with(name, "push"))) { - - if (stat_tracking_info(branch, &num_ours, - &num_theirs, NULL)) - continue; - - if (!num_ours && !num_theirs) - v->s = ""; - else if (!num_ours) - v->s = xstrfmt("[behind %d]", num_theirs); - else if (!num_theirs) - v->s = xstrfmt("[ahead %d]", num_ours); - else - v->s = xstrfmt("[ahead %d, behind %d]", - num_ours, num_theirs); - continue; - } else if (!strcmp(formatp, "trackshort") && - (starts_with(name, "upstream") || - starts_with(name, "push"))) { - assert(branch); - - if (stat_tracking_info(branch, &num_ours, - &num_theirs, NULL)) - continue; - - if (!num_ours && !num_theirs) - v->s = "="; - else if (!num_ours) - v->s = "<"; - else if (!num_theirs) - v->s = ">"; - else - v->s = "<>"; - continue; - } else - die("unknown %.*s format %s", + else + die(_("unknown %.*s format %s"), (int)(formatp - name), name, formatp); } @@ -997,10 +1063,10 @@ static void populate_value(struct ref_array_item *ref) need_obj: buf = get_obj(ref->objectname, &obj, &size, &eaten); if (!buf) - die("missing object %s for %s", + die(_("missing object %s for %s"), sha1_to_hex(ref->objectname), ref->refname); if (!obj) - die("parse_object_buffer failed on %s for %s", + die(_("parse_object_buffer failed on %s for %s"), sha1_to_hex(ref->objectname), ref->refname); grab_values(ref->value, 0, obj, buf, size); @@ -1028,10 +1094,10 @@ static void populate_value(struct ref_array_item *ref) */ buf = get_obj(tagged, &obj, &size, &eaten); if (!buf) - die("missing object %s for %s", + die(_("missing object %s for %s"), sha1_to_hex(tagged), ref->refname); if (!obj) - die("parse_object_buffer failed on %s for %s", + die(_("parse_object_buffer failed on %s for %s"), sha1_to_hex(tagged), ref->refname); grab_values(ref->value, 1, obj, buf, size); if (!eaten) @@ -1255,10 +1321,8 @@ static struct ref_array_item *new_ref_array_item(const char *refname, const unsigned char *objectname, int flag) { - size_t len = strlen(refname); - struct ref_array_item *ref = xcalloc(1, sizeof(struct ref_array_item) + len + 1); - memcpy(ref->refname, refname, len); - ref->refname[len] = '\0'; + struct ref_array_item *ref; + FLEX_ALLOC_STR(ref, refname, refname); hashcpy(ref->objectname, objectname); ref->flag = flag; @@ -1306,12 +1370,12 @@ static int ref_filter_handler(const char *refname, const struct object_id *oid, unsigned int kind; if (flag & REF_BAD_NAME) { - warning("ignoring ref with broken name %s", refname); + warning(_("ignoring ref with broken name %s"), refname); return 0; } if (flag & REF_ISBROKEN) { - warning("ignoring broken ref %s", refname); + warning(_("ignoring broken ref %s"), refname); return 0; } @@ -1471,7 +1535,7 @@ static int cmp_ref_sorting(struct ref_sorting *s, struct ref_array_item *a, stru { struct atom_value *va, *vb; int cmp; - cmp_type cmp_type = used_atom_type[s->atom]; + cmp_type cmp_type = used_atom[s->atom].type; get_ref_atom_value(a, s->atom, &va); get_ref_atom_value(b, s->atom, &vb); @@ -124,7 +124,7 @@ int refname_is_safe(const char *refname) char *buf; int result; - buf = xmalloc(strlen(refname) + 1); + buf = xmallocz(strlen(refname)); /* * Does the refname try to escape refs/? * For example: refs/foo/../bar is safe but refs/foo/../../bar @@ -761,10 +761,8 @@ void ref_transaction_free(struct ref_transaction *transaction) static struct ref_update *add_update(struct ref_transaction *transaction, const char *refname) { - size_t len = strlen(refname) + 1; - struct ref_update *update = xcalloc(1, sizeof(*update) + len); - - memcpy((char *)update->refname, refname, len); /* includes NUL */ + struct ref_update *update; + FLEX_ALLOC_STR(update, refname, refname); ALLOC_GROW(transaction->updates, transaction->nr + 1, transaction->alloc); transaction->updates[transaction->nr++] = update; return update; @@ -908,7 +906,7 @@ char *shorten_unambiguous_ref(const char *refname, int strict) /* -2 for strlen("%.*s") - strlen("%s"); +1 for NUL */ total_len += strlen(ref_rev_parse_rules[nr_rules]) - 2 + 1; - scanf_fmts = xmalloc(nr_rules * sizeof(char *) + total_len); + scanf_fmts = xmalloc(st_add(st_mult(nr_rules, sizeof(char *)), total_len)); offset = 0; for (i = 0; i < nr_rules; i++) { @@ -1082,3 +1080,152 @@ int rename_ref_available(const char *oldname, const char *newname) strbuf_release(&err); return ret; } + +int head_ref_submodule(const char *submodule, each_ref_fn fn, void *cb_data) +{ + struct object_id oid; + int flag; + + if (submodule) { + if (resolve_gitlink_ref(submodule, "HEAD", oid.hash) == 0) + return fn("HEAD", &oid, 0, cb_data); + + return 0; + } + + if (!read_ref_full("HEAD", RESOLVE_REF_READING, oid.hash, &flag)) + return fn("HEAD", &oid, flag, cb_data); + + return 0; +} + +int head_ref(each_ref_fn fn, void *cb_data) +{ + return head_ref_submodule(NULL, fn, cb_data); +} + +int for_each_ref(each_ref_fn fn, void *cb_data) +{ + return do_for_each_ref(NULL, "", fn, 0, 0, cb_data); +} + +int for_each_ref_submodule(const char *submodule, each_ref_fn fn, void *cb_data) +{ + return do_for_each_ref(submodule, "", fn, 0, 0, cb_data); +} + +int for_each_ref_in(const char *prefix, each_ref_fn fn, void *cb_data) +{ + return do_for_each_ref(NULL, prefix, fn, strlen(prefix), 0, cb_data); +} + +int for_each_fullref_in(const char *prefix, each_ref_fn fn, void *cb_data, unsigned int broken) +{ + unsigned int flag = 0; + + if (broken) + flag = DO_FOR_EACH_INCLUDE_BROKEN; + return do_for_each_ref(NULL, prefix, fn, 0, flag, cb_data); +} + +int for_each_ref_in_submodule(const char *submodule, const char *prefix, + each_ref_fn fn, void *cb_data) +{ + return do_for_each_ref(submodule, prefix, fn, strlen(prefix), 0, cb_data); +} + +int for_each_replace_ref(each_ref_fn fn, void *cb_data) +{ + return do_for_each_ref(NULL, git_replace_ref_base, fn, + strlen(git_replace_ref_base), 0, cb_data); +} + +int for_each_namespaced_ref(each_ref_fn fn, void *cb_data) +{ + struct strbuf buf = STRBUF_INIT; + int ret; + strbuf_addf(&buf, "%srefs/", get_git_namespace()); + ret = do_for_each_ref(NULL, buf.buf, fn, 0, 0, cb_data); + strbuf_release(&buf); + return ret; +} + +int for_each_rawref(each_ref_fn fn, void *cb_data) +{ + return do_for_each_ref(NULL, "", fn, 0, + DO_FOR_EACH_INCLUDE_BROKEN, cb_data); +} + +/* This function needs to return a meaningful errno on failure */ +const char *resolve_ref_unsafe(const char *refname, int resolve_flags, + unsigned char *sha1, int *flags) +{ + static struct strbuf sb_refname = STRBUF_INIT; + int unused_flags; + int symref_count; + + if (!flags) + flags = &unused_flags; + + *flags = 0; + + if (check_refname_format(refname, REFNAME_ALLOW_ONELEVEL)) { + if (!(resolve_flags & RESOLVE_REF_ALLOW_BAD_NAME) || + !refname_is_safe(refname)) { + errno = EINVAL; + return NULL; + } + + /* + * dwim_ref() uses REF_ISBROKEN to distinguish between + * missing refs and refs that were present but invalid, + * to complain about the latter to stderr. + * + * We don't know whether the ref exists, so don't set + * REF_ISBROKEN yet. + */ + *flags |= REF_BAD_NAME; + } + + for (symref_count = 0; symref_count < SYMREF_MAXDEPTH; symref_count++) { + unsigned int read_flags = 0; + + if (read_raw_ref(refname, sha1, &sb_refname, &read_flags)) { + *flags |= read_flags; + if (errno != ENOENT || (resolve_flags & RESOLVE_REF_READING)) + return NULL; + hashclr(sha1); + if (*flags & REF_BAD_NAME) + *flags |= REF_ISBROKEN; + return refname; + } + + *flags |= read_flags; + + if (!(read_flags & REF_ISSYMREF)) { + if (*flags & REF_BAD_NAME) { + hashclr(sha1); + *flags |= REF_ISBROKEN; + } + return refname; + } + + refname = sb_refname.buf; + if (resolve_flags & RESOLVE_REF_NO_RECURSE) { + hashclr(sha1); + return refname; + } + if (check_refname_format(refname, REFNAME_ALLOW_ONELEVEL)) { + if (!(resolve_flags & RESOLVE_REF_ALLOW_BAD_NAME) || + !refname_is_safe(refname)) { + errno = EINVAL; + return NULL; + } + + *flags |= REF_ISBROKEN | REF_BAD_NAME; + } + } + + errno = ELOOP; + return NULL; +} @@ -109,6 +109,11 @@ extern int dwim_log(const char *str, int len, unsigned char *sha1, char **ref); * If this succeeds, the ref updates will have taken place and * the transaction cannot be rolled back. * + * - Instead of `ref_transaction_commit`, use + * `initial_ref_transaction_commit()` if the ref database is known + * to be empty (e.g. during clone). This is likely to be much + * faster. + * * - At any time call `ref_transaction_free()` to discard the * transaction and free associated resources. In particular, * this rolls back the transaction if it has not been @@ -124,6 +129,13 @@ extern int dwim_log(const char *str, int len, unsigned char *sha1, char **ref); * * The message is appended to err without first clearing err. * err will not be '\n' terminated. + * + * Caveats + * ------- + * + * Note that no locks are taken, and no refs are read, until + * `ref_transaction_commit` is called. So `ref_transaction_verify` + * won't report a verification failure until the commit is attempted. */ struct ref_transaction; @@ -294,6 +306,15 @@ extern int rename_ref(const char *oldref, const char *newref, const char *logmsg extern int create_symref(const char *refname, const char *target, const char *logmsg); +/* + * Update HEAD of the specified gitdir. + * Similar to create_symref("relative-git-dir/HEAD", target, NULL), but + * this can update the main working tree's HEAD regardless of where + * $GIT_DIR points to. + * Return 0 if successful, non-zero otherwise. + * */ +extern int set_worktree_head_symref(const char *gitdir, const char *target); + enum action_on_err { UPDATE_REFS_MSG_ON_ERR, UPDATE_REFS_DIE_ON_ERR, diff --git a/refs/files-backend.c b/refs/files-backend.c index b569762888..1f38076411 100644 --- a/refs/files-backend.c +++ b/refs/files-backend.c @@ -199,17 +199,14 @@ static struct ref_entry *create_ref_entry(const char *refname, const unsigned char *sha1, int flag, int check_name) { - int len; struct ref_entry *ref; if (check_name && check_refname_format(refname, REFNAME_ALLOW_ONELEVEL)) die("Reference has invalid format: '%s'", refname); - len = strlen(refname) + 1; - ref = xmalloc(sizeof(struct ref_entry) + len); + FLEX_ALLOC_STR(ref, name, refname); hashcpy(ref->u.value.oid.hash, sha1); oidclr(&ref->u.value.peeled); - memcpy(ref->name, refname, len); ref->flag = flag; return ref; } @@ -268,9 +265,7 @@ static struct ref_entry *create_dir_entry(struct ref_cache *ref_cache, int incomplete) { struct ref_entry *direntry; - direntry = xcalloc(1, sizeof(struct ref_entry) + len + 1); - memcpy(direntry->name, dirname, len); - direntry->name[len] = '\0'; + FLEX_ALLOC_MEM(direntry, name, dirname, len); direntry->u.subdir.ref_cache = ref_cache; direntry->flag = REF_DIR | (incomplete ? REF_INCOMPLETE : 0); return direntry; @@ -518,9 +513,6 @@ static void sort_ref_dir(struct ref_dir *dir) dir->sorted = dir->nr = i; } -/* Include broken references in a do_for_each_ref*() iteration: */ -#define DO_FOR_EACH_INCLUDE_BROKEN 0x01 - /* * Return true iff the reference described by entry can be resolved to * an object in the database. Emit a warning if the referred-to @@ -939,13 +931,10 @@ static void clear_loose_ref_cache(struct ref_cache *refs) */ static struct ref_cache *create_ref_cache(const char *submodule) { - int len; struct ref_cache *refs; if (!submodule) submodule = ""; - len = strlen(submodule) + 1; - refs = xcalloc(1, sizeof(struct ref_cache) + len); - memcpy(refs->name, submodule, len); + FLEX_ALLOC_STR(refs, name, submodule); refs->next = submodule_ref_caches; submodule_ref_caches = refs; return refs; @@ -1280,8 +1269,6 @@ static struct ref_dir *get_loose_refs(struct ref_cache *refs) return get_ref_dir(refs->loose); } -/* We allow "recursive" symbolic refs. Only within reason, though */ -#define MAXDEPTH 5 #define MAXREFLEN (1024) /* @@ -1311,7 +1298,7 @@ static int resolve_gitlink_ref_recursive(struct ref_cache *refs, char buffer[128], *p; char *path; - if (recursion > MAXDEPTH || strlen(refname) > MAXREFLEN) + if (recursion > SYMREF_MAXDEPTH || strlen(refname) > MAXREFLEN) return -1; path = *refs->name ? git_pathdup_submodule(refs->name, "%s", refname) @@ -1379,13 +1366,11 @@ static struct ref_entry *get_packed_ref(const char *refname) } /* - * A loose ref file doesn't exist; check for a packed ref. The - * options are forwarded from resolve_safe_unsafe(). + * A loose ref file doesn't exist; check for a packed ref. */ static int resolve_missing_loose_ref(const char *refname, - int resolve_flags, unsigned char *sha1, - int *flags) + unsigned int *flags) { struct ref_entry *entry; @@ -1396,205 +1381,158 @@ static int resolve_missing_loose_ref(const char *refname, entry = get_packed_ref(refname); if (entry) { hashcpy(sha1, entry->u.value.oid.hash); - if (flags) - *flags |= REF_ISPACKED; - return 0; - } - /* The reference is not a packed reference, either. */ - if (resolve_flags & RESOLVE_REF_READING) { - errno = ENOENT; - return -1; - } else { - hashclr(sha1); + *flags |= REF_ISPACKED; return 0; } + /* refname is not a packed reference. */ + return -1; } -/* This function needs to return a meaningful errno on failure */ -static const char *resolve_ref_1(const char *refname, - int resolve_flags, - unsigned char *sha1, - int *flags, - struct strbuf *sb_refname, - struct strbuf *sb_path, - struct strbuf *sb_contents) +/* + * Read a raw ref from the filesystem or packed refs file. + * + * If the ref is a sha1, fill in sha1 and return 0. + * + * If the ref is symbolic, fill in *symref with the referrent + * (e.g. "refs/heads/master") and return 0. The caller is responsible + * for validating the referrent. Set REF_ISSYMREF in flags. + * + * If the ref doesn't exist, set errno to ENOENT and return -1. + * + * If the ref exists but is neither a symbolic ref nor a sha1, it is + * broken. Set REF_ISBROKEN in flags, set errno to EINVAL, and return + * -1. + * + * If there is another error reading the ref, set errno appropriately and + * return -1. + * + * Backend-specific flags might be set in flags as well, regardless of + * outcome. + * + * sb_path is workspace: the caller should allocate and free it. + * + * It is OK for refname to point into symref. In this case: + * - if the function succeeds with REF_ISSYMREF, symref will be + * overwritten and the memory pointed to by refname might be changed + * or even freed. + * - in all other cases, symref will be untouched, and therefore + * refname will still be valid and unchanged. + */ +int read_raw_ref(const char *refname, unsigned char *sha1, + struct strbuf *symref, unsigned int *flags) { - int depth = MAXDEPTH; - int bad_name = 0; + struct strbuf sb_contents = STRBUF_INIT; + struct strbuf sb_path = STRBUF_INIT; + const char *path; + const char *buf; + struct stat st; + int fd; + int ret = -1; + int save_errno; - if (flags) - *flags = 0; + strbuf_reset(&sb_path); + strbuf_git_path(&sb_path, "%s", refname); + path = sb_path.buf; - if (check_refname_format(refname, REFNAME_ALLOW_ONELEVEL)) { - if (flags) - *flags |= REF_BAD_NAME; +stat_ref: + /* + * We might have to loop back here to avoid a race + * condition: first we lstat() the file, then we try + * to read it as a link or as a file. But if somebody + * changes the type of the file (file <-> directory + * <-> symlink) between the lstat() and reading, then + * we don't want to report that as an error but rather + * try again starting with the lstat(). + */ - if (!(resolve_flags & RESOLVE_REF_ALLOW_BAD_NAME) || - !refname_is_safe(refname)) { - errno = EINVAL; - return NULL; + if (lstat(path, &st) < 0) { + if (errno != ENOENT) + goto out; + if (resolve_missing_loose_ref(refname, sha1, flags)) { + errno = ENOENT; + goto out; } - /* - * dwim_ref() uses REF_ISBROKEN to distinguish between - * missing refs and refs that were present but invalid, - * to complain about the latter to stderr. - * - * We don't know whether the ref exists, so don't set - * REF_ISBROKEN yet. - */ - bad_name = 1; + ret = 0; + goto out; } - for (;;) { - const char *path; - struct stat st; - char *buf; - int fd; - - if (--depth < 0) { - errno = ELOOP; - return NULL; - } - - strbuf_reset(sb_path); - strbuf_git_path(sb_path, "%s", refname); - path = sb_path->buf; - /* - * We might have to loop back here to avoid a race - * condition: first we lstat() the file, then we try - * to read it as a link or as a file. But if somebody - * changes the type of the file (file <-> directory - * <-> symlink) between the lstat() and reading, then - * we don't want to report that as an error but rather - * try again starting with the lstat(). - */ - stat_ref: - if (lstat(path, &st) < 0) { - if (errno != ENOENT) - return NULL; - if (resolve_missing_loose_ref(refname, resolve_flags, - sha1, flags)) - return NULL; - if (bad_name) { - hashclr(sha1); - if (flags) - *flags |= REF_ISBROKEN; - } - return refname; - } - - /* Follow "normalized" - ie "refs/.." symlinks by hand */ - if (S_ISLNK(st.st_mode)) { - strbuf_reset(sb_contents); - if (strbuf_readlink(sb_contents, path, 0) < 0) { - if (errno == ENOENT || errno == EINVAL) - /* inconsistent with lstat; retry */ - goto stat_ref; - else - return NULL; - } - if (starts_with(sb_contents->buf, "refs/") && - !check_refname_format(sb_contents->buf, 0)) { - strbuf_swap(sb_refname, sb_contents); - refname = sb_refname->buf; - if (flags) - *flags |= REF_ISSYMREF; - if (resolve_flags & RESOLVE_REF_NO_RECURSE) { - hashclr(sha1); - return refname; - } - continue; - } - } - - /* Is it a directory? */ - if (S_ISDIR(st.st_mode)) { - errno = EISDIR; - return NULL; - } - - /* - * Anything else, just open it and try to use it as - * a ref - */ - fd = open(path, O_RDONLY); - if (fd < 0) { - if (errno == ENOENT) + /* Follow "normalized" - ie "refs/.." symlinks by hand */ + if (S_ISLNK(st.st_mode)) { + strbuf_reset(&sb_contents); + if (strbuf_readlink(&sb_contents, path, 0) < 0) { + if (errno == ENOENT || errno == EINVAL) /* inconsistent with lstat; retry */ goto stat_ref; else - return NULL; + goto out; } - strbuf_reset(sb_contents); - if (strbuf_read(sb_contents, fd, 256) < 0) { - int save_errno = errno; - close(fd); - errno = save_errno; - return NULL; + if (starts_with(sb_contents.buf, "refs/") && + !check_refname_format(sb_contents.buf, 0)) { + strbuf_swap(&sb_contents, symref); + *flags |= REF_ISSYMREF; + ret = 0; + goto out; } - close(fd); - strbuf_rtrim(sb_contents); + } - /* - * Is it a symbolic ref? - */ - if (!starts_with(sb_contents->buf, "ref:")) { - /* - * Please note that FETCH_HEAD has a second - * line containing other data. - */ - if (get_sha1_hex(sb_contents->buf, sha1) || - (sb_contents->buf[40] != '\0' && !isspace(sb_contents->buf[40]))) { - if (flags) - *flags |= REF_ISBROKEN; - errno = EINVAL; - return NULL; - } - if (bad_name) { - hashclr(sha1); - if (flags) - *flags |= REF_ISBROKEN; - } - return refname; - } - if (flags) - *flags |= REF_ISSYMREF; - buf = sb_contents->buf + 4; + /* Is it a directory? */ + if (S_ISDIR(st.st_mode)) { + errno = EISDIR; + goto out; + } + + /* + * Anything else, just open it and try to use it as + * a ref + */ + fd = open(path, O_RDONLY); + if (fd < 0) { + if (errno == ENOENT) + /* inconsistent with lstat; retry */ + goto stat_ref; + else + goto out; + } + strbuf_reset(&sb_contents); + if (strbuf_read(&sb_contents, fd, 256) < 0) { + int save_errno = errno; + close(fd); + errno = save_errno; + goto out; + } + close(fd); + strbuf_rtrim(&sb_contents); + buf = sb_contents.buf; + if (starts_with(buf, "ref:")) { + buf += 4; while (isspace(*buf)) buf++; - strbuf_reset(sb_refname); - strbuf_addstr(sb_refname, buf); - refname = sb_refname->buf; - if (resolve_flags & RESOLVE_REF_NO_RECURSE) { - hashclr(sha1); - return refname; - } - if (check_refname_format(buf, REFNAME_ALLOW_ONELEVEL)) { - if (flags) - *flags |= REF_ISBROKEN; - - if (!(resolve_flags & RESOLVE_REF_ALLOW_BAD_NAME) || - !refname_is_safe(buf)) { - errno = EINVAL; - return NULL; - } - bad_name = 1; - } + + strbuf_reset(symref); + strbuf_addstr(symref, buf); + *flags |= REF_ISSYMREF; + ret = 0; + goto out; } -} -const char *resolve_ref_unsafe(const char *refname, int resolve_flags, - unsigned char *sha1, int *flags) -{ - static struct strbuf sb_refname = STRBUF_INIT; - struct strbuf sb_contents = STRBUF_INIT; - struct strbuf sb_path = STRBUF_INIT; - const char *ret; + /* + * Please note that FETCH_HEAD has additional + * data after the sha. + */ + if (get_sha1_hex(buf, sha1) || + (buf[40] != '\0' && !isspace(buf[40]))) { + *flags |= REF_ISBROKEN; + errno = EINVAL; + goto out; + } + + ret = 0; - ret = resolve_ref_1(refname, resolve_flags, sha1, flags, - &sb_refname, &sb_path, &sb_contents); +out: + save_errno = errno; strbuf_release(&sb_path); strbuf_release(&sb_contents); + errno = save_errno; return ret; } @@ -1735,10 +1673,13 @@ static int do_for_each_entry(struct ref_cache *refs, const char *base, * value, stop the iteration and return that value; otherwise, return * 0. */ -static int do_for_each_ref(struct ref_cache *refs, const char *base, - each_ref_fn fn, int trim, int flags, void *cb_data) +int do_for_each_ref(const char *submodule, const char *base, + each_ref_fn fn, int trim, int flags, void *cb_data) { struct ref_entry_cb data; + struct ref_cache *refs; + + refs = get_ref_cache(submodule); data.base = base; data.trim = trim; data.flags = flags; @@ -1753,86 +1694,6 @@ static int do_for_each_ref(struct ref_cache *refs, const char *base, return do_for_each_entry(refs, base, do_one_ref, &data); } -static int do_head_ref(const char *submodule, each_ref_fn fn, void *cb_data) -{ - struct object_id oid; - int flag; - - if (submodule) { - if (resolve_gitlink_ref(submodule, "HEAD", oid.hash) == 0) - return fn("HEAD", &oid, 0, cb_data); - - return 0; - } - - if (!read_ref_full("HEAD", RESOLVE_REF_READING, oid.hash, &flag)) - return fn("HEAD", &oid, flag, cb_data); - - return 0; -} - -int head_ref(each_ref_fn fn, void *cb_data) -{ - return do_head_ref(NULL, fn, cb_data); -} - -int head_ref_submodule(const char *submodule, each_ref_fn fn, void *cb_data) -{ - return do_head_ref(submodule, fn, cb_data); -} - -int for_each_ref(each_ref_fn fn, void *cb_data) -{ - return do_for_each_ref(&ref_cache, "", fn, 0, 0, cb_data); -} - -int for_each_ref_submodule(const char *submodule, each_ref_fn fn, void *cb_data) -{ - return do_for_each_ref(get_ref_cache(submodule), "", fn, 0, 0, cb_data); -} - -int for_each_ref_in(const char *prefix, each_ref_fn fn, void *cb_data) -{ - return do_for_each_ref(&ref_cache, prefix, fn, strlen(prefix), 0, cb_data); -} - -int for_each_fullref_in(const char *prefix, each_ref_fn fn, void *cb_data, unsigned int broken) -{ - unsigned int flag = 0; - - if (broken) - flag = DO_FOR_EACH_INCLUDE_BROKEN; - return do_for_each_ref(&ref_cache, prefix, fn, 0, flag, cb_data); -} - -int for_each_ref_in_submodule(const char *submodule, const char *prefix, - each_ref_fn fn, void *cb_data) -{ - return do_for_each_ref(get_ref_cache(submodule), prefix, fn, strlen(prefix), 0, cb_data); -} - -int for_each_replace_ref(each_ref_fn fn, void *cb_data) -{ - return do_for_each_ref(&ref_cache, git_replace_ref_base, fn, - strlen(git_replace_ref_base), 0, cb_data); -} - -int for_each_namespaced_ref(each_ref_fn fn, void *cb_data) -{ - struct strbuf buf = STRBUF_INIT; - int ret; - strbuf_addf(&buf, "%srefs/", get_git_namespace()); - ret = do_for_each_ref(&ref_cache, buf.buf, fn, 0, 0, cb_data); - strbuf_release(&buf); - return ret; -} - -int for_each_rawref(each_ref_fn fn, void *cb_data) -{ - return do_for_each_ref(&ref_cache, "", fn, 0, - DO_FOR_EACH_INCLUDE_BROKEN, cb_data); -} - static void unlock_ref(struct ref_lock *lock) { /* Do not free lock->lk -- atexit() still looks at them */ @@ -2197,10 +2058,9 @@ static int pack_if_possible_fn(struct ref_entry *entry, void *cb_data) /* Schedule the loose reference for pruning if requested. */ if ((cb->flags & PACK_REFS_PRUNE)) { - int namelen = strlen(entry->name) + 1; - struct ref_to_prune *n = xcalloc(1, sizeof(*n) + namelen); + struct ref_to_prune *n; + FLEX_ALLOC_STR(n, name, entry->name); hashcpy(n->sha1, entry->u.value.oid.hash); - memcpy(n->name, entry->name, namelen); /* includes NUL */ n->next = cb->ref_to_prune; cb->ref_to_prune = n; } @@ -2903,6 +2763,42 @@ int create_symref(const char *refname, const char *target, const char *logmsg) return ret; } +int set_worktree_head_symref(const char *gitdir, const char *target) +{ + static struct lock_file head_lock; + struct ref_lock *lock; + struct strbuf head_path = STRBUF_INIT; + const char *head_rel; + int ret; + + strbuf_addf(&head_path, "%s/HEAD", absolute_path(gitdir)); + if (hold_lock_file_for_update(&head_lock, head_path.buf, + LOCK_NO_DEREF) < 0) { + struct strbuf err = STRBUF_INIT; + unable_to_lock_message(head_path.buf, errno, &err); + error("%s", err.buf); + strbuf_release(&err); + strbuf_release(&head_path); + return -1; + } + + /* head_rel will be "HEAD" for the main tree, "worktrees/wt/HEAD" for + linked trees */ + head_rel = remove_leading_path(head_path.buf, + absolute_path(get_git_common_dir())); + /* to make use of create_symref_locked(), initialize ref_lock */ + lock = xcalloc(1, sizeof(struct ref_lock)); + lock->lk = &head_lock; + lock->ref_name = xstrdup(head_rel); + lock->orig_ref_name = xstrdup(head_rel); + + ret = create_symref_locked(lock, head_rel, target, NULL); + + unlock_ref(lock); /* will free lock */ + strbuf_release(&head_path); + return ret; +} + int reflog_exists(const char *refname) { struct stat st; @@ -3454,7 +3350,8 @@ int reflog_expire(const char *refname, const unsigned char *sha1, * reference itself, plus we might need to update the * reference if --updateref was specified: */ - lock = lock_ref_sha1_basic(refname, sha1, NULL, NULL, 0, &type, &err); + lock = lock_ref_sha1_basic(refname, sha1, NULL, NULL, REF_NODEREF, + &type, &err); if (!lock) { error("cannot lock ref '%s': %s", refname, err.buf); strbuf_release(&err); diff --git a/refs/refs-internal.h b/refs/refs-internal.h index c7dded35f4..3a4f634cb4 100644 --- a/refs/refs-internal.h +++ b/refs/refs-internal.h @@ -197,4 +197,19 @@ const char *find_descendant_ref(const char *dirname, int rename_ref_available(const char *oldname, const char *newname); +/* We allow "recursive" symbolic refs. Only within reason, though */ +#define SYMREF_MAXDEPTH 5 + +/* Include broken references in a do_for_each_ref*() iteration: */ +#define DO_FOR_EACH_INCLUDE_BROKEN 0x01 + +/* + * The common backend for the for_each_*ref* functions + */ +int do_for_each_ref(const char *submodule, const char *base, + each_ref_fn fn, int trim, int flags, void *cb_data); + +int read_raw_ref(const char *refname, unsigned char *sha1, + struct strbuf *symref, unsigned int *flags); + #endif /* REFS_REFS_INTERNAL_H */ diff --git a/remote-curl.c b/remote-curl.c index 2e2266b856..672b382e5a 100644 --- a/remote-curl.c +++ b/remote-curl.c @@ -474,7 +474,7 @@ static int run_slot(struct active_request_slot *slot, static int probe_rpc(struct rpc_state *rpc, struct slot_results *results) { struct active_request_slot *slot; - struct curl_slist *headers = NULL; + struct curl_slist *headers = http_copy_default_headers(); struct strbuf buf = STRBUF_INIT; int err; @@ -503,7 +503,7 @@ static int probe_rpc(struct rpc_state *rpc, struct slot_results *results) static int post_rpc(struct rpc_state *rpc) { struct active_request_slot *slot; - struct curl_slist *headers = NULL; + struct curl_slist *headers = http_copy_default_headers(); int use_gzip = rpc->gzip_request; char *gzip_body = NULL; size_t gzip_size = 0; @@ -721,9 +721,10 @@ static int rpc_service(struct rpc_state *rpc, struct discovery *heads) static int fetch_dumb(int nr_heads, struct ref **to_fetch) { struct walker *walker; - char **targets = xmalloc(nr_heads * sizeof(char*)); + char **targets; int ret, i; + ALLOC_ARRAY(targets, nr_heads); if (options.depth) die("dumb http transport does not support --depth"); for (i = 0; i < nr_heads; i++) @@ -870,23 +871,22 @@ static void parse_fetch(struct strbuf *buf) static int push_dav(int nr_spec, char **specs) { - const char **argv = xmalloc((10 + nr_spec) * sizeof(char*)); - int argc = 0, i; + struct child_process child = CHILD_PROCESS_INIT; + size_t i; - argv[argc++] = "http-push"; - argv[argc++] = "--helper-status"; + child.git_cmd = 1; + argv_array_push(&child.args, "http-push"); + argv_array_push(&child.args, "--helper-status"); if (options.dry_run) - argv[argc++] = "--dry-run"; + argv_array_push(&child.args, "--dry-run"); if (options.verbosity > 1) - argv[argc++] = "--verbose"; - argv[argc++] = url.buf; + argv_array_push(&child.args, "--verbose"); + argv_array_push(&child.args, url.buf); for (i = 0; i < nr_spec; i++) - argv[argc++] = specs[i]; - argv[argc++] = NULL; + argv_array_push(&child.args, specs[i]); - if (run_command_v_opt(argv, RUN_GIT_CMD)) - die("git-%s failed", argv[0]); - free(argv); + if (run_command(&child)) + die("git-http-push failed"); return 0; } @@ -318,93 +318,88 @@ static void read_branches_file(struct remote *remote) static int handle_config(const char *key, const char *value, void *cb) { const char *name; + int namelen; const char *subkey; struct remote *remote; struct branch *branch; - if (starts_with(key, "branch.")) { - name = key + 7; - subkey = strrchr(name, '.'); - if (!subkey) + if (parse_config_key(key, "branch", &name, &namelen, &subkey) >= 0) { + if (!name) return 0; - branch = make_branch(name, subkey - name); - if (!strcmp(subkey, ".remote")) { + branch = make_branch(name, namelen); + if (!strcmp(subkey, "remote")) { return git_config_string(&branch->remote_name, key, value); - } else if (!strcmp(subkey, ".pushremote")) { + } else if (!strcmp(subkey, "pushremote")) { return git_config_string(&branch->pushremote_name, key, value); - } else if (!strcmp(subkey, ".merge")) { + } else if (!strcmp(subkey, "merge")) { if (!value) return config_error_nonbool(key); add_merge(branch, xstrdup(value)); } return 0; } - if (starts_with(key, "url.")) { + if (parse_config_key(key, "url", &name, &namelen, &subkey) >= 0) { struct rewrite *rewrite; - name = key + 4; - subkey = strrchr(name, '.'); - if (!subkey) + if (!name) return 0; - if (!strcmp(subkey, ".insteadof")) { - rewrite = make_rewrite(&rewrites, name, subkey - name); + if (!strcmp(subkey, "insteadof")) { + rewrite = make_rewrite(&rewrites, name, namelen); if (!value) return config_error_nonbool(key); add_instead_of(rewrite, xstrdup(value)); - } else if (!strcmp(subkey, ".pushinsteadof")) { - rewrite = make_rewrite(&rewrites_push, name, subkey - name); + } else if (!strcmp(subkey, "pushinsteadof")) { + rewrite = make_rewrite(&rewrites_push, name, namelen); if (!value) return config_error_nonbool(key); add_instead_of(rewrite, xstrdup(value)); } } - if (!starts_with(key, "remote.")) + if (parse_config_key(key, "remote", &name, &namelen, &subkey) < 0) return 0; - name = key + 7; /* Handle remote.* variables */ - if (!strcmp(name, "pushdefault")) + if (!name && !strcmp(subkey, "pushdefault")) return git_config_string(&pushremote_name, key, value); + if (!name) + return 0; /* Handle remote.<name>.* variables */ if (*name == '/') { warning("Config remote shorthand cannot begin with '/': %s", name); return 0; } - subkey = strrchr(name, '.'); - if (!subkey) - return 0; - remote = make_remote(name, subkey - name); + remote = make_remote(name, namelen); remote->origin = REMOTE_CONFIG; - if (!strcmp(subkey, ".mirror")) + if (!strcmp(subkey, "mirror")) remote->mirror = git_config_bool(key, value); - else if (!strcmp(subkey, ".skipdefaultupdate")) + else if (!strcmp(subkey, "skipdefaultupdate")) remote->skip_default_update = git_config_bool(key, value); - else if (!strcmp(subkey, ".skipfetchall")) + else if (!strcmp(subkey, "skipfetchall")) remote->skip_default_update = git_config_bool(key, value); - else if (!strcmp(subkey, ".prune")) + else if (!strcmp(subkey, "prune")) remote->prune = git_config_bool(key, value); - else if (!strcmp(subkey, ".url")) { + else if (!strcmp(subkey, "url")) { const char *v; if (git_config_string(&v, key, value)) return -1; add_url(remote, v); - } else if (!strcmp(subkey, ".pushurl")) { + } else if (!strcmp(subkey, "pushurl")) { const char *v; if (git_config_string(&v, key, value)) return -1; add_pushurl(remote, v); - } else if (!strcmp(subkey, ".push")) { + } else if (!strcmp(subkey, "push")) { const char *v; if (git_config_string(&v, key, value)) return -1; add_push_refspec(remote, v); - } else if (!strcmp(subkey, ".fetch")) { + } else if (!strcmp(subkey, "fetch")) { const char *v; if (git_config_string(&v, key, value)) return -1; add_fetch_refspec(remote, v); - } else if (!strcmp(subkey, ".receivepack")) { + } else if (!strcmp(subkey, "receivepack")) { const char *v; if (git_config_string(&v, key, value)) return -1; @@ -412,7 +407,7 @@ static int handle_config(const char *key, const char *value, void *cb) remote->receivepack = v; else error("more than one receivepack given, using the first"); - } else if (!strcmp(subkey, ".uploadpack")) { + } else if (!strcmp(subkey, "uploadpack")) { const char *v; if (git_config_string(&v, key, value)) return -1; @@ -420,18 +415,18 @@ static int handle_config(const char *key, const char *value, void *cb) remote->uploadpack = v; else error("more than one uploadpack given, using the first"); - } else if (!strcmp(subkey, ".tagopt")) { + } else if (!strcmp(subkey, "tagopt")) { if (!strcmp(value, "--no-tags")) remote->fetch_tags = -1; else if (!strcmp(value, "--tags")) remote->fetch_tags = 2; - } else if (!strcmp(subkey, ".proxy")) { + } else if (!strcmp(subkey, "proxy")) { return git_config_string((const char **)&remote->http_proxy, key, value); - } else if (!strcmp(subkey, ".proxyauthmethod")) { + } else if (!strcmp(subkey, "proxyauthmethod")) { return git_config_string((const char **)&remote->http_proxy_authmethod, key, value); - } else if (!strcmp(subkey, ".vcs")) { + } else if (!strcmp(subkey, "vcs")) { return git_config_string(&remote->foreign_vcs, key, value); } return 0; @@ -460,7 +455,6 @@ static void read_config(void) { static int loaded; struct object_id oid; - const char *head_ref; int flag; if (loaded) @@ -468,10 +462,12 @@ static void read_config(void) loaded = 1; current_branch = NULL; - head_ref = resolve_ref_unsafe("HEAD", 0, oid.hash, &flag); - if (head_ref && (flag & REF_ISSYMREF) && - skip_prefix(head_ref, "refs/heads/", &head_ref)) { - current_branch = make_branch(head_ref, 0); + if (startup_info->have_repository) { + const char *head_ref = resolve_ref_unsafe("HEAD", 0, oid.hash, &flag); + if (head_ref && (flag & REF_ISSYMREF) && + skip_prefix(head_ref, "refs/heads/", &head_ref)) { + current_branch = make_branch(head_ref, 0); + } } git_config(handle_config, NULL); alias_all_urls(); @@ -718,18 +714,9 @@ struct remote *pushremote_get(const char *name) return remote_get_1(name, pushremote_for_branch); } -int remote_is_configured(const char *name) +int remote_is_configured(struct remote *remote) { - struct remotes_hash_key lookup; - struct hashmap_entry lookup_entry; - read_config(); - - init_remotes_hash(); - lookup.str = name; - lookup.len = strlen(name); - hashmap_entry_init(&lookup_entry, memhash(name, lookup.len)); - - return hashmap_get(&remotes_hash, &lookup_entry, &lookup) != NULL; + return remote && remote->origin; } int for_each_remote(each_remote_fn fn, void *priv) @@ -931,7 +918,7 @@ static struct ref *alloc_ref_with_prefix(const char *prefix, size_t prefixlen, const char *name) { size_t len = strlen(name); - struct ref *ref = xcalloc(1, sizeof(struct ref) + prefixlen + len + 1); + struct ref *ref = xcalloc(1, st_add4(sizeof(*ref), prefixlen, len, 1)); memcpy(ref->name, prefix, prefixlen); memcpy(ref->name + prefixlen, name, len); return ref; @@ -948,9 +935,9 @@ struct ref *copy_ref(const struct ref *ref) size_t len; if (!ref) return NULL; - len = strlen(ref->name); - cpy = xmalloc(sizeof(struct ref) + len + 1); - memcpy(cpy, ref, sizeof(struct ref) + len + 1); + len = st_add3(sizeof(struct ref), strlen(ref->name), 1); + cpy = xmalloc(len); + memcpy(cpy, ref, len); cpy->next = NULL; cpy->symref = xstrdup_or_null(ref->symref); cpy->remote_status = xstrdup_or_null(ref->remote_status); @@ -1673,7 +1660,7 @@ int branch_merge_matches(struct branch *branch, return refname_match(branch->merge[i]->src, refname); } -__attribute((format (printf,2,3))) +__attribute__((format (printf,2,3))) static const char *error_buf(struct strbuf *err, const char *fmt, ...) { if (err) { @@ -2121,7 +2108,7 @@ int format_tracking_info(struct branch *branch, struct strbuf *sb) "Your branch and '%s' have diverged,\n" "and have %d and %d different commits each, " "respectively.\n", - theirs), + ours + theirs), base, ours, theirs); if (advice_status_hints) strbuf_addf(sb, @@ -2136,16 +2123,13 @@ static int one_local_ref(const char *refname, const struct object_id *oid, { struct ref ***local_tail = cb_data; struct ref *ref; - int len; /* we already know it starts with refs/ to get here */ if (check_refname_format(refname + 5, 0)) return 0; - len = strlen(refname) + 1; - ref = xcalloc(1, sizeof(*ref) + len); + ref = alloc_ref(refname); oidcpy(&ref->new_oid, oid); - memcpy(ref->name, refname, len); **local_tail = ref; *local_tail = &ref->next; return 0; @@ -5,6 +5,7 @@ #include "hashmap.h" enum { + REMOTE_UNCONFIGURED = 0, REMOTE_CONFIG, REMOTE_REMOTES, REMOTE_BRANCHES @@ -59,7 +60,7 @@ struct remote { struct remote *remote_get(const char *name); struct remote *pushremote_get(const char *name); -int remote_is_configured(const char *name); +int remote_is_configured(struct remote *remote); typedef int each_remote_fn(struct remote *remote, void *priv); int for_each_remote(each_remote_fn fn, void *priv); @@ -8,6 +8,7 @@ #include "ll-merge.h" #include "attr.h" #include "pathspec.h" +#include "sha1-lookup.h" #define RESOLVED 0 #define PUNTED 1 @@ -20,6 +21,29 @@ static int rerere_enabled = -1; /* automatically update cleanly resolved paths to the index */ static int rerere_autoupdate; +static int rerere_dir_nr; +static int rerere_dir_alloc; + +#define RR_HAS_POSTIMAGE 1 +#define RR_HAS_PREIMAGE 2 +static struct rerere_dir { + unsigned char sha1[20]; + int status_alloc, status_nr; + unsigned char *status; +} **rerere_dir; + +static void free_rerere_dirs(void) +{ + int i; + for (i = 0; i < rerere_dir_nr; i++) { + free(rerere_dir[i]->status); + free(rerere_dir[i]); + } + free(rerere_dir); + rerere_dir_nr = rerere_dir_alloc = 0; + rerere_dir = NULL; +} + static void free_rerere_id(struct string_list_item *item) { free(item->util); @@ -27,7 +51,33 @@ static void free_rerere_id(struct string_list_item *item) static const char *rerere_id_hex(const struct rerere_id *id) { - return id->hex; + return sha1_to_hex(id->collection->sha1); +} + +static void fit_variant(struct rerere_dir *rr_dir, int variant) +{ + variant++; + ALLOC_GROW(rr_dir->status, variant, rr_dir->status_alloc); + if (rr_dir->status_nr < variant) { + memset(rr_dir->status + rr_dir->status_nr, + '\0', variant - rr_dir->status_nr); + rr_dir->status_nr = variant; + } +} + +static void assign_variant(struct rerere_id *id) +{ + int variant; + struct rerere_dir *rr_dir = id->collection; + + variant = id->variant; + if (variant < 0) { + for (variant = 0; variant < rr_dir->status_nr; variant++) + if (!rr_dir->status[variant]) + break; + } + fit_variant(rr_dir, variant); + id->variant = variant; } const char *rerere_path(const struct rerere_id *id, const char *file) @@ -35,20 +85,103 @@ const char *rerere_path(const struct rerere_id *id, const char *file) if (!file) return git_path("rr-cache/%s", rerere_id_hex(id)); - return git_path("rr-cache/%s/%s", rerere_id_hex(id), file); + if (id->variant <= 0) + return git_path("rr-cache/%s/%s", rerere_id_hex(id), file); + + return git_path("rr-cache/%s/%s.%d", + rerere_id_hex(id), file, id->variant); +} + +static int is_rr_file(const char *name, const char *filename, int *variant) +{ + const char *suffix; + char *ep; + + if (!strcmp(name, filename)) { + *variant = 0; + return 1; + } + if (!skip_prefix(name, filename, &suffix) || *suffix != '.') + return 0; + + errno = 0; + *variant = strtol(suffix + 1, &ep, 10); + if (errno || *ep) + return 0; + return 1; +} + +static void scan_rerere_dir(struct rerere_dir *rr_dir) +{ + struct dirent *de; + DIR *dir = opendir(git_path("rr-cache/%s", sha1_to_hex(rr_dir->sha1))); + + if (!dir) + return; + while ((de = readdir(dir)) != NULL) { + int variant; + + if (is_rr_file(de->d_name, "postimage", &variant)) { + fit_variant(rr_dir, variant); + rr_dir->status[variant] |= RR_HAS_POSTIMAGE; + } else if (is_rr_file(de->d_name, "preimage", &variant)) { + fit_variant(rr_dir, variant); + rr_dir->status[variant] |= RR_HAS_PREIMAGE; + } + } + closedir(dir); +} + +static const unsigned char *rerere_dir_sha1(size_t i, void *table) +{ + struct rerere_dir **rr_dir = table; + return rr_dir[i]->sha1; +} + +static struct rerere_dir *find_rerere_dir(const char *hex) +{ + unsigned char sha1[20]; + struct rerere_dir *rr_dir; + int pos; + + if (get_sha1_hex(hex, sha1)) + return NULL; /* BUG */ + pos = sha1_pos(sha1, rerere_dir, rerere_dir_nr, rerere_dir_sha1); + if (pos < 0) { + rr_dir = xmalloc(sizeof(*rr_dir)); + hashcpy(rr_dir->sha1, sha1); + rr_dir->status = NULL; + rr_dir->status_nr = 0; + rr_dir->status_alloc = 0; + pos = -1 - pos; + + /* Make sure the array is big enough ... */ + ALLOC_GROW(rerere_dir, rerere_dir_nr + 1, rerere_dir_alloc); + /* ... and add it in. */ + rerere_dir_nr++; + memmove(rerere_dir + pos + 1, rerere_dir + pos, + (rerere_dir_nr - pos - 1) * sizeof(*rerere_dir)); + rerere_dir[pos] = rr_dir; + scan_rerere_dir(rr_dir); + } + return rerere_dir[pos]; } static int has_rerere_resolution(const struct rerere_id *id) { - struct stat st; + const int both = RR_HAS_POSTIMAGE|RR_HAS_PREIMAGE; + int variant = id->variant; - return !stat(rerere_path(id, "postimage"), &st); + if (variant < 0) + return 0; + return ((id->collection->status[variant] & both) == both); } static struct rerere_id *new_rerere_id_hex(char *hex) { struct rerere_id *id = xmalloc(sizeof(*id)); - xsnprintf(id->hex, sizeof(id->hex), "%s", hex); + id->collection = find_rerere_dir(hex); + id->variant = -1; /* not known yet */ return id; } @@ -75,16 +208,26 @@ static void read_rr(struct string_list *rr) char *path; unsigned char sha1[20]; struct rerere_id *id; + int variant; /* There has to be the hash, tab, path and then NUL */ if (buf.len < 42 || get_sha1_hex(buf.buf, sha1)) die("corrupt MERGE_RR"); - if (buf.buf[40] != '\t') + if (buf.buf[40] != '.') { + variant = 0; + path = buf.buf + 40; + } else { + errno = 0; + variant = strtol(buf.buf + 41, &path, 10); + if (errno) + die("corrupt MERGE_RR"); + } + if (*(path++) != '\t') die("corrupt MERGE_RR"); buf.buf[40] = '\0'; - path = buf.buf + 41; id = new_rerere_id_hex(buf.buf); + id->variant = variant; string_list_insert(rr, path)->util = id; } strbuf_release(&buf); @@ -105,9 +248,16 @@ static int write_rr(struct string_list *rr, int out_fd) id = rr->items[i].util; if (!id) continue; - strbuf_addf(&buf, "%s\t%s%c", - rerere_id_hex(id), - rr->items[i].string, 0); + assert(id->variant >= 0); + if (0 < id->variant) + strbuf_addf(&buf, "%s.%d\t%s%c", + rerere_id_hex(id), id->variant, + rr->items[i].string, 0); + else + strbuf_addf(&buf, "%s\t%s%c", + rerere_id_hex(id), + rr->items[i].string, 0); + if (write_in_full(out_fd, buf.buf, buf.len) != buf.len) die("unable to write rerere record"); @@ -365,103 +515,6 @@ static int handle_file(const char *path, unsigned char *sha1, const char *output } /* - * Subclass of rerere_io that reads from an in-core buffer that is a - * strbuf - */ -struct rerere_io_mem { - struct rerere_io io; - struct strbuf input; -}; - -/* - * ... and its getline() method implementation - */ -static int rerere_mem_getline(struct strbuf *sb, struct rerere_io *io_) -{ - struct rerere_io_mem *io = (struct rerere_io_mem *)io_; - char *ep; - size_t len; - - strbuf_release(sb); - if (!io->input.len) - return -1; - ep = memchr(io->input.buf, '\n', io->input.len); - if (!ep) - ep = io->input.buf + io->input.len; - else if (*ep == '\n') - ep++; - len = ep - io->input.buf; - strbuf_add(sb, io->input.buf, len); - strbuf_remove(&io->input, 0, len); - return 0; -} - -static int handle_cache(const char *path, unsigned char *sha1, const char *output) -{ - mmfile_t mmfile[3] = {{NULL}}; - mmbuffer_t result = {NULL, 0}; - const struct cache_entry *ce; - int pos, len, i, hunk_no; - struct rerere_io_mem io; - int marker_size = ll_merge_marker_size(path); - - /* - * Reproduce the conflicted merge in-core - */ - len = strlen(path); - pos = cache_name_pos(path, len); - if (0 <= pos) - return -1; - pos = -pos - 1; - - while (pos < active_nr) { - enum object_type type; - unsigned long size; - - ce = active_cache[pos++]; - if (ce_namelen(ce) != len || memcmp(ce->name, path, len)) - break; - i = ce_stage(ce) - 1; - if (!mmfile[i].ptr) { - mmfile[i].ptr = read_sha1_file(ce->sha1, &type, &size); - mmfile[i].size = size; - } - } - for (i = 0; i < 3; i++) - if (!mmfile[i].ptr && !mmfile[i].size) - mmfile[i].ptr = xstrdup(""); - - /* - * NEEDSWORK: handle conflicts from merges with - * merge.renormalize set, too - */ - ll_merge(&result, path, &mmfile[0], NULL, - &mmfile[1], "ours", - &mmfile[2], "theirs", NULL); - for (i = 0; i < 3; i++) - free(mmfile[i].ptr); - - memset(&io, 0, sizeof(io)); - io.io.getline = rerere_mem_getline; - if (output) - io.io.output = fopen(output, "w"); - else - io.io.output = NULL; - strbuf_init(&io.input, 0); - strbuf_attach(&io.input, result.ptr, result.size, result.size); - - /* - * Grab the conflict ID and optionally write the original - * contents with conflict markers out. - */ - hunk_no = handle_path(sha1, (struct rerere_io *)&io, marker_size); - strbuf_release(&io.input); - if (io.io.output) - fclose(io.io.output); - return hunk_no; -} - -/* * Look at a cache entry at "i" and see if it is not conflicting, * conflicting and we are willing to handle, or conflicting and * we are unable to handle, and return the determination in *type. @@ -569,6 +622,33 @@ int rerere_remaining(struct string_list *merge_rr) } /* + * Try using the given conflict resolution "ID" to see + * if that recorded conflict resolves cleanly what we + * got in the "cur". + */ +static int try_merge(const struct rerere_id *id, const char *path, + mmfile_t *cur, mmbuffer_t *result) +{ + int ret; + mmfile_t base = {NULL, 0}, other = {NULL, 0}; + + if (read_mmfile(&base, rerere_path(id, "preimage")) || + read_mmfile(&other, rerere_path(id, "postimage"))) + ret = 1; + else + /* + * A three-way merge. Note that this honors user-customizable + * low-level merge driver settings. + */ + ret = ll_merge(result, path, &base, NULL, cur, "", &other, "", NULL); + + free(base.ptr); + free(other.ptr); + + return ret; +} + +/* * Find the conflict identified by "id"; the change between its * "preimage" (i.e. a previous contents with conflict markers) and its * "postimage" (i.e. the corresponding contents with conflicts @@ -582,30 +662,20 @@ static int merge(const struct rerere_id *id, const char *path) { FILE *f; int ret; - mmfile_t cur = {NULL, 0}, base = {NULL, 0}, other = {NULL, 0}; + mmfile_t cur = {NULL, 0}; mmbuffer_t result = {NULL, 0}; /* * Normalize the conflicts in path and write it out to * "thisimage" temporary file. */ - if (handle_file(path, NULL, rerere_path(id, "thisimage")) < 0) { - ret = 1; - goto out; - } - - if (read_mmfile(&cur, rerere_path(id, "thisimage")) || - read_mmfile(&base, rerere_path(id, "preimage")) || - read_mmfile(&other, rerere_path(id, "postimage"))) { + if ((handle_file(path, NULL, rerere_path(id, "thisimage")) < 0) || + read_mmfile(&cur, rerere_path(id, "thisimage"))) { ret = 1; goto out; } - /* - * A three-way merge. Note that this honors user-customizable - * low-level merge driver settings. - */ - ret = ll_merge(&result, path, &base, NULL, &cur, "", &other, "", NULL); + ret = try_merge(id, path, &cur, &result); if (ret) goto out; @@ -631,8 +701,6 @@ static int merge(const struct rerere_id *id, const char *path) out: free(cur.ptr); - free(base.ptr); - free(other.ptr); free(result.ptr); return ret; @@ -661,6 +729,13 @@ static void update_paths(struct string_list *update) rollback_lock_file(&index_lock); } +static void remove_variant(struct rerere_id *id) +{ + unlink_or_warn(rerere_path(id, "postimage")); + unlink_or_warn(rerere_path(id, "preimage")); + id->collection->status[id->variant] = 0; +} + /* * The path indicated by rr_item may still have conflict for which we * have a recorded resolution, in which case replay it and optionally @@ -672,12 +747,47 @@ static void do_rerere_one_path(struct string_list_item *rr_item, struct string_list *update) { const char *path = rr_item->string; - const struct rerere_id *id = rr_item->util; + struct rerere_id *id = rr_item->util; + struct rerere_dir *rr_dir = id->collection; + int variant; + + variant = id->variant; + + /* Has the user resolved it already? */ + if (variant >= 0) { + if (!handle_file(path, NULL, NULL)) { + copy_file(rerere_path(id, "postimage"), path, 0666); + id->collection->status[variant] |= RR_HAS_POSTIMAGE; + fprintf(stderr, "Recorded resolution for '%s'.\n", path); + free_rerere_id(rr_item); + rr_item->util = NULL; + return; + } + /* + * There may be other variants that can cleanly + * replay. Try them and update the variant number for + * this one. + */ + } + + /* Does any existing resolution apply cleanly? */ + for (variant = 0; variant < rr_dir->status_nr; variant++) { + const int both = RR_HAS_PREIMAGE | RR_HAS_POSTIMAGE; + struct rerere_id vid = *id; + + if ((rr_dir->status[variant] & both) != both) + continue; - /* Is there a recorded resolution we could attempt to apply? */ - if (has_rerere_resolution(id)) { - if (merge(id, path)) - return; /* failed to replay */ + vid.variant = variant; + if (merge(&vid, path)) + continue; /* failed to replay */ + + /* + * If there already is a different variant that applies + * cleanly, there is no point maintaining our own variant. + */ + if (0 <= id->variant && id->variant != variant) + remove_variant(id); if (rerere_autoupdate) string_list_insert(update, path); @@ -685,15 +795,24 @@ static void do_rerere_one_path(struct string_list_item *rr_item, fprintf(stderr, "Resolved '%s' using previous resolution.\n", path); - } else if (!handle_file(path, NULL, NULL)) { - /* The user has resolved it. */ - copy_file(rerere_path(id, "postimage"), path, 0666); - fprintf(stderr, "Recorded resolution for '%s'.\n", path); - } else { + free_rerere_id(rr_item); + rr_item->util = NULL; return; } - free_rerere_id(rr_item); - rr_item->util = NULL; + + /* None of the existing one applies; we need a new variant */ + assign_variant(id); + + variant = id->variant; + handle_file(path, NULL, rerere_path(id, "preimage")); + if (id->collection->status[variant] & RR_HAS_POSTIMAGE) { + const char *path = rerere_path(id, "postimage"); + if (unlink(path)) + die_errno("cannot unlink stray '%s'", path); + id->collection->status[variant] &= ~RR_HAS_POSTIMAGE; + } + id->collection->status[variant] |= RR_HAS_PREIMAGE; + fprintf(stderr, "Recorded preimage for '%s'\n", path); } static int do_plain_rerere(struct string_list *rr, int fd) @@ -731,24 +850,8 @@ static int do_plain_rerere(struct string_list *rr, int fd) id = new_rerere_id(sha1); string_list_insert(rr, path)->util = id; - /* - * If the directory does not exist, create - * it. mkdir_in_gitdir() will fail with - * EEXIST if there already is one. - * - * NEEDSWORK: make sure "gc" does not remove - * preimage without removing the directory. - */ - if (mkdir_in_gitdir(rerere_path(id, NULL))) - continue; - - /* - * We are the first to encounter this - * conflict. Ask handle_file() to write the - * normalized contents to the "preimage" file. - */ - handle_file(path, NULL, rerere_path(id, "preimage")); - fprintf(stderr, "Recorded preimage for '%s'\n", path); + /* Ensure that the directory exists. */ + mkdir_in_gitdir(rerere_path(id, NULL)); } for (i = 0; i < rr->nr; i++) @@ -812,12 +915,111 @@ int setup_rerere(struct string_list *merge_rr, int flags) int rerere(int flags) { struct string_list merge_rr = STRING_LIST_INIT_DUP; - int fd; + int fd, status; fd = setup_rerere(&merge_rr, flags); if (fd < 0) return 0; - return do_plain_rerere(&merge_rr, fd); + status = do_plain_rerere(&merge_rr, fd); + free_rerere_dirs(); + return status; +} + +/* + * Subclass of rerere_io that reads from an in-core buffer that is a + * strbuf + */ +struct rerere_io_mem { + struct rerere_io io; + struct strbuf input; +}; + +/* + * ... and its getline() method implementation + */ +static int rerere_mem_getline(struct strbuf *sb, struct rerere_io *io_) +{ + struct rerere_io_mem *io = (struct rerere_io_mem *)io_; + char *ep; + size_t len; + + strbuf_release(sb); + if (!io->input.len) + return -1; + ep = memchr(io->input.buf, '\n', io->input.len); + if (!ep) + ep = io->input.buf + io->input.len; + else if (*ep == '\n') + ep++; + len = ep - io->input.buf; + strbuf_add(sb, io->input.buf, len); + strbuf_remove(&io->input, 0, len); + return 0; +} + +static int handle_cache(const char *path, unsigned char *sha1, const char *output) +{ + mmfile_t mmfile[3] = {{NULL}}; + mmbuffer_t result = {NULL, 0}; + const struct cache_entry *ce; + int pos, len, i, hunk_no; + struct rerere_io_mem io; + int marker_size = ll_merge_marker_size(path); + + /* + * Reproduce the conflicted merge in-core + */ + len = strlen(path); + pos = cache_name_pos(path, len); + if (0 <= pos) + return -1; + pos = -pos - 1; + + while (pos < active_nr) { + enum object_type type; + unsigned long size; + + ce = active_cache[pos++]; + if (ce_namelen(ce) != len || memcmp(ce->name, path, len)) + break; + i = ce_stage(ce) - 1; + if (!mmfile[i].ptr) { + mmfile[i].ptr = read_sha1_file(ce->sha1, &type, &size); + mmfile[i].size = size; + } + } + for (i = 0; i < 3; i++) + if (!mmfile[i].ptr && !mmfile[i].size) + mmfile[i].ptr = xstrdup(""); + + /* + * NEEDSWORK: handle conflicts from merges with + * merge.renormalize set, too? + */ + ll_merge(&result, path, &mmfile[0], NULL, + &mmfile[1], "ours", + &mmfile[2], "theirs", NULL); + for (i = 0; i < 3; i++) + free(mmfile[i].ptr); + + memset(&io, 0, sizeof(io)); + io.io.getline = rerere_mem_getline; + if (output) + io.io.output = fopen(output, "w"); + else + io.io.output = NULL; + strbuf_init(&io.input, 0); + strbuf_attach(&io.input, result.ptr, result.size, result.size); + + /* + * Grab the conflict ID and optionally write the original + * contents with conflict markers out. + */ + hunk_no = handle_path(sha1, (struct rerere_io *)&io, marker_size); + strbuf_release(&io.input); + if (io.io.output) + fclose(io.io.output); + return hunk_no; } static int rerere_forget_one_path(const char *path, struct string_list *rr) @@ -838,6 +1040,33 @@ static int rerere_forget_one_path(const char *path, struct string_list *rr) /* Nuke the recorded resolution for the conflict */ id = new_rerere_id(sha1); + + for (id->variant = 0; + id->variant < id->collection->status_nr; + id->variant++) { + mmfile_t cur = { NULL, 0 }; + mmbuffer_t result = {NULL, 0}; + int cleanly_resolved; + + if (!has_rerere_resolution(id)) + continue; + + handle_cache(path, sha1, rerere_path(id, "thisimage")); + if (read_mmfile(&cur, rerere_path(id, "thisimage"))) { + free(cur.ptr); + return error("Failed to update conflicted state in '%s'", + path); + } + cleanly_resolved = !try_merge(id, path, &cur, &result); + free(result.ptr); + free(cur.ptr); + if (cleanly_resolved) + break; + } + + if (id->collection->status_nr <= id->variant) + return error("no remembered resolution for '%s'", path); + filename = rerere_path(id, "postimage"); if (unlink(filename)) return (errno == ENOENT @@ -897,29 +1126,16 @@ int rerere_forget(struct pathspec *pathspec) * Garbage collection support */ -/* - * Note that this is not reentrant but is used only one-at-a-time - * so it does not matter right now. - */ -static struct rerere_id *dirname_to_id(const char *name) -{ - static struct rerere_id id; - xsnprintf(id.hex, sizeof(id.hex), "%s", name); - return &id; -} - -static time_t rerere_created_at(const char *dir_name) +static time_t rerere_created_at(struct rerere_id *id) { struct stat st; - struct rerere_id *id = dirname_to_id(dir_name); return stat(rerere_path(id, "preimage"), &st) ? (time_t) 0 : st.st_mtime; } -static time_t rerere_last_used_at(const char *dir_name) +static time_t rerere_last_used_at(struct rerere_id *id) { struct stat st; - struct rerere_id *id = dirname_to_id(dir_name); return stat(rerere_path(id, "postimage"), &st) ? (time_t) 0 : st.st_mtime; } @@ -929,15 +1145,28 @@ static time_t rerere_last_used_at(const char *dir_name) */ static void unlink_rr_item(struct rerere_id *id) { - unlink(rerere_path(id, "thisimage")); - unlink(rerere_path(id, "preimage")); - unlink(rerere_path(id, "postimage")); - /* - * NEEDSWORK: what if this rmdir() fails? Wouldn't we then - * assume that we already have preimage recorded in - * do_plain_rerere()? - */ - rmdir(rerere_path(id, NULL)); + unlink_or_warn(rerere_path(id, "thisimage")); + remove_variant(id); + id->collection->status[id->variant] = 0; +} + +static void prune_one(struct rerere_id *id, time_t now, + int cutoff_resolve, int cutoff_noresolve) +{ + time_t then; + int cutoff; + + then = rerere_last_used_at(id); + if (then) + cutoff = cutoff_resolve; + else { + then = rerere_created_at(id); + if (!then) + return; + cutoff = cutoff_noresolve; + } + if (then < now - cutoff * 86400) + unlink_rr_item(id); } void rerere_gc(struct string_list *rr) @@ -945,8 +1174,8 @@ void rerere_gc(struct string_list *rr) struct string_list to_remove = STRING_LIST_INIT_DUP; DIR *dir; struct dirent *e; - int i, cutoff; - time_t now = time(NULL), then; + int i; + time_t now = time(NULL); int cutoff_noresolve = 15; int cutoff_resolve = 60; @@ -961,25 +1190,32 @@ void rerere_gc(struct string_list *rr) die_errno("unable to open rr-cache directory"); /* Collect stale conflict IDs ... */ while ((e = readdir(dir))) { + struct rerere_dir *rr_dir; + struct rerere_id id; + int now_empty; + if (is_dot_or_dotdot(e->d_name)) continue; - - then = rerere_last_used_at(e->d_name); - if (then) { - cutoff = cutoff_resolve; - } else { - then = rerere_created_at(e->d_name); - if (!then) - continue; - cutoff = cutoff_noresolve; + rr_dir = find_rerere_dir(e->d_name); + if (!rr_dir) + continue; /* or should we remove e->d_name? */ + + now_empty = 1; + for (id.variant = 0, id.collection = rr_dir; + id.variant < id.collection->status_nr; + id.variant++) { + prune_one(&id, now, cutoff_resolve, cutoff_noresolve); + if (id.collection->status[id.variant]) + now_empty = 0; } - if (then < now - cutoff * 86400) + if (now_empty) string_list_append(&to_remove, e->d_name); } closedir(dir); - /* ... and then remove them one-by-one */ + + /* ... and then remove the empty directories */ for (i = 0; i < to_remove.nr; i++) - unlink_rr_item(dirname_to_id(to_remove.items[i].string)); + rmdir(git_path("rr-cache/%s", to_remove.items[i].string)); string_list_clear(&to_remove, 0); rollback_lock_file(&write_lock); } @@ -1000,8 +1236,10 @@ void rerere_clear(struct string_list *merge_rr) for (i = 0; i < merge_rr->nr; i++) { struct rerere_id *id = merge_rr->items[i].util; - if (!has_rerere_resolution(id)) + if (!has_rerere_resolution(id)) { unlink_rr_item(id); + rmdir(rerere_path(id, NULL)); + } } unlink_or_warn(git_path_merge_rr()); rollback_lock_file(&write_lock); @@ -16,8 +16,10 @@ struct pathspec; */ extern void *RERERE_RESOLVED; +struct rerere_dir; struct rerere_id { - char hex[41]; + struct rerere_dir *collection; + int variant; }; extern int setup_rerere(struct string_list *, int); diff --git a/revision.c b/revision.c index 82f3ca44b3..d30d1c4f80 100644 --- a/revision.c +++ b/revision.c @@ -59,10 +59,10 @@ static void mark_tree_contents_uninteresting(struct tree *tree) while (tree_entry(&desc, &entry)) { switch (object_type(entry.mode)) { case OBJ_TREE: - mark_tree_uninteresting(lookup_tree(entry.sha1)); + mark_tree_uninteresting(lookup_tree(entry.oid->hash)); break; case OBJ_BLOB: - mark_blob_uninteresting(lookup_blob(entry.sha1)); + mark_blob_uninteresting(lookup_blob(entry.oid->hash)); break; default: /* Subproject commit - not in this repository */ @@ -484,7 +484,7 @@ struct treesame_state { static struct treesame_state *initialise_treesame(struct rev_info *revs, struct commit *commit) { unsigned n = commit_list_count(commit->parents); - struct treesame_state *st = xcalloc(1, sizeof(*st) + n); + struct treesame_state *st = xcalloc(1, st_add(sizeof(*st), n)); st->nparents = n; add_decoration(&revs->treesame, &commit->object, st); return st; @@ -1356,8 +1356,10 @@ void init_revisions(struct rev_info *revs, const char *prefix) revs->skip_count = -1; revs->max_count = -1; revs->max_parents = -1; + revs->expand_tabs_in_log = -1; revs->commit_format = CMIT_FMT_DEFAULT; + revs->expand_tabs_in_log_default = 8; init_grep_defaults(); grep_init(&revs->grep_filter, prefix); @@ -1854,6 +1856,15 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg revs->verbose_header = 1; revs->pretty_given = 1; get_commit_format(arg+9, revs); + } else if (!strcmp(arg, "--expand-tabs")) { + revs->expand_tabs_in_log = 8; + } else if (!strcmp(arg, "--no-expand-tabs")) { + revs->expand_tabs_in_log = 0; + } else if (skip_prefix(arg, "--expand-tabs=", &arg)) { + int val; + if (strtol_i(arg, 10, &val) < 0 || val < 0) + die("'%s': not a non-negative integer", arg); + revs->expand_tabs_in_log = val; } else if (!strcmp(arg, "--show-notes") || !strcmp(arg, "--notes")) { revs->show_notes = 1; revs->show_notes_given = 1; @@ -2327,6 +2338,9 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s if (revs->first_parent_only && revs->bisect) die(_("--first-parent is incompatible with --bisect")); + if (revs->expand_tabs_in_log < 0) + revs->expand_tabs_in_log = revs->expand_tabs_in_log_default; + return left; } diff --git a/revision.h b/revision.h index dca0d38171..9fac1a607d 100644 --- a/revision.h +++ b/revision.h @@ -148,6 +148,8 @@ struct rev_info { linear:1; struct date_mode date_mode; + int expand_tabs_in_log; /* unset if negative */ + int expand_tabs_in_log_default; unsigned int abbrev; enum cmit_fmt commit_format; diff --git a/run-command.c b/run-command.c index cdf0184579..f5c57a5fc7 100644 --- a/run-command.c +++ b/run-command.c @@ -160,50 +160,41 @@ int sane_execvp(const char *file, char * const argv[]) return -1; } -static const char **prepare_shell_cmd(const char **argv) +static const char **prepare_shell_cmd(struct argv_array *out, const char **argv) { - int argc, nargc = 0; - const char **nargv; - - for (argc = 0; argv[argc]; argc++) - ; /* just counting */ - /* +1 for NULL, +3 for "sh -c" plus extra $0 */ - nargv = xmalloc(sizeof(*nargv) * (argc + 1 + 3)); - - if (argc < 1) + if (!argv[0]) die("BUG: shell command is empty"); if (strcspn(argv[0], "|&;<>()$`\\\"' \t\n*?[#~=%") != strlen(argv[0])) { #ifndef GIT_WINDOWS_NATIVE - nargv[nargc++] = SHELL_PATH; + argv_array_push(out, SHELL_PATH); #else - nargv[nargc++] = "sh"; + argv_array_push(out, "sh"); #endif - nargv[nargc++] = "-c"; - - if (argc < 2) - nargv[nargc++] = argv[0]; - else { - struct strbuf arg0 = STRBUF_INIT; - strbuf_addf(&arg0, "%s \"$@\"", argv[0]); - nargv[nargc++] = strbuf_detach(&arg0, NULL); - } - } + argv_array_push(out, "-c"); - for (argc = 0; argv[argc]; argc++) - nargv[nargc++] = argv[argc]; - nargv[nargc] = NULL; + /* + * If we have no extra arguments, we do not even need to + * bother with the "$@" magic. + */ + if (!argv[1]) + argv_array_push(out, argv[0]); + else + argv_array_pushf(out, "%s \"$@\"", argv[0]); + } - return nargv; + argv_array_pushv(out, argv); + return out->argv; } #ifndef GIT_WINDOWS_NATIVE static int execv_shell_cmd(const char **argv) { - const char **nargv = prepare_shell_cmd(argv); - trace_argv_printf(nargv, "trace: exec:"); - sane_execvp(nargv[0], (char **)nargv); - free(nargv); + struct argv_array nargv = ARGV_ARRAY_INIT; + prepare_shell_cmd(&nargv, argv); + trace_argv_printf(nargv.argv, "trace: exec:"); + sane_execvp(nargv.argv[0], (char **)nargv.argv); + argv_array_clear(&nargv); return -1; } #endif @@ -457,6 +448,7 @@ fail_pipe: { int fhin = 0, fhout = 1, fherr = 2; const char **sargv = cmd->argv; + struct argv_array nargv = ARGV_ARRAY_INIT; if (cmd->no_stdin) fhin = open("/dev/null", O_RDWR); @@ -482,9 +474,9 @@ fail_pipe: fhout = dup(cmd->out); if (cmd->git_cmd) - cmd->argv = prepare_git_cmd(cmd->argv); + cmd->argv = prepare_git_cmd(&nargv, cmd->argv); else if (cmd->use_shell) - cmd->argv = prepare_shell_cmd(cmd->argv); + cmd->argv = prepare_shell_cmd(&nargv, cmd->argv); cmd->pid = mingw_spawnvpe(cmd->argv[0], cmd->argv, (char**) cmd->env, cmd->dir, fhin, fhout, fherr); @@ -494,9 +486,7 @@ fail_pipe: if (cmd->clean_on_exit && cmd->pid >= 0) mark_child_for_cleanup(cmd->pid); - if (cmd->git_cmd) - free(cmd->argv); - + argv_array_clear(&nargv); cmd->argv = sargv; if (fhin != 0) close(fhin); @@ -600,6 +590,16 @@ static void *run_thread(void *data) struct async *async = data; intptr_t ret; + if (async->isolate_sigpipe) { + sigset_t mask; + sigemptyset(&mask); + sigaddset(&mask, SIGPIPE); + if (pthread_sigmask(SIG_BLOCK, &mask, NULL) < 0) { + ret = error("unable to block SIGPIPE in async thread"); + return (void *)ret; + } + } + pthread_setspecific(async_key, async); ret = async->proc(async->proc_in, async->proc_out, async->data); return (void *)ret; @@ -635,6 +635,11 @@ int in_async(void) return !pthread_equal(main_thread, pthread_self()); } +void NORETURN async_exit(int code) +{ + pthread_exit((void *)(intptr_t)code); +} + #else static struct { @@ -680,6 +685,11 @@ int in_async(void) return process_is_async; } +void NORETURN async_exit(int code) +{ + exit(code); +} + #endif int start_async(struct async *async) @@ -815,7 +825,10 @@ const char *find_hook(const char *name) static struct strbuf path = STRBUF_INIT; strbuf_reset(&path); - strbuf_git_path(&path, "hooks/%s", name); + if (git_hooks_path) + strbuf_addf(&path, "%s/%s", git_hooks_path, name); + else + strbuf_git_path(&path, "hooks/%s", name); if (access(path.buf, X_OK) < 0) return NULL; return path.buf; @@ -902,35 +915,18 @@ struct parallel_processes { struct strbuf buffered_output; /* of finished children */ }; -static int default_start_failure(struct child_process *cp, - struct strbuf *err, +static int default_start_failure(struct strbuf *out, void *pp_cb, void *pp_task_cb) { - int i; - - strbuf_addstr(err, "Starting a child failed:"); - for (i = 0; cp->argv[i]; i++) - strbuf_addf(err, " %s", cp->argv[i]); - return 0; } static int default_task_finished(int result, - struct child_process *cp, - struct strbuf *err, + struct strbuf *out, void *pp_cb, void *pp_task_cb) { - int i; - - if (!result) - return 0; - - strbuf_addf(err, "A child failed with return code %d:", result); - for (i = 0; cp->argv[i]; i++) - strbuf_addf(err, " %s", cp->argv[i]); - return 0; } @@ -1011,7 +1007,7 @@ static void pp_cleanup(struct parallel_processes *pp) * When get_next_task added messages to the buffer in its last * iteration, the buffered output is non empty. */ - fputs(pp->buffered_output.buf, stderr); + strbuf_write(&pp->buffered_output, stderr); strbuf_release(&pp->buffered_output); sigchain_pop_common(); @@ -1048,8 +1044,7 @@ static int pp_start_one(struct parallel_processes *pp) pp->children[i].process.no_stdin = 1; if (start_command(&pp->children[i].process)) { - code = pp->start_failure(&pp->children[i].process, - &pp->children[i].err, + code = pp->start_failure(&pp->children[i].err, pp->data, &pp->children[i].data); strbuf_addbuf(&pp->buffered_output, &pp->children[i].err); @@ -1097,7 +1092,7 @@ static void pp_output(struct parallel_processes *pp) int i = pp->output_owner; if (pp->children[i].state == GIT_CP_WORKING && pp->children[i].err.len) { - fputs(pp->children[i].err.buf, stderr); + strbuf_write(&pp->children[i].err, stderr); strbuf_reset(&pp->children[i].err); } } @@ -1117,7 +1112,7 @@ static int pp_collect_finished(struct parallel_processes *pp) code = finish_command(&pp->children[i].process); - code = pp->task_finished(code, &pp->children[i].process, + code = pp->task_finished(code, &pp->children[i].err, pp->data, &pp->children[i].data); @@ -1135,11 +1130,11 @@ static int pp_collect_finished(struct parallel_processes *pp) strbuf_addbuf(&pp->buffered_output, &pp->children[i].err); strbuf_reset(&pp->children[i].err); } else { - fputs(pp->children[i].err.buf, stderr); + strbuf_write(&pp->children[i].err, stderr); strbuf_reset(&pp->children[i].err); /* Output all other finished child processes */ - fputs(pp->buffered_output.buf, stderr); + strbuf_write(&pp->buffered_output, stderr); strbuf_reset(&pp->buffered_output); /* diff --git a/run-command.h b/run-command.h index d5a57f9227..11f76b04ed 100644 --- a/run-command.h +++ b/run-command.h @@ -116,11 +116,13 @@ struct async { int proc_in; int proc_out; #endif + int isolate_sigpipe; }; int start_async(struct async *async); int finish_async(struct async *async); int in_async(void); +void NORETURN async_exit(int code); /** * This callback should initialize the child process and preload the @@ -139,7 +141,7 @@ int in_async(void); * return the negative signal number. */ typedef int (*get_next_task_fn)(struct child_process *cp, - struct strbuf *err, + struct strbuf *out, void *pp_cb, void **pp_task_cb); @@ -148,7 +150,7 @@ typedef int (*get_next_task_fn)(struct child_process *cp, * a new process. * * You must not write to stdout or stderr in this function. Add your - * message to the strbuf err instead, which will be printed without + * message to the strbuf out instead, which will be printed without * messing up the output of the other parallel processes. * * pp_cb is the callback cookie as passed into run_processes_parallel, @@ -158,8 +160,7 @@ typedef int (*get_next_task_fn)(struct child_process *cp, * To send a signal to other child processes for abortion, return * the negative signal number. */ -typedef int (*start_failure_fn)(struct child_process *cp, - struct strbuf *err, +typedef int (*start_failure_fn)(struct strbuf *out, void *pp_cb, void *pp_task_cb); @@ -167,7 +168,7 @@ typedef int (*start_failure_fn)(struct child_process *cp, * This callback is called on every child process that finished processing. * * You must not write to stdout or stderr in this function. Add your - * message to the strbuf err instead, which will be printed without + * message to the strbuf out instead, which will be printed without * messing up the output of the other parallel processes. * * pp_cb is the callback cookie as passed into run_processes_parallel, @@ -178,8 +179,7 @@ typedef int (*start_failure_fn)(struct child_process *cp, * the negative signal number. */ typedef int (*task_finished_fn)(int result, - struct child_process *cp, - struct strbuf *err, + struct strbuf *out, void *pp_cb, void *pp_task_cb); @@ -192,9 +192,8 @@ typedef int (*task_finished_fn)(int result, * (both stdout and stderr) is routed to stderr in a manner that output * from different tasks does not interleave. * - * If start_failure_fn or task_finished_fn are NULL, default handlers - * will be used. The default handlers will print an error message on - * error without issuing an emergency stop. + * start_failure_fn and task_finished_fn can be NULL to omit any + * special handling. */ int run_processes_parallel(int n, get_next_task_fn, diff --git a/send-pack.c b/send-pack.c index 047bd18fde..37ee04ea3b 100644 --- a/send-pack.c +++ b/send-pack.c @@ -518,6 +518,7 @@ int send_pack(struct send_pack_args *args, demux.proc = sideband_demux; demux.data = fd; demux.out = -1; + demux.isolate_sigpipe = 1; if (start_async(&demux)) die("send-pack: unable to fork off sideband demultiplexer"); in = demux.out; @@ -531,8 +532,10 @@ int send_pack(struct send_pack_args *args, close(out); if (git_connection_is_socket(conn)) shutdown(fd[0], SHUT_WR); - if (use_sideband) + if (use_sideband) { + close(demux.out); finish_async(&demux); + } fd[1] = -1; return -1; } @@ -551,11 +554,11 @@ int send_pack(struct send_pack_args *args, packet_flush(out); if (use_sideband && cmds_sent) { + close(demux.out); if (finish_async(&demux)) { error("error in sideband demultiplexer"); ret = -1; } - close(demux.out); } if (ret < 0) diff --git a/sequencer.c b/sequencer.c index 80487860c8..e66f2fe0f0 100644 --- a/sequencer.c +++ b/sequencer.c @@ -124,42 +124,33 @@ static const char *action_name(const struct replay_opts *opts) struct commit_message { char *parent_label; - const char *label; - const char *subject; + char *label; + char *subject; const char *message; }; static int get_message(struct commit *commit, struct commit_message *out) { const char *abbrev, *subject; - int abbrev_len, subject_len; - char *q; - - if (!git_commit_encoding) - git_commit_encoding = "UTF-8"; + int subject_len; - out->message = logmsg_reencode(commit, NULL, git_commit_encoding); + out->message = logmsg_reencode(commit, NULL, get_commit_output_encoding()); abbrev = find_unique_abbrev(commit->object.oid.hash, DEFAULT_ABBREV); - abbrev_len = strlen(abbrev); subject_len = find_commit_subject(out->message, &subject); - out->parent_label = xmalloc(strlen("parent of ") + abbrev_len + - strlen("... ") + subject_len + 1); - q = out->parent_label; - q = mempcpy(q, "parent of ", strlen("parent of ")); - out->label = q; - q = mempcpy(q, abbrev, abbrev_len); - q = mempcpy(q, "... ", strlen("... ")); - out->subject = q; - q = mempcpy(q, subject, subject_len); - *q = '\0'; + out->subject = xmemdupz(subject, subject_len); + out->label = xstrfmt("%s... %s", abbrev, out->subject); + out->parent_label = xstrfmt("parent of %s", out->label); + return 0; } static void free_message(struct commit *commit, struct commit_message *msg) { free(msg->parent_label); + free(msg->label); + free(msg->subject); unuse_commit_buffer(commit, msg->message); } @@ -5,7 +5,9 @@ static int inside_git_dir = -1; static int inside_work_tree = -1; static int work_tree_config_is_bogus; -static struct string_list unknown_extensions = STRING_LIST_INIT_DUP; + +static struct startup_info the_startup_info; +struct startup_info *startup_info = &the_startup_info; /* * The input parameter must contain an absolute path, and it must already be @@ -88,7 +90,7 @@ char *prefix_path_gently(const char *prefix, int len, const char *orig = path; char *sanitized; if (is_absolute_path(orig)) { - sanitized = xmalloc(strlen(path) + 1); + sanitized = xmallocz(strlen(path)); if (remaining_prefix) *remaining_prefix = 0; if (normalize_path_copy_len(sanitized, path, remaining_prefix)) { @@ -100,7 +102,7 @@ char *prefix_path_gently(const char *prefix, int len, return NULL; } } else { - sanitized = xstrfmt("%.*s%s", len, prefix, path); + sanitized = xstrfmt("%.*s%s", len, len ? prefix : "", path); if (remaining_prefix) *remaining_prefix = len; if (normalize_path_copy_len(sanitized, sanitized, remaining_prefix)) { @@ -370,14 +372,13 @@ void setup_work_tree(void) initialized = 1; } -static int check_repo_format(const char *var, const char *value, void *cb) +static int check_repo_format(const char *var, const char *value, void *vdata) { + struct repository_format *data = vdata; const char *ext; if (strcmp(var, "core.repositoryformatversion") == 0) - repository_format_version = git_config_int(var, value); - else if (strcmp(var, "core.sharedrepository") == 0) - shared_repository = git_config_perm(var, value); + data->version = git_config_int(var, value); else if (skip_prefix(var, "extensions.", &ext)) { /* * record any known extensions here; otherwise, @@ -387,9 +388,15 @@ static int check_repo_format(const char *var, const char *value, void *cb) if (!strcmp(ext, "noop")) ; else if (!strcmp(ext, "preciousobjects")) - repository_format_precious_objects = git_config_bool(var, value); + data->precious_objects = git_config_bool(var, value); else - string_list_append(&unknown_extensions, ext); + string_list_append(&data->unknown_extensions, ext); + } else if (strcmp(var, "core.bare") == 0) { + data->is_bare = git_config_bool(var, value); + } else if (strcmp(var, "core.worktree") == 0) { + if (!value) + return config_error_nonbool(var); + data->work_tree = xstrdup(value); } return 0; } @@ -397,56 +404,84 @@ static int check_repo_format(const char *var, const char *value, void *cb) static int check_repository_format_gently(const char *gitdir, int *nongit_ok) { struct strbuf sb = STRBUF_INIT; - const char *repo_config; - config_fn_t fn; - int ret = 0; - - string_list_clear(&unknown_extensions, 0); + struct strbuf err = STRBUF_INIT; + struct repository_format candidate; + int has_common; - if (get_common_dir(&sb, gitdir)) - fn = check_repo_format; - else - fn = check_repository_format_version; + has_common = get_common_dir(&sb, gitdir); strbuf_addstr(&sb, "/config"); - repo_config = sb.buf; + read_repository_format(&candidate, sb.buf); + strbuf_release(&sb); /* - * git_config() can't be used here because it calls git_pathdup() - * to get $GIT_CONFIG/config. That call will make setup_git_env() - * set git_dir to ".git". - * - * We are in gitdir setup, no git dir has been found useable yet. - * Use a gentler version of git_config() to check if this repo - * is a good one. + * For historical use of check_repository_format() in git-init, + * we treat a missing config as a silent "ok", even when nongit_ok + * is unset. */ - git_config_early(fn, NULL, repo_config); - if (GIT_REPO_VERSION_READ < repository_format_version) { - if (!nongit_ok) - die ("Expected git repo version <= %d, found %d", - GIT_REPO_VERSION_READ, repository_format_version); - warning("Expected git repo version <= %d, found %d", - GIT_REPO_VERSION_READ, repository_format_version); - warning("Please upgrade Git"); - *nongit_ok = -1; - ret = -1; + if (candidate.version < 0) + return 0; + + if (verify_repository_format(&candidate, &err) < 0) { + if (nongit_ok) { + warning("%s", err.buf); + strbuf_release(&err); + *nongit_ok = -1; + return -1; + } + die("%s", err.buf); + } + + repository_format_precious_objects = candidate.precious_objects; + string_list_clear(&candidate.unknown_extensions, 0); + if (!has_common) { + if (candidate.is_bare != -1) { + is_bare_repository_cfg = candidate.is_bare; + if (is_bare_repository_cfg == 1) + inside_work_tree = -1; + } + if (candidate.work_tree) { + free(git_work_tree_cfg); + git_work_tree_cfg = candidate.work_tree; + inside_work_tree = -1; + } + } else { + free(candidate.work_tree); + } + + return 0; +} + +int read_repository_format(struct repository_format *format, const char *path) +{ + memset(format, 0, sizeof(*format)); + format->version = -1; + format->is_bare = -1; + string_list_init(&format->unknown_extensions, 1); + git_config_from_file(check_repo_format, path, format); + return format->version; +} + +int verify_repository_format(const struct repository_format *format, + struct strbuf *err) +{ + if (GIT_REPO_VERSION_READ < format->version) { + strbuf_addf(err, _("Expected git repo version <= %d, found %d"), + GIT_REPO_VERSION_READ, format->version); + return -1; } - if (repository_format_version >= 1 && unknown_extensions.nr) { + if (format->version >= 1 && format->unknown_extensions.nr) { int i; - if (!nongit_ok) - die("unknown repository extension: %s", - unknown_extensions.items[0].string); + strbuf_addstr(err, _("unknown repository extensions found:")); - for (i = 0; i < unknown_extensions.nr; i++) - warning("unknown repository extension: %s", - unknown_extensions.items[i].string); - *nongit_ok = -1; - ret = -1; + for (i = 0; i < format->unknown_extensions.nr; i++) + strbuf_addf(err, "\n\t%s", + format->unknown_extensions.items[i].string); + return -1; } - strbuf_release(&sb); - return ret; + return 0; } /* @@ -486,14 +521,13 @@ const char *read_gitfile_gently(const char *path, int *return_error_code) error_code = READ_GITFILE_ERR_OPEN_FAILED; goto cleanup_return; } - buf = xmalloc(st.st_size + 1); + buf = xmallocz(st.st_size); len = read_in_full(fd, buf, st.st_size); close(fd); if (len != st.st_size) { error_code = READ_GITFILE_ERR_READ_FAILED; goto cleanup_return; } - buf[len] = '\0'; if (!starts_with(buf, "gitdir: ")) { error_code = READ_GITFILE_ERR_INVALID_FORMAT; goto cleanup_return; @@ -906,10 +940,9 @@ const char *setup_git_directory_gently(int *nongit_ok) else setenv(GIT_PREFIX_ENVIRONMENT, "", 1); - if (startup_info) { - startup_info->have_repository = !nongit_ok || !*nongit_ok; - startup_info->prefix = prefix; - } + startup_info->have_repository = !nongit_ok || !*nongit_ok; + startup_info->prefix = prefix; + return prefix; } @@ -964,28 +997,10 @@ int git_config_perm(const char *var, const char *value) return -(i & 0666); } -int check_repository_format_version(const char *var, const char *value, void *cb) -{ - int ret = check_repo_format(var, value, cb); - if (ret) - return ret; - if (strcmp(var, "core.bare") == 0) { - is_bare_repository_cfg = git_config_bool(var, value); - if (is_bare_repository_cfg == 1) - inside_work_tree = -1; - } else if (strcmp(var, "core.worktree") == 0) { - if (!value) - return config_error_nonbool(var); - free(git_work_tree_cfg); - git_work_tree_cfg = xstrdup(value); - inside_work_tree = -1; - } - return 0; -} - -int check_repository_format(void) +void check_repository_format(void) { - return check_repository_format_gently(get_git_dir(), NULL); + check_repository_format_gently(get_git_dir(), NULL); + startup_info->have_repository = 1; } /* diff --git a/sha1_file.c b/sha1_file.c index aab1872b4c..d0f2aa029b 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -253,7 +253,7 @@ static int link_alt_odb_entry(const char *entry, const char *relative_base, { struct alternate_object_database *ent; struct alternate_object_database *alt; - int pfxlen, entlen; + size_t pfxlen, entlen; struct strbuf pathbuf = STRBUF_INIT; if (!is_absolute_path(entry) && relative_base) { @@ -273,8 +273,8 @@ static int link_alt_odb_entry(const char *entry, const char *relative_base, while (pfxlen && pathbuf.buf[pfxlen-1] == '/') pfxlen -= 1; - entlen = pfxlen + 43; /* '/' + 2 hex + '/' + 38 hex + NUL */ - ent = xmalloc(sizeof(*ent) + entlen); + entlen = st_add(pfxlen, 43); /* '/' + 2 hex + '/' + 38 hex + NUL */ + ent = xmalloc(st_add(sizeof(*ent), entlen)); memcpy(ent->base, pathbuf.buf, pfxlen); strbuf_release(&pathbuf); @@ -1076,6 +1076,8 @@ unsigned char *use_pack(struct packed_git *p, die("packfile %s cannot be accessed", p->pack_name); if (offset > (p->pack_size - 20)) die("offset beyond end of packfile (truncated pack?)"); + if (offset < 0) + die(_("offset before end of packfile (broken .idx?)")); if (!win || !in_window(win, offset)) { if (win) @@ -1134,7 +1136,7 @@ unsigned char *use_pack(struct packed_git *p, static struct packed_git *alloc_packed_git(int extra) { - struct packed_git *p = xmalloc(sizeof(*p) + extra); + struct packed_git *p = xmalloc(st_add(sizeof(*p), extra)); memset(p, 0, sizeof(*p)); p->pack_fd = -1; return p; @@ -1168,7 +1170,7 @@ struct packed_git *add_packed_git(const char *path, size_t path_len, int local) * ".pack" is long enough to hold any suffix we're adding (and * the use xsnprintf double-checks that) */ - alloc = path_len + strlen(".pack") + 1; + alloc = st_add3(path_len, strlen(".pack"), 1); p = alloc_packed_git(alloc); memcpy(p->pack_name, path, path_len); @@ -1196,7 +1198,7 @@ struct packed_git *add_packed_git(const char *path, size_t path_len, int local) struct packed_git *parse_pack_index(unsigned char *sha1, const char *idx_path) { const char *path = sha1_pack_name(sha1); - int alloc = strlen(path) + 1; + size_t alloc = st_add(strlen(path), 1); struct packed_git *p = alloc_packed_git(alloc); memcpy(p->pack_name, path, alloc); /* includes NUL */ @@ -1413,10 +1415,12 @@ static void mark_bad_packed_object(struct packed_git *p, { unsigned i; for (i = 0; i < p->num_bad_objects; i++) - if (!hashcmp(sha1, p->bad_object_sha1 + 20 * i)) + if (!hashcmp(sha1, p->bad_object_sha1 + GIT_SHA1_RAWSZ * i)) return; - p->bad_object_sha1 = xrealloc(p->bad_object_sha1, 20 * (p->num_bad_objects + 1)); - hashcpy(p->bad_object_sha1 + 20 * p->num_bad_objects, sha1); + p->bad_object_sha1 = xrealloc(p->bad_object_sha1, + st_mult(GIT_SHA1_RAWSZ, + st_add(p->num_bad_objects, 1))); + hashcpy(p->bad_object_sha1 + GIT_SHA1_RAWSZ * p->num_bad_objects, sha1); p->num_bad_objects++; } @@ -1942,7 +1946,7 @@ static enum object_type packed_to_object_type(struct packed_git *p, /* Push the object we're going to leave behind */ if (poi_stack_nr >= poi_stack_alloc && poi_stack == small_poi_stack) { poi_stack_alloc = alloc_nr(poi_stack_nr); - poi_stack = xmalloc(sizeof(off_t)*poi_stack_alloc); + ALLOC_ARRAY(poi_stack, poi_stack_alloc); memcpy(poi_stack, small_poi_stack, sizeof(off_t)*poi_stack_nr); } else { ALLOC_GROW(poi_stack, poi_stack_nr+1, poi_stack_alloc); @@ -2308,7 +2312,7 @@ void *unpack_entry(struct packed_git *p, off_t obj_offset, if (delta_stack_nr >= delta_stack_alloc && delta_stack == small_delta_stack) { delta_stack_alloc = alloc_nr(delta_stack_nr); - delta_stack = xmalloc(sizeof(*delta_stack)*delta_stack_alloc); + ALLOC_ARRAY(delta_stack, delta_stack_alloc); memcpy(delta_stack, small_delta_stack, sizeof(*delta_stack)*delta_stack_nr); } else { @@ -2446,6 +2450,20 @@ const unsigned char *nth_packed_object_sha1(struct packed_git *p, } } +void check_pack_index_ptr(const struct packed_git *p, const void *vptr) +{ + const unsigned char *ptr = vptr; + const unsigned char *start = p->index_data; + const unsigned char *end = start + p->index_size; + if (ptr < start) + die(_("offset before start of pack index for %s (corrupt index?)"), + p->pack_name); + /* No need to check for underflow; .idx files must be at least 8 bytes */ + if (ptr >= end - 8) + die(_("offset beyond end of pack index for %s (truncated index?)"), + p->pack_name); +} + off_t nth_packed_object_offset(const struct packed_git *p, uint32_t n) { const unsigned char *index = p->index_data; @@ -2459,6 +2477,7 @@ off_t nth_packed_object_offset(const struct packed_git *p, uint32_t n) if (!(off & 0x80000000)) return off; index += p->num_objects * 4 + (off & 0x7fffffff) * 8; + check_pack_index_ptr(p, index); return (((uint64_t)ntohl(*((uint32_t *)(index + 0)))) << 32) | ntohl(*((uint32_t *)(index + 4))); } diff --git a/sha1_name.c b/sha1_name.c index d0f844db89..ca7ddd6f2c 100644 --- a/sha1_name.c +++ b/sha1_name.c @@ -87,9 +87,8 @@ static void find_short_object_filename(int len, const char *hex_pfx, struct disa * object databases including our own. */ const char *objdir = get_object_directory(); - int objdir_len = strlen(objdir); - int entlen = objdir_len + 43; - fakeent = xmalloc(sizeof(*fakeent) + entlen); + size_t objdir_len = strlen(objdir); + fakeent = xmalloc(st_add3(sizeof(*fakeent), objdir_len, 43)); memcpy(fakeent->base, objdir, objdir_len); fakeent->name = fakeent->base + objdir_len + 1; fakeent->name[-1] = '/'; @@ -1216,6 +1215,15 @@ int get_sha1(const char *name, unsigned char *sha1) } /* + * This is like "get_sha1()", but for struct object_id. + */ +int get_oid(const char *name, struct object_id *oid) +{ + return get_sha1(name, oid->hash); +} + + +/* * Many callers know that the user meant to name a commit-ish by * syntactical positions where the object name appears. Calling this * function allows the machinery to disambiguate shorter-than-unique @@ -1354,9 +1362,6 @@ static char *resolve_relative_path(const char *rel) if (!starts_with(rel, "./") && !starts_with(rel, "../")) return NULL; - if (!startup_info) - die("BUG: startup_info struct is not initialized."); - if (!is_inside_work_tree()) die("relative path syntax can't be used outside working tree."); @@ -315,8 +315,8 @@ void prepare_shallow_info(struct shallow_info *info, struct sha1_array *sa) info->shallow = sa; if (!sa) return; - info->ours = xmalloc(sizeof(*info->ours) * sa->nr); - info->theirs = xmalloc(sizeof(*info->theirs) * sa->nr); + ALLOC_ARRAY(info->ours, sa->nr); + ALLOC_ARRAY(info->theirs, sa->nr); for (i = 0; i < sa->nr; i++) { if (has_sha1_file(sa->sha1[i])) { struct commit_graft *graft; @@ -389,7 +389,7 @@ static void paint_down(struct paint_info *info, const unsigned char *sha1, unsigned int i, nr; struct commit_list *head = NULL; int bitmap_nr = (info->nr_bits + 31) / 32; - int bitmap_size = bitmap_nr * sizeof(uint32_t); + size_t bitmap_size = st_mult(bitmap_nr, sizeof(uint32_t)); uint32_t *tmp = xmalloc(bitmap_size); /* to be freed before return */ uint32_t *bitmap = paint_alloc(info); struct commit *c = lookup_commit_reference_gently(sha1, 1); @@ -487,7 +487,7 @@ void assign_shallow_commits_to_refs(struct shallow_info *info, struct paint_info pi; trace_printf_key(&trace_shallow, "shallow: assign_shallow_commits_to_refs\n"); - shallow = xmalloc(sizeof(*shallow) * (info->nr_ours + info->nr_theirs)); + ALLOC_ARRAY(shallow, info->nr_ours + info->nr_theirs); for (i = 0; i < info->nr_ours; i++) shallow[nr_shallow++] = info->ours[i]; for (i = 0; i < info->nr_theirs; i++) diff --git a/show-index.c b/show-index.c index d9e4903fed..acf8d5445a 100644 --- a/show-index.c +++ b/show-index.c @@ -50,7 +50,8 @@ int main(int argc, char **argv) unsigned char sha1[20]; uint32_t crc; uint32_t off; - } *entries = xmalloc(nr * sizeof(entries[0])); + } *entries; + ALLOC_ARRAY(entries, nr); for (i = 0; i < nr; i++) if (fread(entries[i].sha1, 20, 1, stdin) != 1) die("unable to read sha1 %u/%u", i, nr); diff --git a/split-index.c b/split-index.c index 968b780a06..3c75d4b9ce 100644 --- a/split-index.c +++ b/split-index.c @@ -60,7 +60,7 @@ static void mark_base_index_entries(struct index_state *base) * To keep track of the shared entries between * istate->base->cache[] and istate->cache[], base entry * position is stored in each base entry. All positions start - * from 1 instead of 0, which is resrved to say "this is a new + * from 1 instead of 0, which is reserved to say "this is a new * entry". */ for (i = 0; i < base->cache_nr; i++) @@ -395,6 +395,12 @@ ssize_t strbuf_read_once(struct strbuf *sb, int fd, size_t hint) return cnt; } +ssize_t strbuf_write(struct strbuf *sb, FILE *f) +{ + return sb->len ? fwrite(sb->buf, 1, sb->len, f) : 0; +} + + #define STRBUF_MAXLINK (2*PATH_MAX) int strbuf_readlink(struct strbuf *sb, const char *path, size_t hint) @@ -481,9 +487,15 @@ int strbuf_getwholeline(struct strbuf *sb, FILE *fp, int term) if (errno == ENOMEM) die("Out of memory, getdelim failed"); - /* Restore slopbuf that we moved out of the way before */ + /* + * Restore strbuf invariants; if getdelim left us with a NULL pointer, + * we can just re-init, but otherwise we should make sure that our + * length is empty, and that the result is NUL-terminated. + */ if (!sb->buf) strbuf_init(sb, 0); + else + strbuf_reset(sb); return EOF; } #else @@ -718,7 +730,7 @@ char *xstrdup_tolower(const char *string) size_t len, i; len = strlen(string); - result = xmalloc(len + 1); + result = xmallocz(len); for (i = 0; i < len; i++) result[i] = tolower(string[i]); result[i] = '\0'; @@ -387,6 +387,12 @@ extern ssize_t strbuf_read_file(struct strbuf *sb, const char *path, size_t hint extern int strbuf_readlink(struct strbuf *sb, const char *path, size_t hint); /** + * Write the whole content of the strbuf to the stream not stopping at + * NUL bytes. + */ +extern ssize_t strbuf_write(struct strbuf *sb, FILE *stream); + +/** * Read a line from a FILE *, overwriting the existing contents of * the strbuf. The strbuf_getline*() family of functions share * this signature, but have different line termination conventions. diff --git a/string-list.c b/string-list.c index 2a32a3f1f5..62d20846cb 100644 --- a/string-list.c +++ b/string-list.c @@ -231,12 +231,12 @@ void string_list_sort(struct string_list *list) struct string_list_item *unsorted_string_list_lookup(struct string_list *list, const char *string) { - int i; + struct string_list_item *item; compare_strings_fn cmp = list->cmp ? list->cmp : strcmp; - for (i = 0; i < list->nr; i++) - if (!cmp(string, list->items[i].string)) - return list->items + i; + for_each_string_list_item(item, list) + if (!cmp(string, item->string)) + return item; return NULL; } diff --git a/submodule-config.c b/submodule-config.c index fe8ceabf30..debab294d4 100644 --- a/submodule-config.c +++ b/submodule-config.c @@ -30,7 +30,7 @@ enum lookup_type { lookup_path }; -static struct submodule_cache cache; +static struct submodule_cache the_submodule_cache; static int is_cache_init; static int config_path_cmp(const struct submodule_entry *a, @@ -59,6 +59,7 @@ static void free_one_config(struct submodule_entry *entry) { free((void *) entry->config->path); free((void *) entry->config->name); + free((void *) entry->config->update_strategy.command); free(entry->config); } @@ -194,6 +195,8 @@ static struct submodule *lookup_or_create_by_name(struct submodule_cache *cache, submodule->path = NULL; submodule->url = NULL; + submodule->update_strategy.type = SM_UPDATE_UNSPECIFIED; + submodule->update_strategy.command = NULL; submodule->fetch_recurse = RECURSE_SUBMODULES_NONE; submodule->ignore = NULL; @@ -293,7 +296,7 @@ static int parse_config(const char *var, const char *value, void *data) if (!strcmp(item.buf, "path")) { if (!value) ret = config_error_nonbool(var); - else if (!me->overwrite && submodule->path != NULL) + else if (!me->overwrite && submodule->path) warn_multiple_config(me->commit_sha1, submodule->name, "path"); else { @@ -317,7 +320,7 @@ static int parse_config(const char *var, const char *value, void *data) } else if (!strcmp(item.buf, "ignore")) { if (!value) ret = config_error_nonbool(var); - else if (!me->overwrite && submodule->ignore != NULL) + else if (!me->overwrite && submodule->ignore) warn_multiple_config(me->commit_sha1, submodule->name, "ignore"); else if (strcmp(value, "untracked") && @@ -333,13 +336,23 @@ static int parse_config(const char *var, const char *value, void *data) } else if (!strcmp(item.buf, "url")) { if (!value) { ret = config_error_nonbool(var); - } else if (!me->overwrite && submodule->url != NULL) { + } else if (!me->overwrite && submodule->url) { warn_multiple_config(me->commit_sha1, submodule->name, "url"); } else { free((void *) submodule->url); submodule->url = xstrdup(value); } + } else if (!strcmp(item.buf, "update")) { + if (!value) + ret = config_error_nonbool(var); + else if (!me->overwrite && + submodule->update_strategy.type != SM_UPDATE_UNSPECIFIED) + warn_multiple_config(me->commit_sha1, submodule->name, + "update"); + else if (parse_submodule_update_strategy(value, + &submodule->update_strategy) < 0) + die(_("invalid value for %s"), var); } strbuf_release(&name); @@ -392,8 +405,7 @@ static const struct submodule *config_from(struct submodule_cache *cache, struct hashmap_iter iter; struct submodule_entry *entry; - hashmap_iter_init(&cache->for_name, &iter); - entry = hashmap_iter_next(&iter); + entry = hashmap_iter_first(&cache->for_name, &iter); if (!entry) return NULL; return entry->config; @@ -427,8 +439,8 @@ static const struct submodule *config_from(struct submodule_cache *cache, parameter.commit_sha1 = commit_sha1; parameter.gitmodules_sha1 = sha1; parameter.overwrite = 0; - git_config_from_buf(parse_config, rev.buf, config, config_size, - ¶meter); + git_config_from_mem(parse_config, "submodule-blob", rev.buf, + config, config_size, ¶meter); free(config); switch (lookup_type) { @@ -458,14 +470,14 @@ static void ensure_cache_init(void) if (is_cache_init) return; - cache_init(&cache); + cache_init(&the_submodule_cache); is_cache_init = 1; } int parse_submodule_config_option(const char *var, const char *value) { struct parse_config_parameter parameter; - parameter.cache = &cache; + parameter.cache = &the_submodule_cache; parameter.commit_sha1 = NULL; parameter.gitmodules_sha1 = null_sha1; parameter.overwrite = 1; @@ -478,18 +490,18 @@ const struct submodule *submodule_from_name(const unsigned char *commit_sha1, const char *name) { ensure_cache_init(); - return config_from_name(&cache, commit_sha1, name); + return config_from_name(&the_submodule_cache, commit_sha1, name); } const struct submodule *submodule_from_path(const unsigned char *commit_sha1, const char *path) { ensure_cache_init(); - return config_from_path(&cache, commit_sha1, path); + return config_from_path(&the_submodule_cache, commit_sha1, path); } void submodule_free(void) { - cache_free(&cache); + cache_free(&the_submodule_cache); is_cache_init = 0; } diff --git a/submodule-config.h b/submodule-config.h index 9bfa65af03..e4857f53a8 100644 --- a/submodule-config.h +++ b/submodule-config.h @@ -2,6 +2,7 @@ #define SUBMODULE_CONFIG_CACHE_H #include "hashmap.h" +#include "submodule.h" #include "strbuf.h" /* @@ -14,6 +15,7 @@ struct submodule { const char *url; int fetch_recurse; const char *ignore; + struct submodule_update_strategy update_strategy; /* the sha1 blob id of the responsible .gitmodules file */ unsigned char gitmodules_sha1[20]; }; diff --git a/submodule.c b/submodule.c index d598881114..4532b11d66 100644 --- a/submodule.c +++ b/submodule.c @@ -16,6 +16,7 @@ #include "quote.h" static int config_fetch_recurse_submodules = RECURSE_SUBMODULES_ON_DEMAND; +static int parallel_jobs = 1; static struct string_list changed_submodule_paths; static int initialized_fetch_ref_tips; static struct sha1_array ref_tips_before_fetch; @@ -70,7 +71,7 @@ int update_path_in_gitmodules(const char *oldpath, const char *newpath) strbuf_addstr(&entry, "submodule."); strbuf_addstr(&entry, submodule->name); strbuf_addstr(&entry, ".path"); - if (git_config_set_in_file(".gitmodules", entry.buf, newpath) < 0) { + if (git_config_set_in_file_gently(".gitmodules", entry.buf, newpath) < 0) { /* Maybe the user already did that, don't error out here */ warning(_("Could not update .gitmodules entry %s"), entry.buf); strbuf_release(&entry); @@ -124,7 +125,7 @@ static int add_submodule_odb(const char *path) struct strbuf objects_directory = STRBUF_INIT; struct alternate_object_database *alt_odb; int ret = 0; - int alloc; + size_t alloc; strbuf_git_path_submodule(&objects_directory, path, "objects/"); if (!is_directory(objects_directory.buf)) { @@ -139,8 +140,8 @@ static int add_submodule_odb(const char *path) objects_directory.len)) goto done; - alloc = objects_directory.len + 42; /* for "12/345..." sha1 */ - alt_odb = xmalloc(sizeof(*alt_odb) + alloc); + alloc = st_add(objects_directory.len, 42); /* for "12/345..." sha1 */ + alt_odb = xmalloc(st_add(sizeof(*alt_odb), alloc)); alt_odb->next = alt_odb_list; xsnprintf(alt_odb->base, alloc, "%s", objects_directory.buf); alt_odb->name = alt_odb->base + objects_directory.len; @@ -170,7 +171,12 @@ void set_diffopt_flags_from_submodule_config(struct diff_options *diffopt, int submodule_config(const char *var, const char *value, void *cb) { - if (starts_with(var, "submodule.")) + if (!strcmp(var, "submodule.fetchjobs")) { + parallel_jobs = git_config_int(var, value); + if (parallel_jobs < 0) + die(_("negative values not allowed for submodule.fetchJobs")); + return 0; + } else if (starts_with(var, "submodule.")) return parse_submodule_config_option(var, value); else if (!strcmp(var, "fetch.recursesubmodules")) { config_fetch_recurse_submodules = parse_fetch_recurse_submodules_arg(var, value); @@ -211,6 +217,48 @@ void gitmodules_config(void) } } +int parse_submodule_update_strategy(const char *value, + struct submodule_update_strategy *dst) +{ + free((void*)dst->command); + dst->command = NULL; + if (!strcmp(value, "none")) + dst->type = SM_UPDATE_NONE; + else if (!strcmp(value, "checkout")) + dst->type = SM_UPDATE_CHECKOUT; + else if (!strcmp(value, "rebase")) + dst->type = SM_UPDATE_REBASE; + else if (!strcmp(value, "merge")) + dst->type = SM_UPDATE_MERGE; + else if (skip_prefix(value, "!", &value)) { + dst->type = SM_UPDATE_COMMAND; + dst->command = xstrdup(value); + } else + return -1; + return 0; +} + +const char *submodule_strategy_to_string(const struct submodule_update_strategy *s) +{ + struct strbuf sb = STRBUF_INIT; + switch (s->type) { + case SM_UPDATE_CHECKOUT: + return "checkout"; + case SM_UPDATE_MERGE: + return "merge"; + case SM_UPDATE_REBASE: + return "rebase"; + case SM_UPDATE_NONE: + return "none"; + case SM_UPDATE_UNSPECIFIED: + return NULL; + case SM_UPDATE_COMMAND: + strbuf_addf(&sb, "!%s", s->command); + return strbuf_detach(&sb, NULL); + } + return NULL; +} + void handle_ignore_submodules_arg(struct diff_options *diffopt, const char *arg) { @@ -706,8 +754,7 @@ static int get_next_submodule(struct child_process *cp, return 0; } -static int fetch_start_failure(struct child_process *cp, - struct strbuf *err, +static int fetch_start_failure(struct strbuf *err, void *cb, void *task_cb) { struct submodule_parallel_fetch *spf = cb; @@ -717,8 +764,8 @@ static int fetch_start_failure(struct child_process *cp, return 0; } -static int fetch_finish(int retvalue, struct child_process *cp, - struct strbuf *err, void *cb, void *task_cb) +static int fetch_finish(int retvalue, struct strbuf *err, + void *cb, void *task_cb) { struct submodule_parallel_fetch *spf = cb; @@ -752,6 +799,9 @@ int fetch_populated_submodules(const struct argv_array *options, argv_array_push(&spf.args, "--recurse-submodules-default"); /* default value, "--submodule-prefix" and its value are added later */ + if (max_parallel_jobs < 0) + max_parallel_jobs = parallel_jobs; + calculate_changed_submodule_paths(); run_processes_parallel(max_parallel_jobs, get_next_submodule, @@ -1088,17 +1138,20 @@ void connect_work_tree_and_git_dir(const char *work_tree, const char *git_dir) /* Update core.worktree setting */ strbuf_reset(&file_name); strbuf_addf(&file_name, "%s/config", git_dir); - if (git_config_set_in_file(file_name.buf, "core.worktree", - relative_path(real_work_tree, git_dir, - &rel_path))) - die(_("Could not set core.worktree in %s"), - file_name.buf); + git_config_set_in_file(file_name.buf, "core.worktree", + relative_path(real_work_tree, git_dir, + &rel_path)); strbuf_release(&file_name); strbuf_release(&rel_path); free((void *)real_work_tree); } +int parallel_submodules(void) +{ + return parallel_jobs; +} + void prepare_submodule_repo_env(struct argv_array *out) { const char * const *var; diff --git a/submodule.h b/submodule.h index 869d259fac..2af9390998 100644 --- a/submodule.h +++ b/submodule.h @@ -14,6 +14,21 @@ enum { RECURSE_SUBMODULES_ON = 2 }; +enum submodule_update_type { + SM_UPDATE_UNSPECIFIED = 0, + SM_UPDATE_CHECKOUT, + SM_UPDATE_REBASE, + SM_UPDATE_MERGE, + SM_UPDATE_NONE, + SM_UPDATE_COMMAND +}; + +struct submodule_update_strategy { + enum submodule_update_type type; + const char *command; +}; +#define SUBMODULE_UPDATE_STRATEGY_INIT {SM_UPDATE_UNSPECIFIED, NULL} + int is_staging_gitmodules_ok(void); int update_path_in_gitmodules(const char *oldpath, const char *newpath); int remove_path_from_gitmodules(const char *path); @@ -22,6 +37,9 @@ void set_diffopt_flags_from_submodule_config(struct diff_options *diffopt, const char *path); int submodule_config(const char *var, const char *value, void *cb); void gitmodules_config(void); +int parse_submodule_update_strategy(const char *value, + struct submodule_update_strategy *dst); +const char *submodule_strategy_to_string(const struct submodule_update_strategy *s); void handle_ignore_submodules_arg(struct diff_options *diffopt, const char *); void show_submodule_summary(FILE *f, const char *path, const char *line_prefix, @@ -42,6 +60,7 @@ int find_unpushed_submodules(unsigned char new_sha1[20], const char *remotes_nam struct string_list *needs_pushing); int push_unpushed_submodules(unsigned char new_sha1[20], const char *remotes_name); void connect_work_tree_and_git_dir(const char *work_tree, const char *git_dir); +int parallel_submodules(void); /* * Prepare the "env_array" parameter of a "struct child_process" for executing diff --git a/t/helper/.gitignore b/t/helper/.gitignore new file mode 100644 index 0000000000..d6e8b36798 --- /dev/null +++ b/t/helper/.gitignore @@ -0,0 +1,33 @@ +/test-chmtime +/test-ctype +/test-config +/test-date +/test-delta +/test-dump-cache-tree +/test-dump-split-index +/test-dump-untracked-cache +/test-fake-ssh +/test-scrap-cache-tree +/test-genrandom +/test-hashmap +/test-index-version +/test-line-buffer +/test-match-trees +/test-mergesort +/test-mktemp +/test-parse-options +/test-path-utils +/test-prio-queue +/test-read-cache +/test-regex +/test-revision-walking +/test-run-command +/test-sha1 +/test-sha1-array +/test-sigchain +/test-string-list +/test-submodule-config +/test-subprocess +/test-svn-fe +/test-urlmatch-normalization +/test-wildmatch diff --git a/test-chmtime.c b/t/helper/test-chmtime.c index dfe8a83261..dfe8a83261 100644 --- a/test-chmtime.c +++ b/t/helper/test-chmtime.c diff --git a/test-config.c b/t/helper/test-config.c index 6a77552210..6a77552210 100644 --- a/test-config.c +++ b/t/helper/test-config.c diff --git a/test-ctype.c b/t/helper/test-ctype.c index 707a821f03..707a821f03 100644 --- a/test-ctype.c +++ b/t/helper/test-ctype.c diff --git a/test-date.c b/t/helper/test-date.c index 63f373557e..63f373557e 100644 --- a/test-date.c +++ b/t/helper/test-date.c diff --git a/test-delta.c b/t/helper/test-delta.c index 4595cd6433..4595cd6433 100644 --- a/test-delta.c +++ b/t/helper/test-delta.c diff --git a/test-dump-cache-tree.c b/t/helper/test-dump-cache-tree.c index bb53c0aa65..bb53c0aa65 100644 --- a/test-dump-cache-tree.c +++ b/t/helper/test-dump-cache-tree.c diff --git a/test-dump-split-index.c b/t/helper/test-dump-split-index.c index 861d28c9b6..861d28c9b6 100644 --- a/test-dump-split-index.c +++ b/t/helper/test-dump-split-index.c diff --git a/test-dump-untracked-cache.c b/t/helper/test-dump-untracked-cache.c index 0a1c285246..0a1c285246 100644 --- a/test-dump-untracked-cache.c +++ b/t/helper/test-dump-untracked-cache.c diff --git a/test-fake-ssh.c b/t/helper/test-fake-ssh.c index 980de216e1..980de216e1 100644 --- a/test-fake-ssh.c +++ b/t/helper/test-fake-ssh.c diff --git a/test-genrandom.c b/t/helper/test-genrandom.c index 54824d0754..54824d0754 100644 --- a/test-genrandom.c +++ b/t/helper/test-genrandom.c diff --git a/test-hashmap.c b/t/helper/test-hashmap.c index cc2891dd97..cc2891dd97 100644 --- a/test-hashmap.c +++ b/t/helper/test-hashmap.c diff --git a/test-index-version.c b/t/helper/test-index-version.c index 05d4699c4a..05d4699c4a 100644 --- a/test-index-version.c +++ b/t/helper/test-index-version.c diff --git a/test-line-buffer.c b/t/helper/test-line-buffer.c index 1e58f0476f..1e58f0476f 100644 --- a/test-line-buffer.c +++ b/t/helper/test-line-buffer.c diff --git a/t/helper/test-match-trees.c b/t/helper/test-match-trees.c new file mode 100644 index 0000000000..d446b8eaca --- /dev/null +++ b/t/helper/test-match-trees.c @@ -0,0 +1,26 @@ +#include "cache.h" +#include "tree.h" + +int main(int ac, char **av) +{ + struct object_id hash1, hash2, shifted; + struct tree *one, *two; + + setup_git_directory(); + + if (get_oid(av[1], &hash1)) + die("cannot parse %s as an object name", av[1]); + if (get_oid(av[2], &hash2)) + die("cannot parse %s as an object name", av[2]); + one = parse_tree_indirect(hash1.hash); + if (!one) + die("not a tree-ish %s", av[1]); + two = parse_tree_indirect(hash2.hash); + if (!two) + die("not a tree-ish %s", av[2]); + + shift_tree(&one->object.oid, &two->object.oid, &shifted, -1); + printf("shifted: %s\n", oid_to_hex(&shifted)); + + exit(0); +} diff --git a/test-mergesort.c b/t/helper/test-mergesort.c index ea3b959e94..ea3b959e94 100644 --- a/test-mergesort.c +++ b/t/helper/test-mergesort.c diff --git a/test-mktemp.c b/t/helper/test-mktemp.c index c8c54213a3..c8c54213a3 100644 --- a/test-mktemp.c +++ b/t/helper/test-mktemp.c diff --git a/test-parse-options.c b/t/helper/test-parse-options.c index 2c8c8f18ed..2c8c8f18ed 100644 --- a/test-parse-options.c +++ b/t/helper/test-parse-options.c diff --git a/test-path-utils.c b/t/helper/test-path-utils.c index 6232dfe661..ba805b374c 100644 --- a/test-path-utils.c +++ b/t/helper/test-path-utils.c @@ -8,21 +8,14 @@ */ static int normalize_ceiling_entry(struct string_list_item *item, void *unused) { - const char *ceil = item->string; - int len = strlen(ceil); - char buf[PATH_MAX+1]; + char *ceil = item->string; - if (len == 0) + if (!*ceil) die("Empty path is not supported"); - if (len > PATH_MAX) - die("Path \"%s\" is too long", ceil); if (!is_absolute_path(ceil)) die("Path \"%s\" is not absolute", ceil); - if (normalize_path_copy(buf, ceil) < 0) + if (normalize_path_copy(ceil, ceil) < 0) die("Path \"%s\" could not be normalized", ceil); - len = strlen(buf); - free(item->string); - item->string = xstrdup(buf); return 1; } @@ -166,7 +159,7 @@ static struct test_data dirname_data[] = { int main(int argc, char **argv) { if (argc == 3 && !strcmp(argv[1], "normalize_path_copy")) { - char *buf = xmalloc(PATH_MAX + 1); + char *buf = xmallocz(strlen(argv[2])); int rv = normalize_path_copy(buf, argv[2]); if (rv) buf = "++failed++"; diff --git a/test-prio-queue.c b/t/helper/test-prio-queue.c index 7be72f0086..7be72f0086 100644 --- a/test-prio-queue.c +++ b/t/helper/test-prio-queue.c diff --git a/test-read-cache.c b/t/helper/test-read-cache.c index b25bcf139b..b25bcf139b 100644 --- a/test-read-cache.c +++ b/t/helper/test-read-cache.c diff --git a/test-regex.c b/t/helper/test-regex.c index 0dc598ecdc..0dc598ecdc 100644 --- a/test-regex.c +++ b/t/helper/test-regex.c diff --git a/test-revision-walking.c b/t/helper/test-revision-walking.c index 285f06b7ff..3d0313354b 100644 --- a/test-revision-walking.c +++ b/t/helper/test-revision-walking.c @@ -50,6 +50,8 @@ int main(int argc, char **argv) if (argc < 2) return 1; + setup_git_directory(); + if (!strcmp(argv[1], "run-twice")) { printf("1st\n"); if (!run_revision_walk()) diff --git a/test-run-command.c b/t/helper/test-run-command.c index fbe0a27ef3..30a64a98dc 100644 --- a/test-run-command.c +++ b/t/helper/test-run-command.c @@ -41,7 +41,6 @@ static int no_job(struct child_process *cp, } static int task_finished(int result, - struct child_process *cp, struct strbuf *err, void *pp_cb, void *pp_task_cb) diff --git a/test-scrap-cache-tree.c b/t/helper/test-scrap-cache-tree.c index 6efee31a48..6efee31a48 100644 --- a/test-scrap-cache-tree.c +++ b/t/helper/test-scrap-cache-tree.c diff --git a/test-sha1-array.c b/t/helper/test-sha1-array.c index 60ea1d5f14..60ea1d5f14 100644 --- a/test-sha1-array.c +++ b/t/helper/test-sha1-array.c diff --git a/test-sha1.c b/t/helper/test-sha1.c index e57eae10bf..e57eae10bf 100644 --- a/test-sha1.c +++ b/t/helper/test-sha1.c diff --git a/test-sha1.sh b/t/helper/test-sha1.sh index cef4bcc866..750b95a0a1 100755 --- a/test-sha1.sh +++ b/t/helper/test-sha1.sh @@ -1,7 +1,7 @@ #!/bin/sh dd if=/dev/zero bs=1048576 count=100 2>/dev/null | -/usr/bin/time ./test-sha1 >/dev/null +/usr/bin/time t/helper/test-sha1 >/dev/null while read expect cnt pfx do @@ -11,7 +11,7 @@ do test -z "$pfx" || echo "$pfx" dd if=/dev/zero bs=1048576 count=$cnt 2>/dev/null | perl -pe 'y/\000/g/' - } | ./test-sha1 $cnt + } | ./t/helper/test-sha1 $cnt ) if test "$expect" = "$actual" then diff --git a/test-sigchain.c b/t/helper/test-sigchain.c index e499fce60f..e499fce60f 100644 --- a/test-sigchain.c +++ b/t/helper/test-sigchain.c diff --git a/test-string-list.c b/t/helper/test-string-list.c index 14bdf9d215..14bdf9d215 100644 --- a/test-string-list.c +++ b/t/helper/test-string-list.c diff --git a/test-submodule-config.c b/t/helper/test-submodule-config.c index dab8c27768..dab8c27768 100644 --- a/test-submodule-config.c +++ b/t/helper/test-submodule-config.c diff --git a/test-subprocess.c b/t/helper/test-subprocess.c index 56881a0324..56881a0324 100644 --- a/test-subprocess.c +++ b/t/helper/test-subprocess.c diff --git a/test-svn-fe.c b/t/helper/test-svn-fe.c index 120ec96b0d..120ec96b0d 100644 --- a/test-svn-fe.c +++ b/t/helper/test-svn-fe.c diff --git a/test-urlmatch-normalization.c b/t/helper/test-urlmatch-normalization.c index 090bf219a7..090bf219a7 100644 --- a/test-urlmatch-normalization.c +++ b/t/helper/test-urlmatch-normalization.c diff --git a/test-wildmatch.c b/t/helper/test-wildmatch.c index 578b164fe6..578b164fe6 100644 --- a/test-wildmatch.c +++ b/t/helper/test-wildmatch.c diff --git a/t/lib-git-p4.sh b/t/lib-git-p4.sh index f9ae1d780d..54fd5a6ca0 100644 --- a/t/lib-git-p4.sh +++ b/t/lib-git-p4.sh @@ -33,7 +33,7 @@ fi # Older versions of perforce were available compiled natively for # cygwin. Those do not accept native windows paths, so make sure # not to convert for them. -native_path() { +native_path () { path="$1" && if test_have_prereq CYGWIN && ! p4 -V | grep -q CYGWIN then @@ -49,8 +49,8 @@ native_path() { # Attention: This function is not safe again against time offset updates # at runtime (e.g. via NTP). The 'clock_gettime(CLOCK_MONOTONIC)' # function could fix that but it is not in Python until 3.3. -time_in_seconds() { - python -c 'import time; print int(time.time())' +time_in_seconds () { + (cd / && "$PYTHON_PATH" -c 'import time; print(int(time.time()))') } # Try to pick a unique port: guess a large number, then hope @@ -75,7 +75,7 @@ git="$TRASH_DIRECTORY/git" pidfile="$TRASH_DIRECTORY/p4d.pid" # Sometimes "prove" seems to hang on exit because p4d is still running -cleanup() { +cleanup () { if test -f "$pidfile" then kill -9 $(cat "$pidfile") 2>/dev/null && exit 255 @@ -89,7 +89,7 @@ trap cleanup EXIT TMPDIR="$TRASH_DIRECTORY" export TMPDIR -start_p4d() { +start_p4d () { mkdir -p "$db" "$cli" "$git" && rm -f "$pidfile" && ( @@ -151,7 +151,7 @@ start_p4d() { return 0 } -p4_add_user() { +p4_add_user () { name=$1 && p4 user -f -i <<-EOF User: $name @@ -160,7 +160,16 @@ p4_add_user() { EOF } -retry_until_success() { +p4_add_job () { + p4 job -f -i <<-EOF + Job: $1 + Status: open + User: dummy + Description: + EOF +} + +retry_until_success () { timeout=$(($(time_in_seconds) + $RETRY_TIMEOUT)) until "$@" 2>/dev/null || test $(time_in_seconds) -gt $timeout do @@ -168,7 +177,7 @@ retry_until_success() { done } -retry_until_fail() { +retry_until_fail () { timeout=$(($(time_in_seconds) + $RETRY_TIMEOUT)) until ! "$@" 2>/dev/null || test $(time_in_seconds) -gt $timeout do @@ -176,7 +185,7 @@ retry_until_fail() { done } -kill_p4d() { +kill_p4d () { pid=$(cat "$pidfile") retry_until_fail kill $pid retry_until_fail kill -9 $pid @@ -186,21 +195,22 @@ kill_p4d() { retry_until_fail kill -9 $watchdog_pid } -cleanup_git() { +cleanup_git () { retry_until_success rm -r "$git" test_must_fail test -d "$git" && retry_until_success mkdir "$git" } -marshal_dump() { +marshal_dump () { what=$1 && line=${2:-1} && cat >"$TRASH_DIRECTORY/marshal-dump.py" <<-EOF && import marshal import sys + instream = getattr(sys.stdin, 'buffer', sys.stdin) for i in range($line): - d = marshal.load(sys.stdin) - print d['$what'] + d = marshal.load(instream) + print(d[b'$what'].decode('utf-8')) EOF "$PYTHON_PATH" "$TRASH_DIRECTORY/marshal-dump.py" } @@ -208,7 +218,7 @@ marshal_dump() { # # Construct a client with this list of View lines # -client_view() { +client_view () { ( cat <<-EOF && Client: $P4CLIENT @@ -222,7 +232,7 @@ client_view() { ) | p4 client -i } -is_cli_file_writeable() { +is_cli_file_writeable () { # cygwin version of p4 does not set read-only attr, # will be marked 444 but -w is true file="$1" && diff --git a/t/lib-gpg.sh b/t/lib-gpg.sh index db2ef22e8f..ec2aa8f687 100755 --- a/t/lib-gpg.sh +++ b/t/lib-gpg.sh @@ -1,9 +1,8 @@ #!/bin/sh gpg_version=$(gpg --version 2>&1) -if test $? = 127; then - say "You do not seem to have gpg installed" -else +if test $? != 127 +then # As said here: http://www.gnupg.org/documentation/faqs.html#q6.19 # the gpg version 1.0.6 didn't parse trust packets correctly, so for # that version, creation of signed tags using the generated key fails. diff --git a/t/lib-httpd/apache.conf b/t/lib-httpd/apache.conf index f667e7ce2f..b8ed96fac6 100644 --- a/t/lib-httpd/apache.conf +++ b/t/lib-httpd/apache.conf @@ -74,6 +74,7 @@ PassEnv GIT_VALGRIND_OPTIONS PassEnv GNUPGHOME PassEnv ASAN_OPTIONS PassEnv GIT_TRACE +PassEnv GIT_CONFIG_NOSYSTEM Alias /dumb/ www/ Alias /auth/dumb/ www/auth/dumb/ @@ -101,6 +102,14 @@ Alias /auth/dumb/ www/auth/dumb/ SetEnv GIT_HTTP_EXPORT_ALL Header set Set-Cookie name=value </LocationMatch> +<LocationMatch /smart_headers/> + <RequireAll> + Require expr %{HTTP:x-magic-one} == 'abra' + Require expr %{HTTP:x-magic-two} == 'cadabra' + </RequireAll> + SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH} + SetEnv GIT_HTTP_EXPORT_ALL +</LocationMatch> ScriptAliasMatch /smart_*[^/]*/(.*) ${GIT_EXEC_PATH}/git-http-backend/$1 ScriptAlias /broken_smart/ broken-smart-http.sh/ ScriptAlias /error/ error.sh/ diff --git a/t/t0000-basic.sh b/t/t0000-basic.sh index 79b9074172..60811a3a7c 100755 --- a/t/t0000-basic.sh +++ b/t/t0000-basic.sh @@ -98,7 +98,7 @@ check_sub_test_lib_test () { } check_sub_test_lib_test_err () { - name="$1" # stdin is the expected output output from the test + name="$1" # stdin is the expected output from the test # expected error output is in descriptior 3 ( cd "$name" && diff --git a/t/t0001-init.sh b/t/t0001-init.sh index 295aa5949a..a5b9e7a4c7 100755 --- a/t/t0001-init.sh +++ b/t/t0001-init.sh @@ -88,19 +88,17 @@ test_expect_success 'plain nested in bare through aliased command' ' ' test_expect_success 'No extra GIT_* on alias scripts' ' - ( - env | sed -ne "/^GIT_/s/=.*//p" && - echo GIT_PREFIX && # setup.c - echo GIT_TEXTDOMAINDIR # wrapper-for-bin.sh - ) | sort | uniq >expected && - cat <<-\EOF >script && - #!/bin/sh - env | sed -ne "/^GIT_/s/=.*//p" | sort >actual - exit 0 + write_script script <<-\EOF && + env | + sed -n \ + -e "/^GIT_PREFIX=/d" \ + -e "/^GIT_TEXTDOMAINDIR=/d" \ + -e "/^GIT_/s/=.*//p" | + sort EOF - chmod 755 script && + ./script >expected && git config alias.script \!./script && - ( mkdir sub && cd sub && git script ) && + ( mkdir sub && cd sub && git script >../actual ) && test_cmp expected actual ' diff --git a/t/t0027-auto-crlf.sh b/t/t0027-auto-crlf.sh index 504e5a02a1..f33962b178 100755 --- a/t/t0027-auto-crlf.sh +++ b/t/t0027-auto-crlf.sh @@ -21,38 +21,32 @@ compare_ws_file () { pfx=$1 exp=$2.expect act=$pfx.actual.$3 - tr '\015\000' QN <"$2" >"$exp" && - tr '\015\000' QN <"$3" >"$act" && - test_cmp $exp $act && - rm $exp $act + tr '\015\000abcdef0123456789' QN00000000000000000 <"$2" >"$exp" && + tr '\015\000abcdef0123456789' QN00000000000000000 <"$3" >"$act" && + test_cmp "$exp" "$act" && + rm "$exp" "$act" } create_gitattributes () { - attr=$1 - case "$attr" in - auto) - echo "*.txt text=auto" >.gitattributes - ;; - text) - echo "*.txt text" >.gitattributes - ;; - -text) - echo "*.txt -text" >.gitattributes - ;; - crlf) - echo "*.txt eol=crlf" >.gitattributes - ;; - lf) - echo "*.txt eol=lf" >.gitattributes - ;; - "") - echo >.gitattributes - ;; - *) - echo >&2 invalid attribute: $attr - exit 1 - ;; - esac + { + while test "$#" != 0 + do + case "$1" in + auto) echo '*.txt text=auto' ;; + ident) echo '*.txt ident' ;; + text) echo '*.txt text' ;; + -text) echo '*.txt -text' ;; + crlf) echo '*.txt eol=crlf' ;; + lf) echo '*.txt eol=lf' ;; + "") ;; + *) + echo >&2 invalid attribute: "$1" + exit 1 + ;; + esac && + shift + done + } >.gitattributes } create_NNO_files () { @@ -165,6 +159,25 @@ stats_ascii () { } + +# contruct the attr/ returned by git ls-files --eol +# Take none (=empty), one or two args +attr_ascii () { + case $1,$2 in + -text,*) echo "-text" ;; + text,) echo "text" ;; + text,lf) echo "text eol=lf" ;; + text,crlf) echo "text eol=crlf" ;; + auto,) echo "text=auto" ;; + auto,lf) echo "text=auto eol=lf" ;; + auto,crlf) echo "text=auto eol=crlf" ;; + lf,) echo "text eol=lf" ;; + crlf,) echo "text eol=crlf" ;; + ,) echo "" ;; + *) echo invalid_attr "$1,$2" ;; + esac +} + check_files_in_repo () { crlf=$1 attr=$2 @@ -208,55 +221,57 @@ check_in_repo_NNO () { } checkout_files () { - eol=$1 - crlf=$2 - attr=$3 - lfname=$4 - crlfname=$5 - lfmixcrlf=$6 - lfmixcr=$7 - crlfnul=$8 - create_gitattributes $attr && + attr=$1 ; shift + ident=$1; shift + aeol=$1 ; shift + crlf=$1 ; shift + ceol=$1 ; shift + lfname=$1 ; shift + crlfname=$1 ; shift + lfmixcrlf=$1 ; shift + lfmixcr=$1 ; shift + crlfnul=$1 ; shift + create_gitattributes "$attr" "$ident" && git config core.autocrlf $crlf && - pfx=eol_${eol}_crlf_${crlf}_attr_${attr}_ && + pfx=eol_${ceol}_crlf_${crlf}_attr_${attr}_ && for f in LF CRLF LF_mix_CR CRLF_mix_LF LF_nul do rm crlf_false_attr__$f.txt && - if test -z "$eol"; then + if test -z "$ceol"; then git checkout crlf_false_attr__$f.txt else - git -c core.eol=$eol checkout crlf_false_attr__$f.txt + git -c core.eol=$ceol checkout crlf_false_attr__$f.txt fi done - test_expect_success "ls-files --eol $lfname ${pfx}LF.txt" ' + test_expect_success "ls-files --eol attr=$attr $ident $aeol core.autocrlf=$crlf core.eol=$ceol" ' test_when_finished "rm expect actual" && sort <<-EOF >expect && - i/crlf w/$(stats_ascii $crlfname) crlf_false_attr__CRLF.txt - i/mixed w/$(stats_ascii $lfmixcrlf) crlf_false_attr__CRLF_mix_LF.txt - i/lf w/$(stats_ascii $lfname) crlf_false_attr__LF.txt - i/-text w/$(stats_ascii $lfmixcr) crlf_false_attr__LF_mix_CR.txt - i/-text w/$(stats_ascii $crlfnul) crlf_false_attr__CRLF_nul.txt - i/-text w/$(stats_ascii $crlfnul) crlf_false_attr__LF_nul.txt + i/crlf w/$(stats_ascii $crlfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF.txt + i/mixed w/$(stats_ascii $lfmixcrlf) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_mix_LF.txt + i/lf w/$(stats_ascii $lfname) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF.txt + i/-text w/$(stats_ascii $lfmixcr) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_mix_CR.txt + i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__CRLF_nul.txt + i/-text w/$(stats_ascii $crlfnul) attr/$(attr_ascii $attr $aeol) crlf_false_attr__LF_nul.txt EOF git ls-files --eol crlf_false_attr__* | - sed -e "s!attr/[^ ]*!!g" -e "s/ / /g" -e "s/ */ /g" | + sed -e "s/ / /g" -e "s/ */ /g" | sort >actual && test_cmp expect actual ' - test_expect_success "checkout core.eol=$eol core.autocrlf=$crlf gitattributes=$attr file=LF" " + test_expect_success "checkout $ident $attr $aeol core.autocrlf=$crlf core.eol=$ceol file=LF" " compare_ws_file $pfx $lfname crlf_false_attr__LF.txt " - test_expect_success "checkout core.eol=$eol core.autocrlf=$crlf gitattributes=$attr file=CRLF" " + test_expect_success "checkout $ident $attr $aeol core.autocrlf=$crlf core.eol=$ceol file=CRLF" " compare_ws_file $pfx $crlfname crlf_false_attr__CRLF.txt " - test_expect_success "checkout core.eol=$eol core.autocrlf=$crlf gitattributes=$attr file=CRLF_mix_LF" " + test_expect_success "checkout $ident $attr $aeol core.autocrlf=$crlf core.eol=$ceol file=CRLF_mix_LF" " compare_ws_file $pfx $lfmixcrlf crlf_false_attr__CRLF_mix_LF.txt " - test_expect_success "checkout core.eol=$eol core.autocrlf=$crlf gitattributes=$attr file=LF_mix_CR" " + test_expect_success "checkout $ident $attr $aeol core.autocrlf=$crlf core.eol=$ceol file=LF_mix_CR" " compare_ws_file $pfx $lfmixcr crlf_false_attr__LF_mix_CR.txt " - test_expect_success "checkout core.eol=$eol core.autocrlf=$crlf gitattributes=$attr file=LF_nul" " + test_expect_success "checkout $ident $attr $aeol core.autocrlf=$crlf core.eol=$ceol file=LF_nul" " compare_ws_file $pfx $crlfnul crlf_false_attr__LF_nul.txt " } @@ -301,14 +316,13 @@ test_expect_success 'setup master' ' git checkout -b master && git add .gitattributes && git commit -m "add .gitattributes" "" && - printf "line1\nline2\nline3" >LF && - printf "line1\r\nline2\r\nline3" >CRLF && - printf "line1\r\nline2\nline3" >repoMIX && - printf "line1\r\nline2\nline3" >CRLF_mix_LF && - printf "line1\nline2\rline3" >LF_mix_CR && - printf "line1\r\nline2\rline3" >CRLF_mix_CR && - printf "line1Q\r\nline2\r\nline3" | q_to_nul >CRLF_nul && - printf "line1Q\nline2\nline3" | q_to_nul >LF_nul && + printf "\$Id: 0000000000000000000000000000000000000000 \$\nLINEONE\nLINETWO\nLINETHREE" >LF && + printf "\$Id: 0000000000000000000000000000000000000000 \$\r\nLINEONE\r\nLINETWO\r\nLINETHREE" >CRLF && + printf "\$Id: 0000000000000000000000000000000000000000 \$\nLINEONE\r\nLINETWO\nLINETHREE" >CRLF_mix_LF && + printf "\$Id: 0000000000000000000000000000000000000000 \$\nLINEONE\nLINETWO\rLINETHREE" >LF_mix_CR && + printf "\$Id: 0000000000000000000000000000000000000000 \$\r\nLINEONE\r\nLINETWO\rLINETHREE" >CRLF_mix_CR && + printf "\$Id: 0000000000000000000000000000000000000000 \$\r\nLINEONEQ\r\nLINETWO\r\nLINETHREE" | q_to_nul >CRLF_nul && + printf "\$Id: 0000000000000000000000000000000000000000 \$\nLINEONEQ\nLINETWO\nLINETHREE" | q_to_nul >LF_nul && create_NNO_files CRLF_mix_LF CRLF_mix_LF CRLF_mix_LF CRLF_mix_LF CRLF_mix_LF && git -c core.autocrlf=false add NNO_*.txt && git commit -m "mixed line endings" && @@ -449,23 +463,18 @@ check_in_repo_NNO input "-text" LF CRLF CRLF_mix_LF LF_mix_CR CRLF # How to read the table below: # - checkout_files will check multiple files with a combination of settings # and attributes (core.autocrlf=input is forbidden with core.eol=crlf) -# - parameter $1 : core.eol lf | crlf -# - parameter $2 : core.autocrlf false | true | input -# - parameter $3 : text in .gitattributs "" (empty) | auto | text | -text -# - parameter $4 : reference for a file with only LF in the repo -# - parameter $5 : reference for a file with only CRLF in the repo -# - parameter $6 : reference for a file with mixed LF and CRLF in the repo -# - parameter $7 : reference for a file with LF and CR in the repo (does somebody uses this ?) -# - parameter $8 : reference for a file with CRLF and a NUL (should be handled as binary when auto) - -# What we have in the repo: -# ----------------- EOL in repo ---------------- -# LF CRLF CRLF_mix_LF LF_mix_CR CRLF_nul -# settings with checkout: -# core. core. .gitattr -# eol acrlf -# ---------------------------------------------- -# What we want to have in the working tree: +# +# - parameter $1 : text in .gitattributs "" (empty) | auto | text | -text +# - parameter $2 : ident "" | i (i == ident) +# - parameter $3 : eol in .gitattributs "" (empty) | lf | crlf +# - parameter $4 : core.autocrlf false | true | input +# - parameter $5 : core.eol "" | lf | crlf | "native" +# - parameter $6 : reference for a file with only LF in the repo +# - parameter $7 : reference for a file with only CRLF in the repo +# - parameter $8 : reference for a file with mixed LF and CRLF in the repo +# - parameter $9 : reference for a file with LF and CR in the repo +# - parameter $10 : reference for a file with CRLF and a NUL (should be handled as binary when auto) + if test_have_prereq NATIVE_CRLF then MIX_CRLF_LF=CRLF @@ -480,69 +489,90 @@ LFNUL=LF_nul fi export CRLF_MIX_LF_CR MIX NL -checkout_files lf false "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files lf true "" CRLF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files lf input "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files lf false "auto" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files lf true "auto" CRLF CRLF CRLF LF_mix_CR LF_nul -checkout_files lf input "auto" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files lf false "text" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files lf true "text" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul -checkout_files lf input "text" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files lf false "-text" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files lf true "-text" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files lf input "-text" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files lf false "lf" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files lf true "lf" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files lf input "lf" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files lf false "crlf" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul -checkout_files lf true "crlf" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul -checkout_files lf input "crlf" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul - -checkout_files crlf false "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files crlf true "" CRLF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files crlf false "auto" CRLF CRLF CRLF LF_mix_CR LF_nul -checkout_files crlf true "auto" CRLF CRLF CRLF LF_mix_CR LF_nul -checkout_files crlf false "text" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul -checkout_files crlf true "text" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul -checkout_files crlf false "-text" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files crlf true "-text" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files crlf false "lf" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files crlf true "lf" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files crlf false "crlf" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul -checkout_files crlf true "crlf" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul - -checkout_files "" false "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files "" true "" CRLF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files "" input "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files "" false "auto" $NL CRLF $MIX_CRLF_LF LF_mix_CR LF_nul -checkout_files "" true "auto" CRLF CRLF CRLF LF_mix_CR LF_nul -checkout_files "" input "auto" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files "" false "text" $NL CRLF $MIX_CRLF_LF $MIX_LF_CR $LFNUL -checkout_files "" true "text" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul -checkout_files "" input "text" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files "" false "-text" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files "" true "-text" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files "" input "-text" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files "" false "lf" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files "" true "lf" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files "" input "lf" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files "" false "crlf" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul -checkout_files "" true "crlf" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul -checkout_files "" input "crlf" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul - -checkout_files native false "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files native true "" CRLF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files native false "auto" $NL CRLF $MIX_CRLF_LF LF_mix_CR LF_nul -checkout_files native true "auto" CRLF CRLF CRLF LF_mix_CR LF_nul -checkout_files native false "text" $NL CRLF $MIX_CRLF_LF $MIX_LF_CR $LFNUL -checkout_files native true "text" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul -checkout_files native false "-text" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files native true "-text" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files native false "lf" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files native true "lf" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul -checkout_files native false "crlf" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul -checkout_files native true "crlf" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul +checkout_files "" "" "" false "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "" "" "" false crlf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "" "" "" false lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "" "" "" false native LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "" "" "" input "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "" "" "" input lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "" "" "" true "" CRLF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "" "" "" true crlf CRLF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "" "" "" true lf CRLF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "" "" "" true native CRLF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "" ident "" false "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "" ident "" false crlf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "" ident "" false lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "" ident "" false native LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "" ident "" input "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "" ident "" input lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "" ident "" true "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "" ident "" true crlf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "" ident "" true lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "" ident "" true native LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "auto" "" "" false "" $NL CRLF $MIX_CRLF_LF LF_mix_CR LF_nul +checkout_files "auto" "" "" false crlf CRLF CRLF CRLF LF_mix_CR LF_nul +checkout_files "auto" "" "" false lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "auto" "" "" false native $NL CRLF $MIX_CRLF_LF LF_mix_CR LF_nul +checkout_files "auto" "" "" input "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "auto" "" "" input lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "auto" "" "" true "" CRLF CRLF CRLF LF_mix_CR LF_nul +checkout_files "auto" "" "" true crlf CRLF CRLF CRLF LF_mix_CR LF_nul +checkout_files "auto" "" "" true lf CRLF CRLF CRLF LF_mix_CR LF_nul +checkout_files "auto" "" "" true native CRLF CRLF CRLF LF_mix_CR LF_nul +checkout_files "auto" ident "" false "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "auto" ident "" false crlf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "auto" ident "" false lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "auto" ident "" false native LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "auto" ident "" input "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "auto" ident "" input lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "auto" ident "" true "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "auto" ident "" true crlf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "auto" ident "" true lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +checkout_files "auto" ident "" true native LF CRLF CRLF_mix_LF LF_mix_CR LF_nul + +for id in "" ident; +do + checkout_files "crlf" "$id" "" false "" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul + checkout_files "crlf" "$id" "" false crlf CRLF CRLF CRLF CRLF_mix_CR CRLF_nul + checkout_files "crlf" "$id" "" false lf CRLF CRLF CRLF CRLF_mix_CR CRLF_nul + checkout_files "crlf" "$id" "" false native CRLF CRLF CRLF CRLF_mix_CR CRLF_nul + checkout_files "crlf" "$id" "" input "" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul + checkout_files "crlf" "$id" "" input lf CRLF CRLF CRLF CRLF_mix_CR CRLF_nul + checkout_files "crlf" "$id" "" true "" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul + checkout_files "crlf" "$id" "" true crlf CRLF CRLF CRLF CRLF_mix_CR CRLF_nul + checkout_files "crlf" "$id" "" true lf CRLF CRLF CRLF CRLF_mix_CR CRLF_nul + checkout_files "crlf" "$id" "" true native CRLF CRLF CRLF CRLF_mix_CR CRLF_nul + checkout_files "lf" "$id" "" false "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul + checkout_files "lf" "$id" "" false crlf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul + checkout_files "lf" "$id" "" false lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul + checkout_files "lf" "$id" "" false native LF CRLF CRLF_mix_LF LF_mix_CR LF_nul + checkout_files "lf" "$id" "" input "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul + checkout_files "lf" "$id" "" input lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul + checkout_files "lf" "$id" "" true "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul + checkout_files "lf" "$id" "" true crlf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul + checkout_files "lf" "$id" "" true lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul + checkout_files "lf" "$id" "" true native LF CRLF CRLF_mix_LF LF_mix_CR LF_nul + checkout_files "text" "$id" "" false "" $NL CRLF $MIX_CRLF_LF $MIX_LF_CR $LFNUL + checkout_files "text" "$id" "" false crlf CRLF CRLF CRLF CRLF_mix_CR CRLF_nul + checkout_files "text" "$id" "" false lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul + checkout_files "text" "$id" "" false native $NL CRLF $MIX_CRLF_LF $MIX_LF_CR $LFNUL + checkout_files "text" "$id" "" input "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul + checkout_files "text" "$id" "" input lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul + checkout_files "text" "$id" "" true "" CRLF CRLF CRLF CRLF_mix_CR CRLF_nul + checkout_files "text" "$id" "" true crlf CRLF CRLF CRLF CRLF_mix_CR CRLF_nul + checkout_files "text" "$id" "" true lf CRLF CRLF CRLF CRLF_mix_CR CRLF_nul + checkout_files "text" "$id" "" true native CRLF CRLF CRLF CRLF_mix_CR CRLF_nul + checkout_files "-text" "$id" "" false "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul + checkout_files "-text" "$id" "" false crlf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul + checkout_files "-text" "$id" "" false lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul + checkout_files "-text" "$id" "" false native LF CRLF CRLF_mix_LF LF_mix_CR LF_nul + checkout_files "-text" "$id" "" input "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul + checkout_files "-text" "$id" "" input lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul + checkout_files "-text" "$id" "" true "" LF CRLF CRLF_mix_LF LF_mix_CR LF_nul + checkout_files "-text" "$id" "" true crlf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul + checkout_files "-text" "$id" "" true lf LF CRLF CRLF_mix_LF LF_mix_CR LF_nul + checkout_files "-text" "$id" "" true native LF CRLF CRLF_mix_LF LF_mix_CR LF_nul +done # Should be the last test case: remove some files from the worktree test_expect_success 'ls-files --eol -d -z' ' diff --git a/t/t0060-path-utils.sh b/t/t0060-path-utils.sh index 8532a028e7..bf2deee109 100755 --- a/t/t0060-path-utils.sh +++ b/t/t0060-path-utils.sh @@ -19,6 +19,13 @@ relative_path() { "test \"\$(test-path-utils relative_path '$1' '$2')\" = '$expected'" } +test_submodule_relative_url() { + test_expect_success "test_submodule_relative_url: $1 $2 $3 => $4" " + actual=\$(git submodule--helper resolve-relative-url-test '$1' '$2' '$3') && + test \"\$actual\" = '$4' + " +} + test_git_path() { test_expect_success "git-path $1 $2 => $3" " $1 git rev-parse --git-path $2 >actual && @@ -298,4 +305,43 @@ test_git_path GIT_COMMON_DIR=bar config bar/config test_git_path GIT_COMMON_DIR=bar packed-refs bar/packed-refs test_git_path GIT_COMMON_DIR=bar shallow bar/shallow +# In the tests below, the distinction between $PWD and $(pwd) is important: +# on Windows, $PWD is POSIX style (/c/foo), $(pwd) has drive letter (c:/foo). + +test_submodule_relative_url "../" "../foo" "../submodule" "../../submodule" +test_submodule_relative_url "../" "../foo/bar" "../submodule" "../../foo/submodule" +test_submodule_relative_url "../" "../foo/submodule" "../submodule" "../../foo/submodule" +test_submodule_relative_url "../" "./foo" "../submodule" "../submodule" +test_submodule_relative_url "../" "./foo/bar" "../submodule" "../foo/submodule" +test_submodule_relative_url "../../../" "../foo/bar" "../sub/a/b/c" "../../../../foo/sub/a/b/c" +test_submodule_relative_url "../" "$PWD/addtest" "../repo" "$(pwd)/repo" +test_submodule_relative_url "../" "foo/bar" "../submodule" "../foo/submodule" +test_submodule_relative_url "../" "foo" "../submodule" "../submodule" + +test_submodule_relative_url "(null)" "../foo/bar" "../sub/a/b/c" "../foo/sub/a/b/c" +test_submodule_relative_url "(null)" "../foo/bar" "../submodule" "../foo/submodule" +test_submodule_relative_url "(null)" "../foo/submodule" "../submodule" "../foo/submodule" +test_submodule_relative_url "(null)" "../foo" "../submodule" "../submodule" +test_submodule_relative_url "(null)" "./foo/bar" "../submodule" "foo/submodule" +test_submodule_relative_url "(null)" "./foo" "../submodule" "submodule" +test_submodule_relative_url "(null)" "//somewhere else/repo" "../subrepo" "//somewhere else/subrepo" +test_submodule_relative_url "(null)" "$PWD/subsuper_update_r" "../subsubsuper_update_r" "$(pwd)/subsubsuper_update_r" +test_submodule_relative_url "(null)" "$PWD/super_update_r2" "../subsuper_update_r" "$(pwd)/subsuper_update_r" +test_submodule_relative_url "(null)" "$PWD/." "../." "$(pwd)/." +test_submodule_relative_url "(null)" "$PWD" "./." "$(pwd)/." +test_submodule_relative_url "(null)" "$PWD/addtest" "../repo" "$(pwd)/repo" +test_submodule_relative_url "(null)" "$PWD" "./Γ₯ Àâ" "$(pwd)/Γ₯ Àâ" +test_submodule_relative_url "(null)" "$PWD/." "../submodule" "$(pwd)/submodule" +test_submodule_relative_url "(null)" "$PWD/submodule" "../submodule" "$(pwd)/submodule" +test_submodule_relative_url "(null)" "$PWD/home2/../remote" "../bundle1" "$(pwd)/home2/../bundle1" +test_submodule_relative_url "(null)" "$PWD/submodule_update_repo" "./." "$(pwd)/submodule_update_repo/." +test_submodule_relative_url "(null)" "file:///tmp/repo" "../subrepo" "file:///tmp/subrepo" +test_submodule_relative_url "(null)" "foo/bar" "../submodule" "foo/submodule" +test_submodule_relative_url "(null)" "foo" "../submodule" "submodule" +test_submodule_relative_url "(null)" "helper:://hostname/repo" "../subrepo" "helper:://hostname/subrepo" +test_submodule_relative_url "(null)" "ssh://hostname/repo" "../subrepo" "ssh://hostname/subrepo" +test_submodule_relative_url "(null)" "ssh://hostname:22/repo" "../subrepo" "ssh://hostname:22/subrepo" +test_submodule_relative_url "(null)" "user@host:path/to/repo" "../subrepo" "user@host:path/to/subrepo" +test_submodule_relative_url "(null)" "user@host:repo" "../subrepo" "user@host:subrepo" + test_done diff --git a/t/t0300-credentials.sh b/t/t0300-credentials.sh index d7ef44b4a2..03bd31e9f2 100755 --- a/t/t0300-credentials.sh +++ b/t/t0300-credentials.sh @@ -298,4 +298,15 @@ test_expect_success 'helpers can abort the process' ' test_cmp expect stdout ' +test_expect_success 'empty helper spec resets helper list' ' + test_config credential.helper "verbatim file file" && + check fill "" "verbatim cmdline cmdline" <<-\EOF + -- + username=cmdline + password=cmdline + -- + verbatim: get + EOF +' + test_done diff --git a/t/t1020-subdirectory.sh b/t/t1020-subdirectory.sh index 8e22b03cdd..df3183ea1a 100755 --- a/t/t1020-subdirectory.sh +++ b/t/t1020-subdirectory.sh @@ -141,13 +141,13 @@ test_expect_success 'GIT_PREFIX for !alias' ' test_expect_success 'GIT_PREFIX for built-ins' ' # Use GIT_EXTERNAL_DIFF to test that the "diff" built-in # receives the GIT_PREFIX variable. - printf "dir/" >expect && - printf "#!/bin/sh\n" >diff && - printf "printf \"\$GIT_PREFIX\"" >>diff && - chmod +x diff && + echo "dir/" >expect && + write_script diff <<-\EOF && + printf "%s\n" "$GIT_PREFIX" + EOF ( cd dir && - printf "change" >two && + echo "change" >two && GIT_EXTERNAL_DIFF=./diff git diff >../actual git checkout -- two ) && diff --git a/t/t1300-repo-config.sh b/t/t1300-repo-config.sh index c967740304..d934a24417 100755 --- a/t/t1300-repo-config.sh +++ b/t/t1300-repo-config.sh @@ -699,11 +699,13 @@ test_expect_success 'invalid unit' ' echo 1auto >expect && git config aninvalid.unit >actual && test_cmp expect actual && - cat >expect <<-\EOF && - fatal: bad numeric config value '\''1auto'\'' for '\''aninvalid.unit'\'' in .git/config: invalid unit - EOF test_must_fail git config --int --get aninvalid.unit 2>actual && - test_i18ncmp expect actual + test_i18ngrep "bad numeric config value .1auto. for .aninvalid.unit. in file .git/config: invalid unit" actual +' + +test_expect_success 'invalid stdin config' ' + echo "[broken" | test_must_fail git config --list --file - >output 2>&1 && + test_i18ngrep "bad config line 1 in standard input" output ' cat > expect << EOF @@ -957,13 +959,15 @@ Qsection.sub=section.val4 Qsection.sub=section.val5Q EOF test_expect_success '--null --list' ' - git config --null --list | nul_to_q >result && + git config --null --list >result.raw && + nul_to_q <result.raw >result && echo >>result && test_cmp expect result ' test_expect_success '--null --get-regexp' ' - git config --null --get-regexp "val[0-9]" | nul_to_q >result && + git config --null --get-regexp "val[0-9]" >result.raw && + nul_to_q <result.raw >result && echo >>result && test_cmp expect result ' @@ -1154,6 +1158,9 @@ test_expect_success 'urlmatch' ' cookieFile = /tmp/cookie.txt EOF + test_expect_code 1 git config --bool --get-urlmatch doesnt.exist https://good.example.com >actual && + test_must_be_empty actual && + echo true >expect && git config --bool --get-urlmatch http.SSLverify https://good.example.com >actual && test_cmp expect actual && @@ -1215,4 +1222,154 @@ test_expect_success POSIXPERM,PERL 'preserves existing permissions' ' "die q(badrename) if ((stat(q(.git/config)))[2] & 07777) != 0600" ' +! test_have_prereq MINGW || +HOME="$(pwd)" # convert to Windows path + +test_expect_success 'set up --show-origin tests' ' + INCLUDE_DIR="$HOME/include" && + mkdir -p "$INCLUDE_DIR" && + cat >"$INCLUDE_DIR"/absolute.include <<-\EOF && + [user] + absolute = include + EOF + cat >"$INCLUDE_DIR"/relative.include <<-\EOF && + [user] + relative = include + EOF + cat >"$HOME"/.gitconfig <<-EOF && + [user] + global = true + override = global + [include] + path = "$INCLUDE_DIR/absolute.include" + EOF + cat >.git/config <<-\EOF + [user] + local = true + override = local + [include] + path = ../include/relative.include + EOF +' + +test_expect_success '--show-origin with --list' ' + cat >expect <<-EOF && + file:$HOME/.gitconfig user.global=true + file:$HOME/.gitconfig user.override=global + file:$HOME/.gitconfig include.path=$INCLUDE_DIR/absolute.include + file:$INCLUDE_DIR/absolute.include user.absolute=include + file:.git/config user.local=true + file:.git/config user.override=local + file:.git/config include.path=../include/relative.include + file:.git/../include/relative.include user.relative=include + command line: user.cmdline=true + EOF + git -c user.cmdline=true config --list --show-origin >output && + test_cmp expect output +' + +test_expect_success '--show-origin with --list --null' ' + cat >expect <<-EOF && + file:$HOME/.gitconfigQuser.global + trueQfile:$HOME/.gitconfigQuser.override + globalQfile:$HOME/.gitconfigQinclude.path + $INCLUDE_DIR/absolute.includeQfile:$INCLUDE_DIR/absolute.includeQuser.absolute + includeQfile:.git/configQuser.local + trueQfile:.git/configQuser.override + localQfile:.git/configQinclude.path + ../include/relative.includeQfile:.git/../include/relative.includeQuser.relative + includeQcommand line:Quser.cmdline + trueQ + EOF + git -c user.cmdline=true config --null --list --show-origin >output.raw && + nul_to_q <output.raw >output && + # The here-doc above adds a newline that the --null output would not + # include. Add it here to make the two comparable. + echo >>output && + test_cmp expect output +' + +test_expect_success '--show-origin with single file' ' + cat >expect <<-\EOF && + file:.git/config user.local=true + file:.git/config user.override=local + file:.git/config include.path=../include/relative.include + EOF + git config --local --list --show-origin >output && + test_cmp expect output +' + +test_expect_success '--show-origin with --get-regexp' ' + cat >expect <<-EOF && + file:$HOME/.gitconfig user.global true + file:.git/config user.local true + EOF + git config --show-origin --get-regexp "user\.[g|l].*" >output && + test_cmp expect output +' + +test_expect_success '--show-origin getting a single key' ' + cat >expect <<-\EOF && + file:.git/config local + EOF + git config --show-origin user.override >output && + test_cmp expect output +' + +test_expect_success 'set up custom config file' ' + CUSTOM_CONFIG_FILE="file\" (dq) and spaces.conf" && + cat >"$CUSTOM_CONFIG_FILE" <<-\EOF + [user] + custom = true + EOF +' + +test_expect_success !MINGW '--show-origin escape special file name characters' ' + cat >expect <<-\EOF && + file:"file\" (dq) and spaces.conf" user.custom=true + EOF + git config --file "$CUSTOM_CONFIG_FILE" --show-origin --list >output && + test_cmp expect output +' + +test_expect_success '--show-origin stdin' ' + cat >expect <<-\EOF && + standard input: user.custom=true + EOF + git config --file - --show-origin --list <"$CUSTOM_CONFIG_FILE" >output && + test_cmp expect output +' + +test_expect_success '--show-origin stdin with file include' ' + cat >"$INCLUDE_DIR"/stdin.include <<-EOF && + [user] + stdin = include + EOF + cat >expect <<-EOF && + file:$INCLUDE_DIR/stdin.include include + EOF + echo "[include]path=\"$INCLUDE_DIR\"/stdin.include" \ + | git config --show-origin --includes --file - user.stdin >output && + test_cmp expect output +' + +test_expect_success !MINGW '--show-origin blob' ' + cat >expect <<-\EOF && + blob:a9d9f9e555b5c6f07cbe09d3f06fe3df11e09c08 user.custom=true + EOF + blob=$(git hash-object -w "$CUSTOM_CONFIG_FILE") && + git config --blob=$blob --show-origin --list >output && + test_cmp expect output +' + +test_expect_success !MINGW '--show-origin blob ref' ' + cat >expect <<-\EOF && + blob:"master:file\" (dq) and spaces.conf" user.custom=true + EOF + git add "$CUSTOM_CONFIG_FILE" && + git commit -m "new config file" && + git config --blob=master:"$CUSTOM_CONFIG_FILE" --show-origin --list >output && + test_cmp expect output +' + test_done diff --git a/t/t1308-config-set.sh b/t/t1308-config-set.sh index 91235b76ba..005d66dbef 100755 --- a/t/t1308-config-set.sh +++ b/t/t1308-config-set.sh @@ -195,14 +195,14 @@ test_expect_success 'proper error on error in default config files' ' cp .git/config .git/config.old && test_when_finished "mv .git/config.old .git/config" && echo "[" >>.git/config && - echo "fatal: bad config file line 34 in .git/config" >expect && + echo "fatal: bad config line 34 in file .git/config" >expect && test_expect_code 128 test-config get_value foo.bar 2>actual && test_cmp expect actual ' test_expect_success 'proper error on error in custom config files' ' echo "[" >>syntax-error && - echo "fatal: bad config file line 1 in syntax-error" >expect && + echo "fatal: bad config line 1 in file syntax-error" >expect && test_expect_code 128 test-config configset_get_value foo.bar syntax-error 2>actual && test_cmp expect actual ' @@ -218,4 +218,15 @@ test_expect_success 'check line errors for malformed values' ' test_i18ngrep "fatal: .*alias\.br.*\.git/config.*line 2" result ' +test_expect_success 'error on modifying repo config without repo' ' + mkdir no-repo && + ( + GIT_CEILING_DIRECTORIES=$(pwd) && + export GIT_CEILING_DIRECTORIES && + cd no-repo && + test_must_fail git config a.b c 2>err && + grep "not in a git directory" err + ) +' + test_done diff --git a/t/t1350-config-hooks-path.sh b/t/t1350-config-hooks-path.sh new file mode 100755 index 0000000000..5e3fb3a6af --- /dev/null +++ b/t/t1350-config-hooks-path.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +test_description='Test the core.hooksPath configuration variable' + +. ./test-lib.sh + +test_expect_success 'set up a pre-commit hook in core.hooksPath' ' + mkdir -p .git/custom-hooks .git/hooks && + write_script .git/custom-hooks/pre-commit <<-\EOF && + echo CUSTOM >>actual + EOF + write_script .git/hooks/pre-commit <<-\EOF + echo NORMAL >>actual + EOF +' + +test_expect_success 'Check that various forms of specifying core.hooksPath work' ' + test_commit no_custom_hook && + git config core.hooksPath .git/custom-hooks && + test_commit have_custom_hook && + git config core.hooksPath .git/custom-hooks/ && + test_commit have_custom_hook_trailing_slash && + git config core.hooksPath "$PWD/.git/custom-hooks" && + test_commit have_custom_hook_abs_path && + git config core.hooksPath "$PWD/.git/custom-hooks/" && + test_commit have_custom_hook_abs_path_trailing_slash && + cat >expect <<-\EOF && + NORMAL + CUSTOM + CUSTOM + CUSTOM + CUSTOM + EOF + test_cmp expect actual +' + +test_done diff --git a/t/t1410-reflog.sh b/t/t1410-reflog.sh index c623824b4d..9cf91dc6d2 100755 --- a/t/t1410-reflog.sh +++ b/t/t1410-reflog.sh @@ -338,4 +338,14 @@ test_expect_failure 'reflog with non-commit entries displays all entries' ' test_line_count = 3 actual ' +test_expect_success 'reflog expire operates on symref not referrent' ' + git branch -l the_symref && + git branch -l referrent && + git update-ref referrent HEAD && + git symbolic-ref refs/heads/the_symref refs/heads/referrent && + test_when_finished "rm -f .git/refs/heads/referrent.lock" && + touch .git/refs/heads/referrent.lock && + git reflog expire --expire=all the_symref +' + test_done diff --git a/t/t1430-bad-ref-name.sh b/t/t1430-bad-ref-name.sh index c465abe8e3..25ddab4e98 100755 --- a/t/t1430-bad-ref-name.sh +++ b/t/t1430-bad-ref-name.sh @@ -42,7 +42,7 @@ test_expect_success 'git branch shows badly named ref as warning' ' cp .git/refs/heads/master .git/refs/heads/broken...ref && test_when_finished "rm -f .git/refs/heads/broken...ref" && git branch >output 2>error && - grep -e "broken\.\.\.ref" error && + test_i18ngrep -e "ignoring ref with broken name refs/heads/broken\.\.\.ref" error && ! grep -e "broken\.\.\.ref" output ' @@ -147,35 +147,145 @@ test_expect_success 'rev-parse skips symref pointing to broken name' ' test_when_finished "rm -f .git/refs/heads/broken...ref" && git branch shadow one && cp .git/refs/heads/master .git/refs/heads/broken...ref && - git symbolic-ref refs/tags/shadow refs/heads/broken...ref && - + printf "ref: refs/heads/broken...ref\n" >.git/refs/tags/shadow && + test_when_finished "rm -f .git/refs/tags/shadow" && git rev-parse --verify one >expect && git rev-parse --verify shadow >actual 2>err && test_cmp expect actual && - test_i18ngrep "ignoring.*refs/tags/shadow" err + test_i18ngrep "ignoring dangling symref refs/tags/shadow" err ' -test_expect_success 'update-ref --no-deref -d can delete reference to broken name' ' - git symbolic-ref refs/heads/badname refs/heads/broken...ref && +test_expect_success 'for-each-ref emits warnings for broken names' ' + cp .git/refs/heads/master .git/refs/heads/broken...ref && + test_when_finished "rm -f .git/refs/heads/broken...ref" && + printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname && test_when_finished "rm -f .git/refs/heads/badname" && - test_path_is_file .git/refs/heads/badname && - git update-ref --no-deref -d refs/heads/badname && - test_path_is_missing .git/refs/heads/badname + printf "ref: refs/heads/master\n" >.git/refs/heads/broken...symref && + test_when_finished "rm -f .git/refs/heads/broken...symref" && + git for-each-ref >output 2>error && + ! grep -e "broken\.\.\.ref" output && + ! grep -e "badname" output && + ! grep -e "broken\.\.\.symref" output && + test_i18ngrep "ignoring ref with broken name refs/heads/broken\.\.\.ref" error && + test_i18ngrep "ignoring broken ref refs/heads/badname" error && + test_i18ngrep "ignoring ref with broken name refs/heads/broken\.\.\.symref" error ' test_expect_success 'update-ref -d can delete broken name' ' cp .git/refs/heads/master .git/refs/heads/broken...ref && test_when_finished "rm -f .git/refs/heads/broken...ref" && - git update-ref -d refs/heads/broken...ref && + git update-ref -d refs/heads/broken...ref >output 2>error && + test_must_be_empty output && + test_must_be_empty error && + git branch >output 2>error && + ! grep -e "broken\.\.\.ref" error && + ! grep -e "broken\.\.\.ref" output +' + +test_expect_success 'branch -d can delete broken name' ' + cp .git/refs/heads/master .git/refs/heads/broken...ref && + test_when_finished "rm -f .git/refs/heads/broken...ref" && + git branch -d broken...ref >output 2>error && + test_i18ngrep "Deleted branch broken...ref (was broken)" output && + test_must_be_empty error && git branch >output 2>error && ! grep -e "broken\.\.\.ref" error && ! grep -e "broken\.\.\.ref" output ' +test_expect_success 'update-ref --no-deref -d can delete symref to broken name' ' + cp .git/refs/heads/master .git/refs/heads/broken...ref && + test_when_finished "rm -f .git/refs/heads/broken...ref" && + printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname && + test_when_finished "rm -f .git/refs/heads/badname" && + git update-ref --no-deref -d refs/heads/badname >output 2>error && + test_path_is_missing .git/refs/heads/badname && + test_must_be_empty output && + test_must_be_empty error +' + +test_expect_success 'branch -d can delete symref to broken name' ' + cp .git/refs/heads/master .git/refs/heads/broken...ref && + test_when_finished "rm -f .git/refs/heads/broken...ref" && + printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname && + test_when_finished "rm -f .git/refs/heads/badname" && + git branch -d badname >output 2>error && + test_path_is_missing .git/refs/heads/badname && + test_i18ngrep "Deleted branch badname (was refs/heads/broken\.\.\.ref)" output && + test_must_be_empty error +' + +test_expect_success 'update-ref --no-deref -d can delete dangling symref to broken name' ' + printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname && + test_when_finished "rm -f .git/refs/heads/badname" && + git update-ref --no-deref -d refs/heads/badname >output 2>error && + test_path_is_missing .git/refs/heads/badname && + test_must_be_empty output && + test_must_be_empty error +' + +test_expect_success 'branch -d can delete dangling symref to broken name' ' + printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname && + test_when_finished "rm -f .git/refs/heads/badname" && + git branch -d badname >output 2>error && + test_path_is_missing .git/refs/heads/badname && + test_i18ngrep "Deleted branch badname (was refs/heads/broken\.\.\.ref)" output && + test_must_be_empty error +' + +test_expect_success 'update-ref -d can delete broken name through symref' ' + cp .git/refs/heads/master .git/refs/heads/broken...ref && + test_when_finished "rm -f .git/refs/heads/broken...ref" && + printf "ref: refs/heads/broken...ref\n" >.git/refs/heads/badname && + test_when_finished "rm -f .git/refs/heads/badname" && + git update-ref -d refs/heads/badname >output 2>error && + test_path_is_missing .git/refs/heads/broken...ref && + test_must_be_empty output && + test_must_be_empty error +' + +test_expect_success 'update-ref --no-deref -d can delete symref with broken name' ' + printf "ref: refs/heads/master\n" >.git/refs/heads/broken...symref && + test_when_finished "rm -f .git/refs/heads/broken...symref" && + git update-ref --no-deref -d refs/heads/broken...symref >output 2>error && + test_path_is_missing .git/refs/heads/broken...symref && + test_must_be_empty output && + test_must_be_empty error +' + +test_expect_success 'branch -d can delete symref with broken name' ' + printf "ref: refs/heads/master\n" >.git/refs/heads/broken...symref && + test_when_finished "rm -f .git/refs/heads/broken...symref" && + git branch -d broken...symref >output 2>error && + test_path_is_missing .git/refs/heads/broken...symref && + test_i18ngrep "Deleted branch broken...symref (was refs/heads/master)" output && + test_must_be_empty error +' + +test_expect_success 'update-ref --no-deref -d can delete dangling symref with broken name' ' + printf "ref: refs/heads/idonotexist\n" >.git/refs/heads/broken...symref && + test_when_finished "rm -f .git/refs/heads/broken...symref" && + git update-ref --no-deref -d refs/heads/broken...symref >output 2>error && + test_path_is_missing .git/refs/heads/broken...symref && + test_must_be_empty output && + test_must_be_empty error +' + +test_expect_success 'branch -d can delete dangling symref with broken name' ' + printf "ref: refs/heads/idonotexist\n" >.git/refs/heads/broken...symref && + test_when_finished "rm -f .git/refs/heads/broken...symref" && + git branch -d broken...symref >output 2>error && + test_path_is_missing .git/refs/heads/broken...symref && + test_i18ngrep "Deleted branch broken...symref (was refs/heads/idonotexist)" output && + test_must_be_empty error +' + test_expect_success 'update-ref -d cannot delete non-ref in .git dir' ' echo precious >.git/my-private-file && echo precious >expect && - test_must_fail git update-ref -d my-private-file && + test_must_fail git update-ref -d my-private-file >output 2>error && + test_must_be_empty output && + test_i18ngrep -e "cannot lock .*: unable to resolve reference" error && test_cmp expect .git/my-private-file ' diff --git a/t/t1501-worktree.sh b/t/t1501-work-tree.sh index cc5b870e58..cc5b870e58 100755 --- a/t/t1501-worktree.sh +++ b/t/t1501-work-tree.sh diff --git a/t/t1506-rev-parse-diagnosis.sh b/t/t1506-rev-parse-diagnosis.sh index 613d9bfe1b..86c2ff255d 100755 --- a/t/t1506-rev-parse-diagnosis.sh +++ b/t/t1506-rev-parse-diagnosis.sh @@ -166,11 +166,6 @@ test_expect_success 'relative path when cwd is outside worktree' ' grep "relative path syntax can.t be used outside working tree." error ' -test_expect_success 'relative path when startup_info is NULL' ' - test_must_fail test-match-trees HEAD:./file.txt HEAD:./file.txt 2>error && - grep "BUG: startup_info struct is not initialized." error -' - test_expect_success '<commit>:file correctly diagnosed after a pathname' ' test_must_fail git rev-parse file.txt HEAD:file.txt 1>actual 2>error && test_i18ngrep ! "exists on disk" error && diff --git a/t/t1509-root-worktree.sh b/t/t1509-root-work-tree.sh index 553a3f601b..553a3f601b 100755 --- a/t/t1509-root-worktree.sh +++ b/t/t1509-root-work-tree.sh diff --git a/t/t1515-rev-parse-outside-repo.sh b/t/t1515-rev-parse-outside-repo.sh new file mode 100755 index 0000000000..3ec2971ee5 --- /dev/null +++ b/t/t1515-rev-parse-outside-repo.sh @@ -0,0 +1,45 @@ +#!/bin/sh + +test_description='check that certain rev-parse options work outside repo' +. ./test-lib.sh + +test_expect_success 'set up non-repo directory' ' + GIT_CEILING_DIRECTORIES=$(pwd) && + export GIT_CEILING_DIRECTORIES && + mkdir non-repo && + cd non-repo && + # confirm that git does not find a repo + test_must_fail git rev-parse --git-dir +' + +# Rather than directly test the output of sq-quote directly, +# make sure the shell can read back a tricky case, since +# that's what we really care about anyway. +tricky="really tricky with \\ and \" and '" +dump_args () { + for i in "$@"; do + echo "arg: $i" + done +} +test_expect_success 'rev-parse --sq-quote' ' + dump_args "$tricky" easy >expect && + eval "dump_args $(git rev-parse --sq-quote "$tricky" easy)" >actual && + test_cmp expect actual +' + +test_expect_success 'rev-parse --local-env-vars' ' + git rev-parse --local-env-vars >actual && + # we do not want to depend on the complete list here, + # so just look for something plausible + grep ^GIT_DIR actual +' + +test_expect_success 'rev-parse --resolve-git-dir' ' + git init --separate-git-dir repo dir && + test_must_fail git rev-parse --resolve-git-dir . && + echo "$(pwd)/repo" >expect && + git rev-parse --resolve-git-dir dir/.git >actual && + test_cmp expect actual +' + +test_done diff --git a/t/t2025-worktree-add.sh b/t/t2025-worktree-add.sh index cbfa41ec61..3acb9926f2 100755 --- a/t/t2025-worktree-add.sh +++ b/t/t2025-worktree-add.sh @@ -213,4 +213,16 @@ test_expect_success 'local clone from linked checkout' ' ( cd here-clone && git fsck ) ' +test_expect_success '"add" worktree with --no-checkout' ' + git worktree add --no-checkout -b swamp swamp && + ! test -e swamp/init.t && + git -C swamp reset --hard && + test_cmp init.t swamp/init.t +' + +test_expect_success '"add" worktree with --checkout' ' + git worktree add --checkout -b swmap2 swamp2 && + test_cmp init.t swamp2/init.t +' + test_done diff --git a/t/t3001-ls-files-others-exclude.sh b/t/t3001-ls-files-others-exclude.sh index d043078da5..3fc484e8c3 100755 --- a/t/t3001-ls-files-others-exclude.sh +++ b/t/t3001-ls-files-others-exclude.sh @@ -175,10 +175,13 @@ test_expect_success 'negated exclude matches can override previous ones' ' grep "^a.1" output ' -test_expect_success 'excluded directory does not override content patterns' ' +test_expect_success 'excluded directory overrides content patterns' ' git ls-files --others --exclude="one" --exclude="!one/a.1" >output && - grep "^one/a.1" output + if grep "^one/a.1" output + then + false + fi ' test_expect_success 'negated directory doesn'\''t affect content patterns' ' diff --git a/t/t3007-ls-files-other-negative.sh b/t/t3007-ls-files-other-negative.sh deleted file mode 100755 index 0797b86ad0..0000000000 --- a/t/t3007-ls-files-other-negative.sh +++ /dev/null @@ -1,153 +0,0 @@ -#!/bin/sh - -test_description='test re-include patterns' - -. ./test-lib.sh - -test_expect_success 'setup' ' - mkdir -p fooo foo/bar tmp && - touch abc foo/def foo/bar/ghi foo/bar/bar -' - -test_expect_success 'no match, do not enter subdir and waste cycles' ' - cat >.gitignore <<-\EOF && - /tmp - /foo - !fooo/bar/bar - EOF - GIT_TRACE_EXCLUDE="$(pwd)/tmp/trace" git ls-files -o --exclude-standard >tmp/actual && - ! grep "enter .foo/.\$" tmp/trace && - cat >tmp/expected <<-\EOF && - .gitignore - abc - EOF - test_cmp tmp/expected tmp/actual -' - -test_expect_success 'match, excluded by literal pathname pattern' ' - cat >.gitignore <<-\EOF && - /tmp - /fooo - /foo - !foo/bar/bar - EOF - cat >fooo/.gitignore <<-\EOF && - !/* - EOF git ls-files -o --exclude-standard >tmp/actual && - cat >tmp/expected <<-\EOF && - .gitignore - abc - foo/bar/bar - EOF - test_cmp tmp/expected tmp/actual -' - -test_expect_success 'match, excluded by wildcard pathname pattern' ' - cat >.gitignore <<-\EOF && - /tmp - /fooo - /fo? - !foo/bar/bar - EOF - git ls-files -o --exclude-standard >tmp/actual && - cat >tmp/expected <<-\EOF && - .gitignore - abc - foo/bar/bar - EOF - test_cmp tmp/expected tmp/actual -' - -test_expect_success 'match, excluded by literal basename pattern' ' - cat >.gitignore <<-\EOF && - /tmp - /fooo - foo - !foo/bar/bar - EOF - git ls-files -o --exclude-standard >tmp/actual && - cat >tmp/expected <<-\EOF && - .gitignore - abc - foo/bar/bar - EOF - test_cmp tmp/expected tmp/actual -' - -test_expect_success 'match, excluded by wildcard basename pattern' ' - cat >.gitignore <<-\EOF && - /tmp - /fooo - fo? - !foo/bar/bar - EOF - git ls-files -o --exclude-standard >tmp/actual && - cat >tmp/expected <<-\EOF && - .gitignore - abc - foo/bar/bar - EOF - test_cmp tmp/expected tmp/actual -' - -test_expect_success 'match, excluded by literal mustbedir, basename pattern' ' - cat >.gitignore <<-\EOF && - /tmp - /fooo - foo/ - !foo/bar/bar - EOF - git ls-files -o --exclude-standard >tmp/actual && - cat >tmp/expected <<-\EOF && - .gitignore - abc - foo/bar/bar - EOF - test_cmp tmp/expected tmp/actual -' - -test_expect_success 'match, excluded by literal mustbedir, pathname pattern' ' - cat >.gitignore <<-\EOF && - /tmp - /fooo - /foo/ - !foo/bar/bar - EOF - git ls-files -o --exclude-standard >tmp/actual && - cat >tmp/expected <<-\EOF && - .gitignore - abc - foo/bar/bar - EOF - test_cmp tmp/expected tmp/actual -' - -test_expect_success 'prepare for nested negatives' ' - cat >.git/info/exclude <<-\EOF && - /.gitignore - /tmp - /foo - /abc - EOF - git ls-files -o --exclude-standard >tmp/actual && - test_must_be_empty tmp/actual && - mkdir -p 1/2/3/4 && - touch 1/f 1/2/f 1/2/3/f 1/2/3/4/f -' - -test_expect_success 'match, literal pathname, nested negatives' ' - cat >.gitignore <<-\EOF && - /1 - !1/2 - 1/2/3 - !1/2/3/4 - EOF - git ls-files -o --exclude-standard >tmp/actual && - cat >tmp/expected <<-\EOF && - 1/2/3/4/f - 1/2/f - EOF - test_cmp tmp/expected tmp/actual -' - -test_done diff --git a/t/t3032-merge-recursive-options.sh b/t/t3032-merge-recursive-space-options.sh index 4029c9c8c0..b56180ee4a 100755 --- a/t/t3032-merge-recursive-options.sh +++ b/t/t3032-merge-recursive-space-options.sh @@ -1,6 +1,6 @@ #!/bin/sh -test_description='merge-recursive options +test_description='merge-recursive space options * [master] Clarify ! [remote] Remove cruft diff --git a/t/t3033-merge-toplevel.sh b/t/t3033-merge-toplevel.sh index 46aadc410b..d314599428 100755 --- a/t/t3033-merge-toplevel.sh +++ b/t/t3033-merge-toplevel.sh @@ -19,6 +19,8 @@ test_expect_success setup ' test_commit three && git checkout right && test_commit four && + git checkout --orphan newroot && + test_commit five && git checkout master ' @@ -133,4 +135,18 @@ test_expect_success 'merge FETCH_HEAD octopus non-fast-forward' ' test_cmp expect actual ' +# two-project merge +test_expect_success 'refuse two-project merge by default' ' + t3033_reset && + git reset --hard four && + test_must_fail git merge five +' + +test_expect_success 'two-project merge with --allow-unrelated-histories' ' + t3033_reset && + git reset --hard four && + git merge --allow-unrelated-histories five && + git diff --exit-code five +' + test_done diff --git a/t/t3034-merge-recursive-rename-options.sh b/t/t3034-merge-recursive-rename-options.sh new file mode 100755 index 0000000000..b9c4028496 --- /dev/null +++ b/t/t3034-merge-recursive-rename-options.sh @@ -0,0 +1,312 @@ +#!/bin/sh + +test_description='merge-recursive rename options + +Test rename detection by examining rename/delete conflicts. + +* (HEAD -> rename) rename +| * (master) delete +|/ +* base + +git diff --name-status base master +D 0-old +D 1-old +D 2-old +D 3-old + +git diff --name-status -M01 base rename +R025 0-old 0-new +R050 1-old 1-new +R075 2-old 2-new +R100 3-old 3-new + +Actual similarity indices are parsed from diff output. We rely on the fact that +they are rounded down (see, e.g., Documentation/diff-generate-patch.txt, which +mentions this in a different context). +' + +. ./test-lib.sh + +get_expected_stages () { + git checkout rename -- $1-new && + git ls-files --stage $1-new >expected-stages-undetected-$1 && + sed "s/ 0 / 2 /" <expected-stages-undetected-$1 \ + >expected-stages-detected-$1 && + git read-tree -u --reset HEAD +} + +rename_detected () { + git ls-files --stage $1-old $1-new >stages-actual-$1 && + test_cmp expected-stages-detected-$1 stages-actual-$1 +} + +rename_undetected () { + git ls-files --stage $1-old $1-new >stages-actual-$1 && + test_cmp expected-stages-undetected-$1 stages-actual-$1 +} + +check_common () { + git ls-files --stage >stages-actual && + test_line_count = 4 stages-actual +} + +check_threshold_0 () { + check_common && + rename_detected 0 && + rename_detected 1 && + rename_detected 2 && + rename_detected 3 +} + +check_threshold_1 () { + check_common && + rename_undetected 0 && + rename_detected 1 && + rename_detected 2 && + rename_detected 3 +} + +check_threshold_2 () { + check_common && + rename_undetected 0 && + rename_undetected 1 && + rename_detected 2 && + rename_detected 3 +} + +check_exact_renames () { + check_common && + rename_undetected 0 && + rename_undetected 1 && + rename_undetected 2 && + rename_detected 3 +} + +check_no_renames () { + check_common && + rename_undetected 0 && + rename_undetected 1 && + rename_undetected 2 && + rename_undetected 3 +} + +test_expect_success 'setup repo' ' + cat <<-\EOF >3-old && + 33a + 33b + 33c + 33d + EOF + sed s/33/22/ <3-old >2-old && + sed s/33/11/ <3-old >1-old && + sed s/33/00/ <3-old >0-old && + git add [0-3]-old && + git commit -m base && + git rm [0-3]-old && + git commit -m delete && + git checkout -b rename HEAD^ && + cp 3-old 3-new && + sed 1,1s/./x/ <2-old >2-new && + sed 1,2s/./x/ <1-old >1-new && + sed 1,3s/./x/ <0-old >0-new && + git add [0-3]-new && + git rm [0-3]-old && + git commit -m rename && + get_expected_stages 0 && + get_expected_stages 1 && + get_expected_stages 2 && + get_expected_stages 3 && + check_50="false" && + tail="HEAD^ -- HEAD master" +' + +test_expect_success 'setup thresholds' ' + git diff --name-status -M01 HEAD^ HEAD >diff-output && + test_debug "cat diff-output" && + test_line_count = 4 diff-output && + grep "R[0-9][0-9][0-9] \([0-3]\)-old \1-new" diff-output \ + >grep-output && + test_cmp diff-output grep-output && + th0=$(sed -n "s/R\(...\) 0-old 0-new/\1/p" <diff-output) && + th1=$(sed -n "s/R\(...\) 1-old 1-new/\1/p" <diff-output) && + th2=$(sed -n "s/R\(...\) 2-old 2-new/\1/p" <diff-output) && + th3=$(sed -n "s/R\(...\) 3-old 3-new/\1/p" <diff-output) && + test "$th0" -lt "$th1" && + test "$th1" -lt "$th2" && + test "$th2" -lt "$th3" && + test "$th3" = 100 && + if test 50 -le "$th0" + then + check_50=check_threshold_0 + elif test 50 -le "$th1" + then + check_50=check_threshold_1 + elif test 50 -le "$th2" + then + check_50=check_threshold_2 + fi && + th0="$th0%" && + th1="$th1%" && + th2="$th2%" && + th3="$th3%" +' + +test_expect_success 'assumption for tests: rename detection with diff' ' + git diff --name-status -M$th0 --diff-filter=R HEAD^ HEAD \ + >diff-output-0 && + git diff --name-status -M$th1 --diff-filter=R HEAD^ HEAD \ + >diff-output-1 && + git diff --name-status -M$th2 --diff-filter=R HEAD^ HEAD \ + >diff-output-2 && + git diff --name-status -M100% --diff-filter=R HEAD^ HEAD \ + >diff-output-3 && + test_line_count = 4 diff-output-0 && + test_line_count = 3 diff-output-1 && + test_line_count = 2 diff-output-2 && + test_line_count = 1 diff-output-3 +' + +test_expect_success 'default similarity threshold is 50%' ' + git read-tree --reset -u HEAD && + test_must_fail git merge-recursive $tail && + $check_50 +' + +test_expect_success 'low rename threshold' ' + git read-tree --reset -u HEAD && + test_must_fail git merge-recursive --find-renames=$th0 $tail && + check_threshold_0 +' + +test_expect_success 'medium rename threshold' ' + git read-tree --reset -u HEAD && + test_must_fail git merge-recursive --find-renames=$th1 $tail && + check_threshold_1 +' + +test_expect_success 'high rename threshold' ' + git read-tree --reset -u HEAD && + test_must_fail git merge-recursive --find-renames=$th2 $tail && + check_threshold_2 +' + +test_expect_success 'exact renames only' ' + git read-tree --reset -u HEAD && + test_must_fail git merge-recursive --find-renames=100% $tail && + check_exact_renames +' + +test_expect_success 'rename threshold is truncated' ' + git read-tree --reset -u HEAD && + test_must_fail git merge-recursive --find-renames=200% $tail && + check_exact_renames +' + +test_expect_success 'disabled rename detection' ' + git read-tree --reset -u HEAD && + git merge-recursive --no-renames $tail && + check_no_renames +' + +test_expect_success 'last wins in --find-renames=<m> --find-renames=<n>' ' + git read-tree --reset -u HEAD && + test_must_fail git merge-recursive \ + --find-renames=$th0 --find-renames=$th2 $tail && + check_threshold_2 +' + +test_expect_success '--find-renames resets threshold' ' + git read-tree --reset -u HEAD && + test_must_fail git merge-recursive \ + --find-renames=$th0 --find-renames $tail && + $check_50 +' + +test_expect_success 'last wins in --no-renames --find-renames' ' + git read-tree --reset -u HEAD && + test_must_fail git merge-recursive --no-renames --find-renames $tail && + $check_50 +' + +test_expect_success 'last wins in --find-renames --no-renames' ' + git read-tree --reset -u HEAD && + git merge-recursive --find-renames --no-renames $tail && + check_no_renames +' + +test_expect_success 'assumption for further tests: trivial merge succeeds' ' + git read-tree --reset -u HEAD && + git merge-recursive HEAD -- HEAD HEAD && + git diff --quiet --cached && + git merge-recursive --find-renames=$th0 HEAD -- HEAD HEAD && + git diff --quiet --cached && + git merge-recursive --find-renames=$th2 HEAD -- HEAD HEAD && + git diff --quiet --cached && + git merge-recursive --find-renames=100% HEAD -- HEAD HEAD && + git diff --quiet --cached && + git merge-recursive --no-renames HEAD -- HEAD HEAD && + git diff --quiet --cached +' + +test_expect_success '--find-renames rejects negative argument' ' + git read-tree --reset -u HEAD && + test_must_fail git merge-recursive --find-renames=-25 \ + HEAD -- HEAD HEAD && + git diff --quiet --cached +' + +test_expect_success '--find-renames rejects non-numbers' ' + git read-tree --reset -u HEAD && + test_must_fail git merge-recursive --find-renames=0xf \ + HEAD -- HEAD HEAD && + git diff --quiet --cached +' + +test_expect_success 'rename-threshold=<n> is a synonym for find-renames=<n>' ' + git read-tree --reset -u HEAD && + test_must_fail git merge-recursive --rename-threshold=$th0 $tail && + check_threshold_0 +' + +test_expect_success 'last wins in --no-renames --rename-threshold=<n>' ' + git read-tree --reset -u HEAD && + test_must_fail git merge-recursive --no-renames --rename-threshold=$th0 $tail && + check_threshold_0 +' + +test_expect_success 'last wins in --rename-threshold=<n> --no-renames' ' + git read-tree --reset -u HEAD && + git merge-recursive --rename-threshold=$th0 --no-renames $tail && + check_no_renames +' + +test_expect_success '--rename-threshold=<n> rejects negative argument' ' + git read-tree --reset -u HEAD && + test_must_fail git merge-recursive --rename-threshold=-25 \ + HEAD -- HEAD HEAD && + git diff --quiet --cached +' + +test_expect_success '--rename-threshold=<n> rejects non-numbers' ' + git read-tree --reset -u HEAD && + test_must_fail git merge-recursive --rename-threshold=0xf \ + HEAD -- HEAD HEAD && + git diff --quiet --cached +' + +test_expect_success 'last wins in --rename-threshold=<m> --find-renames=<n>' ' + git read-tree --reset -u HEAD && + test_must_fail git merge-recursive \ + --rename-threshold=$th0 --find-renames=$th2 $tail && + check_threshold_2 +' + +test_expect_success 'last wins in --find-renames=<m> --rename-threshold=<n>' ' + git read-tree --reset -u HEAD && + test_must_fail git merge-recursive \ + --find-renames=$th2 --rename-threshold=$th0 $tail && + check_threshold_0 +' + +test_done diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh index cdaf6f64ec..f3e3b6cf2e 100755 --- a/t/t3200-branch.sh +++ b/t/t3200-branch.sh @@ -126,7 +126,28 @@ test_expect_success 'git branch -M foo bar should fail when bar is checked out' test_expect_success 'git branch -M baz bam should succeed when baz is checked out' ' git checkout -b baz && git branch bam && - git branch -M baz bam + git branch -M baz bam && + test $(git rev-parse --abbrev-ref HEAD) = bam +' + +test_expect_success 'git branch -M baz bam should succeed when baz is checked out as linked working tree' ' + git checkout master && + git worktree add -b baz bazdir && + git worktree add -f bazdir2 baz && + git branch -M baz bam && + test $(git -C bazdir rev-parse --abbrev-ref HEAD) = bam && + test $(git -C bazdir2 rev-parse --abbrev-ref HEAD) = bam +' + +test_expect_success 'git branch -M baz bam should succeed within a worktree in which baz is checked out' ' + git checkout -b baz && + git worktree add -f bazdir3 baz && + ( + cd bazdir3 && + git branch -M baz bam && + test $(git rev-parse --abbrev-ref HEAD) = bam + ) && + test $(git rev-parse --abbrev-ref HEAD) = bam ' test_expect_success 'git branch -M master should work when master is checked out' ' @@ -403,6 +424,12 @@ test_expect_success 'test deleting branch without config' ' test_i18ncmp expect actual ' +test_expect_success 'deleting currently checked out branch fails' ' + git worktree add -b my7 my7 && + test_must_fail git -C my7 branch -d my7 && + test_must_fail git branch -d my7 +' + test_expect_success 'test --track without .fetch entries' ' git branch --track my8 && test "$(git config branch.my8.remote)" && @@ -446,6 +473,13 @@ test_expect_success '--set-upstream-to fails on a non-ref' ' test_must_fail git branch --set-upstream-to HEAD^{} ' +test_expect_success '--set-upstream-to fails on locked config' ' + test_when_finished "rm -f .git/config.lock" && + >.git/config.lock && + git branch locked && + test_must_fail git branch --set-upstream-to locked +' + test_expect_success 'use --set-upstream-to modify HEAD' ' test_config branch.master.remote foo && test_config branch.master.merge foo && @@ -466,6 +500,13 @@ test_expect_success '--unset-upstream should fail if given a non-existent branch test_must_fail git branch --unset-upstream i-dont-exist ' +test_expect_success '--unset-upstream should fail if config is locked' ' + test_when_finished "rm -f .git/config.lock" && + git branch --set-upstream-to locked && + >.git/config.lock && + test_must_fail git branch --unset-upstream +' + test_expect_success 'test --unset-upstream on HEAD' ' git branch my14 && test_config branch.master.remote foo && @@ -579,7 +620,7 @@ test_expect_success 'avoid ambiguous track' ' git config remote.ambi1.fetch refs/heads/lalala:refs/heads/master && git config remote.ambi2.url lilili && git config remote.ambi2.fetch refs/heads/lilili:refs/heads/master && - git branch all1 master && + test_must_fail git branch all1 master && test -z "$(git config branch.all1.merge)" ' diff --git a/t/t3203-branch-output.sh b/t/t3203-branch-output.sh index 4261403cf6..c6a3ccba1b 100755 --- a/t/t3203-branch-output.sh +++ b/t/t3203-branch-output.sh @@ -184,4 +184,16 @@ test_expect_success 'ambiguous branch/tag not marked' ' test_cmp expect actual ' +test_expect_success 'local-branch symrefs shortened properly' ' + git symbolic-ref refs/heads/ref-to-branch refs/heads/branch-one && + git symbolic-ref refs/heads/ref-to-remote refs/remotes/origin/branch-one && + cat >expect <<-\EOF && + ref-to-branch -> branch-one + ref-to-remote -> refs/remotes/origin/branch-one + EOF + git branch >actual.raw && + grep ref-to <actual.raw >actual && + test_cmp expect actual +' + test_done diff --git a/t/t3402-rebase-merge.sh b/t/t3402-rebase-merge.sh index 8f64505e4f..488945e007 100755 --- a/t/t3402-rebase-merge.sh +++ b/t/t3402-rebase-merge.sh @@ -85,6 +85,15 @@ test_expect_success 'rebase -Xtheirs' ' ! grep 11 original ' +test_expect_success 'rebase -Xtheirs from orphan' ' + git checkout --orphan orphan-conflicting master~2 && + echo "AB $T" >> original && + git commit -morphan-conflicting original && + git rebase -Xtheirs master && + grep AB original && + ! grep 11 original +' + test_expect_success 'merge and rebase should match' ' git diff-tree -r test-rebase test-merge >difference && if test -s difference diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh index 544f9ad508..66348f11d1 100755 --- a/t/t3404-rebase-interactive.sh +++ b/t/t3404-rebase-interactive.sh @@ -62,7 +62,7 @@ test_expect_success 'setup' ' # "exec" commands are ran with the user shell by default, but this may # be non-POSIX. For example, if SHELL=zsh then ">file" doesn't work -# to create a file. Unseting SHELL avoids such non-portable behavior +# to create a file. Unsetting SHELL avoids such non-portable behavior # in tests. It must be exported for it to take effect where needed. SHELL= export SHELL @@ -555,10 +555,9 @@ test_expect_success 'rebase a detached HEAD' ' test_expect_success 'rebase a commit violating pre-commit' ' mkdir -p .git/hooks && - PRE_COMMIT=.git/hooks/pre-commit && - echo "#!/bin/sh" > $PRE_COMMIT && - echo "test -z \"\$(git diff --cached --check)\"" >> $PRE_COMMIT && - chmod a+x $PRE_COMMIT && + write_script .git/hooks/pre-commit <<-\EOF && + test -z "$(git diff --cached --check)" + EOF echo "monde! " >> file1 && test_tick && test_must_fail git commit -m doesnt-verify file1 && @@ -771,7 +770,6 @@ test_expect_success 'rebase-i history with funny messages' ' test_cmp expect actual ' - test_expect_success 'prepare for rebase -i --exec' ' git checkout master && git checkout -b execute && @@ -780,7 +778,6 @@ test_expect_success 'prepare for rebase -i --exec' ' test_commit three_exec main.txt three_exec ' - test_expect_success 'running "git rebase -i --exec git show HEAD"' ' set_fake_editor && git rebase -i --exec "git show HEAD" HEAD~2 >actual && @@ -793,7 +790,6 @@ test_expect_success 'running "git rebase -i --exec git show HEAD"' ' test_cmp expected actual ' - test_expect_success 'running "git rebase --exec git show HEAD -i"' ' git reset --hard execute && set_fake_editor && @@ -807,7 +803,6 @@ test_expect_success 'running "git rebase --exec git show HEAD -i"' ' test_cmp expected actual ' - test_expect_success 'running "git rebase -ix git show HEAD"' ' git reset --hard execute && set_fake_editor && @@ -835,7 +830,6 @@ test_expect_success 'rebase -ix with several <CMD>' ' test_cmp expected actual ' - test_expect_success 'rebase -ix with several instances of --exec' ' git reset --hard execute && set_fake_editor && @@ -850,7 +844,6 @@ test_expect_success 'rebase -ix with several instances of --exec' ' test_cmp expected actual ' - test_expect_success 'rebase -ix with --autosquash' ' git reset --hard execute && git checkout -b autosquash && @@ -876,16 +869,15 @@ test_expect_success 'rebase -ix with --autosquash' ' test_cmp expected actual ' - -test_expect_success 'rebase --exec without -i shows error message' ' +test_expect_success 'rebase --exec works without -i ' ' git reset --hard execute && - set_fake_editor && - test_must_fail git rebase --exec "git show HEAD" HEAD~2 2>actual && - echo "The --exec option must be used with the --interactive option" >expected && - test_i18ncmp expected actual + rm -rf exec_output && + EDITOR="echo >invoked_editor" git rebase --exec "echo a line >>exec_output" HEAD~2 2>actual && + test_i18ngrep "Successfully rebased and updated" actual && + test_line_count = 2 exec_output && + test_path_is_missing invoked_editor ' - test_expect_success 'rebase -i --exec without <CMD>' ' git reset --hard execute && set_fake_editor && diff --git a/t/t3412-rebase-root.sh b/t/t3412-rebase-root.sh index 0b52105728..73a39f2923 100755 --- a/t/t3412-rebase-root.sh +++ b/t/t3412-rebase-root.sh @@ -133,7 +133,7 @@ test_expect_success 'set up second root and merge' ' rm A B C && test_commit 6 D && git checkout other && - git merge third + git merge --allow-unrelated-histories third ' cat > expect-third <<'EOF' diff --git a/t/t3421-rebase-topology-linear.sh b/t/t3421-rebase-topology-linear.sh index 9c55cba198..68fe2003ef 100755 --- a/t/t3421-rebase-topology-linear.sh +++ b/t/t3421-rebase-topology-linear.sh @@ -253,7 +253,7 @@ test_run_rebase () { " } test_run_rebase success '' -test_run_rebase failure -m +test_run_rebase success -m test_run_rebase success -i test_run_rebase success -p @@ -268,7 +268,7 @@ test_run_rebase () { " } test_run_rebase success '' -test_run_rebase failure -m +test_run_rebase success -m test_run_rebase success -i test_run_rebase failure -p diff --git a/t/t3513-revert-submodule.sh b/t/t3513-revert-submodule.sh index a1c4e0216f..db9378142a 100755 --- a/t/t3513-revert-submodule.sh +++ b/t/t3513-revert-submodule.sh @@ -14,11 +14,11 @@ test_description='revert can handle submodules' git_revert () { git status -su >expect && ls -1pR * >>expect && - tar czf "$TRASH_DIRECTORY/tmp.tgz" * && + tar cf "$TRASH_DIRECTORY/tmp.tar" * && git checkout "$1" && git revert HEAD && rm -rf * && - tar xzf "$TRASH_DIRECTORY/tmp.tgz" && + tar xf "$TRASH_DIRECTORY/tmp.tar" && git status -su >actual && ls -1pR * >>actual && test_cmp expect actual && diff --git a/t/t4001-diff-rename.sh b/t/t4001-diff-rename.sh index 2f327b7495..0d1fa45d25 100755 --- a/t/t4001-diff-rename.sh +++ b/t/t4001-diff-rename.sh @@ -9,21 +9,84 @@ test_description='Test rename detection in diff engine. . ./test-lib.sh . "$TEST_DIRECTORY"/diff-lib.sh -echo >path0 'Line 1 -Line 2 -Line 3 -Line 4 -Line 5 -Line 6 -Line 7 -Line 8 -Line 9 -Line 10 -line 11 -Line 12 -Line 13 -Line 14 -Line 15 +test_expect_success 'setup' ' + cat >path0 <<-\EOF && + Line 1 + Line 2 + Line 3 + Line 4 + Line 5 + Line 6 + Line 7 + Line 8 + Line 9 + Line 10 + line 11 + Line 12 + Line 13 + Line 14 + Line 15 + EOF + cat >expected <<-\EOF && + diff --git a/path0 b/path1 + rename from path0 + rename to path1 + --- a/path0 + +++ b/path1 + @@ -8,7 +8,7 @@ Line 7 + Line 8 + Line 9 + Line 10 + -line 11 + +Line 11 + Line 12 + Line 13 + Line 14 + EOF + cat >no-rename <<-\EOF + diff --git a/path0 b/path0 + deleted file mode 100644 + index fdbec44..0000000 + --- a/path0 + +++ /dev/null + @@ -1,15 +0,0 @@ + -Line 1 + -Line 2 + -Line 3 + -Line 4 + -Line 5 + -Line 6 + -Line 7 + -Line 8 + -Line 9 + -Line 10 + -line 11 + -Line 12 + -Line 13 + -Line 14 + -Line 15 + diff --git a/path1 b/path1 + new file mode 100644 + index 0000000..752c50e + --- /dev/null + +++ b/path1 + @@ -0,0 +1,15 @@ + +Line 1 + +Line 2 + +Line 3 + +Line 4 + +Line 5 + +Line 6 + +Line 7 + +Line 8 + +Line 9 + +Line 10 + +Line 11 + +Line 12 + +Line 13 + +Line 14 + +Line 15 + EOF ' test_expect_success \ @@ -43,27 +106,27 @@ test_expect_success \ test_expect_success \ 'git diff-index -p -M after rename and editing.' \ 'git diff-index -p -M $tree >current' -cat >expected <<\EOF -diff --git a/path0 b/path1 -rename from path0 -rename to path1 ---- a/path0 -+++ b/path1 -@@ -8,7 +8,7 @@ Line 7 - Line 8 - Line 9 - Line 10 --line 11 -+Line 11 - Line 12 - Line 13 - Line 14 -EOF + test_expect_success \ 'validate the output.' \ 'compare_diff_patch current expected' +test_expect_success 'test diff.renames=true' ' + git -c diff.renames=true diff --cached $tree >current && + compare_diff_patch current expected +' + +test_expect_success 'test diff.renames=false' ' + git -c diff.renames=false diff --cached $tree >current && + compare_diff_patch current no-rename +' + +test_expect_success 'test diff.renames unset' ' + git diff --cached $tree >current && + compare_diff_patch current expected +' + test_expect_success 'favour same basenames over different ones' ' cp path1 another-path && git add another-path && @@ -77,6 +140,17 @@ test_expect_success 'favour same basenames even with minor differences' ' git show HEAD:path1 | sed "s/15/16/" > subdir/path1 && git status | test_i18ngrep "renamed: .*path1 -> subdir/path1"' +test_expect_success 'two files with same basename and same content' ' + git reset --hard && + mkdir -p dir/A dir/B && + cp path1 dir/A/file && + cp path1 dir/B/file && + git add dir && + git commit -m 2 && + git mv dir other-dir && + git status | test_i18ngrep "renamed: .*dir/A/file -> other-dir/A/file" +' + test_expect_success 'setup for many rename source candidates' ' git reset --hard && for i in 0 1 2 3 4 5 6 7 8 9; diff --git a/t/t4013-diff-various.sh b/t/t4013-diff-various.sh index 6ec6072118..94ef5000e7 100755 --- a/t/t4013-diff-various.sh +++ b/t/t4013-diff-various.sh @@ -90,6 +90,8 @@ test_expect_success setup ' git commit -m "Rearranged lines in dir/sub" && git checkout master && + git config diff.renames false && + git show-branch ' diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh index 3b99434e3e..eed2981b96 100755 --- a/t/t4014-format-patch.sh +++ b/t/t4014-format-patch.sh @@ -549,7 +549,7 @@ test_expect_success 'cover-letter inherits diff options' ' git mv file foo && git commit -m foo && - git format-patch --cover-letter -1 && + git format-patch --no-renames --cover-letter -1 && check_patch 0000-cover-letter.patch && ! grep "file => foo .* 0 *\$" 0000-cover-letter.patch && git format-patch --cover-letter -1 -M && @@ -703,7 +703,7 @@ test_expect_success 'options no longer allowed for format-patch' ' test_expect_success 'format-patch --numstat should produce a patch' ' git format-patch --numstat --stdout master..side > output && - test 6 = $(grep "^diff --git a/" output | wc -l)' + test 5 = $(grep "^diff --git a/" output | wc -l)' test_expect_success 'format-patch -- <path>' ' git format-patch master..side -- file 2>error && diff --git a/t/t4047-diff-dirstat.sh b/t/t4047-diff-dirstat.sh index 3b8b7921d6..447a8ffa3a 100755 --- a/t/t4047-diff-dirstat.sh +++ b/t/t4047-diff-dirstat.sh @@ -248,7 +248,8 @@ EOF git rm -r src/move/unchanged && git rm -r src/move/changed && git rm -r src/move/rearranged && - git commit -m "changes" + git commit -m "changes" && + git config diff.renames false ' cat <<EOF >expect_diff_stat diff --git a/t/t4200-rerere.sh b/t/t4200-rerere.sh index ed9c91e25b..1a080e7823 100755 --- a/t/t4200-rerere.sh +++ b/t/t4200-rerere.sh @@ -184,12 +184,27 @@ test_expect_success 'rerere updates postimage timestamp' ' ' test_expect_success 'rerere clear' ' - rm $rr/postimage && + mv $rr/postimage .git/post-saved && echo "$sha1 a1" | perl -pe "y/\012/\000/" >.git/MERGE_RR && git rerere clear && ! test -d $rr ' +test_expect_success 'leftover directory' ' + git reset --hard && + mkdir -p $rr && + test_must_fail git merge first && + test -f $rr/preimage +' + +test_expect_success 'missing preimage' ' + git reset --hard && + mkdir -p $rr && + cp .git/post-saved $rr/postimage && + test_must_fail git merge first && + test -f $rr/preimage +' + test_expect_success 'set up for garbage collection tests' ' mkdir -p $rr && echo Hello >$rr/preimage && @@ -391,4 +406,157 @@ test_expect_success 'rerere -h' ' test_i18ngrep [Uu]sage help ' +concat_insert () { + last=$1 + shift + cat early && printf "%s\n" "$@" && cat late "$last" +} + +count_pre_post () { + find .git/rr-cache/ -type f -name "preimage*" >actual && + test_line_count = "$1" actual && + find .git/rr-cache/ -type f -name "postimage*" >actual && + test_line_count = "$2" actual +} + +test_expect_success 'rerere gc' ' + find .git/rr-cache -type f >original && + xargs test-chmtime -172800 <original && + + git -c gc.rerereresolved=5 -c gc.rerereunresolved=5 rerere gc && + find .git/rr-cache -type f >actual && + test_cmp original actual && + + git -c gc.rerereresolved=5 -c gc.rerereunresolved=0 rerere gc && + find .git/rr-cache -type f >actual && + test_cmp original actual && + + git -c gc.rerereresolved=0 -c gc.rerereunresolved=0 rerere gc && + find .git/rr-cache -type f >actual && + >expect && + test_cmp expect actual +' + +merge_conflict_resolve () { + git reset --hard && + test_must_fail git merge six.1 && + # Resolution is to replace 7 with 6.1 and 6.2 (i.e. take both) + concat_insert short 6.1 6.2 >file1 && + concat_insert long 6.1 6.2 >file2 +} + +test_expect_success 'multiple identical conflicts' ' + git reset --hard && + + test_seq 1 6 >early && + >late && + test_seq 11 15 >short && + test_seq 111 120 >long && + concat_insert short >file1 && + concat_insert long >file2 && + git add file1 file2 && + git commit -m base && + git tag base && + git checkout -b six.1 && + concat_insert short 6.1 >file1 && + concat_insert long 6.1 >file2 && + git add file1 file2 && + git commit -m 6.1 && + git checkout -b six.2 HEAD^ && + concat_insert short 6.2 >file1 && + concat_insert long 6.2 >file2 && + git add file1 file2 && + git commit -m 6.2 && + + # At this point, six.1 and six.2 + # - derive from common ancestor that has two files + # 1...6 7 11..15 (file1) and 1...6 7 111..120 (file2) + # - six.1 replaces these 7s with 6.1 + # - six.2 replaces these 7s with 6.2 + + merge_conflict_resolve && + + # Check that rerere knows that file1 and file2 have conflicts + + printf "%s\n" file1 file2 >expect && + git ls-files -u | sed -e "s/^.* //" | sort -u >actual && + test_cmp expect actual && + + git rerere status | sort >actual && + test_cmp expect actual && + + git rerere remaining >actual && + test_cmp expect actual && + + count_pre_post 2 0 && + + # Pretend that the conflicts were made quite some time ago + find .git/rr-cache/ -type f | xargs test-chmtime -172800 && + + # Unresolved entries have not expired yet + git -c gc.rerereresolved=5 -c gc.rerereunresolved=5 rerere gc && + count_pre_post 2 0 && + + # Unresolved entries have expired + git -c gc.rerereresolved=5 -c gc.rerereunresolved=1 rerere gc && + count_pre_post 0 0 && + + # Recreate the conflicted state + merge_conflict_resolve && + count_pre_post 2 0 && + + # Clear it + git rerere clear && + count_pre_post 0 0 && + + # Recreate the conflicted state + merge_conflict_resolve && + count_pre_post 2 0 && + + # We resolved file1 and file2 + git rerere && + >expect && + git rerere remaining >actual && + test_cmp expect actual && + + # We must have recorded both of them + count_pre_post 2 2 && + + # Now we should be able to resolve them both + git reset --hard && + test_must_fail git merge six.1 && + git rerere && + + >expect && + git rerere remaining >actual && + test_cmp expect actual && + + concat_insert short 6.1 6.2 >file1.expect && + concat_insert long 6.1 6.2 >file2.expect && + test_cmp file1.expect file1 && + test_cmp file2.expect file2 && + + # Forget resolution for file2 + git rerere forget file2 && + echo file2 >expect && + git rerere status >actual && + test_cmp expect actual && + count_pre_post 2 1 && + + # file2 already has correct resolution, so record it again + git rerere && + + # Pretend that the resolutions are old again + find .git/rr-cache/ -type f | xargs test-chmtime -172800 && + + # Resolved entries have not expired yet + git -c gc.rerereresolved=5 -c gc.rerereunresolved=5 rerere gc && + + count_pre_post 2 2 && + + # Resolved entries have expired + git -c gc.rerereresolved=1 -c gc.rerereunresolved=5 rerere gc && + count_pre_post 0 0 +' + test_done diff --git a/t/t4201-shortlog.sh b/t/t4201-shortlog.sh index f5e63670fa..a9773658f0 100755 --- a/t/t4201-shortlog.sh +++ b/t/t4201-shortlog.sh @@ -115,7 +115,7 @@ EOF ' test_expect_success !MINGW 'shortlog from non-git directory' ' - git log HEAD >log && + git log --no-expand-tabs HEAD >log && GIT_DIR=non-existing git shortlog -w <log >out && test_cmp expect out ' diff --git a/t/t4202-log.sh b/t/t4202-log.sh index cb82eb7e66..128ba93537 100755 --- a/t/t4202-log.sh +++ b/t/t4202-log.sh @@ -101,8 +101,8 @@ test_expect_success 'oneline' ' test_expect_success 'diff-filter=A' ' - git log --pretty="format:%s" --diff-filter=A HEAD > actual && - git log --pretty="format:%s" --diff-filter A HEAD > actual-separate && + git log --no-renames --pretty="format:%s" --diff-filter=A HEAD > actual && + git log --no-renames --pretty="format:%s" --diff-filter A HEAD > actual-separate && printf "fifth\nfourth\nthird\ninitial" > expect && test_cmp expect actual && test_cmp expect actual-separate @@ -119,7 +119,7 @@ test_expect_success 'diff-filter=M' ' test_expect_success 'diff-filter=D' ' - actual=$(git log --pretty="format:%s" --diff-filter=D HEAD) && + actual=$(git log --no-renames --pretty="format:%s" --diff-filter=D HEAD) && expect=$(echo sixth ; echo third) && verbose test "$actual" = "$expect" @@ -848,7 +848,7 @@ sanitize_output () { } test_expect_success 'log --graph with diff and stats' ' - git log --graph --pretty=short --stat -p >actual && + git log --no-renames --graph --pretty=short --stat -p >actual && sanitize_output >actual.sanitized <actual && test_i18ncmp expect actual.sanitized ' diff --git a/t/t4213-log-tabexpand.sh b/t/t4213-log-tabexpand.sh new file mode 100755 index 0000000000..e01a8f6ac9 --- /dev/null +++ b/t/t4213-log-tabexpand.sh @@ -0,0 +1,105 @@ +#!/bin/sh + +test_description='log/show --expand-tabs' + +. ./test-lib.sh + +HT=" " +title='tab indent at the beginning of the title line' +body='tab indent on a line in the body' + +# usage: count_expand $indent $numSP $numHT @format_args +count_expand () +{ + expect= + count=$(( $1 + $2 )) ;# expected spaces + while test $count -gt 0 + do + expect="$expect " + count=$(( $count - 1 )) + done + shift 2 + count=$1 ;# expected tabs + while test $count -gt 0 + do + expect="$expect$HT" + count=$(( $count - 1 )) + done + shift + + # The remainder of the command line is "git show -s" options + case " $* " in + *' --pretty=short '*) + line=$title ;; + *) + line=$body ;; + esac + + # Prefix the output with the command line arguments, and + # replace SP with a dot both in the expecte and actual output + # so that test_cmp would show the differene together with the + # breakage in a way easier to consume by the debugging user. + { + echo "git show -s $*" + echo "$expect$line" + } | sed -e 's/ /./g' >expect + + { + echo "git show -s $*" + git show -s "$@" | + sed -n -e "/$line\$/p" + } | sed -e 's/ /./g' >actual + + test_cmp expect actual +} + +test_expand () +{ + fmt=$1 + case "$fmt" in + *=raw | *=short | *=email) + default="0 1" ;; + *) + default="8 0" ;; + esac + case "$fmt" in + *=email) + in=0 ;; + *) + in=4 ;; + esac + test_expect_success "expand/no-expand${fmt:+ for $fmt}" ' + count_expand $in $default $fmt && + count_expand $in 8 0 $fmt --expand-tabs && + count_expand $in 8 0 --expand-tabs $fmt && + count_expand $in 8 0 $fmt --expand-tabs=8 && + count_expand $in 8 0 --expand-tabs=8 $fmt && + count_expand $in 0 1 $fmt --no-expand-tabs && + count_expand $in 0 1 --no-expand-tabs $fmt && + count_expand $in 0 1 $fmt --expand-tabs=0 && + count_expand $in 0 1 --expand-tabs=0 $fmt && + count_expand $in 4 0 $fmt --expand-tabs=4 && + count_expand $in 4 0 --expand-tabs=4 $fmt + ' +} + +test_expect_success 'setup' ' + test_tick && + sed -e "s/Q/$HT/g" <<-EOF >msg && + Q$title + + Q$body + EOF + git commit --allow-empty -F msg +' + +test_expand "" +test_expand --pretty +test_expand --pretty=short +test_expand --pretty=medium +test_expand --pretty=full +test_expand --pretty=fuller +test_expand --pretty=raw +test_expand --pretty=email + +test_done diff --git a/t/t5300-pack-object.sh b/t/t5300-pack-object.sh index fc2be63e02..899e52d50f 100755 --- a/t/t5300-pack-object.sh +++ b/t/t5300-pack-object.sh @@ -284,6 +284,12 @@ test_expect_success \ git index-pack test-3.pack && cmp test-3.idx test-3-${packname_3}.idx && + cat test-1-${packname_1}.pack >test-4.pack && + rm -f test-4.keep && + git index-pack --keep=why test-4.pack && + cmp test-1-${packname_1}.idx test-4.idx && + test -f test-4.keep && + :' test_expect_success 'unpacking with --strict' ' diff --git a/t/t5313-pack-bounds-checks.sh b/t/t5313-pack-bounds-checks.sh new file mode 100755 index 0000000000..a8a587abc3 --- /dev/null +++ b/t/t5313-pack-bounds-checks.sh @@ -0,0 +1,179 @@ +#!/bin/sh + +test_description='bounds-checking of access to mmapped on-disk file formats' +. ./test-lib.sh + +clear_base () { + test_when_finished 'restore_base' && + rm -f $base +} + +restore_base () { + cp base-backup/* .git/objects/pack/ +} + +do_pack () { + pack_objects=$1; shift + sha1=$( + for i in $pack_objects + do + echo $i + done | git pack-objects "$@" .git/objects/pack/pack + ) && + pack=.git/objects/pack/pack-$sha1.pack && + idx=.git/objects/pack/pack-$sha1.idx && + chmod +w $pack $idx && + test_when_finished 'rm -f "$pack" "$idx"' +} + +munge () { + printf "$3" | dd of="$1" bs=1 conv=notrunc seek=$2 +} + +# Offset in a v2 .idx to its initial and extended offset tables. For an index +# with "nr" objects, this is: +# +# magic(4) + version(4) + fan-out(4*256) + sha1s(20*nr) + crc(4*nr), +# +# for the initial, and another ofs(4*nr) past that for the extended. +# +ofs_table () { + echo $((4 + 4 + 4*256 + 20*$1 + 4*$1)) +} +extended_table () { + echo $(($(ofs_table "$1") + 4*$1)) +} + +test_expect_success 'set up base packfile and variables' ' + # the hash of this content starts with ff, which + # makes some later computations much simpler + echo 74 >file && + git add file && + git commit -m base && + git repack -ad && + base=$(echo .git/objects/pack/*) && + chmod +w $base && + mkdir base-backup && + cp $base base-backup/ && + object=$(git rev-parse HEAD:file) +' + +test_expect_success 'pack/index object count mismatch' ' + do_pack $object && + munge $pack 8 "\377\0\0\0" && + clear_base && + + # We enumerate the objects from the completely-fine + # .idx, but notice later that the .pack is bogus + # and fail to show any data. + echo "$object missing" >expect && + git cat-file --batch-all-objects --batch-check >actual && + test_cmp expect actual && + + # ...and here fail to load the object (without segfaulting), + # but fallback to a good copy if available. + test_must_fail git cat-file blob $object && + restore_base && + git cat-file blob $object >actual && + test_cmp file actual && + + # ...and make sure that index-pack --verify, which has its + # own reading routines, does not segfault. + test_must_fail git index-pack --verify $pack +' + +test_expect_success 'matched bogus object count' ' + do_pack $object && + munge $pack 8 "\377\0\0\0" && + munge $idx $((255 * 4)) "\377\0\0\0" && + clear_base && + + # Unlike above, we should notice early that the .idx is totally + # bogus, and not even enumerate its contents. + >expect && + git cat-file --batch-all-objects --batch-check >actual && + test_cmp expect actual && + + # But as before, we can do the same object-access checks. + test_must_fail git cat-file blob $object && + restore_base && + git cat-file blob $object >actual && + test_cmp file actual && + + test_must_fail git index-pack --verify $pack +' + +# Note that we cannot check the fallback case for these +# further .idx tests, as we notice the problem in functions +# whose interface doesn't allow an error return (like use_pack()), +# and thus we just die(). +# +# There's also no point in doing enumeration tests, as +# we are munging offsets here, which are about looking up +# specific objects. + +test_expect_success 'bogus object offset (v1)' ' + do_pack $object --index-version=1 && + munge $idx $((4 * 256)) "\377\0\0\0" && + clear_base && + test_must_fail git cat-file blob $object && + test_must_fail git index-pack --verify $pack +' + +test_expect_success 'bogus object offset (v2, no msb)' ' + do_pack $object --index-version=2 && + munge $idx $(ofs_table 1) "\0\377\0\0" && + clear_base && + test_must_fail git cat-file blob $object && + test_must_fail git index-pack --verify $pack +' + +test_expect_success 'bogus offset into v2 extended table' ' + do_pack $object --index-version=2 && + munge $idx $(ofs_table 1) "\377\0\0\0" && + clear_base && + test_must_fail git cat-file blob $object && + test_must_fail git index-pack --verify $pack +' + +test_expect_success 'bogus offset inside v2 extended table' ' + # We need two objects here, so we can plausibly require + # an extended table (if the first object were larger than 2^31). + do_pack "$object $(git rev-parse HEAD)" --index-version=2 && + + # We have to make extra room for the table, so we cannot + # just munge in place as usual. + { + dd if=$idx bs=1 count=$(($(ofs_table 2) + 4)) && + printf "\200\0\0\0" && + printf "\377\0\0\0\0\0\0\0" && + dd if=$idx bs=1 skip=$(extended_table 2) + } >tmp && + mv tmp "$idx" && + clear_base && + test_must_fail git cat-file blob $object && + test_must_fail git index-pack --verify $pack +' + +test_expect_success 'bogus OFS_DELTA in packfile' ' + # Generate a pack with a delta in it. + base=$(test-genrandom foo 3000 | git hash-object --stdin -w) && + delta=$(test-genrandom foo 2000 | git hash-object --stdin -w) && + do_pack "$base $delta" --delta-base-offset && + rm -f .git/objects/??/* && + + # Double check that we have the delta we expect. + echo $base >expect && + echo $delta | git cat-file --batch-check="%(deltabase)" >actual && + test_cmp expect actual && + + # Now corrupt it. We assume the varint size for the delta is small + # enough to fit in the first byte (which it should be, since it + # is a pure deletion from the base), and that original ofs_delta + # takes 2 bytes (which it should, as it should be ~3000). + ofs=$(git show-index <$idx | grep $delta | cut -d" " -f1) && + munge $pack $(($ofs + 1)) "\177\377" && + test_must_fail git cat-file blob $delta >/dev/null +' + +test_done diff --git a/t/t5400-send-pack.sh b/t/t5400-send-pack.sh index 04cea97f87..305ca7a930 100755 --- a/t/t5400-send-pack.sh +++ b/t/t5400-send-pack.sh @@ -128,6 +128,18 @@ test_expect_success 'denyNonFastforwards trumps --force' ' test "$victim_orig" = "$victim_head" ' +test_expect_success 'send-pack --all sends all branches' ' + # make sure we have at least 2 branches with different + # values, just to be thorough + git branch other-branch HEAD^ && + + git init --bare all.git && + git send-pack --all all.git && + git for-each-ref refs/heads >expect && + git -C all.git for-each-ref refs/heads >actual && + test_cmp expect actual +' + test_expect_success 'push --all excludes remote-tracking hierarchy' ' mkdir parent && ( diff --git a/t/t5500-fetch-pack.sh b/t/t5500-fetch-pack.sh index e5f83bf5e4..91a69fc33a 100755 --- a/t/t5500-fetch-pack.sh +++ b/t/t5500-fetch-pack.sh @@ -259,7 +259,8 @@ test_expect_success 'clone shallow object count' ' test_expect_success 'pull in shallow repo with missing merge base' ' ( cd shallow && - test_must_fail git pull --depth 4 .. A + git fetch --depth 4 .. A + test_must_fail git merge --allow-unrelated-histories FETCH_HEAD ) ' @@ -279,9 +280,10 @@ test_expect_success 'clone shallow depth count' ' test_expect_success 'clone shallow object count' ' ( cd shallow && + git prune && git count-objects -v ) > count.shallow && - grep "^count: 55" count.shallow + grep "^count: 54" count.shallow ' test_expect_success 'fetch --no-shallow on full repo' ' @@ -531,6 +533,20 @@ test_expect_success 'shallow fetch with tags does not break the repository' ' git fsck ) ' + +test_expect_success 'fetch-pack can fetch a raw sha1' ' + git init hidden && + ( + cd hidden && + test_commit 1 && + test_commit 2 && + git update-ref refs/hidden/one HEAD^ && + git config transfer.hiderefs refs/hidden && + git config uploadpack.allowtipsha1inwant true + ) && + git fetch-pack hidden $(git -C hidden rev-parse refs/hidden/one) +' + check_prot_path () { cat >expected <<-EOF && Diag: url=$1 diff --git a/t/t5504-fetch-receive-strict.sh b/t/t5504-fetch-receive-strict.sh index 89224edcc5..44f3d5fb28 100755 --- a/t/t5504-fetch-receive-strict.sh +++ b/t/t5504-fetch-receive-strict.sh @@ -100,7 +100,7 @@ test_expect_success 'push with receive.fsckobjects' ' git config receive.fsckobjects true && git config transfer.fsckobjects false ) && - test_must_fail ok=sigpipe git push --porcelain dst master:refs/heads/test >act && + test_must_fail git push --porcelain dst master:refs/heads/test >act && test_cmp exp act ' @@ -111,7 +111,8 @@ test_expect_success 'push with transfer.fsckobjects' ' cd dst && git config transfer.fsckobjects true ) && - test_must_fail ok=sigpipe git push --porcelain dst master:refs/heads/test >act + test_must_fail git push --porcelain dst master:refs/heads/test >act && + test_cmp exp act ' cat >bogus-commit <<\EOF diff --git a/t/t5505-remote.sh b/t/t5505-remote.sh index 0dcc752076..dd2e6ce34e 100755 --- a/t/t5505-remote.sh +++ b/t/t5505-remote.sh @@ -144,6 +144,39 @@ test_expect_success 'remove remote protects local branches' ' ) ' +test_expect_success 'remove errors out early when deleting non-existent branch' ' + ( + cd test && + echo "fatal: No such remote: foo" >expect && + test_must_fail git remote rm foo 2>actual && + test_i18ncmp expect actual + ) +' + +test_expect_success 'rename errors out early when deleting non-existent branch' ' + ( + cd test && + echo "fatal: No such remote: foo" >expect && + test_must_fail git remote rename foo bar 2>actual && + test_i18ncmp expect actual + ) +' + +test_expect_success 'add existing foreign_vcs remote' ' + test_config remote.foo.vcs bar && + echo "fatal: remote foo already exists." >expect && + test_must_fail git remote add foo bar 2>actual && + test_i18ncmp expect actual +' + +test_expect_success 'add existing foreign_vcs remote' ' + test_config remote.foo.vcs bar && + test_config remote.bar.vcs bar && + echo "fatal: remote bar already exists." >expect && + test_must_fail git remote rename foo bar 2>actual && + test_i18ncmp expect actual +' + cat >test/expect <<EOF * remote origin Fetch URL: $(pwd)/one @@ -937,6 +970,15 @@ test_expect_success 'get-url on new remote' ' echo foo | get_url_test --push --all someremote ' +test_expect_success 'remote set-url with locked config' ' + test_when_finished "rm -f .git/config.lock" && + git config --get-all remote.someremote.url >expect && + >.git/config.lock && + test_must_fail git remote set-url someremote baz && + git config --get-all remote.someremote.url >actual && + cmp expect actual +' + test_expect_success 'remote set-url bar' ' git remote set-url someremote bar && echo bar >expect && diff --git a/t/t5510-fetch.sh b/t/t5510-fetch.sh index 0c10c856a9..454d896390 100755 --- a/t/t5510-fetch.sh +++ b/t/t5510-fetch.sh @@ -679,10 +679,13 @@ test_expect_success 'fetching with auto-gc does not lock up' ' EOF git clone "file://$D" auto-gc && test_commit test2 && - cd auto-gc && - git config gc.autoPackLimit 1 && - GIT_ASK_YESNO="$D/askyesno" git fetch >fetch.out 2>&1 && - ! grep "Should I try again" fetch.out + ( + cd auto-gc && + git config gc.autoPackLimit 1 && + git config gc.autoDetach false && + GIT_ASK_YESNO="$D/askyesno" git fetch >fetch.out 2>&1 && + ! grep "Should I try again" fetch.out + ) ' test_done diff --git a/t/t5520-pull.sh b/t/t5520-pull.sh index c952d5ef5c..739c089d50 100755 --- a/t/t5520-pull.sh +++ b/t/t5520-pull.sh @@ -9,6 +9,24 @@ modify () { mv "$2.x" "$2" } +test_pull_autostash () { + git reset --hard before-rebase && + echo dirty >new_file && + git add new_file && + git pull "$@" . copy && + test_cmp_rev HEAD^ copy && + test "$(cat new_file)" = dirty && + test "$(cat file)" = "modified again" +} + +test_pull_autostash_fail () { + git reset --hard before-rebase && + echo dirty >new_file && + git add new_file && + test_must_fail git pull "$@" . copy 2>err && + test_i18ngrep "uncommitted changes." err +} + test_expect_success setup ' echo file >file && git add file && @@ -247,15 +265,47 @@ test_expect_success '--rebase fails with multiple branches' ' test_expect_success 'pull --rebase succeeds with dirty working directory and rebase.autostash set' ' test_config rebase.autostash true && - git reset --hard before-rebase && - echo dirty >new_file && - git add new_file && - git pull --rebase . copy && - test_cmp_rev HEAD^ copy && - test "$(cat new_file)" = dirty && - test "$(cat file)" = "modified again" + test_pull_autostash --rebase ' +test_expect_success 'pull --rebase --autostash & rebase.autostash=true' ' + test_config rebase.autostash true && + test_pull_autostash --rebase --autostash +' + +test_expect_success 'pull --rebase --autostash & rebase.autostash=false' ' + test_config rebase.autostash false && + test_pull_autostash --rebase --autostash +' + +test_expect_success 'pull --rebase --autostash & rebase.autostash unset' ' + test_unconfig rebase.autostash && + test_pull_autostash --rebase --autostash +' + +test_expect_success 'pull --rebase --no-autostash & rebase.autostash=true' ' + test_config rebase.autostash true && + test_pull_autostash_fail --rebase --no-autostash +' + +test_expect_success 'pull --rebase --no-autostash & rebase.autostash=false' ' + test_config rebase.autostash false && + test_pull_autostash_fail --rebase --no-autostash +' + +test_expect_success 'pull --rebase --no-autostash & rebase.autostash unset' ' + test_unconfig rebase.autostash && + test_pull_autostash_fail --rebase --no-autostash +' + +for i in --autostash --no-autostash +do + test_expect_success "pull $i (without --rebase) is illegal" ' + test_must_fail git pull $i . copy 2>err && + test_i18ngrep "only valid with --rebase" err + ' +done + test_expect_success 'pull.rebase' ' git reset --hard before-rebase && test_config pull.rebase true && @@ -264,6 +314,16 @@ test_expect_success 'pull.rebase' ' test new = "$(git show HEAD:file2)" ' +test_expect_success 'pull --autostash & pull.rebase=true' ' + test_config pull.rebase true && + test_pull_autostash --autostash +' + +test_expect_success 'pull --no-autostash & pull.rebase=true' ' + test_config pull.rebase true && + test_pull_autostash_fail --no-autostash +' + test_expect_success 'branch.to-rebase.rebase' ' git reset --hard before-rebase && test_config branch.to-rebase.rebase true && diff --git a/t/t5521-pull-options.sh b/t/t5521-pull-options.sh index 18372caa15..ded8f98dbe 100755 --- a/t/t5521-pull-options.sh +++ b/t/t5521-pull-options.sh @@ -144,4 +144,25 @@ test_expect_success 'git pull --all --dry-run' ' ) ' +test_expect_success 'git pull --allow-unrelated-histories' ' + test_when_finished "rm -fr src dst" && + git init src && + ( + cd src && + test_commit one && + test_commit two + ) && + git clone src dst && + ( + cd src && + git checkout --orphan side HEAD^ && + test_commit three + ) && + ( + cd dst && + test_must_fail git pull ../src side && + git pull --allow-unrelated-histories ../src side + ) +' + test_done diff --git a/t/t5526-fetch-submodules.sh b/t/t5526-fetch-submodules.sh index 1241146227..954d0e43f5 100755 --- a/t/t5526-fetch-submodules.sh +++ b/t/t5526-fetch-submodules.sh @@ -471,4 +471,18 @@ test_expect_success "don't fetch submodule when newly recorded commits are alrea test_i18ncmp expect.err actual.err ' +test_expect_success 'fetching submodules respects parallel settings' ' + git config fetch.recurseSubmodules true && + ( + cd downstream && + GIT_TRACE=$(pwd)/trace.out git fetch --jobs 7 && + grep "7 tasks" trace.out && + git config submodule.fetchJobs 8 && + GIT_TRACE=$(pwd)/trace.out git fetch && + grep "8 tasks" trace.out && + GIT_TRACE=$(pwd)/trace.out git fetch --jobs 9 && + grep "9 tasks" trace.out + ) +' + test_done diff --git a/t/t5532-fetch-proxy.sh b/t/t5532-fetch-proxy.sh index d75ef0ea2b..51c9669398 100755 --- a/t/t5532-fetch-proxy.sh +++ b/t/t5532-fetch-proxy.sh @@ -12,10 +12,8 @@ test_expect_success 'setup remote repo' ' ) ' -cat >proxy <<'EOF' -#!/bin/sh -echo >&2 "proxying for $*" -cmd=$("$PERL_PATH" -e ' +test_expect_success 'setup proxy script' ' + write_script proxy-get-cmd "$PERL_PATH" <<-\EOF && read(STDIN, $buf, 4); my $n = hex($buf) - 4; read(STDIN, $buf, $n); @@ -23,11 +21,16 @@ cmd=$("$PERL_PATH" -e ' # drop absolute-path on repo name $cmd =~ s{ /}{ }; print $cmd; -') -echo >&2 "Running '$cmd'" -exec $cmd -EOF -chmod +x proxy + EOF + + write_script proxy <<-\EOF + echo >&2 "proxying for $*" + cmd=$(./proxy-get-cmd) + echo >&2 "Running $cmd" + exec $cmd + EOF +' + test_expect_success 'setup local repo' ' git remote add fake git://example.com/remote && git config core.gitproxy ./proxy diff --git a/t/t5551-http-fetch-smart.sh b/t/t5551-http-fetch-smart.sh index 58207d8825..e44fe72c7a 100755 --- a/t/t5551-http-fetch-smart.sh +++ b/t/t5551-http-fetch-smart.sh @@ -282,5 +282,12 @@ test_expect_success EXPENSIVE 'http can handle enormous ref negotiation' ' test_line_count = 100000 tags ' +test_expect_success 'custom http headers' ' + test_must_fail git fetch "$HTTPD_URL/smart_headers/repo.git" && + git -c http.extraheader="x-magic-one: abra" \ + -c http.extraheader="x-magic-two: cadabra" \ + fetch "$HTTPD_URL/smart_headers/repo.git" +' + stop_httpd test_done diff --git a/t/t5601-clone.sh b/t/t5601-clone.sh index c1efb8e445..150aeaf713 100755 --- a/t/t5601-clone.sh +++ b/t/t5601-clone.sh @@ -308,7 +308,7 @@ test_expect_success 'clone checking out a tag' ' setup_ssh_wrapper () { test_expect_success 'setup ssh wrapper' ' - cp "$GIT_BUILD_DIR/test-fake-ssh$X" \ + cp "$GIT_BUILD_DIR/t/helper/test-fake-ssh$X" \ "$TRASH_DIRECTORY/ssh-wrapper$X" && GIT_SSH="$TRASH_DIRECTORY/ssh-wrapper$X" && export GIT_SSH && diff --git a/t/t5700-clone-reference.sh b/t/t5604-clone-reference.sh index 4320082b1b..4320082b1b 100755 --- a/t/t5700-clone-reference.sh +++ b/t/t5604-clone-reference.sh diff --git a/t/t5701-clone-local.sh b/t/t5605-clone-local.sh index 3c087e907c..3c087e907c 100755 --- a/t/t5701-clone-local.sh +++ b/t/t5605-clone-local.sh diff --git a/t/t5702-clone-options.sh b/t/t5606-clone-options.sh index 9e24ec88e6..9e24ec88e6 100755 --- a/t/t5702-clone-options.sh +++ b/t/t5606-clone-options.sh diff --git a/t/t5704-bundle.sh b/t/t5607-clone-bundle.sh index 348d9b3bc7..348d9b3bc7 100755 --- a/t/t5704-bundle.sh +++ b/t/t5607-clone-bundle.sh diff --git a/t/t5705-clone-2gb.sh b/t/t5608-clone-2gb.sh index 191d6d3a78..191d6d3a78 100755 --- a/t/t5705-clone-2gb.sh +++ b/t/t5608-clone-2gb.sh diff --git a/t/t5706-clone-branch.sh b/t/t5609-clone-branch.sh index 6e7a7be052..6e7a7be052 100755 --- a/t/t5706-clone-branch.sh +++ b/t/t5609-clone-branch.sh diff --git a/t/t5707-clone-detached.sh b/t/t5610-clone-detached.sh index 8b0d607df1..8b0d607df1 100755 --- a/t/t5707-clone-detached.sh +++ b/t/t5610-clone-detached.sh diff --git a/t/t5708-clone-config.sh b/t/t5611-clone-config.sh index 27d730c0a7..27d730c0a7 100755 --- a/t/t5708-clone-config.sh +++ b/t/t5611-clone-config.sh diff --git a/t/t5709-clone-refspec.sh b/t/t5612-clone-refspec.sh index 7ace2535c8..7ace2535c8 100755 --- a/t/t5709-clone-refspec.sh +++ b/t/t5612-clone-refspec.sh diff --git a/t/t5710-info-alternate.sh b/t/t5613-info-alternate.sh index 9cd2626dba..9cd2626dba 100755 --- a/t/t5710-info-alternate.sh +++ b/t/t5613-info-alternate.sh diff --git a/t/t5614-clone-submodules.sh b/t/t5614-clone-submodules.sh new file mode 100755 index 0000000000..62044c5a02 --- /dev/null +++ b/t/t5614-clone-submodules.sh @@ -0,0 +1,85 @@ +#!/bin/sh + +test_description='Test shallow cloning of repos with submodules' + +. ./test-lib.sh + +pwd=$(pwd) + +test_expect_success 'setup' ' + git checkout -b master && + test_commit commit1 && + test_commit commit2 && + mkdir sub && + ( + cd sub && + git init && + test_commit subcommit1 && + test_commit subcommit2 && + test_commit subcommit3 + ) && + git submodule add "file://$pwd/sub" sub && + git commit -m "add submodule" +' + +test_expect_success 'nonshallow clone implies nonshallow submodule' ' + test_when_finished "rm -rf super_clone" && + git clone --recurse-submodules "file://$pwd/." super_clone && + ( + cd super_clone && + git log --oneline >lines && + test_line_count = 3 lines + ) && + ( + cd super_clone/sub && + git log --oneline >lines && + test_line_count = 3 lines + ) +' + +test_expect_success 'shallow clone implies shallow submodule' ' + test_when_finished "rm -rf super_clone" && + git clone --recurse-submodules --depth 2 "file://$pwd/." super_clone && + ( + cd super_clone && + git log --oneline >lines && + test_line_count = 2 lines + ) && + ( + cd super_clone/sub && + git log --oneline >lines && + test_line_count = 1 lines + ) +' + +test_expect_success 'shallow clone with non shallow submodule' ' + test_when_finished "rm -rf super_clone" && + git clone --recurse-submodules --depth 2 --no-shallow-submodules "file://$pwd/." super_clone && + ( + cd super_clone && + git log --oneline >lines && + test_line_count = 2 lines + ) && + ( + cd super_clone/sub && + git log --oneline >lines && + test_line_count = 3 lines + ) +' + +test_expect_success 'non shallow clone with shallow submodule' ' + test_when_finished "rm -rf super_clone" && + git clone --recurse-submodules --no-local --shallow-submodules "file://$pwd/." super_clone && + ( + cd super_clone && + git log --oneline >lines && + test_line_count = 3 lines + ) && + ( + cd super_clone/sub && + git log --oneline >lines && + test_line_count = 1 lines + ) +' + +test_done diff --git a/t/t6009-rev-list-parent.sh b/t/t6009-rev-list-parent.sh index 66cda17ef3..20e3e2554a 100755 --- a/t/t6009-rev-list-parent.sh +++ b/t/t6009-rev-list-parent.sh @@ -47,7 +47,9 @@ test_expect_success 'setup roots, merges and octopuses' ' git checkout -b yetanotherbranch four && test_commit eight && git checkout master && - test_merge normalmerge newroot && + test_tick && + git merge --allow-unrelated-histories -m normalmerge newroot && + git tag normalmerge && test_tick && git merge -m tripus sidebranch anotherbranch && git tag tripus && diff --git a/t/t6010-merge-base.sh b/t/t6010-merge-base.sh index 39b3238da2..e0c5f44cac 100755 --- a/t/t6010-merge-base.sh +++ b/t/t6010-merge-base.sh @@ -215,11 +215,13 @@ test_expect_success 'criss-cross merge-base for octopus-step' ' git reset --hard E && test_commit CC2 && test_tick && - git merge -s ours CC1 && + # E is a root commit unrelated to MMR root on which CC1 is based + git merge -s ours --allow-unrelated-histories CC1 && test_commit CC-o && test_commit CCB && git reset --hard CC1 && - git merge -s ours CC2 && + # E is a root commit unrelated to MMR root on which CC1 is based + git merge -s ours --allow-unrelated-histories CC2 && test_commit CCA && git rev-parse CC1 CC2 >expected && diff --git a/t/t6012-rev-list-simplify.sh b/t/t6012-rev-list-simplify.sh index b89cd6b07a..2a0fbb87b1 100755 --- a/t/t6012-rev-list-simplify.sh +++ b/t/t6012-rev-list-simplify.sh @@ -71,7 +71,7 @@ test_expect_success setup ' note J && git checkout master && - test_tick && git merge -m "Coolest" unrelated && + test_tick && git merge --allow-unrelated-histories -m "Coolest" unrelated && note K && echo "Immaterial" >elif && diff --git a/t/t6026-merge-attr.sh b/t/t6026-merge-attr.sh index 04c0509c47..ef0cbceafe 100755 --- a/t/t6026-merge-attr.sh +++ b/t/t6026-merge-attr.sh @@ -176,7 +176,8 @@ test_expect_success 'up-to-date merge without common ancestor' ' test_tick && ( cd repo1 && - git pull ../repo2 master + git fetch ../repo2 master && + git merge --allow-unrelated-histories FETCH_HEAD ) ' diff --git a/t/t6029-merge-subtree.sh b/t/t6029-merge-subtree.sh index 73fc240e85..3e692454a7 100755 --- a/t/t6029-merge-subtree.sh +++ b/t/t6029-merge-subtree.sh @@ -49,7 +49,7 @@ test_expect_success 'setup' ' test_expect_success 'initial merge' ' git remote add -f gui ../git-gui && - git merge -s ours --no-commit gui/master && + git merge -s ours --no-commit --allow-unrelated-histories gui/master && git read-tree --prefix=git-gui/ -u gui/master && git commit -m "Merge git-gui as our subdirectory" && git checkout -b work && diff --git a/t/t6041-bisect-submodule.sh b/t/t6041-bisect-submodule.sh index c6b7aa6977..62b8a2e7bb 100755 --- a/t/t6041-bisect-submodule.sh +++ b/t/t6041-bisect-submodule.sh @@ -8,7 +8,7 @@ test_description='bisect can handle submodules' git_bisect () { git status -su >expect && ls -1pR * >>expect && - tar czf "$TRASH_DIRECTORY/tmp.tgz" * && + tar cf "$TRASH_DIRECTORY/tmp.tar" * && GOOD=$(git rev-parse --verify HEAD) && git checkout "$1" && echo "foo" >bar && @@ -20,7 +20,7 @@ git_bisect () { git bisect start && git bisect good $GOOD && rm -rf * && - tar xzf "$TRASH_DIRECTORY/tmp.tgz" && + tar xf "$TRASH_DIRECTORY/tmp.tar" && git status -su >actual && ls -1pR * >>actual && test_cmp expect actual && diff --git a/t/t6044-merge-unrelated-index-changes.sh b/t/t6044-merge-unrelated-index-changes.sh new file mode 100755 index 0000000000..20a3ffed69 --- /dev/null +++ b/t/t6044-merge-unrelated-index-changes.sh @@ -0,0 +1,153 @@ +#!/bin/sh + +test_description="merges with unrelated index changes" + +. ./test-lib.sh + +# Testcase for some simple merges +# A +# o-----o B +# \ +# \---o C +# \ +# \-o D +# \ +# o E +# Commit A: some file a +# Commit B: adds file b, modifies end of a +# Commit C: adds file c +# Commit D: adds file d, modifies beginning of a +# Commit E: renames a->subdir/a, adds subdir/e + +test_expect_success 'setup trivial merges' ' + seq 1 10 >a && + git add a && + test_tick && git commit -m A && + + git branch A && + git branch B && + git branch C && + git branch D && + git branch E && + + git checkout B && + echo b >b && + echo 11 >>a && + git add a b && + test_tick && git commit -m B && + + git checkout C && + echo c >c && + git add c && + test_tick && git commit -m C && + + git checkout D && + seq 2 10 >a && + echo d >d && + git add a d && + test_tick && git commit -m D && + + git checkout E && + mkdir subdir && + git mv a subdir/a && + echo e >subdir/e && + git add subdir && + test_tick && git commit -m E +' + +test_expect_success 'ff update' ' + git reset --hard && + git checkout A^0 && + + touch random_file && git add random_file && + + git merge E^0 && + + test_must_fail git rev-parse HEAD:random_file && + test "$(git diff --name-only --cached E)" = "random_file" +' + +test_expect_success 'ff update, important file modified' ' + git reset --hard && + git checkout A^0 && + + mkdir subdir && + touch subdir/e && + git add subdir/e && + + test_must_fail git merge E^0 +' + +test_expect_success 'resolve, trivial' ' + git reset --hard && + git checkout B^0 && + + touch random_file && git add random_file && + + test_must_fail git merge -s resolve C^0 +' + +test_expect_success 'resolve, non-trivial' ' + git reset --hard && + git checkout B^0 && + + touch random_file && git add random_file && + + test_must_fail git merge -s resolve D^0 +' + +test_expect_success 'recursive' ' + git reset --hard && + git checkout B^0 && + + touch random_file && git add random_file && + + test_must_fail git merge -s recursive C^0 +' + +test_expect_success 'octopus, unrelated file touched' ' + git reset --hard && + git checkout B^0 && + + touch random_file && git add random_file && + + test_must_fail git merge C^0 D^0 +' + +test_expect_success 'octopus, related file removed' ' + git reset --hard && + git checkout B^0 && + + git rm b && + + test_must_fail git merge C^0 D^0 +' + +test_expect_success 'octopus, related file modified' ' + git reset --hard && + git checkout B^0 && + + echo 12 >>a && git add a && + + test_must_fail git merge C^0 D^0 +' + +test_expect_success 'ours' ' + git reset --hard && + git checkout B^0 && + + touch random_file && git add random_file && + + test_must_fail git merge -s ours C^0 +' + +test_expect_success 'subtree' ' + git reset --hard && + git checkout B^0 && + + touch random_file && git add random_file && + + test_must_fail git merge -s subtree E^0 +' + +test_done diff --git a/t/t6101-rev-parse-parents.sh b/t/t6101-rev-parse-parents.sh index 10b1452766..1c6952d049 100755 --- a/t/t6101-rev-parse-parents.sh +++ b/t/t6101-rev-parse-parents.sh @@ -19,7 +19,7 @@ test_expect_success 'setup' ' git checkout --orphan tmp && test_commit start2 && git checkout master && - git merge -m next start2 && + git merge -m next --allow-unrelated-histories start2 && test_commit final && test_seq 40 | diff --git a/t/t6302-for-each-ref-filter.sh b/t/t6302-for-each-ref-filter.sh index fe4796cc9c..70afb44271 100755 --- a/t/t6302-for-each-ref-filter.sh +++ b/t/t6302-for-each-ref-filter.sh @@ -5,11 +5,14 @@ test_description='test for-each-refs usage of ref-filter APIs' . ./test-lib.sh . "$TEST_DIRECTORY"/lib-gpg.sh -if ! test_have_prereq GPG -then - skip_all="skipping for-each-ref tests, GPG not available" - test_done -fi +test_prepare_expect () { + if test_have_prereq GPG + then + cat + else + sed '/signed/d' + fi +} test_expect_success 'setup some history and refs' ' test_commit one && @@ -17,8 +20,13 @@ test_expect_success 'setup some history and refs' ' test_commit three && git checkout -b side && test_commit four && - git tag -s -m "A signed tag message" signed-tag && - git tag -s -m "Annonated doubly" double-tag signed-tag && + git tag -m "An annotated tag" annotated-tag && + git tag -m "Annonated doubly" doubly-annotated-tag annotated-tag && + if test_have_prereq GPG + then + git tag -s -m "A signed tag" signed-tag && + git tag -s -m "Signed doubly" doubly-signed-tag signed-tag + fi && git checkout master && git update-ref refs/odd/spot master ' @@ -34,8 +42,9 @@ test_expect_success 'filtering with --points-at' ' ' test_expect_success 'check signed tags with --points-at' ' - sed -e "s/Z$//" >expect <<-\EOF && + test_prepare_expect <<-\EOF | sed -e "s/Z$//" >expect && refs/heads/side Z + refs/tags/annotated-tag four refs/tags/four Z refs/tags/signed-tag four EOF @@ -56,9 +65,11 @@ test_expect_success 'filtering with --merged' ' ' test_expect_success 'filtering with --no-merged' ' - cat >expect <<-\EOF && + test_prepare_expect >expect <<-\EOF && refs/heads/side - refs/tags/double-tag + refs/tags/annotated-tag + refs/tags/doubly-annotated-tag + refs/tags/doubly-signed-tag refs/tags/four refs/tags/signed-tag EOF @@ -67,11 +78,13 @@ test_expect_success 'filtering with --no-merged' ' ' test_expect_success 'filtering with --contains' ' - cat >expect <<-\EOF && + test_prepare_expect >expect <<-\EOF && refs/heads/master refs/heads/side refs/odd/spot - refs/tags/double-tag + refs/tags/annotated-tag + refs/tags/doubly-annotated-tag + refs/tags/doubly-signed-tag refs/tags/four refs/tags/signed-tag refs/tags/three @@ -86,11 +99,13 @@ test_expect_success '%(color) must fail' ' ' test_expect_success 'left alignment is default' ' - cat >expect <<-\EOF && + test_prepare_expect >expect <<-\EOF && refname is refs/heads/master |refs/heads/master refname is refs/heads/side |refs/heads/side refname is refs/odd/spot |refs/odd/spot - refname is refs/tags/double-tag|refs/tags/double-tag + refname is refs/tags/annotated-tag|refs/tags/annotated-tag + refname is refs/tags/doubly-annotated-tag|refs/tags/doubly-annotated-tag + refname is refs/tags/doubly-signed-tag|refs/tags/doubly-signed-tag refname is refs/tags/four |refs/tags/four refname is refs/tags/one |refs/tags/one refname is refs/tags/signed-tag|refs/tags/signed-tag @@ -102,11 +117,13 @@ test_expect_success 'left alignment is default' ' ' test_expect_success 'middle alignment' ' - cat >expect <<-\EOF && + test_prepare_expect >expect <<-\EOF && | refname is refs/heads/master |refs/heads/master | refname is refs/heads/side |refs/heads/side | refname is refs/odd/spot |refs/odd/spot - |refname is refs/tags/double-tag|refs/tags/double-tag + |refname is refs/tags/annotated-tag|refs/tags/annotated-tag + |refname is refs/tags/doubly-annotated-tag|refs/tags/doubly-annotated-tag + |refname is refs/tags/doubly-signed-tag|refs/tags/doubly-signed-tag | refname is refs/tags/four |refs/tags/four | refname is refs/tags/one |refs/tags/one |refname is refs/tags/signed-tag|refs/tags/signed-tag @@ -118,11 +135,13 @@ test_expect_success 'middle alignment' ' ' test_expect_success 'right alignment' ' - cat >expect <<-\EOF && + test_prepare_expect >expect <<-\EOF && | refname is refs/heads/master|refs/heads/master | refname is refs/heads/side|refs/heads/side | refname is refs/odd/spot|refs/odd/spot - |refname is refs/tags/double-tag|refs/tags/double-tag + |refname is refs/tags/annotated-tag|refs/tags/annotated-tag + |refname is refs/tags/doubly-annotated-tag|refs/tags/doubly-annotated-tag + |refname is refs/tags/doubly-signed-tag|refs/tags/doubly-signed-tag | refname is refs/tags/four|refs/tags/four | refname is refs/tags/one|refs/tags/one |refname is refs/tags/signed-tag|refs/tags/signed-tag @@ -133,14 +152,60 @@ test_expect_success 'right alignment' ' test_cmp expect actual ' +test_prepare_expect >expect <<-\EOF +| refname is refs/heads/master |refs/heads/master +| refname is refs/heads/side |refs/heads/side +| refname is refs/odd/spot |refs/odd/spot +| refname is refs/tags/annotated-tag |refs/tags/annotated-tag +|refname is refs/tags/doubly-annotated-tag |refs/tags/doubly-annotated-tag +| refname is refs/tags/doubly-signed-tag |refs/tags/doubly-signed-tag +| refname is refs/tags/four |refs/tags/four +| refname is refs/tags/one |refs/tags/one +| refname is refs/tags/signed-tag |refs/tags/signed-tag +| refname is refs/tags/three |refs/tags/three +| refname is refs/tags/two |refs/tags/two +EOF + +test_align_permutations() { + while read -r option + do + test_expect_success "align:$option" ' + git for-each-ref --format="|%(align:$option)refname is %(refname)%(end)|%(refname)" >actual && + test_cmp expect actual + ' + done +} + +test_align_permutations <<-\EOF + middle,42 + 42,middle + position=middle,42 + 42,position=middle + middle,width=42 + width=42,middle + position=middle,width=42 + width=42,position=middle +EOF + +# Last one wins (silently) when multiple arguments of the same type are given + +test_align_permutations <<-\EOF + 32,width=42,middle + width=30,42,middle + width=42,position=right,middle + 42,right,position=middle +EOF + # Individual atoms inside %(align:...) and %(end) must not be quoted. test_expect_success 'alignment with format quote' " - cat >expect <<-\EOF && + test_prepare_expect >expect <<-\EOF && |' '\''master| A U Thor'\'' '| |' '\''side| A U Thor'\'' '| |' '\''odd/spot| A U Thor'\'' '| - |' '\''double-tag| '\'' '| + |' '\''annotated-tag| '\'' '| + |' '\''doubly-annotated-tag| '\'' '| + |' '\''doubly-signed-tag| '\'' '| |' '\''four| A U Thor'\'' '| |' '\''one| A U Thor'\'' '| |' '\''signed-tag| '\'' '| @@ -152,11 +217,13 @@ test_expect_success 'alignment with format quote' " " test_expect_success 'nested alignment with quote formatting' " - cat >expect <<-\EOF && + test_prepare_expect >expect <<-\EOF && |' master '| |' side '| |' odd/spot '| - |' double-tag '| + |' annotated-tag '| + |'doubly-annotated-tag '| + |'doubly-signed-tag '| |' four '| |' one '| |' signed-tag '| @@ -168,14 +235,16 @@ test_expect_success 'nested alignment with quote formatting' " " test_expect_success 'check `%(contents:lines=1)`' ' - cat >expect <<-\EOF && + test_prepare_expect >expect <<-\EOF && master |three side |four odd/spot |three - double-tag |Annonated doubly + annotated-tag |An annotated tag + doubly-annotated-tag |Annonated doubly + doubly-signed-tag |Signed doubly four |four one |one - signed-tag |A signed tag message + signed-tag |A signed tag three |three two |two EOF @@ -184,11 +253,13 @@ test_expect_success 'check `%(contents:lines=1)`' ' ' test_expect_success 'check `%(contents:lines=0)`' ' - cat >expect <<-\EOF && + test_prepare_expect >expect <<-\EOF && master | side | odd/spot | - double-tag | + annotated-tag | + doubly-annotated-tag | + doubly-signed-tag | four | one | signed-tag | @@ -200,14 +271,16 @@ test_expect_success 'check `%(contents:lines=0)`' ' ' test_expect_success 'check `%(contents:lines=99999)`' ' - cat >expect <<-\EOF && + test_prepare_expect >expect <<-\EOF && master |three side |four odd/spot |three - double-tag |Annonated doubly + annotated-tag |An annotated tag + doubly-annotated-tag |Annonated doubly + doubly-signed-tag |Signed doubly four |four one |one - signed-tag |A signed tag message + signed-tag |A signed tag three |three two |two EOF diff --git a/t/t7001-mv.sh b/t/t7001-mv.sh index 51dd2b4e0e..4a2570ed95 100755 --- a/t/t7001-mv.sh +++ b/t/t7001-mv.sh @@ -102,7 +102,7 @@ test_expect_success \ test_expect_success \ 'adding another file' \ - 'cp "$TEST_DIRECTORY"/../README path0/README && + 'cp "$TEST_DIRECTORY"/../README.md path0/README && git add path0/README && git commit -m add2 -a' @@ -292,6 +292,9 @@ test_expect_success 'setup submodule' ' echo content >file && git add file && git commit -m "added sub and file" && + mkdir -p deep/directory/hierachy && + git submodule add ./. deep/directory/hierachy/sub && + git commit -m "added another submodule" && git branch submodule ' @@ -475,4 +478,17 @@ test_expect_success 'mv -k does not accidentally destroy submodules' ' git checkout . ' +test_expect_success 'moving a submodule in nested directories' ' + ( + cd deep && + git mv directory ../ && + # git status would fail if the update of linking git dir to + # work dir of the submodule failed. + git status && + git config -f ../.gitmodules submodule.deep/directory/hierachy/sub.path >../actual && + echo "directory/hierachy/sub" >../expect + ) && + test_cmp actual expect +' + test_done diff --git a/t/t7004-tag.sh b/t/t7004-tag.sh index cf3469b142..f9b7d79af5 100755 --- a/t/t7004-tag.sh +++ b/t/t7004-tag.sh @@ -775,6 +775,47 @@ test_expect_success GPG '-s implies annotated tag' ' test_cmp expect actual ' +get_tag_header forcesignannotated-implied-sign $commit commit $time >expect +echo "A message" >>expect +echo '-----BEGIN PGP SIGNATURE-----' >>expect +test_expect_success GPG \ + 'git tag -s implied if configured with tag.forcesignannotated' \ + 'test_config tag.forcesignannotated true && + git tag -m "A message" forcesignannotated-implied-sign && + get_tag_msg forcesignannotated-implied-sign >actual && + test_cmp expect actual +' + +test_expect_success GPG \ + 'lightweight with no message when configured with tag.forcesignannotated' \ + 'test_config tag.forcesignannotated true && + git tag forcesignannotated-lightweight && + tag_exists forcesignannotated-lightweight && + test_must_fail git tag -v forcesignannotated-no-message +' + +get_tag_header forcesignannotated-annotate $commit commit $time >expect +echo "A message" >>expect +test_expect_success GPG \ + 'git tag -a disable configured tag.forcesignannotated' \ + 'test_config tag.forcesignannotated true && + git tag -a -m "A message" forcesignannotated-annotate && + get_tag_msg forcesignannotated-annotate >actual && + test_cmp expect actual && + test_must_fail git tag -v forcesignannotated-annotate +' + +get_tag_header forcesignannotated-disabled $commit commit $time >expect +echo "A message" >>expect +echo '-----BEGIN PGP SIGNATURE-----' >>expect +test_expect_success GPG \ + 'git tag --sign enable GPG sign' \ + 'test_config tag.forcesignannotated false && + git tag --sign -m "A message" forcesignannotated-disabled && + get_tag_msg forcesignannotated-disabled >actual && + test_cmp expect actual +' + test_expect_success GPG \ 'trying to create a signed tag with non-existing -F file should fail' ' ! test -f nonexistingfile && diff --git a/t/t7008-grep-binary.sh b/t/t7008-grep-binary.sh index b146406e9c..9c9c378119 100755 --- a/t/t7008-grep-binary.sh +++ b/t/t7008-grep-binary.sh @@ -141,7 +141,8 @@ test_expect_success 'grep respects not-binary diff attribute' ' test_cmp expect actual && echo "b diff" >.gitattributes && echo "b:binQary" >expect && - git grep bin b | nul_to_q >actual && + git grep bin b >actual.raw && + nul_to_q <actual.raw >actual && test_cmp expect actual ' diff --git a/t/t7030-verify-tag.sh b/t/t7030-verify-tag.sh index 4608e71343..07079a41c4 100755 --- a/t/t7030-verify-tag.sh +++ b/t/t7030-verify-tag.sh @@ -112,4 +112,17 @@ test_expect_success GPG 'verify signatures with --raw' ' ) ' +test_expect_success GPG 'verify multiple tags' ' + tags="fourth-signed sixth-signed seventh-signed" && + for i in $tags + do + git verify-tag -v --raw $i || return 1 + done >expect.stdout 2>expect.stderr.1 && + grep "^.GNUPG:." <expect.stderr.1 >expect.stderr && + git verify-tag -v --raw $tags >actual.stdout 2>actual.stderr.1 && + grep "^.GNUPG:." <actual.stderr.1 >actual.stderr && + test_cmp expect.stdout actual.stdout && + test_cmp expect.stderr actual.stderr +' + test_done diff --git a/t/t7300-clean.sh b/t/t7300-clean.sh index 86ceb38b01..b89fd2a6ad 100755 --- a/t/t7300-clean.sh +++ b/t/t7300-clean.sh @@ -495,7 +495,7 @@ test_expect_success 'should not clean submodules' ' test_path_is_missing to_clean ' -test_expect_success POSIXPERM 'should avoid cleaning possible submodules' ' +test_expect_success POSIXPERM,SANITY 'should avoid cleaning possible submodules' ' rm -fr to_clean possible_sub1 && mkdir to_clean possible_sub1 && test_when_finished "rm -rf possible_sub*" && diff --git a/t/t7400-submodule-basic.sh b/t/t7400-submodule-basic.sh index 540771ca41..3570f7bb8c 100755 --- a/t/t7400-submodule-basic.sh +++ b/t/t7400-submodule-basic.sh @@ -11,6 +11,10 @@ subcommands of git submodule. . ./test-lib.sh +test_expect_success 'submodule deinit works on empty repository' ' + git submodule deinit --all +' + test_expect_success 'setup - initial commit' ' >t && git add t && @@ -18,6 +22,22 @@ test_expect_success 'setup - initial commit' ' git branch initial ' +test_expect_success 'submodule init aborts on missing .gitmodules file' ' + test_when_finished "git update-index --remove sub" && + git update-index --add --cacheinfo 160000,$(git rev-parse HEAD),sub && + # missing the .gitmodules file here + test_must_fail git submodule init 2>actual && + test_i18ngrep "No url found for submodule path" actual +' + +test_expect_success 'submodule update aborts on missing .gitmodules file' ' + test_when_finished "git update-index --remove sub" && + git update-index --add --cacheinfo 160000,$(git rev-parse HEAD),sub && + # missing the .gitmodules file here + git submodule update sub 2>actual && + test_i18ngrep "Submodule path .sub. not initialized" actual +' + test_expect_success 'configuration parsing' ' test_when_finished "rm -f .gitmodules" && cat >.gitmodules <<-\EOF && @@ -462,7 +482,7 @@ test_expect_success 'update --init' ' git config --remove-section submodule.example && test_must_fail git config submodule.example.url && - git submodule update init > update.out && + git submodule update init 2> update.out && cat update.out && test_i18ngrep "not initialized" update.out && test_must_fail git rev-parse --resolve-git-dir init/.git && @@ -480,7 +500,7 @@ test_expect_success 'update --init from subdirectory' ' mkdir -p sub && ( cd sub && - git submodule update ../init >update.out && + git submodule update ../init 2>update.out && cat update.out && test_i18ngrep "not initialized" update.out && test_must_fail git rev-parse --resolve-git-dir ../init/.git && @@ -818,6 +838,47 @@ test_expect_success 'submodule add --name allows to replace a submodule with ano ) ' +test_expect_success 'recursive relative submodules stay relative' ' + test_when_finished "rm -rf super clone2 subsub sub3" && + mkdir subsub && + ( + cd subsub && + git init && + >t && + git add t && + git commit -m "initial commit" + ) && + mkdir sub3 && + ( + cd sub3 && + git init && + >t && + git add t && + git commit -m "initial commit" && + git submodule add ../subsub dirdir/subsub && + git commit -m "add submodule subsub" + ) && + mkdir super && + ( + cd super && + git init && + >t && + git add t && + git commit -m "initial commit" && + git submodule add ../sub3 && + git commit -m "add submodule sub" + ) && + git clone super clone2 && + ( + cd clone2 && + git submodule update --init --recursive && + echo "gitdir: ../.git/modules/sub3" >./sub3/.git_expect && + echo "gitdir: ../../../.git/modules/sub3/modules/dirdir/subsub" >./sub3/dirdir/subsub/.git_expect + ) && + test_cmp clone2/sub3/.git_expect clone2/sub3/.git && + test_cmp clone2/sub3/dirdir/subsub/.git_expect clone2/sub3/dirdir/subsub/.git +' + test_expect_success 'submodule add with an existing name fails unless forced' ' ( cd addtest2 && @@ -849,6 +910,20 @@ test_expect_success 'set up a second submodule' ' git commit -m "submodule example2 added" ' +test_expect_success 'submodule deinit works on repository without submodules' ' + test_when_finished "rm -rf newdirectory" && + mkdir newdirectory && + ( + cd newdirectory && + git init && + >file && + git add file && + git commit -m "repo should not be empty" && + git submodule deinit . && + git submodule deinit --all + ) +' + test_expect_success 'submodule deinit should remove the whole submodule section from .git/config' ' git config submodule.example.foo bar && git config submodule.example2.frotz nitfol && @@ -887,6 +962,19 @@ test_expect_success 'submodule deinit . deinits all initialized submodules' ' rmdir init example2 ' +test_expect_success 'submodule deinit --all deinits all initialized submodules' ' + git submodule update --init && + git config submodule.example.foo bar && + git config submodule.example2.frotz nitfol && + test_must_fail git submodule deinit && + git submodule deinit --all >actual && + test -z "$(git config --get-regexp "submodule\.example\.")" && + test -z "$(git config --get-regexp "submodule\.example2\.")" && + test_i18ngrep "Cleared directory .init" actual && + test_i18ngrep "Cleared directory .example2" actual && + rmdir init example2 +' + test_expect_success 'submodule deinit deinits a submodule when its work tree is missing or empty' ' git submodule update --init && rm -rf init example2/* example2/.git && @@ -953,6 +1041,10 @@ test_expect_success 'submodule deinit is silent when used on an uninitialized su test_i18ngrep ! "Submodule .example. (.*) unregistered for path .init" actual && test_i18ngrep ! "Submodule .example2. (.*) unregistered for path .example2" actual && test_i18ngrep "Cleared directory .init" actual && + git submodule deinit --all >actual && + test_i18ngrep ! "Submodule .example. (.*) unregistered for path .init" actual && + test_i18ngrep ! "Submodule .example2. (.*) unregistered for path .example2" actual && + test_i18ngrep "Cleared directory .init" actual && rmdir init example2 ' @@ -999,5 +1091,30 @@ test_expect_success 'submodule add clone shallow submodule' ' ) ' +test_expect_success 'submodule helper list is not confused by common prefixes' ' + mkdir -p dir1/b && + ( + cd dir1/b && + git init && + echo hi >testfile2 && + git add . && + git commit -m "test1" + ) && + mkdir -p dir2/b && + ( + cd dir2/b && + git init && + echo hello >testfile1 && + git add . && + git commit -m "test2" + ) && + git submodule add /dir1/b dir1/b && + git submodule add /dir2/b dir2/b && + git commit -m "first submodule commit" && + git submodule--helper list dir1/b |cut -c51- >actual && + echo "dir1/b" >expect && + test_cmp expect actual +' + test_done diff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh index 68ea31d693..5f278799d5 100755 --- a/t/t7406-submodule-update.sh +++ b/t/t7406-submodule-update.sh @@ -63,6 +63,10 @@ test_expect_success 'setup a submodule tree' ' git submodule add ../none none && test_tick && git commit -m "none" + ) && + git clone . recursivesuper && + ( cd recursivesuper + git submodule add ../super super ) ' @@ -95,6 +99,47 @@ test_expect_success 'submodule update from subdirectory' ' ) ' +supersha1=$(git -C super rev-parse HEAD) +mergingsha1=$(git -C super/merging rev-parse HEAD) +nonesha1=$(git -C super/none rev-parse HEAD) +rebasingsha1=$(git -C super/rebasing rev-parse HEAD) +submodulesha1=$(git -C super/submodule rev-parse HEAD) +pwd=$(pwd) + +cat <<EOF >expect +Submodule path '../super': checked out '$supersha1' +Submodule path '../super/merging': checked out '$mergingsha1' +Submodule path '../super/none': checked out '$nonesha1' +Submodule path '../super/rebasing': checked out '$rebasingsha1' +Submodule path '../super/submodule': checked out '$submodulesha1' +EOF + +cat <<EOF >expect2 +Submodule 'merging' ($pwd/merging) registered for path '../super/merging' +Submodule 'none' ($pwd/none) registered for path '../super/none' +Submodule 'rebasing' ($pwd/rebasing) registered for path '../super/rebasing' +Submodule 'submodule' ($pwd/submodule) registered for path '../super/submodule' +Cloning into '$pwd/recursivesuper/super/merging'... +done. +Cloning into '$pwd/recursivesuper/super/none'... +done. +Cloning into '$pwd/recursivesuper/super/rebasing'... +done. +Cloning into '$pwd/recursivesuper/super/submodule'... +done. +EOF + +test_expect_success 'submodule update --init --recursive from subdirectory' ' + git -C recursivesuper/super reset --hard HEAD^ && + (cd recursivesuper && + mkdir tmp && + cd tmp && + git submodule update --init --recursive ../super >../../actual 2>../../actual2 + ) && + test_cmp expect actual && + test_cmp expect2 actual2 +' + apos="'"; test_expect_success 'submodule update does not fetch already present commits' ' (cd submodule && @@ -311,16 +356,59 @@ test_expect_success 'submodule update - command in .git/config' ' ) ' +cat << EOF >expect +Execution of 'false $submodulesha1' failed in submodule path 'submodule' +EOF + test_expect_success 'submodule update - command in .git/config catches failure' ' (cd super && git config submodule.submodule.update "!false" ) && (cd super/submodule && - git reset --hard HEAD^ + git reset --hard $submodulesha1^ ) && (cd super && - test_must_fail git submodule update submodule - ) + test_must_fail git submodule update submodule 2>../actual + ) && + test_cmp actual expect +' + +cat << EOF >expect +Execution of 'false $submodulesha1' failed in submodule path '../submodule' +EOF + +test_expect_success 'submodule update - command in .git/config catches failure -- subdirectory' ' + (cd super && + git config submodule.submodule.update "!false" + ) && + (cd super/submodule && + git reset --hard $submodulesha1^ + ) && + (cd super && + mkdir tmp && cd tmp && + test_must_fail git submodule update ../submodule 2>../../actual + ) && + test_cmp actual expect +' + +cat << EOF >expect +Execution of 'false $submodulesha1' failed in submodule path '../super/submodule' +Failed to recurse into submodule path '../super' +EOF + +test_expect_success 'recursive submodule update - command in .git/config catches failure -- subdirectory' ' + (cd recursivesuper && + git submodule update --remote super && + git add super && + git commit -m "update to latest to have more than one commit in submodules" + ) && + git -C recursivesuper/super config submodule.submodule.update "!false" && + git -C recursivesuper/super/submodule reset --hard $submodulesha1^ && + (cd recursivesuper && + mkdir -p tmp && cd tmp && + test_must_fail git submodule update --recursive ../super 2>../../actual + ) && + test_cmp actual expect ' test_expect_success 'submodule init does not copy command into .git/config' ' @@ -774,4 +862,31 @@ test_expect_success 'submodule update --recursive drops module name before recur test_i18ngrep "Submodule path .deeper/submodule/subsubmodule.: checked out" actual ) ' + +test_expect_success 'submodule update can be run in parallel' ' + (cd super2 && + GIT_TRACE=$(pwd)/trace.out git submodule update --jobs 7 && + grep "7 tasks" trace.out && + git config submodule.fetchJobs 8 && + GIT_TRACE=$(pwd)/trace.out git submodule update && + grep "8 tasks" trace.out && + GIT_TRACE=$(pwd)/trace.out git submodule update --jobs 9 && + grep "9 tasks" trace.out + ) +' + +test_expect_success 'git clone passes the parallel jobs config on to submodules' ' + test_when_finished "rm -rf super4" && + GIT_TRACE=$(pwd)/trace.out git clone --recurse-submodules --jobs 7 . super4 && + grep "7 tasks" trace.out && + rm -rf super4 && + git config --global submodule.fetchJobs 8 && + GIT_TRACE=$(pwd)/trace.out git clone --recurse-submodules . super4 && + grep "8 tasks" trace.out && + rm -rf super4 && + GIT_TRACE=$(pwd)/trace.out git clone --recurse-submodules --jobs 9 . super4 && + grep "9 tasks" trace.out && + rm -rf super4 +' + test_done diff --git a/t/t7407-submodule-foreach.sh b/t/t7407-submodule-foreach.sh index 7ca10b8606..6ba5daf42e 100755 --- a/t/t7407-submodule-foreach.sh +++ b/t/t7407-submodule-foreach.sh @@ -178,6 +178,26 @@ test_expect_success 'test messages from "foreach --recursive"' ' ' cat > expect <<EOF +Entering '../nested1' +Entering '../nested1/nested2' +Entering '../nested1/nested2/nested3' +Entering '../nested1/nested2/nested3/submodule' +Entering '../sub1' +Entering '../sub2' +Entering '../sub3' +EOF + +test_expect_success 'test messages from "foreach --recursive" from subdirectory' ' + ( + cd clone2 && + mkdir untracked && + cd untracked && + git submodule foreach --recursive >../../actual + ) && + test_i18ncmp expect actual +' + +cat > expect <<EOF nested1-nested1 nested2-nested2 nested3-nested3 @@ -242,8 +262,12 @@ test_expect_success 'test "status --recursive"' ' test_cmp expect actual ' -sed -e "/nested2 /s/.*/+$nested2sha1 nested1\/nested2 (file2~1)/;/sub[1-3]/d" < expect > expect2 -mv -f expect2 expect +cat > expect <<EOF + $nested1sha1 nested1 (heads/master) ++$nested2sha1 nested1/nested2 (file2~1) + $nested3sha1 nested1/nested2/nested3 (heads/master) + $submodulesha1 nested1/nested2/nested3/submodule (heads/master) +EOF test_expect_success 'ensure "status --cached --recursive" preserves the --cached flag' ' ( @@ -257,6 +281,27 @@ test_expect_success 'ensure "status --cached --recursive" preserves the --cached test_cmp expect actual ' +nested2sha1=$(git -C clone3/nested1/nested2 rev-parse HEAD) + +cat > expect <<EOF + $nested1sha1 ../nested1 (heads/master) ++$nested2sha1 ../nested1/nested2 (file2) + $nested3sha1 ../nested1/nested2/nested3 (heads/master) + $submodulesha1 ../nested1/nested2/nested3/submodule (heads/master) + $sub1sha1 ../sub1 ($sub1sha1_short) + $sub2sha1 ../sub2 ($sub2sha1_short) + $sub3sha1 ../sub3 (heads/master) +EOF + +test_expect_success 'test "status --recursive" from sub directory' ' + ( + cd clone3 && + mkdir tmp && cd tmp && + git submodule status --recursive > ../../actual + ) && + test_cmp expect actual +' + test_expect_success 'use "git clone --recursive" to checkout all submodules' ' git clone --recursive super clone4 && ( diff --git a/t/t7409-submodule-detached-worktree.sh b/t/t7409-submodule-detached-work-tree.sh index c20717181e..c20717181e 100755 --- a/t/t7409-submodule-detached-worktree.sh +++ b/t/t7409-submodule-detached-work-tree.sh diff --git a/t/t7501-commit.sh b/t/t7501-commit.sh index 63e04277f9..900f7de05a 100755 --- a/t/t7501-commit.sh +++ b/t/t7501-commit.sh @@ -200,6 +200,26 @@ test_expect_success '--amend --edit of empty message' ' test_cmp expect msg ' +test_expect_success '--amend to set message to empty' ' + echo bata >file && + git add file && + git commit -m "unamended" && + git commit --amend --allow-empty-message -m "" && + git diff-tree -s --format=%s HEAD >msg && + echo "" >expect && + test_cmp expect msg +' + +test_expect_success '--amend to set empty message needs --allow-empty-message' ' + echo conga >file && + git add file && + git commit -m "unamended" && + test_must_fail git commit --amend -m "" && + git diff-tree -s --format=%s HEAD >msg && + echo "unamended" >expect && + test_cmp expect msg +' + test_expect_success '-m --edit' ' echo amended >expect && git commit --allow-empty -m buffer && diff --git a/t/t7502-commit.sh b/t/t7502-commit.sh index b39e313ac2..725687d5d5 100755 --- a/t/t7502-commit.sh +++ b/t/t7502-commit.sh @@ -527,11 +527,6 @@ try_commit_status_combo () { test_i18ngrep "^# Changes to be committed:" .git/COMMIT_EDITMSG ' - test_expect_success 'commit' ' - try_commit "" && - test_i18ngrep "^# Changes to be committed:" .git/COMMIT_EDITMSG - ' - test_expect_success 'commit --status' ' try_commit --status && test_i18ngrep "^# Changes to be committed:" .git/COMMIT_EDITMSG diff --git a/t/t7510-signed-commit.sh b/t/t7510-signed-commit.sh index 18e5cf0663..4177a8609a 100755 --- a/t/t7510-signed-commit.sh +++ b/t/t7510-signed-commit.sh @@ -45,12 +45,18 @@ test_expect_success GPG 'create signed commits' ' git tag seventh-signed && echo 8 >file && test_tick && git commit -a -m eighth -SB7227189 && - git tag eighth-signed-alt + git tag eighth-signed-alt && + + # commit.gpgsign is still on but this must not be signed + git tag ninth-unsigned $(echo 9 | git commit-tree HEAD^{tree}) && + # explicit -S of course must sign. + git tag tenth-signed $(echo 9 | git commit-tree -S HEAD^{tree}) ' test_expect_success GPG 'verify and show signatures' ' ( - for commit in initial second merge fourth-signed fifth-signed sixth-signed seventh-signed + for commit in initial second merge fourth-signed \ + fifth-signed sixth-signed seventh-signed tenth-signed do git verify-commit $commit && git show --pretty=short --show-signature $commit >actual && @@ -60,7 +66,8 @@ test_expect_success GPG 'verify and show signatures' ' done ) && ( - for commit in merge^2 fourth-unsigned sixth-unsigned seventh-unsigned + for commit in merge^2 fourth-unsigned sixth-unsigned \ + seventh-unsigned ninth-unsigned do test_must_fail git verify-commit $commit && git show --pretty=short --show-signature $commit >actual && diff --git a/t/t7600-merge.sh b/t/t7600-merge.sh index 302e238263..85248a14b6 100755 --- a/t/t7600-merge.sh +++ b/t/t7600-merge.sh @@ -33,9 +33,11 @@ printf '%s\n' 1 2 3 4 5 6 7 8 9 >file printf '%s\n' '1 X' 2 3 4 5 6 7 8 9 >file.1 printf '%s\n' 1 2 3 4 '5 X' 6 7 8 9 >file.5 printf '%s\n' 1 2 3 4 5 6 7 8 '9 X' >file.9 +printf '%s\n' 1 2 3 4 5 6 7 8 '9 Y' >file.9y printf '%s\n' '1 X' 2 3 4 5 6 7 8 9 >result.1 printf '%s\n' '1 X' 2 3 4 '5 X' 6 7 8 9 >result.1-5 printf '%s\n' '1 X' 2 3 4 '5 X' 6 7 8 '9 X' >result.1-5-9 +printf '%s\n' 1 2 3 4 5 6 7 8 '9 Z' >result.9z >empty create_merge_msgs () { @@ -128,6 +130,12 @@ test_expect_success 'setup' ' git tag c2 && c2=$(git rev-parse HEAD) && git reset --hard "$c0" && + cp file.9y file && + git add file && + test_tick && + git commit -m "commit 7" && + git tag c7 && + git reset --hard "$c0" && cp file.9 file && git add file && test_tick && @@ -218,6 +226,26 @@ test_expect_success 'merge c1 with c2' ' verify_parents $c1 $c2 ' +test_expect_success 'merge --squash c3 with c7' ' + git reset --hard c3 && + test_must_fail git merge --squash c7 && + cat result.9z >file && + git commit --no-edit -a && + + { + cat <<-EOF + Squashed commit of the following: + + $(git show -s c7) + + # Conflicts: + # file + EOF + } >expect && + git cat-file commit HEAD | sed -e '1,/^$/d' >actual && + test_cmp expect actual +' + test_debug 'git log --graph --decorate --oneline --all' test_expect_success 'merge c1 with c2 and c3' ' @@ -725,4 +753,14 @@ test_expect_success 'merge detects mod-256 conflicts (resolve)' ' test_must_fail git merge -s resolve master ' +test_expect_success 'merge nothing into void' ' + git init void && + ( + cd void && + git remote add up .. && + git fetch up && + test_must_fail git merge FETCH_HEAD + ) +' + test_done diff --git a/t/t7605-merge-resolve.sh b/t/t7605-merge-resolve.sh index 0cb9d11f21..5d56c38546 100755 --- a/t/t7605-merge-resolve.sh +++ b/t/t7605-merge-resolve.sh @@ -27,7 +27,7 @@ test_expect_success 'setup' ' git tag c3 ' -test_expect_success 'merge c1 to c2' ' +merge_c1_to_c2_cmds=' git reset --hard c1 && git merge -s resolve c2 && test "$(git rev-parse c1)" != "$(git rev-parse HEAD)" && @@ -41,6 +41,10 @@ test_expect_success 'merge c1 to c2' ' test 3 = $(git ls-files | wc -l) ' +test_expect_success 'merge c1 to c2' "$merge_c1_to_c2_cmds" + +test_expect_success 'merge c1 to c2, again' "$merge_c1_to_c2_cmds" + test_expect_success 'merge c2 to c3 (fails)' ' git reset --hard c2 && test_must_fail git merge -s resolve c3 diff --git a/t/t7609-merge-co-error-msgs.sh b/t/t7609-merge-co-error-msgs.sh index 0e4a682c64..6729cb379f 100755 --- a/t/t7609-merge-co-error-msgs.sh +++ b/t/t7609-merge-co-error-msgs.sh @@ -37,14 +37,14 @@ EOF test_expect_success 'untracked files overwritten by merge (fast and non-fast forward)' ' test_must_fail git merge branch 2>out && - test_cmp out expect && + test_i18ncmp out expect && git commit --allow-empty -m empty && ( GIT_MERGE_VERBOSITY=0 && export GIT_MERGE_VERBOSITY && test_must_fail git merge branch 2>out2 ) && - test_cmp out2 expect && + test_i18ncmp out2 expect && git reset --hard HEAD^ ' @@ -53,7 +53,7 @@ error: Your local changes to the following files would be overwritten by merge: four three two -Please, commit your changes or stash them before you can merge. +Please commit your changes or stash them before you can merge. error: The following untracked working tree files would be overwritten by merge: five Please move or remove them before you can merge. @@ -65,14 +65,14 @@ test_expect_success 'untracked files or local changes ovewritten by merge' ' git add three && git add four && test_must_fail git merge branch 2>out && - test_cmp out expect + test_i18ncmp out expect ' cat >expect <<\EOF error: Your local changes to the following files would be overwritten by checkout: rep/one rep/two -Please, commit your changes or stash them before you can switch branches. +Please commit your changes or stash them before you can switch branches. Aborting EOF @@ -87,21 +87,21 @@ test_expect_success 'cannot switch branches because of local changes' ' echo uno >rep/one && echo dos >rep/two && test_must_fail git checkout branch 2>out && - test_cmp out expect + test_i18ncmp out expect ' cat >expect <<\EOF error: Your local changes to the following files would be overwritten by checkout: rep/one rep/two -Please, commit your changes or stash them before you can switch branches. +Please commit your changes or stash them before you can switch branches. Aborting EOF test_expect_success 'not uptodate file porcelain checkout error' ' git add rep/one rep/two && test_must_fail git checkout branch 2>out && - test_cmp out expect + test_i18ncmp out expect ' cat >expect <<\EOF @@ -132,7 +132,7 @@ test_expect_success 'not_uptodate_dir porcelain checkout error' ' >rep/untracked-file && >rep2/untracked-file && test_must_fail git checkout branch 2>out && - test_cmp out ../expect + test_i18ncmp out ../expect ' test_done diff --git a/t/t7610-mergetool.sh b/t/t7610-mergetool.sh index 6f12b235b3..76306cf268 100755 --- a/t/t7610-mergetool.sh +++ b/t/t7610-mergetool.sh @@ -243,6 +243,70 @@ test_expect_success 'mergetool takes partial path' ' git reset --hard ' +test_expect_success 'mergetool delete/delete conflict' ' + git checkout -b delete-base branch1 && + mkdir -p a/a && + (echo one; echo two; echo 3; echo 4) >a/a/file.txt && + git add a/a/file.txt && + git commit -m"base file" && + git checkout -b move-to-b delete-base && + mkdir -p b/b && + git mv a/a/file.txt b/b/file.txt && + (echo one; echo two; echo 4) >b/b/file.txt && + git commit -a -m"move to b" && + git checkout -b move-to-c delete-base && + mkdir -p c/c && + git mv a/a/file.txt c/c/file.txt && + (echo one; echo two; echo 3) >c/c/file.txt && + git commit -a -m"move to c" && + test_must_fail git merge move-to-b && + echo d | git mergetool a/a/file.txt && + ! test -f a/a/file.txt && + git reset --hard HEAD && + test_must_fail git merge move-to-b && + echo m | git mergetool a/a/file.txt && + test -f b/b/file.txt && + git reset --hard HEAD && + test_must_fail git merge move-to-b && + ! echo a | git mergetool a/a/file.txt && + ! test -f a/a/file.txt && + git reset --hard HEAD +' + +test_expect_success 'mergetool produces no errors when keepBackup is used' ' + test_config mergetool.keepBackup true && + test_must_fail git merge move-to-b && + : >expect && + echo d | git mergetool a/a/file.txt 2>actual && + test_cmp expect actual && + ! test -d a && + git reset --hard HEAD +' + +test_expect_success 'mergetool honors tempfile config for deleted files' ' + test_config mergetool.keepTemporaries false && + test_must_fail git merge move-to-b && + echo d | git mergetool a/a/file.txt && + ! test -d a && + git reset --hard HEAD +' + +test_expect_success 'mergetool keeps tempfiles when aborting delete/delete' ' + test_config mergetool.keepTemporaries true && + test_must_fail git merge move-to-b && + ! (echo a; echo n) | git mergetool a/a/file.txt && + test -d a/a && + cat >expect <<-\EOF && + file_BASE_.txt + file_LOCAL_.txt + file_REMOTE_.txt + EOF + ls -1 a/a | sed -e "s/[0-9]*//g" >actual && + test_cmp expect actual && + git clean -fdx && + git reset --hard HEAD +' + test_expect_success 'deleted vs modified submodule' ' git checkout -b test6 branch1 && git submodule update -N && diff --git a/t/t7800-difftool.sh b/t/t7800-difftool.sh index 4e713f7aa5..ff7a9e968f 100755 --- a/t/t7800-difftool.sh +++ b/t/t7800-difftool.sh @@ -20,7 +20,7 @@ difftool_test_setup () prompt_given () { prompt="$1" - test "$prompt" = "Launch 'test-tool' [Y/n]: branch" + test "$prompt" = "Launch 'test-tool' [Y/n]? branch" } # Create a file on master and change it on branch diff --git a/t/t7810-grep.sh b/t/t7810-grep.sh index b540944408..1e72971a16 100755 --- a/t/t7810-grep.sh +++ b/t/t7810-grep.sh @@ -905,6 +905,33 @@ test_expect_success 'inside git repository but with --no-index' ' ) ' +test_expect_success 'grep --no-index descends into repos, but not .git' ' + rm -fr non && + mkdir -p non/git && + ( + GIT_CEILING_DIRECTORIES="$(pwd)/non" && + export GIT_CEILING_DIRECTORIES && + cd non/git && + + echo magic >file && + git init repo && + ( + cd repo && + echo magic >file && + git add file && + git commit -m foo && + echo magic >.git/file + ) && + + cat >expect <<-\EOF && + file + repo/file + EOF + git grep -l --no-index magic >actual && + test_cmp expect actual + ) +' + test_expect_success 'setup double-dash tests' ' cat >double-dash <<EOF && -- diff --git a/t/t8003-blame-corner-cases.sh b/t/t8003-blame-corner-cases.sh index 6568429753..a9b266f0d3 100755 --- a/t/t8003-blame-corner-cases.sh +++ b/t/t8003-blame-corner-cases.sh @@ -212,4 +212,18 @@ test_expect_success 'blame file with CRLF attributes text' ' grep "A U Thor" actual ' +test_expect_success 'blame file with CRLF core.autocrlf=true' ' + git config core.autocrlf false && + printf "testcase\r\n" >crlfinrepo && + >.gitattributes && + git add crlfinrepo && + git commit -m "add crlfinrepo" && + git config core.autocrlf true && + mv crlfinrepo tmp && + git checkout crlfinrepo && + rm tmp && + git blame crlfinrepo >actual && + grep "A U Thor" actual +' + test_done diff --git a/t/t8005-blame-i18n.sh b/t/t8005-blame-i18n.sh index 847d098c09..75da219ed1 100755 --- a/t/t8005-blame-i18n.sh +++ b/t/t8005-blame-i18n.sh @@ -33,11 +33,15 @@ author $SJIS_NAME summary $SJIS_MSG EOF +filter_author_summary () { + sed -n -e '/^author /p' -e '/^summary /p' "$@" +} + test_expect_success !MINGW \ 'blame respects i18n.commitencoding' ' - git blame --incremental file | \ - egrep "^(author|summary) " > actual && - test_cmp actual expected + git blame --incremental file >output && + filter_author_summary output >actual && + test_cmp expected actual ' cat >expected <<EOF @@ -52,9 +56,9 @@ EOF test_expect_success !MINGW \ 'blame respects i18n.logoutputencoding' ' git config i18n.logoutputencoding eucJP && - git blame --incremental file | \ - egrep "^(author|summary) " > actual && - test_cmp actual expected + git blame --incremental file >output && + filter_author_summary output >actual && + test_cmp expected actual ' cat >expected <<EOF @@ -68,9 +72,9 @@ EOF test_expect_success !MINGW \ 'blame respects --encoding=UTF-8' ' - git blame --incremental --encoding=UTF-8 file | \ - egrep "^(author|summary) " > actual && - test_cmp actual expected + git blame --incremental --encoding=UTF-8 file >output && + filter_author_summary output >actual && + test_cmp expected actual ' cat >expected <<EOF @@ -84,9 +88,9 @@ EOF test_expect_success !MINGW \ 'blame respects --encoding=none' ' - git blame --incremental --encoding=none file | \ - egrep "^(author|summary) " > actual && - test_cmp actual expected + git blame --incremental --encoding=none file >output && + filter_author_summary output >actual && + test_cmp expected actual ' test_done diff --git a/t/t9108-git-svn-glob.sh b/t/t9108-git-svn-glob.sh index a526d60379..a94286c8ec 100755 --- a/t/t9108-git-svn-glob.sh +++ b/t/t9108-git-svn-glob.sh @@ -86,9 +86,12 @@ test_expect_success 'test left-hand-side only globbing' ' test_cmp expect.two output.two ' -echo "Only one set of wildcard directories" \ - "(e.g. '*' or '*/*/*') is supported: 'branches/*/t/*'" > expect.three -echo "" >> expect.three +test_expect_success 'prepare test disallow multi-globs' " +cat >expect.three <<EOF +Only one set of wildcards (e.g. '*' or '*/*/*') is supported: branches/*/t/* + +EOF + " test_expect_success 'test disallow multi-globs' ' git config --add svn-remote.three.url "$svnrepo" && diff --git a/t/t9109-git-svn-multi-glob.sh b/t/t9109-git-svn-multi-glob.sh index f36b749242..8d99e848d4 100755 --- a/t/t9109-git-svn-multi-glob.sh +++ b/t/t9109-git-svn-multi-glob.sh @@ -135,9 +135,12 @@ test_expect_success 'test another branch' ' test_cmp expect.four output.four ' -echo "Only one set of wildcard directories" \ - "(e.g. '*' or '*/*/*') is supported: 'branches/*/t/*'" > expect.three -echo "" >> expect.three +test_expect_success 'prepare test disallow multiple globs' " +cat >expect.three <<EOF +Only one set of wildcards (e.g. '*' or '*/*/*') is supported: branches/*/t/* + +EOF + " test_expect_success 'test disallow multiple globs' ' git config --add svn-remote.three.url "$svnrepo" && diff --git a/t/t9115-git-svn-dcommit-funky-renames.sh b/t/t9115-git-svn-dcommit-funky-renames.sh index 0990f8d235..a87d3d3fc1 100755 --- a/t/t9115-git-svn-dcommit-funky-renames.sh +++ b/t/t9115-git-svn-dcommit-funky-renames.sh @@ -93,7 +93,7 @@ test_expect_success 'git svn rebase works inside a fresh-cloned repository' ' # > to special UNICODE characters in the range 0xf000 to 0xf0ff (the # > "Private use area") when creating or accessing files. prepare_a_utf8_locale -test_expect_success UTF8 'svn.pathnameencoding=cp932 new file on dcommit' ' +test_expect_success UTF8,!MINGW,!UTF8_NFD_TO_NFC 'svn.pathnameencoding=cp932 new file on dcommit' ' LC_ALL=$a_utf8_locale && export LC_ALL && neq=$(printf "\201\202") && @@ -105,7 +105,7 @@ test_expect_success UTF8 'svn.pathnameencoding=cp932 new file on dcommit' ' ' # See the comment on the above test for setting of LC_ALL. -test_expect_success 'svn.pathnameencoding=cp932 rename on dcommit' ' +test_expect_success !MINGW,!UTF8_NFD_TO_NFC 'svn.pathnameencoding=cp932 rename on dcommit' ' LC_ALL=$a_utf8_locale && export LC_ALL && inf=$(printf "\201\207") && diff --git a/t/t9117-git-svn-init-clone.sh b/t/t9117-git-svn-init-clone.sh index a66f43c6b1..69a675052e 100755 --- a/t/t9117-git-svn-init-clone.sh +++ b/t/t9117-git-svn-init-clone.sh @@ -119,4 +119,10 @@ test_expect_success 'clone with -s/-T/-b/-t and --prefix "" still works' ' rm -f warning ' +test_expect_success 'init with -T as a full url works' ' + test ! -d project && + git svn init -T "$svnrepo"/project/trunk project && + rm -rf project + ' + test_done diff --git a/t/t9168-git-svn-partially-globbed-names.sh b/t/t9168-git-svn-partially-globbed-names.sh new file mode 100755 index 0000000000..8b22f2272c --- /dev/null +++ b/t/t9168-git-svn-partially-globbed-names.sh @@ -0,0 +1,223 @@ +#!/bin/sh +test_description='git svn globbing refspecs with prefixed globs' +. ./lib-git-svn.sh + +test_expect_success 'prepare test refspec prefixed globbing' ' + cat >expect.end <<EOF +the end +hi +start a new branch +initial +EOF + ' + +test_expect_success 'test refspec prefixed globbing' ' + mkdir -p trunk/src/a trunk/src/b trunk/doc && + echo "hello world" >trunk/src/a/readme && + echo "goodbye world" >trunk/src/b/readme && + svn_cmd import -m "initial" trunk "$svnrepo"/trunk && + svn_cmd co "$svnrepo" tmp && + ( + cd tmp && + mkdir branches tags && + svn_cmd add branches tags && + svn_cmd cp trunk branches/b_start && + svn_cmd commit -m "start a new branch" && + svn_cmd up && + echo "hi" >>branches/b_start/src/b/readme && + poke branches/b_start/src/b/readme && + echo "hey" >>branches/b_start/src/a/readme && + poke branches/b_start/src/a/readme && + svn_cmd commit -m "hi" && + svn_cmd up && + svn_cmd cp branches/b_start tags/t_end && + echo "bye" >>tags/t_end/src/b/readme && + poke tags/t_end/src/b/readme && + echo "aye" >>tags/t_end/src/a/readme && + poke tags/t_end/src/a/readme && + svn_cmd commit -m "the end" && + echo "byebye" >>tags/t_end/src/b/readme && + poke tags/t_end/src/b/readme && + svn_cmd commit -m "nothing to see here" + ) && + git config --add svn-remote.svn.url "$svnrepo" && + git config --add svn-remote.svn.fetch \ + "trunk/src/a:refs/remotes/trunk" && + git config --add svn-remote.svn.branches \ + "branches/b_*/src/a:refs/remotes/branches/b_*" && + git config --add svn-remote.svn.tags\ + "tags/t_*/src/a:refs/remotes/tags/t_*" && + git svn multi-fetch && + git log --pretty=oneline refs/remotes/tags/t_end | \ + sed -e "s/^.\{41\}//" >output.end && + test_cmp expect.end output.end && + test "$(git rev-parse refs/remotes/tags/t_end~1)" = \ + "$(git rev-parse refs/remotes/branches/b_start)" && + test "$(git rev-parse refs/remotes/branches/b_start~2)" = \ + "$(git rev-parse refs/remotes/trunk)" && + test_must_fail git rev-parse refs/remotes/tags/t_end@3 + ' + +test_expect_success 'prepare test left-hand-side only prefixed globbing' ' + echo try to try >expect.two && + echo nothing to see here >>expect.two && + cat expect.end >>expect.two + ' + +test_expect_success 'test left-hand-side only prefixed globbing' ' + git config --add svn-remote.two.url "$svnrepo" && + git config --add svn-remote.two.fetch trunk:refs/remotes/two/trunk && + git config --add svn-remote.two.branches \ + "branches/b_*:refs/remotes/two/branches/*" && + git config --add svn-remote.two.tags \ + "tags/t_*:refs/remotes/two/tags/*" && + ( + cd tmp && + echo "try try" >>tags/t_end/src/b/readme && + poke tags/t_end/src/b/readme && + svn_cmd commit -m "try to try" + ) && + git svn fetch two && + test $(git rev-list refs/remotes/two/tags/t_end | wc -l) -eq 6 && + test $(git rev-list refs/remotes/two/branches/b_start | wc -l) -eq 3 && + test $(git rev-parse refs/remotes/two/branches/b_start~2) = \ + $(git rev-parse refs/remotes/two/trunk) && + test $(git rev-parse refs/remotes/two/tags/t_end~3) = \ + $(git rev-parse refs/remotes/two/branches/b_start) && + git log --pretty=oneline refs/remotes/two/tags/t_end | \ + sed -e "s/^.\{41\}//" >output.two && + test_cmp expect.two output.two + ' + +test_expect_success 'prepare test prefixed globs match just prefix' ' + cat >expect.three <<EOF +Tag commit to t_ +Branch commit to b_ +initial +EOF + ' + +test_expect_success 'test prefixed globs match just prefix' ' + git config --add svn-remote.three.url "$svnrepo" && + git config --add svn-remote.three.fetch \ + trunk:refs/remotes/three/trunk && + git config --add svn-remote.three.branches \ + "branches/b_*:refs/remotes/three/branches/*" && + git config --add svn-remote.three.tags \ + "tags/t_*:refs/remotes/three/tags/*" && + ( + cd tmp && + svn_cmd cp trunk branches/b_ && + echo "Branch commit to b_" >>branches/b_/src/a/readme && + poke branches/b_/src/a/readme && + svn_cmd commit -m "Branch commit to b_" && + svn_cmd up && svn_cmd cp branches/b_ tags/t_ && + echo "Tag commit to t_" >>tags/t_/src/a/readme && + poke tags/t_/src/a/readme && + svn_cmd commit -m "Tag commit to t_" && + svn_cmd up + ) && + git svn fetch three && + test $(git rev-list refs/remotes/three/branches/b_ | wc -l) -eq 2 && + test $(git rev-list refs/remotes/three/tags/t_ | wc -l) -eq 3 && + test $(git rev-parse refs/remotes/three/branches/b_~1) = \ + $(git rev-parse refs/remotes/three/trunk) && + test $(git rev-parse refs/remotes/three/tags/t_~1) = \ + $(git rev-parse refs/remotes/three/branches/b_) && + git log --pretty=oneline refs/remotes/three/tags/t_ | \ + sed -e "s/^.\{41\}//" >output.three && + test_cmp expect.three output.three + ' + +test_expect_success 'prepare test disallow prefixed multi-globs' " +cat >expect.four <<EOF +Only one set of wildcards (e.g. '*' or '*/*/*') is supported: branches/b_*/t/* + +EOF + " + +test_expect_success 'test disallow prefixed multi-globs' ' + git config --add svn-remote.four.url "$svnrepo" && + git config --add svn-remote.four.fetch \ + trunk:refs/remotes/four/trunk && + git config --add svn-remote.four.branches \ + "branches/b_*/t/*:refs/remotes/four/branches/*" && + git config --add svn-remote.four.tags \ + "tags/t_*/*:refs/remotes/four/tags/*" && + ( + cd tmp && + echo "try try" >>tags/t_end/src/b/readme && + poke tags/t_end/src/b/readme && + svn_cmd commit -m "try to try" + ) && + test_must_fail git svn fetch four 2>stderr.four && + test_cmp expect.four stderr.four && + git config --unset svn-remote.four.branches && + git config --unset svn-remote.four.tags + ' + +test_expect_success 'prepare test globbing in the middle of the word' ' + cat >expect.five <<EOF +Tag commit to fghij +Branch commit to abcde +initial +EOF + ' + +test_expect_success 'test globbing in the middle of the word' ' + git config --add svn-remote.five.url "$svnrepo" && + git config --add svn-remote.five.fetch \ + trunk:refs/remotes/five/trunk && + git config --add svn-remote.five.branches \ + "branches/a*e:refs/remotes/five/branches/*" && + git config --add svn-remote.five.tags \ + "tags/f*j:refs/remotes/five/tags/*" && + ( + cd tmp && + svn_cmd cp trunk branches/abcde && + echo "Branch commit to abcde" >>branches/abcde/src/a/readme && + poke branches/b_/src/a/readme && + svn_cmd commit -m "Branch commit to abcde" && + svn_cmd up && + svn_cmd cp branches/abcde tags/fghij && + echo "Tag commit to fghij" >>tags/fghij/src/a/readme && + poke tags/fghij/src/a/readme && + svn_cmd commit -m "Tag commit to fghij" && + svn_cmd up + ) && + git svn fetch five && + test $(git rev-list refs/remotes/five/branches/abcde | wc -l) -eq 2 && + test $(git rev-list refs/remotes/five/tags/fghij | wc -l) -eq 3 && + test $(git rev-parse refs/remotes/five/branches/abcde~1) = \ + $(git rev-parse refs/remotes/five/trunk) && + test $(git rev-parse refs/remotes/five/tags/fghij~1) = \ + $(git rev-parse refs/remotes/five/branches/abcde) && + git log --pretty=oneline refs/remotes/five/tags/fghij | \ + sed -e "s/^.\{41\}//" >output.five && + test_cmp expect.five output.five + ' + +test_expect_success 'prepare test disallow multiple asterisks in one word' " + echo \"Only one '*' is allowed in a pattern: 'a*c*e'\" >expect.six && + echo \"\" >>expect.six + " + +test_expect_success 'test disallow multiple asterisks in one word' ' + git config --add svn-remote.six.url "$svnrepo" && + git config --add svn-remote.six.fetch \ + trunk:refs/remotes/six/trunk && + git config --add svn-remote.six.branches \ + "branches/a*c*e:refs/remotes/six/branches/*" && + git config --add svn-remote.six.tags \ + "tags/f*h*j:refs/remotes/six/tags/*" && + ( + cd tmp && + echo "try try" >>tags/fghij/src/b/readme && + poke tags/fghij/src/b/readme && + svn_cmd commit -m "try to try" + ) && + test_must_fail git svn fetch six 2>stderr.six && + test_cmp expect.six stderr.six + ' + +test_done diff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh index 5cfb9cfc52..bb879a527d 100755 --- a/t/t9200-git-cvsexportcommit.sh +++ b/t/t9200-git-cvsexportcommit.sh @@ -35,7 +35,7 @@ exit 1 check_entries () { # $1 == directory, $2 == expected - grep '^/' "$1/CVS/Entries" | sort | cut -d/ -f2,3,5 >actual + sed -ne '/^\//p' "$1/CVS/Entries" | sort | cut -d/ -f2,3,5 >actual if test -z "$2" then >expected diff --git a/t/t9300-fast-import.sh b/t/t9300-fast-import.sh index 4c5f3c9d41..25bb60b281 100755 --- a/t/t9300-fast-import.sh +++ b/t/t9300-fast-import.sh @@ -55,6 +55,10 @@ test_expect_success 'empty stream succeeds' ' git fast-import </dev/null ' +test_expect_success 'truncated stream complains' ' + echo "tag foo" | test_must_fail git fast-import +' + test_expect_success 'A: create pack from stdin' ' test_tick && cat >input <<-INPUT_END && diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh index d708cbf032..432c61d246 100755 --- a/t/t9400-git-cvsserver-server.sh +++ b/t/t9400-git-cvsserver-server.sh @@ -45,7 +45,8 @@ test_expect_success 'setup' ' touch secondrootfile && git add secondrootfile && git commit -m "second root") && - git pull secondroot master && + git fetch secondroot master && + git merge --allow-unrelated-histories FETCH_HEAD && git clone -q --bare "$WORKDIR/.git" "$SERVERDIR" >/dev/null 2>&1 && GIT_DIR="$SERVERDIR" git config --bool gitcvs.enabled true && GIT_DIR="$SERVERDIR" git config gitcvs.logfile "$SERVERDIR/gitcvs.log" && diff --git a/t/t9700/test.pl b/t/t9700/test.pl index 7e8c40b97b..1b75c91965 100755 --- a/t/t9700/test.pl +++ b/t/t9700/test.pl @@ -17,6 +17,12 @@ BEGIN { use Cwd; use File::Basename; +sub adjust_dirsep { + my $path = shift; + $path =~ s{\\}{/}g; + return $path; +} + BEGIN { use_ok('Git') } # set up @@ -33,7 +39,7 @@ is($r->config_int("test.int"), 2048, "config_int: integer"); is($r->config_int("test.nonexistent"), undef, "config_int: nonexistent"); ok($r->config_bool("test.booltrue"), "config_bool: true"); ok(!$r->config_bool("test.boolfalse"), "config_bool: false"); -is($r->config_path("test.path") =~ s/\\/\//gr, $r->config("test.pathexpanded"), +is(adjust_dirsep($r->config_path("test.path")), $r->config("test.pathexpanded"), "config_path: ~/foo expansion"); is_deeply([$r->config_path("test.pathmulti")], ["foo", "bar"], "config_path: multiple values"); diff --git a/t/t9802-git-p4-filetype.sh b/t/t9802-git-p4-filetype.sh index 66d3fc91a7..eb9a8ed197 100755 --- a/t/t9802-git-p4-filetype.sh +++ b/t/t9802-git-p4-filetype.sh @@ -223,12 +223,12 @@ build_gendouble() { import sys import struct - s = struct.pack(">LL18s", + s = struct.pack(b">LL18s", 0x00051607, # AppleDouble 0x00020000, # version 2 - "" # pad to 26 bytes + b"" # pad to 26 bytes ) - sys.stdout.write(s) + getattr(sys.stdout, 'buffer', sys.stdout).write(s) EOF } diff --git a/t/t9824-git-p4-git-lfs.sh b/t/t9824-git-p4-git-lfs.sh index 0b664a377c..110a7e7924 100755 --- a/t/t9824-git-p4-git-lfs.sh +++ b/t/t9824-git-p4-git-lfs.sh @@ -13,6 +13,10 @@ test_file_in_lfs () { FILE="$1" && SIZE="$2" && EXPECTED_CONTENT="$3" && + sed -n '1,1 p' "$FILE" | grep "^version " && + sed -n '2,2 p' "$FILE" | grep "^oid " && + sed -n '3,3 p' "$FILE" | grep "^size " && + test_line_count = 3 "$FILE" && cat "$FILE" | grep "size $SIZE" && HASH=$(cat "$FILE" | grep "oid sha256:" | sed -e "s/oid sha256://g") && LFS_FILE=".git/lfs/objects/$(echo "$HASH" | cut -c1-2)/$(echo "$HASH" | cut -c3-4)/$HASH" && @@ -265,7 +269,7 @@ test_expect_success 'Add big files to repo and store files in LFS based on compr # We only import HEAD here ("@all" is missing!) git p4 clone --destination="$git" //depot && - test_file_in_lfs file6.bin 13 "content 6 bin 39 bytes XXXXXYYYYYZZZZZ" + test_file_in_lfs file6.bin 39 "content 6 bin 39 bytes XXXXXYYYYYZZZZZ" && test_file_count_in_dir ".git/lfs/objects" 1 && cat >expect <<-\EOF && diff --git a/t/t9826-git-p4-keep-empty-commits.sh b/t/t9826-git-p4-keep-empty-commits.sh index be12960d39..fa8b9daf1f 100755 --- a/t/t9826-git-p4-keep-empty-commits.sh +++ b/t/t9826-git-p4-keep-empty-commits.sh @@ -47,23 +47,23 @@ test_expect_success 'Clone repo root path with all history' ' git init . && git p4 clone --use-client-spec --destination="$git" //depot@all && cat >expect <<-\EOF && -Remove file 4 -[git-p4: depot-paths = "//depot/": change = 6] + Remove file 4 + [git-p4: depot-paths = "//depot/": change = 6] -Remove file 3 -[git-p4: depot-paths = "//depot/": change = 5] + Remove file 3 + [git-p4: depot-paths = "//depot/": change = 5] -Add file 4 -[git-p4: depot-paths = "//depot/": change = 4] + Add file 4 + [git-p4: depot-paths = "//depot/": change = 4] -Add file 3 -[git-p4: depot-paths = "//depot/": change = 3] + Add file 3 + [git-p4: depot-paths = "//depot/": change = 3] -Add file 2 -[git-p4: depot-paths = "//depot/": change = 2] + Add file 2 + [git-p4: depot-paths = "//depot/": change = 2] -Add file 1 -[git-p4: depot-paths = "//depot/": change = 1] + Add file 1 + [git-p4: depot-paths = "//depot/": change = 1] EOF git log --format=%B >actual && @@ -80,23 +80,23 @@ test_expect_success 'Clone repo subdir with all history but keep empty commits' git config git-p4.keepEmptyCommits true && git p4 clone --use-client-spec --destination="$git" //depot@all && cat >expect <<-\EOF && -Remove file 4 -[git-p4: depot-paths = "//depot/": change = 6] + Remove file 4 + [git-p4: depot-paths = "//depot/": change = 6] -Remove file 3 -[git-p4: depot-paths = "//depot/": change = 5] + Remove file 3 + [git-p4: depot-paths = "//depot/": change = 5] -Add file 4 -[git-p4: depot-paths = "//depot/": change = 4] + Add file 4 + [git-p4: depot-paths = "//depot/": change = 4] -Add file 3 -[git-p4: depot-paths = "//depot/": change = 3] + Add file 3 + [git-p4: depot-paths = "//depot/": change = 3] -Add file 2 -[git-p4: depot-paths = "//depot/": change = 2] + Add file 2 + [git-p4: depot-paths = "//depot/": change = 2] -Add file 1 -[git-p4: depot-paths = "//depot/": change = 1] + Add file 1 + [git-p4: depot-paths = "//depot/": change = 1] EOF git log --format=%B >actual && @@ -112,14 +112,14 @@ test_expect_success 'Clone repo subdir with all history' ' git init . && git p4 clone --use-client-spec --destination="$git" --verbose //depot@all && cat >expect <<-\EOF && -Remove file 3 -[git-p4: depot-paths = "//depot/": change = 5] + Remove file 3 + [git-p4: depot-paths = "//depot/": change = 5] -Add file 3 -[git-p4: depot-paths = "//depot/": change = 3] + Add file 3 + [git-p4: depot-paths = "//depot/": change = 3] -Add file 1 -[git-p4: depot-paths = "//depot/": change = 1] + Add file 1 + [git-p4: depot-paths = "//depot/": change = 1] EOF git log --format=%B >actual && diff --git a/t/t9828-git-p4-map-user.sh b/t/t9828-git-p4-map-user.sh new file mode 100755 index 0000000000..e20395c89f --- /dev/null +++ b/t/t9828-git-p4-map-user.sh @@ -0,0 +1,61 @@ +#!/bin/sh + +test_description='Clone repositories and map users' + +. ./lib-git-p4.sh + +test_expect_success 'start p4d' ' + start_p4d +' + +test_expect_success 'Create a repo with different users' ' + client_view "//depot/... //client/..." && + ( + cd "$cli" && + + >author.txt && + p4 add author.txt && + p4 submit -d "Add file author\\n" && + + P4USER=mmax && + >max.txt && + p4 add max.txt && + p4 submit -d "Add file max" && + + P4USER=eri && + >moritz.txt && + p4 add moritz.txt && + p4 submit -d "Add file moritz" && + + P4USER=no && + >nobody.txt && + p4 add nobody.txt && + p4 submit -d "Add file nobody" + ) +' + +test_expect_success 'Clone repo root path with all history' ' + client_view "//depot/... //client/..." && + test_when_finished cleanup_git && + ( + cd "$git" && + git init . && + git config --add git-p4.mapUser "mmax = Max Musterman <max@example.com> " && + git config --add git-p4.mapUser " eri=Erika Musterman <erika@example.com>" && + git p4 clone --use-client-spec --destination="$git" //depot@all && + cat >expect <<-\EOF && + no <no@client> + Erika Musterman <erika@example.com> + Max Musterman <max@example.com> + Dr. author <author@example.com> + EOF + git log --format="%an <%ae>" >actual && + test_cmp expect actual + ) +' + +test_expect_success 'kill p4d' ' + kill_p4d +' + +test_done diff --git a/t/t9829-git-p4-jobs.sh b/t/t9829-git-p4-jobs.sh new file mode 100755 index 0000000000..971aeeea1f --- /dev/null +++ b/t/t9829-git-p4-jobs.sh @@ -0,0 +1,99 @@ +#!/bin/sh + +test_description='git p4 retrieve job info' + +. ./lib-git-p4.sh + +test_expect_success 'start p4d' ' + start_p4d +' + +test_expect_success 'add p4 jobs' ' + ( + p4_add_job TESTJOB-A && + p4_add_job TESTJOB-B + ) +' + +test_expect_success 'add p4 files' ' + client_view "//depot/... //client/..." && + ( + cd "$cli" && + >file1 && + p4 add file1 && + p4 submit -d "Add file 1" + ) +' + +test_expect_success 'check log message of changelist with no jobs' ' + client_view "//depot/... //client/..." && + test_when_finished cleanup_git && + ( + cd "$git" && + git init . && + git p4 clone --use-client-spec --destination="$git" //depot@all && + cat >expect <<-\EOF && + Add file 1 + [git-p4: depot-paths = "//depot/": change = 1] + + EOF + git log --format=%B >actual && + test_cmp expect actual + ) +' + +test_expect_success 'add TESTJOB-A to change 1' ' + ( + cd "$cli" && + p4 fix -c 1 TESTJOB-A + ) +' + +test_expect_success 'check log message of changelist with one job' ' + client_view "//depot/... //client/..." && + test_when_finished cleanup_git && + ( + cd "$git" && + git init . && + git p4 clone --use-client-spec --destination="$git" //depot@all && + cat >expect <<-\EOF && + Add file 1 + Jobs: TESTJOB-A + [git-p4: depot-paths = "//depot/": change = 1] + + EOF + git log --format=%B >actual && + test_cmp expect actual + ) +' + +test_expect_success 'add TESTJOB-B to change 1' ' + ( + cd "$cli" && + p4 fix -c 1 TESTJOB-B + ) +' + +test_expect_success 'check log message of changelist with more jobs' ' + client_view "//depot/... //client/..." && + test_when_finished cleanup_git && + ( + cd "$git" && + git init . && + git p4 clone --use-client-spec --destination="$git" //depot@all && + cat >expect <<-\EOF && + Add file 1 + Jobs: TESTJOB-A TESTJOB-B + [git-p4: depot-paths = "//depot/": change = 1] + + EOF + git log --format=%B >actual && + test_cmp expect actual + ) +' + +test_expect_success 'kill p4d' ' + kill_p4d +' + +test_done diff --git a/t/t9903-bash-prompt.sh b/t/t9903-bash-prompt.sh index ffbfa0efb8..0db4469c89 100755 --- a/t/t9903-bash-prompt.sh +++ b/t/t9903-bash-prompt.sh @@ -107,7 +107,7 @@ test_expect_success 'prompt - describe detached head - contains' ' ' test_expect_success 'prompt - describe detached head - branch' ' - printf " ((b1~1))" >expected && + printf " ((tags/t2~1))" >expected && git checkout b1^ && test_when_finished "git checkout master" && ( diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh index c64e5a5025..8d99eb303f 100644 --- a/t/test-lib-functions.sh +++ b/t/test-lib-functions.sh @@ -617,7 +617,7 @@ test_must_fail () { return 0 elif test $exit_code -gt 129 && test $exit_code -le 192 then - echo >&2 "test_must_fail: died by signal: $*" + echo >&2 "test_must_fail: died by signal $(($exit_code - 128)): $*" return 1 elif test $exit_code -eq 127 then diff --git a/t/test-lib.sh b/t/test-lib.sh index 0b47eb6bb2..286c5f33d1 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -202,13 +202,13 @@ do } run_list=$1; shift ;; --run=*) - run_list=$(expr "z$1" : 'z[^=]*=\(.*\)'); shift ;; + run_list=${1#--*=}; shift ;; -h|--h|--he|--hel|--help) help=t; shift ;; -v|--v|--ve|--ver|--verb|--verbo|--verbos|--verbose) verbose=t; shift ;; --verbose-only=*) - verbose_only=$(expr "z$1" : 'z[^=]*=\(.*\)') + verbose_only=${1#--*=} shift ;; -q|--q|--qu|--qui|--quie|--quiet) # Ignore --quiet under a TAP::Harness. Saying how many tests @@ -222,15 +222,15 @@ do valgrind=memcheck shift ;; --valgrind=*) - valgrind=$(expr "z$1" : 'z[^=]*=\(.*\)') + valgrind=${1#--*=} shift ;; --valgrind-only=*) - valgrind_only=$(expr "z$1" : 'z[^=]*=\(.*\)') + valgrind_only=${1#--*=} shift ;; --tee) shift ;; # was handled already --root=*) - root=$(expr "z$1" : 'z[^=]*=\(.*\)') + root=${1#--*=} shift ;; --chain-lint) GIT_TEST_CHAIN_LINT=1 @@ -854,10 +854,10 @@ test -d "$GIT_BUILD_DIR"/templates/blt || { error "You haven't built things yet, have you?" } -if ! test -x "$GIT_BUILD_DIR"/test-chmtime +if ! test -x "$GIT_BUILD_DIR"/t/helper/test-chmtime then echo >&2 'You need to build test-chmtime:' - echo >&2 'Run "make test-chmtime" in the source (toplevel) directory' + echo >&2 'Run "make t/helper/test-chmtime" in the source (toplevel) directory' exit 1 fi @@ -6,6 +6,59 @@ const char *tag_type = "tag"; +static int run_gpg_verify(const char *buf, unsigned long size, unsigned flags) +{ + struct signature_check sigc; + size_t payload_size; + int ret; + + memset(&sigc, 0, sizeof(sigc)); + + payload_size = parse_signature(buf, size); + + if (size == payload_size) { + if (flags & GPG_VERIFY_VERBOSE) + write_in_full(1, buf, payload_size); + return error("no signature found"); + } + + ret = check_signature(buf, payload_size, buf + payload_size, + size - payload_size, &sigc); + print_signature_buffer(&sigc, flags); + + signature_check_clear(&sigc); + return ret; +} + +int gpg_verify_tag(const unsigned char *sha1, const char *name_to_report, + unsigned flags) +{ + enum object_type type; + char *buf; + unsigned long size; + int ret; + + type = sha1_object_info(sha1, NULL); + if (type != OBJ_TAG) + return error("%s: cannot verify a non-tag object of type %s.", + name_to_report ? + name_to_report : + find_unique_abbrev(sha1, DEFAULT_ABBREV), + typename(type)); + + buf = read_sha1_file(sha1, &type, &size); + if (!buf) + return error("%s: unable to read file.", + name_to_report ? + name_to_report : + find_unique_abbrev(sha1, DEFAULT_ABBREV)); + + ret = run_gpg_verify(buf, size, flags); + + free(buf); + return ret; +} + struct object *deref_tag(struct object *o, const char *warn, int warnlen) { while (o && o->type == OBJ_TAG) @@ -17,5 +17,7 @@ extern int parse_tag_buffer(struct tag *item, const void *data, unsigned long si extern int parse_tag(struct tag *item); extern struct object *deref_tag(struct object *, const char *, int); extern struct object *deref_tag_noverify(struct object *); +extern int gpg_verify_tag(const unsigned char *sha1, + const char *name_to_report, unsigned flags); #endif /* TAG_H */ diff --git a/templates/hooks--update.sample b/templates/hooks--update.sample index d84758373d..80ba94135c 100755 --- a/templates/hooks--update.sample +++ b/templates/hooks--update.sample @@ -1,6 +1,6 @@ #!/bin/sh # -# An example hook script to blocks unannotated tags from entering. +# An example hook script to block unannotated tags from entering. # Called by "git receive-pack" with arguments: refname sha1-old sha1-new # # To enable this hook, rename this file to "update". diff --git a/test-match-trees.c b/test-match-trees.c deleted file mode 100644 index 109f03e711..0000000000 --- a/test-match-trees.c +++ /dev/null @@ -1,24 +0,0 @@ -#include "cache.h" -#include "tree.h" - -int main(int ac, char **av) -{ - unsigned char hash1[20], hash2[20], shifted[20]; - struct tree *one, *two; - - if (get_sha1(av[1], hash1)) - die("cannot parse %s as an object name", av[1]); - if (get_sha1(av[2], hash2)) - die("cannot parse %s as an object name", av[2]); - one = parse_tree_indirect(hash1); - if (!one) - die("not a tree-ish %s", av[1]); - two = parse_tree_indirect(hash2); - if (!two) - die("not a tree-ish %s", av[2]); - - shift_tree(one->object.oid.hash, two->object.oid.hash, shifted, -1); - printf("shifted: %s\n", sha1_to_hex(shifted)); - - exit(0); -} @@ -234,7 +234,7 @@ static const char *apply_command(const char *command, const char *arg) cp.use_shell = 1; if (capture_command(&cp, &buf, 1024)) { - error("running trailer command '%s' failed", cmd.buf); + error(_("running trailer command '%s' failed"), cmd.buf); strbuf_release(&buf); result = xstrdup(""); } else { diff --git a/transport-helper.c b/transport-helper.c index b934183236..13b7a57a75 100644 --- a/transport-helper.c +++ b/transport-helper.c @@ -1152,7 +1152,7 @@ static void udt_close_if_finished(struct unidirectional_transfer *t) } /* - * Tries to read read data from source into buffer. If buffer is full, + * Tries to read data from source into buffer. If buffer is full, * no data is read. Returns 0 on success, -1 on error. */ static int udt_do_read(struct unidirectional_transfer *t) diff --git a/transport.c b/transport.c index e20bb771fa..095e61f0ad 100644 --- a/transport.c +++ b/transport.c @@ -678,8 +678,9 @@ struct transport *transport_get(struct remote *remote, const char *url) || starts_with(url, "file://") || starts_with(url, "git://") || starts_with(url, "ssh://") - || starts_with(url, "git+ssh://") - || starts_with(url, "ssh+git://")) { + || starts_with(url, "git+ssh://") /* deprecated - do not use */ + || starts_with(url, "ssh+git://") /* deprecated - do not use */ + ) { /* * These are builtin smart transports; "allowed" transports * will be checked individually in git_connect. @@ -983,7 +984,7 @@ int transport_fetch_refs(struct transport *transport, struct ref *refs) * This condition shouldn't be met in a non-deepening fetch * (see builtin/fetch.c:quickfetch()). */ - heads = xmalloc(nr_refs * sizeof(*heads)); + ALLOC_ARRAY(heads, nr_refs); for (rm = refs; rm; rm = rm->next) heads[nr_heads++] = rm; } @@ -1027,7 +1028,7 @@ int transport_disconnect(struct transport *transport) */ char *transport_anonymize_url(const char *url) { - char *anon_url, *scheme_prefix, *anon_part; + char *scheme_prefix, *anon_part; size_t anon_len, prefix_len = 0; anon_part = strchr(url, '@'); @@ -1061,10 +1062,8 @@ char *transport_anonymize_url(const char *url) goto literal_copy; prefix_len = scheme_prefix - url + 3; } - anon_url = xcalloc(1, 1 + prefix_len + anon_len); - memcpy(anon_url, url, prefix_len); - memcpy(anon_url + prefix_len, anon_part, anon_len); - return anon_url; + return xstrfmt("%.*s%.*s", (int)prefix_len, url, + (int)anon_len, anon_part); literal_copy: return xstrdup(url); } diff --git a/tree-diff.c b/tree-diff.c index 290a1da4ce..ff4e0d3cb6 100644 --- a/tree-diff.c +++ b/tree-diff.c @@ -124,8 +124,8 @@ static struct combine_diff_path *path_appendnew(struct combine_diff_path *last, unsigned mode, const unsigned char *sha1) { struct combine_diff_path *p; - int len = base->len + pathlen; - int alloclen = combine_diff_path_size(nparent, len); + size_t len = st_add(base->len, pathlen); + size_t alloclen = combine_diff_path_size(nparent, len); /* if last->next is !NULL - it is a pre-allocated memory, we can reuse */ p = last->next; @@ -183,7 +183,7 @@ static struct combine_diff_path *emit_path(struct combine_diff_path *p, if (t) { /* path present in resulting tree */ - sha1 = tree_entry_extract(t, &path, &mode); + sha1 = tree_entry_extract(t, &path, &mode)->hash; pathlen = tree_entry_len(&t->entry); isdir = S_ISDIR(mode); } else { @@ -229,7 +229,7 @@ static struct combine_diff_path *emit_path(struct combine_diff_path *p, DIFF_STATUS_ADDED; if (tpi_valid) { - sha1_i = tp[i].entry.sha1; + sha1_i = tp[i].entry.oid->hash; mode_i = tp[i].entry.mode; } else { @@ -270,7 +270,7 @@ static struct combine_diff_path *emit_path(struct combine_diff_path *p, /* same rule as in emitthis */ int tpi_valid = tp && !(tp[i].entry.mode & S_IFXMIN_NEQ); - parents_sha1[i] = tpi_valid ? tp[i].entry.sha1 + parents_sha1[i] = tpi_valid ? tp[i].entry.oid->hash : NULL; } @@ -482,7 +482,7 @@ static struct combine_diff_path *ll_diff_tree_paths( continue; /* diff(t,pi) != ΓΈ */ - if (hashcmp(t.entry.sha1, tp[i].entry.sha1) || + if (oidcmp(t.entry.oid, tp[i].entry.oid) || (t.entry.mode != tp[i].entry.mode)) continue; diff --git a/tree-walk.c b/tree-walk.c index cd4bb2c38b..ce27842439 100644 --- a/tree-walk.c +++ b/tree-walk.c @@ -38,7 +38,7 @@ static void decode_tree_entry(struct tree_desc *desc, const char *buf, unsigned /* Initialize the descriptor entry */ desc->entry.path = path; desc->entry.mode = canon_mode(mode); - desc->entry.sha1 = (const unsigned char *)(path + len); + desc->entry.oid = (const struct object_id *)(path + len); } void init_tree_desc(struct tree_desc *desc, const void *buffer, unsigned long size) @@ -76,7 +76,7 @@ static void entry_extract(struct tree_desc *t, struct name_entry *a) void update_tree_entry(struct tree_desc *desc) { const void *buf = desc->buffer; - const unsigned char *end = desc->entry.sha1 + 20; + const unsigned char *end = desc->entry.oid->hash + 20; unsigned long size = desc->size; unsigned long len = end - (const unsigned char *)buf; @@ -110,7 +110,7 @@ void setup_traverse_info(struct traverse_info *info, const char *base) pathlen--; info->pathlen = pathlen ? pathlen + 1 : 0; info->name.path = base; - info->name.sha1 = (void *)(base + pathlen + 1); + info->name.oid = (void *)(base + pathlen + 1); if (pathlen) info->prev = &dummy; } @@ -433,10 +433,10 @@ static int find_tree_entry(struct tree_desc *t, const char *name, unsigned char int namelen = strlen(name); while (t->size) { const char *entry; - const unsigned char *sha1; + const struct object_id *oid; int entrylen, cmp; - sha1 = tree_entry_extract(t, &entry, mode); + oid = tree_entry_extract(t, &entry, mode); entrylen = tree_entry_len(&t->entry); update_tree_entry(t); if (entrylen > namelen) @@ -447,7 +447,7 @@ static int find_tree_entry(struct tree_desc *t, const char *name, unsigned char if (cmp < 0) break; if (entrylen == namelen) { - hashcpy(result, sha1); + hashcpy(result, oid->hash); return 0; } if (name[entrylen] != '/') @@ -455,10 +455,10 @@ static int find_tree_entry(struct tree_desc *t, const char *name, unsigned char if (!S_ISDIR(*mode)) break; if (++entrylen == namelen) { - hashcpy(result, sha1); + hashcpy(result, oid->hash); return 0; } - return get_tree_entry(sha1, name + entrylen, result, mode); + return get_tree_entry(oid->hash, name + entrylen, result, mode); } return -1; } diff --git a/tree-walk.h b/tree-walk.h index 174eb617df..97a7d6957e 100644 --- a/tree-walk.h +++ b/tree-walk.h @@ -2,7 +2,7 @@ #define TREE_WALK_H struct name_entry { - const unsigned char *sha1; + const struct object_id *oid; const char *path; unsigned int mode; }; @@ -13,16 +13,16 @@ struct tree_desc { unsigned int size; }; -static inline const unsigned char *tree_entry_extract(struct tree_desc *desc, const char **pathp, unsigned int *modep) +static inline const struct object_id *tree_entry_extract(struct tree_desc *desc, const char **pathp, unsigned int *modep) { *pathp = desc->entry.path; *modep = desc->entry.mode; - return desc->entry.sha1; + return desc->entry.oid; } static inline int tree_entry_len(const struct name_entry *ne) { - return (const char *)ne->sha1 - ne->path - 1; + return (const char *)ne->oid - ne->path - 1; } void update_tree_entry(struct tree_desc *); @@ -76,7 +76,7 @@ static int read_tree_1(struct tree *tree, struct strbuf *base, continue; } - switch (fn(entry.sha1, base, + switch (fn(entry.oid->hash, base, entry.path, entry.mode, stage, context)) { case 0: continue; @@ -87,19 +87,19 @@ static int read_tree_1(struct tree *tree, struct strbuf *base, } if (S_ISDIR(entry.mode)) - hashcpy(sha1, entry.sha1); + hashcpy(sha1, entry.oid->hash); else if (S_ISGITLINK(entry.mode)) { struct commit *commit; - commit = lookup_commit(entry.sha1); + commit = lookup_commit(entry.oid->hash); if (!commit) die("Commit %s in submodule path %s%s not found", - sha1_to_hex(entry.sha1), + oid_to_hex(entry.oid), base->buf, entry.path); if (parse_commit(commit)) die("Invalid commit %s in submodule path %s%s", - sha1_to_hex(entry.sha1), + oid_to_hex(entry.oid), base->buf, entry.path); hashcpy(sha1, commit->tree->object.oid.hash); diff --git a/unpack-trees.c b/unpack-trees.c index 9f55cc28b9..e81024bb9e 100644 --- a/unpack-trees.c +++ b/unpack-trees.c @@ -58,40 +58,74 @@ void setup_unpack_trees_porcelain(struct unpack_trees_options *opts, int i; const char **msgs = opts->msgs; const char *msg; - const char *cmd2 = strcmp(cmd, "checkout") ? cmd : "switch branches"; - if (advice_commit_before_merge) - msg = "Your local changes to the following files would be overwritten by %s:\n%%s" - "Please, commit your changes or stash them before you can %s."; + if (!strcmp(cmd, "checkout")) + msg = advice_commit_before_merge + ? _("Your local changes to the following files would be overwritten by checkout:\n%%s" + "Please commit your changes or stash them before you can switch branches.") + : _("Your local changes to the following files would be overwritten by checkout:\n%%s"); + else if (!strcmp(cmd, "merge")) + msg = advice_commit_before_merge + ? _("Your local changes to the following files would be overwritten by merge:\n%%s" + "Please commit your changes or stash them before you can merge.") + : _("Your local changes to the following files would be overwritten by merge:\n%%s"); else - msg = "Your local changes to the following files would be overwritten by %s:\n%%s"; + msg = advice_commit_before_merge + ? _("Your local changes to the following files would be overwritten by %s:\n%%s" + "Please commit your changes or stash them before you can %s.") + : _("Your local changes to the following files would be overwritten by %s:\n%%s"); msgs[ERROR_WOULD_OVERWRITE] = msgs[ERROR_NOT_UPTODATE_FILE] = - xstrfmt(msg, cmd, cmd2); + xstrfmt(msg, cmd, cmd); msgs[ERROR_NOT_UPTODATE_DIR] = - "Updating the following directories would lose untracked files in it:\n%s"; - - if (advice_commit_before_merge) - msg = "The following untracked working tree files would be %s by %s:\n%%s" - "Please move or remove them before you can %s."; + _("Updating the following directories would lose untracked files in it:\n%s"); + + if (!strcmp(cmd, "checkout")) + msg = advice_commit_before_merge + ? _("The following untracked working tree files would be removed by checkout:\n%%s" + "Please move or remove them before you can switch branches.") + : _("The following untracked working tree files would be removed by checkout:\n%%s"); + else if (!strcmp(cmd, "merge")) + msg = advice_commit_before_merge + ? _("The following untracked working tree files would be removed by merge:\n%%s" + "Please move or remove them before you can merge.") + : _("The following untracked working tree files would be removed by merge:\n%%s"); else - msg = "The following untracked working tree files would be %s by %s:\n%%s"; - - msgs[ERROR_WOULD_LOSE_UNTRACKED_REMOVED] = xstrfmt(msg, "removed", cmd, cmd2); - msgs[ERROR_WOULD_LOSE_UNTRACKED_OVERWRITTEN] = xstrfmt(msg, "overwritten", cmd, cmd2); + msg = advice_commit_before_merge + ? _("The following untracked working tree files would be removed by %s:\n%%s" + "Please move or remove them before you can %s.") + : _("The following untracked working tree files would be removed by %s:\n%%s"); + msgs[ERROR_WOULD_LOSE_UNTRACKED_REMOVED] = xstrfmt(msg, cmd, cmd); + + if (!strcmp(cmd, "checkout")) + msg = advice_commit_before_merge + ? _("The following untracked working tree files would be overwritten by checkout:\n%%s" + "Please move or remove them before you can switch branches.") + : _("The following untracked working tree files would be overwritten by checkout:\n%%s"); + else if (!strcmp(cmd, "merge")) + msg = advice_commit_before_merge + ? _("The following untracked working tree files would be overwritten by merge:\n%%s" + "Please move or remove them before you can merge.") + : _("The following untracked working tree files would be overwritten by merge:\n%%s"); + else + msg = advice_commit_before_merge + ? _("The following untracked working tree files would be overwritten by %s:\n%%s" + "Please move or remove them before you can %s.") + : _("The following untracked working tree files would be overwritten by %s:\n%%s"); + msgs[ERROR_WOULD_LOSE_UNTRACKED_OVERWRITTEN] = xstrfmt(msg, cmd, cmd); /* * Special case: ERROR_BIND_OVERLAP refers to a pair of paths, we * cannot easily display it as a list. */ - msgs[ERROR_BIND_OVERLAP] = "Entry '%s' overlaps with '%s'. Cannot bind."; + msgs[ERROR_BIND_OVERLAP] = _("Entry '%s' overlaps with '%s'. Cannot bind."); msgs[ERROR_SPARSE_NOT_UPTODATE_FILE] = - "Cannot update sparse checkout: the following entries are not up-to-date:\n%s"; + _("Cannot update sparse checkout: the following entries are not up-to-date:\n%s"); msgs[ERROR_WOULD_LOSE_ORPHANED_OVERWRITTEN] = - "The following Working tree files would be overwritten by sparse checkout update:\n%s"; + _("The following Working tree files would be overwritten by sparse checkout update:\n%s"); msgs[ERROR_WOULD_LOSE_ORPHANED_REMOVED] = - "The following Working tree files would be removed by sparse checkout update:\n%s"; + _("The following Working tree files would be removed by sparse checkout update:\n%s"); opts->show_all_errors = 1; /* rejected paths may not have a static buffer */ @@ -168,7 +202,7 @@ static void display_error_msgs(struct unpack_trees_options *o) string_list_clear(rejects, 0); } if (something_displayed) - fprintf(stderr, "Aborting\n"); + fprintf(stderr, _("Aborting\n")); } /* @@ -475,7 +509,7 @@ static int traverse_trees_recursive(int n, unsigned long dirmask, for (i = 0; i < n; i++, dirmask >>= 1) { const unsigned char *sha1 = NULL; if (dirmask & 1) - sha1 = names[i].sha1; + sha1 = names[i].oid->hash; buf[i] = fill_tree_descriptor(t+i, sha1); } @@ -591,7 +625,7 @@ static struct cache_entry *create_ce_entry(const struct traverse_info *info, con ce->ce_mode = create_ce_mode(n->mode); ce->ce_flags = create_ce_flags(stage); ce->ce_namelen = len; - hashcpy(ce->sha1, n->sha1); + hashcpy(ce->sha1, n->oid->hash); make_traverse_path(ce->name, info, n); return ce; diff --git a/upload-pack.c b/upload-pack.c index b3f6653ffd..dc802a07c2 100644 --- a/upload-pack.c +++ b/upload-pack.c @@ -90,35 +90,32 @@ static void create_pack_file(void) "corruption on the remote side."; int buffered = -1; ssize_t sz; - const char *argv[13]; - int i, arg = 0; + int i; FILE *pipe_fd; if (shallow_nr) { - argv[arg++] = "--shallow-file"; - argv[arg++] = ""; + argv_array_push(&pack_objects.args, "--shallow-file"); + argv_array_push(&pack_objects.args, ""); } - argv[arg++] = "pack-objects"; - argv[arg++] = "--revs"; + argv_array_push(&pack_objects.args, "pack-objects"); + argv_array_push(&pack_objects.args, "--revs"); if (use_thin_pack) - argv[arg++] = "--thin"; + argv_array_push(&pack_objects.args, "--thin"); - argv[arg++] = "--stdout"; + argv_array_push(&pack_objects.args, "--stdout"); if (shallow_nr) - argv[arg++] = "--shallow"; + argv_array_push(&pack_objects.args, "--shallow"); if (!no_progress) - argv[arg++] = "--progress"; + argv_array_push(&pack_objects.args, "--progress"); if (use_ofs_delta) - argv[arg++] = "--delta-base-offset"; + argv_array_push(&pack_objects.args, "--delta-base-offset"); if (use_include_tag) - argv[arg++] = "--include-tag"; - argv[arg++] = NULL; + argv_array_push(&pack_objects.args, "--include-tag"); pack_objects.in = -1; pack_objects.out = -1; pack_objects.err = -1; pack_objects.git_cmd = 1; - pack_objects.argv = argv; if (start_command(&pack_objects)) die("git upload-pack: unable to fork git-pack-objects"); diff --git a/userdiff.h b/userdiff.h index 4a7e78ffbc..2ef0ce5452 100644 --- a/userdiff.h +++ b/userdiff.h @@ -23,6 +23,10 @@ int userdiff_config(const char *k, const char *v); struct userdiff_driver *userdiff_find_by_name(const char *name); struct userdiff_driver *userdiff_find_by_path(const char *path); +/* + * Initialize any textconv-related fields in the driver and return it, or NULL + * if it does not have textconv enabled at all. + */ struct userdiff_driver *userdiff_get_textconv(struct userdiff_driver *driver); #endif /* USERDIFF */ @@ -48,7 +48,7 @@ static inline char *reencode_string(const char *in, int mbs_chrlen(const char **text, size_t *remainder_p, const char *encoding); /* - * Returns true if the the path would match ".git" after HFS case-folding. + * Returns true if the path would match ".git" after HFS case-folding. * The path should be NUL-terminated, but we will match variants of both ".git\0" * and ".git/..." (but _not_ ".../.git"). This makes it suitable for both fsck * and verify_path(). @@ -43,12 +43,12 @@ static int process_tree(struct walker *walker, struct tree *tree) if (S_ISGITLINK(entry.mode)) continue; if (S_ISDIR(entry.mode)) { - struct tree *tree = lookup_tree(entry.sha1); + struct tree *tree = lookup_tree(entry.oid->hash); if (tree) obj = &tree->object; } else { - struct blob *blob = lookup_blob(entry.sha1); + struct blob *blob = lookup_blob(entry.oid->hash); if (blob) obj = &blob->object; } diff --git a/wildmatch.c b/wildmatch.c index f91ba99f32..57c8765805 100644 --- a/wildmatch.c +++ b/wildmatch.c @@ -136,7 +136,7 @@ static int dowild(const uchar *p, const uchar *text, unsigned int flags) /* * Try to advance faster when an asterisk is * followed by a literal. We know in this case - * that the the string before the literal + * that the string before the literal * must belong to "*". * If match_slash is false, do not look past * the first slash as it cannot belong to '*'. diff --git a/worktree.c b/worktree.c index 6181a66f1e..89ebe67a50 100644 --- a/worktree.c +++ b/worktree.c @@ -18,7 +18,7 @@ void free_worktrees(struct worktree **worktrees) /* * read 'path_to_ref' into 'ref'. Also if is_detached is not NULL, - * set is_detached to 1 (0) if the ref is detatched (is not detached). + * set is_detached to 1 (0) if the ref is detached (is not detached). * * $GIT_COMMON_DIR/$symref (e.g. HEAD) is practically outside $GIT_DIR so * for linked worktrees, `resolve_ref_unsafe()` won't work (it uses @@ -152,6 +152,9 @@ void *xcalloc(size_t nmemb, size_t size) { void *ret; + if (unsigned_mult_overflows(nmemb, size)) + die("data too large to fit into virtual memory space"); + memory_limit_check(size * nmemb, 0); ret = calloc(nmemb, size); if (!ret && (!nmemb || !size)) @@ -443,23 +446,6 @@ int git_mkstemp(char *path, size_t len, const char *template) return mkstemp(path); } -/* git_mkstemps() - create tmp file with suffix honoring TMPDIR variable. */ -int git_mkstemps(char *path, size_t len, const char *template, int suffix_len) -{ - const char *tmp; - size_t n; - - tmp = getenv("TMPDIR"); - if (!tmp) - tmp = "/tmp"; - n = snprintf(path, len, "%s/%s", tmp, template); - if (len <= n) { - errno = ENAMETOOLONG; - return -1; - } - return mkstemps(path, suffix_len); -} - /* Adapted from libiberty's mkstemp.c. */ #undef TMP_MAX diff --git a/write_or_die.c b/write_or_die.c index e7afe7a295..49e80aa222 100644 --- a/write_or_die.c +++ b/write_or_die.c @@ -1,8 +1,12 @@ #include "cache.h" +#include "run-command.h" static void check_pipe(int err) { if (err == EPIPE) { + if (in_async()) + async_exit(141); + signal(SIGPIPE, SIG_DFL); raise(SIGPIPE); /* Should never happen, but just in case... */ diff --git a/wt-status.c b/wt-status.c index ab4f80d6d0..1ea2ebe4c0 100644 --- a/wt-status.c +++ b/wt-status.c @@ -1063,9 +1063,7 @@ static void abbrev_sha1_in_line(struct strbuf *line) strbuf_addf(line, "%s", split[i]->buf); } } - for (i = 0; split[i]; i++) - strbuf_release(split[i]); - + strbuf_list_free(split); } static void read_rebase_todolist(const char *fname, struct string_list *lines) @@ -1677,10 +1675,10 @@ static void wt_shortstatus_print_tracking(struct wt_status *s) color_fprintf(s->fp, header_color, LABEL(N_("behind "))); color_fprintf(s->fp, branch_color_remote, "%d", num_theirs); } else if (!num_theirs) { - color_fprintf(s->fp, header_color, LABEL(N_(("ahead ")))); + color_fprintf(s->fp, header_color, LABEL(N_("ahead "))); color_fprintf(s->fp, branch_color_local, "%d", num_ours); } else { - color_fprintf(s->fp, header_color, LABEL(N_(("ahead ")))); + color_fprintf(s->fp, header_color, LABEL(N_("ahead "))); color_fprintf(s->fp, branch_color_local, "%d", num_ours); color_fprintf(s->fp, header_color, ", %s", LABEL(N_("behind "))); color_fprintf(s->fp, branch_color_remote, "%d", num_theirs); diff --git a/xdiff-interface.c b/xdiff-interface.c index cb67c1c42b..54236f24b9 100644 --- a/xdiff-interface.c +++ b/xdiff-interface.c @@ -265,7 +265,7 @@ void xdiff_set_find_func(xdemitconf_t *xecfg, const char *value, int cflags) for (i = 0, regs->nr = 1; value[i]; i++) if (value[i] == '\n') regs->nr++; - regs->array = xmalloc(regs->nr * sizeof(struct ff_reg)); + ALLOC_ARRAY(regs->array, regs->nr); for (i = 0; i < regs->nr; i++) { struct ff_reg *reg = regs->array + i; const char *ep = strchr(value, '\n'), *expression; diff --git a/xdiff/xdiff.h b/xdiff/xdiff.h index c0339919cc..7423f77fc8 100644 --- a/xdiff/xdiff.h +++ b/xdiff/xdiff.h @@ -41,8 +41,9 @@ extern "C" { #define XDF_IGNORE_BLANK_LINES (1 << 7) +#define XDF_COMPACTION_HEURISTIC (1 << 8) + #define XDL_EMIT_FUNCNAMES (1 << 0) -#define XDL_EMIT_COMMON (1 << 1) #define XDL_EMIT_FUNCCONTEXT (1 << 2) #define XDL_MMB_READONLY (1 << 0) diff --git a/xdiff/xdiffi.c b/xdiff/xdiffi.c index 2358a2d632..b3c6848875 100644 --- a/xdiff/xdiffi.c +++ b/xdiff/xdiffi.c @@ -400,9 +400,23 @@ static xdchange_t *xdl_add_change(xdchange_t *xscr, long i1, long i2, long chg1, } +static int is_blank_line(xrecord_t **recs, long ix, long flags) +{ + return xdl_blankline(recs[ix]->ptr, recs[ix]->size, flags); +} + +static int recs_match(xrecord_t **recs, long ixs, long ix, long flags) +{ + return (recs[ixs]->ha == recs[ix]->ha && + xdl_recmatch(recs[ixs]->ptr, recs[ixs]->size, + recs[ix]->ptr, recs[ix]->size, + flags)); +} + int xdl_change_compact(xdfile_t *xdf, xdfile_t *xdfo, long flags) { long ix, ixo, ixs, ixref, grpsiz, nrec = xdf->nrec; char *rchg = xdf->rchg, *rchgo = xdfo->rchg; + unsigned int blank_lines; xrecord_t **recs = xdf->recs; /* @@ -436,14 +450,14 @@ int xdl_change_compact(xdfile_t *xdf, xdfile_t *xdfo, long flags) { do { grpsiz = ix - ixs; + blank_lines = 0; /* * If the line before the current change group, is equal to * the last line of the current change group, shift backward * the group. */ - while (ixs > 0 && recs[ixs - 1]->ha == recs[ix - 1]->ha && - xdl_recmatch(recs[ixs - 1]->ptr, recs[ixs - 1]->size, recs[ix - 1]->ptr, recs[ix - 1]->size, flags)) { + while (ixs > 0 && recs_match(recs, ixs - 1, ix - 1, flags)) { rchg[--ixs] = 1; rchg[--ix] = 0; @@ -470,8 +484,9 @@ int xdl_change_compact(xdfile_t *xdf, xdfile_t *xdfo, long flags) { * the line next of the current change group, shift forward * the group. */ - while (ix < nrec && recs[ixs]->ha == recs[ix]->ha && - xdl_recmatch(recs[ixs]->ptr, recs[ixs]->size, recs[ix]->ptr, recs[ix]->size, flags)) { + while (ix < nrec && recs_match(recs, ixs, ix, flags)) { + blank_lines += is_blank_line(recs, ix, flags); + rchg[ixs++] = 0; rchg[ix++] = 1; @@ -498,6 +513,23 @@ int xdl_change_compact(xdfile_t *xdf, xdfile_t *xdfo, long flags) { rchg[--ix] = 0; while (rchgo[--ixo]); } + + /* + * If a group can be moved back and forth, see if there is a + * blank line in the moving space. If there is a blank line, + * make sure the last blank line is the end of the group. + * + * As we already shifted the group forward as far as possible + * in the earlier loop, we need to shift it back only if at all. + */ + if ((flags & XDF_COMPACTION_HEURISTIC) && blank_lines) { + while (ixs > 0 && + !is_blank_line(recs, ix - 1, flags) && + recs_match(recs, ixs - 1, ix - 1, flags)) { + rchg[--ixs] = 1; + rchg[--ix] = 0; + } + } } return 0; diff --git a/xdiff/xemit.c b/xdiff/xemit.c index 4266ada23f..993724b11c 100644 --- a/xdiff/xemit.c +++ b/xdiff/xemit.c @@ -120,21 +120,6 @@ static long def_ff(const char *rec, long len, char *buf, long sz, void *priv) return -1; } -static int xdl_emit_common(xdfenv_t *xe, xdchange_t *xscr, xdemitcb_t *ecb, - xdemitconf_t const *xecfg) { - xdfile_t *xdf = &xe->xdf2; - const char *rchg = xdf->rchg; - long ix; - - for (ix = 0; ix < xdf->nrec; ix++) { - if (rchg[ix]) - continue; - if (xdl_emit_record(xdf, ix, "", ecb)) - return -1; - } - return 0; -} - struct func_line { long len; char buf[80]; @@ -170,9 +155,6 @@ int xdl_emit_diff(xdfenv_t *xe, xdchange_t *xscr, xdemitcb_t *ecb, long funclineprev = -1; struct func_line func_line = { 0 }; - if (xecfg->flags & XDL_EMIT_COMMON) - return xdl_emit_common(xe, xscr, ecb, xecfg); - for (xch = xscr; xch; xch = xche->next) { xche = xdl_get_hunk(&xch, xecfg); if (!xch) diff --git a/xdiff/xmerge.c b/xdiff/xmerge.c index d98f430c91..f338ad6c75 100644 --- a/xdiff/xmerge.c +++ b/xdiff/xmerge.c @@ -641,8 +641,11 @@ int xdl_merge(mmfile_t *orig, mmfile_t *mf1, mmfile_t *mf2, result->ptr = NULL; result->size = 0; - if (xdl_do_diff(orig, mf1, xpp, &xe1) < 0 || - xdl_do_diff(orig, mf2, xpp, &xe2) < 0) { + if (xdl_do_diff(orig, mf1, xpp, &xe1) < 0) { + return -1; + } + if (xdl_do_diff(orig, mf2, xpp, &xe2) < 0) { + xdl_free_env(&xe1); return -1; } if (xdl_change_compact(&xe1.xdf1, &xe1.xdf2, xpp->flags) < 0 || @@ -654,6 +657,8 @@ int xdl_merge(mmfile_t *orig, mmfile_t *mf1, mmfile_t *mf2, if (xdl_change_compact(&xe2.xdf1, &xe2.xdf2, xpp->flags) < 0 || xdl_change_compact(&xe2.xdf2, &xe2.xdf1, xpp->flags) < 0 || xdl_build_script(&xe2, &xscr2) < 0) { + xdl_free_script(xscr1); + xdl_free_env(&xe1); xdl_free_env(&xe2); return -1; } diff --git a/xdiff/xprepare.c b/xdiff/xprepare.c index 63a22c630e..13b55aba74 100644 --- a/xdiff/xprepare.c +++ b/xdiff/xprepare.c @@ -301,10 +301,11 @@ int xdl_prepare_env(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp, xdl_free_ctx(&xe->xdf2); xdl_free_ctx(&xe->xdf1); + xdl_free_classifier(&cf); return -1; } - if (!(xpp->flags & XDF_HISTOGRAM_DIFF)) + if (XDF_DIFF_ALG(xpp->flags) != XDF_HISTOGRAM_DIFF) xdl_free_classifier(&cf); return 0; |