From: Junio C Hamano Date: Thu, 15 Sep 2016 21:11:16 +0000 (-0700) Subject: Merge branch 'js/sequencer-wo-die' X-Git-Tag: v2.11.0-rc0~147 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/2a4062a4a8?hp=49fb937e9a082b3bdecd85f1c539a1e1683e1a3d Merge branch 'js/sequencer-wo-die' Lifts calls to exit(2) and die() higher in the callchain in sequencer.c files so that more helper functions in it can be used by callers that want to handle error conditions themselves. * js/sequencer-wo-die: sequencer: ensure to release the lock when we could not read the index sequencer: lib'ify checkout_fast_forward() sequencer: lib'ify fast_forward_to() sequencer: lib'ify save_opts() sequencer: lib'ify save_todo() sequencer: lib'ify save_head() sequencer: lib'ify create_seq_dir() sequencer: lib'ify read_populate_opts() sequencer: lib'ify read_populate_todo() sequencer: lib'ify read_and_refresh_cache() sequencer: lib'ify prepare_revs() sequencer: lib'ify walk_revs_populate_todo() sequencer: lib'ify do_pick_commit() sequencer: lib'ify do_recursive_merge() sequencer: lib'ify write_message() sequencer: do not die() in do_pick_commit() sequencer: lib'ify sequencer_pick_revisions() --- diff --git a/Documentation/RelNotes/2.10.0.txt b/Documentation/RelNotes/2.10.0.txt index c110091580..f4da28ab66 100644 --- a/Documentation/RelNotes/2.10.0.txt +++ b/Documentation/RelNotes/2.10.0.txt @@ -77,7 +77,8 @@ UI, Workflows & Features * "git archive" learned to handle files that are larger than 8GB and commits far in the future than expressible by the traditional US-TAR format. - (merge 5caeeb8 jk/big-and-future-archive-tar later to maint). + (merge 560b0e8 jk/big-and-future-archive-tar later to maint). + * A new configuration variable core.sshCommand has been added to specify what value for GIT_SSH_COMMAND to use per repository. @@ -306,7 +307,7 @@ Performance, Internal Implementation, Development Support etc. changes and attempts to find matches. This has been optimized by lazily computing the full patch-id (which is expensive) to be compared only for changes that touch the same set of paths. - (merge b3dfeeb kw/patch-ids-optim later to maint). + (merge ba67504 kw/patch-ids-optim later to maint). * A handful of tests that were broken under gettext-poison build have been fixed. @@ -660,6 +661,10 @@ notes for details). to avoid this (on Windows, this is mapped to O_NOINHERIT). (merge 05d1ed6 bw/mingw-avoid-inheriting-fd-to-lockfile later to maint). + * Correct an age-old calco (is that a typo-like word for calc) + in the documentation. + (merge 7841c48 ls/packet-line-protocol-doc-fix later to maint). + * Other minor clean-ups and documentation updates (merge 02a8cfa rs/merge-add-strategies-simplification later to maint). (merge af4941d rs/merge-recursive-string-list-init later to maint). @@ -667,4 +672,4 @@ notes for details). (merge ddd0bfa jk/tighten-alloc later to maint). (merge ecf30b2 rs/mailinfo-lib later to maint). (merge 0eb75ce sg/reflog-past-root later to maint). - (merge 175d38c hv/doc-commit-reference-style later to maint). + (merge 4369523 hv/doc-commit-reference-style later to maint). diff --git a/Documentation/RelNotes/2.11.0.txt b/Documentation/RelNotes/2.11.0.txt new file mode 100644 index 0000000000..6bb69dbb63 --- /dev/null +++ b/Documentation/RelNotes/2.11.0.txt @@ -0,0 +1,97 @@ +Git 2.11 Release Notes +====================== + +Updates since v2.10 +------------------- + +UI, Workflows & Features + + * "git format-patch --cover-letter HEAD^" to format a single patch + with a separate cover letter now numbers the output as [PATCH 0/1] + and [PATCH 1/1] by default. + + * An incoming "git push" that attempts to push too many bytes can now + be rejected by setting a new configuration variable at the receiving + end. + + * "git nosuchcommand --help" said "No manual entry for gitnosuchcommand", + which was not intuitive, given that "git nosuchcommand" said "git: + 'nosuchcommand' is not a git command". + + * "git clone --resurse-submodules --reference $path $URL" is a way to + reduce network transfer cost by borrowing objects in an existing + $path repository when cloning the superproject from $URL; it + learned to also peek into $path for presense of corresponding + repositories of submodules and borrow objects from there when able. + + * The "git diff --submodule={short,log}" mechanism has been enhanced + to allow "--submodule=diff" to show the patch between the submodule + commits bound to the superproject. + + +Performance, Internal Implementation, Development Support etc. + + * The delta-base-cache mechanism has been a key to the performance in + a repository with a tightly packed packfile, but it did not scale + well even with a larger value of core.deltaBaseCacheLimit. + + * Enhance "git status --porcelain" output by collecting more data on + the state of the index and the working tree files, which may + further be used to teach git-prompt (in contrib/) to make fewer + calls to git. + + * Extract a small helper out of the function that reads the authors + script file "git am" internally uses. + (merge a77598e jc/am-read-author-file later to maint). + + +Also contains various documentation updates and code clean-ups. + + +Fixes since v2.10 +----------------- + +Unless otherwise noted, all the fixes since v2.9 in the maintenance +track are contained in this release (see the maintenance releases' +notes for details). + + * Clarify various ways to specify the "revision ranges" in the + documentation. + (merge a117be4 po/range-doc later to maint). + + * "diff-highlight" script (in contrib/) learned to work better with + "git log -p --graph" output. + (merge 3dbfe2b bh/diff-highlight-graph later to maint). + + * The test framework left the number of tests and success/failure + count in the t/test-results directory, keyed by the name of the + test script plus the process ID. The latter however turned out not + to serve any useful purpose. The process ID part of the filename + has been removed. + (merge 5c885c1 jk/test-lib-drop-pid-from-results later to maint). + + * Having a submodule whose ".git" repository is somehow corrupt + caused a few commands that recurse into submodules loop forever. + (merge 10f5c52 jc/submodule-anchor-git-dir later to maint). + + * "git symbolic-ref -d HEAD" happily removes the symbolic ref, but + the resulting repository becomes an invalid one. Teach the command + to forbid removal of HEAD. + (merge 12cfa79 jc/forbid-symbolic-ref-d-HEAD later to maint). + + * A test spawned a short-lived background process, which sometimes + prevented the test directory from getting removed at the end of the + script on some platforms. + (merge 5babb5b js/t6026-clean-up later to maint). + + * Update a few tests that used to use GIT_CURL_VERBOSE to use the + newer GIT_TRACE_CURL. + (merge 14e2411 ep/use-git-trace-curl-in-tests later to maint). + + * Other minor doc, test and build updates and code cleanups. + (merge 3e1952e jk/squelch-false-warning-from-gcc-o3 later to maint). + (merge ca2baa3 rs/compat-strdup later to maint). + (merge d233097 rs/hex2chr later to maint). + (merge c00bfc9 js/t9903-chaining later to maint). + (merge 5e4e5bb sb/xdiff-remove-unused-static-decl later to maint). + (merge 5cb5fe4 sb/transport-report-missing-submodule-on-stderr later to maint). diff --git a/Documentation/RelNotes/2.9.4.txt b/Documentation/RelNotes/2.9.4.txt new file mode 100644 index 0000000000..01e864278b --- /dev/null +++ b/Documentation/RelNotes/2.9.4.txt @@ -0,0 +1,83 @@ +Git v2.9.4 Release Notes +======================== + +Fixes since v2.9.3 +------------------ + + * There are certain house-keeping tasks that need to be performed at + the very beginning of any Git program, and programs that are not + built-in commands had to do them exactly the same way as "git" + potty does. It was easy to make mistakes in one-off standalone + programs (like test helpers). A common "main()" function that + calls cmd_main() of individual program has been introduced to + make it harder to make mistakes. + + * "git merge" with renormalization did not work well with + merge-recursive, due to "safer crlf" conversion kicking in when it + shouldn't. + + * The reflog output format is documented better, and a new format + --date=unix to report the seconds-since-epoch (without timezone) + has been added. + + * "git push --force-with-lease" already had enough logic to allow + ensuring that such a push results in creation of a ref (i.e. the + receiving end did not have another push from sideways that would be + discarded by our force-pushing), but didn't expose this possibility + to the users. It does so now. + + * "import-tars" fast-import script (in contrib/) used to ignore a + hardlink target and replaced it with an empty file, which has been + corrected to record the same blob as the other file the hardlink is + shared with. + + * "git mv dir non-existing-dir/" did not work in some environments + the same way as existing mainstream platforms. The code now moves + "dir" to "non-existing-dir", without relying on rename("A", "B/") + that strips the trailing slash of '/'. + + * The "t/" hierarchy is prone to get an unusual pathname; "make test" + has been taught to make sure they do not contain paths that cannot + be checked out on Windows (and the mechanism can be reusable to + catch pathnames that are not portable to other platforms as need + arises). + + * When "git merge-recursive" works on history with many criss-cross + merges in "verbose" mode, the names the command assigns to the + virtual merge bases could have overwritten each other by unintended + reuse of the same piece of memory. + + * "git checkout --detach " used to give the same advice + message as that is issued when "git checkout " (or anything + that is not a branch name) is given, but asking with "--detach" is + an explicit enough sign that the user knows what is going on. The + advice message has been squelched in this case. + + * "git difftool" by default ignores the error exit from the backend + commands it spawns, because often they signal that they found + differences by exiting with a non-zero status code just like "diff" + does; the exit status codes 126 and above however are special in + that they are used to signal that the command is not executable, + does not exist, or killed by a signal. "git difftool" has been + taught to notice these exit status codes. + + * On Windows, help.browser configuration variable used to be ignored, + which has been corrected. + + * The "git -c var[=val] cmd" facility to append a configuration + variable definition at the end of the search order was described in + git(1) manual page, but not in git-config(1), which was more likely + place for people to look for when they ask "can I make a one-shot + override, and if so how?" + + * The tempfile (hence its user lockfile) API lets the caller to open + a file descriptor to a temporary file, write into it and then + finalize it by first closing the filehandle and then either + removing or renaming the temporary file. When the process spawns a + subprocess after obtaining the file descriptor, and if the + subprocess has not exited when the attempt to remove or rename is + made, the last step fails on Windows, because the subprocess has + the file descriptor still open. Open tempfile with O_CLOEXEC flag + to avoid this (on Windows, this is mapped to O_NOINHERIT). + +Also contains minor documentation updates and code clean-ups. diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches index 500230c054..08352deaae 100644 --- a/Documentation/SubmittingPatches +++ b/Documentation/SubmittingPatches @@ -122,9 +122,14 @@ without external resources. Instead of giving a URL to a mailing list archive, summarize the relevant points of the discussion. If you want to reference a previous commit in the history of a stable -branch use the format "abbreviated sha1 (subject, date)". So for example -like this: "Commit f86a374 (pack-bitmap.c: fix a memleak, 2015-03-30) -noticed [...]". +branch, use the format "abbreviated sha1 (subject, date)", +with the subject enclosed in a pair of double-quotes, like this: + + Commit f86a374 ("pack-bitmap.c: fix a memleak", 2015-03-30) + noticed that ... + +The "Copy commit summary" command of gitk can be used to obtain this +format. (3) Generate your patch using Git tools out of your commits. diff --git a/Documentation/config.txt b/Documentation/config.txt index 0bcb6790d6..32f065ca6a 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -2517,6 +2517,12 @@ receive.unpackLimit:: especially on slow filesystems. If not set, the value of `transfer.unpackLimit` is used instead. +receive.maxInputSize:: + If the size of the incoming pack stream is larger than this + limit, then git-receive-pack will error out, instead of + accepting the pack file. If not set or set to 0, then the size + is unlimited. + receive.denyDeletes:: If set to true, git-receive-pack will deny a ref update that deletes the ref. Use this to prevent such a ref deletion via a push. @@ -2847,6 +2853,18 @@ submodule.fetchJobs:: in parallel. A value of 0 will give some reasonable default. If unset, it defaults to 1. +submodule.alternateLocation:: + Specifies how the submodules obtain alternates when submodules are + cloned. Possible values are `no`, `superproject`. + By default `no` is assumed, which doesn't add references. When the + value is set to `superproject` the submodule to be cloned computes + its alternates location relative to the superprojects alternate. + +submodule.alternateErrorStrategy + Specifies how to treat errors with the alternates for a submodule + as computed via `submodule.alternateLocation`. Possible values are + `ignore`, `info`, `die`. Default is `die`. + tag.forceSignAnnotated:: A boolean to specify whether annotated tags created should be GPG signed. If `--annotate` is specified on the command line, it takes diff --git a/Documentation/diff-config.txt b/Documentation/diff-config.txt index d5a5b17d50..0eded24034 100644 --- a/Documentation/diff-config.txt +++ b/Documentation/diff-config.txt @@ -122,10 +122,11 @@ diff.suppressBlankEmpty:: diff.submodule:: Specify the format in which differences in submodules are - shown. The "log" format lists the commits in the range like - linkgit:git-submodule[1] `summary` does. The "short" format - format just shows the names of the commits at the beginning - and end of the range. Defaults to short. + shown. The "short" format just shows the names of the commits + at the beginning and end of the range. The "log" format lists + the commits in the range like linkgit:git-submodule[1] `summary` + does. The "diff" format shows an inline diff of the changed + contents of the submodule. Defaults to "short". diff.wordRegex:: A POSIX Extended Regular Expression used to determine what is a "word" diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt index 705a873942..7805a0ccad 100644 --- a/Documentation/diff-options.txt +++ b/Documentation/diff-options.txt @@ -210,13 +210,16 @@ any of those replacements occurred. of the `--diff-filter` option on what the status letters mean. --submodule[=]:: - Specify how differences in submodules are shown. When `--submodule` - or `--submodule=log` is given, the 'log' format is used. This format lists - the commits in the range like linkgit:git-submodule[1] `summary` does. - Omitting the `--submodule` option or specifying `--submodule=short`, - uses the 'short' format. This format just shows the names of the commits - at the beginning and end of the range. Can be tweaked via the - `diff.submodule` configuration variable. + Specify how differences in submodules are shown. When specifying + `--submodule=short` the 'short' format is used. This format just + shows the names of the commits at the beginning and end of the range. + When `--submodule` or `--submodule=log` is specified, the 'log' + format is used. This format lists the commits in the range like + linkgit:git-submodule[1] `summary` does. When `--submodule=diff` + is specified, the 'diff' format is used. This format shows an + inline diff of the changes in the submodule contents between the + commit range. Defaults to `diff.submodule` or the 'short' format + if the config option is unset. --color[=]:: Show colored diff. @@ -569,5 +572,8 @@ endif::git-format-patch[] --no-prefix:: Do not show any source or destination prefix. +--line-prefix=:: + Prepend an additional prefix to every line of output. + For more detailed explanation on these common options, see also linkgit:gitdiffcore[7]. diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt index ec41d3d698..e316c4bd51 100644 --- a/Documentation/git-clone.txt +++ b/Documentation/git-clone.txt @@ -90,13 +90,16 @@ If you want to break the dependency of a repository cloned with `-s` on its source repository, you can simply run `git repack -a` to copy all objects from the source repository into a pack in the cloned repository. ---reference :: +--reference[-if-able] :: If the reference repository is on the local machine, automatically setup `.git/objects/info/alternates` to obtain objects from the reference repository. Using an already existing repository as an alternate will require fewer objects to be copied from the repository being cloned, reducing network and local storage costs. + When using the `--reference-if-able`, a non existing + directory is skipped with a warning instead of aborting + the clone. + *NOTE*: see the NOTE for the `--shared` option, and also the `--dissociate` option. diff --git a/Documentation/git-index-pack.txt b/Documentation/git-index-pack.txt index 7a4e055520..1b4b65d665 100644 --- a/Documentation/git-index-pack.txt +++ b/Documentation/git-index-pack.txt @@ -87,6 +87,8 @@ OPTIONS Specifying 0 will cause Git to auto-detect the number of CPU's and use maximum 3 threads. +--max-input-size=:: + Die, if the pack is larger than . Note ---- diff --git a/Documentation/git-receive-pack.txt b/Documentation/git-receive-pack.txt index 000ee8dba2..0ccd5fbc78 100644 --- a/Documentation/git-receive-pack.txt +++ b/Documentation/git-receive-pack.txt @@ -33,6 +33,9 @@ post-update hooks found in the Documentation/howto directory. option, which tells it if updates to a ref should be denied if they are not fast-forwards. +A number of other receive.* config options are available to tweak +its behavior, see linkgit:git-config[1]. + OPTIONS ------- :: diff --git a/Documentation/git-status.txt b/Documentation/git-status.txt index e1e8f57cdd..725065ef2d 100644 --- a/Documentation/git-status.txt +++ b/Documentation/git-status.txt @@ -32,11 +32,14 @@ OPTIONS --branch:: Show the branch and tracking info even in short-format. ---porcelain:: +--porcelain[=]:: Give the output in an easy-to-parse format for scripts. This is similar to the short output, but will remain stable across Git versions and regardless of user configuration. See below for details. ++ +The version parameter is used to specify the format version. +This is optional and defaults to the original version 'v1' format. --long:: Give the output in the long-format. This is the default. @@ -96,7 +99,7 @@ configuration variable documented in linkgit:git-config[1]. -z:: Terminate entries with NUL, instead of LF. This implies - the `--porcelain` output format if no other format is given. + the `--porcelain=v1` output format if no other format is given. --column[=]:: --no-column:: @@ -180,12 +183,12 @@ in which case `XY` are `!!`. If -b is used the short-format status is preceded by a line -## branchname tracking info + ## branchname tracking info -Porcelain Format -~~~~~~~~~~~~~~~~ +Porcelain Format Version 1 +~~~~~~~~~~~~~~~~~~~~~~~~~~ -The porcelain format is similar to the short format, but is guaranteed +Version 1 porcelain format is similar to the short format, but is guaranteed not to change in a backwards-incompatible way between Git versions or based on user configuration. This makes it ideal for parsing by scripts. The description of the short format above also describes the porcelain @@ -207,6 +210,124 @@ field from the first filename). Third, filenames containing special characters are not specially formatted; no quoting or backslash-escaping is performed. +Porcelain Format Version 2 +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Version 2 format adds more detailed information about the state of +the worktree and changed items. Version 2 also defines an extensible +set of easy to parse optional headers. + +Header lines start with "#" and are added in response to specific +command line arguments. Parsers should ignore headers they +don't recognize. + +### Branch Headers + +If `--branch` is given, a series of header lines are printed with +information about the current branch. + + Line Notes + ------------------------------------------------------------ + # branch.oid | (initial) Current commit. + # branch.head | (detached) Current branch. + # branch.upstream If upstream is set. + # branch.ab + - If upstream is set and + the commit is present. + ------------------------------------------------------------ + +### Changed Tracked Entries + +Following the headers, a series of lines are printed for tracked +entries. One of three different line formats may be used to describe +an entry depending on the type of change. Tracked entries are printed +in an undefined order; parsers should allow for a mixture of the 3 +line types in any order. + +Ordinary changed entries have the following format: + + 1 + +Renamed or copied entries have the following format: + + 2 + + Field Meaning + -------------------------------------------------------- + A 2 character field containing the staged and + unstaged XY values described in the short format, + with unchanged indicated by a "." rather than + a space. + A 4 character field describing the submodule state. + "N..." when the entry is not a submodule. + "S" when the entry is a submodule. + is "C" if the commit changed; otherwise ".". + is "M" if it has tracked changes; otherwise ".". + is "U" if there are untracked changes; otherwise ".". + The octal file mode in HEAD. + The octal file mode in the index. + The octal file mode in the worktree. + The object name in HEAD. + The object name in the index. + The rename or copy score (denoting the percentage + of similarity between the source and target of the + move or copy). For example "R100" or "C75". + The pathname. In a renamed/copied entry, this + is the path in the index and in the working tree. + When the `-z` option is used, the 2 pathnames are separated + with a NUL (ASCII 0x00) byte; otherwise, a tab (ASCII 0x09) + byte separates them. + The pathname in the commit at HEAD. This is only + present in a renamed/copied entry, and tells + where the renamed/copied contents came from. + -------------------------------------------------------- + +Unmerged entries have the following format; the first character is +a "u" to distinguish from ordinary changed entries. + + u

+ + Field Meaning + -------------------------------------------------------- + A 2 character field describing the conflict type + as described in the short format. + A 4 character field describing the submodule state + as described above. + The octal file mode in stage 1. + The octal file mode in stage 2. + The octal file mode in stage 3. + The octal file mode in the worktree. +

The object name in stage 1. +

The object name in stage 2. +

The object name in stage 3. + The pathname. + -------------------------------------------------------- + +### Other Items + +Following the tracked entries (and if requested), a series of +lines will be printed for untracked and then ignored items +found in the worktree. + +Untracked items have the following format: + + ? + +Ignored items have the following format: + + ! + +### Pathname Format Notes and -z + +When the `-z` option is given, pathnames are printed as is and +without any quoting and lines are terminated with a NUL (ASCII 0x00) +byte. + +Otherwise, all pathnames will be "C-quoted" if they contain any tab, +linefeed, double quote, or backslash characters. In C-quoting, these +characters will be replaced with the corresponding C-style escape +sequences and the resulting pathname will be double quoted. + + CONFIGURATION ------------- diff --git a/Documentation/git-unpack-objects.txt b/Documentation/git-unpack-objects.txt index 3e887d1610..b3de50d710 100644 --- a/Documentation/git-unpack-objects.txt +++ b/Documentation/git-unpack-objects.txt @@ -44,6 +44,9 @@ OPTIONS --strict:: Don't write objects with broken content or links. +--max-input-size=:: + Die, if the pack is larger than . + GIT --- Part of the linkgit:git[1] suite diff --git a/Documentation/git.txt b/Documentation/git.txt index bd659c4471..7913fc2513 100644 --- a/Documentation/git.txt +++ b/Documentation/git.txt @@ -43,6 +43,11 @@ 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.10.0/git.html[documentation for release 2.10] + +* release notes for + link:RelNotes/2.10.0.txt[2.10]. + * link:v2.9.3/git.html[documentation for release 2.9.3] * release notes for diff --git a/Documentation/gitk.txt b/Documentation/gitk.txt index a68d860fa3..e382dd96df 100644 --- a/Documentation/gitk.txt +++ b/Documentation/gitk.txt @@ -70,7 +70,7 @@ linkgit:git-rev-list[1] for a complete list. --left-right:: - Mark which side of a symmetric diff a commit is reachable + Mark which side of a symmetric difference a commit is reachable from. Commits from the left side are prefixed with a `<` symbol and those from the right with a `>` symbol. diff --git a/Documentation/gitrevisions.txt b/Documentation/gitrevisions.txt index e903eb7860..27dec5b91d 100644 --- a/Documentation/gitrevisions.txt +++ b/Documentation/gitrevisions.txt @@ -15,9 +15,9 @@ DESCRIPTION Many Git commands take revision parameters as arguments. Depending on the command, they denote a specific commit or, for commands which -walk the revision graph (such as linkgit:git-log[1]), all commits which can -be reached from that commit. In the latter case one can also specify a -range of revisions explicitly. +walk the revision graph (such as linkgit:git-log[1]), all commits which are +reachable from that commit. For commands that walk the revision graph one can +also specify a range of revisions explicitly. In addition, some Git commands (such as linkgit:git-show[1]) also take revision parameters which denote other objects than commits, e.g. blobs diff --git a/Documentation/pretty-formats.txt b/Documentation/pretty-formats.txt index b95d67ec01..a942d57f73 100644 --- a/Documentation/pretty-formats.txt +++ b/Documentation/pretty-formats.txt @@ -172,7 +172,7 @@ endif::git-rev-list[] respecting the `auto` settings of the former if we are going to a terminal). `auto` alone (i.e. `%C(auto)`) will turn on auto coloring on the next placeholders until the color is switched again. -- '%m': left, right or boundary mark +- '%m': left (`<`), right (`>`) or boundary (`-`) mark - '%n': newline - '%%': a raw '%' - '%x00': print a byte from a hex code diff --git a/Documentation/rev-list-options.txt b/Documentation/rev-list-options.txt index a779c9dfec..7e462d3841 100644 --- a/Documentation/rev-list-options.txt +++ b/Documentation/rev-list-options.txt @@ -225,7 +225,7 @@ excluded from the output. --left-only:: --right-only:: - List only commits on the respective side of a symmetric range, + List only commits on the respective side of a symmetric difference, i.e. only those which would be marked `<` resp. `>` by `--left-right`. + @@ -796,7 +796,7 @@ ifdef::git-rev-list[] endif::git-rev-list[] --left-right:: - Mark which side of a symmetric diff a commit is reachable from. + Mark which side of a symmetric difference a commit is reachable from. Commits from the left side are prefixed with `<` and those from the right with `>`. If combined with `--boundary`, those commits are prefixed with `-`. diff --git a/Documentation/revisions.txt b/Documentation/revisions.txt index abae363983..4bed5b1ab7 100644 --- a/Documentation/revisions.txt +++ b/Documentation/revisions.txt @@ -237,48 +237,74 @@ SPECIFYING RANGES ----------------- History traversing commands such as `git log` operate on a set -of commits, not just a single commit. To these commands, -specifying a single revision with the notation described in the -previous section means the set of commits reachable from that -commit, following the commit ancestry chain. - -To exclude commits reachable from a commit, a prefix '{caret}' -notation is used. E.g. '{caret}r1 r2' means commits reachable -from 'r2' but exclude the ones reachable from 'r1'. - -This set operation appears so often that there is a shorthand -for it. When you have two commits 'r1' and 'r2' (named according -to the syntax explained in SPECIFYING REVISIONS above), you can ask -for commits that are reachable from r2 excluding those that are reachable -from r1 by '{caret}r1 r2' and it can be written as 'r1..r2'. - -A similar notation 'r1\...r2' is called symmetric difference -of 'r1' and 'r2' and is defined as -'r1 r2 --not $(git merge-base --all r1 r2)'. -It is the set of commits that are reachable from either one of -'r1' or 'r2' but not from both. - -In these two shorthands, you can omit one end and let it default to HEAD. +of commits, not just a single commit. + +For these commands, +specifying a single revision, using the notation described in the +previous section, means the set of commits `reachable` from the given +commit. + +A commit's reachable set is the commit itself and the commits in +its ancestry chain. + + +Commit Exclusions +~~~~~~~~~~~~~~~~~ + +'{caret}' (caret) Notation:: + To exclude commits reachable from a commit, a prefix '{caret}' + notation is used. E.g. '{caret}r1 r2' means commits reachable + from 'r2' but exclude the ones reachable from 'r1' (i.e. 'r1' and + its ancestors). + +Dotted Range Notations +~~~~~~~~~~~~~~~~~~~~~~ + +The '..' (two-dot) Range Notation:: + The '{caret}r1 r2' set operation appears so often that there is a shorthand + for it. When you have two commits 'r1' and 'r2' (named according + to the syntax explained in SPECIFYING REVISIONS above), you can ask + for commits that are reachable from r2 excluding those that are reachable + from r1 by '{caret}r1 r2' and it can be written as 'r1..r2'. + +The '...' (three dot) Symmetric Difference Notation:: + A similar notation 'r1\...r2' is called symmetric difference + of 'r1' and 'r2' and is defined as + 'r1 r2 --not $(git merge-base --all r1 r2)'. + It is the set of commits that are reachable from either one of + 'r1' (left side) or 'r2' (right side) but not from both. + +In these two shorthand notations, you can omit one end and let it default to HEAD. For example, 'origin..' is a shorthand for 'origin..HEAD' and asks "What did I do since I forked from the origin branch?" Similarly, '..origin' is a shorthand for 'HEAD..origin' and asks "What did the origin do since I forked from them?" Note that '..' would mean 'HEAD..HEAD' which is an empty range that is both reachable and unreachable from HEAD. -Two other shorthands for naming a set that is formed by a commit -and its parent commits exist. The 'r1{caret}@' notation means all -parents of 'r1'. 'r1{caret}!' includes commit 'r1' but excludes -all of its parents. +Other {caret} Parent Shorthand Notations +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Two other shorthands exist, particularly useful for merge commits, +for naming a set that is formed by a commit and its parent commits. + +The 'r1{caret}@' notation means all parents of 'r1'. + +The 'r1{caret}!' notation includes commit 'r1' but excludes all of its parents. +By itself, this notation denotes the single commit 'r1'. + +While '{caret}' was about specifying a single commit parent, these +two notations consider all its parents. For example you can say +'HEAD{caret}2{caret}@', however you cannot say 'HEAD{caret}@{caret}2'. -To summarize: +Revision Range Summary +---------------------- '':: - Include commits that are reachable from (i.e. ancestors of) - . + Include commits that are reachable from (i.e. and its + ancestors). '{caret}':: - Exclude commits that are reachable from (i.e. ancestors of) - . + Exclude commits that are reachable from (i.e. and its + ancestors). '..':: Include commits that are reachable from but exclude @@ -300,16 +326,27 @@ To summarize: as giving commit '' and then all its parents prefixed with '{caret}' to exclude them (and their ancestors). -Here are a handful of examples: - - D G H D - D F G H I J D F - ^G D H D - ^D B E I J F B - B..C C - B...C G H D E B C - ^D B C E I J F B C - C I J F C - C^@ I J F - C^! C - F^! D G H D F +Here are a handful of examples using the Loeliger illustration above, +with each step in the notation's expansion and selection carefully +spelt out: + + Args Expanded arguments Selected commits + D G H D + D F G H I J D F + ^G D H D + ^D B E I J F B + ^D B C E I J F B C + C I J F C + B..C = ^B C C + B...C = B ^F C G H D E B C + C^@ = C^1 + = F I J F + B^@ = B^1 B^2 B^3 + = D E F D G H E F I J + C^! = C ^C^@ + = C ^C^1 + = C ^F C + B^! = B ^B^@ + = B ^B^1 ^B^2 ^B^3 + = B ^D ^E ^F B + F^! D = F ^I ^J D G H D F diff --git a/Documentation/technical/protocol-common.txt b/Documentation/technical/protocol-common.txt index bf30167ae3..ecedb34bba 100644 --- a/Documentation/technical/protocol-common.txt +++ b/Documentation/technical/protocol-common.txt @@ -67,9 +67,9 @@ with non-binary data the same whether or not they contain the trailing LF (stripping the LF if present, and not complaining when it is missing). -The maximum length of a pkt-line's data component is 65520 bytes. -Implementations MUST NOT send pkt-line whose length exceeds 65524 -(65520 bytes of payload + 4 bytes of length data). +The maximum length of a pkt-line's data component is 65516 bytes. +Implementations MUST NOT send pkt-line whose length exceeds 65520 +(65516 bytes of payload + 4 bytes of length data). Implementations SHOULD NOT send an empty pkt-line ("0004"). diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN index 1ca5c0e366..55e88b02d4 100755 --- a/GIT-VERSION-GEN +++ b/GIT-VERSION-GEN @@ -1,7 +1,7 @@ #!/bin/sh GVF=GIT-VERSION-FILE -DEF_VER=v2.10.0-rc2 +DEF_VER=v2.10.0.GIT LF=' ' diff --git a/Makefile b/Makefile index d96ecb7141..7f184923dd 100644 --- a/Makefile +++ b/Makefile @@ -296,6 +296,11 @@ all:: # Define USE_NED_ALLOCATOR if you want to replace the platforms default # memory allocators with the nedmalloc allocator written by Niall Douglas. # +# Define OVERRIDE_STRDUP to override the libc version of strdup(3). +# This is necessary when using a custom allocator in order to avoid +# crashes due to allocation and free working on different 'heaps'. +# It's defined automatically if USE_NED_ALLOCATOR is set. +# # Define NO_REGEX if you have no or inferior regex support in your C library. # # Define HAVE_DEV_TTY if your system can open /dev/tty to interact with the @@ -1456,8 +1461,14 @@ ifdef NATIVE_CRLF endif ifdef USE_NED_ALLOCATOR - COMPAT_CFLAGS += -Icompat/nedmalloc - COMPAT_OBJS += compat/nedmalloc/nedmalloc.o + COMPAT_CFLAGS += -Icompat/nedmalloc + COMPAT_OBJS += compat/nedmalloc/nedmalloc.o + OVERRIDE_STRDUP = YesPlease +endif + +ifdef OVERRIDE_STRDUP + COMPAT_CFLAGS += -DOVERRIDE_STRDUP + COMPAT_OBJS += compat/strdup.o endif ifdef GIT_TEST_CMP_USE_COPIED_CONTEXT @@ -2029,7 +2040,7 @@ endif ifdef USE_NED_ALLOCATOR compat/nedmalloc/nedmalloc.sp compat/nedmalloc/nedmalloc.o: EXTRA_CPPFLAGS = \ - -DNDEBUG -DOVERRIDE_STRDUP -DREPLACE_SYSTEM_ALLOCATOR + -DNDEBUG -DREPLACE_SYSTEM_ALLOCATOR compat/nedmalloc/nedmalloc.sp: SPARSE_FLAGS += -Wno-non-pointer-null endif diff --git a/RelNotes b/RelNotes index 62615ffa4e..b54330f7cd 120000 --- a/RelNotes +++ b/RelNotes @@ -1 +1 @@ -Documentation/RelNotes/2.10.0.txt \ No newline at end of file +Documentation/RelNotes/2.11.0.txt \ No newline at end of file diff --git a/builtin/am.c b/builtin/am.c index 739b34dcf2..9daeb27225 100644 --- a/builtin/am.c +++ b/builtin/am.c @@ -28,6 +28,7 @@ #include "rerere.h" #include "prompt.h" #include "mailinfo.h" +#include "string-list.h" /** * Returns 1 if the file is empty or does not exist, 0 otherwise. @@ -258,38 +259,29 @@ static int read_state_file(struct strbuf *sb, const struct am_state *state, } /** - * Reads a KEY=VALUE shell variable assignment from `fp`, returning the VALUE - * as a newly-allocated string. VALUE must be a quoted string, and the KEY must - * match `key`. Returns NULL on failure. - * - * This is used by read_author_script() to read the GIT_AUTHOR_* variables from - * the author-script. + * Take a series of KEY='VALUE' lines where VALUE part is + * sq-quoted, and append at the end of the string list */ -static char *read_shell_var(FILE *fp, const char *key) +static int parse_key_value_squoted(char *buf, struct string_list *list) { - struct strbuf sb = STRBUF_INIT; - const char *str; - - if (strbuf_getline_lf(&sb, fp)) - goto fail; - - if (!skip_prefix(sb.buf, key, &str)) - goto fail; - - if (!skip_prefix(str, "=", &str)) - goto fail; - - strbuf_remove(&sb, 0, str - sb.buf); - - str = sq_dequote(sb.buf); - if (!str) - goto fail; - - return strbuf_detach(&sb, NULL); - -fail: - strbuf_release(&sb); - return NULL; + while (*buf) { + struct string_list_item *item; + char *np; + char *cp = strchr(buf, '='); + if (!cp) + return -1; + np = strchrnul(cp, '\n'); + *cp++ = '\0'; + item = string_list_append(list, buf); + + buf = np + (*np == '\n'); + *np = '\0'; + cp = sq_dequote(cp); + if (!cp) + return -1; + item->util = xstrdup(cp); + } + return 0; } /** @@ -311,44 +303,39 @@ static char *read_shell_var(FILE *fp, const char *key) static int read_author_script(struct am_state *state) { const char *filename = am_path(state, "author-script"); - FILE *fp; + struct strbuf buf = STRBUF_INIT; + struct string_list kv = STRING_LIST_INIT_DUP; + int retval = -1; /* assume failure */ + int fd; assert(!state->author_name); assert(!state->author_email); assert(!state->author_date); - fp = fopen(filename, "r"); - if (!fp) { + fd = open(filename, O_RDONLY); + if (fd < 0) { if (errno == ENOENT) return 0; die_errno(_("could not open '%s' for reading"), filename); } + strbuf_read(&buf, fd, 0); + close(fd); + if (parse_key_value_squoted(buf.buf, &kv)) + goto finish; - state->author_name = read_shell_var(fp, "GIT_AUTHOR_NAME"); - if (!state->author_name) { - fclose(fp); - return -1; - } - - state->author_email = read_shell_var(fp, "GIT_AUTHOR_EMAIL"); - if (!state->author_email) { - fclose(fp); - return -1; - } - - state->author_date = read_shell_var(fp, "GIT_AUTHOR_DATE"); - if (!state->author_date) { - fclose(fp); - return -1; - } - - if (fgetc(fp) != EOF) { - fclose(fp); - return -1; - } - - fclose(fp); - return 0; + if (kv.nr != 3 || + strcmp(kv.items[0].string, "GIT_AUTHOR_NAME") || + strcmp(kv.items[1].string, "GIT_AUTHOR_EMAIL") || + strcmp(kv.items[2].string, "GIT_AUTHOR_DATE")) + goto finish; + state->author_name = kv.items[0].util; + state->author_email = kv.items[1].util; + state->author_date = kv.items[2].util; + retval = 0; +finish: + string_list_clear(&kv, !!retval); + strbuf_release(&buf); + return retval; } /** @@ -2222,7 +2209,7 @@ int cmd_am(int argc, const char **argv, const char *prefix) int in_progress; const char * const usage[] = { - N_("git am [] [(|)...]"), + N_("git am [] [( | )...]"), N_("git am [] (--continue | --skip | --abort)"), NULL }; diff --git a/builtin/blame.c b/builtin/blame.c index 7ec7823430..a5bbf91e49 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -2244,7 +2244,8 @@ static void verify_working_tree_path(struct commit *work_tree, const char *path) pos = cache_name_pos(path, strlen(path)); if (pos >= 0) ; /* path is in the index */ - else if (!strcmp(active_cache[-1 - pos]->name, path)) + else if (-1 - pos < active_nr && + !strcmp(active_cache[-1 - pos]->name, path)) ; /* path is in the index, unmerged */ else die("no such path '%s' in HEAD", path); diff --git a/builtin/cat-file.c b/builtin/cat-file.c index 2dfe6265f7..560f6c2cc7 100644 --- a/builtin/cat-file.c +++ b/builtin/cat-file.c @@ -440,7 +440,7 @@ static int batch_objects(struct batch_options *opt) } static const char * const cat_file_usage[] = { - N_("git cat-file (-t [--allow-unknown-type]|-s [--allow-unknown-type]|-e|-p||--textconv) "), + N_("git cat-file (-t [--allow-unknown-type] | -s [--allow-unknown-type] | -e | -p | | --textconv) "), N_("git cat-file (--batch | --batch-check) [--follow-symlinks]"), NULL }; diff --git a/builtin/clone.c b/builtin/clone.c index f044a8c27f..404c5e8022 100644 --- a/builtin/clone.c +++ b/builtin/clone.c @@ -50,7 +50,8 @@ static int option_verbosity; static int option_progress = -1; static enum transport_family family; static struct string_list option_config = STRING_LIST_INIT_NODUP; -static struct string_list option_reference = STRING_LIST_INIT_NODUP; +static struct string_list option_required_reference = STRING_LIST_INIT_NODUP; +static struct string_list option_optional_reference = STRING_LIST_INIT_NODUP; static int option_dissociate; static int max_jobs = -1; @@ -79,8 +80,10 @@ static struct option builtin_clone_options[] = { 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"), + OPT_STRING_LIST(0, "reference", &option_required_reference, N_("repo"), N_("reference repository")), + OPT_STRING_LIST(0, "reference-if-able", &option_optional_reference, + N_("repo"), N_("reference repository")), OPT_BOOL(0, "dissociate", &option_dissociate, N_("use --reference only while cloning")), OPT_STRING('o', "origin", &option_origin, N_("name"), @@ -282,50 +285,37 @@ static void strip_trailing_slashes(char *dir) static int add_one_reference(struct string_list_item *item, void *cb_data) { - char *ref_git; - const char *repo; - struct strbuf alternate = STRBUF_INIT; - - /* Beware: read_gitfile(), real_path() and mkpath() return static buffer */ - ref_git = xstrdup(real_path(item->string)); - - repo = read_gitfile(ref_git); - if (!repo) - repo = read_gitfile(mkpath("%s/.git", ref_git)); - if (repo) { - free(ref_git); - ref_git = xstrdup(repo); - } + struct strbuf err = STRBUF_INIT; + int *required = cb_data; + char *ref_git = compute_alternate_path(item->string, &err); - if (!repo && is_directory(mkpath("%s/.git/objects", ref_git))) { - char *ref_git_git = mkpathdup("%s/.git", ref_git); - free(ref_git); - ref_git = ref_git_git; - } else if (!is_directory(mkpath("%s/objects", ref_git))) { + if (!ref_git) { + if (*required) + die("%s", err.buf); + else + fprintf(stderr, + _("info: Could not add alternate for '%s': %s\n"), + item->string, err.buf); + } else { struct strbuf sb = STRBUF_INIT; - if (get_common_dir(&sb, ref_git)) - die(_("reference repository '%s' as a linked checkout is not supported yet."), - item->string); - die(_("reference repository '%s' is not a local repository."), - item->string); + strbuf_addf(&sb, "%s/objects", ref_git); + add_to_alternates_file(sb.buf); + strbuf_release(&sb); } - if (!access(mkpath("%s/shallow", ref_git), F_OK)) - die(_("reference repository '%s' is shallow"), item->string); - - if (!access(mkpath("%s/info/grafts", ref_git), F_OK)) - die(_("reference repository '%s' is grafted"), item->string); - - strbuf_addf(&alternate, "%s/objects", ref_git); - add_to_alternates_file(alternate.buf); - strbuf_release(&alternate); + strbuf_release(&err); free(ref_git); return 0; } static void setup_reference(void) { - for_each_string_list(&option_reference, add_one_reference, NULL); + int required = 1; + for_each_string_list(&option_required_reference, + add_one_reference, &required); + required = 0; + for_each_string_list(&option_optional_reference, + add_one_reference, &required); } static void copy_alternates(struct strbuf *src, struct strbuf *dst, @@ -957,6 +947,25 @@ int cmd_clone(int argc, const char **argv, const char *prefix) else fprintf(stderr, _("Cloning into '%s'...\n"), dir); } + + if (option_recursive) { + if (option_required_reference.nr && + option_optional_reference.nr) + die(_("clone --recursive is not compatible with " + "both --reference and --reference-if-able")); + else if (option_required_reference.nr) { + string_list_append(&option_config, + "submodule.alternateLocation=superproject"); + string_list_append(&option_config, + "submodule.alternateErrorStrategy=die"); + } else if (option_optional_reference.nr) { + string_list_append(&option_config, + "submodule.alternateLocation=superproject"); + string_list_append(&option_config, + "submodule.alternateErrorStrategy=info"); + } + } + init_db(option_template, INIT_DB_QUIET); write_config(&option_config); @@ -977,7 +986,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix) git_config_set(key.buf, repo); strbuf_reset(&key); - if (option_reference.nr) + if (option_required_reference.nr || option_optional_reference.nr) setup_reference(); fetch_pattern = value.buf; diff --git a/builtin/commit.c b/builtin/commit.c index 77e3dc8494..bb9f79b6ef 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -142,14 +142,24 @@ static int show_ignored_in_status, have_option_m; static const char *only_include_assumed; static struct strbuf message = STRBUF_INIT; -static enum status_format { - STATUS_FORMAT_NONE = 0, - STATUS_FORMAT_LONG, - STATUS_FORMAT_SHORT, - STATUS_FORMAT_PORCELAIN, +static enum wt_status_format status_format = STATUS_FORMAT_UNSPECIFIED; - STATUS_FORMAT_UNSPECIFIED -} status_format = STATUS_FORMAT_UNSPECIFIED; +static int opt_parse_porcelain(const struct option *opt, const char *arg, int unset) +{ + enum wt_status_format *value = (enum wt_status_format *)opt->value; + if (unset) + *value = STATUS_FORMAT_NONE; + else if (!arg) + *value = STATUS_FORMAT_PORCELAIN; + else if (!strcmp(arg, "v1") || !strcmp(arg, "1")) + *value = STATUS_FORMAT_PORCELAIN; + else if (!strcmp(arg, "v2") || !strcmp(arg, "2")) + *value = STATUS_FORMAT_PORCELAIN_V2; + else + die("unsupported porcelain version '%s'", arg); + + return 0; +} static int opt_parse_m(const struct option *opt, const char *arg, int unset) { @@ -500,24 +510,13 @@ static int run_status(FILE *fp, const char *index_file, const char *prefix, int s->fp = fp; s->nowarn = nowarn; s->is_initial = get_sha1(s->reference, sha1) ? 1 : 0; + if (!s->is_initial) + hashcpy(s->sha1_commit, sha1); + s->status_format = status_format; + s->ignore_submodule_arg = ignore_submodule_arg; wt_status_collect(s); - - switch (status_format) { - case STATUS_FORMAT_SHORT: - wt_shortstatus_print(s); - break; - case STATUS_FORMAT_PORCELAIN: - wt_porcelain_print(s); - break; - case STATUS_FORMAT_UNSPECIFIED: - die("BUG: finalize_deferred_config() should have been called"); - break; - case STATUS_FORMAT_NONE: - case STATUS_FORMAT_LONG: - wt_status_print(s); - break; - } + wt_status_print(s); return s->commitable; } @@ -1099,7 +1098,7 @@ static const char *read_commit_message(const char *name) * is not in effect here. */ static struct status_deferred_config { - enum status_format status_format; + enum wt_status_format status_format; int show_branch; } status_deferred_config = { STATUS_FORMAT_UNSPECIFIED, @@ -1109,6 +1108,7 @@ static struct status_deferred_config { static void finalize_deferred_config(struct wt_status *s) { int use_deferred_config = (status_format != STATUS_FORMAT_PORCELAIN && + status_format != STATUS_FORMAT_PORCELAIN_V2 && !s->null_termination); if (s->null_termination) { @@ -1336,9 +1336,9 @@ int cmd_status(int argc, const char **argv, const char *prefix) N_("show status concisely"), STATUS_FORMAT_SHORT), OPT_BOOL('b', "branch", &s.show_branch, N_("show branch information")), - OPT_SET_INT(0, "porcelain", &status_format, - N_("machine-readable output"), - STATUS_FORMAT_PORCELAIN), + { OPTION_CALLBACK, 0, "porcelain", &status_format, + N_("version"), N_("machine-readable output"), + PARSE_OPT_OPTARG, opt_parse_porcelain }, OPT_SET_INT(0, "long", &status_format, N_("show status in long format (default)"), STATUS_FORMAT_LONG), @@ -1380,7 +1380,13 @@ int cmd_status(int argc, const char **argv, const char *prefix) fd = hold_locked_index(&index_lock, 0); s.is_initial = get_sha1(s.reference, sha1) ? 1 : 0; + if (!s.is_initial) + hashcpy(s.sha1_commit, sha1); + s.ignore_submodule_arg = ignore_submodule_arg; + s.status_format = status_format; + s.verbose = verbose; + wt_status_collect(&s); if (0 <= fd) @@ -1389,23 +1395,7 @@ int cmd_status(int argc, const char **argv, const char *prefix) if (s.relative_paths) s.prefix = prefix; - switch (status_format) { - case STATUS_FORMAT_SHORT: - wt_shortstatus_print(&s); - break; - case STATUS_FORMAT_PORCELAIN: - wt_porcelain_print(&s); - break; - case STATUS_FORMAT_UNSPECIFIED: - die("BUG: finalize_deferred_config() should have been called"); - break; - case STATUS_FORMAT_NONE: - case STATUS_FORMAT_LONG: - s.verbose = verbose; - s.ignore_submodule_arg = ignore_submodule_arg; - wt_status_print(&s); - break; - } + wt_status_print(&s); return 0; } diff --git a/builtin/help.c b/builtin/help.c index e8f79d7af5..49f7a07f85 100644 --- a/builtin/help.c +++ b/builtin/help.c @@ -37,8 +37,10 @@ static int show_all = 0; static int show_guides = 0; static unsigned int colopts; static enum help_format help_format = HELP_FORMAT_NONE; +static int exclude_guides; static struct option builtin_help_options[] = { OPT_BOOL('a', "all", &show_all, N_("print all available commands")), + OPT_HIDDEN_BOOL(0, "exclude-guides", &exclude_guides, N_("exclude guides")), OPT_BOOL('g', "guides", &show_guides, N_("print list of useful guides")), OPT_SET_INT('m', "man", &help_format, N_("show man page"), HELP_FORMAT_MAN), OPT_SET_INT('w', "web", &help_format, N_("show manual in web browser"), @@ -426,10 +428,29 @@ static void list_common_guides_help(void) putchar('\n'); } +static const char *check_git_cmd(const char* cmd) +{ + char *alias; + + if (is_git_command(cmd)) + return cmd; + + alias = alias_lookup(cmd); + if (alias) { + printf_ln(_("`git %s' is aliased to `%s'"), cmd, alias); + free(alias); + exit(0); + } + + if (exclude_guides) + return help_unknown_cmd(cmd); + + return cmd; +} + int cmd_help(int argc, const char **argv, const char *prefix) { int nongit; - char *alias; enum help_format parsed_help_format; argc = parse_options(argc, argv, prefix, builtin_help_options, @@ -469,12 +490,7 @@ int cmd_help(int argc, const char **argv, const char *prefix) if (help_format == HELP_FORMAT_NONE) help_format = parse_help_format(DEFAULT_HELP_FORMAT); - alias = alias_lookup(argv[0]); - if (alias && !is_git_command(argv[0])) { - printf_ln(_("`git %s' is aliased to `%s'"), argv[0], alias); - free(alias); - return 0; - } + argv[0] = check_git_cmd(argv[0]); switch (help_format) { case HELP_FORMAT_NONE: diff --git a/builtin/index-pack.c b/builtin/index-pack.c index 1d2ea583a4..4a8b4aebba 100644 --- a/builtin/index-pack.c +++ b/builtin/index-pack.c @@ -87,6 +87,7 @@ static struct progress *progress; static unsigned char input_buffer[4096]; static unsigned int input_offset, input_len; static off_t consumed_bytes; +static off_t max_input_size; static unsigned deepest_delta; static git_SHA_CTX input_ctx; static uint32_t input_crc32; @@ -297,6 +298,8 @@ static void use(int bytes) if (signed_add_overflows(consumed_bytes, bytes)) die(_("pack too large for current definition of off_t")); consumed_bytes += bytes; + if (max_input_size && consumed_bytes > max_input_size) + die(_("pack exceeds maximum allowed size")); } static const char *open_pack_file(const char *pack_name) @@ -1714,6 +1717,8 @@ int cmd_index_pack(int argc, const char **argv, const char *prefix) opts.off32_limit = strtoul(c+1, &c, 0); if (*c || opts.off32_limit & 0x80000000) die(_("bad %s"), arg); + } else if (skip_prefix(arg, "--max-input-size=", &arg)) { + max_input_size = strtoumax(arg, NULL, 10); } else usage(index_pack_usage); continue; diff --git a/builtin/log.c b/builtin/log.c index 92dc34dcb0..49aa534f4a 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -1676,16 +1676,16 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix) /* nothing to do */ return 0; total = nr; - if (!keep_subject && auto_number && total > 1) - numbered = 1; - if (numbered) - rev.total = total + start_number - 1; if (cover_letter == -1) { if (config_cover_letter == COVER_AUTO) cover_letter = (total > 1); else cover_letter = (config_cover_letter == COVER_ON); } + if (!keep_subject && auto_number && (total > 1 || cover_letter)) + numbered = 1; + if (numbered) + rev.total = total + start_number - 1; if (!signature) { ; /* --no-signature inhibits all signatures */ diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c index 4a63398960..0954375be9 100644 --- a/builtin/pack-objects.c +++ b/builtin/pack-objects.c @@ -2123,6 +2123,35 @@ static void ll_find_deltas(struct object_entry **list, unsigned list_size, #define ll_find_deltas(l, s, w, d, p) find_deltas(l, &s, w, d, p) #endif +static void add_tag_chain(const struct object_id *oid) +{ + struct tag *tag; + + /* + * We catch duplicates already in add_object_entry(), but we'd + * prefer to do this extra check to avoid having to parse the + * tag at all if we already know that it's being packed (e.g., if + * it was included via bitmaps, we would not have parsed it + * previously). + */ + if (packlist_find(&to_pack, oid->hash, NULL)) + return; + + tag = lookup_tag(oid->hash); + while (1) { + if (!tag || parse_tag(tag) || !tag->tagged) + die("unable to pack objects reachable from tag %s", + oid_to_hex(oid)); + + add_object_entry(tag->object.oid.hash, OBJ_TAG, NULL, 0); + + if (tag->tagged->type != OBJ_TAG) + return; + + tag = (struct tag *)tag->tagged; + } +} + static int add_ref_tag(const char *path, const struct object_id *oid, int flag, void *cb_data) { struct object_id peeled; @@ -2130,7 +2159,7 @@ static int add_ref_tag(const char *path, const struct object_id *oid, int flag, if (starts_with(path, "refs/tags/") && /* is a tag? */ !peel_ref(path, peeled.hash) && /* peelable? */ packlist_find(&to_pack, peeled.hash, NULL)) /* object packed? */ - add_object_entry(oid->hash, OBJ_TAG, NULL, 0); + add_tag_chain(oid); return 0; } diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c index 011db00d31..f1ce05ce28 100644 --- a/builtin/receive-pack.c +++ b/builtin/receive-pack.c @@ -46,6 +46,7 @@ static int transfer_unpack_limit = -1; static int advertise_atomic_push = 1; static int advertise_push_options; static int unpack_limit = 100; +static off_t max_input_size; static int report_status; static int use_sideband; static int use_atomic; @@ -212,6 +213,11 @@ static int receive_pack_config(const char *var, const char *value, void *cb) return 0; } + if (strcmp(var, "receive.maxinputsize") == 0) { + max_input_size = git_config_int64(var, value); + return 0; + } + return git_default_config(var, value, cb); } @@ -1648,6 +1654,9 @@ 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 (max_input_size) + argv_array_pushf(&child.args, "--max-input-size=%"PRIuMAX, + (uintmax_t)max_input_size); child.no_stdout = 1; child.err = err_fd; child.git_cmd = 1; @@ -1676,6 +1685,9 @@ static const char *unpack(int err_fd, struct shallow_info *si) fsck_msg_types.buf); if (!reject_thin) argv_array_push(&child.args, "--fix-thin"); + if (max_input_size) + argv_array_pushf(&child.args, "--max-input-size=%"PRIuMAX, + (uintmax_t)max_input_size); child.out = -1; child.err = err_fd; child.git_cmd = 1; diff --git a/builtin/rev-list.c b/builtin/rev-list.c index 0ba82b1635..8479f6ed28 100644 --- a/builtin/rev-list.c +++ b/builtin/rev-list.c @@ -122,48 +122,40 @@ static void show_commit(struct commit *commit, void *data) ctx.fmt = revs->commit_format; ctx.output_encoding = get_log_output_encoding(); pretty_print_commit(&ctx, commit, &buf); - if (revs->graph) { - if (buf.len) { - if (revs->commit_format != CMIT_FMT_ONELINE) - graph_show_oneline(revs->graph); - - graph_show_commit_msg(revs->graph, &buf); - - /* - * Add a newline after the commit message. - * - * Usually, this newline produces a blank - * padding line between entries, in which case - * we need to add graph padding on this line. - * - * However, the commit message may not end in a - * newline. In this case the newline simply - * ends the last line of the commit message, - * and we don't need any graph output. (This - * always happens with CMIT_FMT_ONELINE, and it - * happens with CMIT_FMT_USERFORMAT when the - * format doesn't explicitly end in a newline.) - */ - if (buf.len && buf.buf[buf.len - 1] == '\n') - graph_show_padding(revs->graph); - putchar('\n'); - } else { - /* - * If the message buffer is empty, just show - * the rest of the graph output for this - * commit. - */ - if (graph_show_remainder(revs->graph)) - putchar('\n'); - if (revs->commit_format == CMIT_FMT_ONELINE) - putchar('\n'); - } + if (buf.len) { + if (revs->commit_format != CMIT_FMT_ONELINE) + graph_show_oneline(revs->graph); + + graph_show_commit_msg(revs->graph, stdout, &buf); + + /* + * Add a newline after the commit message. + * + * Usually, this newline produces a blank + * padding line between entries, in which case + * we need to add graph padding on this line. + * + * However, the commit message may not end in a + * newline. In this case the newline simply + * ends the last line of the commit message, + * and we don't need any graph output. (This + * always happens with CMIT_FMT_ONELINE, and it + * happens with CMIT_FMT_USERFORMAT when the + * format doesn't explicitly end in a newline.) + */ + if (buf.len && buf.buf[buf.len - 1] == '\n') + graph_show_padding(revs->graph); + putchar('\n'); } else { - if (revs->commit_format != CMIT_FMT_USERFORMAT || - buf.len) { - fwrite(buf.buf, 1, buf.len, stdout); - putchar(info->hdr_termination); - } + /* + * If the message buffer is empty, just show + * the rest of the graph output for this + * commit. + */ + if (graph_show_remainder(revs->graph)) + putchar('\n'); + if (revs->commit_format == CMIT_FMT_ONELINE) + putchar('\n'); } strbuf_release(&buf); } else { diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c index e79790f0bd..9d79f1994a 100644 --- a/builtin/submodule--helper.c +++ b/builtin/submodule--helper.c @@ -442,7 +442,7 @@ static int module_name(int argc, const char **argv, const char *prefix) } static int clone_submodule(const char *path, const char *gitdir, const char *url, - const char *depth, const char *reference, int quiet) + const char *depth, struct string_list *reference, int quiet) { struct child_process cp = CHILD_PROCESS_INIT; @@ -452,8 +452,12 @@ static int clone_submodule(const char *path, const char *gitdir, const char *url argv_array_push(&cp.args, "--quiet"); if (depth && *depth) argv_array_pushl(&cp.args, "--depth", depth, NULL); - if (reference && *reference) - argv_array_pushl(&cp.args, "--reference", reference, NULL); + if (reference->nr) { + struct string_list_item *item; + for_each_string_list_item(item, reference) + argv_array_pushl(&cp.args, "--reference", + item->string, NULL); + } if (gitdir && *gitdir) argv_array_pushl(&cp.args, "--separate-git-dir", gitdir, NULL); @@ -467,15 +471,114 @@ static int clone_submodule(const char *path, const char *gitdir, const char *url return run_command(&cp); } +struct submodule_alternate_setup { + const char *submodule_name; + enum SUBMODULE_ALTERNATE_ERROR_MODE { + SUBMODULE_ALTERNATE_ERROR_DIE, + SUBMODULE_ALTERNATE_ERROR_INFO, + SUBMODULE_ALTERNATE_ERROR_IGNORE + } error_mode; + struct string_list *reference; +}; +#define SUBMODULE_ALTERNATE_SETUP_INIT { NULL, \ + SUBMODULE_ALTERNATE_ERROR_IGNORE, NULL } + +static int add_possible_reference_from_superproject( + struct alternate_object_database *alt, void *sas_cb) +{ + struct submodule_alternate_setup *sas = sas_cb; + + /* directory name, minus trailing slash */ + size_t namelen = alt->name - alt->base - 1; + struct strbuf name = STRBUF_INIT; + strbuf_add(&name, alt->base, namelen); + + /* + * If the alternate object store is another repository, try the + * standard layout with .git/modules//objects + */ + if (ends_with(name.buf, ".git/objects")) { + char *sm_alternate; + struct strbuf sb = STRBUF_INIT; + struct strbuf err = STRBUF_INIT; + strbuf_add(&sb, name.buf, name.len - strlen("objects")); + /* + * We need to end the new path with '/' to mark it as a dir, + * otherwise a submodule name containing '/' will be broken + * as the last part of a missing submodule reference would + * be taken as a file name. + */ + strbuf_addf(&sb, "modules/%s/", sas->submodule_name); + + sm_alternate = compute_alternate_path(sb.buf, &err); + if (sm_alternate) { + string_list_append(sas->reference, xstrdup(sb.buf)); + free(sm_alternate); + } else { + switch (sas->error_mode) { + case SUBMODULE_ALTERNATE_ERROR_DIE: + die(_("submodule '%s' cannot add alternate: %s"), + sas->submodule_name, err.buf); + case SUBMODULE_ALTERNATE_ERROR_INFO: + fprintf(stderr, _("submodule '%s' cannot add alternate: %s"), + sas->submodule_name, err.buf); + case SUBMODULE_ALTERNATE_ERROR_IGNORE: + ; /* nothing */ + } + } + strbuf_release(&sb); + } + + strbuf_release(&name); + return 0; +} + +static void prepare_possible_alternates(const char *sm_name, + struct string_list *reference) +{ + char *sm_alternate = NULL, *error_strategy = NULL; + struct submodule_alternate_setup sas = SUBMODULE_ALTERNATE_SETUP_INIT; + + git_config_get_string("submodule.alternateLocation", &sm_alternate); + if (!sm_alternate) + return; + + git_config_get_string("submodule.alternateErrorStrategy", &error_strategy); + + if (!error_strategy) + error_strategy = xstrdup("die"); + + sas.submodule_name = sm_name; + sas.reference = reference; + if (!strcmp(error_strategy, "die")) + sas.error_mode = SUBMODULE_ALTERNATE_ERROR_DIE; + else if (!strcmp(error_strategy, "info")) + sas.error_mode = SUBMODULE_ALTERNATE_ERROR_INFO; + else if (!strcmp(error_strategy, "ignore")) + sas.error_mode = SUBMODULE_ALTERNATE_ERROR_IGNORE; + else + die(_("Value '%s' for submodule.alternateErrorStrategy is not recognized"), error_strategy); + + if (!strcmp(sm_alternate, "superproject")) + foreach_alt_odb(add_possible_reference_from_superproject, &sas); + else if (!strcmp(sm_alternate, "no")) + ; /* do nothing */ + else + die(_("Value '%s' for submodule.alternateLocation is not recognized"), sm_alternate); + + free(sm_alternate); + free(error_strategy); +} + static int module_clone(int argc, const char **argv, const char *prefix) { - const char *name = NULL, *url = NULL; - const char *reference = NULL, *depth = NULL; + const char *name = NULL, *url = NULL, *depth = NULL; int quiet = 0; FILE *submodule_dot_git; char *p, *path = NULL, *sm_gitdir; struct strbuf rel_path = STRBUF_INIT; struct strbuf sb = STRBUF_INIT; + struct string_list reference = STRING_LIST_INIT_NODUP; struct option module_clone_options[] = { OPT_STRING(0, "prefix", &prefix, @@ -490,8 +593,8 @@ static int module_clone(int argc, const char **argv, const char *prefix) OPT_STRING(0, "url", &url, N_("string"), N_("url where to clone the submodule from")), - OPT_STRING(0, "reference", &reference, - N_("string"), + OPT_STRING_LIST(0, "reference", &reference, + N_("repo"), N_("reference repository")), OPT_STRING(0, "depth", &depth, N_("string"), @@ -527,7 +630,10 @@ static int module_clone(int argc, const char **argv, const char *prefix) if (!file_exists(sm_gitdir)) { if (safe_create_leading_directories_const(sm_gitdir) < 0) die(_("could not create directory '%s'"), sm_gitdir); - if (clone_submodule(path, sm_gitdir, url, depth, reference, quiet)) + + prepare_possible_alternates(name, &reference); + + if (clone_submodule(path, sm_gitdir, url, depth, &reference, quiet)) die(_("clone of '%s' into submodule path '%s' failed"), url, path); } else { @@ -579,7 +685,7 @@ struct submodule_update_clone { /* configuration parameters which are passed on to the children */ int quiet; int recommend_shallow; - const char *reference; + struct string_list references; const char *depth; const char *recursive_prefix; const char *prefix; @@ -595,7 +701,8 @@ struct submodule_update_clone { int failed_clones_nr, failed_clones_alloc; }; #define SUBMODULE_UPDATE_CLONE_INIT {0, MODULE_LIST_INIT, 0, \ - SUBMODULE_UPDATE_STRATEGY_INIT, 0, -1, NULL, NULL, NULL, NULL, \ + SUBMODULE_UPDATE_STRATEGY_INIT, 0, -1, STRING_LIST_INIT_DUP, \ + NULL, NULL, NULL, \ STRING_LIST_INIT_DUP, 0, NULL, 0, 0} @@ -705,8 +812,11 @@ static int prepare_to_clone_next_submodule(const struct cache_entry *ce, 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->references.nr) { + struct string_list_item *item; + for_each_string_list_item(item, &suc->references) + argv_array_pushl(&child->args, "--reference", item->string, NULL); + } if (suc->depth) argv_array_push(&child->args, suc->depth); @@ -829,7 +939,7 @@ static int update_clone(int argc, const char **argv, const char *prefix) OPT_STRING(0, "update", &update, N_("string"), N_("rebase, merge, checkout or none")), - OPT_STRING(0, "reference", &suc.reference, N_("repo"), + OPT_STRING_LIST(0, "reference", &suc.references, N_("repo"), N_("reference repository")), OPT_STRING(0, "depth", &suc.depth, "", N_("Create a shallow clone truncated to the " diff --git a/builtin/symbolic-ref.c b/builtin/symbolic-ref.c index 9c29a64e43..96eed94468 100644 --- a/builtin/symbolic-ref.c +++ b/builtin/symbolic-ref.c @@ -56,6 +56,8 @@ int cmd_symbolic_ref(int argc, const char **argv, const char *prefix) ret = check_symref(argv[0], 1, 0, 0); if (ret) die("Cannot delete %s, not a symbolic ref", argv[0]); + if (!strcmp(argv[0], "HEAD")) + die("deleting '%s' is not allowed", argv[0]); return delete_ref(argv[0], NULL, REF_NODEREF); } diff --git a/builtin/unpack-objects.c b/builtin/unpack-objects.c index 172470bf24..4532aa0831 100644 --- a/builtin/unpack-objects.c +++ b/builtin/unpack-objects.c @@ -19,6 +19,7 @@ static const char unpack_usage[] = "git unpack-objects [-n] [-q] [-r] [--strict] static unsigned char buffer[4096]; static unsigned int offset, len; static off_t consumed_bytes; +static off_t max_input_size; static git_SHA_CTX ctx; static struct fsck_options fsck_options = FSCK_OPTIONS_STRICT; @@ -87,6 +88,8 @@ static void use(int bytes) if (signed_add_overflows(consumed_bytes, bytes)) die("pack too large for current definition of off_t"); consumed_bytes += bytes; + if (max_input_size && consumed_bytes > max_input_size) + die(_("pack exceeds maximum allowed size")); } static void *get_data(unsigned long size) @@ -550,6 +553,10 @@ int cmd_unpack_objects(int argc, const char **argv, const char *prefix) len = sizeof(*hdr); continue; } + if (skip_prefix(arg, "--max-input-size=", &arg)) { + max_input_size = strtoumax(arg, NULL, 10); + continue; + } usage(unpack_usage); } diff --git a/cache.h b/cache.h index b780a91a56..35563266bf 100644 --- a/cache.h +++ b/cache.h @@ -819,8 +819,8 @@ extern void strbuf_git_common_path(struct strbuf *sb, const char *fmt, ...) __attribute__((format (printf, 2, 3))); extern char *git_path_buf(struct strbuf *buf, const char *fmt, ...) __attribute__((format (printf, 2, 3))); -extern void strbuf_git_path_submodule(struct strbuf *sb, const char *path, - const char *fmt, ...) +extern int strbuf_git_path_submodule(struct strbuf *sb, const char *path, + const char *fmt, ...) __attribute__((format (printf, 3, 4))); extern char *git_pathdup(const char *fmt, ...) __attribute__((format (printf, 1, 2))); @@ -953,22 +953,39 @@ static inline void oidclr(struct object_id *oid) #define EMPTY_TREE_SHA1_BIN_LITERAL \ "\x4b\x82\x5d\xc6\x42\xcb\x6e\xb9\xa0\x60" \ "\xe5\x4b\xf8\xd6\x92\x88\xfb\xee\x49\x04" -#define EMPTY_TREE_SHA1_BIN \ - ((const unsigned char *) EMPTY_TREE_SHA1_BIN_LITERAL) +extern const struct object_id empty_tree_oid; +#define EMPTY_TREE_SHA1_BIN (empty_tree_oid.hash) #define EMPTY_BLOB_SHA1_HEX \ "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391" #define EMPTY_BLOB_SHA1_BIN_LITERAL \ "\xe6\x9d\xe2\x9b\xb2\xd1\xd6\x43\x4b\x8b" \ "\x29\xae\x77\x5a\xd8\xc2\xe4\x8c\x53\x91" -#define EMPTY_BLOB_SHA1_BIN \ - ((const unsigned char *) EMPTY_BLOB_SHA1_BIN_LITERAL) +extern const struct object_id empty_blob_oid; +#define EMPTY_BLOB_SHA1_BIN (empty_blob_oid.hash) + static inline int is_empty_blob_sha1(const unsigned char *sha1) { return !hashcmp(sha1, EMPTY_BLOB_SHA1_BIN); } +static inline int is_empty_blob_oid(const struct object_id *oid) +{ + return !hashcmp(oid->hash, EMPTY_BLOB_SHA1_BIN); +} + +static inline int is_empty_tree_sha1(const unsigned char *sha1) +{ + return !hashcmp(sha1, EMPTY_TREE_SHA1_BIN); +} + +static inline int is_empty_tree_oid(const struct object_id *oid) +{ + return !hashcmp(oid->hash, EMPTY_TREE_SHA1_BIN); +} + + int git_mkstemp(char *path, size_t n, const char *template); /* set default permissions by passing mode arguments to open(2) */ @@ -1139,6 +1156,16 @@ static inline unsigned int hexval(unsigned char c) return hexval_table[c]; } +/* + * Convert two consecutive hexadecimal digits into a char. Return a + * negative value on error. Don't run over the end of short strings. + */ +static inline int hex2chr(const char *s) +{ + int val = hexval(s[0]); + return (val < 0) ? val : (val << 4) | hexval(s[1]); +} + /* Convert to/from hex/sha1 representation */ #define MINIMUM_ABBREV minimum_abbrev #define DEFAULT_ABBREV default_abbrev @@ -1344,6 +1371,7 @@ extern struct alternate_object_database { } *alt_odb_list; extern void prepare_alt_odb(void); extern void read_info_alternates(const char * relative_base, int depth); +extern char *compute_alternate_path(const char *path, struct strbuf *err); extern void add_to_alternates_file(const char *reference); typedef int alt_odb_fn(struct alternate_object_database *, void *); extern int foreach_alt_odb(alt_odb_fn, void*); diff --git a/color.c b/color.c index 81c2676723..1b95e6b2a7 100644 --- a/color.c +++ b/color.c @@ -215,7 +215,7 @@ int color_parse_mem(const char *value, int value_len, char *dst) /* [fg [bg]] [attr]... */ while (len > 0) { const char *word = ptr; - struct color c; + struct color c = { COLOR_UNSPECIFIED }; int val, wordlen = 0; while (len > 0 && !isspace(word[wordlen])) { diff --git a/compat/nedmalloc/nedmalloc.c b/compat/nedmalloc/nedmalloc.c index 2d4ef59013..1cc31c3502 100644 --- a/compat/nedmalloc/nedmalloc.c +++ b/compat/nedmalloc/nedmalloc.c @@ -948,22 +948,6 @@ void **nedpindependent_comalloc(nedpool *p, size_t elems, size_t *sizes, void ** return ret; } -#ifdef OVERRIDE_STRDUP -/* - * This implementation is purely there to override the libc version, to - * avoid a crash due to allocation and free on different 'heaps'. - */ -char *strdup(const char *s1) -{ - size_t len = strlen(s1) + 1; - char *s2 = malloc(len); - - if (s2) - memcpy(s2, s1, len); - return s2; -} -#endif - #if defined(__cplusplus) } #endif diff --git a/compat/strdup.c b/compat/strdup.c new file mode 100644 index 0000000000..f3fb978eb3 --- /dev/null +++ b/compat/strdup.c @@ -0,0 +1,11 @@ +#include "../git-compat-util.h" + +char *gitstrdup(const char *s1) +{ + size_t len = strlen(s1) + 1; + char *s2 = malloc(len); + + if (s2) + memcpy(s2, s1, len); + return s2; +} diff --git a/contrib/diff-highlight/Makefile b/contrib/diff-highlight/Makefile new file mode 100644 index 0000000000..9018724524 --- /dev/null +++ b/contrib/diff-highlight/Makefile @@ -0,0 +1,5 @@ +# nothing to build +all: + +test: + $(MAKE) -C t diff --git a/contrib/diff-highlight/diff-highlight b/contrib/diff-highlight/diff-highlight index ffefc31a98..81bd8040e3 100755 --- a/contrib/diff-highlight/diff-highlight +++ b/contrib/diff-highlight/diff-highlight @@ -21,6 +21,10 @@ my $RESET = "\x1b[m"; my $COLOR = qr/\x1b\[[0-9;]*m/; my $BORING = qr/$COLOR|\s/; +# The patch portion of git log -p --graph should only ever have preceding | and +# not / or \ as merge history only shows up on the commit line. +my $GRAPH = qr/$COLOR?\|$COLOR?\s+/; + my @removed; my @added; my $in_hunk; @@ -32,12 +36,12 @@ $SIG{PIPE} = 'DEFAULT'; while (<>) { if (!$in_hunk) { print; - $in_hunk = /^$COLOR*\@/; + $in_hunk = /^$GRAPH*$COLOR*\@\@ /; } - elsif (/^$COLOR*-/) { + elsif (/^$GRAPH*$COLOR*-/) { push @removed, $_; } - elsif (/^$COLOR*\+/) { + elsif (/^$GRAPH*$COLOR*\+/) { push @added, $_; } else { @@ -46,7 +50,7 @@ while (<>) { @added = (); print; - $in_hunk = /^$COLOR*[\@ ]/; + $in_hunk = /^$GRAPH*$COLOR*[\@ ]/; } # Most of the time there is enough output to keep things streaming, @@ -163,6 +167,9 @@ sub highlight_pair { } } +# we split either by $COLOR or by character. This has the side effect of +# leaving in graph cruft. It works because the graph cruft does not contain "-" +# or "+" sub split_line { local $_ = shift; return utf8::decode($_) ? @@ -211,8 +218,8 @@ sub is_pair_interesting { my $suffix_a = join('', @$a[($sa+1)..$#$a]); my $suffix_b = join('', @$b[($sb+1)..$#$b]); - return $prefix_a !~ /^$COLOR*-$BORING*$/ || - $prefix_b !~ /^$COLOR*\+$BORING*$/ || + return $prefix_a !~ /^$GRAPH*$COLOR*-$BORING*$/ || + $prefix_b !~ /^$GRAPH*$COLOR*\+$BORING*$/ || $suffix_a !~ /^$BORING*$/ || $suffix_b !~ /^$BORING*$/; } diff --git a/contrib/diff-highlight/t/.gitignore b/contrib/diff-highlight/t/.gitignore new file mode 100644 index 0000000000..7dcbb232cd --- /dev/null +++ b/contrib/diff-highlight/t/.gitignore @@ -0,0 +1,2 @@ +/trash directory* +/test-results diff --git a/contrib/diff-highlight/t/Makefile b/contrib/diff-highlight/t/Makefile new file mode 100644 index 0000000000..5ff5275496 --- /dev/null +++ b/contrib/diff-highlight/t/Makefile @@ -0,0 +1,22 @@ +-include ../../../config.mak.autogen +-include ../../../config.mak + +# copied from ../../t/Makefile +SHELL_PATH ?= $(SHELL) +SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH)) +T = $(wildcard t[0-9][0-9][0-9][0-9]-*.sh) + +all: test +test: $(T) + +.PHONY: help clean all test $(T) + +help: + @echo 'Run "$(MAKE) test" to launch test scripts' + @echo 'Run "$(MAKE) clean" to remove trash folders' + +$(T): + @echo "*** $@ ***"; '$(SHELL_PATH_SQ)' $@ $(GIT_TEST_OPTS) + +clean: + $(RM) -r 'trash directory'.* diff --git a/contrib/diff-highlight/t/t9400-diff-highlight.sh b/contrib/diff-highlight/t/t9400-diff-highlight.sh new file mode 100755 index 0000000000..3b43dbed74 --- /dev/null +++ b/contrib/diff-highlight/t/t9400-diff-highlight.sh @@ -0,0 +1,296 @@ +#!/bin/sh + +test_description='Test diff-highlight' + +CURR_DIR=$(pwd) +TEST_OUTPUT_DIRECTORY=$(pwd) +TEST_DIRECTORY="$CURR_DIR"/../../../t +DIFF_HIGHLIGHT="$CURR_DIR"/../diff-highlight + +CW="$(printf "\033[7m")" # white +CR="$(printf "\033[27m")" # reset + +. "$TEST_DIRECTORY"/test-lib.sh + +if ! test_have_prereq PERL +then + skip_all='skipping diff-highlight tests; perl not available' + test_done +fi + +# dh_test is a test helper function which takes 3 file names as parameters. The +# first 2 files are used to generate diff and commit output, which is then +# piped through diff-highlight. The 3rd file should contain the expected output +# of diff-highlight (minus the diff/commit header, ie. everything after and +# including the first @@ line). +dh_test () { + a="$1" b="$2" && + + cat >patch.exp && + + { + cat "$a" >file && + git add file && + git commit -m "Add a file" && + + cat "$b" >file && + git diff file >diff.raw && + git commit -a -m "Update a file" && + git show >commit.raw + } >/dev/null && + + "$DIFF_HIGHLIGHT" diff.act && + "$DIFF_HIGHLIGHT" commit.act && + test_cmp patch.exp diff.act && + test_cmp patch.exp commit.act +} + +test_strip_patch_header () { + sed -n '/^@@/,$p' $* +} + +# dh_test_setup_history generates a contrived graph such that we have at least +# 1 nesting (E) and 2 nestings (F). +# +# A branch +# / +# D---E---F master +# +# git log --all --graph +# * commit +# | A +# | * commit +# | | F +# | * commit +# |/ +# | E +# * commit +# D +# +dh_test_setup_history () { + echo "file1" >file1 && + echo "file2" >file2 && + echo "file3" >file3 && + + cat file1 >file && + git add file && + git commit -m "D" && + + git checkout -b branch && + cat file2 >file && + git commit -a -m "A" && + + git checkout master && + cat file2 >file && + git commit -a -m "E" && + + cat file3 >file && + git commit -a -m "F" +} + +left_trim () { + "$PERL_PATH" -pe 's/^\s+//' +} + +trim_graph () { + # graphs start with * or | + # followed by a space or / or \ + "$PERL_PATH" -pe 's@^((\*|\|)( |/|\\))+@@' +} + +test_expect_success 'diff-highlight highlights the beginning of a line' ' + cat >a <<-\EOF && + aaa + bbb + ccc + EOF + + cat >b <<-\EOF && + aaa + 0bb + ccc + EOF + + dh_test a b <<-EOF + @@ -1,3 +1,3 @@ + aaa + -${CW}b${CR}bb + +${CW}0${CR}bb + ccc + EOF +' + +test_expect_success 'diff-highlight highlights the end of a line' ' + cat >a <<-\EOF && + aaa + bbb + ccc + EOF + + cat >b <<-\EOF && + aaa + bb0 + ccc + EOF + + dh_test a b <<-EOF + @@ -1,3 +1,3 @@ + aaa + -bb${CW}b${CR} + +bb${CW}0${CR} + ccc + EOF +' + +test_expect_success 'diff-highlight highlights the middle of a line' ' + cat >a <<-\EOF && + aaa + bbb + ccc + EOF + + cat >b <<-\EOF && + aaa + b0b + ccc + EOF + + dh_test a b <<-EOF + @@ -1,3 +1,3 @@ + aaa + -b${CW}b${CR}b + +b${CW}0${CR}b + ccc + EOF +' + +test_expect_success 'diff-highlight does not highlight whole line' ' + cat >a <<-\EOF && + aaa + bbb + ccc + EOF + + cat >b <<-\EOF && + aaa + 000 + ccc + EOF + + dh_test a b <<-EOF + @@ -1,3 +1,3 @@ + aaa + -bbb + +000 + ccc + EOF +' + +test_expect_failure 'diff-highlight highlights mismatched hunk size' ' + cat >a <<-\EOF && + aaa + bbb + EOF + + cat >b <<-\EOF && + aaa + b0b + ccc + EOF + + dh_test a b <<-EOF + @@ -1,3 +1,3 @@ + aaa + -b${CW}b${CR}b + +b${CW}0${CR}b + +ccc + EOF +' + +# These two code points share the same leading byte in UTF-8 representation; +# a naive byte-wise diff would highlight only the second byte. +# +# - U+00f3 ("o" with acute) +o_accent=$(printf '\303\263') +# - U+00f8 ("o" with stroke) +o_stroke=$(printf '\303\270') + +test_expect_success 'diff-highlight treats multibyte utf-8 as a unit' ' + echo "unic${o_accent}de" >a && + echo "unic${o_stroke}de" >b && + dh_test a b <<-EOF + @@ -1 +1 @@ + -unic${CW}${o_accent}${CR}de + +unic${CW}${o_stroke}${CR}de + EOF +' + +# Unlike the UTF-8 above, these are combining code points which are meant +# to modify the character preceding them: +# +# - U+0301 (combining acute accent) +combine_accent=$(printf '\314\201') +# - U+0302 (combining circumflex) +combine_circum=$(printf '\314\202') + +test_expect_failure 'diff-highlight treats combining code points as a unit' ' + echo "unico${combine_accent}de" >a && + echo "unico${combine_circum}de" >b && + dh_test a b <<-EOF + @@ -1 +1 @@ + -unic${CW}o${combine_accent}${CR}de + +unic${CW}o${combine_circum}${CR}de + EOF +' + +test_expect_success 'diff-highlight works with the --graph option' ' + dh_test_setup_history && + + # topo-order so that the order of the commits is the same as with --graph + # trim graph elements so we can do a diff + # trim leading space because our trim_graph is not perfect + git log --branches -p --topo-order | + "$DIFF_HIGHLIGHT" | left_trim >graph.exp && + git log --branches -p --graph | + "$DIFF_HIGHLIGHT" | trim_graph | left_trim >graph.act && + test_cmp graph.exp graph.act +' + +# Most combined diffs won't meet diff-highlight's line-number filter. So we +# create one here where one side drops a line and the other modifies it. That +# should result in a diff like: +# +# - modified content +# ++resolved content +# +# which naively looks like one side added "+resolved". +test_expect_success 'diff-highlight ignores combined diffs' ' + echo "content" >file && + git add file && + git commit -m base && + + >file && + git commit -am master && + + git checkout -b other HEAD^ && + echo "modified content" >file && + git commit -am other && + + test_must_fail git merge master && + echo "resolved content" >file && + git commit -am resolved && + + cat >expect <<-\EOF && + --- a/file + +++ b/file + @@@ -1,1 -1,0 +1,1 @@@ + - modified content + ++resolved content + EOF + + git show -c | "$DIFF_HIGHLIGHT" >actual.raw && + sed -n "/^---/,\$p" actual && + test_cmp expect actual +' + +test_done diff --git a/diff.c b/diff.c index 534c12e28e..b4310f814c 100644 --- a/diff.c +++ b/diff.c @@ -18,6 +18,7 @@ #include "ll-merge.h" #include "string-list.h" #include "argv-array.h" +#include "graph.h" #ifdef NO_FAST_WORKING_DIRECTORY #define FAST_WORKING_DIRECTORY 0 @@ -131,9 +132,11 @@ static int parse_dirstat_params(struct diff_options *options, const char *params static int parse_submodule_params(struct diff_options *options, const char *value) { if (!strcmp(value, "log")) - DIFF_OPT_SET(options, SUBMODULE_LOG); + options->submodule_format = DIFF_SUBMODULE_LOG; else if (!strcmp(value, "short")) - DIFF_OPT_CLR(options, SUBMODULE_LOG); + options->submodule_format = DIFF_SUBMODULE_SHORT; + else if (!strcmp(value, "diff")) + options->submodule_format = DIFF_SUBMODULE_INLINE_DIFF; else return -1; return 0; @@ -354,7 +357,6 @@ struct emit_callback { const char **label_path; struct diff_words_data *diff_words; struct diff_options *opt; - int *found_changesp; struct strbuf *header; }; @@ -722,7 +724,6 @@ static void emit_rewrite_diff(const char *name_a, memset(&ecbdata, 0, sizeof(ecbdata)); ecbdata.color_diff = want_color(o->use_color); - ecbdata.found_changesp = &o->found_changes; ecbdata.ws_rule = whitespace_rule(name_b); ecbdata.opt = o; if (ecbdata.ws_rule & WS_BLANK_AT_EOF) { @@ -1216,12 +1217,13 @@ static void fn_out_consume(void *priv, char *line, unsigned long len) struct diff_options *o = ecbdata->opt; const char *line_prefix = diff_line_prefix(o); + o->found_changes = 1; + if (ecbdata->header) { - fprintf(ecbdata->opt->file, "%s", ecbdata->header->buf); + fprintf(o->file, "%s", ecbdata->header->buf); strbuf_reset(ecbdata->header); ecbdata->header = NULL; } - *(ecbdata->found_changesp) = 1; if (ecbdata->label_path[0]) { const char *name_a_tab, *name_b_tab; @@ -1229,9 +1231,9 @@ static void fn_out_consume(void *priv, char *line, unsigned long len) name_a_tab = strchr(ecbdata->label_path[0], ' ') ? "\t" : ""; name_b_tab = strchr(ecbdata->label_path[1], ' ') ? "\t" : ""; - fprintf(ecbdata->opt->file, "%s%s--- %s%s%s\n", + fprintf(o->file, "%s%s--- %s%s%s\n", line_prefix, meta, ecbdata->label_path[0], reset, name_a_tab); - fprintf(ecbdata->opt->file, "%s%s+++ %s%s%s\n", + fprintf(o->file, "%s%s+++ %s%s%s\n", line_prefix, meta, ecbdata->label_path[1], reset, name_b_tab); ecbdata->label_path[0] = ecbdata->label_path[1] = NULL; } @@ -1249,15 +1251,7 @@ static void fn_out_consume(void *priv, char *line, unsigned long len) find_lno(line, ecbdata); emit_hunk_header(ecbdata, line, len); if (line[len-1] != '\n') - putc('\n', ecbdata->opt->file); - return; - } - - if (len < 1) { - emit_line(ecbdata->opt, reset, reset, line, len); - if (ecbdata->diff_words - && ecbdata->diff_words->type == DIFF_WORDS_PORCELAIN) - fputs("~\n", ecbdata->opt->file); + putc('\n', o->file); return; } @@ -1282,8 +1276,8 @@ static void fn_out_consume(void *priv, char *line, unsigned long len) } diff_words_flush(ecbdata); if (ecbdata->diff_words->type == DIFF_WORDS_PORCELAIN) { - emit_line(ecbdata->opt, context, reset, line, len); - fputs("~\n", ecbdata->opt->file); + emit_line(o, context, reset, line, len); + fputs("~\n", o->file); } else { /* * Skip the prefix character, if any. With @@ -1294,7 +1288,7 @@ static void fn_out_consume(void *priv, char *line, unsigned long len) line++; len--; } - emit_line(ecbdata->opt, context, reset, line, len); + emit_line(o, context, reset, line, len); } return; } @@ -1316,8 +1310,7 @@ static void fn_out_consume(void *priv, char *line, unsigned long len) default: /* incomplete line at the end */ ecbdata->lno_in_preimage++; - emit_line(ecbdata->opt, - diff_get_color(ecbdata->color_diff, DIFF_CONTEXT), + emit_line(o, diff_get_color(ecbdata->color_diff, DIFF_CONTEXT), reset, line, len); break; } @@ -1625,7 +1618,7 @@ static void show_stats(struct diffstat_t *data, struct diff_options *options) */ if (options->stat_width == -1) - width = term_columns() - options->output_prefix_length; + width = term_columns() - strlen(line_prefix); else width = options->stat_width ? options->stat_width : 80; number_width = decimal_width(max_change) > number_width ? @@ -2299,17 +2292,37 @@ static void builtin_diff(const char *name_a, struct strbuf header = STRBUF_INIT; const char *line_prefix = diff_line_prefix(o); - if (DIFF_OPT_TST(o, SUBMODULE_LOG) && - (!one->mode || S_ISGITLINK(one->mode)) && - (!two->mode || S_ISGITLINK(two->mode))) { + diff_set_mnemonic_prefix(o, "a/", "b/"); + if (DIFF_OPT_TST(o, REVERSE_DIFF)) { + a_prefix = o->b_prefix; + b_prefix = o->a_prefix; + } else { + a_prefix = o->a_prefix; + b_prefix = o->b_prefix; + } + + if (o->submodule_format == DIFF_SUBMODULE_LOG && + (!one->mode || S_ISGITLINK(one->mode)) && + (!two->mode || S_ISGITLINK(two->mode))) { const char *del = diff_get_color_opt(o, DIFF_FILE_OLD); const char *add = diff_get_color_opt(o, DIFF_FILE_NEW); show_submodule_summary(o->file, one->path ? one->path : two->path, line_prefix, - one->oid.hash, two->oid.hash, + &one->oid, &two->oid, two->dirty_submodule, meta, del, add, reset); return; + } else if (o->submodule_format == DIFF_SUBMODULE_INLINE_DIFF && + (!one->mode || S_ISGITLINK(one->mode)) && + (!two->mode || S_ISGITLINK(two->mode))) { + const char *del = diff_get_color_opt(o, DIFF_FILE_OLD); + const char *add = diff_get_color_opt(o, DIFF_FILE_NEW); + show_submodule_inline_diff(o->file, one->path ? one->path : two->path, + line_prefix, + &one->oid, &two->oid, + two->dirty_submodule, + meta, del, add, reset, o); + return; } if (DIFF_OPT_TST(o, ALLOW_TEXTCONV)) { @@ -2317,15 +2330,6 @@ static void builtin_diff(const char *name_a, textconv_two = get_textconv(two); } - diff_set_mnemonic_prefix(o, "a/", "b/"); - if (DIFF_OPT_TST(o, REVERSE_DIFF)) { - a_prefix = o->b_prefix; - b_prefix = o->a_prefix; - } else { - a_prefix = o->a_prefix; - b_prefix = o->b_prefix; - } - /* Never use a non-valid filename anywhere if at all possible */ name_a = DIFF_FILE_VALID(one) ? name_a : name_b; name_b = DIFF_FILE_VALID(two) ? name_b : name_a; @@ -2438,7 +2442,6 @@ static void builtin_diff(const char *name_a, memset(&ecbdata, 0, sizeof(ecbdata)); ecbdata.label_path = lbl; ecbdata.color_diff = want_color(o->use_color); - ecbdata.found_changesp = &o->found_changes; ecbdata.ws_rule = whitespace_rule(name_b); if (ecbdata.ws_rule & WS_BLANK_AT_EOF) check_blank_at_eof(&mf1, &mf2, &ecbdata); @@ -3915,7 +3918,7 @@ int diff_opt_parse(struct diff_options *options, DIFF_OPT_SET(options, OVERRIDE_SUBMODULE_CONFIG); handle_ignore_submodules_arg(options, arg); } else if (!strcmp(arg, "--submodule")) - DIFF_OPT_SET(options, SUBMODULE_LOG); + options->submodule_format = DIFF_SUBMODULE_LOG; else if (skip_prefix(arg, "--submodule=", &arg)) return parse_submodule_opt(options, arg); else if (skip_prefix(arg, "--ws-error-highlight=", &arg)) @@ -3966,6 +3969,12 @@ int diff_opt_parse(struct diff_options *options, options->a_prefix = optarg; return argcount; } + else if ((argcount = parse_long_opt("line-prefix", av, &optarg))) { + options->line_prefix = optarg; + options->line_prefix_length = strlen(options->line_prefix); + graph_setup_line_prefix(options); + return argcount; + } else if ((argcount = parse_long_opt("dst-prefix", av, &optarg))) { options->b_prefix = optarg; return argcount; diff --git a/diff.h b/diff.h index 7883729edf..ec76a90522 100644 --- a/diff.h +++ b/diff.h @@ -83,7 +83,6 @@ typedef struct strbuf *(*diff_prefix_fn_t)(struct diff_options *opt, void *data) #define DIFF_OPT_DIRSTAT_BY_FILE (1 << 20) #define DIFF_OPT_ALLOW_TEXTCONV (1 << 21) #define DIFF_OPT_DIFF_FROM_CONTENTS (1 << 22) -#define DIFF_OPT_SUBMODULE_LOG (1 << 23) #define DIFF_OPT_DIRTY_SUBMODULES (1 << 24) #define DIFF_OPT_IGNORE_UNTRACKED_IN_SUBMODULES (1 << 25) #define DIFF_OPT_IGNORE_DIRTY_SUBMODULES (1 << 26) @@ -110,11 +109,19 @@ enum diff_words_type { DIFF_WORDS_COLOR }; +enum diff_submodule_format { + DIFF_SUBMODULE_SHORT = 0, + DIFF_SUBMODULE_LOG, + DIFF_SUBMODULE_INLINE_DIFF +}; + struct diff_options { const char *orderfile; const char *pickaxe; const char *single_follow; const char *a_prefix, *b_prefix; + const char *line_prefix; + size_t line_prefix_length; unsigned flags; unsigned touched_flags; @@ -155,6 +162,7 @@ struct diff_options { int stat_count; const char *word_regex; enum diff_words_type word_diff; + enum diff_submodule_format submodule_format; /* this is set by diffcore for DIFF_FORMAT_PATCH */ int found_changes; @@ -174,7 +182,6 @@ struct diff_options { diff_format_fn_t format_callback; void *format_callback_data; diff_prefix_fn_t output_prefix; - int output_prefix_length; void *output_prefix_data; int diff_path_counter; diff --git a/git-compat-util.h b/git-compat-util.h index db89ba7748..68615b1a6a 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -436,6 +436,7 @@ static inline int const_error(void) return -1; } #define error(...) (error(__VA_ARGS__), const_error()) +#define error_errno(...) (error_errno(__VA_ARGS__), const_error()) #endif extern void set_die_routine(NORETURN_PTR void (*routine)(const char *err, va_list params)); @@ -663,6 +664,14 @@ void *gitmemmem(const void *haystack, size_t haystacklen, const void *needle, size_t needlelen); #endif +#ifdef OVERRIDE_STRDUP +#ifdef strdup +#undef strdup +#endif +#define strdup gitstrdup +char *gitstrdup(const char *s); +#endif + #ifdef NO_GETPAGESIZE #define getpagesize() sysconf(_SC_PAGESIZE) #endif diff --git a/git-gui/po/ja.po b/git-gui/po/ja.po index 9aff249d5f..208651c1af 100644 --- a/git-gui/po/ja.po +++ b/git-gui/po/ja.po @@ -1,47 +1,50 @@ # Translation of git-gui to Japanese # Copyright (C) 2007 Shawn Pearce # This file is distributed under the same license as the git-gui package. +# # しらいし ななこ , 2007. +# Satoshi Yasushima , 2016. # msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-01-26 15:47-0800\n" -"PO-Revision-Date: 2010-02-02 19:03+0900\n" -"Last-Translator: しらいし ななこ \n" +"POT-Creation-Date: 2016-05-27 17:52+0900\n" +"PO-Revision-Date: 2016-06-22 12:50+0900\n" +"Last-Translator: Satoshi Yasushima \n" "Language-Team: Japanese\n" +"Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: git-gui.sh:41 git-gui.sh:793 git-gui.sh:807 git-gui.sh:820 git-gui.sh:903 -#: git-gui.sh:922 -msgid "git-gui: fatal error" -msgstr "git-gui: 致命的なエラー" - -#: git-gui.sh:743 +#: git-gui.sh:861 #, tcl-format msgid "Invalid font specified in %s:" msgstr "%s に無効なフォントが指定されています:" -#: git-gui.sh:779 +#: git-gui.sh:915 msgid "Main Font" msgstr "主フォント" -#: git-gui.sh:780 +#: git-gui.sh:916 msgid "Diff/Console Font" msgstr "diff/コンソール・フォント" -#: git-gui.sh:794 +#: git-gui.sh:931 git-gui.sh:945 git-gui.sh:958 git-gui.sh:1048 git-gui.sh:1067 +#: git-gui.sh:3125 +msgid "git-gui: fatal error" +msgstr "git-gui: 致命的なエラー" + +#: git-gui.sh:932 msgid "Cannot find git in PATH." msgstr "PATH 中に git が見つかりません" -#: git-gui.sh:821 +#: git-gui.sh:959 msgid "Cannot parse Git version string:" msgstr "Git バージョン名が理解できません:" -#: git-gui.sh:839 +#: git-gui.sh:984 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -60,475 +63,502 @@ msgstr "" "\n" "'%s' はバージョン 1.5.0 と思って良いですか?\n" -#: git-gui.sh:1128 +#: git-gui.sh:1281 msgid "Git directory not found:" msgstr "Git ディレクトリが見つかりません:" -#: git-gui.sh:1146 +#: git-gui.sh:1315 msgid "Cannot move to top of working directory:" msgstr "作業ディレクトリの最上位に移動できません" -#: git-gui.sh:1154 +#: git-gui.sh:1323 msgid "Cannot use bare repository:" msgstr "裸のリポジトリは使えません:" -#: git-gui.sh:1162 +#: git-gui.sh:1331 msgid "No working directory" msgstr "作業ディレクトリがありません" -#: git-gui.sh:1334 lib/checkout_op.tcl:306 +#: git-gui.sh:1503 lib/checkout_op.tcl:306 msgid "Refreshing file status..." msgstr "ファイル状態を更新しています…" -#: git-gui.sh:1390 +#: git-gui.sh:1563 msgid "Scanning for modified files ..." msgstr "変更されたファイルをスキャンしています…" -#: git-gui.sh:1454 +#: git-gui.sh:1639 msgid "Calling prepare-commit-msg hook..." msgstr "prepare-commit-msg フックを実行中・・・" -#: git-gui.sh:1471 +#: git-gui.sh:1656 msgid "Commit declined by prepare-commit-msg hook." msgstr "prepare-commit-msg フックがコミットを拒否しました" -#: git-gui.sh:1629 lib/browser.tcl:246 +#: git-gui.sh:1814 lib/browser.tcl:252 msgid "Ready." msgstr "準備完了" -#: git-gui.sh:1787 +#: git-gui.sh:1978 #, tcl-format -msgid "Displaying only %s of %s files." -msgstr "全体で%s個の内の%sファイルだけ表示しています" +msgid "" +"Display limit (gui.maxfilesdisplayed = %s) reached, not showing all %s files." +msgstr "" +"表示可能な限界 (gui.maxfilesdisplayed = %s) に達しため、全体で%s個のファイル" +"を表示できません" -#: git-gui.sh:1913 +#: git-gui.sh:2101 msgid "Unmodified" msgstr "変更無し" -#: git-gui.sh:1915 +#: git-gui.sh:2103 msgid "Modified, not staged" msgstr "変更あり、コミット未予定" -#: git-gui.sh:1916 git-gui.sh:1924 +#: git-gui.sh:2104 git-gui.sh:2116 msgid "Staged for commit" msgstr "コミット予定済" -#: git-gui.sh:1917 git-gui.sh:1925 +#: git-gui.sh:2105 git-gui.sh:2117 msgid "Portions staged for commit" msgstr "部分的にコミット予定済" -#: git-gui.sh:1918 git-gui.sh:1926 +#: git-gui.sh:2106 git-gui.sh:2118 msgid "Staged for commit, missing" msgstr "コミット予定済、ファイル無し" -#: git-gui.sh:1920 +#: git-gui.sh:2108 msgid "File type changed, not staged" msgstr "ファイル型変更、コミット未予定" -#: git-gui.sh:1921 +#: git-gui.sh:2109 git-gui.sh:2110 +msgid "File type changed, old type staged for commit" +msgstr "ファイル型変更、旧型コミット予定済" + +#: git-gui.sh:2111 msgid "File type changed, staged" msgstr "ファイル型変更、コミット予定済" -#: git-gui.sh:1923 +#: git-gui.sh:2112 +msgid "File type change staged, modification not staged" +msgstr "ファイル型変更コミット予定済、変更コミット未予定" + +#: git-gui.sh:2113 +msgid "File type change staged, file missing" +msgstr "ファイル型変更コミット予定済、ファイル無し" + +#: git-gui.sh:2115 msgid "Untracked, not staged" msgstr "管理外、コミット未予定" -#: git-gui.sh:1928 +#: git-gui.sh:2120 msgid "Missing" msgstr "ファイル無し" -#: git-gui.sh:1929 +#: git-gui.sh:2121 msgid "Staged for removal" msgstr "削除予定済" -#: git-gui.sh:1930 +#: git-gui.sh:2122 msgid "Staged for removal, still present" msgstr "削除予定済、ファイル未削除" -#: git-gui.sh:1932 git-gui.sh:1933 git-gui.sh:1934 git-gui.sh:1935 -#: git-gui.sh:1936 git-gui.sh:1937 +#: git-gui.sh:2124 git-gui.sh:2125 git-gui.sh:2126 git-gui.sh:2127 +#: git-gui.sh:2128 git-gui.sh:2129 msgid "Requires merge resolution" msgstr "要マージ解決" -#: git-gui.sh:1972 +#: git-gui.sh:2164 msgid "Starting gitk... please wait..." msgstr "gitk を起動中…お待ち下さい…" -#: git-gui.sh:1984 +#: git-gui.sh:2176 msgid "Couldn't find gitk in PATH" msgstr "PATH 中に gitk が見つかりません" -#: git-gui.sh:2043 +#: git-gui.sh:2235 msgid "Couldn't find git gui in PATH" msgstr "PATH 中に git gui が見つかりません" -#: git-gui.sh:2455 lib/choose_repository.tcl:36 +#: git-gui.sh:2654 lib/choose_repository.tcl:41 msgid "Repository" msgstr "リポジトリ" -#: git-gui.sh:2456 +#: git-gui.sh:2655 msgid "Edit" msgstr "編集" -#: git-gui.sh:2458 lib/choose_rev.tcl:561 +#: git-gui.sh:2657 lib/choose_rev.tcl:567 msgid "Branch" msgstr "ブランチ" -#: git-gui.sh:2461 lib/choose_rev.tcl:548 +#: git-gui.sh:2660 lib/choose_rev.tcl:554 msgid "Commit@@noun" msgstr "コミット" -#: git-gui.sh:2464 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:2663 lib/merge.tcl:123 lib/merge.tcl:152 lib/merge.tcl:170 msgid "Merge" msgstr "マージ" -#: git-gui.sh:2465 lib/choose_rev.tcl:557 +#: git-gui.sh:2664 lib/choose_rev.tcl:563 msgid "Remote" msgstr "リモート" -#: git-gui.sh:2468 +#: git-gui.sh:2667 msgid "Tools" msgstr "ツール" -#: git-gui.sh:2477 +#: git-gui.sh:2676 msgid "Explore Working Copy" msgstr "ワーキングコピーをブラウズ" -#: git-gui.sh:2483 +#: git-gui.sh:2682 +msgid "Git Bash" +msgstr "" + +#: git-gui.sh:2692 msgid "Browse Current Branch's Files" msgstr "現在のブランチのファイルを見る" -#: git-gui.sh:2487 +#: git-gui.sh:2696 msgid "Browse Branch Files..." msgstr "ブランチのファイルを見る…" -#: git-gui.sh:2492 +#: git-gui.sh:2701 msgid "Visualize Current Branch's History" msgstr "現在のブランチの履歴を見る" -#: git-gui.sh:2496 +#: git-gui.sh:2705 msgid "Visualize All Branch History" msgstr "全てのブランチの履歴を見る" -#: git-gui.sh:2503 +#: git-gui.sh:2712 #, tcl-format msgid "Browse %s's Files" msgstr "ブランチ %s のファイルを見る" -#: git-gui.sh:2505 +#: git-gui.sh:2714 #, tcl-format msgid "Visualize %s's History" msgstr "ブランチ %s の履歴を見る" -#: git-gui.sh:2510 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:2719 lib/database.tcl:40 lib/database.tcl:66 msgid "Database Statistics" msgstr "データベース統計" -#: git-gui.sh:2513 lib/database.tcl:34 +#: git-gui.sh:2722 lib/database.tcl:33 msgid "Compress Database" msgstr "データベース圧縮" -#: git-gui.sh:2516 +#: git-gui.sh:2725 msgid "Verify Database" msgstr "データベース検証" -#: git-gui.sh:2523 git-gui.sh:2527 git-gui.sh:2531 lib/shortcut.tcl:8 +#: git-gui.sh:2732 git-gui.sh:2736 git-gui.sh:2740 lib/shortcut.tcl:8 #: lib/shortcut.tcl:40 lib/shortcut.tcl:72 msgid "Create Desktop Icon" msgstr "デスクトップ・アイコンを作る" -#: git-gui.sh:2539 lib/choose_repository.tcl:183 lib/choose_repository.tcl:191 +#: git-gui.sh:2748 lib/choose_repository.tcl:193 lib/choose_repository.tcl:201 msgid "Quit" msgstr "終了" -#: git-gui.sh:2547 +#: git-gui.sh:2756 msgid "Undo" msgstr "元に戻す" -#: git-gui.sh:2550 +#: git-gui.sh:2759 msgid "Redo" msgstr "やり直し" -#: git-gui.sh:2554 git-gui.sh:3109 +#: git-gui.sh:2763 git-gui.sh:3368 msgid "Cut" msgstr "切り取り" -#: git-gui.sh:2557 git-gui.sh:3112 git-gui.sh:3186 git-gui.sh:3259 +#: git-gui.sh:2766 git-gui.sh:3371 git-gui.sh:3445 git-gui.sh:3530 #: lib/console.tcl:69 msgid "Copy" msgstr "コピー" -#: git-gui.sh:2560 git-gui.sh:3115 +#: git-gui.sh:2769 git-gui.sh:3374 msgid "Paste" msgstr "貼り付け" -#: git-gui.sh:2563 git-gui.sh:3118 lib/branch_delete.tcl:26 -#: lib/remote_branch_delete.tcl:38 +#: git-gui.sh:2772 git-gui.sh:3377 lib/remote_branch_delete.tcl:39 +#: lib/branch_delete.tcl:28 msgid "Delete" msgstr "削除" -#: git-gui.sh:2567 git-gui.sh:3122 git-gui.sh:3263 lib/console.tcl:71 +#: git-gui.sh:2776 git-gui.sh:3381 git-gui.sh:3534 lib/console.tcl:71 msgid "Select All" msgstr "全て選択" -#: git-gui.sh:2576 +#: git-gui.sh:2785 msgid "Create..." msgstr "作成…" -#: git-gui.sh:2582 +#: git-gui.sh:2791 msgid "Checkout..." msgstr "チェックアウト" -#: git-gui.sh:2588 +#: git-gui.sh:2797 msgid "Rename..." msgstr "名前変更…" -#: git-gui.sh:2593 +#: git-gui.sh:2802 msgid "Delete..." msgstr "削除…" -#: git-gui.sh:2598 +#: git-gui.sh:2807 msgid "Reset..." msgstr "リセット…" -#: git-gui.sh:2608 +#: git-gui.sh:2817 msgid "Done" msgstr "完了" -#: git-gui.sh:2610 +#: git-gui.sh:2819 msgid "Commit@@verb" msgstr "コミット" -#: git-gui.sh:2619 git-gui.sh:3050 +#: git-gui.sh:2828 git-gui.sh:3309 msgid "New Commit" msgstr "新規コミット" -#: git-gui.sh:2627 git-gui.sh:3057 +#: git-gui.sh:2836 git-gui.sh:3316 msgid "Amend Last Commit" msgstr "最新コミットを訂正" -#: git-gui.sh:2637 git-gui.sh:3011 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:2846 git-gui.sh:3270 lib/remote_branch_delete.tcl:101 msgid "Rescan" msgstr "再スキャン" -#: git-gui.sh:2643 +#: git-gui.sh:2852 msgid "Stage To Commit" msgstr "コミット予定する" -#: git-gui.sh:2649 +#: git-gui.sh:2858 msgid "Stage Changed Files To Commit" msgstr "変更されたファイルをコミット予定" -#: git-gui.sh:2655 +#: git-gui.sh:2864 msgid "Unstage From Commit" msgstr "コミットから降ろす" -#: git-gui.sh:2661 lib/index.tcl:412 +#: git-gui.sh:2870 lib/index.tcl:442 msgid "Revert Changes" msgstr "変更を元に戻す" -#: git-gui.sh:2669 git-gui.sh:3310 git-gui.sh:3341 +#: git-gui.sh:2878 git-gui.sh:3581 git-gui.sh:3612 msgid "Show Less Context" msgstr "文脈を少なく" -#: git-gui.sh:2673 git-gui.sh:3314 git-gui.sh:3345 +#: git-gui.sh:2882 git-gui.sh:3585 git-gui.sh:3616 msgid "Show More Context" msgstr "文脈を多く" -#: git-gui.sh:2680 git-gui.sh:3024 git-gui.sh:3133 +#: git-gui.sh:2889 git-gui.sh:3283 git-gui.sh:3392 msgid "Sign Off" msgstr "署名" -#: git-gui.sh:2696 +#: git-gui.sh:2905 msgid "Local Merge..." msgstr "ローカル・マージ…" -#: git-gui.sh:2701 +#: git-gui.sh:2910 msgid "Abort Merge..." msgstr "マージ中止…" -#: git-gui.sh:2713 git-gui.sh:2741 +#: git-gui.sh:2922 git-gui.sh:2950 msgid "Add..." msgstr "追加" -#: git-gui.sh:2717 +#: git-gui.sh:2926 msgid "Push..." msgstr "プッシュ…" -#: git-gui.sh:2721 +#: git-gui.sh:2930 msgid "Delete Branch..." msgstr "ブランチ削除..." -#: git-gui.sh:2731 git-gui.sh:3292 +#: git-gui.sh:2940 git-gui.sh:3563 msgid "Options..." msgstr "オプション…" -#: git-gui.sh:2742 +#: git-gui.sh:2951 msgid "Remove..." msgstr "削除..." -#: git-gui.sh:2751 lib/choose_repository.tcl:50 +#: git-gui.sh:2960 lib/choose_repository.tcl:55 msgid "Help" msgstr "ヘルプ" -#: git-gui.sh:2755 git-gui.sh:2759 lib/about.tcl:14 -#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:53 +#: git-gui.sh:2964 git-gui.sh:2968 lib/about.tcl:14 +#: lib/choose_repository.tcl:49 lib/choose_repository.tcl:58 #, tcl-format msgid "About %s" msgstr "%s について" -#: git-gui.sh:2783 +#: git-gui.sh:2992 msgid "Online Documentation" msgstr "オンライン・ドキュメント" -#: git-gui.sh:2786 lib/choose_repository.tcl:47 lib/choose_repository.tcl:56 +#: git-gui.sh:2995 lib/choose_repository.tcl:52 lib/choose_repository.tcl:61 msgid "Show SSH Key" msgstr "SSH キーを表示" -#: git-gui.sh:2893 +#: git-gui.sh:3014 git-gui.sh:3146 +msgid "Usage" +msgstr "使い方" + +#: git-gui.sh:3095 lib/blame.tcl:573 +msgid "Error" +msgstr "エラー" + +#: git-gui.sh:3126 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" msgstr "" "致命的: パス %s が stat できません。そのようなファイルやディレクトリはありま" "せん" -#: git-gui.sh:2926 +#: git-gui.sh:3159 msgid "Current Branch:" msgstr "現在のブランチ" -#: git-gui.sh:2947 +#: git-gui.sh:3185 msgid "Staged Changes (Will Commit)" msgstr "ステージングされた(コミット予定済の)変更" -#: git-gui.sh:2967 +#: git-gui.sh:3205 msgid "Unstaged Changes" msgstr "コミット予定に入っていない変更" -#: git-gui.sh:3017 +#: git-gui.sh:3276 msgid "Stage Changed" msgstr "変更をコミット予定に入れる" -#: git-gui.sh:3036 lib/transport.tcl:104 lib/transport.tcl:193 +#: git-gui.sh:3295 lib/transport.tcl:137 lib/transport.tcl:229 msgid "Push" msgstr "プッシュ" -#: git-gui.sh:3071 +#: git-gui.sh:3330 msgid "Initial Commit Message:" msgstr "最初のコミットメッセージ:" -#: git-gui.sh:3072 +#: git-gui.sh:3331 msgid "Amended Commit Message:" msgstr "訂正したコミットメッセージ:" -#: git-gui.sh:3073 +#: git-gui.sh:3332 msgid "Amended Initial Commit Message:" msgstr "訂正した最初のコミットメッセージ:" -#: git-gui.sh:3074 +#: git-gui.sh:3333 msgid "Amended Merge Commit Message:" msgstr "訂正したマージコミットメッセージ:" -#: git-gui.sh:3075 +#: git-gui.sh:3334 msgid "Merge Commit Message:" msgstr "マージコミットメッセージ:" -#: git-gui.sh:3076 +#: git-gui.sh:3335 msgid "Commit Message:" msgstr "コミットメッセージ:" -#: git-gui.sh:3125 git-gui.sh:3267 lib/console.tcl:73 +#: git-gui.sh:3384 git-gui.sh:3538 lib/console.tcl:73 msgid "Copy All" msgstr "全てコピー" -#: git-gui.sh:3149 lib/blame.tcl:104 +#: git-gui.sh:3408 lib/blame.tcl:105 msgid "File:" msgstr "ファイル:" -#: git-gui.sh:3255 +#: git-gui.sh:3526 msgid "Refresh" msgstr "再読み込み" -#: git-gui.sh:3276 +#: git-gui.sh:3547 msgid "Decrease Font Size" msgstr "フォントを小さく" -#: git-gui.sh:3280 +#: git-gui.sh:3551 msgid "Increase Font Size" msgstr "フォントを大きく" -#: git-gui.sh:3288 lib/blame.tcl:281 +#: git-gui.sh:3559 lib/blame.tcl:294 msgid "Encoding" msgstr "エンコーディング" -#: git-gui.sh:3299 +#: git-gui.sh:3570 msgid "Apply/Reverse Hunk" msgstr "パッチを適用/取り消す" -#: git-gui.sh:3304 +#: git-gui.sh:3575 msgid "Apply/Reverse Line" msgstr "パッチ行を適用/取り消す" -#: git-gui.sh:3323 +#: git-gui.sh:3594 msgid "Run Merge Tool" msgstr "マージツールを起動" -#: git-gui.sh:3328 +#: git-gui.sh:3599 msgid "Use Remote Version" msgstr "リモートの方を採用" -#: git-gui.sh:3332 +#: git-gui.sh:3603 msgid "Use Local Version" msgstr "ローカルの方を採用" -#: git-gui.sh:3336 +#: git-gui.sh:3607 msgid "Revert To Base" msgstr "ベース版を採用" -#: git-gui.sh:3354 +#: git-gui.sh:3625 msgid "Visualize These Changes In The Submodule" msgstr "サブモジュール内のこれらの変更を見る" -#: git-gui.sh:3358 +#: git-gui.sh:3629 msgid "Visualize Current Branch History In The Submodule" msgstr "サブモジュール内で現在のブランチの履歴を見る" -#: git-gui.sh:3362 +#: git-gui.sh:3633 msgid "Visualize All Branch History In The Submodule" msgstr "サブモジュール内で全てのブランチの履歴を見る" -#: git-gui.sh:3367 +#: git-gui.sh:3638 msgid "Start git gui In The Submodule" msgstr "サブモジュール内でgit guiを起動する" -#: git-gui.sh:3389 +#: git-gui.sh:3673 msgid "Unstage Hunk From Commit" msgstr "パッチをコミット予定から外す" -#: git-gui.sh:3391 +#: git-gui.sh:3675 msgid "Unstage Lines From Commit" msgstr "コミット予定から行を外す" -#: git-gui.sh:3393 +#: git-gui.sh:3677 msgid "Unstage Line From Commit" msgstr "コミット予定から行を外す" -#: git-gui.sh:3396 +#: git-gui.sh:3680 msgid "Stage Hunk For Commit" msgstr "パッチをコミット予定に加える" -#: git-gui.sh:3398 +#: git-gui.sh:3682 msgid "Stage Lines For Commit" msgstr "パッチ行をコミット予定に加える" -#: git-gui.sh:3400 +#: git-gui.sh:3684 msgid "Stage Line For Commit" msgstr "パッチ行をコミット予定に加える" -#: git-gui.sh:3424 +#: git-gui.sh:3709 msgid "Initializing..." msgstr "初期化しています…" -#: git-gui.sh:3541 +#: git-gui.sh:3852 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -543,7 +573,7 @@ msgstr "" "以下の環境変数は %s が起動する Git サブプロセスによって無視されるでしょう:\n" "\n" -#: git-gui.sh:3570 +#: git-gui.sh:3881 msgid "" "\n" "This is due to a known issue with the\n" @@ -553,7 +583,7 @@ msgstr "" "これは Cygwin で配布されている Tcl バイナリに\n" "関しての既知の問題によります" -#: git-gui.sh:3575 +#: git-gui.sh:3886 #, tcl-format msgid "" "\n" @@ -568,249 +598,294 @@ msgstr "" "個人的な ~/.gitconfig ファイル内で user.name と user.email の値を設定\n" "するのが、%s の良い代用となります\n" -#: lib/about.tcl:26 -msgid "git-gui - a graphical user interface for Git." -msgstr "Git のグラフィカルUI git-gui" +#: lib/merge.tcl:13 +msgid "" +"Cannot merge while amending.\n" +"\n" +"You must finish amending this commit before starting any type of merge.\n" +msgstr "" +"訂正中にはマージできません。\n" +"\n" +"訂正処理を完了するまでは新たにマージを開始できません。\n" -#: lib/blame.tcl:72 -msgid "File Viewer" -msgstr "ファイルピューワ" +#: lib/merge.tcl:27 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before a merge can be performed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"最後にスキャンした状態はリポジトリの状態と合致しません。\n" +"\n" +"最後にスキャンして以後、別の Git プログラムがリポジトリを変更しています。マー" +"ジを開始する前に、再スキャンが必要です。\n" +"\n" +"自動的に再スキャンを開始します。\n" -#: lib/blame.tcl:78 -msgid "Commit:" -msgstr "コミット:" +#: lib/merge.tcl:45 +#, tcl-format +msgid "" +"You are in the middle of a conflicted merge.\n" +"\n" +"File %s has merge conflicts.\n" +"\n" +"You must resolve them, stage the file, and commit to complete the current " +"merge. Only then can you begin another merge.\n" +msgstr "" +"衝突のあったマージの途中です。\n" +"\n" +"ファイル %s にはマージ中の衝突が残っています。\n" +"\n" +"このファイルの衝突を解決し、コミット予定に加えて、コミットすることでマージを" +"完了します。そうやって始めて、新たなマージを開始できるようになります。\n" -#: lib/blame.tcl:271 -msgid "Copy Commit" -msgstr "コミットをコピー" +#: lib/merge.tcl:55 +#, tcl-format +msgid "" +"You are in the middle of a change.\n" +"\n" +"File %s is modified.\n" +"\n" +"You should complete the current commit before starting a merge. Doing so " +"will help you abort a failed merge, should the need arise.\n" +msgstr "" +"変更の途中です。\n" +"\n" +"ファイル %s は変更中です。\n" +"\n" +"現在のコミットを完了してからマージを開始して下さい。そうする方がマージに失敗" +"したときの回復が楽です。\n" -#: lib/blame.tcl:275 -msgid "Find Text..." -msgstr "テキストを検索" +#: lib/merge.tcl:108 +#, tcl-format +msgid "%s of %s" +msgstr "%s の %s ブランチ" -#: lib/blame.tcl:284 -msgid "Do Full Copy Detection" -msgstr "コピー検知" +#: lib/merge.tcl:122 +#, tcl-format +msgid "Merging %s and %s..." +msgstr "%s と %s をマージ中・・・" -#: lib/blame.tcl:288 -msgid "Show History Context" -msgstr "文脈を見せる" +#: lib/merge.tcl:133 +msgid "Merge completed successfully." +msgstr "マージが完了しました" -#: lib/blame.tcl:291 -msgid "Blame Parent Commit" -msgstr "親コミットを註釈" +#: lib/merge.tcl:135 +msgid "Merge failed. Conflict resolution is required." +msgstr "マージが失敗しました。衝突の解決が必要です。" -#: lib/blame.tcl:450 +#: lib/merge.tcl:160 #, tcl-format -msgid "Reading %s..." -msgstr "%s を読んでいます…" +msgid "Merge Into %s" +msgstr "%s にマージ" -#: lib/blame.tcl:557 -msgid "Loading copy/move tracking annotations..." -msgstr "コピー・移動追跡データを読んでいます…" +#: lib/merge.tcl:166 lib/checkout_op.tcl:567 lib/tools_dlg.tcl:336 +msgid "Visualize" +msgstr "可視化" -#: lib/blame.tcl:577 -msgid "lines annotated" -msgstr "行を注釈しました" +#: lib/merge.tcl:174 lib/remote_branch_delete.tcl:43 lib/branch_delete.tcl:34 +#: lib/checkout_op.tcl:579 lib/branch_rename.tcl:32 lib/tools_dlg.tcl:41 +#: lib/tools_dlg.tcl:202 lib/tools_dlg.tcl:345 lib/option.tcl:127 +#: lib/transport.tcl:141 lib/choose_font.tcl:45 lib/branch_checkout.tcl:30 +#: lib/browser.tcl:292 lib/remote_add.tcl:34 lib/branch_create.tcl:37 +msgid "Cancel" +msgstr "中止" -#: lib/blame.tcl:769 -msgid "Loading original location annotations..." -msgstr "元位置行の注釈データを読んでいます…" +#: lib/merge.tcl:179 +msgid "Revision To Merge" +msgstr "マージするリビジョン" -#: lib/blame.tcl:772 -msgid "Annotation complete." -msgstr "注釈完了しました" +#: lib/merge.tcl:214 +msgid "" +"Cannot abort while amending.\n" +"\n" +"You must finish amending this commit.\n" +msgstr "" +"訂正中には中止できません。\n" +"\n" +"まず今のコミット訂正を完了させて下さい。\n" -#: lib/blame.tcl:802 -msgid "Busy" -msgstr "実行中" +#: lib/merge.tcl:224 +msgid "" +"Abort merge?\n" +"\n" +"Aborting the current merge will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with aborting the current merge?" +msgstr "" +"マージを中断しますか?\n" +"\n" +"現在のマージを中断すると、コミットしていない全ての変更が失われます。\n" +"\n" +"マージを中断してよろしいですか?" -#: lib/blame.tcl:803 -msgid "Annotation process is already running." -msgstr "すでに blame プロセスを実行中です。" +#: lib/merge.tcl:230 +msgid "" +"Reset changes?\n" +"\n" +"Resetting the changes will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with resetting the current changes?" +msgstr "" +"変更点をリセットしますか?\n" +"\n" +"変更点をリセットすると、コミットしていない全ての変更が失われます。\n" +"\n" +"リセットしてよろしいですか?" -#: lib/blame.tcl:842 -msgid "Running thorough copy detection..." -msgstr "コピー検知を実行中…" +#: lib/merge.tcl:241 +msgid "Aborting" +msgstr "中断しています" -#: lib/blame.tcl:910 -msgid "Loading annotation..." -msgstr "注釈を読み込んでいます…" +#: lib/merge.tcl:241 +msgid "files reset" +msgstr "リセットしたファイル" -#: lib/blame.tcl:963 -msgid "Author:" -msgstr "作者:" +#: lib/merge.tcl:269 +msgid "Abort failed." +msgstr "中断に失敗しました。" -#: lib/blame.tcl:967 -msgid "Committer:" -msgstr "コミット者:" +#: lib/merge.tcl:271 +msgid "Abort completed. Ready." +msgstr "中断完了。" -#: lib/blame.tcl:972 -msgid "Original File:" -msgstr "元ファイル" +#: lib/error.tcl:20 lib/error.tcl:116 +msgid "error" +msgstr "エラー" -#: lib/blame.tcl:1020 -msgid "Cannot find HEAD commit:" -msgstr "HEAD コミットが見つかりません" +#: lib/error.tcl:36 +msgid "warning" +msgstr "警告" -#: lib/blame.tcl:1075 -msgid "Cannot find parent commit:" -msgstr "親コミットが見つかりません:" +#: lib/error.tcl:96 +msgid "You must correct the above errors before committing." +msgstr "コミットする前に、以上のエラーを修正して下さい" -#: lib/blame.tcl:1090 -msgid "Unable to display parent" -msgstr "親を表示できません" +#: lib/date.tcl:25 +#, tcl-format +msgid "Invalid date from Git: %s" +msgstr "Git から出た無効な日付: %s" -#: lib/blame.tcl:1091 lib/diff.tcl:320 -msgid "Error loading diff:" -msgstr "diff を読む際のエラーです:" +#: lib/encoding.tcl:443 +msgid "Default" +msgstr "デフォールト" -#: lib/blame.tcl:1231 -msgid "Originally By:" -msgstr "原作者:" +#: lib/encoding.tcl:448 +#, tcl-format +msgid "System (%s)" +msgstr "システム (%s)" -#: lib/blame.tcl:1237 -msgid "In File:" -msgstr "ファイル:" +#: lib/encoding.tcl:459 lib/encoding.tcl:465 +msgid "Other" +msgstr "その他" -#: lib/blame.tcl:1242 -msgid "Copied Or Moved Here By:" -msgstr "複写・移動者:" +#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 +msgid "Delete Branch Remotely" +msgstr "リモートブランチ削除" -#: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 -msgid "Checkout Branch" -msgstr "ブランチをチェックアウト" +#: lib/remote_branch_delete.tcl:48 +msgid "From Repository" +msgstr "元のリポジトリ" -#: lib/branch_checkout.tcl:23 -msgid "Checkout" -msgstr "チェックアウト" +#: lib/remote_branch_delete.tcl:51 lib/transport.tcl:165 +msgid "Remote:" +msgstr "リモート:" -#: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 -#: lib/checkout_op.tcl:579 lib/choose_font.tcl:43 lib/merge.tcl:172 -#: lib/option.tcl:125 lib/remote_add.tcl:32 lib/remote_branch_delete.tcl:42 -#: lib/tools_dlg.tcl:40 lib/tools_dlg.tcl:204 lib/tools_dlg.tcl:352 -#: lib/transport.tcl:108 -msgid "Cancel" -msgstr "中止" +#: lib/remote_branch_delete.tcl:72 lib/transport.tcl:187 +msgid "Arbitrary Location:" +msgstr "任意の位置:" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 lib/tools_dlg.tcl:328 -msgid "Revision" -msgstr "リビジョン" +#: lib/remote_branch_delete.tcl:88 +msgid "Branches" +msgstr "ブランチ" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:280 -msgid "Options" -msgstr "オプション" +#: lib/remote_branch_delete.tcl:110 +msgid "Delete Only If" +msgstr "条件付で削除" -#: lib/branch_checkout.tcl:39 lib/branch_create.tcl:92 -msgid "Fetch Tracking Branch" -msgstr "トラッキング・ブランチをフェッチ" +#: lib/remote_branch_delete.tcl:112 +msgid "Merged Into:" +msgstr "マージ先:" -#: lib/branch_checkout.tcl:44 -msgid "Detach From Local Branch" -msgstr "ローカル・ブランチから削除" +#: lib/remote_branch_delete.tcl:120 lib/branch_delete.tcl:53 +msgid "Always (Do not perform merge checks)" +msgstr "無条件(マージ検査をしない)" -#: lib/branch_create.tcl:22 -msgid "Create Branch" -msgstr "ブランチを作成" - -#: lib/branch_create.tcl:27 -msgid "Create New Branch" -msgstr "ブランチを新規作成" - -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:381 -msgid "Create" -msgstr "作成" - -#: lib/branch_create.tcl:40 -msgid "Branch Name" -msgstr "ブランチ名" - -#: lib/branch_create.tcl:43 lib/remote_add.tcl:39 lib/tools_dlg.tcl:50 -msgid "Name:" -msgstr "名前:" - -#: lib/branch_create.tcl:58 -msgid "Match Tracking Branch Name" -msgstr "トラッキング・ブランチ名を合わせる" - -#: lib/branch_create.tcl:66 -msgid "Starting Revision" -msgstr "初期リビジョン" - -#: lib/branch_create.tcl:72 -msgid "Update Existing Branch:" -msgstr "既存のブランチを更新:" - -#: lib/branch_create.tcl:75 -msgid "No" -msgstr "いいえ" +#: lib/remote_branch_delete.tcl:153 +msgid "A branch is required for 'Merged Into'." +msgstr "'マージ先' にはブランチが必要です。" -#: lib/branch_create.tcl:80 -msgid "Fast Forward Only" -msgstr "早送りのみ" +#: lib/remote_branch_delete.tcl:185 +#, tcl-format +msgid "" +"The following branches are not completely merged into %s:\n" +"\n" +" - %s" +msgstr "" +"以下のブランチは %s に完全にマージされていません:\n" +"\n" +" - %s" -#: lib/branch_create.tcl:85 lib/checkout_op.tcl:571 -msgid "Reset" -msgstr "リセット" +#: lib/remote_branch_delete.tcl:190 +#, tcl-format +msgid "" +"One or more of the merge tests failed because you have not fetched the " +"necessary commits. Try fetching from %s first." +msgstr "" +"必要なコミットが不足しているために、マージ検査が失敗しました。まず %s から" +"フェッチして下さい。" -#: lib/branch_create.tcl:97 -msgid "Checkout After Creation" -msgstr "作成してすぐチェックアウト" +#: lib/remote_branch_delete.tcl:208 +msgid "Please select one or more branches to delete." +msgstr "削除するブランチを選択して下さい。" -#: lib/branch_create.tcl:131 -msgid "Please select a tracking branch." -msgstr "トラッキング・ブランチを選択して下さい。" +#: lib/remote_branch_delete.tcl:218 lib/branch_delete.tcl:115 +msgid "" +"Recovering deleted branches is difficult.\n" +"\n" +"Delete the selected branches?" +msgstr "" +"削除したブランチを回復するのは困難です。\n" +"\n" +"選択したブランチを削除して良いですか?" -#: lib/branch_create.tcl:140 +#: lib/remote_branch_delete.tcl:227 #, tcl-format -msgid "Tracking branch %s is not a branch in the remote repository." -msgstr "トラッキング・ブランチ %s は遠隔リポジトリのブランチではありません。" +msgid "Deleting branches from %s" +msgstr "%s からブランチを削除しています。" -#: lib/branch_create.tcl:153 lib/branch_rename.tcl:86 -msgid "Please supply a branch name." -msgstr "ブランチ名を指定して下さい。" +#: lib/remote_branch_delete.tcl:300 +msgid "No repository selected." +msgstr "リポジトリが選択されていません。" -#: lib/branch_create.tcl:164 lib/branch_rename.tcl:106 +#: lib/remote_branch_delete.tcl:305 #, tcl-format -msgid "'%s' is not an acceptable branch name." -msgstr "'%s' はブランチ名に使えません。" +msgid "Scanning %s..." +msgstr "%s をスキャンしています…" -#: lib/branch_delete.tcl:15 +#: lib/branch_delete.tcl:16 msgid "Delete Branch" msgstr "ブランチ削除" -#: lib/branch_delete.tcl:20 +#: lib/branch_delete.tcl:21 msgid "Delete Local Branch" msgstr "ローカル・ブランチを削除" -#: lib/branch_delete.tcl:37 +#: lib/branch_delete.tcl:39 msgid "Local Branches" msgstr "ローカル・ブランチ" -#: lib/branch_delete.tcl:52 +#: lib/branch_delete.tcl:51 msgid "Delete Only If Merged Into" msgstr "マージ済みの時のみ削除" -#: lib/branch_delete.tcl:54 lib/remote_branch_delete.tcl:119 -msgid "Always (Do not perform merge checks)" -msgstr "無条件(マージ検査をしない)" - #: lib/branch_delete.tcl:103 #, tcl-format msgid "The following branches are not completely merged into %s:" msgstr "以下のブランチは %s に完全にマージされていません:" -#: lib/branch_delete.tcl:115 lib/remote_branch_delete.tcl:217 -msgid "" -"Recovering deleted branches is difficult.\n" -"\n" -"Delete the selected branches?" -msgstr "" -"削除したブランチを回復するのは困難です。\n" -"\n" -"選択したブランチを削除して良いですか?" - #: lib/branch_delete.tcl:141 #, tcl-format msgid "" @@ -820,62 +895,63 @@ msgstr "" "以下のブランチを削除できません:\n" "%s" -#: lib/branch_rename.tcl:14 lib/branch_rename.tcl:22 -msgid "Rename Branch" -msgstr "ブランチの名前変更" +#: lib/choose_rev.tcl:52 +msgid "This Detached Checkout" +msgstr "分離されたチェックアウト" -#: lib/branch_rename.tcl:26 -msgid "Rename" -msgstr "名前変更" +#: lib/choose_rev.tcl:60 +msgid "Revision Expression:" +msgstr "リビジョン式:" -#: lib/branch_rename.tcl:36 -msgid "Branch:" -msgstr "ブランチ:" +#: lib/choose_rev.tcl:72 +msgid "Local Branch" +msgstr "ローカル・ブランチ" -#: lib/branch_rename.tcl:39 -msgid "New Name:" -msgstr "新しい名前:" +#: lib/choose_rev.tcl:77 +msgid "Tracking Branch" +msgstr "トラッキング・ブランチ" -#: lib/branch_rename.tcl:75 -msgid "Please select a branch to rename." -msgstr "名前を変更するブランチを選んで下さい。" +#: lib/choose_rev.tcl:82 lib/choose_rev.tcl:544 +msgid "Tag" +msgstr "タグ" -#: lib/branch_rename.tcl:96 lib/checkout_op.tcl:202 +#: lib/choose_rev.tcl:321 #, tcl-format -msgid "Branch '%s' already exists." -msgstr "'%s'というブランチは既に存在します。" +msgid "Invalid revision: %s" +msgstr "無効なリビジョン: %s" -#: lib/branch_rename.tcl:117 -#, tcl-format -msgid "Failed to rename '%s'." -msgstr "'%s'の名前変更に失敗しました。" +#: lib/choose_rev.tcl:342 +msgid "No revision selected." +msgstr "リビジョンが未選択です。" -#: lib/browser.tcl:17 -msgid "Starting..." -msgstr "起動中…" +#: lib/choose_rev.tcl:350 +msgid "Revision expression is empty." +msgstr "リビジョン式が空です。" -#: lib/browser.tcl:26 -msgid "File Browser" -msgstr "ファイル・ブラウザ" +#: lib/choose_rev.tcl:537 +msgid "Updated" +msgstr "更新しました" -#: lib/browser.tcl:126 lib/browser.tcl:143 -#, tcl-format -msgid "Loading %s..." -msgstr "%s をロード中…" +#: lib/choose_rev.tcl:565 +msgid "URL" +msgstr "URL" -#: lib/browser.tcl:187 -msgid "[Up To Parent]" -msgstr "[上位フォルダへ]" +#: lib/console.tcl:59 +msgid "Working... please wait..." +msgstr "実行中…お待ち下さい…" -#: lib/browser.tcl:267 lib/browser.tcl:273 -msgid "Browse Branch Files" -msgstr "現在のブランチのファイルを見る" +#: lib/console.tcl:81 lib/checkout_op.tcl:146 lib/database.tcl:30 +#: lib/sshkey.tcl:55 +msgid "Close" +msgstr "閉じる" -#: lib/browser.tcl:278 lib/choose_repository.tcl:398 -#: lib/choose_repository.tcl:486 lib/choose_repository.tcl:497 -#: lib/choose_repository.tcl:1028 -msgid "Browse" -msgstr "ブラウズ" +#: lib/console.tcl:186 +msgid "Success" +msgstr "成功" + +#: lib/console.tcl:200 +msgid "Error: Command Failed" +msgstr "エラー: コマンドが失敗しました" #: lib/checkout_op.tcl:85 #, tcl-format @@ -887,11 +963,6 @@ msgstr "%s から %s をフェッチしています" msgid "fatal: Cannot resolve %s" msgstr "致命的エラー: %s を解決できません" -#: lib/checkout_op.tcl:146 lib/console.tcl:81 lib/database.tcl:31 -#: lib/sshkey.tcl:53 -msgid "Close" -msgstr "閉じる" - #: lib/checkout_op.tcl:175 #, tcl-format msgid "Branch '%s' does not exist." @@ -902,6 +973,11 @@ msgstr "ブランチ'%s'は存在しません。" msgid "Failed to configure simplified git-pull for '%s'." msgstr "'%s' に簡易 git-pull を設定できませんでした" +#: lib/checkout_op.tcl:202 lib/branch_rename.tcl:102 +#, tcl-format +msgid "Branch '%s' already exists." +msgstr "'%s'というブランチは既に存在します。" + #: lib/checkout_op.tcl:229 #, tcl-format msgid "" @@ -999,9 +1075,9 @@ msgstr "失なわれたコミットを回復するのは簡単ではありませ msgid "Reset '%s'?" msgstr "'%s' をリセットしますか?" -#: lib/checkout_op.tcl:567 lib/merge.tcl:164 lib/tools_dlg.tcl:343 -msgid "Visualize" -msgstr "可視化" +#: lib/checkout_op.tcl:571 lib/branch_create.tcl:85 +msgid "Reset" +msgstr "リセット" #: lib/checkout_op.tcl:635 #, tcl-format @@ -1019,1537 +1095,1590 @@ msgstr "" "ましたが、 Git の内部データを更新できませんでした。\n" "起こるはずのないエラーです。あきらめて %s を終了します。" -#: lib/choose_font.tcl:39 -msgid "Select" -msgstr "選択" +#: lib/blame.tcl:73 +msgid "File Viewer" +msgstr "ファイルピューワ" -#: lib/choose_font.tcl:53 -msgid "Font Family" -msgstr "フォント・ファミリー" +#: lib/blame.tcl:79 +msgid "Commit:" +msgstr "コミット:" -#: lib/choose_font.tcl:74 -msgid "Font Size" -msgstr "フォントの大きさ" +#: lib/blame.tcl:280 +msgid "Copy Commit" +msgstr "コミットをコピー" -#: lib/choose_font.tcl:91 -msgid "Font Example" -msgstr "フォント・サンプル" +#: lib/blame.tcl:284 +msgid "Find Text..." +msgstr "テキストを検索" -#: lib/choose_font.tcl:103 -msgid "" -"This is example text.\n" -"If you like this text, it can be your font." -msgstr "" -"これはサンプル文です。\n" -"このフォントが気に入ればお使いになれます。" +#: lib/blame.tcl:288 +msgid "Goto Line..." +msgstr "指定行に移動…" -#: lib/choose_repository.tcl:28 -msgid "Git Gui" -msgstr "Git GUI" +#: lib/blame.tcl:297 +msgid "Do Full Copy Detection" +msgstr "コピー検知" -#: lib/choose_repository.tcl:87 lib/choose_repository.tcl:386 -msgid "Create New Repository" -msgstr "新しいリポジトリを作る" +#: lib/blame.tcl:301 +msgid "Show History Context" +msgstr "文脈を見せる" -#: lib/choose_repository.tcl:93 -msgid "New..." -msgstr "新規…" +#: lib/blame.tcl:304 +msgid "Blame Parent Commit" +msgstr "親コミットを注釈" -#: lib/choose_repository.tcl:100 lib/choose_repository.tcl:471 -msgid "Clone Existing Repository" -msgstr "既存リポジトリを複製する" +#: lib/blame.tcl:466 +#, tcl-format +msgid "Reading %s..." +msgstr "%s を読んでいます…" -#: lib/choose_repository.tcl:106 -msgid "Clone..." -msgstr "複製…" +#: lib/blame.tcl:594 +msgid "Loading copy/move tracking annotations..." +msgstr "コピー・移動追跡データを読んでいます…" -#: lib/choose_repository.tcl:113 lib/choose_repository.tcl:1016 -msgid "Open Existing Repository" -msgstr "既存リポジトリを開く" +#: lib/blame.tcl:614 +msgid "lines annotated" +msgstr "行を注釈しました" -#: lib/choose_repository.tcl:119 -msgid "Open..." -msgstr "開く…" +#: lib/blame.tcl:806 +msgid "Loading original location annotations..." +msgstr "元位置行の注釈データを読んでいます…" -#: lib/choose_repository.tcl:132 -msgid "Recent Repositories" -msgstr "最近使ったリポジトリ" +#: lib/blame.tcl:809 +msgid "Annotation complete." +msgstr "注釈完了しました" -#: lib/choose_repository.tcl:138 -msgid "Open Recent Repository:" -msgstr "最近使ったリポジトリを開く" +#: lib/blame.tcl:839 +msgid "Busy" +msgstr "実行中" -#: lib/choose_repository.tcl:306 lib/choose_repository.tcl:313 -#: lib/choose_repository.tcl:320 -#, tcl-format -msgid "Failed to create repository %s:" -msgstr "リポジトリ %s を作製できません:" +#: lib/blame.tcl:840 +msgid "Annotation process is already running." +msgstr "すでに blame プロセスを実行中です。" -#: lib/choose_repository.tcl:391 -msgid "Directory:" -msgstr "ディレクトリ:" +#: lib/blame.tcl:879 +msgid "Running thorough copy detection..." +msgstr "コピー検知を実行中…" -#: lib/choose_repository.tcl:423 lib/choose_repository.tcl:550 -#: lib/choose_repository.tcl:1052 -msgid "Git Repository" -msgstr "GIT リポジトリ" +#: lib/blame.tcl:947 +msgid "Loading annotation..." +msgstr "注釈を読み込んでいます…" -#: lib/choose_repository.tcl:448 -#, tcl-format -msgid "Directory %s already exists." -msgstr "ディレクトリ '%s' は既に存在します。" +#: lib/blame.tcl:1000 +msgid "Author:" +msgstr "作者:" -#: lib/choose_repository.tcl:452 -#, tcl-format -msgid "File %s already exists." -msgstr "ファイル '%s' は既に存在します。" +#: lib/blame.tcl:1004 +msgid "Committer:" +msgstr "コミット者:" -#: lib/choose_repository.tcl:466 -msgid "Clone" -msgstr "複製" +#: lib/blame.tcl:1009 +msgid "Original File:" +msgstr "元ファイル" -#: lib/choose_repository.tcl:479 -msgid "Source Location:" -msgstr "ソースの位置" +#: lib/blame.tcl:1057 +msgid "Cannot find HEAD commit:" +msgstr "HEAD コミットが見つかりません" -#: lib/choose_repository.tcl:490 -msgid "Target Directory:" -msgstr "先ディレクトリ:" +#: lib/blame.tcl:1112 +msgid "Cannot find parent commit:" +msgstr "親コミットが見つかりません:" + +#: lib/blame.tcl:1127 +msgid "Unable to display parent" +msgstr "親を表示できません" + +#: lib/blame.tcl:1128 lib/diff.tcl:356 +msgid "Error loading diff:" +msgstr "diff を読む際のエラーです:" + +#: lib/blame.tcl:1269 +msgid "Originally By:" +msgstr "原作者:" + +#: lib/blame.tcl:1275 +msgid "In File:" +msgstr "ファイル:" + +#: lib/blame.tcl:1280 +msgid "Copied Or Moved Here By:" +msgstr "複写・移動者:" + +#: lib/about.tcl:26 +msgid "git-gui - a graphical user interface for Git." +msgstr "Git のグラフィカルUI git-gui" + +#: lib/choose_repository.tcl:33 +msgid "Git Gui" +msgstr "Git GUI" + +#: lib/choose_repository.tcl:92 lib/choose_repository.tcl:412 +msgid "Create New Repository" +msgstr "新しいリポジトリを作る" + +#: lib/choose_repository.tcl:98 +msgid "New..." +msgstr "新規…" + +#: lib/choose_repository.tcl:105 lib/choose_repository.tcl:496 +msgid "Clone Existing Repository" +msgstr "既存リポジトリを複製する" + +#: lib/choose_repository.tcl:116 +msgid "Clone..." +msgstr "複製…" + +#: lib/choose_repository.tcl:123 lib/choose_repository.tcl:1064 +msgid "Open Existing Repository" +msgstr "既存リポジトリを開く" + +#: lib/choose_repository.tcl:129 +msgid "Open..." +msgstr "開く…" + +#: lib/choose_repository.tcl:142 +msgid "Recent Repositories" +msgstr "最近使ったリポジトリ" + +#: lib/choose_repository.tcl:148 +msgid "Open Recent Repository:" +msgstr "最近使ったリポジトリを開く" + +#: lib/choose_repository.tcl:316 lib/choose_repository.tcl:323 +#: lib/choose_repository.tcl:330 +#, tcl-format +msgid "Failed to create repository %s:" +msgstr "リポジトリ %s を作製できません:" + +#: lib/choose_repository.tcl:407 lib/branch_create.tcl:33 +msgid "Create" +msgstr "作成" + +#: lib/choose_repository.tcl:417 +msgid "Directory:" +msgstr "ディレクトリ:" + +#: lib/choose_repository.tcl:422 lib/choose_repository.tcl:509 +#: lib/choose_repository.tcl:518 lib/choose_repository.tcl:1074 +#: lib/browser.tcl:288 +msgid "Browse" +msgstr "ブラウズ" + +#: lib/choose_repository.tcl:447 lib/choose_repository.tcl:573 +#: lib/choose_repository.tcl:1098 +msgid "Git Repository" +msgstr "GIT リポジトリ" -#: lib/choose_repository.tcl:502 +#: lib/choose_repository.tcl:472 +#, tcl-format +msgid "Directory %s already exists." +msgstr "ディレクトリ '%s' は既に存在します。" + +#: lib/choose_repository.tcl:476 +#, tcl-format +msgid "File %s already exists." +msgstr "ファイル '%s' は既に存在します。" + +#: lib/choose_repository.tcl:491 +msgid "Clone" +msgstr "複製" + +#: lib/choose_repository.tcl:504 +msgid "Source Location:" +msgstr "ソースの位置" + +#: lib/choose_repository.tcl:513 +msgid "Target Directory:" +msgstr "先ディレクトリ:" + +#: lib/choose_repository.tcl:523 msgid "Clone Type:" msgstr "複製方式:" -#: lib/choose_repository.tcl:508 +#: lib/choose_repository.tcl:528 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "標準(高速・中冗長度・ハードリンク)" -#: lib/choose_repository.tcl:514 +#: lib/choose_repository.tcl:533 msgid "Full Copy (Slower, Redundant Backup)" msgstr "全複写(低速・冗長バックアップ)" -#: lib/choose_repository.tcl:520 +#: lib/choose_repository.tcl:538 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "共有(最高速・非推奨・バックアップ無し)" -#: lib/choose_repository.tcl:556 lib/choose_repository.tcl:603 -#: lib/choose_repository.tcl:749 lib/choose_repository.tcl:819 -#: lib/choose_repository.tcl:1058 lib/choose_repository.tcl:1066 +#: lib/choose_repository.tcl:545 +msgid "Recursively clone submodules too" +msgstr "サブモジュールも再帰的に複製する" + +#: lib/choose_repository.tcl:579 lib/choose_repository.tcl:626 +#: lib/choose_repository.tcl:772 lib/choose_repository.tcl:842 +#: lib/choose_repository.tcl:1104 lib/choose_repository.tcl:1112 #, tcl-format msgid "Not a Git repository: %s" msgstr "Git リポジトリではありません: %s" -#: lib/choose_repository.tcl:592 +#: lib/choose_repository.tcl:615 msgid "Standard only available for local repository." msgstr "標準方式は同一計算機上のリポジトリにのみ使えます。" -#: lib/choose_repository.tcl:596 +#: lib/choose_repository.tcl:619 msgid "Shared only available for local repository." msgstr "共有方式は同一計算機上のリポジトリにのみ使えます。" -#: lib/choose_repository.tcl:617 +#: lib/choose_repository.tcl:640 #, tcl-format msgid "Location %s already exists." msgstr "'%s' は既に存在します。" -#: lib/choose_repository.tcl:628 +#: lib/choose_repository.tcl:651 msgid "Failed to configure origin" msgstr "origin を設定できませんでした" -#: lib/choose_repository.tcl:640 +#: lib/choose_repository.tcl:663 msgid "Counting objects" msgstr "オブジェクトを数えています" -#: lib/choose_repository.tcl:641 +#: lib/choose_repository.tcl:664 msgid "buckets" msgstr "バケツ" -#: lib/choose_repository.tcl:665 +#: lib/choose_repository.tcl:688 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "objects/info/alternates を複写できません: %s" -#: lib/choose_repository.tcl:701 +#: lib/choose_repository.tcl:724 #, tcl-format msgid "Nothing to clone from %s." msgstr "%s から複製する内容はありません" -#: lib/choose_repository.tcl:703 lib/choose_repository.tcl:917 -#: lib/choose_repository.tcl:929 +#: lib/choose_repository.tcl:726 lib/choose_repository.tcl:940 +#: lib/choose_repository.tcl:952 msgid "The 'master' branch has not been initialized." msgstr "'master' ブランチが初期化されていません" -#: lib/choose_repository.tcl:716 +#: lib/choose_repository.tcl:739 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "ハードリンクが作れないので、コピーします" -#: lib/choose_repository.tcl:728 +#: lib/choose_repository.tcl:751 #, tcl-format msgid "Cloning from %s" msgstr "%s から複製しています" -#: lib/choose_repository.tcl:759 +#: lib/choose_repository.tcl:782 msgid "Copying objects" msgstr "オブジェクトを複写しています" -#: lib/choose_repository.tcl:760 +#: lib/choose_repository.tcl:783 msgid "KiB" msgstr "KiB" -#: lib/choose_repository.tcl:784 +#: lib/choose_repository.tcl:807 #, tcl-format msgid "Unable to copy object: %s" msgstr "オブジェクトを複写できません: %s" -#: lib/choose_repository.tcl:794 +#: lib/choose_repository.tcl:817 msgid "Linking objects" msgstr "オブジェクトを連結しています" -#: lib/choose_repository.tcl:795 +#: lib/choose_repository.tcl:818 msgid "objects" msgstr "オブジェクト" -#: lib/choose_repository.tcl:803 +#: lib/choose_repository.tcl:826 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "オブジェクトをハードリンクできません: %s" -#: lib/choose_repository.tcl:858 +#: lib/choose_repository.tcl:881 msgid "Cannot fetch branches and objects. See console output for details." msgstr "ブランチやオブジェクトを取得できません。コンソール出力を見て下さい" -#: lib/choose_repository.tcl:869 +#: lib/choose_repository.tcl:892 msgid "Cannot fetch tags. See console output for details." msgstr "タグを取得できません。コンソール出力を見て下さい" -#: lib/choose_repository.tcl:893 +#: lib/choose_repository.tcl:916 msgid "Cannot determine HEAD. See console output for details." msgstr "HEAD を確定できません。コンソール出力を見て下さい" -#: lib/choose_repository.tcl:902 +#: lib/choose_repository.tcl:925 #, tcl-format msgid "Unable to cleanup %s" msgstr "%s を掃除できません" -#: lib/choose_repository.tcl:908 +#: lib/choose_repository.tcl:931 msgid "Clone failed." msgstr "複写に失敗しました。" -#: lib/choose_repository.tcl:915 +#: lib/choose_repository.tcl:938 msgid "No default branch obtained." msgstr "デフォールト・ブランチが取得されませんでした" -#: lib/choose_repository.tcl:926 +#: lib/choose_repository.tcl:949 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "%s をコミットとして解釈できません" -#: lib/choose_repository.tcl:938 +#: lib/choose_repository.tcl:961 msgid "Creating working directory" msgstr "作業ディレクトリを作成しています" -#: lib/choose_repository.tcl:939 lib/index.tcl:67 lib/index.tcl:130 -#: lib/index.tcl:198 +#: lib/choose_repository.tcl:962 lib/index.tcl:70 lib/index.tcl:136 +#: lib/index.tcl:207 msgid "files" msgstr "ファイル" -#: lib/choose_repository.tcl:968 +#: lib/choose_repository.tcl:981 +msgid "Cannot clone submodules." +msgstr "サブモジュールが複製できません。" + +#: lib/choose_repository.tcl:990 +msgid "Cloning submodules" +msgstr "サブモジュールを複製しています" + +#: lib/choose_repository.tcl:1015 msgid "Initial file checkout failed." msgstr "初期チェックアウトに失敗しました" -#: lib/choose_repository.tcl:1011 +#: lib/choose_repository.tcl:1059 msgid "Open" msgstr "開く" -#: lib/choose_repository.tcl:1021 +#: lib/choose_repository.tcl:1069 msgid "Repository:" msgstr "リポジトリ:" -#: lib/choose_repository.tcl:1072 +#: lib/choose_repository.tcl:1118 #, tcl-format msgid "Failed to open repository %s:" msgstr "リポジトリ %s を開けません:" -#: lib/choose_rev.tcl:53 -msgid "This Detached Checkout" -msgstr "分離されたチェックアウト" +#: lib/branch_rename.tcl:15 lib/branch_rename.tcl:23 +msgid "Rename Branch" +msgstr "ブランチの名前変更" -#: lib/choose_rev.tcl:60 -msgid "Revision Expression:" -msgstr "リビジョン式:" +#: lib/branch_rename.tcl:28 +msgid "Rename" +msgstr "名前変更" -#: lib/choose_rev.tcl:74 -msgid "Local Branch" -msgstr "ローカル・ブランチ" +#: lib/branch_rename.tcl:38 +msgid "Branch:" +msgstr "ブランチ:" -#: lib/choose_rev.tcl:79 -msgid "Tracking Branch" -msgstr "トラッキング・ブランチ" +#: lib/branch_rename.tcl:46 +msgid "New Name:" +msgstr "新しい名前:" -#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 -msgid "Tag" -msgstr "タグ" +#: lib/branch_rename.tcl:81 +msgid "Please select a branch to rename." +msgstr "名前を変更するブランチを選んで下さい。" -#: lib/choose_rev.tcl:317 -#, tcl-format -msgid "Invalid revision: %s" -msgstr "無効なリビジョン: %s" +#: lib/branch_rename.tcl:92 lib/branch_create.tcl:154 +msgid "Please supply a branch name." +msgstr "ブランチ名を指定して下さい。" -#: lib/choose_rev.tcl:338 -msgid "No revision selected." -msgstr "リビジョンが未選択です。" +#: lib/branch_rename.tcl:112 lib/branch_create.tcl:165 +#, tcl-format +msgid "'%s' is not an acceptable branch name." +msgstr "'%s' はブランチ名に使えません。" -#: lib/choose_rev.tcl:346 -msgid "Revision expression is empty." -msgstr "リビジョン式が空です。" +#: lib/branch_rename.tcl:123 +#, tcl-format +msgid "Failed to rename '%s'." +msgstr "'%s'の名前変更に失敗しました。" -#: lib/choose_rev.tcl:531 -msgid "Updated" -msgstr "更新しました" +#: lib/shortcut.tcl:21 lib/shortcut.tcl:62 +msgid "Cannot write shortcut:" +msgstr "ショートカットが書けません:" -#: lib/choose_rev.tcl:559 -msgid "URL" -msgstr "URL" +#: lib/shortcut.tcl:137 +msgid "Cannot write icon:" +msgstr "アイコンが書けません:" -#: lib/commit.tcl:9 -msgid "" -"There is nothing to amend.\n" -"\n" -"You are about to create the initial commit. There is no commit before this " -"to amend.\n" -msgstr "" -"訂正するコミットがそもそもありません。\n" -"\n" -"これから作るのは最初のコミットです。その前にはまだ訂正するようなコミットはあ" -"りません。\n" +#: lib/search.tcl:48 +msgid "Find:" +msgstr "検索:" -#: lib/commit.tcl:18 -msgid "" -"Cannot amend while merging.\n" -"\n" -"You are currently in the middle of a merge that has not been fully " -"completed. You cannot amend the prior commit unless you first abort the " -"current merge activity.\n" -msgstr "" -"マージ中にコミットの訂正はできません。\n" -"\n" -"現在はまだマージの途中です。先にこのマージを中止しないと、前のコミットの訂正" -"はできません\n" +#: lib/search.tcl:50 +msgid "Next" +msgstr "次" -#: lib/commit.tcl:48 -msgid "Error loading commit data for amend:" -msgstr "訂正するコミットのデータを読めません:" +#: lib/search.tcl:51 +msgid "Prev" +msgstr "前" -#: lib/commit.tcl:75 -msgid "Unable to obtain your identity:" -msgstr "ユーザの正体を確認できません:" +#: lib/search.tcl:52 +msgid "RegExp" +msgstr "正規表現" -#: lib/commit.tcl:80 -msgid "Invalid GIT_COMMITTER_IDENT:" -msgstr "GIT_COMMITTER_IDENT が無効です:" +#: lib/search.tcl:54 +msgid "Case" +msgstr "大文字小文字を区別" -#: lib/commit.tcl:129 +#: lib/status_bar.tcl:87 #, tcl-format -msgid "warning: Tcl does not support encoding '%s'." -msgstr "警告: Tcl はエンコーディング '%s' をサポートしていません" - -#: lib/commit.tcl:149 -msgid "" -"Last scanned state does not match repository state.\n" -"\n" -"Another Git program has modified this repository since the last scan. A " -"rescan must be performed before another commit can be created.\n" -"\n" -"The rescan will be automatically started now.\n" -msgstr "" -"最後にスキャンした状態はリポジトリの状態と合致しません。\n" -"\n" -"最後にスキャンして以後、別の Git プログラムがリポジトリを変更しています。新し" -"くコミットする前に、再スキャンが必要です。\n" -"\n" -"自動的に再スキャンを開始します。\n" +msgid "%s ... %*i of %*i %s (%3i%%)" +msgstr "%1$s ... %4$*i %6$s 中の %2$*i (%7$3i%%)" -#: lib/commit.tcl:172 -#, tcl-format -msgid "" -"Unmerged files cannot be committed.\n" -"\n" -"File %s has merge conflicts. You must resolve them and stage the file " -"before committing.\n" -msgstr "" -"マージしていないファイルはコミットできません。\n" -"\n" -"ファイル %s にはマージ衝突が残っています。まず解決してコミット予定に加える必" -"要があります。\n" +#: lib/tools_dlg.tcl:22 +msgid "Add Tool" +msgstr "ツールの追加" -#: lib/commit.tcl:180 -#, tcl-format -msgid "" -"Unknown file state %s detected.\n" -"\n" -"File %s cannot be committed by this program.\n" -msgstr "" -"不明なファイル状態 %s です。\n" -"\n" -"ファイル %s は本プログラムではコミットできません。\n" +#: lib/tools_dlg.tcl:28 +msgid "Add New Tool Command" +msgstr "新規ツールコマンドの追加" -#: lib/commit.tcl:188 -msgid "" -"No changes to commit.\n" -"\n" -"You must stage at least 1 file before you can commit.\n" -msgstr "" -"コミットする変更がありません。\n" -"\n" -"最低一つの変更をコミット予定に加えてからコミットして下さい。\n" +#: lib/tools_dlg.tcl:34 +msgid "Add globally" +msgstr "全体に追加" -#: lib/commit.tcl:203 -msgid "" -"Please supply a commit message.\n" -"\n" -"A good commit message has the following format:\n" -"\n" -"- First line: Describe in one sentence what you did.\n" -"- Second line: Blank\n" -"- Remaining lines: Describe why this change is good.\n" -msgstr "" -"コミット・メッセージを入力して下さい。\n" -"\n" -"正しいコミット・メッセージは:\n" -"\n" -"- 第1行: 何をしたか、を1行で要約。\n" -"- 第2行: 空白\n" -"- 残りの行: なぜ、この変更が良い変更か、の説明。\n" +#: lib/tools_dlg.tcl:37 lib/remote_add.tcl:30 +msgid "Add" +msgstr "追加" -#: lib/commit.tcl:234 -msgid "Calling pre-commit hook..." -msgstr "コミット前フックを実行中・・・" +#: lib/tools_dlg.tcl:46 +msgid "Tool Details" +msgstr "ツールの詳細" -#: lib/commit.tcl:249 -msgid "Commit declined by pre-commit hook." -msgstr "コミット前フックがコミットを拒否しました" +#: lib/tools_dlg.tcl:49 +msgid "Use '/' separators to create a submenu tree:" +msgstr "'/' でサブメニューを区切ります:" -#: lib/commit.tcl:272 -msgid "Calling commit-msg hook..." -msgstr "コミット・メッセージ・フックを実行中・・・" +#: lib/tools_dlg.tcl:51 lib/remote_add.tcl:41 lib/branch_create.tcl:44 +msgid "Name:" +msgstr "名前:" -#: lib/commit.tcl:287 -msgid "Commit declined by commit-msg hook." -msgstr "コミット・メッセージ・フックがコミットを拒否しました" +#: lib/tools_dlg.tcl:60 +msgid "Command:" +msgstr "コマンド:" -#: lib/commit.tcl:300 -msgid "Committing changes..." -msgstr "変更点をコミット中・・・" +#: lib/tools_dlg.tcl:71 +msgid "Show a dialog before running" +msgstr "起動する前にダイアログを表示" -#: lib/commit.tcl:316 -msgid "write-tree failed:" -msgstr "write-tree が失敗しました:" +#: lib/tools_dlg.tcl:77 +msgid "Ask the user to select a revision (sets $REVISION)" +msgstr "ユーザにコミットを一つ選ばせる ($REVISION にセットします)" -#: lib/commit.tcl:317 lib/commit.tcl:361 lib/commit.tcl:382 -msgid "Commit failed." -msgstr "コミットに失敗しました。" +#: lib/tools_dlg.tcl:82 +msgid "Ask the user for additional arguments (sets $ARGS)" +msgstr "ユーザに他の引数を追加させる ($ARGS にセットします)" -#: lib/commit.tcl:334 +#: lib/tools_dlg.tcl:89 +msgid "Don't show the command output window" +msgstr "コマンドからの出力ウィンドウを見せない" + +#: lib/tools_dlg.tcl:94 +msgid "Run only if a diff is selected ($FILENAME not empty)" +msgstr "パッチが選ばれているときだけ動かす($FILENAME が空でない)" + +#: lib/tools_dlg.tcl:118 +msgid "Please supply a name for the tool." +msgstr "ツール名を指定して下さい。" + +#: lib/tools_dlg.tcl:126 #, tcl-format -msgid "Commit %s appears to be corrupt" -msgstr "コミット %s は壊れています" +msgid "Tool '%s' already exists." +msgstr "ツール '%s' は既に存在します。" -#: lib/commit.tcl:339 +#: lib/tools_dlg.tcl:148 +#, tcl-format msgid "" -"No changes to commit.\n" -"\n" -"No files were modified by this commit and it was not a merge commit.\n" -"\n" -"A rescan will be automatically started now.\n" +"Could not add tool:\n" +"%s" msgstr "" -"コミットする変更がありません。\n" -"\n" -"マージでなく、また、一つも変更点がありません。\n" -"\n" -"自動的に再スキャンを開始します。\n" +"ツールを追加できません:\n" +"%s" -#: lib/commit.tcl:346 -msgid "No changes to commit." -msgstr "コミットする変更がありません。" +#: lib/tools_dlg.tcl:187 +msgid "Remove Tool" +msgstr "ツールの削除" -#: lib/commit.tcl:360 -msgid "commit-tree failed:" -msgstr "commit-tree が失敗しました:" +#: lib/tools_dlg.tcl:193 +msgid "Remove Tool Commands" +msgstr "ツールコマンドの削除" -#: lib/commit.tcl:381 -msgid "update-ref failed:" -msgstr "update-ref が失敗しました:" +#: lib/tools_dlg.tcl:198 +msgid "Remove" +msgstr "削除" -#: lib/commit.tcl:469 -#, tcl-format -msgid "Created commit %s: %s" -msgstr "コミット %s を作成しました: %s" +#: lib/tools_dlg.tcl:231 +msgid "(Blue denotes repository-local tools)" +msgstr "(青色はローカルレポジトリのツールです)" -#: lib/console.tcl:59 -msgid "Working... please wait..." -msgstr "実行中…お待ち下さい…" +#: lib/tools_dlg.tcl:292 +#, tcl-format +msgid "Run Command: %s" +msgstr "コマンドを起動: %s" -#: lib/console.tcl:186 -msgid "Success" -msgstr "成功" +#: lib/tools_dlg.tcl:306 +msgid "Arguments" +msgstr "引数" -#: lib/console.tcl:200 -msgid "Error: Command Failed" -msgstr "エラー: コマンドが失敗しました" +#: lib/tools_dlg.tcl:321 lib/branch_checkout.tcl:35 lib/browser.tcl:297 +msgid "Revision" +msgstr "リビジョン" -#: lib/database.tcl:43 -msgid "Number of loose objects" -msgstr "ばらばらなオブジェクトの数" +#: lib/tools_dlg.tcl:341 +msgid "OK" +msgstr "OK" -#: lib/database.tcl:44 -msgid "Disk space used by loose objects" -msgstr "ばらばらなオブジェクトの使用するディスク量" +#: lib/tools.tcl:75 +#, tcl-format +msgid "Running %s requires a selected file." +msgstr "ファイルを選択してから %s を起動してください。" -#: lib/database.tcl:45 -msgid "Number of packed objects" -msgstr "パックされたオブジェクトの数" +#: lib/tools.tcl:91 +#, tcl-format +msgid "Are you sure you want to run %1$s on file \"%2$s\"?" +msgstr "本当にファイル \"%2$s\"で %1$s を起動しますか?" -#: lib/database.tcl:46 -msgid "Number of packs" -msgstr "パックの数" +#: lib/tools.tcl:95 +#, tcl-format +msgid "Are you sure you want to run %s?" +msgstr "本当に %s を起動しますか?" -#: lib/database.tcl:47 -msgid "Disk space used by packed objects" -msgstr "パックされたオブジェクトの使用するディスク量" +#: lib/tools.tcl:116 +#, tcl-format +msgid "Tool: %s" +msgstr "ツール: %s" -#: lib/database.tcl:48 -msgid "Packed objects waiting for pruning" -msgstr "パックに存在するので捨てて良いオブジェクトの数" +#: lib/tools.tcl:117 +#, tcl-format +msgid "Running: %s" +msgstr "実行中: %s" -#: lib/database.tcl:49 -msgid "Garbage files" -msgstr "ゴミファイル" +#: lib/tools.tcl:155 +#, tcl-format +msgid "Tool completed successfully: %s" +msgstr "ツールが完了しました: %s" -#: lib/database.tcl:72 -msgid "Compressing the object database" -msgstr "データベース圧縮" +#: lib/tools.tcl:157 +#, tcl-format +msgid "Tool failed: %s" +msgstr "ツールが失敗しました: %s" -#: lib/database.tcl:83 -msgid "Verifying the object database with fsck-objects" -msgstr "fsck-objects でオブジェクト・データベースを検証しています" +#: lib/mergetool.tcl:8 +msgid "Force resolution to the base version?" +msgstr "共通の版を使いますか?" -#: lib/database.tcl:107 -#, tcl-format -msgid "" -"This repository currently has approximately %i loose objects.\n" -"\n" -"To maintain optimal performance it is strongly recommended that you compress " -"the database.\n" -"\n" -"Compress the database now?" -msgstr "" -"このリポジトリにはおおよそ %i 個の個別オブジェクトがあります\n" -"\n" -"最適な性能を保つために、データベースを圧縮することを推奨します\n" -"\n" -"データベースを圧縮しますか?" +#: lib/mergetool.tcl:9 +msgid "Force resolution to this branch?" +msgstr "自分の側の版を使いますか?" -#: lib/date.tcl:25 -#, tcl-format -msgid "Invalid date from Git: %s" -msgstr "Git から出た無効な日付: %s" +#: lib/mergetool.tcl:10 +msgid "Force resolution to the other branch?" +msgstr "相手制の版を使いますか?" -#: lib/diff.tcl:64 +#: lib/mergetool.tcl:14 #, tcl-format msgid "" -"No differences detected.\n" -"\n" -"%s has no changes.\n" +"Note that the diff shows only conflicting changes.\n" "\n" -"The modification date of this file was updated by another application, but " -"the content within the file was not changed.\n" +"%s will be overwritten.\n" "\n" -"A rescan will be automatically started to find other files which may have " -"the same state." +"This operation can be undone only by restarting the merge." msgstr "" -"変更がありません。\n" -"\n" -"%s には変更がありません。\n" +"競合する変更点だけが表示されていることに注意してください。\n" "\n" -"このファイルの変更時刻は他のアプリケーションによって更新されていますがファイ" -"ル内容には変更がありません。\n" +"%s は上書きされます。\n" "\n" -"同様な状態のファイルを探すために、自動的に再スキャンを開始します。" +"やり直すにはマージ全体をやり直してください。" -#: lib/diff.tcl:104 +#: lib/mergetool.tcl:45 #, tcl-format -msgid "Loading diff of %s..." -msgstr "%s の変更点をロード中…" - -#: lib/diff.tcl:125 -msgid "" -"LOCAL: deleted\n" -"REMOTE:\n" +msgid "File %s seems to have unresolved conflicts, still stage?" msgstr "" -"LOCAL: 削除\n" -"Remote:\n" +"ファイル %s には解決していない競合部分がまだあるようですが、いいですか?" -#: lib/diff.tcl:130 -msgid "" -"REMOTE: deleted\n" -"LOCAL:\n" -msgstr "" -"REMOTE: 削除\n" -"LOCAL:\n" +#: lib/mergetool.tcl:60 +#, tcl-format +msgid "Adding resolution for %s" +msgstr "%s への解決をステージします" -#: lib/diff.tcl:137 -msgid "LOCAL:\n" -msgstr "LOCAL:\n" +#: lib/mergetool.tcl:141 +msgid "Cannot resolve deletion or link conflicts using a tool" +msgstr "ツールでは削除やリンク競合は扱えません" -#: lib/diff.tcl:140 -msgid "REMOTE:\n" -msgstr "REMOTE\n" +#: lib/mergetool.tcl:146 +msgid "Conflict file does not exist" +msgstr "競合ファイルは存在しません。" -#: lib/diff.tcl:202 lib/diff.tcl:319 +#: lib/mergetool.tcl:246 #, tcl-format -msgid "Unable to display %s" -msgstr "%s を表示できません" - -#: lib/diff.tcl:203 -msgid "Error loading file:" -msgstr "ファイルを読む際のエラーです:" +msgid "Not a GUI merge tool: '%s'" +msgstr "GUI マージツールではありません: %s" -#: lib/diff.tcl:210 -msgid "Git Repository (subproject)" -msgstr "Git リポジトリ(サブプロジェクト)" +#: lib/mergetool.tcl:275 +#, tcl-format +msgid "Unsupported merge tool '%s'" +msgstr "マージツール '%s' はサポートしていません" -#: lib/diff.tcl:222 -msgid "* Binary file (not showing content)." -msgstr "* バイナリファイル(内容は表示しません)" +#: lib/mergetool.tcl:310 +msgid "Merge tool is already running, terminate it?" +msgstr "マージツールはすでに起動しています。終了しますか?" -#: lib/diff.tcl:227 +#: lib/mergetool.tcl:330 #, tcl-format msgid "" -"* Untracked file is %d bytes.\n" -"* Showing only first %d bytes.\n" +"Error retrieving versions:\n" +"%s" msgstr "" -"* 管理外のファイルの大きさは %d バイトです。\n" -"* 最初の %d バイトだけ表示しています。\n" +"版の取り出し時にエラーが出ました:\n" +"%s" -#: lib/diff.tcl:233 +#: lib/mergetool.tcl:350 #, tcl-format msgid "" +"Could not start the merge tool:\n" "\n" -"* Untracked file clipped here by %s.\n" -"* To see the entire file, use an external editor.\n" +"%s" msgstr "" +"マージツールが起動できません:\n" "\n" -"\n" -"* %s は管理外のファイルをここで切りおとしました。\n" -"* 全体を見るには外部エディタを使ってください。\n" - -#: lib/diff.tcl:482 -msgid "Failed to unstage selected hunk." -msgstr "選択されたパッチをコミット予定から外せません。" +"%s" -#: lib/diff.tcl:489 -msgid "Failed to stage selected hunk." -msgstr "選択されたパッチをコミット予定に加えられません。" +#: lib/mergetool.tcl:354 +msgid "Running merge tool..." +msgstr "マージツールを実行しています..." -#: lib/diff.tcl:568 -msgid "Failed to unstage selected line." -msgstr "選択されたパッチ行をコミット予定から外せません。" +#: lib/mergetool.tcl:382 lib/mergetool.tcl:390 +msgid "Merge tool failed." +msgstr "マージツールが失敗しました。" -#: lib/diff.tcl:576 -msgid "Failed to stage selected line." -msgstr "選択されたパッチ行をコミット予定に加えられません。" +#: lib/option.tcl:11 +#, tcl-format +msgid "Invalid global encoding '%s'" +msgstr "全体エンコーディングに 無効な %s が指定されています" -#: lib/encoding.tcl:443 -msgid "Default" -msgstr "デフォールト" +#: lib/option.tcl:19 +#, tcl-format +msgid "Invalid repo encoding '%s'" +msgstr "リポジトリエンコーディングに 無効な %s が指定されています" -#: lib/encoding.tcl:448 +#: lib/option.tcl:119 +msgid "Restore Defaults" +msgstr "既定値に戻す" + +#: lib/option.tcl:123 +msgid "Save" +msgstr "保存" + +#: lib/option.tcl:133 #, tcl-format -msgid "System (%s)" -msgstr "システム (%s)" +msgid "%s Repository" +msgstr "%s リポジトリ" -#: lib/encoding.tcl:459 lib/encoding.tcl:465 -msgid "Other" -msgstr "その他" +#: lib/option.tcl:134 +msgid "Global (All Repositories)" +msgstr "大域(全てのリポジトリ)" -#: lib/error.tcl:20 lib/error.tcl:114 -msgid "error" -msgstr "エラー" +#: lib/option.tcl:140 +msgid "User Name" +msgstr "ユーザ名" -#: lib/error.tcl:36 -msgid "warning" -msgstr "警告" +#: lib/option.tcl:141 +msgid "Email Address" +msgstr "電子メールアドレス" -#: lib/error.tcl:94 -msgid "You must correct the above errors before committing." -msgstr "コミットする前に、以上のエラーを修正して下さい" +#: lib/option.tcl:143 +msgid "Summarize Merge Commits" +msgstr "マージコミットの要約" -#: lib/index.tcl:6 -msgid "Unable to unlock the index." -msgstr "インデックスをロックできません" +#: lib/option.tcl:144 +msgid "Merge Verbosity" +msgstr "マージの冗長度" -#: lib/index.tcl:15 -msgid "Index Error" -msgstr "索引エラー" +#: lib/option.tcl:145 +msgid "Show Diffstat After Merge" +msgstr "マージ後に diffstat を表示" -#: lib/index.tcl:17 -msgid "" -"Updating the Git index failed. A rescan will be automatically started to " -"resynchronize git-gui." -msgstr "" -"GIT インデックスの更新が失敗しました。git-gui と同期をとるために再スキャンし" -"ます。" +#: lib/option.tcl:146 +msgid "Use Merge Tool" +msgstr "マージツールを使用" -#: lib/index.tcl:28 -msgid "Continue" -msgstr "続行" +#: lib/option.tcl:148 +msgid "Trust File Modification Timestamps" +msgstr "ファイル変更時刻を信頼する" -#: lib/index.tcl:31 -msgid "Unlock Index" -msgstr "インデックスのロック解除" +#: lib/option.tcl:149 +msgid "Prune Tracking Branches During Fetch" +msgstr "フェッチ中にトラッキングブランチを刈る" -#: lib/index.tcl:289 -#, tcl-format -msgid "Unstaging %s from commit" -msgstr "コミットから '%s' を降ろす" +#: lib/option.tcl:150 +msgid "Match Tracking Branches" +msgstr "トラッキングブランチを合わせる" -#: lib/index.tcl:328 -msgid "Ready to commit." -msgstr "コミット準備完了" +#: lib/option.tcl:151 +msgid "Use Textconv For Diffs and Blames" +msgstr "diff と注釈に textconv を使う" -#: lib/index.tcl:341 -#, tcl-format -msgid "Adding %s" -msgstr "コミットに %s を加えています" +#: lib/option.tcl:152 +msgid "Blame Copy Only On Changed Files" +msgstr "変更されたファイルのみコピー検知を行なう" -#: lib/index.tcl:398 -#, tcl-format -msgid "Revert changes in file %s?" -msgstr "ファイル %s にした変更を元に戻しますか?" +#: lib/option.tcl:153 +msgid "Maximum Length of Recent Repositories List" +msgstr "最近使ったリポジトリ一覧の上限" -#: lib/index.tcl:400 -#, tcl-format -msgid "Revert changes in these %i files?" -msgstr "これら %i 個のファイルにした変更を元に戻しますか?" +#: lib/option.tcl:154 +msgid "Minimum Letters To Blame Copy On" +msgstr "コピーを検知する最少文字数" -#: lib/index.tcl:408 -msgid "Any unstaged changes will be permanently lost by the revert." -msgstr "変更を元に戻すとコミット予定していない変更は全て失われます。" +#: lib/option.tcl:155 +msgid "Blame History Context Radius (days)" +msgstr "注釈する履歴半径(日数)" -#: lib/index.tcl:411 -msgid "Do Nothing" -msgstr "何もしない" +#: lib/option.tcl:156 +msgid "Number of Diff Context Lines" +msgstr "diff の文脈行数" -#: lib/index.tcl:429 -msgid "Reverting selected files" -msgstr "選択されたファイルにした変更を元に戻します" +#: lib/option.tcl:157 +msgid "Additional Diff Parameters" +msgstr "diff の追加引数" -#: lib/index.tcl:433 -#, tcl-format -msgid "Reverting %s" -msgstr "%s にした変更を元に戻します" +#: lib/option.tcl:158 +msgid "Commit Message Text Width" +msgstr "コミットメッセージのテキスト幅" -#: lib/merge.tcl:13 -msgid "" -"Cannot merge while amending.\n" -"\n" -"You must finish amending this commit before starting any type of merge.\n" -msgstr "" -"訂正中にはマージできません。\n" -"\n" -"訂正処理を完了するまでは新たにマージを開始できません。\n" +#: lib/option.tcl:159 +msgid "New Branch Name Template" +msgstr "新しいブランチ名のテンプレート" -#: lib/merge.tcl:27 -msgid "" -"Last scanned state does not match repository state.\n" -"\n" -"Another Git program has modified this repository since the last scan. A " -"rescan must be performed before a merge can be performed.\n" -"\n" -"The rescan will be automatically started now.\n" -msgstr "" -"最後にスキャンした状態はリポジトリの状態と合致しません。\n" -"\n" -"最後にスキャンして以後、別の Git プログラムがリポジトリを変更しています。マー" -"ジを開始する前に、再スキャンが必要です。\n" -"\n" -"自動的に再スキャンを開始します。\n" +#: lib/option.tcl:160 +msgid "Default File Contents Encoding" +msgstr "ファイル内容のデフォールトエンコーディング" -#: lib/merge.tcl:45 -#, tcl-format -msgid "" -"You are in the middle of a conflicted merge.\n" -"\n" -"File %s has merge conflicts.\n" -"\n" -"You must resolve them, stage the file, and commit to complete the current " -"merge. Only then can you begin another merge.\n" -msgstr "" -"衝突のあったマージの途中です。\n" -"\n" -"ファイル %s にはマージ中の衝突が残っています。\n" -"\n" -"このファイルの衝突を解決し、コミット予定に加えて、コミットすることでマージを" -"完了します。そうやって始めて、新たなマージを開始できるようになります。\n" +#: lib/option.tcl:161 +msgid "Warn before committing to a detached head" +msgstr "分離 HEAD のコミット前に警告する" -#: lib/merge.tcl:55 -#, tcl-format -msgid "" -"You are in the middle of a change.\n" -"\n" -"File %s is modified.\n" -"\n" -"You should complete the current commit before starting a merge. Doing so " -"will help you abort a failed merge, should the need arise.\n" -msgstr "" -"変更の途中です。\n" -"\n" -"ファイル %s は変更中です。\n" -"\n" -"現在のコミットを完了してからマージを開始して下さい。そうする方がマージに失敗" -"したときの回復が楽です。\n" +#: lib/option.tcl:162 +msgid "Staging of untracked files" +msgstr "管理外のファイルをコミット予定する" -#: lib/merge.tcl:107 -#, tcl-format -msgid "%s of %s" -msgstr "%s の %s ブランチ" +#: lib/option.tcl:163 +msgid "Show untracked files" +msgstr "管理外のファイルを表示する" -#: lib/merge.tcl:120 -#, tcl-format -msgid "Merging %s and %s..." -msgstr "%s と %s をマージ中・・・" +#: lib/option.tcl:164 +msgid "Tab spacing" +msgstr "タブ幅" -#: lib/merge.tcl:131 -msgid "Merge completed successfully." -msgstr "マージが完了しました" +#: lib/option.tcl:210 +msgid "Change" +msgstr "変更" -#: lib/merge.tcl:133 -msgid "Merge failed. Conflict resolution is required." -msgstr "マージが失敗しました。衝突の解決が必要です。" +#: lib/option.tcl:254 +msgid "Spelling Dictionary:" +msgstr "スペルチェック辞書" + +#: lib/option.tcl:284 +msgid "Change Font" +msgstr "フォントを変更" -#: lib/merge.tcl:158 +#: lib/option.tcl:288 #, tcl-format -msgid "Merge Into %s" -msgstr "%s にマージ" +msgid "Choose %s" +msgstr "%s を選択" -#: lib/merge.tcl:177 -msgid "Revision To Merge" -msgstr "マージするリビジョン" +#: lib/option.tcl:294 +msgid "pt." +msgstr "ポイント" -#: lib/merge.tcl:212 -msgid "" -"Cannot abort while amending.\n" -"\n" -"You must finish amending this commit.\n" -msgstr "" -"訂正中には中止できません。\n" -"\n" -"まず今のコミット訂正を完了させて下さい。\n" +#: lib/option.tcl:308 +msgid "Preferences" +msgstr "設定" -#: lib/merge.tcl:222 -msgid "" -"Abort merge?\n" -"\n" -"Aborting the current merge will cause *ALL* uncommitted changes to be lost.\n" -"\n" -"Continue with aborting the current merge?" -msgstr "" -"マージを中断しますか?\n" -"\n" -"現在のマージを中断すると、コミットしていない全ての変更が失われます。\n" -"\n" -"マージを中断してよろしいですか?" +#: lib/option.tcl:310 lib/branch_checkout.tcl:39 lib/branch_create.tcl:69 +msgid "Options" +msgstr "オプション" -#: lib/merge.tcl:228 -msgid "" -"Reset changes?\n" -"\n" -"Resetting the changes will cause *ALL* uncommitted changes to be lost.\n" -"\n" -"Continue with resetting the current changes?" -msgstr "" -"変更点をリセットしますか?\n" -"\n" -"変更点をリセットすると、コミットしていない全ての変更が失われます。\n" -"\n" -"リセットしてよろしいですか?" +#: lib/option.tcl:345 +msgid "Failed to completely save options:" +msgstr "完全にオプションを保存できません:" -#: lib/merge.tcl:239 -msgid "Aborting" -msgstr "中断しています" +#: lib/database.tcl:42 +msgid "Number of loose objects" +msgstr "ばらばらなオブジェクトの数" -#: lib/merge.tcl:239 -msgid "files reset" -msgstr "リセットしたファイル" +#: lib/database.tcl:43 +msgid "Disk space used by loose objects" +msgstr "ばらばらなオブジェクトの使用するディスク量" -#: lib/merge.tcl:267 -msgid "Abort failed." -msgstr "中断に失敗しました。" +#: lib/database.tcl:44 +msgid "Number of packed objects" +msgstr "パックされたオブジェクトの数" -#: lib/merge.tcl:269 -msgid "Abort completed. Ready." -msgstr "中断完了。" +#: lib/database.tcl:45 +msgid "Number of packs" +msgstr "パックの数" -#: lib/mergetool.tcl:8 -msgid "Force resolution to the base version?" -msgstr "共通の版を使いますか?" +#: lib/database.tcl:46 +msgid "Disk space used by packed objects" +msgstr "パックされたオブジェクトの使用するディスク量" -#: lib/mergetool.tcl:9 -msgid "Force resolution to this branch?" -msgstr "自分の側の版を使いますか?" +#: lib/database.tcl:47 +msgid "Packed objects waiting for pruning" +msgstr "パックに存在するので捨てて良いオブジェクトの数" -#: lib/mergetool.tcl:10 -msgid "Force resolution to the other branch?" -msgstr "相手制の版を使いますか?" +#: lib/database.tcl:48 +msgid "Garbage files" +msgstr "ゴミファイル" -#: lib/mergetool.tcl:14 +#: lib/database.tcl:72 +msgid "Compressing the object database" +msgstr "データベース圧縮" + +#: lib/database.tcl:83 +msgid "Verifying the object database with fsck-objects" +msgstr "fsck-objects でオブジェクト・データベースを検証しています" + +#: lib/database.tcl:107 #, tcl-format msgid "" -"Note that the diff shows only conflicting changes.\n" +"This repository currently has approximately %i loose objects.\n" "\n" -"%s will be overwritten.\n" +"To maintain optimal performance it is strongly recommended that you compress " +"the database.\n" "\n" -"This operation can be undone only by restarting the merge." +"Compress the database now?" msgstr "" -"競合する変更点だけが表示されていることに注意してください。\n" +"このリポジトリにはおおよそ %i 個の個別オブジェクトがあります\n" "\n" -"%s は上書きされます。\n" +"最適な性能を保つために、データベースを圧縮することを推奨します\n" "\n" -"やり直すにはマージ全体をやり直してください。" - -#: lib/mergetool.tcl:45 -#, tcl-format -msgid "File %s seems to have unresolved conflicts, still stage?" -msgstr "" -"ファイル %s には解決していない競合部分がまだあるようですが、いいですか?" +"データベースを圧縮しますか?" -#: lib/mergetool.tcl:60 +#: lib/transport.tcl:6 lib/remote_add.tcl:132 #, tcl-format -msgid "Adding resolution for %s" -msgstr "%s への解決をステージします" - -#: lib/mergetool.tcl:141 -msgid "Cannot resolve deletion or link conflicts using a tool" -msgstr "ツールでは削除やリンク競合は扱えません" - -#: lib/mergetool.tcl:146 -msgid "Conflict file does not exist" -msgstr "競合ファイルは存在しません。" +msgid "fetch %s" +msgstr "%s を取得" -#: lib/mergetool.tcl:264 +#: lib/transport.tcl:7 #, tcl-format -msgid "Not a GUI merge tool: '%s'" -msgstr "GUI マージツールではありません: %s" +msgid "Fetching new changes from %s" +msgstr "%s から新しい変更をフェッチしています" -#: lib/mergetool.tcl:268 +#: lib/transport.tcl:18 #, tcl-format -msgid "Unsupported merge tool '%s'" -msgstr "マージツール '%s' はサポートしていません" - -#: lib/mergetool.tcl:303 -msgid "Merge tool is already running, terminate it?" -msgstr "マージツールはすでに起動しています。終了しますか?" +msgid "remote prune %s" +msgstr "リモート刈込 %s" -#: lib/mergetool.tcl:323 +#: lib/transport.tcl:19 #, tcl-format -msgid "" -"Error retrieving versions:\n" -"%s" -msgstr "" -"版の取り出し時にエラーが出ました:\n" -"%s" +msgid "Pruning tracking branches deleted from %s" +msgstr "%s から削除されたトラッキング・ブランチを刈っています" -#: lib/mergetool.tcl:343 -#, tcl-format -msgid "" -"Could not start the merge tool:\n" -"\n" -"%s" -msgstr "" -"マージツールが起動できません:\n" -"\n" -"%s" +#: lib/transport.tcl:25 +msgid "fetch all remotes" +msgstr "すべてのリモートを取得" -#: lib/mergetool.tcl:347 -msgid "Running merge tool..." -msgstr "マージツールを実行しています..." +#: lib/transport.tcl:26 +msgid "Fetching new changes from all remotes" +msgstr "すべてのリモートから新しい変更をフェッチしています" -#: lib/mergetool.tcl:375 lib/mergetool.tcl:383 -msgid "Merge tool failed." -msgstr "マージツールが失敗しました。" +#: lib/transport.tcl:40 +msgid "remote prune all remotes" +msgstr "リモート刈込 すべてのリモート" -#: lib/option.tcl:11 -#, tcl-format -msgid "Invalid global encoding '%s'" -msgstr "全体エンコーディングに 無効な %s が指定されています" +#: lib/transport.tcl:41 +msgid "Pruning tracking branches deleted from all remotes" +msgstr "すべてのリモートから削除されたトラッキング・ブランチを刈っています" -#: lib/option.tcl:19 +#: lib/transport.tcl:54 lib/transport.tcl:92 lib/transport.tcl:110 +#: lib/remote_add.tcl:162 #, tcl-format -msgid "Invalid repo encoding '%s'" -msgstr "リポジトリエンコーディングに 無効な %s が指定されています" +msgid "push %s" +msgstr "%s をプッシュ" -#: lib/option.tcl:117 -msgid "Restore Defaults" -msgstr "既定値に戻す" +#: lib/transport.tcl:55 +#, tcl-format +msgid "Pushing changes to %s" +msgstr "%s へ変更をプッシュしています" -#: lib/option.tcl:121 -msgid "Save" -msgstr "保存" +#: lib/transport.tcl:93 +#, tcl-format +msgid "Mirroring to %s" +msgstr "%s へミラーしています" -#: lib/option.tcl:131 +#: lib/transport.tcl:111 #, tcl-format -msgid "%s Repository" -msgstr "%s リポジトリ" +msgid "Pushing %s %s to %s" +msgstr "%3$s へ %1$s %2$s をプッシュしています" -#: lib/option.tcl:132 -msgid "Global (All Repositories)" -msgstr "大域(全てのリポジトリ)" +#: lib/transport.tcl:132 +msgid "Push Branches" +msgstr "ブランチをプッシュ" -#: lib/option.tcl:138 -msgid "User Name" -msgstr "ユーザ名" +#: lib/transport.tcl:147 +msgid "Source Branches" +msgstr "元のブランチ" -#: lib/option.tcl:139 -msgid "Email Address" -msgstr "電子メールアドレス" +#: lib/transport.tcl:162 +msgid "Destination Repository" +msgstr "送り先リポジトリ" -#: lib/option.tcl:141 -msgid "Summarize Merge Commits" -msgstr "マージコミットの要約" +#: lib/transport.tcl:205 +msgid "Transfer Options" +msgstr "通信オプション" -#: lib/option.tcl:142 -msgid "Merge Verbosity" -msgstr "マージの冗長度" +#: lib/transport.tcl:207 +msgid "Force overwrite existing branch (may discard changes)" +msgstr "既存ブランチを上書き(変更を破棄する可能性があります)" -#: lib/option.tcl:143 -msgid "Show Diffstat After Merge" -msgstr "マージ後に diffstat を表示" +#: lib/transport.tcl:211 +msgid "Use thin pack (for slow network connections)" +msgstr "Thin Pack を使う(遅いネットワーク接続)" -#: lib/option.tcl:144 -msgid "Use Merge Tool" -msgstr "マージツールを使用" +#: lib/transport.tcl:215 +msgid "Include tags" +msgstr "タグを含める" -#: lib/option.tcl:146 -msgid "Trust File Modification Timestamps" -msgstr "ファイル変更時刻を信頼する" +#: lib/choose_font.tcl:41 +msgid "Select" +msgstr "選択" -#: lib/option.tcl:147 -msgid "Prune Tracking Branches During Fetch" -msgstr "フェッチ中にトラッキングブランチを刈る" +#: lib/choose_font.tcl:55 +msgid "Font Family" +msgstr "フォント・ファミリー" -#: lib/option.tcl:148 -msgid "Match Tracking Branches" -msgstr "トラッキングブランチを合わせる" +#: lib/choose_font.tcl:76 +msgid "Font Size" +msgstr "フォントの大きさ" -#: lib/option.tcl:149 -msgid "Blame Copy Only On Changed Files" -msgstr "変更されたファイルのみコピー検知を行なう" +#: lib/choose_font.tcl:93 +msgid "Font Example" +msgstr "フォント・サンプル" -#: lib/option.tcl:150 -msgid "Minimum Letters To Blame Copy On" -msgstr "コピーを検知する最少文字数" +#: lib/choose_font.tcl:105 +msgid "" +"This is example text.\n" +"If you like this text, it can be your font." +msgstr "" +"これはサンプル文です。\n" +"このフォントが気に入ればお使いになれます。" -#: lib/option.tcl:151 -msgid "Blame History Context Radius (days)" -msgstr "註釈する履歴半径(日数)" +#: lib/remote.tcl:200 +msgid "Push to" +msgstr "プッシュ先" -#: lib/option.tcl:152 -msgid "Number of Diff Context Lines" -msgstr "diff の文脈行数" +#: lib/remote.tcl:218 +msgid "Remove Remote" +msgstr "リモートを削除" -#: lib/option.tcl:153 -msgid "Commit Message Text Width" -msgstr "コミットメッセージのテキスト幅" +#: lib/remote.tcl:223 +msgid "Prune from" +msgstr "から刈込む…" -#: lib/option.tcl:154 -msgid "New Branch Name Template" -msgstr "新しいブランチ名のテンプレート" +#: lib/remote.tcl:228 +msgid "Fetch from" +msgstr "取得元" -#: lib/option.tcl:155 -msgid "Default File Contents Encoding" -msgstr "ファイル内容のデフォールトエンコーディング" +#: lib/diff.tcl:77 +#, tcl-format +msgid "" +"No differences detected.\n" +"\n" +"%s has no changes.\n" +"\n" +"The modification date of this file was updated by another application, but " +"the content within the file was not changed.\n" +"\n" +"A rescan will be automatically started to find other files which may have " +"the same state." +msgstr "" +"変更がありません。\n" +"\n" +"%s には変更がありません。\n" +"\n" +"このファイルの変更時刻は他のアプリケーションによって更新されていますがファイ" +"ル内容には変更がありません。\n" +"\n" +"同様な状態のファイルを探すために、自動的に再スキャンを開始します。" -#: lib/option.tcl:203 -msgid "Change" -msgstr "変更" +#: lib/diff.tcl:117 +#, tcl-format +msgid "Loading diff of %s..." +msgstr "%s の変更点をロード中…" -#: lib/option.tcl:230 -msgid "Spelling Dictionary:" -msgstr "スペルチェック辞書" +#: lib/diff.tcl:140 +msgid "" +"LOCAL: deleted\n" +"REMOTE:\n" +msgstr "" +"LOCAL: 削除\n" +"Remote:\n" -#: lib/option.tcl:254 -msgid "Change Font" -msgstr "フォントを変更" +#: lib/diff.tcl:145 +msgid "" +"REMOTE: deleted\n" +"LOCAL:\n" +msgstr "" +"REMOTE: 削除\n" +"LOCAL:\n" + +#: lib/diff.tcl:152 +msgid "LOCAL:\n" +msgstr "LOCAL:\n" -#: lib/option.tcl:258 +#: lib/diff.tcl:155 +msgid "REMOTE:\n" +msgstr "REMOTE\n" + +#: lib/diff.tcl:217 lib/diff.tcl:355 #, tcl-format -msgid "Choose %s" -msgstr "%s を選択" +msgid "Unable to display %s" +msgstr "%s を表示できません" -#: lib/option.tcl:264 -msgid "pt." -msgstr "ポイント" +#: lib/diff.tcl:218 +msgid "Error loading file:" +msgstr "ファイルを読む際のエラーです:" -#: lib/option.tcl:278 -msgid "Preferences" -msgstr "設定" +#: lib/diff.tcl:225 +msgid "Git Repository (subproject)" +msgstr "Git リポジトリ(サブプロジェクト)" -#: lib/option.tcl:314 -msgid "Failed to completely save options:" -msgstr "完全にオプションを保存できません:" +#: lib/diff.tcl:237 +msgid "* Binary file (not showing content)." +msgstr "* バイナリファイル(内容は表示しません)" -#: lib/remote.tcl:163 -msgid "Remove Remote" -msgstr "リモートを削除" +#: lib/diff.tcl:242 +#, tcl-format +msgid "" +"* Untracked file is %d bytes.\n" +"* Showing only first %d bytes.\n" +msgstr "" +"* 管理外のファイルの大きさは %d バイトです。\n" +"* 最初の %d バイトだけ表示しています。\n" -#: lib/remote.tcl:168 -msgid "Prune from" -msgstr "から刈込む…" +#: lib/diff.tcl:248 +#, tcl-format +msgid "" +"\n" +"* Untracked file clipped here by %s.\n" +"* To see the entire file, use an external editor.\n" +msgstr "" +"\n" +"\n" +"* %s は管理外のファイルをここで切りおとしました。\n" +"* 全体を見るには外部エディタを使ってください。\n" -#: lib/remote.tcl:173 -msgid "Fetch from" -msgstr "取得元" +#: lib/diff.tcl:578 +msgid "Failed to unstage selected hunk." +msgstr "選択されたパッチをコミット予定から外せません。" -#: lib/remote.tcl:215 -msgid "Push to" -msgstr "プッシュ先" +#: lib/diff.tcl:585 +msgid "Failed to stage selected hunk." +msgstr "選択されたパッチをコミット予定に加えられません。" -#: lib/remote_add.tcl:19 -msgid "Add Remote" -msgstr "リモートを追加" +#: lib/diff.tcl:664 +msgid "Failed to unstage selected line." +msgstr "選択されたパッチ行をコミット予定から外せません。" -#: lib/remote_add.tcl:24 -msgid "Add New Remote" -msgstr "リモートを新規に追加" +#: lib/diff.tcl:672 +msgid "Failed to stage selected line." +msgstr "選択されたパッチ行をコミット予定に加えられません。" -#: lib/remote_add.tcl:28 lib/tools_dlg.tcl:36 -msgid "Add" -msgstr "追加" +#: lib/branch_checkout.tcl:16 lib/branch_checkout.tcl:21 +msgid "Checkout Branch" +msgstr "ブランチをチェックアウト" -#: lib/remote_add.tcl:37 -msgid "Remote Details" -msgstr "リモートの詳細" +#: lib/branch_checkout.tcl:26 +msgid "Checkout" +msgstr "チェックアウト" -#: lib/remote_add.tcl:50 -msgid "Location:" -msgstr "場所:" +#: lib/branch_checkout.tcl:42 lib/branch_create.tcl:92 +msgid "Fetch Tracking Branch" +msgstr "トラッキング・ブランチをフェッチ" -#: lib/remote_add.tcl:62 -msgid "Further Action" -msgstr "その他の動作" +#: lib/branch_checkout.tcl:47 +msgid "Detach From Local Branch" +msgstr "ローカル・ブランチから削除" -#: lib/remote_add.tcl:65 -msgid "Fetch Immediately" -msgstr "即座に取得" +#: lib/index.tcl:6 +msgid "Unable to unlock the index." +msgstr "インデックスをロックできません" -#: lib/remote_add.tcl:71 -msgid "Initialize Remote Repository and Push" -msgstr "リモートレポジトリを初期化してプッシュ" +#: lib/index.tcl:17 +msgid "Index Error" +msgstr "索引エラー" -#: lib/remote_add.tcl:77 -msgid "Do Nothing Else Now" -msgstr "何もしない" +#: lib/index.tcl:19 +msgid "" +"Updating the Git index failed. A rescan will be automatically started to " +"resynchronize git-gui." +msgstr "" +"GIT インデックスの更新が失敗しました。git-gui と同期をとるために再スキャンし" +"ます。" + +#: lib/index.tcl:30 +msgid "Continue" +msgstr "続行" -#: lib/remote_add.tcl:101 -msgid "Please supply a remote name." -msgstr "リモート名を指定して下さい。" +#: lib/index.tcl:33 +msgid "Unlock Index" +msgstr "インデックスのロック解除" -#: lib/remote_add.tcl:114 +#: lib/index.tcl:298 #, tcl-format -msgid "'%s' is not an acceptable remote name." -msgstr "'%s' はリモート名に使えません。" +msgid "Unstaging %s from commit" +msgstr "コミットから '%s' を降ろす" -#: lib/remote_add.tcl:125 -#, tcl-format -msgid "Failed to add remote '%s' of location '%s'." -msgstr "場所 '%2$s' のリモート '%1$s'の名前変更に失敗しました。" +#: lib/index.tcl:337 +msgid "Ready to commit." +msgstr "コミット準備完了" -#: lib/remote_add.tcl:133 lib/transport.tcl:6 +#: lib/index.tcl:350 #, tcl-format -msgid "fetch %s" -msgstr "%s を取得" +msgid "Adding %s" +msgstr "コミットに %s を加えています" -#: lib/remote_add.tcl:134 +#: lib/index.tcl:380 #, tcl-format -msgid "Fetching the %s" -msgstr "%s からフェッチしています" +msgid "Stage %d untracked files?" +msgstr "管理外の %d ファイルをコミット予定としますか?" -#: lib/remote_add.tcl:157 +#: lib/index.tcl:428 #, tcl-format -msgid "Do not know how to initialize repository at location '%s'." -msgstr "リポジトリ '%s' を初期化できません。" +msgid "Revert changes in file %s?" +msgstr "ファイル %s にした変更を元に戻しますか?" -#: lib/remote_add.tcl:163 lib/transport.tcl:25 lib/transport.tcl:63 -#: lib/transport.tcl:81 +#: lib/index.tcl:430 #, tcl-format -msgid "push %s" -msgstr "%s をプッシュ" +msgid "Revert changes in these %i files?" +msgstr "これら %i 個のファイルにした変更を元に戻しますか?" -#: lib/remote_add.tcl:164 -#, tcl-format -msgid "Setting up the %s (at %s)" -msgstr "%2$s にある %1$s をセットアップします" +#: lib/index.tcl:438 +msgid "Any unstaged changes will be permanently lost by the revert." +msgstr "変更を元に戻すとコミット予定していない変更は全て失われます。" -#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 -msgid "Delete Branch Remotely" -msgstr "遠隔でブランチ削除" +#: lib/index.tcl:441 +msgid "Do Nothing" +msgstr "何もしない" -#: lib/remote_branch_delete.tcl:47 -msgid "From Repository" -msgstr "元のリポジトリ" +#: lib/index.tcl:459 +msgid "Reverting selected files" +msgstr "選択されたファイルにした変更を元に戻します" -#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:134 -msgid "Remote:" -msgstr "リモート:" +#: lib/index.tcl:463 +#, tcl-format +msgid "Reverting %s" +msgstr "%s にした変更を元に戻します" -#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:149 -msgid "Arbitrary Location:" -msgstr "任意の位置:" +#: lib/sshkey.tcl:31 +msgid "No keys found." +msgstr "キーがありません。" -#: lib/remote_branch_delete.tcl:84 -msgid "Branches" -msgstr "ブランチ" +#: lib/sshkey.tcl:34 +#, tcl-format +msgid "Found a public key in: %s" +msgstr "公開鍵がありました: %s" -#: lib/remote_branch_delete.tcl:109 -msgid "Delete Only If" -msgstr "条件付で削除" +#: lib/sshkey.tcl:40 +msgid "Generate Key" +msgstr "鍵を生成" -#: lib/remote_branch_delete.tcl:111 -msgid "Merged Into:" -msgstr "マージ先:" +#: lib/sshkey.tcl:58 +msgid "Copy To Clipboard" +msgstr "クリップボードにコピー" -#: lib/remote_branch_delete.tcl:152 -msgid "A branch is required for 'Merged Into'." -msgstr "'マージ先' にはブランチが必要です。" +#: lib/sshkey.tcl:72 +msgid "Your OpenSSH Public Key" +msgstr "あなたの OpenSSH 公開鍵" + +#: lib/sshkey.tcl:80 +msgid "Generating..." +msgstr "生成中..." -#: lib/remote_branch_delete.tcl:184 +#: lib/sshkey.tcl:86 #, tcl-format msgid "" -"The following branches are not completely merged into %s:\n" +"Could not start ssh-keygen:\n" "\n" -" - %s" +"%s" msgstr "" -"以下のブランチは %s に完全にマージされていません:\n" +"ssh-keygen を起動できません:\n" "\n" -" - %s" - -#: lib/remote_branch_delete.tcl:189 -#, tcl-format -msgid "" -"One or more of the merge tests failed because you have not fetched the " -"necessary commits. Try fetching from %s first." -msgstr "" -"必要なコミットが不足しているために、マージ検査が失敗しました。まず %s から" -"フェッチして下さい。" - -#: lib/remote_branch_delete.tcl:207 -msgid "Please select one or more branches to delete." -msgstr "削除するブランチを選択して下さい。" +"%s" -#: lib/remote_branch_delete.tcl:226 -#, tcl-format -msgid "Deleting branches from %s" -msgstr "%s からブランチを削除しています。" +#: lib/sshkey.tcl:113 +msgid "Generation failed." +msgstr "生成に失敗しました。" -#: lib/remote_branch_delete.tcl:292 -msgid "No repository selected." -msgstr "リポジトリが選択されていません。" +#: lib/sshkey.tcl:120 +msgid "Generation succeeded, but no keys found." +msgstr "生成には成功しましたが、鍵が見つかりません。" -#: lib/remote_branch_delete.tcl:297 +#: lib/sshkey.tcl:123 #, tcl-format -msgid "Scanning %s..." -msgstr "%s をスキャンしています…" - -#: lib/search.tcl:21 -msgid "Find:" -msgstr "検索:" - -#: lib/search.tcl:23 -msgid "Next" -msgstr "次" +msgid "Your key is in: %s" +msgstr "あなたの鍵は %s にあります" -#: lib/search.tcl:24 -msgid "Prev" -msgstr "前" +#: lib/commit.tcl:9 +msgid "" +"There is nothing to amend.\n" +"\n" +"You are about to create the initial commit. There is no commit before this " +"to amend.\n" +msgstr "" +"訂正するコミットがそもそもありません。\n" +"\n" +"これから作るのは最初のコミットです。その前にはまだ訂正するようなコミットはあ" +"りません。\n" -#: lib/search.tcl:25 -msgid "Case-Sensitive" -msgstr "大文字小文字を区別" +#: lib/commit.tcl:18 +msgid "" +"Cannot amend while merging.\n" +"\n" +"You are currently in the middle of a merge that has not been fully " +"completed. You cannot amend the prior commit unless you first abort the " +"current merge activity.\n" +msgstr "" +"マージ中にコミットの訂正はできません。\n" +"\n" +"現在はまだマージの途中です。先にこのマージを中止しないと、前のコミットの訂正" +"はできません\n" -#: lib/shortcut.tcl:21 lib/shortcut.tcl:62 -msgid "Cannot write shortcut:" -msgstr "ショートカットが書けません:" +#: lib/commit.tcl:48 +msgid "Error loading commit data for amend:" +msgstr "訂正するコミットのデータを読めません:" -#: lib/shortcut.tcl:137 -msgid "Cannot write icon:" -msgstr "アイコンが書けません:" +#: lib/commit.tcl:75 +msgid "Unable to obtain your identity:" +msgstr "ユーザの正体を確認できません:" -#: lib/spellcheck.tcl:57 -msgid "Unsupported spell checker" -msgstr "サポートされていないスペルチェッカーです" +#: lib/commit.tcl:80 +msgid "Invalid GIT_COMMITTER_IDENT:" +msgstr "GIT_COMMITTER_IDENT が無効です:" -#: lib/spellcheck.tcl:65 -msgid "Spell checking is unavailable" -msgstr "スペルチェック機能は使えません" +#: lib/commit.tcl:129 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "警告: Tcl はエンコーディング '%s' をサポートしていません" -#: lib/spellcheck.tcl:68 -msgid "Invalid spell checking configuration" -msgstr "スペルチェックの設定が不正です" +#: lib/commit.tcl:149 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before another commit can be created.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"最後にスキャンした状態はリポジトリの状態と合致しません。\n" +"\n" +"最後にスキャンして以後、別の Git プログラムがリポジトリを変更しています。新し" +"くコミットする前に、再スキャンが必要です。\n" +"\n" +"自動的に再スキャンを開始します。\n" -#: lib/spellcheck.tcl:70 +#: lib/commit.tcl:173 #, tcl-format -msgid "Reverting dictionary to %s." -msgstr "辞書を %s に巻き戻します" - -#: lib/spellcheck.tcl:73 -msgid "Spell checker silently failed on startup" -msgstr "スペルチェッカーの起動に失敗しました" +msgid "" +"Unmerged files cannot be committed.\n" +"\n" +"File %s has merge conflicts. You must resolve them and stage the file " +"before committing.\n" +msgstr "" +"マージしていないファイルはコミットできません。\n" +"\n" +"ファイル %s にはマージ衝突が残っています。まず解決してコミット予定に加える必" +"要があります。\n" -#: lib/spellcheck.tcl:80 -msgid "Unrecognized spell checker" -msgstr "スペルチェッカーが判別できません" +#: lib/commit.tcl:181 +#, tcl-format +msgid "" +"Unknown file state %s detected.\n" +"\n" +"File %s cannot be committed by this program.\n" +msgstr "" +"不明なファイル状態 %s です。\n" +"\n" +"ファイル %s は本プログラムではコミットできません。\n" -#: lib/spellcheck.tcl:186 -msgid "No Suggestions" -msgstr "提案なし" +#: lib/commit.tcl:189 +msgid "" +"No changes to commit.\n" +"\n" +"You must stage at least 1 file before you can commit.\n" +msgstr "" +"コミットする変更がありません。\n" +"\n" +"最低一つの変更をコミット予定に加えてからコミットして下さい。\n" -#: lib/spellcheck.tcl:388 -msgid "Unexpected EOF from spell checker" -msgstr "スペルチェッカーが予想外の EOF を返しました" +#: lib/commit.tcl:204 +msgid "" +"Please supply a commit message.\n" +"\n" +"A good commit message has the following format:\n" +"\n" +"- First line: Describe in one sentence what you did.\n" +"- Second line: Blank\n" +"- Remaining lines: Describe why this change is good.\n" +msgstr "" +"コミット・メッセージを入力して下さい。\n" +"\n" +"正しいコミット・メッセージは:\n" +"\n" +"- 第1行: 何をしたか、を1行で要約。\n" +"- 第2行: 空白\n" +"- 残りの行: なぜ、この変更が良い変更か、の説明。\n" -#: lib/spellcheck.tcl:392 -msgid "Spell Checker Failed" -msgstr "スペルチェック失敗" +#: lib/commit.tcl:235 +msgid "Calling pre-commit hook..." +msgstr "コミット前フックを実行中・・・" -#: lib/sshkey.tcl:31 -msgid "No keys found." -msgstr "キーがありません。" +#: lib/commit.tcl:250 +msgid "Commit declined by pre-commit hook." +msgstr "コミット前フックがコミットを拒否しました" -#: lib/sshkey.tcl:34 -#, tcl-format -msgid "Found a public key in: %s" -msgstr "公開鍵がありました: %s" +#: lib/commit.tcl:269 +msgid "" +"You are about to commit on a detached head. This is a potentially dangerous " +"thing to do because if you switch to another branch you will lose your " +"changes and it can be difficult to retrieve them later from the reflog. You " +"should probably cancel this commit and create a new branch to continue.\n" +" \n" +" Do you really want to proceed with your Commit?" +msgstr "" +"分離 HEAD での変更をコミットしようとしています。" +"これは潜在的に危険な行為で、理由は別のブランチへの切り替えで" +"変更が消失し、reflog からの事後復旧も困難となるためです。" +"おそらくこのコミットはキャンセルし新しく作成したブランチで" +"行うべきです。\n" +"\n" +" 本当にコミットを続行しますか?" -#: lib/sshkey.tcl:40 -msgid "Generate Key" -msgstr "鍵を生成" +#: lib/commit.tcl:290 +msgid "Calling commit-msg hook..." +msgstr "コミット・メッセージ・フックを実行中・・・" -#: lib/sshkey.tcl:56 -msgid "Copy To Clipboard" -msgstr "クリップボードにコピー" +#: lib/commit.tcl:305 +msgid "Commit declined by commit-msg hook." +msgstr "コミット・メッセージ・フックがコミットを拒否しました" -#: lib/sshkey.tcl:70 -msgid "Your OpenSSH Public Key" -msgstr "あなたの OpenSSH 公開鍵" +#: lib/commit.tcl:318 +msgid "Committing changes..." +msgstr "変更点をコミット中・・・" -#: lib/sshkey.tcl:78 -msgid "Generating..." -msgstr "生成中..." +#: lib/commit.tcl:334 +msgid "write-tree failed:" +msgstr "write-tree が失敗しました:" + +#: lib/commit.tcl:335 lib/commit.tcl:379 lib/commit.tcl:400 +msgid "Commit failed." +msgstr "コミットに失敗しました。" -#: lib/sshkey.tcl:84 +#: lib/commit.tcl:352 #, tcl-format +msgid "Commit %s appears to be corrupt" +msgstr "コミット %s は壊れています" + +#: lib/commit.tcl:357 msgid "" -"Could not start ssh-keygen:\n" +"No changes to commit.\n" "\n" -"%s" +"No files were modified by this commit and it was not a merge commit.\n" +"\n" +"A rescan will be automatically started now.\n" msgstr "" -"ssh-keygen を起動できません:\n" +"コミットする変更がありません。\n" "\n" -"%s" - -#: lib/sshkey.tcl:111 -msgid "Generation failed." -msgstr "生成に失敗しました。" +"マージでなく、また、一つも変更点がありません。\n" +"\n" +"自動的に再スキャンを開始します。\n" -#: lib/sshkey.tcl:118 -msgid "Generation succeeded, but no keys found." -msgstr "生成には成功しましたが、鍵が見つかりません。" +#: lib/commit.tcl:364 +msgid "No changes to commit." +msgstr "コミットする変更がありません。" -#: lib/sshkey.tcl:121 -#, tcl-format -msgid "Your key is in: %s" -msgstr "あなたの鍵は %s にあります" +#: lib/commit.tcl:378 +msgid "commit-tree failed:" +msgstr "commit-tree が失敗しました:" -#: lib/status_bar.tcl:83 -#, tcl-format -msgid "%s ... %*i of %*i %s (%3i%%)" -msgstr "%1$s ... %4$*i %6$s 中の %2$*i (%7$3i%%)" +#: lib/commit.tcl:399 +msgid "update-ref failed:" +msgstr "update-ref が失敗しました:" -#: lib/tools.tcl:75 +#: lib/commit.tcl:492 #, tcl-format -msgid "Running %s requires a selected file." -msgstr "ファイルを選択してから %s を起動してください。" +msgid "Created commit %s: %s" +msgstr "コミット %s を作成しました: %s" -#: lib/tools.tcl:90 -#, tcl-format -msgid "Are you sure you want to run %s?" -msgstr "本当に %s を起動しますか?" +#: lib/browser.tcl:17 +msgid "Starting..." +msgstr "起動中…" -#: lib/tools.tcl:110 -#, tcl-format -msgid "Tool: %s" -msgstr "ツール: %s" +#: lib/browser.tcl:27 +msgid "File Browser" +msgstr "ファイル・ブラウザ" -#: lib/tools.tcl:111 +#: lib/browser.tcl:132 lib/browser.tcl:149 #, tcl-format -msgid "Running: %s" -msgstr "実行中: %s" +msgid "Loading %s..." +msgstr "%s をロード中…" -#: lib/tools.tcl:149 -#, tcl-format -msgid "Tool completed successfully: %s" -msgstr "ツールが完了しました: %s" +#: lib/browser.tcl:193 +msgid "[Up To Parent]" +msgstr "[上位フォルダへ]" -#: lib/tools.tcl:151 -#, tcl-format -msgid "Tool failed: %s" -msgstr "ツールが失敗しました: %s" +#: lib/browser.tcl:275 lib/browser.tcl:282 +msgid "Browse Branch Files" +msgstr "現在のブランチのファイルを見る" -#: lib/tools_dlg.tcl:22 -msgid "Add Tool" -msgstr "ツールの追加" +#: lib/remote_add.tcl:20 +msgid "Add Remote" +msgstr "リモートを追加" -#: lib/tools_dlg.tcl:28 -msgid "Add New Tool Command" -msgstr "新規ツールコマンドの追加" +#: lib/remote_add.tcl:25 +msgid "Add New Remote" +msgstr "リモートを新規に追加" -#: lib/tools_dlg.tcl:33 -msgid "Add globally" -msgstr "全体に追加" +#: lib/remote_add.tcl:39 +msgid "Remote Details" +msgstr "リモートの詳細" -#: lib/tools_dlg.tcl:45 -msgid "Tool Details" -msgstr "ツールの詳細" +#: lib/remote_add.tcl:50 +msgid "Location:" +msgstr "場所:" -#: lib/tools_dlg.tcl:48 -msgid "Use '/' separators to create a submenu tree:" -msgstr "'/' でサブメニューを区切ります:" +#: lib/remote_add.tcl:60 +msgid "Further Action" +msgstr "その他の動作" -#: lib/tools_dlg.tcl:61 -msgid "Command:" -msgstr "コマンド:" +#: lib/remote_add.tcl:63 +msgid "Fetch Immediately" +msgstr "即座に取得" -#: lib/tools_dlg.tcl:74 -msgid "Show a dialog before running" -msgstr "起動する前にダイアログを表示" +#: lib/remote_add.tcl:69 +msgid "Initialize Remote Repository and Push" +msgstr "リモートレポジトリを初期化してプッシュ" -#: lib/tools_dlg.tcl:80 -msgid "Ask the user to select a revision (sets $REVISION)" -msgstr "ユーザにコミットを一つ選ばせる ($REVISION にセットします)" +#: lib/remote_add.tcl:75 +msgid "Do Nothing Else Now" +msgstr "何もしない" -#: lib/tools_dlg.tcl:85 -msgid "Ask the user for additional arguments (sets $ARGS)" -msgstr "ユーザに他の引数を追加させる ($ARGS にセットします)" +#: lib/remote_add.tcl:100 +msgid "Please supply a remote name." +msgstr "リモート名を指定して下さい。" -#: lib/tools_dlg.tcl:92 -msgid "Don't show the command output window" -msgstr "コマンドからの出力ウィンドウを見せない" +#: lib/remote_add.tcl:113 +#, tcl-format +msgid "'%s' is not an acceptable remote name." +msgstr "'%s' はリモート名に使えません。" -#: lib/tools_dlg.tcl:97 -msgid "Run only if a diff is selected ($FILENAME not empty)" -msgstr "パッチが選ばれているときだけ動かす($FILENAME が空でない)" +#: lib/remote_add.tcl:124 +#, tcl-format +msgid "Failed to add remote '%s' of location '%s'." +msgstr "場所 '%2$s' のリモート '%1$s'の名前変更に失敗しました。" -#: lib/tools_dlg.tcl:121 -msgid "Please supply a name for the tool." -msgstr "ツール名を指定して下さい。" +#: lib/remote_add.tcl:133 +#, tcl-format +msgid "Fetching the %s" +msgstr "%s からフェッチしています" -#: lib/tools_dlg.tcl:129 +#: lib/remote_add.tcl:156 #, tcl-format -msgid "Tool '%s' already exists." -msgstr "ツール '%s' は既に存在します。" +msgid "Do not know how to initialize repository at location '%s'." +msgstr "リポジトリ '%s' を初期化できません。" -#: lib/tools_dlg.tcl:151 +#: lib/remote_add.tcl:163 #, tcl-format -msgid "" -"Could not add tool:\n" -"%s" -msgstr "" -"ツールを追加できません:\n" -"%s" +msgid "Setting up the %s (at %s)" +msgstr "%2$s にある %1$s をセットアップします" -#: lib/tools_dlg.tcl:190 -msgid "Remove Tool" -msgstr "ツールの削除" +#: lib/line.tcl:17 +msgid "Goto Line:" +msgstr "行番号" -#: lib/tools_dlg.tcl:196 -msgid "Remove Tool Commands" -msgstr "ツールコマンドの削除" +#: lib/line.tcl:23 +msgid "Go" +msgstr "移動" -#: lib/tools_dlg.tcl:200 -msgid "Remove" -msgstr "削除" +#: lib/branch_create.tcl:23 +msgid "Create Branch" +msgstr "ブランチを作成" -#: lib/tools_dlg.tcl:236 -msgid "(Blue denotes repository-local tools)" -msgstr "(青色はローカルレポジトリのツールです)" +#: lib/branch_create.tcl:28 +msgid "Create New Branch" +msgstr "ブランチを新規作成" -#: lib/tools_dlg.tcl:297 -#, tcl-format -msgid "Run Command: %s" -msgstr "コマンドを起動: %s" +#: lib/branch_create.tcl:42 +msgid "Branch Name" +msgstr "ブランチ名" -#: lib/tools_dlg.tcl:311 -msgid "Arguments" -msgstr "引数" +#: lib/branch_create.tcl:57 +msgid "Match Tracking Branch Name" +msgstr "トラッキング・ブランチ名を合わせる" -#: lib/tools_dlg.tcl:348 -msgid "OK" -msgstr "OK" +#: lib/branch_create.tcl:66 +msgid "Starting Revision" +msgstr "初期リビジョン" -#: lib/transport.tcl:7 -#, tcl-format -msgid "Fetching new changes from %s" -msgstr "%s から新しい変更をフェッチしています" +#: lib/branch_create.tcl:72 +msgid "Update Existing Branch:" +msgstr "既存のブランチを更新:" -#: lib/transport.tcl:18 -#, tcl-format -msgid "remote prune %s" -msgstr "遠隔刈込 %s" +#: lib/branch_create.tcl:75 +msgid "No" +msgstr "いいえ" -#: lib/transport.tcl:19 -#, tcl-format -msgid "Pruning tracking branches deleted from %s" -msgstr "%s から削除されたトラッキング・ブランチを刈っています" +#: lib/branch_create.tcl:80 +msgid "Fast Forward Only" +msgstr "早送りのみ" -#: lib/transport.tcl:26 -#, tcl-format -msgid "Pushing changes to %s" -msgstr "%s へ変更をプッシュしています" +#: lib/branch_create.tcl:97 +msgid "Checkout After Creation" +msgstr "作成してすぐチェックアウト" -#: lib/transport.tcl:64 -#, tcl-format -msgid "Mirroring to %s" -msgstr "%s へミラーしています" +#: lib/branch_create.tcl:132 +msgid "Please select a tracking branch." +msgstr "トラッキング・ブランチを選択して下さい。" -#: lib/transport.tcl:82 +#: lib/branch_create.tcl:141 #, tcl-format -msgid "Pushing %s %s to %s" -msgstr "%3$s へ %1$s %2$s をプッシュしています" +msgid "Tracking branch %s is not a branch in the remote repository." +msgstr "" +"トラッキング・ブランチ %s はリモートリポジトリのブランチではありません。" -#: lib/transport.tcl:100 -msgid "Push Branches" -msgstr "ブランチをプッシュ" +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "サポートされていないスペルチェッカーです" -#: lib/transport.tcl:114 -msgid "Source Branches" -msgstr "元のブランチ" +#: lib/spellcheck.tcl:65 +msgid "Spell checking is unavailable" +msgstr "スペルチェック機能は使えません" -#: lib/transport.tcl:131 -msgid "Destination Repository" -msgstr "送り先リポジトリ" +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "スペルチェックの設定が不正です" -#: lib/transport.tcl:169 -msgid "Transfer Options" -msgstr "通信オプション" +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "辞書を %s に巻き戻します" -#: lib/transport.tcl:171 -msgid "Force overwrite existing branch (may discard changes)" -msgstr "既存ブランチを上書き(変更を破棄する可能性があります)" +#: lib/spellcheck.tcl:73 +msgid "Spell checker silently failed on startup" +msgstr "スペルチェッカーの起動に失敗しました" -#: lib/transport.tcl:175 -msgid "Use thin pack (for slow network connections)" -msgstr "Thin Pack を使う(遅いネットワーク接続)" +#: lib/spellcheck.tcl:80 +msgid "Unrecognized spell checker" +msgstr "スペルチェッカーが判別できません" -#: lib/transport.tcl:179 -msgid "Include tags" -msgstr "タグを含める" +#: lib/spellcheck.tcl:186 +msgid "No Suggestions" +msgstr "提案なし" + +#: lib/spellcheck.tcl:388 +msgid "Unexpected EOF from spell checker" +msgstr "スペルチェッカーが予想外の EOF を返しました" + +#: lib/spellcheck.tcl:392 +msgid "Spell Checker Failed" +msgstr "スペルチェック失敗" diff --git a/git-merge-octopus.sh b/git-merge-octopus.sh index 308eafd1d3..bcf0d92ec2 100755 --- a/git-merge-octopus.sh +++ b/git-merge-octopus.sh @@ -30,7 +30,7 @@ do esac done -# Reject if this is not an Octopus -- resolve should be used instead. +# Reject if this is not an octopus -- resolve should be used instead. case "$remotes" in ?*' '?*) ;; @@ -59,7 +59,7 @@ do # conflicts. Last round failed and we still had # a head to merge. gettextln "Automated merge did not work." - gettextln "Should not be doing an Octopus." + gettextln "Should not be doing an octopus." exit 2 esac diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index 7e558b068c..6fd6d4e5f6 100644 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -1082,7 +1082,7 @@ If they are meant to go into a new commit, run: git commit \$gpg_sign_opt_quoted -In both case, once you're done, continue with: +In both cases, once you're done, continue with: git rebase --continue ")" diff --git a/git-submodule.sh b/git-submodule.sh index b57f87de65..a1cc71b521 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -576,7 +576,7 @@ cmd_update() ${wt_prefix:+--prefix "$wt_prefix"} \ ${prefix:+--recursive-prefix "$prefix"} \ ${update:+--update "$update"} \ - ${reference:+--reference "$reference"} \ + ${reference:+"$reference"} \ ${depth:+--depth "$depth"} \ ${recommend_shallow:+"$recommend_shallow"} \ ${jobs:+$jobs} \ diff --git a/git.c b/git.c index 0f1937fd0c..1c61151758 100644 --- a/git.c +++ b/git.c @@ -522,21 +522,34 @@ static void strip_extension(const char **argv) static void handle_builtin(int argc, const char **argv) { + struct argv_array args = ARGV_ARRAY_INIT; const char *cmd; struct cmd_struct *builtin; strip_extension(argv); cmd = argv[0]; - /* Turn "git cmd --help" into "git help cmd" */ + /* Turn "git cmd --help" into "git help --exclude-guides cmd" */ if (argc > 1 && !strcmp(argv[1], "--help")) { + int i; + argv[1] = argv[0]; argv[0] = cmd = "help"; + + for (i = 0; i < argc; i++) { + argv_array_push(&args, argv[i]); + if (!i) + argv_array_push(&args, "--exclude-guides"); + } + + argc++; + argv = args.argv; } builtin = get_builtin(cmd); if (builtin) exit(run_builtin(builtin, argc, argv)); + argv_array_clear(&args); } static void execv_dashed_external(const char **argv) diff --git a/graph.c b/graph.c index dd1720148d..06f1139f2e 100644 --- a/graph.c +++ b/graph.c @@ -2,7 +2,6 @@ #include "commit.h" #include "color.h" #include "graph.h" -#include "diff.h" #include "revision.h" /* Internal API */ @@ -28,8 +27,15 @@ static void graph_padding_line(struct git_graph *graph, struct strbuf *sb); * responsible for printing this line's graph (perhaps via * graph_show_commit() or graph_show_oneline()) before calling * graph_show_strbuf(). + * + * Note that unlike some other graph display functions, you must pass the file + * handle directly. It is assumed that this is the same file handle as the + * file specified by the graph diff options. This is necessary so that + * graph_show_strbuf can be called even with a NULL graph. */ -static void graph_show_strbuf(struct git_graph *graph, struct strbuf const *sb); +static void graph_show_strbuf(struct git_graph *graph, + FILE *file, + struct strbuf const *sb); /* * TODO: @@ -59,6 +65,17 @@ enum graph_state { GRAPH_COLLAPSING }; +static void graph_show_line_prefix(const struct diff_options *diffopt) +{ + if (!diffopt || !diffopt->line_prefix) + return; + + fwrite(diffopt->line_prefix, + sizeof(char), + diffopt->line_prefix_length, + diffopt->file); +} + static const char **column_colors; static unsigned short column_colors_max; @@ -195,14 +212,28 @@ static struct strbuf *diff_output_prefix_callback(struct diff_options *opt, void static struct strbuf msgbuf = STRBUF_INIT; assert(opt); - assert(graph); - opt->output_prefix_length = graph->width; strbuf_reset(&msgbuf); - graph_padding_line(graph, &msgbuf); + if (opt->line_prefix) + strbuf_add(&msgbuf, opt->line_prefix, + opt->line_prefix_length); + if (graph) + graph_padding_line(graph, &msgbuf); return &msgbuf; } +static const struct diff_options *default_diffopt; + +void graph_setup_line_prefix(struct diff_options *diffopt) +{ + default_diffopt = diffopt; + + /* setup an output prefix callback if necessary */ + if (diffopt && !diffopt->output_prefix) + diffopt->output_prefix = diff_output_prefix_callback; +} + + struct git_graph *graph_init(struct rev_info *opt) { struct git_graph *graph = xmalloc(sizeof(struct git_graph)); @@ -245,7 +276,6 @@ struct git_graph *graph_init(struct rev_info *opt) */ opt->diffopt.output_prefix = diff_output_prefix_callback; opt->diffopt.output_prefix_data = graph; - opt->diffopt.output_prefix_length = 0; return graph; } @@ -1185,6 +1215,8 @@ void graph_show_commit(struct git_graph *graph) struct strbuf msgbuf = STRBUF_INIT; int shown_commit_line = 0; + graph_show_line_prefix(default_diffopt); + if (!graph) return; @@ -1202,8 +1234,10 @@ void graph_show_commit(struct git_graph *graph) shown_commit_line = graph_next_line(graph, &msgbuf); fwrite(msgbuf.buf, sizeof(char), msgbuf.len, graph->revs->diffopt.file); - if (!shown_commit_line) + if (!shown_commit_line) { putc('\n', graph->revs->diffopt.file); + graph_show_line_prefix(&graph->revs->diffopt); + } strbuf_setlen(&msgbuf, 0); } @@ -1214,6 +1248,8 @@ void graph_show_oneline(struct git_graph *graph) { struct strbuf msgbuf = STRBUF_INIT; + graph_show_line_prefix(default_diffopt); + if (!graph) return; @@ -1226,6 +1262,8 @@ void graph_show_padding(struct git_graph *graph) { struct strbuf msgbuf = STRBUF_INIT; + graph_show_line_prefix(default_diffopt); + if (!graph) return; @@ -1239,6 +1277,8 @@ int graph_show_remainder(struct git_graph *graph) struct strbuf msgbuf = STRBUF_INIT; int shown = 0; + graph_show_line_prefix(default_diffopt); + if (!graph) return 0; @@ -1252,27 +1292,24 @@ int graph_show_remainder(struct git_graph *graph) strbuf_setlen(&msgbuf, 0); shown = 1; - if (!graph_is_commit_finished(graph)) + if (!graph_is_commit_finished(graph)) { putc('\n', graph->revs->diffopt.file); - else + graph_show_line_prefix(&graph->revs->diffopt); + } else { break; + } } strbuf_release(&msgbuf); return shown; } - -static void graph_show_strbuf(struct git_graph *graph, struct strbuf const *sb) +static void graph_show_strbuf(struct git_graph *graph, + FILE *file, + struct strbuf const *sb) { char *p; - if (!graph) { - fwrite(sb->buf, sizeof(char), sb->len, - graph->revs->diffopt.file); - return; - } - /* * Print the strbuf line by line, * and display the graph info before each line but the first. @@ -1287,7 +1324,7 @@ static void graph_show_strbuf(struct git_graph *graph, struct strbuf const *sb) } else { len = (sb->buf + sb->len) - p; } - fwrite(p, sizeof(char), len, graph->revs->diffopt.file); + fwrite(p, sizeof(char), len, file); if (next_p && *next_p != '\0') graph_show_oneline(graph); p = next_p; @@ -1295,29 +1332,20 @@ static void graph_show_strbuf(struct git_graph *graph, struct strbuf const *sb) } void graph_show_commit_msg(struct git_graph *graph, + FILE *file, struct strbuf const *sb) { int newline_terminated; - if (!graph) { - /* - * If there's no graph, just print the message buffer. - * - * The message buffer for CMIT_FMT_ONELINE and - * CMIT_FMT_USERFORMAT are already missing a terminating - * newline. All of the other formats should have it. - */ - fwrite(sb->buf, sizeof(char), sb->len, - graph->revs->diffopt.file); - return; - } - - newline_terminated = (sb->len && sb->buf[sb->len - 1] == '\n'); - /* * Show the commit message */ - graph_show_strbuf(graph, sb); + graph_show_strbuf(graph, file, sb); + + if (!graph) + return; + + newline_terminated = (sb->len && sb->buf[sb->len - 1] == '\n'); /* * If there is more output needed for this commit, show it now @@ -1329,7 +1357,7 @@ void graph_show_commit_msg(struct git_graph *graph, * new line. */ if (!newline_terminated) - putc('\n', graph->revs->diffopt.file); + putc('\n', file); graph_show_remainder(graph); @@ -1337,6 +1365,6 @@ void graph_show_commit_msg(struct git_graph *graph, * If sb ends with a newline, our output should too. */ if (newline_terminated) - putc('\n', graph->revs->diffopt.file); + putc('\n', file); } } diff --git a/graph.h b/graph.h index 3f48c19b62..af623390b6 100644 --- a/graph.h +++ b/graph.h @@ -1,9 +1,22 @@ #ifndef GRAPH_H #define GRAPH_H +#include "diff.h" /* A graph is a pointer to this opaque structure */ struct git_graph; +/* + * Called to setup global display of line_prefix diff option. + * + * Passed a diff_options structure which indicates the line_prefix and the + * file to output the prefix to. This is sort of a hack used so that the + * line_prefix will be honored by all flows which also honor "--graph" + * regardless of whether a graph has actually been setup. The normal graph + * flow will honor the exact diff_options passed, but a NULL graph will cause + * display of a line_prefix to stdout. + */ +void graph_setup_line_prefix(struct diff_options *diffopt); + /* * Set up a custom scheme for column colors. * @@ -113,7 +126,14 @@ int graph_show_remainder(struct git_graph *graph); * missing a terminating newline (including if it is empty), the output * printed by graph_show_commit_msg() will also be missing a terminating * newline. + * + * Note that unlike some other graph display functions, you must pass the file + * handle directly. It is assumed that this is the same file handle as the + * file specified by the graph diff options. This is necessary so that + * graph_show_commit_msg can be called even with a NULL graph. */ -void graph_show_commit_msg(struct git_graph *graph, struct strbuf const *sb); +void graph_show_commit_msg(struct git_graph *graph, + FILE *file, + struct strbuf const *sb); #endif /* GRAPH_H */ diff --git a/hex.c b/hex.c index 9619b67af0..ab2610e498 100644 --- a/hex.c +++ b/hex.c @@ -39,16 +39,8 @@ int get_sha1_hex(const char *hex, unsigned char *sha1) { int i; for (i = 0; i < GIT_SHA1_RAWSZ; i++) { - unsigned int val; - /* - * hex[1]=='\0' is caught when val is checked below, - * but if hex[0] is NUL we have to avoid reading - * past the end of the string: - */ - if (!hex[0]) - return -1; - val = (hexval(hex[0]) << 4) | hexval(hex[1]); - if (val & ~0xff) + int val = hex2chr(hex); + if (val < 0) return -1; *sha1++ = val; hex += 2; diff --git a/http.c b/http.c index cd40b012f8..edce47ca75 100644 --- a/http.c +++ b/http.c @@ -723,7 +723,7 @@ static CURL *get_curl_handle(void) * precedence here, as in CURL. */ if (!curl_http_proxy) { - if (!strcmp(http_auth.protocol, "https")) { + if (http_auth.protocol && !strcmp(http_auth.protocol, "https")) { var_override(&curl_http_proxy, getenv("HTTPS_PROXY")); var_override(&curl_http_proxy, getenv("https_proxy")); } else { diff --git a/log-tree.c b/log-tree.c index bfb735c845..8c2415747a 100644 --- a/log-tree.c +++ b/log-tree.c @@ -715,10 +715,7 @@ void show_log(struct rev_info *opt) else opt->missing_newline = 0; - if (opt->graph) - graph_show_commit_msg(opt->graph, &msgbuf); - else - fwrite(msgbuf.buf, sizeof(char), msgbuf.len, opt->diffopt.file); + graph_show_commit_msg(opt->graph, opt->diffopt.file, &msgbuf); if (opt->use_terminator && !commit_format_is_empty(opt->commit_format)) { if (!opt->missing_newline) graph_show_padding(opt->graph); diff --git a/path.c b/path.c index fe3c4d96c6..a8e72955f6 100644 --- a/path.c +++ b/path.c @@ -6,6 +6,7 @@ #include "string-list.h" #include "dir.h" #include "worktree.h" +#include "submodule-config.h" static int get_st_mode_bits(const char *path, int *mode) { @@ -468,12 +469,16 @@ const char *worktree_git_path(const struct worktree *wt, const char *fmt, ...) return pathname->buf; } -static void do_submodule_path(struct strbuf *buf, const char *path, - const char *fmt, va_list args) +/* Returns 0 on success, negative on failure. */ +#define SUBMODULE_PATH_ERR_NOT_CONFIGURED -1 +static int do_submodule_path(struct strbuf *buf, const char *path, + const char *fmt, va_list args) { const char *git_dir; struct strbuf git_submodule_common_dir = STRBUF_INIT; struct strbuf git_submodule_dir = STRBUF_INIT; + const struct submodule *sub; + int err = 0; strbuf_addstr(buf, path); strbuf_complete(buf, '/'); @@ -484,6 +489,17 @@ static void do_submodule_path(struct strbuf *buf, const char *path, strbuf_reset(buf); strbuf_addstr(buf, git_dir); } + if (!is_git_directory(buf->buf)) { + gitmodules_config(); + sub = submodule_from_path(null_sha1, path); + if (!sub) { + err = SUBMODULE_PATH_ERR_NOT_CONFIGURED; + goto cleanup; + } + strbuf_reset(buf); + strbuf_git_path(buf, "%s/%s", "modules", sub->name); + } + strbuf_addch(buf, '/'); strbuf_addbuf(&git_submodule_dir, buf); @@ -494,27 +510,38 @@ static void do_submodule_path(struct strbuf *buf, const char *path, strbuf_cleanup_path(buf); +cleanup: strbuf_release(&git_submodule_dir); strbuf_release(&git_submodule_common_dir); + + return err; } char *git_pathdup_submodule(const char *path, const char *fmt, ...) { + int err; va_list args; struct strbuf buf = STRBUF_INIT; va_start(args, fmt); - do_submodule_path(&buf, path, fmt, args); + err = do_submodule_path(&buf, path, fmt, args); va_end(args); + if (err) { + strbuf_release(&buf); + return NULL; + } return strbuf_detach(&buf, NULL); } -void strbuf_git_path_submodule(struct strbuf *buf, const char *path, - const char *fmt, ...) +int strbuf_git_path_submodule(struct strbuf *buf, const char *path, + const char *fmt, ...) { + int err; va_list args; va_start(args, fmt); - do_submodule_path(buf, path, fmt, args); + err = do_submodule_path(buf, path, fmt, args); va_end(args); + + return err; } static void do_git_common_path(struct strbuf *buf, diff --git a/pkt-line.c b/pkt-line.c index 62fdb37079..30489c60b1 100644 --- a/pkt-line.c +++ b/pkt-line.c @@ -172,27 +172,8 @@ static int get_packet_data(int fd, char **src_buf, size_t *src_size, static int packet_length(const char *linelen) { - int n; - int len = 0; - - for (n = 0; n < 4; n++) { - unsigned char c = linelen[n]; - len <<= 4; - if (c >= '0' && c <= '9') { - len += c - '0'; - continue; - } - if (c >= 'a' && c <= 'f') { - len += c - 'a' + 10; - continue; - } - if (c >= 'A' && c <= 'F') { - len += c - 'A' + 10; - continue; - } - return -1; - } - return len; + int val = hex2chr(linelen); + return (val < 0) ? val : (val << 8) | hex2chr(linelen + 2); } int packet_read(int fd, char **src_buf, size_t *src_len, diff --git a/po/TEAMS b/po/TEAMS index 56274ad4f3..d3e63bc480 100644 --- a/po/TEAMS +++ b/po/TEAMS @@ -37,8 +37,9 @@ Repository: https://github.com/changwoo/git-l10n-ko/ Leader: Changwoo Ryu Language: pt_PT (Portuguese - Portugal) -Repository: https://github.com/marcomsousa/git-l10n-pt_PT/ -Leader: Marco Sousa +Repository: https://github.com/vascool/git-po-pt/ +Leader: Vasco Almeida +Members: Marco Sousa Language: ru (Russian) Repository: https://github.com/DJm00n/git-po-ru/ diff --git a/po/ca.po b/po/ca.po index 46000d7d64..30e00e2b58 100644 --- a/po/ca.po +++ b/po/ca.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: Git\n" "Report-Msgid-Bugs-To: Git Mailing List \n" -"POT-Creation-Date: 2016-03-16 00:16+0800\n" -"PO-Revision-Date: 2016-03-19 23:51-0600\n" +"POT-Creation-Date: 2016-08-27 23:21+0800\n" +"PO-Revision-Date: 2016-08-28 10:32-0600\n" "Last-Translator: Alex Henrie \n" "Language-Team: Catalan\n" "Language: ca\n" @@ -16,14 +16,39 @@ 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.7\n" +"X-Generator: Poedit 1.8.8\n" #: advice.c:55 #, c-format msgid "hint: %.*s\n" msgstr "pista: %.*s\n" -#: advice.c:88 +#: advice.c:83 +msgid "Cherry-picking is not possible because you have unmerged files." +msgstr "Recollir cireres no és possible perquè teniu fitxers no fusionats." + +#: advice.c:85 +msgid "Committing is not possible because you have unmerged files." +msgstr "Cometre no és possible perquè teniu fitxers no fusionats." + +#: advice.c:87 +msgid "Merging is not possible because you have unmerged files." +msgstr "Fusionar no és possible perquè teniu fitxers no fusionats." + +#: advice.c:89 +msgid "Pulling is not possible because you have unmerged files." +msgstr "Baixar no es possible perquè teniu fitxers no fusionats." + +#: advice.c:91 +msgid "Reverting is not possible because you have unmerged files." +msgstr "Revertir no és possible perquè teniu fitxers no fusionats." + +#: advice.c:93 +#, c-format +msgid "It is not possible to %s because you have unmerged files." +msgstr "No es possible %s perquè teniu fitxers no fusionats." + +#: advice.c:101 msgid "" "Fix them up in the work tree, and then use 'git add/rm '\n" "as appropriate to mark resolution and make a commit." @@ -32,17 +57,48 @@ msgstr "" "'git add/rm ' segons sigui apropiat per a marcar la\n" "resolució i feu una comissió." -#: advice.c:101 builtin/merge.c:1226 +#: advice.c:109 +msgid "Exiting because of an unresolved conflict." +msgstr "S'està sortint a causa d'un conflicte no resolt." + +#: advice.c:114 builtin/merge.c:1181 msgid "You have not concluded your merge (MERGE_HEAD exists)." msgstr "No heu conclòs la vostra fusió (MERGE_HEAD existeix)." -#: advice.c:103 +#: advice.c:116 msgid "Please, commit your changes before merging." msgstr "Si us plau, cometeu els vostres canvis abans de fusionar." -#: advice.c:104 +#: advice.c:117 msgid "Exiting because of unfinished merge." -msgstr "Sortint a causa d'una fusió no terminada." +msgstr "S'està sortint a causa d'una fusió no terminada." + +#: advice.c:123 +#, c-format +msgid "" +"Note: checking out '%s'.\n" +"\n" +"You are in 'detached HEAD' state. You can look around, make experimental\n" +"changes and commit them, and you can discard any commits you make in this\n" +"state without impacting any branches by performing another checkout.\n" +"\n" +"If you want to create a new branch to retain commits you create, you may\n" +"do so (now or later) by using -b with the checkout command again. Example:\n" +"\n" +" git checkout -b \n" +"\n" +msgstr "" +"Avís: s'està agafant '%s'.\n" +"\n" +"Esteu en un estat de 'HEAD separat'. Podeu mirar al voltant, fer canvis\n" +"experimentals i cometre-los i podeu descartar qualsevulla comissió que feu\n" +"en aquest estat sense impactar cap branca realitzant un altre agafament.\n" +"\n" +"Si voleu crear una branca nova per a conservar les comissions que creeu,\n" +"poder fer així (ara o més tard) usant -b de nou amb l'ordre checkout.\n" +"Exemple:\n" +"\n" +" git checkout -b \n" #: archive.c:12 msgid "git archive [] [...]" @@ -63,7 +119,7 @@ msgstr "" msgid "git archive --remote [--exec ] --list" msgstr "git archive --remote [--exec ] --list" -#: archive.c:344 builtin/add.c:137 builtin/add.c:420 builtin/rm.c:327 +#: archive.c:344 builtin/add.c:139 builtin/add.c:435 builtin/rm.c:327 #, c-format msgid "pathspec '%s' did not match any files" msgstr "L'especificació de camí '%s' no ha coincidit amb cap fitxer" @@ -76,7 +132,7 @@ msgstr "format" msgid "archive format" msgstr "format d'arxiu" -#: archive.c:430 builtin/log.c:1232 +#: archive.c:430 builtin/log.c:1422 msgid "prefix" msgstr "prefix" @@ -84,10 +140,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: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 +#: archive.c:432 builtin/archive.c:88 builtin/blame.c:2553 builtin/blame.c:2554 +#: builtin/config.c:59 builtin/fast-export.c:987 builtin/fast-export.c:989 +#: builtin/grep.c:722 builtin/hash-object.c:100 builtin/ls-files.c:460 +#: builtin/ls-files.c:463 builtin/notes.c:399 builtin/notes.c:562 #: builtin/read-tree.c:109 parse-options.h:153 msgid "file" msgstr "fitxer" @@ -120,7 +176,8 @@ 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:78 +#: archive.c:451 builtin/archive.c:90 builtin/clone.c:82 +#: builtin/submodule--helper.c:832 msgid "repo" msgstr "dipòsit" @@ -128,7 +185,7 @@ msgstr "dipòsit" msgid "retrieve the archive from remote repository " msgstr "recupera l'arxiu del dipòsit remot " -#: archive.c:453 builtin/archive.c:92 builtin/notes.c:482 +#: archive.c:453 builtin/archive.c:92 builtin/notes.c:483 msgid "command" msgstr "ordre" @@ -136,6 +193,28 @@ msgstr "ordre" msgid "path to the remote git-upload-archive command" msgstr "camí a l'ordre git-upload-archive remota" +#: archive.c:461 +msgid "Unexpected option --remote" +msgstr "Opció inesperada --remote" + +#: archive.c:463 +msgid "Option --exec can only be used together with --remote" +msgstr "L'opció --exec només es pot usar junt amb --remote" + +#: archive.c:465 +msgid "Unexpected option --output" +msgstr "Opció inesperada --output" + +#: archive.c:487 +#, c-format +msgid "Unknown archive format '%s'" +msgstr "Format d'arxiu desconegut '%s'" + +#: archive.c:494 +#, c-format +msgid "Argument not supported for format '%s': -%d" +msgstr "Paràmetre no admet per al format '%s': -%d" + #: attr.c:263 msgid "" "Negative patterns are ignored in git attributes\n" @@ -144,6 +223,130 @@ msgstr "" "Els patrons negatius s'ignoren en els atributs de git\n" "Useu '\\!' per exclamació capdavantera literal." +#: bisect.c:441 +#, c-format +msgid "Could not open file '%s'" +msgstr "No s'ha pogut obrir el fitxer '%s'" + +#: bisect.c:446 +#, c-format +msgid "Badly quoted content in file '%s': %s" +msgstr "Comentari amb cometes dolentes en el fitxer '%s': %s" + +#: bisect.c:655 +#, c-format +msgid "We cannot bisect more!\n" +msgstr "No podem bisecar més!\n" + +#: bisect.c:708 +#, c-format +msgid "Not a valid commit name %s" +msgstr "No és un nom de comissió vàlid %s" + +#: bisect.c:732 +#, c-format +msgid "" +"The merge base %s is bad.\n" +"This means the bug has been fixed between %s and [%s].\n" +msgstr "" +"La base de fusió %s és dolenta.\n" +"Això vol dir que el defecte s'ha arreglat entre %s i [%s].\n" + +#: bisect.c:737 +#, c-format +msgid "" +"The merge base %s is new.\n" +"The property has changed between %s and [%s].\n" +msgstr "" +"La base de fusió %s és nova.\n" +"La propietat s'ha canviat entre %s i [%s].\n" + +#: bisect.c:742 +#, c-format +msgid "" +"The merge base %s is %s.\n" +"This means the first '%s' commit is between %s and [%s].\n" +msgstr "" +"La base de fusió %s és %s.\n" +"Això vol dir que la primera comissió '%s' és entre %s i [%s].\n" + +#: bisect.c:750 +#, c-format +msgid "" +"Some %s revs are not ancestor of the %s rev.\n" +"git bisect cannot work properly in this case.\n" +"Maybe you mistook %s and %s revs?\n" +msgstr "" +"Unes %s revisions no són els avantpassats de la revisió %s.\n" +"git bisect no pot funcionar correctament en aquest cas.\n" +"Potser heu confós les revisions %s i %s?\n" + +#: bisect.c:763 +#, c-format +msgid "" +"the merge base between %s and [%s] must be skipped.\n" +"So we cannot be sure the first %s commit is between %s and %s.\n" +"We continue anyway." +msgstr "" +"s'ha de saltar la base de fusió entre %s i [%s].\n" +"Llavors, no podem estar segurs que la primera comissió %s sigui entre %s i " +"%s.\n" +"Continuem de totes maneres." + +#: bisect.c:798 +#, c-format +msgid "Bisecting: a merge base must be tested\n" +msgstr "Bisecant: s'ha de provar una base de fusió\n" + +#: bisect.c:849 +#, c-format +msgid "a %s revision is needed" +msgstr "es necessita una revisió %s" + +#: bisect.c:866 builtin/notes.c:174 builtin/tag.c:248 +#, c-format +msgid "could not create file '%s'" +msgstr "no s'ha pogut crear el fitxer '%s'" + +#: bisect.c:917 +#, c-format +msgid "could not read file '%s'" +msgstr "no s'ha pogut llegir el fitxer '%s'" + +#: bisect.c:947 +msgid "reading bisect refs failed" +msgstr "la lectura de les referències de bisecció ha fallat" + +#: bisect.c:967 +#, c-format +msgid "%s was both %s and %s\n" +msgstr "%s era ambdós %s i %s\n" + +#: bisect.c:975 +#, c-format +msgid "" +"No testable commit found.\n" +"Maybe you started with bad path parameters?\n" +msgstr "" +"No s'ha trobat cap comissió provable.\n" +"Potser heu començat amb paràmetres de camí dolents?\n" + +#: bisect.c:994 +#, c-format +msgid "(roughly %d step)" +msgid_plural "(roughly %d steps)" +msgstr[0] "(aproximadament %d pas)" +msgstr[1] "(aproximadament %d passos)" + +#. TRANSLATORS: the last %s will be replaced with +#. "(roughly %d steps)" translation +#: bisect.c:998 +#, c-format +msgid "Bisecting: %d revision left to test after this %s\n" +msgid_plural "Bisecting: %d revisions left to test after this %s\n" +msgstr[0] "Bisecant: manca %d revisió a provar després d'aquesta %s\n" +msgstr[1] "Bisecant: manquen %d revisions a provar després d'aquesta %s\n" + #: branch.c:53 #, c-format msgid "" @@ -160,7 +363,7 @@ msgstr "" #: 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." +msgstr "No s'està establint la branca %s com a la seva pròpia font." #: branch.c:93 #, c-format @@ -280,11 +483,16 @@ msgstr "Nom d'objecte ambigu: '%s'." msgid "Not a valid branch point: '%s'." msgstr "No és un punt de ramificació vàlid: '%s'." -#: branch.c:344 +#: branch.c:345 #, c-format msgid "'%s' is already checked out at '%s'" msgstr "'%s' ja s'ha agafat a '%s'" +#: branch.c:364 +#, c-format +msgid "HEAD of working tree %s is not updated" +msgstr "La HEAD de l'arbre de treball %s no està actualitzat" + #: bundle.c:34 #, c-format msgid "'%s' does not look like a v2 bundle file" @@ -295,7 +503,7 @@ msgstr "'%s' no sembla un fitxer de farcell v2" msgid "unrecognized header: %s%s (%d)" msgstr "capçalera no reconeguda: %s%s (%d)" -#: bundle.c:87 builtin/commit.c:766 +#: bundle.c:87 builtin/commit.c:778 #, c-format msgid "could not open '%s'" msgstr "no s'ha pogut obrir '%s'" @@ -304,10 +512,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: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 +#: bundle.c:163 ref-filter.c:1462 sequencer.c:630 sequencer.c:1085 +#: builtin/blame.c:2763 builtin/commit.c:1057 builtin/log.c:348 +#: builtin/log.c:890 builtin/log.c:1336 builtin/log.c:1659 builtin/log.c:1901 +#: builtin/merge.c:356 builtin/shortlog.c:170 msgid "revision walk setup failed" msgstr "la configuració del passeig per revisions ha fallat" @@ -346,31 +554,31 @@ 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:1372 builtin/shortlog.c:273 +#: bundle.c:443 builtin/log.c:165 builtin/log.c:1565 builtin/shortlog.c:273 #, c-format msgid "unrecognized argument: %s" msgstr "paràmetre no reconegut: %s" -#: bundle.c:449 +#: bundle.c:451 msgid "Refusing to create empty bundle." -msgstr "Refusant crear un farcell buit." +msgstr "S'està refusant crear un farcell buit." -#: bundle.c:459 +#: bundle.c:463 #, c-format msgid "cannot create '%s'" msgstr "no es pot crear '%s'" -#: bundle.c:480 +#: bundle.c:491 msgid "index-pack died" msgstr "L'index-pack s'ha mort" -#: color.c:275 +#: color.c:290 #, c-format msgid "invalid color value: %.*s" msgstr "valor de color no vàlid: %.*s" -#: commit.c:40 builtin/am.c:437 builtin/am.c:473 builtin/am.c:1505 -#: builtin/am.c:2135 +#: commit.c:40 builtin/am.c:433 builtin/am.c:469 builtin/am.c:1505 +#: builtin/am.c:2119 #, c-format msgid "could not parse %s" msgstr "no s'ha pogut analitzar %s" @@ -384,125 +592,195 @@ msgstr "%s %s no és una comissió!" msgid "memory exhausted" msgstr "memòria esgotada" -#: config.c:475 config.c:477 +#: config.c:516 +#, c-format +msgid "bad config line %d in blob %s" +msgstr "línia de configuració dolenta %d en el blob %s" + +#: config.c:520 +#, c-format +msgid "bad config line %d in file %s" +msgstr "línia de configuració dolenta %d en el fitxer %s" + +#: config.c:524 +#, c-format +msgid "bad config line %d in standard input" +msgstr "línia de configuració dolenta %d en l'entrada estàndard" + +#: config.c:528 +#, c-format +msgid "bad config line %d in submodule-blob %s" +msgstr "línia de configuració dolenta %d en el blob de submòdul %s" + +#: config.c:532 #, c-format -msgid "bad config line %d in %s %s" -msgstr "línia de fitxer de configuració dolenta %d en %s %s" +msgid "bad config line %d in command line %s" +msgstr "línia de configuració dolenta %d en la línia d'ordres %s" -#: config.c:593 +#: config.c:536 #, c-format -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" +msgid "bad config line %d in %s" +msgstr "línia de configuració dolenta %d en %s" + +#: config.c:655 +msgid "out of range" +msgstr "fora de rang" -#: config.c:595 +#: config.c:655 +msgid "invalid unit" +msgstr "unitat no vàlida" + +#: config.c:661 #, c-format msgid "bad numeric config value '%s' for '%s': %s" -msgstr "valor de configuració numèrica dolent '%s' per '%s': %s" +msgstr "valor de configuració numèric dolent '%s' per '%s': %s" + +#: config.c:666 +#, c-format +msgid "bad numeric config value '%s' for '%s' in blob %s: %s" +msgstr "valor de configuració numèric dolent '%s' per '%s' en el blob %s: %s" + +#: config.c:669 +#, c-format +msgid "bad numeric config value '%s' for '%s' in file %s: %s" +msgstr "valor de configuració numèric dolent '%s' per '%s' en el fitxer %s: %s" + +#: config.c:672 +#, c-format +msgid "bad numeric config value '%s' for '%s' in standard input: %s" +msgstr "" +"valor de configuració numèric dolent '%s' per '%s' en l'entrada estàndard: %s" + +#: config.c:675 +#, c-format +msgid "bad numeric config value '%s' for '%s' in submodule-blob %s: %s" +msgstr "" +"valor de configuració numèric dolent '%s' per '%s' en el blob de submòdul " +"%s: %s" + +#: config.c:678 +#, c-format +msgid "bad numeric config value '%s' for '%s' in command line %s: %s" +msgstr "" +"valor de configuració numèric dolent '%s' per '%s' en la línia d'ordres %s: " +"%s" + +#: config.c:681 +#, c-format +msgid "bad numeric config value '%s' for '%s' in %s: %s" +msgstr "valor de configuració numèric dolent '%s' per '%s' en %s: %s" -#: config.c:680 +#: config.c:768 #, c-format msgid "failed to expand user dir in: '%s'" msgstr "s'ha fallat en expandir el directori d'usuari en '%s'" -#: config.c:758 config.c:769 +#: config.c:849 config.c:860 #, c-format msgid "bad zlib compression level %d" msgstr "nivell de compressió de zlib dolent %d" -#: config.c:891 +#: config.c:978 #, c-format msgid "invalid mode for object creation: %s" msgstr "mode de creació d'objecte no vàlid: %s" -#: config.c:1220 +#: config.c:1312 msgid "unable to parse command-line config" msgstr "no s'ha pogut analitzar la configuració de la línia d'ordres" -#: 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:1362 +msgid "unknown error occurred while reading the configuration files" +msgstr "un error desconegut ha ocorregut en llegir els fitxers de configuració" -#: config.c:1629 +#: config.c:1716 #, 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:1631 +#: config.c:1718 #, 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:1690 +#: config.c:1777 #, c-format msgid "%s has multiple values" msgstr "%s té múltiples valors" -#: config.c:2226 +#: config.c:2311 +#, c-format +msgid "could not set '%s' to '%s'" +msgstr "no s'ha pogut establir '%s' a '%s'" + +#: config.c:2313 #, c-format -msgid "Could not set '%s' to '%s'" -msgstr "No s'ha pogut establir '%s' com a '%s'" +msgid "could not unset '%s'" +msgstr "no s'ha pogut desestablir '%s'" + +#: connected.c:63 builtin/fsck.c:173 builtin/prune.c:140 +msgid "Checking connectivity" +msgstr "S'està comprovant la connectivitat" -#: connected.c:69 +#: connected.c:74 msgid "Could not run 'git rev-list'" msgstr "No s'ha pogut executar 'git rev-list'" -#: connected.c:89 -#, c-format -msgid "failed write to rev-list: %s" -msgstr "escriptura fallada al rev-list: %s" +#: connected.c:94 +msgid "failed write to rev-list" +msgstr "escriptura fallada a rev-list" -#: connected.c:97 -#, c-format -msgid "failed to close rev-list's stdin: %s" -msgstr "s'ha fallat en tancar l'stdin del rev-list: %s" +#: connected.c:101 +msgid "failed to close rev-list's stdin" +msgstr "s'ha fallat en tancar l'stdin del rev-list" -#: date.c:95 +#: date.c:97 msgid "in the future" msgstr "en el futur" -#: date.c:101 +#: date.c:103 #, c-format msgid "%lu second ago" msgid_plural "%lu seconds ago" msgstr[0] "fa %lu segon" msgstr[1] "fa %lu segons" -#: date.c:108 +#: date.c:110 #, c-format msgid "%lu minute ago" msgid_plural "%lu minutes ago" msgstr[0] "fa %lu minut" msgstr[1] "fa %lu minuts" -#: date.c:115 +#: date.c:117 #, c-format msgid "%lu hour ago" msgid_plural "%lu hours ago" msgstr[0] "fa %lu hora" msgstr[1] "fa %lu hores" -#: date.c:122 +#: date.c:124 #, c-format msgid "%lu day ago" msgid_plural "%lu days ago" msgstr[0] "fa %lu dia" msgstr[1] "fa %lu dies" -#: date.c:128 +#: date.c:130 #, c-format msgid "%lu week ago" msgid_plural "%lu weeks ago" msgstr[0] "fa %lu setmana" msgstr[1] "fa %lu setmanes" -#: date.c:135 +#: date.c:137 #, c-format msgid "%lu month ago" msgid_plural "%lu months ago" msgstr[0] "fa %lu mes" msgstr[1] "fa %lu mesos" -#: date.c:146 +#: date.c:148 #, c-format msgid "%lu year" msgid_plural "%lu years" @@ -510,14 +788,14 @@ msgstr[0] "%lu any" msgstr[1] "%lu anys" #. TRANSLATORS: "%s" is " years" -#: date.c:149 +#: date.c:151 #, c-format msgid "%s, %lu month ago" msgid_plural "%s, %lu months ago" msgstr[0] "fa %s i %lu mes" msgstr[1] "fa %s i %lu mesos" -#: date.c:154 date.c:159 +#: date.c:156 date.c:161 #, c-format msgid "%lu year ago" msgid_plural "%lu years ago" @@ -529,45 +807,45 @@ msgstr[1] "fa %lu anys" msgid "failed to read orderfile '%s'" msgstr "s'ha fallat en llegir el fitxer d'ordres '%s'" -#: diffcore-rename.c:536 +#: diffcore-rename.c:540 msgid "Performing inexact rename detection" -msgstr "Realitzant detecció inexacta de canvis de nom" +msgstr "S'està realitzant una detecció inexacta de canvis de nom" -#: diff.c:115 +#: diff.c:116 #, c-format msgid " Failed to parse dirstat cut-off percentage '%s'\n" msgstr " S'ha fallat en analitzar el percentatge limitant de dirstat '%s'\n" -#: diff.c:120 +#: diff.c:121 #, c-format msgid " Unknown dirstat parameter '%s'\n" msgstr " Paràmetre de dirstat desconegut '%s'\n" -#: diff.c:215 +#: diff.c:225 #, c-format msgid "Unknown value for 'diff.submodule' config variable: '%s'" msgstr "" "Valor desconegut de la variable de configuració de 'diff.submodule': '%s'" -#: diff.c:267 +#: diff.c:277 #, c-format msgid "" "Found errors in 'diff.dirstat' config variable:\n" "%s" msgstr "" -"Errors trobats en la variable de configuració 'diff.dirstat':\n" +"S'han trobat errors en la variable de configuració 'diff.dirstat':\n" "%s" -#: diff.c:2997 +#: diff.c:3017 #, c-format msgid "external diff died, stopping at %s" -msgstr "El diff external s'ha mort, aturant a %s" +msgstr "El diff external s'ha mort, s'està aturant a %s" -#: diff.c:3393 +#: diff.c:3415 msgid "--follow requires exactly one pathspec" msgstr "--follow requereix exactament una especificació de camí" -#: diff.c:3556 +#: diff.c:3578 #, c-format msgid "" "Failed to parse --dirstat/-X option parameter:\n" @@ -576,56 +854,47 @@ msgstr "" "S'ha fallat en analitzar el paràmetre d'opció de --dirstat/-X:\n" "%s" -#: diff.c:3570 +#: diff.c:3592 #, 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:2004 +#: dir.c:1823 msgid "failed to get kernel name and information" msgstr "s'ha fallat en obtenir el nombre i la informació del nucli" -#: dir.c:2123 +#: dir.c:1942 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." -msgstr "no s'ha pogut executar el gpg." - #: gpg-interface.c:178 -msgid "gpg did not accept the data" -msgstr "El gpg no ha acceptat les dades" - -#: gpg-interface.c:189 msgid "gpg failed to sign the data" -msgstr "gpg ha fallat en firmar les dades" +msgstr "gpg ha fallat en signar les dades" -#: gpg-interface.c:222 -#, c-format -msgid "could not create temporary file '%s': %s" -msgstr "no s'ha pogut crear el fitxer temporal '%s': %s" +#: gpg-interface.c:208 +msgid "could not create temporary file" +msgstr "no s'ha pogut crear el fitxer temporal" -#: gpg-interface.c:225 +#: gpg-interface.c:210 #, c-format -msgid "failed writing detached signature to '%s': %s" -msgstr "s'ha fallat en escriure la firma separada a '%s': %s" +msgid "failed writing detached signature to '%s'" +msgstr "s'ha fallat en escriure la signatura separada a '%s'" -#: grep.c:1718 +#: grep.c:1792 #, c-format msgid "'%s': unable to read %s" msgstr "'%s': no s'ha pogut llegir %s" -#: grep.c:1735 +#: grep.c:1809 builtin/clone.c:382 builtin/diff.c:84 builtin/rm.c:155 #, c-format -msgid "'%s': %s" -msgstr "'%s': %s" +msgid "failed to stat '%s'" +msgstr "s'ha fallat en fer stat a '%s'" -#: grep.c:1746 +#: grep.c:1820 #, c-format -msgid "'%s': short read %s" -msgstr "'%s': lectura curta %s" +msgid "'%s': short read" +msgstr "'%s': lectura curta" #: help.c:205 #, c-format @@ -659,8 +928,9 @@ msgid "" "WARNING: You called a Git command named '%s', which does not exist.\n" "Continuing under the assumption that you meant '%s'" 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'" +"ADVERTÈNCIA: Heu invocat una ordre de Git amb nom '%s', la qual no " +"existeix.\n" +"S'està continuant sota l'assumpció que volíeu dir '%s'" #: help.c:393 #, c-format @@ -672,7 +942,7 @@ msgstr "en %0.1f segons automàticament..." 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:404 help.c:464 +#: help.c:404 help.c:470 msgid "" "\n" "Did you mean this?" @@ -686,92 +956,112 @@ msgstr[1] "" "\n" "Volíeu dir un d'aquests?" -#: help.c:460 +#: help.c:466 #, c-format msgid "%s: %s - %s" msgstr "%s: %s - %s" +#: lockfile.c:152 +#, c-format +msgid "" +"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." +msgstr "" +"No s'ha pogut crear '%s.lock': %s.\n" +"\n" +"Sembla que un altre procés de git s'està executant en aquest\n" +"dipòsit, per exemple, un editor obert per 'git commit'. Si us\n" +"plau, assegureu-vos que tots els processos s'hagin terminat i\n" +"llavors trobeu de nou. Si encara falla, potser que un procés de\n" +"git ha tingut una pana:\n" +"elimineu el fitxer manualment per a continuar." + +#: lockfile.c:160 +#, c-format +msgid "Unable to create '%s.lock': %s" +msgstr "No es pot crear '%s.lock': %s" + #: merge.c:41 msgid "failed to read the cache" msgstr "s'ha fallat en llegir la memòria cau" -#: merge.c:94 builtin/am.c:2008 builtin/am.c:2043 builtin/checkout.c:376 -#: builtin/checkout.c:587 builtin/clone.c:730 +#: merge.c:94 builtin/am.c:1992 builtin/am.c:2027 builtin/checkout.c:375 +#: builtin/checkout.c:589 builtin/clone.c:732 msgid "unable to write new index file" msgstr "no s'ha pogut escriure un fitxer d'índex nou" -#: merge-recursive.c:189 -#, c-format +#: merge-recursive.c:209 msgid "(bad commit)\n" msgstr "(comissió dolenta)\n" -#: merge-recursive.c:209 +#: merge-recursive.c:231 #, c-format msgid "addinfo_cache failed for path '%s'" msgstr "addinfo_cache ha fallat per al camí '%s'" -#: merge-recursive.c:270 +#: merge-recursive.c:301 msgid "error building trees" msgstr "error en construir arbres" -#: merge-recursive.c:689 +#: merge-recursive.c:720 #, c-format msgid "failed to create path '%s'%s" msgstr "s'ha fallat en crear el camí '%s' %s" -#: merge-recursive.c:700 +#: merge-recursive.c:731 #, c-format msgid "Removing %s to make room for subdirectory\n" -msgstr "Eliminant %s per a fer espai per al subdirectori\n" +msgstr "S'està eliminant %s per a fer espai per al subdirectori\n" -#: merge-recursive.c:714 merge-recursive.c:735 +#: merge-recursive.c:745 merge-recursive.c:764 msgid ": perhaps a D/F conflict?" msgstr ": potser un conflicte D/F?" -#: merge-recursive.c:725 +#: merge-recursive.c:754 #, c-format msgid "refusing to lose untracked file at '%s'" -msgstr "refusant perdre el fitxer no seguit a '%s'" +msgstr "s'està refusant perdre el fitxer no seguit a '%s'" -#: merge-recursive.c:765 +#: merge-recursive.c:796 #, c-format msgid "cannot read object %s '%s'" msgstr "no es pot llegir l'objecte %s '%s'" -#: merge-recursive.c:767 +#: merge-recursive.c:798 #, c-format msgid "blob expected for %s '%s'" msgstr "blob esperat per a %s '%s'" -#: merge-recursive.c:790 builtin/clone.c:374 +#: merge-recursive.c:822 #, c-format -msgid "failed to open '%s'" -msgstr "s'ha fallat en obrir '%s'" +msgid "failed to open '%s': %s" +msgstr "s'ha fallat en obrir '%s': %s" -#: merge-recursive.c:798 +#: merge-recursive.c:833 #, c-format -msgid "failed to symlink '%s'" -msgstr "s'ha fallat en fer l'enllaç simbòlic '%s'" +msgid "failed to symlink '%s': %s" +msgstr "s'ha fallat en fer l'enllaç simbòlic '%s': %s" -#: merge-recursive.c:801 +#: merge-recursive.c:838 #, 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:939 +#: merge-recursive.c:978 msgid "Failed to execute internal merge" msgstr "S'ha fallat en executar la fusió interna" -#: merge-recursive.c:943 +#: merge-recursive.c:982 #, c-format msgid "Unable to add %s to database" msgstr "no s'ha pogut afegir %s a la base de dades" -#: merge-recursive.c:959 -msgid "unsupported object type in the tree" -msgstr "tipus d'objecte no compatible en l'arbre" - -#: merge-recursive.c:1034 merge-recursive.c:1048 +#: merge-recursive.c:1081 merge-recursive.c:1095 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -780,7 +1070,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:1040 merge-recursive.c:1053 +#: merge-recursive.c:1087 merge-recursive.c:1100 #, c-format msgid "" "CONFLICT (%s/delete): %s deleted in %s and %s in %s. Version %s of %s left " @@ -789,20 +1079,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:1094 +#: merge-recursive.c:1143 msgid "rename" msgstr "canvia de nom" -#: merge-recursive.c:1094 +#: merge-recursive.c:1143 msgid "renamed" msgstr "canviat de nom" -#: merge-recursive.c:1150 +#: merge-recursive.c:1200 #, 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" +msgstr "%s és un directori en %s; s'està afegint com a %s en lloc d'això" -#: merge-recursive.c:1172 +#: merge-recursive.c:1225 #, c-format msgid "" "CONFLICT (rename/rename): Rename \"%s\"->\"%s\" in branch \"%s\" rename \"%s" @@ -811,147 +1101,139 @@ 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:1177 +#: merge-recursive.c:1230 msgid " (left unresolved)" msgstr " (deixat sense resolució)" -#: merge-recursive.c:1231 +#: merge-recursive.c:1292 #, 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:1261 +#: merge-recursive.c:1325 #, 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ò" +msgstr "S'està canviant el nom de %s a %s i %s a %s en lloc d'això" -#: merge-recursive.c:1460 +#: merge-recursive.c:1531 #, 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:1470 +#: merge-recursive.c:1546 #, c-format msgid "Adding merged %s" -msgstr "Afegint %s fusionat" +msgstr "S'està afegint %s fusionat" -#: merge-recursive.c:1475 merge-recursive.c:1677 +#: merge-recursive.c:1553 merge-recursive.c:1766 #, c-format msgid "Adding as %s instead" -msgstr "Afegint com a %s en lloc d'això" +msgstr "S'està afegint com a %s en lloc d'això" -#: merge-recursive.c:1526 +#: merge-recursive.c:1610 #, c-format msgid "cannot read object %s" msgstr "no es pot llegir l'objecte %s" -#: merge-recursive.c:1529 +#: merge-recursive.c:1613 #, c-format msgid "object %s is not a blob" msgstr "L'objecte %s no és un blob" -#: merge-recursive.c:1581 +#: merge-recursive.c:1666 msgid "modify" msgstr "modifica" -#: merge-recursive.c:1581 +#: merge-recursive.c:1666 msgid "modified" msgstr "modificat" -#: merge-recursive.c:1591 +#: merge-recursive.c:1676 msgid "content" msgstr "contingut" -#: merge-recursive.c:1598 +#: merge-recursive.c:1683 msgid "add/add" msgstr "afegiment/afegiment" -#: merge-recursive.c:1632 +#: merge-recursive.c:1718 #, c-format msgid "Skipped %s (merged same as existing)" -msgstr "%s saltat (el fusionat és igual a l'existent)" +msgstr "S'ha saltat %s (el fusionat és igual a l'existent)" -#: merge-recursive.c:1646 +#: merge-recursive.c:1732 #, c-format msgid "Auto-merging %s" -msgstr "Autofusionant %s" +msgstr "S'està autofusionant %s" -#: merge-recursive.c:1650 git-submodule.sh:1048 +#: merge-recursive.c:1736 git-submodule.sh:919 msgid "submodule" msgstr "submòdul" -#: merge-recursive.c:1651 +#: merge-recursive.c:1737 #, c-format msgid "CONFLICT (%s): Merge conflict in %s" msgstr "CONFLICTE (%s): Conflicte de fusió en %s" -#: merge-recursive.c:1737 +#: merge-recursive.c:1831 #, c-format msgid "Removing %s" -msgstr "Eliminant %s" +msgstr "S'està eliminant %s" -#: merge-recursive.c:1762 +#: merge-recursive.c:1857 msgid "file/directory" msgstr "fitxer/directori" -#: merge-recursive.c:1768 +#: merge-recursive.c:1863 msgid "directory/file" msgstr "directori/fitxer" -#: merge-recursive.c:1773 +#: merge-recursive.c:1868 #, 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" +"CONFLICTE (%s): Hi ha un directori amb nom %s en %s. S'està afegint %s com a " +"%s" -#: merge-recursive.c:1783 +#: merge-recursive.c:1877 #, c-format msgid "Adding %s" -msgstr "Afegint %s" - -#: merge-recursive.c:1800 -msgid "Fatal merge failure, shouldn't happen." -msgstr "Fallat de fusió fatal; això no ha de passar." +msgstr "S'està afegint %s" -#: merge-recursive.c:1819 +#: merge-recursive.c:1914 msgid "Already up-to-date!" -msgstr "Ja al dia!" +msgstr "Ja està al dia!" -#: merge-recursive.c:1828 +#: merge-recursive.c:1923 #, c-format msgid "merging of trees %s and %s failed" msgstr "la fusió dels arbres %s i %s ha fallat" -#: merge-recursive.c:1858 -#, c-format -msgid "Unprocessed path??? %s" -msgstr "Camí no processat??? %s" - -#: merge-recursive.c:1906 +#: merge-recursive.c:2006 msgid "Merging:" msgstr "Fusionant:" -#: merge-recursive.c:1919 +#: merge-recursive.c:2019 #, 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:1956 +#: merge-recursive.c:2058 msgid "merge returned no commit" msgstr "la fusió no ha retornat cap comissió" -#: merge-recursive.c:2013 +#: merge-recursive.c:2121 #, c-format msgid "Could not parse object '%s'" msgstr "No s'ha pogut analitzar l'objecte '%s'" -#: merge-recursive.c:2024 builtin/merge.c:646 +#: merge-recursive.c:2135 builtin/merge.c:641 builtin/merge.c:788 msgid "Unable to write index." msgstr "No s'ha pogut escriure l'índex." @@ -967,7 +1249,7 @@ msgstr "Valor de notes.rewriteMode dolent: '%s'" #: notes-utils.c:110 #, c-format msgid "Refusing to rewrite notes in %s (outside of refs/notes/)" -msgstr "Refusant reescriure les notes en %s (fora de refs/notes/)" +msgstr "S'està refusant reescriure les notes en %s (fora de refs/notes/)" #. TRANSLATORS: The first %s is the name of the #. environment variable, the second %s is its value @@ -981,28 +1263,28 @@ msgstr "Valor dolent de %s: '%s'" msgid "unable to parse object: %s" msgstr "no s'ha pogut analitzar l'objecte: %s" -#: parse-options.c:570 +#: parse-options.c:572 msgid "..." msgstr "..." -#: parse-options.c:588 +#: parse-options.c:590 #, c-format msgid "usage: %s" msgstr "ús: %s" #. TRANSLATORS: the colon here should align with the #. one in "usage: %s" translation -#: parse-options.c:592 +#: parse-options.c:594 #, c-format msgid " or: %s" msgstr " o: %s" -#: parse-options.c:595 +#: parse-options.c:597 #, c-format msgid " %s" msgstr " %s" -#: parse-options.c:629 +#: parse-options.c:631 msgid "-NUM" msgstr "-NUM" @@ -1011,7 +1293,7 @@ msgstr "-NUM" msgid "malformed object name '%s'" msgstr "nom de camp mal format '%s'" -#: path.c:752 +#: path.c:798 #, c-format msgid "Could not make %s writable by group" msgstr "No s'ha pogut fer %s escrivible pel grup" @@ -1083,7 +1365,7 @@ msgstr "" "No hi ha res a excloure per patrons :(exclusió).\n" "Potser heu oblidat afegir o ':/' o '.' ?" -#: pretty.c:969 +#: pretty.c:973 msgid "unable to parse --pretty format" msgstr "no s'ha pogut analitzar el format --pretty" @@ -1098,7 +1380,7 @@ msgid "" "Using version %i" msgstr "" "index.version establert, però el valor no és vàlid.\n" -"Usant la versió %i" +"S'està usant la versió %i" #: read-cache.c:1291 #, c-format @@ -1107,25 +1389,24 @@ msgid "" "Using version %i" msgstr "" "GIT_INDEX_VERSION establert, però el valor no és vàlid.\n" -"Usant la versió %i" +"S'està usant la versió %i" -#: refs.c:543 builtin/merge.c:761 builtin/merge.c:872 builtin/merge.c:974 -#: builtin/merge.c:984 +#: refs.c:551 builtin/merge.c:840 #, c-format msgid "Could not open '%s' for writing" msgstr "No s'ha pogut obrir '%s' per a escriptura" -#: refs/files-backend.c:2374 +#: refs/files-backend.c:2534 #, c-format msgid "could not delete reference %s: %s" msgstr "no s'ha pogut suprimir la referència %s: %s" -#: refs/files-backend.c:2377 +#: refs/files-backend.c:2537 #, c-format msgid "could not delete references: %s" msgstr "no s'ha pogut suprimir les referències: %s" -#: refs/files-backend.c:2386 +#: refs/files-backend.c:2546 #, c-format msgid "could not remove reference %s" msgstr "no s'ha pogut eliminar la referència %s" @@ -1247,12 +1528,12 @@ msgstr "objecte mal format a '%s'" #: ref-filter.c:1373 #, c-format msgid "ignoring ref with broken name %s" -msgstr "ignorant la referència amb nom trencat %s" +msgstr "s'està 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" +msgstr "s'està ignorant la referència trencada %s" #: ref-filter.c:1651 #, c-format @@ -1264,22 +1545,22 @@ msgstr "format: manca l'àtom %%(end)" msgid "malformed object name %s" msgstr "nom d'objecte %s mal format" -#: remote.c:745 +#: remote.c:746 #, 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:749 +#: remote.c:750 #, c-format msgid "%s usually tracks %s, not %s" msgstr "%s generalment segueix %s, no %s" -#: remote.c:753 +#: remote.c:754 #, c-format msgid "%s tracks both %s and %s" msgstr "%s segueix ambdós %s i %s" -#: remote.c:761 +#: remote.c:762 msgid "Internal error" msgstr "Error intern" @@ -1386,16 +1667,16 @@ msgstr[1] "" 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:2131 +#: revision.c:2132 msgid "your current branch appears to be broken" msgstr "la vostra branca actual sembla trencada" -#: revision.c:2134 +#: revision.c:2135 #, 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:2328 +#: revision.c:2329 msgid "--first-parent is incompatible with --bisect" msgstr "--first-parent és incompatible amb --bisect" @@ -1408,26 +1689,30 @@ msgstr "s'ha fallat en obrir /dev/null" msgid "dup2(%d,%d) failed" msgstr "dup2(%d,%d) ha fallat" -#: send-pack.c:295 +#: send-pack.c:298 msgid "failed to sign the push certificate" -msgstr "s'ha fallat en firmar el certificat de pujada" +msgstr "s'ha fallat en signar el certificat de pujada" -#: send-pack.c:404 +#: send-pack.c:411 msgid "the receiving end does not support --signed push" msgstr "el destí receptor no admet pujar --signed" -#: send-pack.c:406 +#: send-pack.c:413 msgid "" "not sending a push certificate since the receiving end does not support --" "signed push" msgstr "" -"no enviant una certificació de pujada perquè el destí receptor no admet " -"pujar --signed" +"no s'està enviant una certificació de pujada perquè el destí receptor no " +"admet pujar --signed" -#: send-pack.c:418 +#: send-pack.c:425 msgid "the receiving end does not support --atomic push" msgstr "el destí receptor no admet pujar --atomic" +#: send-pack.c:430 +msgid "the receiving end does not support push options" +msgstr "el destí receptor no admet opcions de pujada" + #: sequencer.c:174 msgid "" "after resolving the conflicts, mark the corrected paths\n" @@ -1446,15 +1731,15 @@ msgstr "" "corregits amb 'git add ' o 'git rm '\n" "i cometeu el resultat amb 'git commit'" -#: sequencer.c:190 sequencer.c:833 sequencer.c:913 +#: sequencer.c:190 sequencer.c:841 sequencer.c:924 #, c-format msgid "Could not write to %s" msgstr "No s'ha pogut escriure a %s" -#: sequencer.c:193 +#: sequencer.c:193 sequencer.c:843 sequencer.c:928 #, c-format -msgid "Error wrapping up %s" -msgstr "Error en finalitzar %s" +msgid "Error wrapping up %s." +msgstr "Ha hagut un error en finalitzar %s." #: sequencer.c:208 msgid "Your local changes would be overwritten by cherry-pick." @@ -1468,45 +1753,50 @@ msgstr "Els vostres canvis locals se sobreescriurien per la reversió." msgid "Commit your changes or stash them to proceed." msgstr "Cometeu els vostres canvis o emmagatzemeu-los per a procedir." +#: sequencer.c:228 +#, c-format +msgid "%s: fast-forward" +msgstr "%s: avanç ràpid" + #. TRANSLATORS: %s will be "revert" or "cherry-pick" -#: sequencer.c:300 +#: sequencer.c:303 #, c-format msgid "%s: Unable to write new index file" msgstr "%s: No s'ha pogut escriure un fitxer d'índex nou" -#: sequencer.c:318 +#: sequencer.c:321 msgid "Could not resolve HEAD commit\n" msgstr "No s'ha pogut resoldre la comissió HEAD\n" -#: sequencer.c:338 +#: sequencer.c:341 msgid "Unable to update cache tree\n" msgstr "No s'ha pogut actualitzar l'arbre cau\n" -#: sequencer.c:390 +#: sequencer.c:393 #, c-format msgid "Could not parse commit %s\n" msgstr "No s'ha pogut analitzar la comissió %s\n" -#: sequencer.c:395 +#: sequencer.c:398 #, c-format msgid "Could not parse parent commit %s\n" msgstr "No s'ha pogut analitzar la comissió mare %s\n" -#: sequencer.c:460 +#: sequencer.c:463 msgid "Your index file is unmerged." msgstr "El vostre fitxer d'índex està sense fusionar." -#: sequencer.c:479 +#: sequencer.c:482 #, 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:487 +#: sequencer.c:490 #, c-format msgid "Commit %s does not have parent %d" msgstr "La comissió %s no té mare %d" -#: sequencer.c:491 +#: sequencer.c:494 #, c-format msgid "Mainline was specified but commit %s is not a merge." msgstr "" @@ -1514,172 +1804,253 @@ msgstr "" #. TRANSLATORS: The first %s will be "revert" or #. "cherry-pick", the second %s a SHA1 -#: sequencer.c:504 +#: sequencer.c:507 #, c-format msgid "%s: cannot parse parent commit %s" msgstr "%s: no es pot analitzar la comissió mare %s" -#: sequencer.c:508 +#: sequencer.c:511 #, c-format msgid "Cannot get commit message for %s" msgstr "No es pot obtenir el missatge de comissió de %s" -#: sequencer.c:594 +#: sequencer.c:597 #, c-format msgid "could not revert %s... %s" msgstr "no s'ha pogut revertir %s...%s" -#: sequencer.c:595 +#: sequencer.c:598 #, c-format msgid "could not apply %s... %s" msgstr "no s'ha pogut aplicar %s...%s" -#: sequencer.c:630 +#: sequencer.c:633 msgid "empty commit set passed" msgstr "conjunt de comissions buit passat" -#: sequencer.c:638 +#: sequencer.c:641 #, c-format msgid "git %s: failed to read the index" msgstr "git %s: s'ha fallat en llegir l'índex" -#: sequencer.c:642 +#: sequencer.c:645 #, c-format msgid "git %s: failed to refresh the index" msgstr "git %s: s'ha fallat en actualitzar l'índex" -#: sequencer.c:702 -#, c-format -msgid "Cannot %s during a %s" -msgstr "No es pot %s durant un %s" +#: sequencer.c:705 +msgid "Cannot revert during another revert." +msgstr "No es pot revertir durant una altra reversió." + +#: sequencer.c:706 +msgid "Cannot revert during a cherry-pick." +msgstr "No es pot revertir durant un recull de cireres." + +#: sequencer.c:709 +msgid "Cannot cherry-pick during a revert." +msgstr "No es pot recollir cireres durant una reversió." + +#: sequencer.c:710 +msgid "Cannot cherry-pick during another cherry-pick." +msgstr "No es pot recollir cireres durant altre recull de cireres." -#: sequencer.c:724 +#: sequencer.c:732 #, c-format msgid "Could not parse line %d." msgstr "No s'ha pogut analitzar la línia %d." -#: sequencer.c:729 +#: sequencer.c:737 msgid "No commits parsed." -msgstr "Cap comissió analitzada." +msgstr "No s'ha analitzat cap comissió." -#: sequencer.c:741 +#: sequencer.c:749 #, c-format msgid "Could not open %s" msgstr "No s'ha pogut obrir %s" -#: sequencer.c:745 +#: sequencer.c:753 #, c-format msgid "Could not read %s." msgstr "No s'ha pogut llegir %s." -#: sequencer.c:752 +#: sequencer.c:760 #, c-format msgid "Unusable instruction sheet: %s" msgstr "Full d'instruccions inusable: %s" -#: sequencer.c:782 +#: sequencer.c:790 #, c-format msgid "Invalid key: %s" msgstr "Clau no vàlida: %s" -#: sequencer.c:785 builtin/pull.c:50 builtin/pull.c:52 +#: sequencer.c:793 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:795 +#: sequencer.c:803 #, c-format msgid "Malformed options sheet: %s" msgstr "Full d'opcions mal format: %s" -#: sequencer.c:814 +#: sequencer.c:822 msgid "a cherry-pick or revert is already in progress" msgstr "un recull de cireres o una reversió ja està en curs" -#: sequencer.c:815 +#: sequencer.c:823 msgid "try \"git cherry-pick (--continue | --quit | --abort)\"" msgstr "intenteu \"git cherry-pick (--continue | --quit | --abort)\"" -#: sequencer.c:819 +#: sequencer.c:827 #, c-format msgid "Could not create sequencer directory %s" msgstr "No s'ha pogut crear el directori de seqüenciador %s" -#: sequencer.c:835 sequencer.c:917 -#, c-format -msgid "Error wrapping up %s." -msgstr "Error en finalitzar %s." - -#: sequencer.c:854 sequencer.c:987 +#: sequencer.c:862 sequencer.c:998 msgid "no cherry-pick or revert in progress" msgstr "ni hi ha cap recull de cireres ni cap reversió en curs" -#: sequencer.c:856 +#: sequencer.c:864 msgid "cannot resolve HEAD" msgstr "no es pot resoldre HEAD" -#: sequencer.c:858 +#: sequencer.c:866 sequencer.c:900 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:878 builtin/apply.c:4287 +#: sequencer.c:886 builtin/fetch.c:724 builtin/fetch.c:970 #, c-format -msgid "cannot open %s: %s" -msgstr "no es pot obrir %s: %s" +msgid "cannot open %s" +msgstr "no es pot obrir %s" -#: sequencer.c:881 +#: sequencer.c:888 #, c-format msgid "cannot read %s: %s" msgstr "no es pot llegir %s: %s" -#: sequencer.c:882 +#: sequencer.c:889 msgid "unexpected end of file" msgstr "final de fitxer inesperat" -#: sequencer.c:888 +#: sequencer.c:895 #, 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:910 +#: sequencer.c:921 #, c-format msgid "Could not format %s." msgstr "No s'ha pogut formatar %s." -#: sequencer.c:1055 +#: sequencer.c:1066 #, c-format msgid "%s: can't cherry-pick a %s" msgstr "%s: no es pot recollir com a cirera un %s" -#: sequencer.c:1058 +#: sequencer.c:1069 #, c-format msgid "%s: bad revision" msgstr "%s: revisió dolenta" -#: sequencer.c:1092 +#: sequencer.c:1102 msgid "Can't revert as initial commit" msgstr "No es pot revertir com a comissió inicial" -#: sequencer.c:1093 -msgid "Can't cherry-pick into empty head" -msgstr "No es pot recollir cireres en un cap buit" +#: setup.c:160 +#, c-format +msgid "" +"%s: no such path in the working tree.\n" +"Use 'git -- ...' to specify paths that do not exist locally." +msgstr "" +"%s: no hi ha tal camí en l'arbre de treball.\n" +"Useu 'git -- ...' per a especificar camins que no existeixin " +"localment." + +#: setup.c:173 +#, c-format +msgid "" +"ambiguous argument '%s': unknown revision or path not in the working tree.\n" +"Use '--' to separate paths from revisions, like this:\n" +"'git [...] -- [...]'" +msgstr "" +"paràmetre ambigu '%s': revisió no coneguda o camí no en l'arbre de treball.\n" +"Useu '--' per a separar els camins de les revisions, com això:\n" +"'git [...] -- [...]'" + +#: setup.c:223 +#, c-format +msgid "" +"ambiguous argument '%s': both revision and filename\n" +"Use '--' to separate paths from revisions, like this:\n" +"'git [...] -- [...]'" +msgstr "" +"paràmetre ambigu '%s': ambdós una revisió i un nom de fitxer\n" +"Useu '--' per a separar els camins de les revisions, com això:\n" +"'git [...] -- [...]'" -#: setup.c:246 +#: setup.c:248 builtin/apply.c:3362 builtin/apply.c:3373 builtin/apply.c:3419 #, c-format msgid "failed to read %s" msgstr "s'ha fallat en llegir %s" -#: sha1_file.c:1080 +#: setup.c:468 +#, c-format +msgid "Expected git repo version <= %d, found %d" +msgstr "S'esperava una versió de dipòsit de git <= %d, s'ha trobat %d" + +#: setup.c:476 +msgid "unknown repository extensions found:" +msgstr "s'han trobat extensions de dipòsit desconegudes:" + +#: setup.c:762 +#, c-format +msgid "Not a git repository (or any of the parent directories): %s" +msgstr "No un dipòsit de git (ni cap dels directoris pares): %s" + +#: setup.c:764 setup.c:915 builtin/index-pack.c:1641 +msgid "Cannot come back to cwd" +msgstr "No es pot tornar al directori de treball actual" + +#: setup.c:845 +msgid "Unable to read current working directory" +msgstr "No s'ha pogut llegir el directori de treball actual" + +#: setup.c:920 +#, c-format +msgid "" +"Not a git repository (or any parent up to mount point %s)\n" +"Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)." +msgstr "" +"No un dipòsit de git (ni cap pare fins el punt de muntatge %s)\n" +"S'atura a la frontera de sistema de fitxers (GIT_DISCOVERY_ACROSS_FILESYSTEM " +"no està establert)." + +#: setup.c:927 +#, c-format +msgid "Cannot change to '%s/..'" +msgstr "No es pot canviar a '%s/..'" + +#: setup.c:989 +#, c-format +msgid "" +"Problem with core.sharedRepository filemode value (0%.3o).\n" +"The owner of files must always have read and write permissions." +msgstr "" +"Problema amb el valor de mode de fitxer core.sharedRepository (0%.3o).\n" +"El propietari dels fitxers sempre ha de tenir permissions de lectura i " +"escriptura." + +#: sha1_file.c:1046 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 +#: sha1_file.c:2434 #, 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 +#: sha1_file.c:2438 #, c-format msgid "offset beyond end of pack index for %s (truncated index?)" msgstr "" @@ -1709,31 +2080,40 @@ msgstr "" "suprimiu-les. Desactiveu aquest missatge executant\n" "\"git config advice.objectNameWarning false\"" -#: submodule.c:62 submodule.c:96 +#: submodule.c:64 submodule.c:98 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:66 submodule.c:100 +#: submodule.c:68 submodule.c:102 #, 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:74 +#: submodule.c:76 #, c-format msgid "Could not update .gitmodules entry %s" msgstr "No s'ha pogut actualitzar l'entrada de .gitmodules %s" -#: submodule.c:107 +#: submodule.c:109 #, 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:118 +#: submodule.c:120 msgid "staging updated .gitmodules failed" msgstr "L'allistament del .gitmodules actualitzat ha fallat" +#: submodule.c:177 +msgid "negative values not allowed for submodule.fetchJobs" +msgstr "no es permeten els valors negatius a submodule.fetchJobs" + +#: submodule-config.c:358 +#, c-format +msgid "invalid value for %s" +msgstr "valor no vàlid per a %s" + #: trailer.c:237 #, c-format msgid "running trailer command '%s' failed" @@ -1788,240 +2168,506 @@ msgstr "no s'ha pogut obrir el fitxer temporal" 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 +#: transport.c:62 #, c-format -msgid "Could not read ref %s" -msgstr "No s'ha pogut llegir la referència %s" - -#: unpack-trees.c:203 -msgid "Checking out files" -msgstr "Agafant fitxers" - -#: urlmatch.c:120 -msgid "invalid URL scheme name or missing '://' suffix" -msgstr "l'esquema d'URL no és vàlida o li manca el sufix '://'" +msgid "Would set upstream of '%s' to '%s' of '%s'\n" +msgstr "Canviaria la font de '%s' a '%s' de '%s'\n" -#: urlmatch.c:144 urlmatch.c:297 urlmatch.c:356 +#: transport.c:151 #, c-format -msgid "invalid %XX escape sequence" -msgstr "seqüència d'escapament %XX no vàlida" - -#: urlmatch.c:172 -msgid "missing host and scheme is not 'file:'" -msgstr "manca la màquina i l'esquema no és 'file:'" - -#: urlmatch.c:189 -msgid "a 'file:' URL may not have a port number" -msgstr "un URL 'file:' no pot tenir número de port" +msgid "transport: invalid depth option '%s'" +msgstr "transport: opció de profunditat no vàlida '%s'" -#: urlmatch.c:199 -msgid "invalid characters in host name" -msgstr "hi ha caràcters no vàlids en el nom de màquina" +#: transport.c:771 +#, c-format +msgid "" +"The following submodule paths contain changes that can\n" +"not be found on any remote:\n" +msgstr "" +"Els camins de submòdul següents contenen canvis que no\n" +"es poden trobar en cap remot:\n" -#: urlmatch.c:244 urlmatch.c:255 -msgid "invalid port number" -msgstr "número de port no vàlid" +#: transport.c:775 +#, c-format +msgid "" +"\n" +"Please try\n" +"\n" +"\tgit push --recurse-submodules=on-demand\n" +"\n" +"or cd to the path and use\n" +"\n" +"\tgit push\n" +"\n" +"to push them to a remote.\n" +"\n" +msgstr "" +"\n" +"Si us plau, intenteu\n" +"\n" +"\tgit push --recurse-submodules=on-demand\n" +"\n" +"o canviar de directori al camí i useu\n" +"\n" +"\tgit push\n" +"\n" +"per a pujar-los a un remot.\n" -#: urlmatch.c:322 -msgid "invalid '..' path segment" -msgstr "segment de camí '..' no vàlid" +#: transport.c:783 +msgid "Aborting." +msgstr "S'està avortant." -#: wrapper.c:222 wrapper.c:381 +#: transport-helper.c:1041 #, c-format -msgid "could not open '%s' for reading and writing" -msgstr "no s'ha pogut obrir '%s' per a lectura i escriptura" +msgid "Could not read ref %s" +msgstr "No s'ha pogut llegir la referència %s" -#: wrapper.c:224 wrapper.c:383 +#: unpack-trees.c:64 #, c-format -msgid "could not open '%s' for writing" -msgstr "no s'ha pogut obrir '%s' per a escriptura" +msgid "" +"Your local changes to the following files would be overwritten by checkout:\n" +"%%sPlease commit your changes or stash them before you switch branches." +msgstr "" +"Els vostres canvis locals als fitxers següents se sobreescriurien per " +"agafar:\n" +"%%sSi us plau, cometeu els vostres canvis o emmagatzemeu-los abans de " +"canviar de branca." -#: wrapper.c:226 wrapper.c:385 builtin/am.c:323 builtin/commit.c:1691 -#: builtin/merge.c:1075 builtin/pull.c:387 +#: unpack-trees.c:66 #, c-format -msgid "could not open '%s' for reading" -msgstr "no s'ha pogut obrir '%s' per a lectura" +msgid "" +"Your local changes to the following files would be overwritten by checkout:\n" +"%%s" +msgstr "" +"Els vostres canvis locals als fitxers següents se sobreescriurien per " +"agafar:\n" +"%%s" -#: wrapper.c:611 +#: unpack-trees.c:69 #, c-format -msgid "unable to access '%s': %s" -msgstr "no s'ha pogut accedir a '%s': %s" +msgid "" +"Your local changes to the following files would be overwritten by merge:\n" +"%%sPlease commit your changes or stash them before you merge." +msgstr "" +"Els vostres canvis locals als fitxers següents se sobreescriurien per " +"fusionar:\n" +"%%sSi us plau, cometeu els vostres canvis o emmagatzemeu-los abans de " +"fusionar." -#: wrapper.c:632 +#: unpack-trees.c:71 #, c-format -msgid "unable to access '%s'" -msgstr "no s'ha pogut accedir a '%s'" +msgid "" +"Your local changes to the following files would be overwritten by merge:\n" +"%%s" +msgstr "" +"Els vostres canvis locals als fitxers següents se sobreescriurien per " +"fusionar:\n" +"%%s" -#: wrapper.c:640 -msgid "unable to get current working directory" -msgstr "no s'ha pogut obtenir el directori de treball actual" +#: unpack-trees.c:74 +#, c-format +msgid "" +"Your local changes to the following files would be overwritten by %s:\n" +"%%sPlease commit your changes or stash them before you %s." +msgstr "" +"Els vostres canvis locals als fitxers següents se sobreescriurien per %s:\n" +"%%sSi us plau, cometeu els vostres canvis o emmagatzemeu-los abans de %s." -#: wrapper.c:667 +#: unpack-trees.c:76 #, c-format -msgid "could not open %s for writing" -msgstr "no s'ha pogut obrir '%s' per a escriptura" +msgid "" +"Your local changes to the following files would be overwritten by %s:\n" +"%%s" +msgstr "" +"Els vostres canvis locals als fitxers següents se sobreescriurien per %s:\n" +"%%s" -#: wrapper.c:678 builtin/am.c:410 +#: unpack-trees.c:81 +#, c-format +msgid "" +"Updating the following directories would lose untracked files in it:\n" +"%s" +msgstr "" +"Actualitzar els directoris següents perdria fitxers no seguits en el:\n" +"%s" + +#: unpack-trees.c:85 +#, c-format +msgid "" +"The following untracked working tree files would be removed by checkout:\n" +"%%sPlease move or remove them before you switch branches." +msgstr "" +"Els següents fitxers no seguits en l'arbre de treball s'eliminarien per " +"agafar:\n" +"%%sSi us plau, moveu-los o elimineu-los abans de canviar de branca." + +#: unpack-trees.c:87 +#, c-format +msgid "" +"The following untracked working tree files would be removed by checkout:\n" +"%%s" +msgstr "" +"Els següents fitxers no seguits en l'arbre de treball s'eliminarien per " +"agafar:\n" +"%%s" + +#: unpack-trees.c:90 +#, c-format +msgid "" +"The following untracked working tree files would be removed by merge:\n" +"%%sPlease move or remove them before you merge." +msgstr "" +"Els següents fitxers no seguits en l'arbre de treball s'eliminarien per " +"fusionar:\n" +"%%sSi us plau, moveu-los o elimineu-los abans de fusionar." + +#: unpack-trees.c:92 +#, c-format +msgid "" +"The following untracked working tree files would be removed by merge:\n" +"%%s" +msgstr "" +"Els següents fitxers no seguits en l'arbre de treball s'eliminarien per " +"fusionar:\n" +"%%s" + +#: unpack-trees.c:95 +#, c-format +msgid "" +"The following untracked working tree files would be removed by %s:\n" +"%%sPlease move or remove them before you %s." +msgstr "" +"Els següents fitxers no seguits en l'arbre de treball s'eliminarien per %s:\n" +"%%sSi us plau, moveu-los o elimineu-los abans de %s." + +#: unpack-trees.c:97 +#, c-format +msgid "" +"The following untracked working tree files would be removed by %s:\n" +"%%s" +msgstr "" +"Els següents fitxers no seguits en l'arbre de treball s'eliminarien per %s:\n" +"%%s" + +#: unpack-trees.c:102 +#, c-format +msgid "" +"The following untracked working tree files would be overwritten by " +"checkout:\n" +"%%sPlease move or remove them before you switch branches." +msgstr "" +"Els següents fitxers no seguits en l'arbre de treball se sobreescriurien per " +"agafar:\n" +"%%sSi us plau, moveu-los o elimineu-los abans de canviar de branca." + +#: unpack-trees.c:104 +#, c-format +msgid "" +"The following untracked working tree files would be overwritten by " +"checkout:\n" +"%%s" +msgstr "" +"Els següents fitxers no seguits en l'arbre de treball se sobreescriurien per " +"agafar:\n" +"%%s" + +#: unpack-trees.c:107 +#, c-format +msgid "" +"The following untracked working tree files would be overwritten by merge:\n" +"%%sPlease move or remove them before you merge." +msgstr "" +"Els següents fitxers no seguits en l'arbre de treball se sobreescriurien per " +"fusionar:\n" +"%%sSi us plau, moveu-los o elimineu-los abans de fusionar." + +#: unpack-trees.c:109 +#, c-format +msgid "" +"The following untracked working tree files would be overwritten by merge:\n" +"%%s" +msgstr "" +"Els següents fitxers no seguits en l'arbre de treball se sobreescriurien per " +"fusionar:\n" +"%%s" + +#: unpack-trees.c:112 +#, c-format +msgid "" +"The following untracked working tree files would be overwritten by %s:\n" +"%%sPlease move or remove them before you %s." +msgstr "" +"Els següents fitxers no seguits en l'arbre de treball se sobreescriurien per " +"%s:\n" +"%%sSi us plau, moveu-los o elimineu-los abans de %s." + +#: unpack-trees.c:114 +#, c-format +msgid "" +"The following untracked working tree files would be overwritten by %s:\n" +"%%s" +msgstr "" +"Els següents fitxers no seguits en l'arbre de treball se sobreescriurien per " +"%s:\n" +"%%s" + +#: unpack-trees.c:121 +#, c-format +msgid "Entry '%s' overlaps with '%s'. Cannot bind." +msgstr "L'entrada '%s' encavalca amb '%s'. No es pot vincular." + +#: unpack-trees.c:124 +#, c-format +msgid "" +"Cannot update sparse checkout: the following entries are not up-to-date:\n" +"%s" +msgstr "" +"No es pot actualitzar l'agafament parcial: les entrades següents no estan al " +"dia:\n" +"%s" + +#: unpack-trees.c:126 +#, c-format +msgid "" +"The following Working tree files would be overwritten by sparse checkout " +"update:\n" +"%s" +msgstr "" +"Els fitxers següents en l'arbre de treball se sobreescriurien per " +"actualitzar l'agafament parcial:\n" +"%s" + +#: unpack-trees.c:128 +#, c-format +msgid "" +"The following Working tree files would be removed by sparse checkout " +"update:\n" +"%s" +msgstr "" +"Els fitxers següents en l'arbre de treball s'eliminarien per actualitzar " +"l'agafament parcial:\n" +"%s" + +#: unpack-trees.c:205 +#, c-format +msgid "Aborting\n" +msgstr "S'està avortant\n" + +#: unpack-trees.c:237 +msgid "Checking out files" +msgstr "S'està agafant fitxers" + +#: urlmatch.c:120 +msgid "invalid URL scheme name or missing '://' suffix" +msgstr "l'esquema d'URL no és vàlid o li manca el sufix '://'" + +#: urlmatch.c:144 urlmatch.c:297 urlmatch.c:356 +#, c-format +msgid "invalid %XX escape sequence" +msgstr "seqüència d'escapament %XX no vàlida" + +#: urlmatch.c:172 +msgid "missing host and scheme is not 'file:'" +msgstr "manca la màquina i l'esquema no és 'file:'" + +#: urlmatch.c:189 +msgid "a 'file:' URL may not have a port number" +msgstr "un URL 'file:' no pot tenir número de port" + +#: urlmatch.c:199 +msgid "invalid characters in host name" +msgstr "hi ha caràcters no vàlids en el nom de màquina" + +#: urlmatch.c:244 urlmatch.c:255 +msgid "invalid port number" +msgstr "número de port no vàlid" + +#: urlmatch.c:322 +msgid "invalid '..' path segment" +msgstr "segment de camí '..' no vàlid" + +#: worktree.c:282 +#, c-format +msgid "failed to read '%s'" +msgstr "s'ha fallat en llegir '%s'" + +#: wrapper.c:222 wrapper.c:392 +#, 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:224 wrapper.c:394 builtin/am.c:778 +#, c-format +msgid "could not open '%s' for writing" +msgstr "no s'ha pogut obrir '%s' per a escriptura" + +#: wrapper.c:226 wrapper.c:396 builtin/am.c:324 builtin/am.c:771 +#: builtin/am.c:859 builtin/commit.c:1712 builtin/merge.c:1029 +#: builtin/pull.c:407 +#, c-format +msgid "could not open '%s' for reading" +msgstr "no s'ha pogut obrir '%s' per a lectura" + +#: wrapper.c:605 wrapper.c:626 +#, c-format +msgid "unable to access '%s'" +msgstr "no s'ha pogut accedir a '%s'" + +#: wrapper.c:634 +msgid "unable to get current working directory" +msgstr "no s'ha pogut obtenir el directori de treball actual" + +#: wrapper.c:658 #, c-format msgid "could not write to %s" msgstr "no s'ha pogut escriure a %s" -#: wrapper.c:684 +#: wrapper.c:660 #, c-format msgid "could not close %s" msgstr "no s'ha pogut tancar %s" -#: wt-status.c:149 +#: wt-status.c:150 msgid "Unmerged paths:" msgstr "Camins sense fusionar:" -#: wt-status.c:176 wt-status.c:203 +#: wt-status.c:177 wt-status.c:204 #, c-format msgid " (use \"git reset %s ...\" to unstage)" msgstr " (useu \"git reset %s ...\" per a desallistar)" -#: wt-status.c:178 wt-status.c:205 +#: wt-status.c:179 wt-status.c:206 msgid " (use \"git rm --cached ...\" to unstage)" msgstr " (useu \"git rm --cached ...\" per a desallistar)" -#: wt-status.c:182 +#: wt-status.c:183 msgid " (use \"git add ...\" to mark resolution)" msgstr " (useu \"git add ...\" per a senyalar resolució)" -#: wt-status.c:184 wt-status.c:188 +#: wt-status.c:185 wt-status.c:189 msgid " (use \"git add/rm ...\" as appropriate to mark resolution)" msgstr "" " (useu \"git add/rm ...\" segons sigui apropiat per a senyalar " "resolució)" -#: wt-status.c:186 +#: wt-status.c:187 msgid " (use \"git rm ...\" to mark resolution)" msgstr " (useu \"git rm ...\" per a senyalar resolució)" -#: wt-status.c:197 wt-status.c:880 +#: wt-status.c:198 wt-status.c:882 msgid "Changes to be committed:" msgstr "Canvis a cometre:" -#: wt-status.c:215 wt-status.c:889 +#: wt-status.c:216 wt-status.c:891 msgid "Changes not staged for commit:" msgstr "Canvis no allistats per a cometre:" -#: wt-status.c:219 +#: wt-status.c:220 msgid " (use \"git add ...\" to update what will be committed)" msgstr " (useu \"git add ...\" per a actualitzar què es cometrà)" -#: wt-status.c:221 +#: wt-status.c:222 msgid " (use \"git add/rm ...\" to update what will be committed)" msgstr " (useu \"git add/rm ...\" per a actualitzar què es cometrà)" -#: wt-status.c:222 +#: wt-status.c:223 msgid "" " (use \"git checkout -- ...\" to discard changes in working directory)" msgstr "" " (useu \"git checkout -- ...\" per a descartar els canvis en el " "directori de treball)" -#: wt-status.c:224 +#: wt-status.c:225 msgid " (commit or discard the untracked or modified content in submodules)" msgstr "" " (cometeu o descarteu el contingut modificat o no seguit en els submòduls)" -#: wt-status.c:236 +#: wt-status.c:237 #, c-format msgid " (use \"git %s ...\" to include in what will be committed)" msgstr " (useu \"git %s ...\" per a incloure-ho en què es cometrà)" -#: wt-status.c:251 +#: wt-status.c:252 msgid "both deleted:" msgstr "suprimit per ambdós:" -#: wt-status.c:253 +#: wt-status.c:254 msgid "added by us:" msgstr "afegit per nosaltres:" -#: wt-status.c:255 +#: wt-status.c:256 msgid "deleted by them:" msgstr "suprimit per ells:" -#: wt-status.c:257 +#: wt-status.c:258 msgid "added by them:" msgstr "afegit per ells:" -#: wt-status.c:259 +#: wt-status.c:260 msgid "deleted by us:" msgstr "suprimit per nosaltres:" -#: wt-status.c:261 +#: wt-status.c:262 msgid "both added:" msgstr "afegit per ambdós:" -#: wt-status.c:263 +#: wt-status.c:264 msgid "both modified:" msgstr "modificat per ambdós:" -#: wt-status.c:265 -#, c-format -msgid "bug: unhandled unmerged status %x" -msgstr "bug: estat no fusionat no gestionat %x" - -#: wt-status.c:273 +#: wt-status.c:274 msgid "new file:" msgstr "fitxer nou:" -#: wt-status.c:275 +#: wt-status.c:276 msgid "copied:" msgstr "copiat:" -#: wt-status.c:277 +#: wt-status.c:278 msgid "deleted:" msgstr "suprimit:" -#: wt-status.c:279 +#: wt-status.c:280 msgid "modified:" msgstr "modificat:" -#: wt-status.c:281 +#: wt-status.c:282 msgid "renamed:" msgstr "canviat de nom:" -#: wt-status.c:283 +#: wt-status.c:284 msgid "typechange:" msgstr "canviat de tipus:" -#: wt-status.c:285 +#: wt-status.c:286 msgid "unknown:" msgstr "desconegut:" -#: wt-status.c:287 +#: wt-status.c:288 msgid "unmerged:" msgstr "sense fusionar:" -#: wt-status.c:369 +#: wt-status.c:370 msgid "new commits, " msgstr "comissions noves, " -#: wt-status.c:371 +#: wt-status.c:372 msgid "modified content, " msgstr "contingut modificat, " -#: wt-status.c:373 +#: wt-status.c:374 msgid "untracked content, " msgstr "contingut no seguit, " -#: wt-status.c:390 -#, c-format -msgid "bug: unhandled diff status %c" -msgstr "bug: estat de diferència no gestionat %c" - -#: wt-status.c:754 +#: wt-status.c:756 msgid "Submodules changed but not updated:" msgstr "Submòduls canviats però no actualitzats:" -#: wt-status.c:756 +#: wt-status.c:758 msgid "Submodule changes to be committed:" msgstr "Canvis de submòdul a cometre:" -#: wt-status.c:837 +#: wt-status.c:839 msgid "" "Do not touch the line above.\n" "Everything below will be removed." @@ -2029,226 +2675,230 @@ msgstr "" "No toqueu la línia de sobre.\n" "Tot el que hi ha a sota s'eliminarà." -#: wt-status.c:948 +#: wt-status.c:950 msgid "You have unmerged paths." msgstr "Teniu camins sense fusionar." -#: wt-status.c:951 +#: wt-status.c:953 msgid " (fix conflicts and run \"git commit\")" msgstr " (arregleu els conflictes i executeu \"git commit\")" -#: wt-status.c:954 +#: wt-status.c:955 +msgid " (use \"git merge --abort\" to abort the merge)" +msgstr " (useu \"git merge --abort\" per a avortar la fusió)" + +#: wt-status.c:960 msgid "All conflicts fixed but you are still merging." msgstr "Tots els conflictes estan arreglats però encara esteu fusionant." -#: wt-status.c:957 +#: wt-status.c:963 msgid " (use \"git commit\" to conclude merge)" msgstr " (useu \"git commit\" per a concloure la fusió)" -#: wt-status.c:967 +#: wt-status.c:973 msgid "You are in the middle of an am session." msgstr "Esteu enmig d'una sessió am." -#: wt-status.c:970 +#: wt-status.c:976 msgid "The current patch is empty." msgstr "El pedaç actual està buit." -#: wt-status.c:974 +#: wt-status.c:980 msgid " (fix conflicts and then run \"git am --continue\")" msgstr " (arregleu els conflictes i després executeu \"git am --continue\")" -#: wt-status.c:976 +#: wt-status.c:982 msgid " (use \"git am --skip\" to skip this patch)" msgstr " (useu \"git am --skip\" per a ometre aquest pedaç)" -#: wt-status.c:978 +#: wt-status.c:984 msgid " (use \"git am --abort\" to restore the original branch)" msgstr " (useu \"git am --abort\" per a restaurar la branca original)" -#: wt-status.c:1105 +#: wt-status.c:1109 msgid "No commands done." msgstr "No s'ha fet cap ordre." -#: wt-status.c:1108 +#: wt-status.c:1112 #, c-format msgid "Last command done (%d command done):" msgid_plural "Last commands done (%d commands done):" -msgstr[0] "Última ordre fet (%d ordre feta):" +msgstr[0] "Última ordre feta (%d ordre feta):" msgstr[1] "Últimes ordres fetes (%d ordres fetes):" -#: wt-status.c:1119 +#: wt-status.c:1123 #, c-format msgid " (see more in file %s)" msgstr " (vegeu més en el fitxer %s)" -#: wt-status.c:1124 +#: wt-status.c:1128 msgid "No commands remaining." msgstr "No manca cap ordre." -#: wt-status.c:1127 +#: wt-status.c:1131 #, c-format msgid "Next command to do (%d remaining command):" msgid_plural "Next commands to do (%d remaining commands):" msgstr[0] "Ordre següent a fer (manca %d ordre):" msgstr[1] "Ordres següents a fer (manquen %d ordres):" -#: wt-status.c:1135 +#: wt-status.c:1139 msgid " (use \"git rebase --edit-todo\" to view and edit)" msgstr " (useu \"git rebase --edit-todo\" per a veure i editar)" -#: wt-status.c:1148 +#: wt-status.c:1152 #, c-format msgid "You are currently rebasing branch '%s' on '%s'." msgstr "Actualment esteu rebasant la branca '%s' en '%s'." -#: wt-status.c:1153 +#: wt-status.c:1157 msgid "You are currently rebasing." msgstr "Actualment esteu rebasant." -#: wt-status.c:1167 +#: wt-status.c:1171 msgid " (fix conflicts and then run \"git rebase --continue\")" msgstr "" " (arregleu els conflictes i després executeu \"git rebase --continue\")" -#: wt-status.c:1169 +#: wt-status.c:1173 msgid " (use \"git rebase --skip\" to skip this patch)" msgstr " (useu \"git rebase --skip\" per a saltar aquest pedaç)" -#: wt-status.c:1171 +#: wt-status.c:1175 msgid " (use \"git rebase --abort\" to check out the original branch)" msgstr " (useu \"git rebase --abort\" per a agafar la branca original)" -#: wt-status.c:1177 +#: wt-status.c:1181 msgid " (all conflicts fixed: run \"git rebase --continue\")" msgstr " (tots els conflictes arreglats: executeu \"git rebase --continue\")" -#: wt-status.c:1181 +#: wt-status.c:1185 #, c-format msgid "" "You are currently splitting a commit while rebasing branch '%s' on '%s'." msgstr "" "Actualment esteu dividint una comissió mentre rebaseu la branca '%s' en '%s'." -#: wt-status.c:1186 +#: wt-status.c:1190 msgid "You are currently splitting a commit during a rebase." msgstr "Actualment esteu dividint una comissió durant un rebasament." -#: wt-status.c:1189 +#: wt-status.c:1193 msgid " (Once your working directory is clean, run \"git rebase --continue\")" msgstr "" " (Una vegada que el vostre directori de treball sigui net, executeu \"git " "rebase --continue\")" -#: wt-status.c:1193 +#: wt-status.c:1197 #, c-format msgid "You are currently editing a commit while rebasing branch '%s' on '%s'." msgstr "" "Actualment esteu editant una comissió mentre rebaseu la branca '%s' en '%s'." -#: wt-status.c:1198 +#: wt-status.c:1202 msgid "You are currently editing a commit during a rebase." msgstr "Actualment esteu editant una comissió durant un rebasament." -#: wt-status.c:1201 +#: wt-status.c:1205 msgid " (use \"git commit --amend\" to amend the current commit)" msgstr " (useu \"git commit --amend\" per a esmenar la comissió actual)" -#: wt-status.c:1203 +#: wt-status.c:1207 msgid "" " (use \"git rebase --continue\" once you are satisfied with your changes)" msgstr "" " (useu \"git rebase --continue\" una vegada que esteu satisfet amb els " "vostres canvis)" -#: wt-status.c:1213 +#: wt-status.c:1217 #, c-format msgid "You are currently cherry-picking commit %s." msgstr "Actualment esteu recollint com a cirera la comissió %s." -#: wt-status.c:1218 +#: wt-status.c:1222 msgid " (fix conflicts and run \"git cherry-pick --continue\")" msgstr " (arregleu els conflictes i executeu \"git cherry-pick --continue\")" -#: wt-status.c:1221 +#: wt-status.c:1225 msgid " (all conflicts fixed: run \"git cherry-pick --continue\")" msgstr "" " (tots els conflictes arreglats: executeu \"git cherry-pick --continue\")" -#: wt-status.c:1223 +#: wt-status.c:1227 msgid " (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)" msgstr "" " (useu \"git cherry-pick --abort\" per a cancel·lar l'operació de recull de " "cireres)" -#: wt-status.c:1232 +#: wt-status.c:1236 #, c-format msgid "You are currently reverting commit %s." msgstr "Actualment esteu revertint la comissió %s." -#: wt-status.c:1237 +#: wt-status.c:1241 msgid " (fix conflicts and run \"git revert --continue\")" msgstr " (arregleu els conflictes i executeu \"git revert --continue\")" -#: wt-status.c:1240 +#: wt-status.c:1244 msgid " (all conflicts fixed: run \"git revert --continue\")" msgstr "" " (tots els conflictes estan arreglats: executeu \"git revert --continue\")" -#: wt-status.c:1242 +#: wt-status.c:1246 msgid " (use \"git revert --abort\" to cancel the revert operation)" msgstr "" " (useu \"git revert --abort\" per a cancel·lar l'operació de reversió)" -#: wt-status.c:1253 +#: wt-status.c:1257 #, c-format msgid "You are currently bisecting, started from branch '%s'." msgstr "Actualment esteu bisecant, heu començat des de la branca '%s'." -#: wt-status.c:1257 +#: wt-status.c:1261 msgid "You are currently bisecting." msgstr "Actualment esteu bisecant." -#: wt-status.c:1260 +#: wt-status.c:1264 msgid " (use \"git bisect reset\" to get back to the original branch)" msgstr " (useu \"git bisect reset\" per a tornar a la branca original)" -#: wt-status.c:1438 +#: wt-status.c:1464 msgid "On branch " msgstr "En la branca " -#: wt-status.c:1444 +#: wt-status.c:1470 msgid "interactive rebase in progress; onto " msgstr "rebasament interactiu en progrés; sobre " -#: wt-status.c:1446 +#: wt-status.c:1472 msgid "rebase in progress; onto " msgstr "rebasament en progrés; sobre " -#: wt-status.c:1451 +#: wt-status.c:1477 msgid "HEAD detached at " msgstr "HEAD separat a " -#: wt-status.c:1453 +#: wt-status.c:1479 msgid "HEAD detached from " msgstr "HEAD separat de " -#: wt-status.c:1456 +#: wt-status.c:1482 msgid "Not currently on any branch." -msgstr "Actualment no en cap branca." +msgstr "Actualment no s'és en cap branca." -#: wt-status.c:1474 +#: wt-status.c:1500 msgid "Initial commit" msgstr "Comissió inicial" -#: wt-status.c:1488 +#: wt-status.c:1514 msgid "Untracked files" msgstr "Fitxers no seguits" -#: wt-status.c:1490 +#: wt-status.c:1516 msgid "Ignored files" msgstr "Fitxers ignorats" -#: wt-status.c:1494 +#: wt-status.c:1520 #, c-format msgid "" "It took %.2f seconds to enumerate untracked files. 'status -uno'\n" @@ -2260,31 +2910,31 @@ msgstr "" "oblidar-vos d'afegir fitxers nous per vós mateix (vegeu\n" "'git help status')." -#: wt-status.c:1500 +#: wt-status.c:1526 #, c-format msgid "Untracked files not listed%s" msgstr "Els fitxers no seguits no estan llistats%s" -#: wt-status.c:1502 +#: wt-status.c:1528 msgid " (use -u option to show untracked files)" msgstr " (useu l'opció -u per a mostrar els fitxers no seguits)" -#: wt-status.c:1508 +#: wt-status.c:1534 msgid "No changes" msgstr "Sense canvis" -#: wt-status.c:1513 +#: wt-status.c:1539 #, c-format msgid "no changes added to commit (use \"git add\" and/or \"git commit -a\")\n" msgstr "" "no hi ha canvis afegits a cometre (useu \"git add\" o \"git commit -a\")\n" -#: wt-status.c:1516 +#: wt-status.c:1542 #, c-format msgid "no changes added to commit\n" msgstr "no hi ha canvis afegits a cometre\n" -#: wt-status.c:1519 +#: wt-status.c:1545 #, c-format msgid "" "nothing added to commit but untracked files present (use \"git add\" to " @@ -2293,55 +2943,55 @@ msgstr "" "no hi ha res afegit a cometre però fitxers no seguits estan presents (useu " "\"git add\" per a seguir-los)\n" -#: wt-status.c:1522 +#: wt-status.c:1548 #, c-format msgid "nothing added to commit but untracked files present\n" msgstr "no hi ha res afegit a cometre però fitxers no seguits estan presents\n" -#: wt-status.c:1525 +#: wt-status.c:1551 #, c-format msgid "nothing to commit (create/copy files and use \"git add\" to track)\n" msgstr "" "no hi ha res a cometre (creeu/copieu fitxers i useu \"git add\" per a seguir-" "los)\n" -#: wt-status.c:1528 wt-status.c:1533 +#: wt-status.c:1554 wt-status.c:1559 #, c-format msgid "nothing to commit\n" msgstr "no hi ha res a cometre\n" -#: wt-status.c:1531 +#: wt-status.c:1557 #, c-format msgid "nothing to commit (use -u to show untracked files)\n" msgstr "" "no hi ha res a cometre (useu -u per a mostrar els fitxers no seguits)\n" -#: wt-status.c:1535 +#: wt-status.c:1561 #, c-format -msgid "nothing to commit, working directory clean\n" -msgstr "no hi ha res a cometre, directori de treball net\n" +msgid "nothing to commit, working tree clean\n" +msgstr "no hi ha res a cometre, l'arbre de treball està net\n" -#: wt-status.c:1642 +#: wt-status.c:1668 msgid "Initial commit on " msgstr "Comissió inicial en " -#: wt-status.c:1646 +#: wt-status.c:1672 msgid "HEAD (no branch)" msgstr "HEAD (sense branca)" -#: wt-status.c:1675 +#: wt-status.c:1701 msgid "gone" msgstr "no hi és" -#: wt-status.c:1677 wt-status.c:1685 +#: wt-status.c:1703 wt-status.c:1711 msgid "behind " msgstr "darrere " -#: wt-status.c:1680 wt-status.c:1683 +#: wt-status.c:1706 wt-status.c:1709 msgid "ahead " msgstr "davant per " -#: compat/precompose_utf8.c:57 builtin/clone.c:413 +#: compat/precompose_utf8.c:57 builtin/clone.c:415 #, c-format msgid "failed to unlink '%s'" msgstr "s'ha fallat en desenllaçar '%s'" @@ -2355,206 +3005,210 @@ msgstr "git add [] [--] ..." msgid "unexpected diff status %c" msgstr "estat de diff inesperat %c" -#: builtin/add.c:70 builtin/commit.c:278 +#: builtin/add.c:71 builtin/commit.c:281 msgid "updating files failed" msgstr "s'ha fallat en actualitzar els fitxers" -#: builtin/add.c:80 +#: builtin/add.c:81 #, c-format msgid "remove '%s'\n" msgstr "elimina '%s'\n" -#: builtin/add.c:134 +#: builtin/add.c:136 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:797 +#: builtin/add.c:196 builtin/rev-parse.c:811 msgid "Could not read the index" msgstr "No s'ha pogut llegir l'índex" -#: builtin/add.c:205 +#: builtin/add.c:207 #, c-format msgid "Could not open '%s' for writing." msgstr "No s'ha pogut obrir '%s' per a escriptura." -#: builtin/add.c:209 +#: builtin/add.c:211 msgid "Could not write patch" msgstr "No s'ha pogut escriure el pedaç" -#: builtin/add.c:212 +#: builtin/add.c:214 msgid "editing patch failed" msgstr "l'edició del pedaç ha fallat" -#: builtin/add.c:215 +#: builtin/add.c:217 #, c-format msgid "Could not stat '%s'" msgstr "No s'ha pogut fer stat a '%s'" -#: builtin/add.c:217 +#: builtin/add.c:219 msgid "Empty patch. Aborted." -msgstr "El pedaç és buit. Avortat." +msgstr "El pedaç és buit. S'ha avortat." -#: builtin/add.c:222 +#: builtin/add.c:224 #, c-format msgid "Could not apply '%s'" msgstr "No s'ha pogut aplicar '%s'" -#: builtin/add.c:232 +#: builtin/add.c:234 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: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 +#: builtin/add.c:253 builtin/clean.c:870 builtin/fetch.c:113 builtin/mv.c:111 +#: builtin/prune-packed.c:55 builtin/pull.c:197 builtin/push.c:521 +#: builtin/remote.c:1327 builtin/rm.c:268 builtin/send-pack.c:162 msgid "dry run" msgstr "marxa en sec" -#: 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 +#: builtin/add.c:254 builtin/apply.c:4854 builtin/check-ignore.c:19 +#: builtin/commit.c:1334 builtin/count-objects.c:85 builtin/fsck.c:593 +#: builtin/log.c:1852 builtin/mv.c:110 builtin/read-tree.c:114 msgid "be verbose" msgstr "sigues detallat" -#: builtin/add.c:252 +#: builtin/add.c:256 msgid "interactive picking" msgstr "recull interactiu" -#: builtin/add.c:253 builtin/checkout.c:1155 builtin/reset.c:286 +#: builtin/add.c:257 builtin/checkout.c:1157 builtin/reset.c:286 msgid "select hunks interactively" msgstr "selecciona els trossos interactivament" -#: builtin/add.c:254 +#: builtin/add.c:258 msgid "edit current diff and apply" msgstr "edita la diferència actual i aplica-la" -#: builtin/add.c:255 +#: builtin/add.c:259 msgid "allow adding otherwise ignored files" msgstr "permet afegir fitxers que d'altra manera s'ignoren" -#: builtin/add.c:256 +#: builtin/add.c:260 msgid "update tracked files" msgstr "actualitza els fitxers seguits" -#: builtin/add.c:257 +#: builtin/add.c:261 msgid "record only the fact that the path will be added later" msgstr "registra només el fet que el camí s'afegirà més tard" -#: builtin/add.c:258 +#: builtin/add.c:262 msgid "add changes from all tracked and untracked files" msgstr "afegeix els canvis de tots els fitxers seguits i no seguits" -#: builtin/add.c:261 +#: builtin/add.c:265 msgid "ignore paths removed in the working tree (same as --no-all)" msgstr "" "ignora els camins eliminats en l'arbre de treball (el mateix que --no-all)" -#: builtin/add.c:263 +#: builtin/add.c:267 msgid "don't add, only refresh the index" msgstr "no afegeixis, només actualitza l'índex" -#: builtin/add.c:264 +#: builtin/add.c:268 msgid "just skip files which cannot be added because of errors" msgstr "només omet els fitxers que no es poden afegir a causa d'errors" -#: builtin/add.c:265 +#: builtin/add.c:269 msgid "check if - even missing - files are ignored in dry run" msgstr "" "comproveu si els fitxers - fins i tot els absents - s'ignoren en marxa en sec" -#: builtin/add.c:287 +#: builtin/add.c:270 builtin/update-index.c:958 +msgid "(+/-)x" +msgstr "(+/-)x" + +#: builtin/add.c:270 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/add.c:292 #, c-format msgid "Use -f if you really want to add them.\n" msgstr "Useu -f si realment els voleu afegir.\n" -#: builtin/add.c:294 +#: builtin/add.c:300 msgid "adding files failed" msgstr "l'afegiment de fitxers ha fallat" -#: builtin/add.c:330 +#: builtin/add.c:336 msgid "-A and -u are mutually incompatible" msgstr "-A i -u són mutualment incompatibles" -#: builtin/add.c:337 +#: builtin/add.c:343 msgid "Option --ignore-missing can only be used together with --dry-run" msgstr "L'opció --ignore-missing només es pot usar junt amb --dry-run" #: builtin/add.c:352 #, c-format +msgid "--chmod param '%s' must be either -x or +x" +msgstr "el paràmetre --chmod '%s' ha de ser o -x o +x" + +#: builtin/add.c:367 +#, c-format msgid "Nothing specified, nothing added.\n" -msgstr "Res especificat, res afegit.\n" +msgstr "No s'ha especificat res, no s'ha afegit res.\n" -#: builtin/add.c:353 +#: builtin/add.c:368 #, c-format 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:914 -#: builtin/commit.c:337 builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298 -#: builtin/submodule--helper.c:35 +#: builtin/add.c:373 builtin/check-ignore.c:172 builtin/checkout.c:279 +#: builtin/checkout.c:473 builtin/clean.c:914 builtin/commit.c:340 +#: builtin/mv.c:131 builtin/reset.c:235 builtin/rm.c:298 +#: builtin/submodule--helper.c:240 msgid "index file corrupt" msgstr "fitxer d'índex malmès" -#: builtin/add.c:439 builtin/apply.c:4659 builtin/mv.c:280 builtin/rm.c:430 +#: builtin/add.c:454 builtin/apply.c:4784 builtin/mv.c:286 builtin/rm.c:431 msgid "Unable to write new index file" msgstr "no s'ha pogut escriure un fitxer d'índex nou" -#: builtin/am.c:256 builtin/commit.c:738 builtin/merge.c:1078 +#: builtin/am.c:257 builtin/commit.c:750 builtin/merge.c:1032 #, c-format msgid "could not read '%s'" msgstr "no s'ha pogut llegir '%s'" -#: builtin/am.c:430 +#: builtin/am.c:426 msgid "could not parse author script" msgstr "no s'ha pogut analitzar l'script d'autor" -#: builtin/am.c:507 +#: builtin/am.c:503 #, c-format msgid "'%s' was deleted by the applypatch-msg hook" -msgstr "s'ha suprimit '%s' per el ganxo applypatch-msg" +msgstr "s'ha suprimit '%s' pel ganxo applypatch-msg" -#: builtin/am.c:548 builtin/notes.c:300 +#: builtin/am.c:544 builtin/notes.c:301 #, c-format msgid "Malformed input line: '%s'." msgstr "Línia d'entrada mal formada: '%s'." -#: builtin/am.c:585 builtin/notes.c:315 +#: builtin/am.c:581 builtin/notes.c:316 #, 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:611 +#: builtin/am.c:607 msgid "fseek failed" msgstr "fseek ha fallat" -#: 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: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:788 +#: builtin/am.c:787 #, c-format msgid "could not parse patch '%s'" msgstr "no s'ha pogut analitzar el pedaç '%s'" -#: builtin/am.c:853 +#: builtin/am.c:852 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:901 +#: builtin/am.c:899 msgid "invalid timestamp" msgstr "marca de temps no vàlida" -#: builtin/am.c:904 builtin/am.c:912 +#: builtin/am.c:902 builtin/am.c:910 msgid "invalid Date line" msgstr "línia Date no vàlida" -#: builtin/am.c:909 +#: builtin/am.c:907 msgid "invalid timezone offset" msgstr "desplaçament de zona de temps no vàlid" @@ -2562,7 +3216,7 @@ msgstr "desplaçament de zona de temps no vàlid" msgid "Patch format detection failed." msgstr "La detecció de format de pedaç ha fallat." -#: builtin/am.c:1001 builtin/clone.c:378 +#: builtin/am.c:1001 builtin/clone.c:380 #, c-format msgid "failed to create directory '%s'" msgstr "s'ha fallat en crear el directori '%s'" @@ -2571,7 +3225,7 @@ msgstr "s'ha fallat en crear el directori '%s'" msgid "Failed to split patches." msgstr "S'ha fallat en dividir els pedaços." -#: builtin/am.c:1137 builtin/commit.c:363 +#: builtin/am.c:1137 builtin/commit.c:366 msgid "unable to write index file" msgstr "no s'ha pogut escriure el fitxer d'índex" @@ -2583,7 +3237,8 @@ msgstr "Quan hàgiu resolt aquest problema, executeu \"%s --continue\"." #: 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." +msgstr "" +"Si preferiu saltar aquest pedaç, executeu \"%s --skip\" en lloc d'això." #: builtin/am.c:1190 #, c-format @@ -2596,7 +3251,7 @@ msgstr "" msgid "Patch is empty. Was it split wrong?" msgstr "El pedaç és buit. S'ha dividit malament?" -#: builtin/am.c:1402 builtin/log.c:1350 +#: builtin/am.c:1402 builtin/log.c:1543 #, c-format msgid "invalid ident line: %s" msgstr "línia d'identitat no vàlida: %s" @@ -2606,17 +3261,17 @@ msgstr "línia d'identitat no vàlida: %s" msgid "unable to parse commit %s" msgstr "no s'ha pogut analitzar la comissió %s" -#: builtin/am.c:1631 +#: builtin/am.c:1602 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:1633 +#: builtin/am.c:1604 msgid "Using index info to reconstruct a base tree..." -msgstr "Usant la informació d'índex per a reconstruir un arbre base..." +msgstr "S'està usant la informació d'índex per a reconstruir un arbre base..." -#: builtin/am.c:1652 +#: builtin/am.c:1623 msgid "" "Did you hand edit your patch?\n" "It does not apply to blobs recorded in its index." @@ -2624,38 +3279,38 @@ msgstr "" "Heu editat el vostre pedaç a mà?\n" "No s'aplica als blobs recordats en el seu índex." -#: builtin/am.c:1658 +#: builtin/am.c:1629 msgid "Falling back to patching base and 3-way merge..." -msgstr "Retrocedint a apedaçar la base i fusionar de 3 vies..." +msgstr "S'està retrocedint a apedaçar la base i fusionar de 3 vies..." -#: builtin/am.c:1673 +#: builtin/am.c:1654 msgid "Failed to merge in the changes." msgstr "S'ha fallat en fusionar els canvis." -#: builtin/am.c:1697 builtin/merge.c:633 +#: builtin/am.c:1679 builtin/merge.c:628 msgid "git write-tree failed to write a tree" msgstr "git write-tree ha fallat en escriure un arbre" -#: builtin/am.c:1704 +#: builtin/am.c:1686 msgid "applying to an empty history" -msgstr "aplicant a una història buida" +msgstr "s'està aplicant a una història buida" -#: builtin/am.c:1717 builtin/commit.c:1755 builtin/merge.c:830 -#: builtin/merge.c:855 +#: builtin/am.c:1699 builtin/commit.c:1776 builtin/merge.c:798 +#: builtin/merge.c:823 msgid "failed to write commit object" msgstr "s'ha fallat en escriure l'objecte de comissió" -#: builtin/am.c:1749 builtin/am.c:1753 +#: builtin/am.c:1731 builtin/am.c:1735 #, c-format msgid "cannot resume: %s does not exist." msgstr "no es pot reprendre: %s no existeix." -#: builtin/am.c:1769 +#: builtin/am.c:1751 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:1774 +#: builtin/am.c:1756 msgid "Commit Body is:" msgstr "El cos de la comissió és:" @@ -2663,37 +3318,37 @@ msgstr "El cos de la comissió és:" #. in your translation. The program will only accept English #. input at this point. #. -#: builtin/am.c:1784 +#: builtin/am.c:1766 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:1834 +#: builtin/am.c:1816 #, c-format msgid "Dirty index: cannot apply patches (dirty: %s)" msgstr "Índex brut: no es pot aplicar pedaços (bruts: %s)" -#: builtin/am.c:1869 builtin/am.c:1941 +#: builtin/am.c:1853 builtin/am.c:1925 #, c-format msgid "Applying: %.*s" -msgstr "Aplicant: %.*s" +msgstr "S'està aplicant: %.*s" -#: builtin/am.c:1885 +#: builtin/am.c:1869 msgid "No changes -- Patch already applied." msgstr "Sense canvis -- El pedaç ja s'ha aplicat." -#: builtin/am.c:1893 +#: builtin/am.c:1877 #, c-format msgid "Patch failed at %s %.*s" msgstr "El pedaç ha fallat a %s %.*s" -#: builtin/am.c:1899 +#: builtin/am.c:1883 #, 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:1944 +#: builtin/am.c:1928 msgid "" "No changes - did you forget to use 'git add'?\n" "If there is nothing left to stage, chances are that something else\n" @@ -2703,7 +3358,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:1951 +#: builtin/am.c:1935 msgid "" "You still have unmerged paths in your index.\n" "Did you forget to use 'git add'?" @@ -2711,17 +3366,17 @@ msgstr "" "Encara teniu camins sense fusionar en el vostre índex.\n" "Heu oblidat d'usar 'git add'?" -#: builtin/am.c:2059 builtin/am.c:2063 builtin/am.c:2075 builtin/reset.c:308 +#: builtin/am.c:2043 builtin/am.c:2047 builtin/am.c:2059 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:2111 +#: builtin/am.c:2095 msgid "failed to clean index" msgstr "s'ha fallat en netejar l'índex" -#: builtin/am.c:2145 +#: builtin/am.c:2129 msgid "" "You seem to have moved HEAD since the last 'am' failure.\n" "Not rewinding to ORIG_HEAD" @@ -2729,154 +3384,156 @@ msgstr "" "Sembla que heu mogut HEAD després de l'última fallada de 'am'.\n" "No rebobinant a ORIG_HEAD" -#: builtin/am.c:2206 +#: builtin/am.c:2192 #, c-format msgid "Invalid value for --patch-format: %s" msgstr "Valor no vàlid per a --patch-format: %s" -#: builtin/am.c:2239 +#: builtin/am.c:2225 msgid "git am [] [(|)...]" msgstr "git am [] [(|)...]" -#: builtin/am.c:2240 +#: builtin/am.c:2226 msgid "git am [] (--continue | --skip | --abort)" msgstr "git am [] (--continue | --skip | --abort)" -#: builtin/am.c:2246 +#: builtin/am.c:2232 msgid "run interactively" msgstr "executa interactivament" -#: builtin/am.c:2248 +#: builtin/am.c:2234 msgid "historical option -- no-op" msgstr "opció històrica -- no-op" -#: builtin/am.c:2250 +#: builtin/am.c:2236 msgid "allow fall back on 3way merging if needed" msgstr "permet retrocedir a una fusió de 3 vies si és necessari" -#: builtin/am.c:2251 builtin/init-db.c:474 builtin/prune-packed.c:57 -#: builtin/repack.c:171 +#: builtin/am.c:2237 builtin/init-db.c:481 builtin/prune-packed.c:57 +#: builtin/repack.c:172 msgid "be quiet" msgstr "calla" -#: builtin/am.c:2253 +#: builtin/am.c:2239 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:2256 +#: builtin/am.c:2242 msgid "recode into utf8 (default)" msgstr "recodifica en utf8 (per defecte)" -#: builtin/am.c:2258 +#: builtin/am.c:2244 msgid "pass -k flag to git-mailinfo" msgstr "passa la bandera -k al git-mailinfo" -#: builtin/am.c:2260 +#: builtin/am.c:2246 msgid "pass -b flag to git-mailinfo" msgstr "passa la bandera -b al git-mailinfo" -#: builtin/am.c:2262 +#: builtin/am.c:2248 msgid "pass -m flag to git-mailinfo" msgstr "passa la bandera -m al git-mailinfo" -#: builtin/am.c:2264 +#: builtin/am.c:2250 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:2267 +#: builtin/am.c:2253 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:2270 +#: builtin/am.c:2256 msgid "strip everything before a scissors line" msgstr "despulla tot abans d'una línia de tissores" -#: builtin/am.c:2271 builtin/apply.c:4544 +#: builtin/am.c:2257 builtin/apply.c:4837 msgid "action" msgstr "acció" -#: 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 +#: builtin/am.c:2258 builtin/am.c:2261 builtin/am.c:2264 builtin/am.c:2267 +#: builtin/am.c:2270 builtin/am.c:2273 builtin/am.c:2276 builtin/am.c:2279 +#: builtin/am.c:2285 msgid "pass it through git-apply" msgstr "passa-ho a través del git-apply" -#: builtin/am.c:2280 builtin/apply.c:4568 +#: builtin/am.c:2266 builtin/apply.c:4861 msgid "root" msgstr "arrel" -#: 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 +#: builtin/am.c:2269 builtin/am.c:2272 builtin/apply.c:4799 +#: builtin/apply.c:4802 builtin/clone.c:90 builtin/fetch.c:96 +#: builtin/pull.c:179 builtin/submodule--helper.c:277 +#: builtin/submodule--helper.c:402 builtin/submodule--helper.c:482 +#: builtin/submodule--helper.c:485 builtin/submodule--helper.c:823 +#: builtin/submodule--helper.c:826 msgid "path" msgstr "camí" -#: 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/am.c:2275 builtin/fmt-merge-msg.c:666 builtin/fmt-merge-msg.c:669 +#: builtin/grep.c:706 builtin/merge.c:200 builtin/pull.c:134 builtin/pull.c:193 +#: builtin/repack.c:181 builtin/repack.c:185 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 +#: builtin/am.c:2278 builtin/apply.c:4805 msgid "num" msgstr "número" -#: builtin/am.c:2295 builtin/for-each-ref.c:37 builtin/replace.c:438 +#: builtin/am.c:2281 builtin/for-each-ref.c:37 builtin/replace.c:438 #: builtin/tag.c:372 msgid "format" msgstr "format" -#: builtin/am.c:2296 +#: builtin/am.c:2282 msgid "format the patch(es) are in" msgstr "el format en el qual estan els pedaços" -#: builtin/am.c:2302 +#: builtin/am.c:2288 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:2304 +#: builtin/am.c:2290 msgid "continue applying patches after resolving a conflict" msgstr "segueix aplicant pedaços després de resoldre un conflicte" -#: builtin/am.c:2307 +#: builtin/am.c:2293 msgid "synonyms for --continue" msgstr "sinònims de --continue" -#: builtin/am.c:2310 +#: builtin/am.c:2296 msgid "skip the current patch" msgstr "salta el pedaç actual" -#: builtin/am.c:2313 +#: builtin/am.c:2299 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:2317 +#: builtin/am.c:2303 msgid "lie about committer date" msgstr "menteix sobre la data del comitent" -#: builtin/am.c:2319 +#: builtin/am.c:2305 msgid "use current timestamp for author date" msgstr "usa el marc de temps actual per la data d'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 +#: builtin/am.c:2307 builtin/commit.c:1610 builtin/merge.c:229 +#: builtin/pull.c:164 builtin/revert.c:92 builtin/tag.c:355 msgid "key-id" msgstr "ID de clau" -#: builtin/am.c:2322 +#: builtin/am.c:2308 msgid "GPG-sign commits" -msgstr "firma les comissions amb GPG" +msgstr "signa les comissions amb GPG" -#: builtin/am.c:2325 +#: builtin/am.c:2311 msgid "(internal use for git-rebase)" msgstr "(ús intern per al git-rebase)" -#: builtin/am.c:2340 +#: builtin/am.c:2326 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." @@ -2884,18 +3541,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:2347 +#: builtin/am.c:2333 msgid "failed to read the index" msgstr "s'ha fallat en llegir l'índex" -#: builtin/am.c:2362 +#: builtin/am.c:2348 #, 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:2386 +#: builtin/am.c:2372 #, c-format msgid "" "Stray %s directory found.\n" @@ -2904,73 +3561,73 @@ msgstr "" "Directori %s extraviat trobat.\n" "Useu \"git am --abort\" per a eliminar-lo." -#: builtin/am.c:2392 +#: builtin/am.c:2378 msgid "Resolve operation not in progress, we are not resuming." msgstr "Operació de resolució no en curs; no reprenem." -#: builtin/apply.c:59 +#: builtin/apply.c:122 msgid "git apply [] [...]" msgstr "git apply [] [...]" -#: builtin/apply.c:111 +#: builtin/apply.c:153 #, c-format msgid "unrecognized whitespace option '%s'" msgstr "opció d'espai en blanc '%s' no reconeguda" -#: builtin/apply.c:126 +#: builtin/apply.c:169 #, c-format msgid "unrecognized whitespace ignore option '%s'" msgstr "opció d'ignoral d'espai en blanc '%s' no reconeguda" -#: builtin/apply.c:818 +#: builtin/apply.c:854 #, c-format msgid "Cannot prepare timestamp regexp %s" msgstr "No es pot preparar l'expressió regular de marca de temps %s" -#: builtin/apply.c:827 +#: builtin/apply.c:863 #, c-format msgid "regexec returned %d for input: %s" msgstr "regexec ha retornat %d per l'entrada: %s" -#: builtin/apply.c:908 +#: builtin/apply.c:947 #, c-format msgid "unable to find filename in patch at line %d" msgstr "no s'ha pogut trobar el nom de fitxer en el pedaç a la línia %d" -#: builtin/apply.c:940 +#: builtin/apply.c:984 #, c-format msgid "git apply: bad git-diff - expected /dev/null, got %s on line %d" msgstr "" "git apply: git-diff dolent - /dev/null esperat, %s rebut en la línia %d" -#: builtin/apply.c:944 +#: builtin/apply.c:989 #, c-format msgid "git apply: bad git-diff - inconsistent new filename on line %d" msgstr "" "git apply: git-diff dolent - nom de fitxer nou inconsistent en la línia %d" -#: builtin/apply.c:945 +#: builtin/apply.c:990 #, c-format msgid "git apply: bad git-diff - inconsistent old filename on line %d" msgstr "" "git apply: git-diff dolent - nom de fitxer antic inconsistent en la línia %d" -#: builtin/apply.c:952 +#: builtin/apply.c:995 #, c-format msgid "git apply: bad git-diff - expected /dev/null on line %d" msgstr "git apply: git-diff dolent - /dev/null esperat en la línia %d" -#: builtin/apply.c:1415 +#: builtin/apply.c:1489 #, c-format msgid "recount: unexpected line: %.*s" msgstr "recompte: línia inesperada: %.*s" -#: builtin/apply.c:1472 +#: builtin/apply.c:1550 #, c-format msgid "patch fragment without header at line %d: %.*s" msgstr "fragment de pedaç sense capçalera a la línia %d: %.*s" -#: builtin/apply.c:1489 +#: builtin/apply.c:1567 #, c-format msgid "" "git diff header lacks filename information when removing %d leading pathname " @@ -2985,77 +3642,77 @@ msgstr[1] "" "a la capçalera de git diff li manca informació de nom de fitxer en eliminar " "%d components de nom de camí inicial (línia %d)" -#: builtin/apply.c:1655 +#: builtin/apply.c:1743 msgid "new file depends on old contents" msgstr "el fitxer nou depèn dels continguts antics" -#: builtin/apply.c:1657 +#: builtin/apply.c:1745 msgid "deleted file still has contents" msgstr "el fitxer suprimit encara té continguts" -#: builtin/apply.c:1683 +#: builtin/apply.c:1774 #, c-format msgid "corrupt patch at line %d" msgstr "el pedaç és malmès a la línia %d" -#: builtin/apply.c:1719 +#: builtin/apply.c:1810 #, c-format msgid "new file %s depends on old contents" msgstr "el fitxer nou %s depèn dels continguts antics" -#: builtin/apply.c:1721 +#: builtin/apply.c:1812 #, c-format msgid "deleted file %s still has contents" msgstr "el fitxer suprimit %s encara té continguts" -#: builtin/apply.c:1724 +#: builtin/apply.c:1815 #, c-format msgid "** warning: file %s becomes empty but is not deleted" -msgstr "** avís: el fitxer %s queda buit però no se suprimeix" +msgstr "** advertència: el fitxer %s queda buit però no se suprimeix" -#: builtin/apply.c:1870 +#: builtin/apply.c:1962 #, c-format msgid "corrupt binary patch at line %d: %.*s" msgstr "pedaç binari malmès a la línia %d: %.*s" -#: builtin/apply.c:1899 +#: builtin/apply.c:1999 #, c-format msgid "unrecognized binary patch at line %d" msgstr "pedaç binari no reconegut a la línia %d" -#: builtin/apply.c:2050 +#: builtin/apply.c:2154 #, c-format msgid "patch with only garbage at line %d" msgstr "pedaç amb només escombraries a la línia %d" -#: builtin/apply.c:2140 +#: builtin/apply.c:2244 #, c-format msgid "unable to read symlink %s" msgstr "no s'ha pogut llegir l'enllaç simbòlic %s" -#: builtin/apply.c:2144 +#: builtin/apply.c:2248 #, c-format msgid "unable to open or read %s" msgstr "no s'ha pogut obrir o llegir %s" -#: builtin/apply.c:2777 +#: builtin/apply.c:2901 #, c-format msgid "invalid start of line: '%c'" msgstr "inici de línia no vàlid: '%c'" -#: builtin/apply.c:2896 +#: builtin/apply.c:3020 #, c-format msgid "Hunk #%d succeeded at %d (offset %d line)." msgid_plural "Hunk #%d succeeded at %d (offset %d lines)." msgstr[0] "El tros #%d ha tingut èxit a %d (desplaçament %d línia)." msgstr[1] "El tros #%d ha tingut èxit a %d (desplaçament %d línies)." -#: builtin/apply.c:2908 +#: builtin/apply.c:3032 #, c-format msgid "Context reduced to (%ld/%ld) to apply fragment at %d" msgstr "El context s'ha reduït a (%ld/%ld) per a aplicar el fragment a %d" -#: builtin/apply.c:2914 +#: builtin/apply.c:3038 #, c-format msgid "" "while searching for:\n" @@ -3064,336 +3721,341 @@ msgstr "" "tot cercant:\n" "%.*s" -#: builtin/apply.c:2934 +#: builtin/apply.c:3060 #, c-format msgid "missing binary patch data for '%s'" msgstr "manquen les dades de pedaç binari de '%s'" -#: builtin/apply.c:3035 +#: builtin/apply.c:3163 #, c-format msgid "binary patch does not apply to '%s'" msgstr "el pedaç binari no s'aplica a '%s'" -#: builtin/apply.c:3041 +#: builtin/apply.c:3169 #, c-format msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)" msgstr "" "el pedaç binari a '%s' crea un resultat incorrecte (esperant %s, %s rebut)" -#: builtin/apply.c:3062 +#: builtin/apply.c:3190 #, c-format msgid "patch failed: %s:%ld" msgstr "el pedaç ha fallat: %s:%ld" -#: builtin/apply.c:3186 +#: builtin/apply.c:3314 #, c-format msgid "cannot checkout %s" msgstr "no es pot agafar %s" -#: builtin/apply.c:3231 builtin/apply.c:3242 builtin/apply.c:3287 -#, c-format -msgid "read of %s failed" -msgstr "la lectura de %s ha fallat" - -#: builtin/apply.c:3239 +#: builtin/apply.c:3370 #, c-format msgid "reading from '%s' beyond a symbolic link" -msgstr "llegint de '%s' més enllà d'un enllaç simbòlic" +msgstr "s'està llegint de '%s' més enllà d'un enllaç simbòlic" -#: builtin/apply.c:3267 builtin/apply.c:3489 +#: builtin/apply.c:3399 builtin/apply.c:3630 #, c-format msgid "path %s has been renamed/deleted" msgstr "el camí %s s'ha canviat de nom / s'ha suprimit" -#: builtin/apply.c:3348 builtin/apply.c:3503 +#: builtin/apply.c:3482 builtin/apply.c:3644 #, c-format msgid "%s: does not exist in index" msgstr "%s: no existeix en l'índex" -#: builtin/apply.c:3352 builtin/apply.c:3495 builtin/apply.c:3517 +#: builtin/apply.c:3486 builtin/apply.c:3636 builtin/apply.c:3658 #, c-format msgid "%s: %s" msgstr "%s: %s" -#: builtin/apply.c:3357 builtin/apply.c:3511 +#: builtin/apply.c:3491 builtin/apply.c:3652 #, c-format msgid "%s: does not match index" msgstr "%s: no coincideix amb l'índex" -#: builtin/apply.c:3459 +#: builtin/apply.c:3597 msgid "removal patch leaves file contents" msgstr "el pedaç d'eliminació deixa els continguts dels fitxers" -#: builtin/apply.c:3528 +#: builtin/apply.c:3669 #, c-format msgid "%s: wrong type" msgstr "%s: tipus erroni" -#: builtin/apply.c:3530 +#: builtin/apply.c:3671 #, c-format msgid "%s has type %o, expected %o" msgstr "%s és del tipus %o, s'esperava %o" -#: builtin/apply.c:3689 builtin/apply.c:3691 +#: builtin/apply.c:3822 builtin/apply.c:3824 #, c-format msgid "invalid path '%s'" msgstr "camí no vàlid: %s" -#: builtin/apply.c:3746 +#: builtin/apply.c:3879 #, c-format msgid "%s: already exists in index" msgstr "%s: ja existeix en l'índex" -#: builtin/apply.c:3749 +#: builtin/apply.c:3882 #, c-format msgid "%s: already exists in working directory" msgstr "%s: ja existeix en el directori de treball" -#: builtin/apply.c:3769 +#: builtin/apply.c:3902 #, c-format msgid "new mode (%o) of %s does not match old mode (%o)" msgstr "el mode nou (%o) de %s no coincideix amb el mode antic (%o)" -#: builtin/apply.c:3774 +#: builtin/apply.c:3907 #, c-format msgid "new mode (%o) of %s does not match old mode (%o) of %s" msgstr "el mode nou (%o) de %s no coincideix amb el mode antic (%o) de %s" -#: builtin/apply.c:3794 +#: builtin/apply.c:3927 #, c-format msgid "affected file '%s' is beyond a symbolic link" msgstr "el fitxer afectat '%s' és més enllà d'un enllaç simbòlic" -#: builtin/apply.c:3798 +#: builtin/apply.c:3931 #, c-format msgid "%s: patch does not apply" msgstr "%s: el pedaç no s'aplica" -#: builtin/apply.c:3812 +#: builtin/apply.c:3945 #, c-format msgid "Checking patch %s..." -msgstr "Comprovant el pedaç %s..." +msgstr "S'està comprovant el pedaç %s..." -#: builtin/apply.c:3905 builtin/checkout.c:233 builtin/reset.c:135 +#: builtin/apply.c:4038 builtin/checkout.c:233 builtin/reset.c:135 #, c-format msgid "make_cache_entry failed for path '%s'" msgstr "make_cache_entry ha fallat per al camí '%s'" -#: builtin/apply.c:4048 +#: builtin/apply.c:4182 #, c-format msgid "unable to remove %s from index" msgstr "no s'ha pogut eliminar %s de l'índex" -#: builtin/apply.c:4077 +#: builtin/apply.c:4215 #, c-format msgid "corrupt patch for submodule %s" msgstr "pedaç malmès per al submòdul %s" -#: builtin/apply.c:4081 +#: builtin/apply.c:4219 #, c-format msgid "unable to stat newly created file '%s'" msgstr "no s'ha pogut fer stat al fitxer novament creat '%s'" -#: builtin/apply.c:4086 +#: builtin/apply.c:4224 #, c-format msgid "unable to create backing store for newly created file %s" msgstr "" "no s'ha pogut crear un magatzem de recolzament per al fitxer novament creat " "%s" -#: builtin/apply.c:4089 builtin/apply.c:4197 +#: builtin/apply.c:4227 builtin/apply.c:4340 #, c-format msgid "unable to add cache entry for %s" msgstr "no s'ha pogut afegir una entrada de cau per a %s" -#: builtin/apply.c:4122 +#: builtin/apply.c:4260 #, c-format msgid "closing file '%s'" -msgstr "tancant el fitxer '%s'" +msgstr "s'està tancant el fitxer '%s'" -#: builtin/apply.c:4171 +#: builtin/apply.c:4313 #, c-format msgid "unable to write file '%s' mode %o" msgstr "no s'ha pogut escriure el fitxer '%s' mode %o" -#: builtin/apply.c:4258 +#: builtin/apply.c:4403 #, c-format msgid "Applied patch %s cleanly." msgstr "El pedaç %s s'ha aplicat netament." -#: builtin/apply.c:4266 +#: builtin/apply.c:4411 msgid "internal error" msgstr "error intern" -#: builtin/apply.c:4269 +#: builtin/apply.c:4414 #, c-format msgid "Applying patch %%s with %d reject..." msgid_plural "Applying patch %%s with %d rejects..." -msgstr[0] "Aplicant el pedaç %%s amb %d rebuig" -msgstr[1] "Aplicant el pedaç %%s amb %d rebuitjos" +msgstr[0] "S'està aplicant el pedaç %%s amb %d rebuig..." +msgstr[1] "S'està aplicant el pedaç %%s amb %d rebuitjos..." -#: builtin/apply.c:4279 +#: builtin/apply.c:4424 #, c-format msgid "truncating .rej filename to %.*s.rej" -msgstr "truncant el nom del fitxer .rej a %.*s.rej" +msgstr "s'està truncant el nom del fitxer .rej a %.*s.rej" + +#: builtin/apply.c:4432 +#, c-format +msgid "cannot open %s: %s" +msgstr "no es pot obrir %s: %s" -#: builtin/apply.c:4300 +#: builtin/apply.c:4445 #, c-format msgid "Hunk #%d applied cleanly." msgstr "El tros #%d s'ha aplicat netament." -#: builtin/apply.c:4303 +#: builtin/apply.c:4448 #, c-format msgid "Rejected hunk #%d." msgstr "S'ha rebutjat el tros #%d." -#: builtin/apply.c:4393 +#: builtin/apply.c:4537 +#, c-format +msgid "Skipped patch '%s'." +msgstr "S'ha saltat el pedaç '%s'." + +#: builtin/apply.c:4545 msgid "unrecognized input" msgstr "entrada no reconeguda" -#: builtin/apply.c:4404 +#: builtin/apply.c:4556 msgid "unable to read index file" msgstr "no es pot llegir el fitxer d'índex" -#: builtin/apply.c:4507 +#: builtin/apply.c:4701 +msgid "--3way outside a repository" +msgstr "--3way fora d'un dipòsit" + +#: builtin/apply.c:4709 +msgid "--index outside a repository" +msgstr "--index fora d'un dipòsit" + +#: builtin/apply.c:4712 +msgid "--cached outside a repository" +msgstr "--cached fora d'un dipòsit" + +#: builtin/apply.c:4745 +#, c-format +msgid "can't open patch '%s'" +msgstr "no es pot obrir el pedaç '%s'" + +#: builtin/apply.c:4760 +#, c-format +msgid "squelched %d whitespace error" +msgid_plural "squelched %d whitespace errors" +msgstr[0] "s'ha omès %d error d'espai en blanc" +msgstr[1] "s'han omès %d errors d'espai en blanc" + +#: builtin/apply.c:4766 builtin/apply.c:4776 +#, c-format +msgid "%d line adds whitespace errors." +msgid_plural "%d lines add whitespace errors." +msgstr[0] "%d línia afegeix errors d'espai en blanc." +msgstr[1] "%d línies afegeixen errors d'espai en blanc." + +#: builtin/apply.c:4800 msgid "don't apply changes matching the given path" msgstr "no apliquis els canvis que coincideixin amb el camí donat" -#: builtin/apply.c:4510 +#: builtin/apply.c:4803 msgid "apply changes matching the given path" msgstr "aplica els canvis que coincideixin amb el camí donat" -#: builtin/apply.c:4513 +#: builtin/apply.c:4806 msgid "remove leading slashes from traditional diff paths" msgstr "" "elimina barres obliqües inicials dels camins de diferència " "tradicionals" -#: builtin/apply.c:4516 +#: builtin/apply.c:4809 msgid "ignore additions made by the patch" msgstr "ignora afegiments fets pel pedaç" -#: builtin/apply.c:4518 +#: builtin/apply.c:4811 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:4522 +#: builtin/apply.c:4815 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:4524 +#: builtin/apply.c:4817 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:4526 +#: builtin/apply.c:4819 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:4528 +#: builtin/apply.c:4821 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:4530 +#: builtin/apply.c:4823 msgid "apply a patch without touching the working tree" msgstr "aplica un pedaç sense tocar l'arbre de treball" -#: builtin/apply.c:4532 +#: builtin/apply.c:4825 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:4534 +#: builtin/apply.c:4827 msgid "also apply the patch (use with --stat/--summary/--check)" msgstr "aplica el pedaç també (useu amb --stat/--summary/--check)" -#: builtin/apply.c:4536 +#: builtin/apply.c:4829 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:4538 +#: builtin/apply.c:4831 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:4541 builtin/checkout-index.c:169 builtin/ls-files.c:425 +#: builtin/apply.c:4834 builtin/checkout-index.c:169 builtin/ls-files.c:426 msgid "paths are separated with NUL character" msgstr "els camins se separen amb el caràcter NUL" -#: builtin/apply.c:4543 +#: builtin/apply.c:4836 msgid "ensure at least lines of context match" msgstr "assegura't que almenys línies de context coincideixin" -#: builtin/apply.c:4545 +#: builtin/apply.c:4838 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:4548 builtin/apply.c:4551 +#: builtin/apply.c:4841 builtin/apply.c:4844 msgid "ignore changes in whitespace when finding context" msgstr "ignora els canvis d'espai en blanc en cercar context" -#: builtin/apply.c:4554 +#: builtin/apply.c:4847 msgid "apply the patch in reverse" msgstr "aplica el pedaç al revés" -#: builtin/apply.c:4556 +#: builtin/apply.c:4849 msgid "don't expect at least one line of context" msgstr "no esperis almenys una línia de context" -#: builtin/apply.c:4558 +#: builtin/apply.c:4851 msgid "leave the rejected hunks in corresponding *.rej files" msgstr "deixa els trossos rebutjats en fitxers *.reg coresspondents" -#: builtin/apply.c:4560 +#: builtin/apply.c:4853 msgid "allow overlapping hunks" msgstr "permet trossos encavalcants" -#: builtin/apply.c:4563 +#: builtin/apply.c:4856 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:4566 +#: builtin/apply.c:4859 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:4569 +#: builtin/apply.c:4862 msgid "prepend to all filenames" msgstr "anteposa a tots els noms de fitxer" -#: builtin/apply.c:4591 -msgid "--3way outside a repository" -msgstr "--3way fora d'un dipòsit" - -#: builtin/apply.c:4599 -msgid "--index outside a repository" -msgstr "--index fora d'un dipòsit" - -#: builtin/apply.c:4602 -msgid "--cached outside a repository" -msgstr "--cached fora d'un dipòsit" - -#: builtin/apply.c:4621 -#, c-format -msgid "can't open patch '%s'" -msgstr "no es pot obrir el pedaç '%s'" - -#: 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:4641 builtin/apply.c:4651 -#, c-format -msgid "%d line adds whitespace errors." -msgid_plural "%d lines add whitespace errors." -msgstr[0] "%d línia afegeix errors d'espai en blanc." -msgstr[1] "%d línies afegeixen errors d'espai en blanc." - #: builtin/archive.c:17 #, c-format msgid "could not create archive file '%s'" -msgstr "no es pot crear el fitxer d'arxiu '%s'" +msgstr "no s'ha pogut crear el fitxer d'arxiu '%s'" #: builtin/archive.c:20 msgid "could not redirect output" @@ -3445,109 +4107,109 @@ msgstr "git blame [] [] [] [--] fitxer" msgid " are documented in git-rev-list(1)" msgstr "es documenten les en git-rev-list(1)" -#: builtin/blame.c:1782 +#: builtin/blame.c:1781 msgid "Blaming lines" -msgstr "Culpant les línies" +msgstr "S'estan culpant les línies" -#: builtin/blame.c:2530 +#: builtin/blame.c:2536 msgid "Show blame entries as we find them, incrementally" msgstr "Mostra les entrades de culpa mentre les trobem, incrementalment" -#: builtin/blame.c:2531 +#: builtin/blame.c:2537 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:2532 +#: builtin/blame.c:2538 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:2533 +#: builtin/blame.c:2539 msgid "Show work cost statistics" msgstr "Mostra les estadístiques de preu de treball" -#: builtin/blame.c:2534 +#: builtin/blame.c:2540 msgid "Force progress reporting" msgstr "Força l'informe de progrés" -#: builtin/blame.c:2535 +#: builtin/blame.c:2541 msgid "Show output score for blame entries" msgstr "Mostra la puntuació de sortida de les entrades de culpa" -#: builtin/blame.c:2536 +#: builtin/blame.c:2542 msgid "Show original filename (Default: auto)" msgstr "Mostra el nom de fitxer original (Per defecte: automàtic)" -#: builtin/blame.c:2537 +#: builtin/blame.c:2543 msgid "Show original linenumber (Default: off)" msgstr "Mostra el número de línia original (Per defecte: desactivat)" -#: builtin/blame.c:2538 +#: builtin/blame.c:2544 msgid "Show in a format designed for machine consumption" msgstr "Presenta en un format dissenyat per consumpció per màquina" -#: builtin/blame.c:2539 +#: builtin/blame.c:2545 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:2540 +#: builtin/blame.c:2546 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:2541 +#: builtin/blame.c:2547 msgid "Show raw timestamp (Default: off)" msgstr "Mostra la marca de temps crua (Per defecte: desactivat)" -#: builtin/blame.c:2542 +#: builtin/blame.c:2548 msgid "Show long commit SHA1 (Default: off)" msgstr "Mostra l'SHA1 de comissió llarg (Per defecte: desactivat)" -#: builtin/blame.c:2543 +#: builtin/blame.c:2549 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:2544 +#: builtin/blame.c:2550 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:2545 +#: builtin/blame.c:2551 msgid "Ignore whitespace differences" msgstr "Ignora les diferències d'espai en blanc" -#: builtin/blame.c:2546 +#: builtin/blame.c:2552 msgid "Spend extra cycles to find better match" msgstr "Gasta cicles extres per a trobar una coincidència millor" -#: builtin/blame.c:2547 +#: builtin/blame.c:2553 msgid "Use revisions from instead of calling git-rev-list" msgstr "Usa les revisions de en lloc d'invocar git-rev-list" -#: builtin/blame.c:2548 +#: builtin/blame.c:2554 msgid "Use 's contents as the final image" msgstr "Usa els continguts de com a la imatge final" -#: builtin/blame.c:2549 builtin/blame.c:2550 +#: builtin/blame.c:2555 builtin/blame.c:2556 msgid "score" msgstr "puntuació" -#: builtin/blame.c:2549 +#: builtin/blame.c:2555 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:2550 +#: builtin/blame.c:2556 msgid "Find line movements within and across files" msgstr "Troba moviments de línia dins i a través dels fitxers" -#: builtin/blame.c:2551 +#: builtin/blame.c:2557 msgid "n,m" msgstr "n,m" -#: builtin/blame.c:2551 +#: builtin/blame.c:2557 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" @@ -3557,56 +4219,56 @@ 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:2640 +#: builtin/blame.c:2649 msgid "4 years, 11 months ago" msgstr "fa 4 anys i 11 mesos" -#: builtin/branch.c:25 +#: builtin/branch.c:26 msgid "git branch [] [-r | -a] [--merged | --no-merged]" msgstr "git branch [] [-r | -a] [--merged | --no-merged]" -#: builtin/branch.c:26 +#: builtin/branch.c:27 msgid "git branch [] [-l] [-f] []" msgstr "git branch [] [-l] [-f] []" -#: builtin/branch.c:27 +#: builtin/branch.c:28 msgid "git branch [] [-r] (-d | -D) ..." msgstr "git branch [] [-r] (-d | -D) ..." -#: builtin/branch.c:28 +#: builtin/branch.c:29 msgid "git branch [] (-m | -M) [] " msgstr "git branch [] (-m | -M) [] " -#: builtin/branch.c:29 +#: builtin/branch.c:30 msgid "git branch [] [-r | -a] [--points-at]" msgstr "git branch [] [-r | -a] [--points-at]" -#: builtin/branch.c:142 +#: builtin/branch.c:143 #, c-format msgid "" "deleting branch '%s' that has been merged to\n" " '%s', but not yet merged to HEAD." msgstr "" -"suprimint la branca '%s' que s'ha fusionat a\n" -" '%s', però encara no s'ha fusionat\n" -" a HEAD." +"s'està suprimint la branca '%s' que s'ha\n" +" fusionat a '%s', però encara no\n" +" s'ha fusionat a HEAD." -#: builtin/branch.c:146 +#: builtin/branch.c:147 #, c-format msgid "" "not deleting branch '%s' that is not yet merged to\n" " '%s', even though it is merged to HEAD." msgstr "" -"no suprimint la branca '%s' que encara no s'ha\n" -" fusionat a '%s', encara que està\n" +"no s'està suprimint la branca '%s' que encara no\n" +" s'ha fusionat a '%s', encara que està\n" " fusionada a HEAD." -#: builtin/branch.c:160 +#: builtin/branch.c:161 #, c-format msgid "Couldn't look up commit object for '%s'" msgstr "No s'ha pogut trobar l'objecte de comissió de '%s'" -#: builtin/branch.c:164 +#: builtin/branch.c:165 #, c-format msgid "" "The branch '%s' is not fully merged.\n" @@ -3615,340 +4277,368 @@ msgstr "" "La branca '%s' no està totalment fusionada.\n" "Si esteu segur que la voleu suprimir, executeu 'git branch -D %s'." -#: builtin/branch.c:177 +#: builtin/branch.c:178 msgid "Update of config-file failed" msgstr "L'actualització del fitxer de configuració ha fallat" -#: builtin/branch.c:205 +#: builtin/branch.c:206 msgid "cannot use -a with -d" msgstr "no es pot usar -a amb -d" -#: builtin/branch.c:211 +#: builtin/branch.c:212 msgid "Couldn't look up commit object for HEAD" msgstr "No s'ha pogut trobar l'objecte de comissió de HEAD" -#: builtin/branch.c:219 +#: builtin/branch.c:226 #, c-format -msgid "Cannot delete the branch '%s' which you are currently on." -msgstr "No es pot suprimir la branca '%s', en la qual sou actualment." +msgid "Cannot delete branch '%s' checked out at '%s'" +msgstr "No es pot suprimir la branca '%s' agafada a '%s'" -#: builtin/branch.c:235 +#: builtin/branch.c:241 #, c-format msgid "remote-tracking branch '%s' not found." msgstr "no s'ha trobat la branca amb seguiment remot '%s'." -#: builtin/branch.c:236 +#: builtin/branch.c:242 #, c-format msgid "branch '%s' not found." msgstr "no s'ha trobat la branca '%s'." -#: builtin/branch.c:251 +#: builtin/branch.c:257 #, c-format msgid "Error deleting remote-tracking branch '%s'" msgstr "Error en suprimir la branca amb seguiment remot '%s'" -#: builtin/branch.c:252 +#: builtin/branch.c:258 #, c-format msgid "Error deleting branch '%s'" msgstr "Error en suprimir la branca '%s'" -#: builtin/branch.c:259 +#: builtin/branch.c:265 #, c-format msgid "Deleted remote-tracking branch %s (was %s).\n" msgstr "S'ha suprimit la branca amb seguiment remot %s (era %s).\n" -#: builtin/branch.c:260 +#: builtin/branch.c:266 #, c-format msgid "Deleted branch %s (was %s).\n" msgstr "S'ha suprimit la branca %s (era %s).\n" -#: builtin/branch.c:303 +#: builtin/branch.c:312 #, c-format msgid "[%s: gone]" msgstr "[%s: no hi és]" -#: builtin/branch.c:308 +#: builtin/branch.c:317 #, c-format msgid "[%s]" msgstr "[%s]" -#: builtin/branch.c:313 +#: builtin/branch.c:322 #, c-format msgid "[%s: behind %d]" msgstr "[%s: darrere per %d]" -#: builtin/branch.c:315 +#: builtin/branch.c:324 #, c-format msgid "[behind %d]" msgstr "[darrere de %d]" -#: builtin/branch.c:319 +#: builtin/branch.c:328 #, c-format msgid "[%s: ahead %d]" msgstr "[%s: davant per %d]" -#: builtin/branch.c:321 +#: builtin/branch.c:330 #, c-format msgid "[ahead %d]" msgstr "[davant de %d]" -#: builtin/branch.c:324 +#: builtin/branch.c:333 #, c-format msgid "[%s: ahead %d, behind %d]" msgstr "[%s: davant per %d, darrere per %d]" -#: builtin/branch.c:327 +#: builtin/branch.c:336 #, c-format msgid "[ahead %d, behind %d]" msgstr "[davant %d, darrere %d]" -#: builtin/branch.c:340 +#: builtin/branch.c:349 msgid " **** invalid ref ****" msgstr " **** referència no vàlida ****" -#: builtin/branch.c:366 +#: builtin/branch.c:375 #, c-format msgid "(no branch, rebasing %s)" -msgstr "(cap branca, rebasant %s)" +msgstr "(cap branca, s'està rebasant %s)" -#: builtin/branch.c:369 +#: builtin/branch.c:378 #, c-format msgid "(no branch, bisect started on %s)" msgstr "(cap branca, bisecció començada en %s)" -#: builtin/branch.c:375 +#. TRANSLATORS: make sure this matches +#. "HEAD detached at " in wt-status.c +#: builtin/branch.c:384 #, c-format msgid "(HEAD detached at %s)" msgstr "(HEAD separat a %s)" -#: builtin/branch.c:378 +#. TRANSLATORS: make sure this matches +#. "HEAD detached from " in wt-status.c +#: builtin/branch.c:389 #, c-format msgid "(HEAD detached from %s)" msgstr "(HEAD separat de %s)" -#: builtin/branch.c:382 +#: builtin/branch.c:393 msgid "(no branch)" msgstr "(cap branca)" -#: builtin/branch.c:524 +#: builtin/branch.c:544 +#, c-format +msgid "Branch %s is being rebased at %s" +msgstr "La branca %s s'està rebasant a %s" + +#: builtin/branch.c:548 +#, c-format +msgid "Branch %s is being bisected at %s" +msgstr "La branca %s s'està bisecant a %s" + +#: builtin/branch.c:563 msgid "cannot rename the current branch while not on any." msgstr "no es pot canviar el nom de la branca actual mentre no s'és a cap." -#: builtin/branch.c:534 +#: builtin/branch.c:573 #, c-format msgid "Invalid branch name: '%s'" msgstr "Nom de branca no vàlid: '%s'" -#: builtin/branch.c:549 +#: builtin/branch.c:590 msgid "Branch rename failed" msgstr "El canvi de nom de branca ha fallat" -#: builtin/branch.c:553 +#: builtin/branch.c:594 #, c-format msgid "Renamed a misnamed branch '%s' away" msgstr "S'ha canviat el nom de la branca malanomenada '%s'" -#: builtin/branch.c:557 +#: builtin/branch.c:597 #, c-format msgid "Branch renamed to %s, but HEAD is not updated!" msgstr "S'ha canviat el nom de la branca a %s, però HEAD no està actualitzat!" -#: builtin/branch.c:564 +#: builtin/branch.c:604 msgid "Branch is renamed, but update of config-file failed" msgstr "" "La branca està canviada de nom, però l'actualització del fitxer de " "configuració ha fallat" -#: builtin/branch.c:586 +#: builtin/branch.c:620 #, c-format -msgid "could not write branch description template: %s" -msgstr "no s'ha pogut escriure la plantilla de descripció de branca: %s" +msgid "" +"Please edit the description for the branch\n" +" %s\n" +"Lines starting with '%c' will be stripped.\n" +msgstr "" +"Si us plau, editeu la descripció de la branca\n" +" %s\n" +"Es despullaran les línies que comencin amb '%c'.\n" -#: builtin/branch.c:615 +#: builtin/branch.c:651 msgid "Generic options" msgstr "Opcions genèriques" -#: builtin/branch.c:617 +#: builtin/branch.c:653 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:618 +#: builtin/branch.c:654 msgid "suppress informational messages" msgstr "omet els missatges informatius" -#: builtin/branch.c:619 +#: builtin/branch.c:655 msgid "set up tracking mode (see git-pull(1))" msgstr "configura el mode de seguiment (vegeu git-pull(1))" -#: builtin/branch.c:621 +#: builtin/branch.c:657 msgid "change upstream info" msgstr "canvia la informació de font" -#: builtin/branch.c:625 +#: builtin/branch.c:659 +msgid "upstream" +msgstr "font" + +#: builtin/branch.c:659 +msgid "change the upstream info" +msgstr "canvia la informació de font" + +#: builtin/branch.c:661 msgid "use colored output" msgstr "usa sortida colorada" -#: builtin/branch.c:626 +#: builtin/branch.c:662 msgid "act on remote-tracking branches" msgstr "actua en branques amb seguiment remot" -#: builtin/branch.c:628 builtin/branch.c:629 +#: builtin/branch.c:664 builtin/branch.c:665 msgid "print only branches that contain the commit" msgstr "imprimeix només les branques que continguin la comissió" -#: builtin/branch.c:632 +#: builtin/branch.c:668 msgid "Specific git-branch actions:" msgstr "Accions de git-branch específiques:" -#: builtin/branch.c:633 +#: builtin/branch.c:669 msgid "list both remote-tracking and local branches" msgstr "llista les branques amb seguiment remot i les locals" -#: builtin/branch.c:635 +#: builtin/branch.c:671 msgid "delete fully merged branch" msgstr "suprimeix la branca si està completament fusionada" -#: builtin/branch.c:636 +#: builtin/branch.c:672 msgid "delete branch (even if not merged)" msgstr "suprimeix la branca (encara que no estigui fusionada)" -#: builtin/branch.c:637 +#: builtin/branch.c:673 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:638 +#: builtin/branch.c:674 msgid "move/rename a branch, even if target exists" msgstr "mou/canvia de nom una branca, encara que el destí existeixi" -#: builtin/branch.c:639 +#: builtin/branch.c:675 msgid "list branch names" msgstr "llista els noms de branca" -#: builtin/branch.c:640 +#: builtin/branch.c:676 msgid "create the branch's reflog" msgstr "crea el registre de referència de la branca" -#: builtin/branch.c:642 +#: builtin/branch.c:678 msgid "edit the description for the branch" msgstr "edita la descripció de la branca" -#: builtin/branch.c:643 +#: builtin/branch.c:679 msgid "force creation, move/rename, deletion" msgstr "força creació, moviment/canvi de nom, supressió" -#: builtin/branch.c:644 +#: builtin/branch.c:680 msgid "print only branches that are merged" msgstr "imprimeix només les branques que s'han fusionat" -#: builtin/branch.c:645 +#: builtin/branch.c:681 msgid "print only branches that are not merged" msgstr "imprimeix només les branques que no s'han fusionat" -#: builtin/branch.c:646 +#: builtin/branch.c:682 msgid "list branches in columns" msgstr "llista les branques en columnes" -#: builtin/branch.c:647 builtin/for-each-ref.c:38 builtin/tag.c:366 +#: builtin/branch.c:683 builtin/for-each-ref.c:38 builtin/tag.c:366 msgid "key" msgstr "clau" -#: builtin/branch.c:648 builtin/for-each-ref.c:39 builtin/tag.c:367 +#: builtin/branch.c:684 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:650 builtin/for-each-ref.c:41 builtin/notes.c:401 -#: builtin/notes.c:404 builtin/notes.c:564 builtin/notes.c:567 +#: builtin/branch.c:686 builtin/for-each-ref.c:41 builtin/notes.c:402 +#: builtin/notes.c:405 builtin/notes.c:565 builtin/notes.c:568 #: builtin/tag.c:369 msgid "object" msgstr "objecte" -#: builtin/branch.c:651 +#: builtin/branch.c:687 msgid "print only branches of the object" msgstr "imprimeix només les branques de l'objecte" -#: builtin/branch.c:669 +#: builtin/branch.c:705 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:673 builtin/clone.c:705 +#: builtin/branch.c:709 builtin/clone.c:707 msgid "HEAD not found below refs/heads!" msgstr "HEAD no trobat sota refs/heads!" -#: builtin/branch.c:693 +#: builtin/branch.c:729 msgid "--column and --verbose are incompatible" msgstr "--column i --verbose són incompatibles" -#: builtin/branch.c:704 builtin/branch.c:746 +#: builtin/branch.c:740 builtin/branch.c:782 msgid "branch name required" msgstr "cal el nom de branca" -#: builtin/branch.c:722 +#: builtin/branch.c:758 msgid "Cannot give description to detached HEAD" msgstr "No es pot donar descripció a un HEAD separat" -#: builtin/branch.c:727 +#: builtin/branch.c:763 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:734 +#: builtin/branch.c:770 #, c-format msgid "No commit on branch '%s' yet." -msgstr "Encara no hi ha comissió en la branca '%s'." +msgstr "Encara no hi ha cap comissió en la branca '%s'." -#: builtin/branch.c:737 +#: builtin/branch.c:773 #, c-format msgid "No branch named '%s'." msgstr "No hi ha branca amb nom '%s'." -#: builtin/branch.c:752 +#: builtin/branch.c:788 msgid "too many branches for a rename operation" msgstr "hi ha massa branques per a una operació de canvi de nom" -#: builtin/branch.c:757 +#: builtin/branch.c:793 msgid "too many branches to set new upstream" msgstr "hi ha massa branques per a establir una nova font" -#: builtin/branch.c:761 +#: builtin/branch.c:797 #, 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:764 builtin/branch.c:786 builtin/branch.c:807 +#: builtin/branch.c:800 builtin/branch.c:822 builtin/branch.c:843 #, c-format msgid "no such branch '%s'" msgstr "no hi ha tal branca '%s'" -#: builtin/branch.c:768 +#: builtin/branch.c:804 #, c-format msgid "branch '%s' does not exist" msgstr "la branca '%s' no existeix" -#: builtin/branch.c:780 +#: builtin/branch.c:816 msgid "too many branches to unset upstream" msgstr "hi ha massa branques per a desestablir la font" -#: builtin/branch.c:784 +#: builtin/branch.c:820 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:790 +#: builtin/branch.c:826 #, c-format msgid "Branch '%s' has no upstream information" msgstr "La branca '%s' no té informació de font" -#: builtin/branch.c:804 +#: builtin/branch.c:840 msgid "it does not make sense to create 'HEAD' manually" msgstr "no té sentit crear 'HEAD' manualment" -#: builtin/branch.c:810 +#: builtin/branch.c:846 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:813 +#: builtin/branch.c:849 #, c-format msgid "" "The --set-upstream flag is deprecated and will be removed. Consider using --" @@ -3957,7 +4647,7 @@ msgstr "" "La bandera --set-upstream està desaprovada i s'eliminarà. Considereu usar --" "track o --set-upstream-to\n" -#: builtin/branch.c:830 +#: builtin/branch.c:866 #, c-format msgid "" "\n" @@ -3968,16 +4658,6 @@ msgstr "" "Si volíeu fer '%s' seguir '%s', feu això:\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:51 #, c-format msgid "%s is okay\n" @@ -3991,7 +4671,7 @@ msgstr "Cal un dipòsit per a fer un farcell." msgid "Need a repository to unbundle." msgstr "Cal un dipòsit per a desfer un farcell." -#: builtin/cat-file.c:428 +#: builtin/cat-file.c:443 msgid "" "git cat-file (-t [--allow-unknown-type]|-s [--allow-unknown-type]|-e|-p|" "|--textconv) " @@ -3999,57 +4679,57 @@ msgstr "" "git cat-file (-t [--allow-unknown-type]|-s [--allow-unknown-type]|-e|-p|" "|--textconv) " -#: builtin/cat-file.c:429 +#: builtin/cat-file.c:444 msgid "git cat-file (--batch | --batch-check) [--follow-symlinks]" msgstr "git cat-file (--batch | --batch-check) [--follow-symlinks]" -#: builtin/cat-file.c:466 +#: builtin/cat-file.c:481 msgid " can be one of: blob, tree, commit, tag" msgstr " pot ser un de: blob, tree, commit, tag" -#: builtin/cat-file.c:467 +#: builtin/cat-file.c:482 msgid "show object type" msgstr "mostra el tipus de l'objecte" -#: builtin/cat-file.c:468 +#: builtin/cat-file.c:483 msgid "show object size" msgstr "mostra la mida de l'objecte" -#: builtin/cat-file.c:470 +#: builtin/cat-file.c:485 msgid "exit with zero when there's no error" msgstr "surt amb zero quan no hi ha error" -#: builtin/cat-file.c:471 +#: builtin/cat-file.c:486 msgid "pretty-print object's content" msgstr "imprimeix bellament el contingut de l'objecte" -#: builtin/cat-file.c:473 +#: builtin/cat-file.c:488 msgid "for blob objects, run textconv on object's content" msgstr "en els objectes de blob, executa textconv en el contingut de l'objecte" -#: builtin/cat-file.c:475 +#: builtin/cat-file.c:490 msgid "allow -s and -t to work with broken/corrupt objects" msgstr "permet que -s i -t funcionin amb objectes trencats/malmesos" -#: builtin/cat-file.c:476 +#: builtin/cat-file.c:491 msgid "buffer --batch output" msgstr "posa la sortida de --batch en memòria intermèdia" -#: builtin/cat-file.c:478 +#: builtin/cat-file.c:493 msgid "show info and content of objects fed from the standard input" msgstr "" "mostra la informació i contingut dels objectes rebuts de l'entrada estàndard" -#: builtin/cat-file.c:481 +#: builtin/cat-file.c:496 msgid "show info about objects fed from the standard input" msgstr "mostra informació sobre els objectes rebuts de l'entrada estàndard" -#: builtin/cat-file.c:484 +#: builtin/cat-file.c:499 msgid "follow in-tree symlinks (used with --batch or --batch-check)" msgstr "" "segueix els enllaços simbòlics en l'arbre (s'usa amb --batch o --batch-check)" -#: builtin/cat-file.c:486 +#: builtin/cat-file.c:501 msgid "show all objects with --batch or --batch-check" msgstr "mostra tots els objectes amb --batch o --batch-check" @@ -4077,7 +4757,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:1136 builtin/gc.c:325 +#: builtin/check-ignore.c:18 builtin/checkout.c:1138 builtin/gc.c:325 msgid "suppress progress reporting" msgstr "omet el reportatge de progrés" @@ -4148,7 +4828,7 @@ msgstr "força la sobreescriptura de fitxers existents" #: 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" +msgstr "cap advertència per a fitxers existents i fitxers no en l'índex" #: builtin/checkout-index.c:165 msgid "don't checkout new files" @@ -4167,8 +4847,9 @@ msgid "write the content to temporary files" msgstr "escriu el contingut a fitxers temporals" #: 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:488 builtin/submodule--helper.c:491 +#: builtin/submodule--helper.c:494 builtin/submodule--helper.c:497 +#: builtin/submodule--helper.c:830 builtin/worktree.c:469 msgid "string" msgstr "cadena" @@ -4218,80 +4899,76 @@ msgstr "camí '%s': no es pot fusionar" msgid "Unable to add merge result for '%s'" msgstr "no s'ha pogut afegir el resultat de fusió per a '%s'" -#: builtin/checkout.c:251 builtin/checkout.c:254 builtin/checkout.c:257 -#: builtin/checkout.c:260 +#: builtin/checkout.c:250 builtin/checkout.c:253 builtin/checkout.c:256 +#: builtin/checkout.c:259 #, c-format msgid "'%s' cannot be used with updating paths" msgstr "'%s' no es pot usar amb actualització de camins" -#: builtin/checkout.c:263 builtin/checkout.c:266 +#: builtin/checkout.c:262 builtin/checkout.c:265 #, c-format msgid "'%s' cannot be used with %s" msgstr "'%s' no es pot usar amb %s" -#: builtin/checkout.c:269 +#: builtin/checkout.c:268 #, c-format msgid "Cannot update paths and switch to branch '%s' at the same time." msgstr "" "No es pot actualitzar els camins i canviar a la branca '%s' a la vegada." -#: builtin/checkout.c:280 builtin/checkout.c:474 -msgid "corrupt index file" -msgstr "fitxer d'índex malmès" - -#: builtin/checkout.c:340 builtin/checkout.c:347 +#: builtin/checkout.c:339 builtin/checkout.c:346 #, c-format msgid "path '%s' is unmerged" msgstr "el camí '%s' està sense fusionar" -#: builtin/checkout.c:496 +#: builtin/checkout.c:495 msgid "you need to resolve your current index first" -msgstr "heu de resoldre el vostre índex actual primer" +msgstr "heu de primer resoldre el vostre índex actual" -#: builtin/checkout.c:623 +#: builtin/checkout.c:625 #, c-format msgid "Can not do reflog for '%s': %s\n" msgstr "No es pot fer reflog per a '%s': %s\n" -#: builtin/checkout.c:661 +#: builtin/checkout.c:664 msgid "HEAD is now at" msgstr "HEAD ara és a" -#: builtin/checkout.c:665 builtin/clone.c:659 +#: builtin/checkout.c:668 builtin/clone.c:661 msgid "unable to update HEAD" msgstr "no s'ha pogut actualitzar HEAD" -#: builtin/checkout.c:669 +#: builtin/checkout.c:672 #, c-format msgid "Reset branch '%s'\n" msgstr "Restableix la branca '%s'\n" -#: builtin/checkout.c:672 +#: builtin/checkout.c:675 #, c-format msgid "Already on '%s'\n" msgstr "Ja en '%s'\n" -#: builtin/checkout.c:676 +#: builtin/checkout.c:679 #, c-format msgid "Switched to and reset branch '%s'\n" msgstr "S'ha agafat i restablert la branca '%s'\n" -#: builtin/checkout.c:678 builtin/checkout.c:1068 +#: builtin/checkout.c:681 builtin/checkout.c:1070 #, c-format msgid "Switched to a new branch '%s'\n" msgstr "S'ha agafat la branca nova '%s'\n" -#: builtin/checkout.c:680 +#: builtin/checkout.c:683 #, c-format msgid "Switched to branch '%s'\n" msgstr "S'ha agafat la branca '%s'\n" -#: builtin/checkout.c:732 +#: builtin/checkout.c:734 #, c-format msgid " ... and %d more.\n" msgstr " ... i %d més.\n" -#: builtin/checkout.c:738 +#: builtin/checkout.c:740 #, c-format msgid "" "Warning: you are leaving %d commit behind, not connected to\n" @@ -4304,17 +4981,17 @@ msgid_plural "" "\n" "%s\n" msgstr[0] "" -"Avís: esteu deixant enrere %d comissió, no connectada a\n" -"cap de les vostres branques:\n" +"Advertència: esteu deixant enrere %d comissió, no\n" +"connectada a cap de les vostres branques:\n" "\n" "%s\n" msgstr[1] "" -"Avís: esteu deixant enrere %d comissions, no connectades a\n" -"cap de les vostres branques:\n" +"Advertència: esteu deixant enrere %d comissions, no\n" +"connectades a cap de les vostres branques:\n" "\n" "%s\n" -#: builtin/checkout.c:757 +#: builtin/checkout.c:759 #, c-format msgid "" "If you want to keep it by creating a new branch, this may be a good time\n" @@ -4341,150 +5018,150 @@ msgstr[1] "" " git branch %s\n" "\n" -#: builtin/checkout.c:793 +#: builtin/checkout.c:795 msgid "internal error in revision walk" msgstr "error intern en el passeig per revisions" -#: builtin/checkout.c:797 +#: builtin/checkout.c:799 msgid "Previous HEAD position was" msgstr "La posició de HEAD anterior era" -#: builtin/checkout.c:824 builtin/checkout.c:1063 +#: builtin/checkout.c:826 builtin/checkout.c:1065 msgid "You are on a branch yet to be born" msgstr "Sou en una branca que encara ha de nàixer" -#: builtin/checkout.c:969 +#: builtin/checkout.c:971 #, c-format msgid "only one reference expected, %d given." -msgstr "només una referència esperada, %d donades." +msgstr "s'esperava només una referència, s'han donat %d." -#: builtin/checkout.c:1009 builtin/worktree.c:211 +#: builtin/checkout.c:1011 builtin/worktree.c:214 #, c-format msgid "invalid reference: %s" msgstr "referència no vàlida: %s" -#: builtin/checkout.c:1038 +#: builtin/checkout.c:1040 #, c-format msgid "reference is not a tree: %s" msgstr "la referència no és un arbre: %s" -#: builtin/checkout.c:1077 +#: builtin/checkout.c:1079 msgid "paths cannot be used with switching branches" msgstr "els camins no es poden usar amb canvi de branca" -#: builtin/checkout.c:1080 builtin/checkout.c:1084 +#: builtin/checkout.c:1082 builtin/checkout.c:1086 #, c-format msgid "'%s' cannot be used with switching branches" msgstr "'%s' no es pot usar amb canvi de branca" -#: builtin/checkout.c:1088 builtin/checkout.c:1091 builtin/checkout.c:1096 -#: builtin/checkout.c:1099 +#: builtin/checkout.c:1090 builtin/checkout.c:1093 builtin/checkout.c:1098 +#: builtin/checkout.c:1101 #, c-format msgid "'%s' cannot be used with '%s'" msgstr "'%s' no es pot usar amb '%s'" -#: builtin/checkout.c:1104 +#: builtin/checkout.c:1106 #, 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: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 +#: builtin/checkout.c:1139 builtin/checkout.c:1141 builtin/clone.c:88 +#: builtin/remote.c:165 builtin/remote.c:167 builtin/worktree.c:324 +#: builtin/worktree.c:326 msgid "branch" msgstr "branca" -#: builtin/checkout.c:1138 +#: builtin/checkout.c:1140 msgid "create and checkout a new branch" msgstr "crea i agafa una branca nova" -#: builtin/checkout.c:1140 +#: builtin/checkout.c:1142 msgid "create/reset and checkout a branch" msgstr "crea/restableix i agafa una branca" -#: builtin/checkout.c:1141 +#: builtin/checkout.c:1143 msgid "create reflog for new branch" msgstr "crea un registre de referència per a la branca nova" -#: builtin/checkout.c:1142 -msgid "detach the HEAD at named commit" -msgstr "separa el HEAD a la comissió anomenada" +#: builtin/checkout.c:1144 builtin/worktree.c:328 +msgid "detach HEAD at named commit" +msgstr "separa HEAD a la comissió anomenada" -#: builtin/checkout.c:1143 +#: builtin/checkout.c:1145 msgid "set upstream info for new branch" msgstr "estableix la informació de font de la branca nova" -#: builtin/checkout.c:1145 +#: builtin/checkout.c:1147 msgid "new-branch" msgstr "branca-nova" -#: builtin/checkout.c:1145 +#: builtin/checkout.c:1147 msgid "new unparented branch" msgstr "branca òrfena nova" -#: builtin/checkout.c:1146 +#: builtin/checkout.c:1148 msgid "checkout our version for unmerged files" msgstr "agafa la versió nostra dels fitxers sense fusionar" -#: builtin/checkout.c:1148 +#: builtin/checkout.c:1150 msgid "checkout their version for unmerged files" msgstr "agafa la versió seva dels fitxers sense fusionar" -#: builtin/checkout.c:1150 +#: builtin/checkout.c:1152 msgid "force checkout (throw away local modifications)" msgstr "agafa a la força (descarta qualsevulla modificació local)" -#: builtin/checkout.c:1151 +#: builtin/checkout.c:1153 msgid "perform a 3-way merge with the new branch" msgstr "realitza una fusió de 3 vies amb la branca nova" -#: builtin/checkout.c:1152 builtin/merge.c:227 +#: builtin/checkout.c:1154 builtin/merge.c:231 msgid "update ignored files (default)" msgstr "actualitza els fitxers ignorats (per defecte)" -#: builtin/checkout.c:1153 builtin/log.c:1269 parse-options.h:250 +#: builtin/checkout.c:1155 builtin/log.c:1459 parse-options.h:250 msgid "style" msgstr "estil" -#: builtin/checkout.c:1154 +#: builtin/checkout.c:1156 msgid "conflict style (merge or diff3)" msgstr "estil de conflicte (fusió o diff3)" -#: builtin/checkout.c:1157 +#: builtin/checkout.c:1159 msgid "do not limit pathspecs to sparse entries only" msgstr "no limitis les especificacions de camí només a entrades disperses" -#: builtin/checkout.c:1159 +#: builtin/checkout.c:1161 msgid "second guess 'git checkout '" msgstr "dubta 'git checkout '" -#: builtin/checkout.c:1161 +#: builtin/checkout.c:1163 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:1162 builtin/clone.c:58 builtin/fetch.c:116 -#: builtin/merge.c:224 builtin/pull.c:113 builtin/push.c:526 +#: builtin/checkout.c:1164 builtin/clone.c:60 builtin/fetch.c:117 +#: builtin/merge.c:228 builtin/pull.c:116 builtin/push.c:536 #: builtin/send-pack.c:168 msgid "force progress reporting" msgstr "força l'informe de progrés" -#: builtin/checkout.c:1193 +#: builtin/checkout.c:1195 msgid "-b, -B and --orphan are mutually exclusive" msgstr "-b, -B i --orphan són mutualment exclusius" -#: builtin/checkout.c:1210 +#: builtin/checkout.c:1212 msgid "--track needs a branch name" msgstr "--track necessita un nom de branca" -#: builtin/checkout.c:1215 +#: builtin/checkout.c:1217 msgid "Missing branch name; try -b" msgstr "Manca el nom de branca; proveu -b" -#: builtin/checkout.c:1251 +#: builtin/checkout.c:1253 msgid "invalid path specification" msgstr "especificació de camí no vàlida" -#: builtin/checkout.c:1258 +#: builtin/checkout.c:1260 #, c-format msgid "" "Cannot update paths and switch to branch '%s' at the same time.\n" @@ -4493,12 +5170,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:1263 +#: builtin/checkout.c:1265 #, 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:1267 +#: builtin/checkout.c:1269 msgid "" "git checkout: --ours/--theirs, --force and --merge are incompatible when\n" "checking out of the index." @@ -4515,7 +5192,7 @@ msgstr "" #: builtin/clean.c:29 #, c-format msgid "Removing %s\n" -msgstr "Eliminant %s\n" +msgstr "S'està eliminant %s\n" #: builtin/clean.c:30 #, c-format @@ -4525,7 +5202,7 @@ msgstr "Eliminaria %s\n" #: builtin/clean.c:31 #, c-format msgid "Skipping repository %s\n" -msgstr "Saltant el dipòsit %s\n" +msgstr "S'està saltant el dipòsit %s\n" #: builtin/clean.c:32 #, c-format @@ -4582,7 +5259,7 @@ msgstr "Introduïu els patrons a ignorar>> " #: 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" +msgstr "ADVERTÈNCIA: No es pot trobar ítems que coincideixin amb: %s" #: builtin/clean.c:711 msgid "Select items to delete" @@ -4632,7 +5309,7 @@ msgstr[1] "Eliminaria els ítems següents:" #: builtin/clean.c:838 msgid "No more files to clean, exiting." -msgstr "No hi ha més fitxers a netejar; sortint." +msgstr "No hi ha més fitxers a netejar; s'està sortint." #: builtin/clean.c:869 msgid "do not print names of files removed" @@ -4650,8 +5327,8 @@ msgstr "neteja interactiva" msgid "remove whole directories" msgstr "elimina directoris sencers" -#: 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 +#: builtin/clean.c:875 builtin/describe.c:407 builtin/grep.c:724 +#: builtin/ls-files.c:457 builtin/name-rev.c:314 builtin/show-ref.c:182 msgid "pattern" msgstr "patró" @@ -4691,103 +5368,112 @@ msgstr "" msgid "git clone [] [--] []" msgstr "git clone [] [--] []" -#: builtin/clone.c:60 +#: builtin/clone.c:62 msgid "don't create a checkout" msgstr "no facis cap agafament" -#: builtin/clone.c:61 builtin/clone.c:63 builtin/init-db.c:469 +#: builtin/clone.c:63 builtin/clone.c:65 builtin/init-db.c:476 msgid "create a bare repository" msgstr "crea un dipòsit nu" -#: builtin/clone.c:65 +#: builtin/clone.c:67 msgid "create a mirror repository (implies bare)" msgstr "crea un dipòsit reflectit (implica bare)" -#: builtin/clone.c:67 +#: builtin/clone.c:69 msgid "to clone from a local repository" msgstr "per a clonar des d'un dipòsit local" -#: builtin/clone.c:69 +#: builtin/clone.c:71 msgid "don't use local hardlinks, always copy" msgstr "no usis enllaços durs locals, sempre copia" -#: builtin/clone.c:71 +#: builtin/clone.c:73 msgid "setup as shared repository" msgstr "configura com a dipòsit compartit" -#: builtin/clone.c:73 builtin/clone.c:75 +#: builtin/clone.c:75 builtin/clone.c:77 msgid "initialize submodules in the clone" msgstr "inicialitza els submòduls en el clon" -#: builtin/clone.c:76 builtin/init-db.c:466 +#: builtin/clone.c:79 +msgid "number of submodules cloned in parallel" +msgstr "nombre de submòduls clonats en paral·lel" + +#: builtin/clone.c:80 builtin/init-db.c:473 msgid "template-directory" msgstr "directori-de-plantilla" -#: builtin/clone.c:77 builtin/init-db.c:467 +#: builtin/clone.c:81 builtin/init-db.c:474 msgid "directory from which templates will be used" msgstr "directori del qual les plantilles s'usaran" -#: builtin/clone.c:79 builtin/submodule--helper.c:173 +#: builtin/clone.c:83 builtin/submodule--helper.c:495 +#: builtin/submodule--helper.c:833 msgid "reference repository" msgstr "dipòsit de referència" -#: builtin/clone.c:81 +#: builtin/clone.c:85 msgid "use --reference only while cloning" msgstr "usa --reference només en clonar" -#: builtin/clone.c:82 builtin/column.c:26 builtin/merge-file.c:44 +#: builtin/clone.c:86 builtin/column.c:26 builtin/merge-file.c:44 msgid "name" msgstr "nom" -#: builtin/clone.c:83 +#: builtin/clone.c:87 msgid "use instead of 'origin' to track upstream" msgstr "usa en lloc de 'origin' per a seguir la font" -#: builtin/clone.c:85 +#: builtin/clone.c:89 msgid "checkout instead of the remote's HEAD" msgstr "agafa en lloc del HEAD del remot" -#: builtin/clone.c:87 +#: builtin/clone.c:91 msgid "path to git-upload-pack on the remote" msgstr "camí a git-upload-pack en el remot" -#: builtin/clone.c:88 builtin/fetch.c:117 builtin/grep.c:665 builtin/pull.c:193 +#: builtin/clone.c:92 builtin/fetch.c:118 builtin/grep.c:667 builtin/pull.c:201 msgid "depth" msgstr "profunditat" -#: builtin/clone.c:89 +#: builtin/clone.c:93 msgid "create a shallow clone of that depth" msgstr "crea un clon superficial de tal profunditat" -#: builtin/clone.c:91 +#: builtin/clone.c:95 msgid "clone only one branch, HEAD or --branch" msgstr "clona només una branca, HEAD o --branch" -#: builtin/clone.c:92 builtin/init-db.c:475 +#: builtin/clone.c:97 +msgid "any cloned submodules will be shallow" +msgstr "qualsevol submòdul clonat serà superficial" + +#: builtin/clone.c:98 builtin/init-db.c:482 msgid "gitdir" msgstr "directori de git" -#: builtin/clone.c:93 builtin/init-db.c:476 +#: builtin/clone.c:99 builtin/init-db.c:483 msgid "separate git dir from working tree" msgstr "separa el directori de git de l'arbre de treball" -#: builtin/clone.c:94 +#: builtin/clone.c:100 msgid "key=value" msgstr "clau=valor" -#: builtin/clone.c:95 +#: builtin/clone.c:101 msgid "set config inside the new repository" msgstr "estableix la configuració dins del dipòsit nou" -#: builtin/clone.c:96 builtin/fetch.c:131 builtin/push.c:536 +#: builtin/clone.c:102 builtin/fetch.c:132 builtin/push.c:547 msgid "use IPv4 addresses only" msgstr "usa només les adreces IPv4" -#: builtin/clone.c:98 builtin/fetch.c:133 builtin/push.c:538 +#: builtin/clone.c:104 builtin/fetch.c:134 builtin/push.c:549 msgid "use IPv6 addresses only" msgstr "usa només les adreces IPv6" -#: builtin/clone.c:239 +#: builtin/clone.c:241 msgid "" "No directory name could be guessed.\n" "Please specify a directory on the command line" @@ -4795,190 +5481,185 @@ 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 +#: builtin/clone.c:307 #, 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:307 +#: builtin/clone.c:309 #, 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:312 +#: builtin/clone.c:314 #, c-format msgid "reference repository '%s' is shallow" msgstr "el dipòsit de referència '%s' és superficial" -#: builtin/clone.c:315 +#: builtin/clone.c:317 #, c-format msgid "reference repository '%s' is grafted" msgstr "el dipòsit de referència '%s' és empeltat" -#: builtin/clone.c:380 builtin/diff.c:84 +#: builtin/clone.c:376 #, c-format -msgid "failed to stat '%s'" -msgstr "s'ha fallat en fer stat a '%s'" +msgid "failed to open '%s'" +msgstr "s'ha fallat en obrir '%s'" -#: builtin/clone.c:382 +#: builtin/clone.c:384 #, c-format msgid "%s exists and is not a directory" msgstr "%s existeix i no és directori" -#: builtin/clone.c:396 +#: builtin/clone.c:398 #, c-format msgid "failed to stat %s\n" msgstr "s'ha fallat en fer stat a '%s'\n" -#: builtin/clone.c:418 +#: builtin/clone.c:420 #, c-format msgid "failed to create link '%s'" msgstr "s'ha fallat en crear l'enllaç '%s'" -#: builtin/clone.c:422 +#: builtin/clone.c:424 #, c-format msgid "failed to copy file to '%s'" msgstr "s'ha fallat en copiar el fitxer a '%s'" -#: builtin/clone.c:447 builtin/clone.c:631 +#: builtin/clone.c:449 #, c-format msgid "done.\n" msgstr "fet.\n" -#: builtin/clone.c:459 +#: builtin/clone.c:461 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 "" -"La clonació ha tingut èxit, però l'agafament ha\n" +"El clonatge ha tingut èxit, però l'agafament ha\n" "fallat. Podeu inspeccionar què s'ha agafat amb\n" "'git status' i tornar a intentar l'agafament amb\n" "'git checkout -f HEAD'\n" -#: builtin/clone.c:536 +#: builtin/clone.c:538 #, 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:626 -#, c-format -msgid "Checking connectivity... " -msgstr "Provant connectivitat... " - -#: builtin/clone.c:629 +#: builtin/clone.c:633 msgid "remote did not send all necessary objects" msgstr "el remot no ha enviat tots els objectes necessaris" -#: builtin/clone.c:647 +#: builtin/clone.c:649 #, c-format msgid "unable to update %s" -msgstr "no s'ha pogut actualizar %s" +msgstr "no s'ha pogut actualitzar %s" -#: builtin/clone.c:696 +#: builtin/clone.c:698 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:727 +#: builtin/clone.c:729 msgid "unable to checkout working tree" msgstr "no s'ha pogut agafar l'arbre de treball" -#: builtin/clone.c:753 +#: builtin/clone.c:766 msgid "unable to write parameters to config file" -msgstr "no s'ha pogut escriure les paràmetres al fitxer de configuració" +msgstr "no s'ha pogut escriure els paràmetres al fitxer de configuració" -#: builtin/clone.c:816 +#: builtin/clone.c:829 msgid "cannot repack to clean up" msgstr "no es pot reempaquetar per a netejar" -#: builtin/clone.c:818 +#: builtin/clone.c:831 msgid "cannot unlink temporary alternates file" msgstr "no es pot desenllaçar el fitxer d'alternatives temporal" -#: builtin/clone.c:850 +#: builtin/clone.c:863 builtin/receive-pack.c:1855 msgid "Too many arguments." msgstr "Hi ha massa paràmetres." -#: builtin/clone.c:854 +#: builtin/clone.c:867 msgid "You must specify a repository to clone." msgstr "Heu d'especificar un dipòsit per a clonar." -#: builtin/clone.c:865 +#: builtin/clone.c:878 #, c-format msgid "--bare and --origin %s options are incompatible." msgstr "les opcions --bare i --origin %s són incompatibles." -#: builtin/clone.c:868 +#: builtin/clone.c:881 msgid "--bare and --separate-git-dir are incompatible." msgstr "--bare i --separate-git-dir són incompatibles." -#: builtin/clone.c:881 +#: builtin/clone.c:894 #, c-format msgid "repository '%s' does not exist" msgstr "el dipòsit '%s' no existeix" -#: builtin/clone.c:887 builtin/fetch.c:1174 +#: builtin/clone.c:900 builtin/fetch.c:1293 #, c-format msgid "depth %s is not a positive number" msgstr "la profunditat %s no és nombre positiu" -#: builtin/clone.c:897 +#: builtin/clone.c:910 #, 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:907 +#: builtin/clone.c:920 #, c-format msgid "working tree '%s' already exists." msgstr "l'arbre de treball '%s' ja existeix." -#: builtin/clone.c:922 builtin/clone.c:933 builtin/submodule--helper.c:218 -#: builtin/worktree.c:219 builtin/worktree.c:246 +#: builtin/clone.c:935 builtin/clone.c:946 builtin/submodule--helper.c:544 +#: builtin/worktree.c:222 builtin/worktree.c:249 #, c-format msgid "could not create leading directories of '%s'" msgstr "no s'ha pogut crear els directoris inicials de '%s'" -#: builtin/clone.c:925 +#: builtin/clone.c:938 #, 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:943 +#: builtin/clone.c:956 #, c-format msgid "Cloning into bare repository '%s'...\n" -msgstr "Clonant al dipòsit nu '%s'...\n" +msgstr "S'està clonant al dipòsit nu '%s'...\n" -#: builtin/clone.c:945 +#: builtin/clone.c:958 #, c-format msgid "Cloning into '%s'...\n" -msgstr "Clonant a '%s'...\n" +msgstr "S'està clonant a '%s'...\n" -#: builtin/clone.c:984 +#: builtin/clone.c:997 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:987 +#: builtin/clone.c:1000 msgid "source repository is shallow, ignoring --local" -msgstr "el dipòsit font és superficial, ignorant --local" +msgstr "el dipòsit font és superficial, s'està ignorant --local" -#: builtin/clone.c:992 +#: builtin/clone.c:1005 msgid "--local is ignored" msgstr "--local s'ignora" -#: builtin/clone.c:996 +#: builtin/clone.c:1009 #, c-format msgid "Don't know how to clone %s" msgstr "No se sap com clonar %s" -#: builtin/clone.c:1045 builtin/clone.c:1053 +#: builtin/clone.c:1058 builtin/clone.c:1066 #, 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:1056 +#: builtin/clone.c:1069 msgid "You appear to have cloned an empty repository." msgstr "Sembla que heu clonat un dipòsit buit." @@ -5120,66 +5801,66 @@ msgstr "" "Llavors \"git cherry-pick --continue\" reprendrà recollint\n" "com a cireres les comissions restants.\n" -#: builtin/commit.c:305 +#: builtin/commit.c:308 msgid "failed to unpack HEAD tree object" msgstr "s'ha fallat en desempaquetar l'objecte d'arbre HEAD" -#: builtin/commit.c:346 +#: builtin/commit.c:349 msgid "unable to create temporary index" msgstr "no s'ha pogut crear un índex temporal" -#: builtin/commit.c:352 +#: builtin/commit.c:355 msgid "interactive add failed" msgstr "l'afegiment interactiu ha fallat" -#: builtin/commit.c:365 +#: builtin/commit.c:368 msgid "unable to update temporary index" msgstr "no s'ha pogut actualitzar l'índex temporal" -#: builtin/commit.c:367 +#: builtin/commit.c:370 msgid "Failed to update main cache tree" msgstr "S'ha fallat en actualitzar l'arbre principal de memòria cau" -#: builtin/commit.c:391 builtin/commit.c:414 builtin/commit.c:463 +#: builtin/commit.c:394 builtin/commit.c:417 builtin/commit.c:466 msgid "unable to write new_index file" msgstr "no s'ha pogut escriure el fitxer new_index" -#: builtin/commit.c:445 +#: builtin/commit.c:448 msgid "cannot do a partial commit during a merge." msgstr "no es pot fer una comissió parcial durant una fusió." -#: builtin/commit.c:447 +#: builtin/commit.c:450 msgid "cannot do a partial commit during a cherry-pick." msgstr "no es pot fer una comissió parcial durant un recull de cireres." -#: builtin/commit.c:456 +#: builtin/commit.c:459 msgid "cannot read the index" msgstr "no es pot llegir l'índex" -#: builtin/commit.c:475 +#: builtin/commit.c:478 msgid "unable to write temporary index file" msgstr "no s'ha pogut escriure un fitxer d'índex temporal" -#: builtin/commit.c:580 +#: builtin/commit.c:583 #, c-format msgid "commit '%s' lacks author header" msgstr "a la comissió '%s' li manca la capçalera d'autor" -#: builtin/commit.c:582 +#: builtin/commit.c:585 #, c-format msgid "commit '%s' has malformed author line" msgstr "la comissió '%s' té una línia d'autor mal formada" -#: builtin/commit.c:601 +#: builtin/commit.c:604 msgid "malformed --author parameter" msgstr "paràmetre --author mal format" -#: builtin/commit.c:609 +#: builtin/commit.c:612 #, c-format msgid "invalid date format: %s" msgstr "format de data no vàlid: %s" -#: builtin/commit.c:653 +#: builtin/commit.c:656 msgid "" "unable to select a comment character that is not used\n" "in the current commit message" @@ -5187,38 +5868,38 @@ msgstr "" "no es pot seleccionar un caràcter de comentari que\n" "no sigui usat en el missatge de comissió actual" -#: builtin/commit.c:690 builtin/commit.c:723 builtin/commit.c:1080 +#: builtin/commit.c:693 builtin/commit.c:726 builtin/commit.c:1092 #, c-format msgid "could not lookup commit %s" msgstr "no s'ha pogut trobar la comissió %s" -#: builtin/commit.c:702 builtin/shortlog.c:285 +#: builtin/commit.c:705 builtin/shortlog.c:286 #, c-format msgid "(reading log message from standard input)\n" -msgstr "(llegint el missatge de registre des de l'entrada estàndard)\n" +msgstr "(s'està llegint el missatge de registre des de l'entrada estàndard)\n" -#: builtin/commit.c:704 +#: builtin/commit.c:707 msgid "could not read log from standard input" msgstr "no s'ha pogut llegir el registre des de l'entrada estàndard" -#: builtin/commit.c:708 +#: builtin/commit.c:711 #, c-format msgid "could not read log file '%s'" msgstr "no s'ha pogut llegir el fitxer de registre '%s'" -#: builtin/commit.c:730 -msgid "could not read MERGE_MSG" -msgstr "no s'ha pogut llegir MERGE_MSG" - -#: builtin/commit.c:734 +#: builtin/commit.c:738 builtin/commit.c:746 msgid "could not read SQUASH_MSG" msgstr "no s'ha pogut llegir SQUASH_MSG" -#: builtin/commit.c:785 +#: builtin/commit.c:743 +msgid "could not read MERGE_MSG" +msgstr "no s'ha pogut llegir MERGE_MSG" + +#: builtin/commit.c:797 msgid "could not write commit template" msgstr "no s'ha pogut escriure la plantilla de comissió" -#: builtin/commit.c:803 +#: builtin/commit.c:815 #, c-format msgid "" "\n" @@ -5233,7 +5914,7 @@ msgstr "" "\t%s\n" "i intenteu-ho de nou.\n" -#: builtin/commit.c:808 +#: builtin/commit.c:820 #, c-format msgid "" "\n" @@ -5244,11 +5925,11 @@ msgid "" msgstr "" "\n" "Sembla que podeu estar cometent un recull de cireres.\n" -"Si això no és correcte, si us plau elimineu el fitxer\n" +"Si això no és correcte, si us plau, elimineu el fitxer\n" "\t%s\n" "i intenteu-ho de nou.\n" -#: builtin/commit.c:821 +#: builtin/commit.c:833 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -5258,7 +5939,7 @@ msgstr "" "S'ignoraran les línies començant amb '%c', i un missatge de\n" "comissió buit avorta la comissió.\n" -#: builtin/commit.c:828 +#: builtin/commit.c:840 #, c-format msgid "" "Please enter the commit message for your changes. Lines starting\n" @@ -5269,149 +5950,150 @@ msgstr "" "Es retindran les línies començants amb '%c'; podeu eliminar-les per vós\n" "mateix si voleu. Un missatge buit avorta la comissió.\n" -#: builtin/commit.c:848 +#: builtin/commit.c:860 #, c-format msgid "%sAuthor: %.*s <%.*s>" msgstr "%sAutor: %.*s <%.*s>" -#: builtin/commit.c:856 +#: builtin/commit.c:868 #, c-format msgid "%sDate: %s" msgstr "%sData: %s" -#: builtin/commit.c:863 +#: builtin/commit.c:875 #, c-format msgid "%sCommitter: %.*s <%.*s>" msgstr "%sComitent: %.*s <%.*s>" -#: builtin/commit.c:881 +#: builtin/commit.c:893 msgid "Cannot read index" msgstr "No es pot llegir l'índex" -#: builtin/commit.c:938 +#: builtin/commit.c:950 msgid "Error building trees" msgstr "Error en construir arbres" -#: builtin/commit.c:953 builtin/tag.c:266 +#: builtin/commit.c:965 builtin/tag.c:266 #, c-format msgid "Please supply the message using either -m or -F option.\n" msgstr "Si us plau, proveïu el missatge per usar o l'opció -m o l'opció -F.\n" -#: builtin/commit.c:1055 +#: builtin/commit.c:1067 #, c-format msgid "--author '%s' is not 'Name ' and matches no existing author" msgstr "" "--author '%s' no és 'Nom ' i no coincideix amb\n" "cap autor existent" -#: builtin/commit.c:1070 builtin/commit.c:1310 +#: builtin/commit.c:1082 builtin/commit.c:1322 #, c-format msgid "Invalid untracked files mode '%s'" msgstr "Mode de fitxers no seguits no vàlid '%s'" -#: builtin/commit.c:1107 +#: builtin/commit.c:1119 msgid "--long and -z are incompatible" msgstr "--long i -z són incompatibles" -#: builtin/commit.c:1137 +#: builtin/commit.c:1149 msgid "Using both --reset-author and --author does not make sense" msgstr "Usar ambdós --reset-author i --author no té sentit" -#: builtin/commit.c:1146 +#: builtin/commit.c:1158 msgid "You have nothing to amend." msgstr "No teniu res a esmenar." -#: builtin/commit.c:1149 +#: builtin/commit.c:1161 msgid "You are in the middle of a merge -- cannot amend." msgstr "Esteu enmig d'una fusió -- no es pot esmenar." -#: builtin/commit.c:1151 +#: builtin/commit.c:1163 msgid "You are in the middle of a cherry-pick -- cannot amend." msgstr "Esteu enmig d'un recull de cireres -- no es pot esmenar." -#: builtin/commit.c:1154 +#: builtin/commit.c:1166 msgid "Options --squash and --fixup cannot be used together" msgstr "Les opcions --squash i --fixup no es poden usar juntes" -#: builtin/commit.c:1164 +#: builtin/commit.c:1176 msgid "Only one of -c/-C/-F/--fixup can be used." msgstr "Només un de -c/-C/-F/--fixup es pot usar." -#: builtin/commit.c:1166 +#: builtin/commit.c:1178 msgid "Option -m cannot be combined with -c/-C/-F/--fixup." msgstr "L'opció -m no es pot combinar amb -c/-C/-F/--fixup." -#: builtin/commit.c:1174 +#: builtin/commit.c:1186 msgid "--reset-author can be used only with -C, -c or --amend." msgstr "--reset-author només es pot usar amb -C, -c o --amend." -#: builtin/commit.c:1191 +#: builtin/commit.c:1203 msgid "Only one of --include/--only/--all/--interactive/--patch can be used." msgstr "Només un de --include/--only/--all/--interactive/--patch es pot usar." -#: builtin/commit.c:1193 +#: builtin/commit.c:1205 msgid "No paths with --include/--only does not make sense." msgstr "--include/--only no té sentit sense camí." -#: builtin/commit.c:1195 +#: builtin/commit.c:1207 msgid "Clever... amending the last one with dirty index." -msgstr "Intel·ligent... esmenant l'últim amb índex brut." +msgstr "Intel·ligent... s'està esmenant l'últim amb índex brut." -#: builtin/commit.c:1197 +#: builtin/commit.c:1209 msgid "Explicit paths specified without -i or -o; assuming --only paths..." msgstr "" -"S'han especificat camins explícits sense -i o -o; presumint camins --only..." +"S'han especificat camins explícits sense -i o -o; s'està presumint camins --" +"only..." -#: builtin/commit.c:1209 builtin/tag.c:475 +#: builtin/commit.c:1221 builtin/tag.c:474 #, c-format msgid "Invalid cleanup mode %s" msgstr "Mode de neteja no vàlid %s" -#: builtin/commit.c:1214 +#: builtin/commit.c:1226 msgid "Paths with -a does not make sense." msgstr "-a no té sentit amb camins." -#: builtin/commit.c:1324 builtin/commit.c:1605 +#: builtin/commit.c:1336 builtin/commit.c:1622 msgid "show status concisely" msgstr "mostra l'estat concisament" -#: builtin/commit.c:1326 builtin/commit.c:1607 +#: builtin/commit.c:1338 builtin/commit.c:1624 msgid "show branch information" msgstr "mostra la informació de branca" -#: builtin/commit.c:1328 builtin/commit.c:1609 builtin/push.c:512 -#: builtin/worktree.c:430 +#: builtin/commit.c:1340 builtin/commit.c:1626 builtin/push.c:522 +#: builtin/worktree.c:440 msgid "machine-readable output" msgstr "sortida llegible per màquina" -#: builtin/commit.c:1331 builtin/commit.c:1611 +#: builtin/commit.c:1343 builtin/commit.c:1628 msgid "show status in long format (default)" msgstr "mostra l'estat en format llarg (per defecte)" -#: builtin/commit.c:1334 builtin/commit.c:1614 +#: builtin/commit.c:1346 builtin/commit.c:1631 msgid "terminate entries with NUL" msgstr "acaba les entrades amb NUL" -#: builtin/commit.c:1336 builtin/commit.c:1617 builtin/fast-export.c:981 +#: builtin/commit.c:1348 builtin/commit.c:1634 builtin/fast-export.c:981 #: builtin/fast-export.c:984 builtin/tag.c:353 msgid "mode" msgstr "mode" -#: builtin/commit.c:1337 builtin/commit.c:1617 +#: builtin/commit.c:1349 builtin/commit.c:1634 msgid "show untracked files, optional modes: all, normal, no. (Default: all)" msgstr "" "mostra els fitxers no seguits, modes opcionals: all, normal, no. (Per " "defecte: all)" -#: builtin/commit.c:1340 +#: builtin/commit.c:1352 msgid "show ignored files" msgstr "mostra els fitxers ignorats" -#: builtin/commit.c:1341 parse-options.h:155 +#: builtin/commit.c:1353 parse-options.h:155 msgid "when" msgstr "quan" -#: builtin/commit.c:1342 +#: builtin/commit.c:1354 msgid "" "ignore changes to submodules, optional when: all, dirty, untracked. " "(Default: all)" @@ -5419,202 +6101,202 @@ msgstr "" "ignora els canvis als submòduls, opcional quan: all, dirty, untracked. (Per " "defecte: all)" -#: builtin/commit.c:1344 +#: builtin/commit.c:1356 msgid "list untracked files in columns" msgstr "mostra els fitxers no seguits en columnes" -#: builtin/commit.c:1430 +#: builtin/commit.c:1442 msgid "couldn't look up newly created commit" msgstr "no s'ha pogut trobar la comissió novament creada" -#: builtin/commit.c:1432 +#: builtin/commit.c:1444 msgid "could not parse newly created commit" msgstr "no s'ha pogut analitzar la comissió novament creada" -#: builtin/commit.c:1477 +#: builtin/commit.c:1489 msgid "detached HEAD" msgstr "HEAD separat" -#: builtin/commit.c:1480 +#: builtin/commit.c:1492 msgid " (root-commit)" msgstr " (comissió d'arrel)" -#: builtin/commit.c:1575 +#: builtin/commit.c:1592 msgid "suppress summary after successful commit" msgstr "omet el resum després d'una comissió reeixida" -#: builtin/commit.c:1576 +#: builtin/commit.c:1593 msgid "show diff in commit message template" msgstr "mostra la diferència en la plantilla de missatge de comissió" -#: builtin/commit.c:1578 +#: builtin/commit.c:1595 msgid "Commit message options" msgstr "Opcions de missatge de comissió" -#: builtin/commit.c:1579 builtin/tag.c:351 +#: builtin/commit.c:1596 builtin/tag.c:351 msgid "read message from file" msgstr "llegiu el missatge des d'un fitxer" -#: builtin/commit.c:1580 +#: builtin/commit.c:1597 msgid "author" msgstr "autor" -#: builtin/commit.c:1580 +#: builtin/commit.c:1597 msgid "override author for commit" msgstr "autor corregit de la comissió" -#: builtin/commit.c:1581 builtin/gc.c:326 +#: builtin/commit.c:1598 builtin/gc.c:326 msgid "date" msgstr "data" -#: builtin/commit.c:1581 +#: builtin/commit.c:1598 msgid "override date for commit" msgstr "data corregida de la comissió" -#: builtin/commit.c:1582 builtin/merge.c:218 builtin/notes.c:395 -#: builtin/notes.c:558 builtin/tag.c:349 +#: builtin/commit.c:1599 builtin/merge.c:220 builtin/notes.c:396 +#: builtin/notes.c:559 builtin/tag.c:349 msgid "message" msgstr "missatge" -#: builtin/commit.c:1582 +#: builtin/commit.c:1599 msgid "commit message" msgstr "missatge de comissió" -#: builtin/commit.c:1583 builtin/commit.c:1584 builtin/commit.c:1585 -#: builtin/commit.c:1586 parse-options.h:256 ref-filter.h:79 +#: builtin/commit.c:1600 builtin/commit.c:1601 builtin/commit.c:1602 +#: builtin/commit.c:1603 parse-options.h:256 ref-filter.h:79 msgid "commit" msgstr "comissió" -#: builtin/commit.c:1583 +#: builtin/commit.c:1600 msgid "reuse and edit message from specified commit" msgstr "reusa i edita el missatge de la comissió especificada" -#: builtin/commit.c:1584 +#: builtin/commit.c:1601 msgid "reuse message from specified commit" msgstr "reusa el missatge de la comissió especificada" -#: builtin/commit.c:1585 +#: builtin/commit.c:1602 msgid "use autosquash formatted message to fixup specified commit" msgstr "" "usa el missatge formatat d'aixafada automàtica per a arreglar la comissió " "especificada" -#: builtin/commit.c:1586 +#: builtin/commit.c:1603 msgid "use autosquash formatted message to squash specified commit" msgstr "" "usa el missatge formatat d'aixafada automàtica per a aixafar la comissió " "especificada" -#: builtin/commit.c:1587 +#: builtin/commit.c:1604 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:1219 builtin/revert.c:86 +#: builtin/commit.c:1605 builtin/log.c:1409 builtin/revert.c:86 msgid "add Signed-off-by:" msgstr "afegeix Signed-off-by:" -#: builtin/commit.c:1589 +#: builtin/commit.c:1606 msgid "use specified template file" msgstr "usa el fitxer de plantilla especificat" -#: builtin/commit.c:1590 +#: builtin/commit.c:1607 msgid "force edit of commit" msgstr "força l'edició de la comissió" -#: builtin/commit.c:1591 +#: builtin/commit.c:1608 msgid "default" msgstr "per defecte" -#: builtin/commit.c:1591 builtin/tag.c:354 +#: builtin/commit.c:1608 builtin/tag.c:354 msgid "how to strip spaces and #comments from message" msgstr "com despullar els espais i #comentaris del missatge" -#: builtin/commit.c:1592 +#: builtin/commit.c:1609 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:160 +#: builtin/commit.c:1611 builtin/merge.c:230 builtin/pull.c:165 #: builtin/revert.c:93 msgid "GPG sign commit" -msgstr "firma la comissió amb GPG" +msgstr "signa la comissió amb GPG" -#: builtin/commit.c:1597 +#: builtin/commit.c:1614 msgid "Commit contents options" msgstr "Opcions dels continguts de les comissions" -#: builtin/commit.c:1598 +#: builtin/commit.c:1615 msgid "commit all changed files" msgstr "comet tots els fitxers canviats" -#: builtin/commit.c:1599 +#: builtin/commit.c:1616 msgid "add specified files to index for commit" msgstr "afegeix els fitxers especificats a l'índex per a cometre" -#: builtin/commit.c:1600 +#: builtin/commit.c:1617 msgid "interactively add files" msgstr "afegeix els fitxers interactivament" -#: builtin/commit.c:1601 +#: builtin/commit.c:1618 msgid "interactively add changes" msgstr "afegeix els canvis interactivament" -#: builtin/commit.c:1602 +#: builtin/commit.c:1619 msgid "commit only specified files" msgstr "comet només els fitxers especificats" -#: builtin/commit.c:1603 -msgid "bypass pre-commit hook" -msgstr "evita el ganxo de precomissió" +#: builtin/commit.c:1620 +msgid "bypass pre-commit and commit-msg hooks" +msgstr "evita els ganxos de precomissió i missatge de comissió" -#: builtin/commit.c:1604 +#: builtin/commit.c:1621 msgid "show what would be committed" msgstr "mostra què es cometria" -#: builtin/commit.c:1615 +#: builtin/commit.c:1632 msgid "amend previous commit" msgstr "esmena la comissió anterior" -#: builtin/commit.c:1616 +#: builtin/commit.c:1633 msgid "bypass post-rewrite hook" msgstr "evita el ganxo de postreescriure" -#: builtin/commit.c:1621 +#: builtin/commit.c:1638 msgid "ok to record an empty change" msgstr "està bé registrar un canvi buit" -#: builtin/commit.c:1623 +#: builtin/commit.c:1640 msgid "ok to record a change with an empty message" msgstr "està bé registrar un canvi amb missatge buit" -#: builtin/commit.c:1652 +#: builtin/commit.c:1669 msgid "could not parse HEAD commit" msgstr "no s'ha pogut analitzar la comissió HEAD" -#: builtin/commit.c:1698 +#: builtin/commit.c:1719 #, c-format msgid "Corrupt MERGE_HEAD file (%s)" msgstr "Fitxer MERGE_HEAD malmès (%s)" -#: builtin/commit.c:1705 +#: builtin/commit.c:1726 msgid "could not read MERGE_MODE" msgstr "no s'ha pogut llegir MERGE_MODE" -#: builtin/commit.c:1724 +#: builtin/commit.c:1745 #, c-format msgid "could not read commit message: %s" msgstr "no s'ha pogut llegir el missatge de comissió: %s" -#: builtin/commit.c:1735 +#: builtin/commit.c:1756 #, c-format msgid "Aborting commit; you did not edit the message.\n" -msgstr "Avortant la comissió; no heu editat el missatge.\n" +msgstr "S'està avortant la comissió; no heu editat el missatge.\n" -#: builtin/commit.c:1740 +#: builtin/commit.c:1761 #, c-format msgid "Aborting commit due to empty commit message.\n" -msgstr "Avortant la comissió a causa d'un missatge de comissió buit.\n" +msgstr "S'està avortant la comissió a causa d'un missatge de comissió buit.\n" -#: builtin/commit.c:1788 +#: builtin/commit.c:1809 msgid "" "Repository has been updated, but unable to write\n" "new_index file. Check that disk is not full and quota is\n" @@ -5629,142 +6311,142 @@ msgstr "" msgid "git config []" msgstr "git config []" -#: builtin/config.c:56 +#: builtin/config.c:55 msgid "Config file location" msgstr "Ubicació del fitxer de configuració" -#: builtin/config.c:57 +#: builtin/config.c:56 msgid "use global config file" msgstr "usa el fitxer de configuració global" -#: builtin/config.c:58 +#: builtin/config.c:57 msgid "use system config file" msgstr "usa el fitxer de configuració del sistema" -#: builtin/config.c:59 +#: builtin/config.c:58 msgid "use repository config file" msgstr "usa el fitxer de configuració del dipòsit" -#: builtin/config.c:60 +#: builtin/config.c:59 msgid "use given config file" msgstr "usa el fitxer de configuració donat" -#: builtin/config.c:61 +#: builtin/config.c:60 msgid "blob-id" msgstr "ID de blob" -#: builtin/config.c:61 +#: builtin/config.c:60 msgid "read config from given blob object" msgstr "llegeix la configuració de l'objecte de blob donat" -#: builtin/config.c:62 +#: builtin/config.c:61 msgid "Action" msgstr "Acció" -#: builtin/config.c:63 +#: builtin/config.c:62 msgid "get value: name [value-regex]" msgstr "obtén valor: nom [regex-de-valors]" -#: builtin/config.c:64 +#: builtin/config.c:63 msgid "get all values: key [value-regex]" msgstr "obtén tots els valors: clau [regex-de-valors]" -#: builtin/config.c:65 +#: builtin/config.c:64 msgid "get values for regexp: name-regex [value-regex]" msgstr "obtén valors de regexp: regex-de-noms [regex-de-valors]" -#: builtin/config.c:66 +#: builtin/config.c:65 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:67 +#: builtin/config.c:66 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:68 +#: builtin/config.c:67 msgid "add a new variable: name value" msgstr "afegeix una variable nova: nom valor" -#: builtin/config.c:69 +#: builtin/config.c:68 msgid "remove a variable: name [value-regex]" msgstr "elimina una variable: nom [regex-de-valors]" -#: builtin/config.c:70 +#: builtin/config.c:69 msgid "remove all matches: name [value-regex]" msgstr "elimina totes les coincidències: nom [regex-de-valors]" -#: builtin/config.c:71 +#: builtin/config.c:70 msgid "rename section: old-name new-name" msgstr "canvia el nom de secció: nom-antic nom-nou" -#: builtin/config.c:72 +#: builtin/config.c:71 msgid "remove a section: name" msgstr "elimina una secció: nom" -#: builtin/config.c:73 +#: builtin/config.c:72 msgid "list all" msgstr "llista tots" -#: builtin/config.c:74 +#: builtin/config.c:73 msgid "open an editor" msgstr "obre un editor" -#: builtin/config.c:75 +#: builtin/config.c:74 msgid "find the color configured: slot [default]" msgstr "troba el color configurat: ranura [per defecte]" -#: builtin/config.c:76 +#: builtin/config.c:75 msgid "find the color setting: slot [stdout-is-tty]" msgstr "troba l'ajust de color: ranura [stdout-és-tty]" -#: builtin/config.c:77 +#: builtin/config.c:76 msgid "Type" msgstr "Tipus" -#: builtin/config.c:78 +#: builtin/config.c:77 msgid "value is \"true\" or \"false\"" msgstr "el valor és \"true\" o \"false\"" -#: builtin/config.c:79 +#: builtin/config.c:78 msgid "value is decimal number" msgstr "el valor és un nombre decimal" -#: builtin/config.c:80 +#: builtin/config.c:79 msgid "value is --bool or --int" msgstr "el valor és --bool o --int" -#: builtin/config.c:81 +#: builtin/config.c:80 msgid "value is a path (file or directory name)" msgstr "el valor és un camí (nom de fitxer o directori)" -#: builtin/config.c:82 +#: builtin/config.c:81 msgid "Other" msgstr "Altre" -#: builtin/config.c:83 +#: builtin/config.c:82 msgid "terminate values with NUL byte" msgstr "acaba els valors amb un octet NUL" -#: builtin/config.c:84 +#: builtin/config.c:83 msgid "show variable names only" msgstr "mostra només els noms de variable" -#: builtin/config.c:85 +#: builtin/config.c:84 msgid "respect include directives on lookup" msgstr "respecta les directives d'inclusió en cercar" -#: builtin/config.c:86 +#: builtin/config.c:85 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 +#: builtin/config.c:327 msgid "unable to parse default color value" msgstr "no s'ha pogut analitzar el valor de color per defecte" -#: builtin/config.c:469 +#: builtin/config.c:471 #, c-format msgid "" "# This is Git's per-user configuration file.\n" @@ -5779,7 +6461,7 @@ msgstr "" "#\tname = %s\n" "#\temail = %s\n" -#: builtin/config.c:611 +#: builtin/config.c:613 #, c-format msgid "cannot create configuration file %s" msgstr "no es pot crear el fitxer de configuració '%s'" @@ -5815,7 +6497,7 @@ msgstr "l'etiqueta anotada %s no té nom incrustat" msgid "tag '%s' is really '%s' here" msgstr "l'etiqueta '%s' realment és '%s' aquí" -#: builtin/describe.c:250 builtin/log.c:459 +#: builtin/describe.c:250 builtin/log.c:480 #, c-format msgid "Not a valid object name %s" msgstr "%s no és un nom d'objecte vàlid" @@ -5833,7 +6515,7 @@ msgstr "cap etiqueta coincideix exactament amb '%s'" #: builtin/describe.c:272 #, c-format msgid "searching to describe %s\n" -msgstr "cercant per a descriure %s\n" +msgstr "s'està cercant per a descriure %s\n" #: builtin/describe.c:319 #, c-format @@ -5908,7 +6590,7 @@ msgstr "considera les etiquetes més recents (per defecte: 10)" msgid "only consider tags matching " msgstr "només considera les etiquetes que coincideixen amb " -#: builtin/describe.c:410 builtin/name-rev.c:314 +#: builtin/describe.c:410 builtin/name-rev.c:321 msgid "show abbreviated commit object as fallback" msgstr "mostra l'objecte de comissió abreviat com a retrocediment" @@ -5926,7 +6608,7 @@ msgstr "--long és incompatible amb --abbrev=0" #: builtin/describe.c:456 msgid "No names found, cannot describe anything." -msgstr "Cap nom trobat, no es pot descriure res." +msgstr "No s'ha trobat cap nom, no es pot descriure res." #: builtin/describe.c:476 msgid "--dirty is incompatible with commit-ishes" @@ -5942,21 +6624,21 @@ msgstr "'%s': no és ni fitxer regular ni enllaç simbòlic" msgid "invalid option: %s" msgstr "opció no vàlida: %s" -#: builtin/diff.c:358 +#: builtin/diff.c:360 msgid "Not a git repository" msgstr "No és un dipòsit de git" -#: builtin/diff.c:401 +#: builtin/diff.c:403 #, c-format msgid "invalid object '%s' given." msgstr "s'ha donat un objecte no vàlid '%s'." -#: builtin/diff.c:410 +#: builtin/diff.c:412 #, c-format msgid "more than two blobs given: '%s'" msgstr "s'ha donat més de dos blobs: '%s" -#: builtin/diff.c:417 +#: builtin/diff.c:419 #, c-format msgid "unhandled object '%s' given." msgstr "s'ha donat l'objecte no gestionat '%s'." @@ -5971,7 +6653,7 @@ msgstr "mostra el progrés després de objectes" #: builtin/fast-export.c:982 msgid "select handling of signed tags" -msgstr "selecciona la gestió de les etiquetes firmades" +msgstr "selecciona la gestió de les etiquetes signades" #: builtin/fast-export.c:985 msgid "select handling of tags that tag filtered objects" @@ -6013,182 +6695,178 @@ msgstr "Aplica l'especificació de referència a les referències exportades" msgid "anonymize output" msgstr "anonimitza la sortida" -#: builtin/fetch.c:20 +#: builtin/fetch.c:21 msgid "git fetch [] [ [...]]" msgstr "git fetch [] [ [...]]" -#: builtin/fetch.c:21 +#: builtin/fetch.c:22 msgid "git fetch [] " msgstr "git fetch [] " -#: builtin/fetch.c:22 +#: builtin/fetch.c:23 msgid "git fetch --multiple [] [( | )...]" msgstr "git fetch --multiple [] [( | )...]" -#: builtin/fetch.c:23 +#: builtin/fetch.c:24 msgid "git fetch --all []" msgstr "git fetch --all []" -#: builtin/fetch.c:92 builtin/pull.c:166 +#: builtin/fetch.c:93 builtin/pull.c:174 msgid "fetch from all remotes" msgstr "obtén de tots els remots" -#: builtin/fetch.c:94 builtin/pull.c:169 +#: builtin/fetch.c:95 builtin/pull.c:177 msgid "append to .git/FETCH_HEAD instead of overwriting" msgstr "annexa a .git/FETCH_HEAD en lloc de sobreescriure" -#: builtin/fetch.c:96 builtin/pull.c:172 +#: builtin/fetch.c:97 builtin/pull.c:180 msgid "path to upload pack on remote end" msgstr "camí al qual pujar el paquet al costat remot" -#: builtin/fetch.c:97 builtin/pull.c:174 +#: builtin/fetch.c:98 builtin/pull.c:182 msgid "force overwrite of local branch" msgstr "força la sobreescriptura de la branca local" -#: builtin/fetch.c:99 +#: builtin/fetch.c:100 msgid "fetch from multiple remotes" msgstr "obtén de múltiples remots" -#: builtin/fetch.c:101 builtin/pull.c:176 +#: builtin/fetch.c:102 builtin/pull.c:184 msgid "fetch all tags and associated objects" msgstr "obtén totes les etiquetes i tots els objectes associats" -#: builtin/fetch.c:103 +#: builtin/fetch.c:104 msgid "do not fetch all tags (--no-tags)" msgstr "no obtinguis les etiquetes (--no-tags)" -#: builtin/fetch.c:105 +#: builtin/fetch.c:106 msgid "number of submodules fetched in parallel" msgstr "nombre de submòduls obtinguts en paral·lel" -#: builtin/fetch.c:107 builtin/pull.c:179 +#: builtin/fetch.c:108 builtin/pull.c:187 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:108 builtin/pull.c:182 +#: builtin/fetch.c:109 builtin/pull.c:190 msgid "on-demand" msgstr "sota demanda" -#: builtin/fetch.c:109 builtin/pull.c:183 +#: builtin/fetch.c:110 builtin/pull.c:191 msgid "control recursive fetching of submodules" msgstr "controla l'obtenció recursiva de submòduls" -#: builtin/fetch.c:113 builtin/pull.c:191 +#: builtin/fetch.c:114 builtin/pull.c:199 msgid "keep downloaded pack" msgstr "retén el paquet baixat" -#: builtin/fetch.c:115 +#: builtin/fetch.c:116 msgid "allow updating of HEAD ref" msgstr "permet l'actualització de la referència HEAD" -#: builtin/fetch.c:118 builtin/pull.c:194 +#: builtin/fetch.c:119 builtin/pull.c:202 msgid "deepen history of shallow clone" msgstr "aprofundeix la història d'un clon superficial" -#: builtin/fetch.c:120 builtin/pull.c:197 +#: builtin/fetch.c:121 builtin/pull.c:205 msgid "convert to a complete repository" msgstr "converteix en un dipòsit complet" -#: builtin/fetch.c:122 builtin/log.c:1236 +#: builtin/fetch.c:123 builtin/log.c:1426 msgid "dir" msgstr "directori" -#: builtin/fetch.c:123 +#: builtin/fetch.c:124 msgid "prepend this to submodule path output" msgstr "anteposa això a la sortida de camí del submòdul" -#: builtin/fetch.c:126 +#: builtin/fetch.c:127 msgid "default mode for recursion" msgstr "mode de recursivitat per defecte" -#: builtin/fetch.c:128 builtin/pull.c:200 +#: builtin/fetch.c:129 builtin/pull.c:208 msgid "accept refs that update .git/shallow" msgstr "accepta les referències que actualitzin .git/shallow" -#: builtin/fetch.c:129 builtin/pull.c:202 +#: builtin/fetch.c:130 builtin/pull.c:210 msgid "refmap" msgstr "mapa de referències" -#: builtin/fetch.c:130 builtin/pull.c:203 +#: builtin/fetch.c:131 builtin/pull.c:211 msgid "specify fetch refmap" msgstr "mostra el mapa de referències d'obtenció" -#: builtin/fetch.c:386 +#: builtin/fetch.c:387 msgid "Couldn't find remote ref HEAD" msgstr "No s'ha pogut trobar la referència HEAD remota" -#: builtin/fetch.c:466 +#: builtin/fetch.c:503 +#, c-format +msgid "configuration fetch.output contains invalid value %s" +msgstr "la configuració fetch.output conté un valor no vàlid %s" + +#: builtin/fetch.c:592 #, c-format msgid "object %s not found" msgstr "objecte %s no trobat" -#: builtin/fetch.c:471 +#: builtin/fetch.c:596 msgid "[up to date]" msgstr "[al dia]" -#: 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:486 builtin/fetch.c:574 +#: builtin/fetch.c:609 builtin/fetch.c:689 msgid "[rejected]" msgstr "[rebutjat]" -#: builtin/fetch.c:497 +#: builtin/fetch.c:610 +msgid "can't fetch in current branch" +msgstr "no es pot obtenir en la branca actual" + +#: builtin/fetch.c:619 msgid "[tag update]" msgstr "[actualització d'etiqueta]" -#: 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:620 builtin/fetch.c:653 builtin/fetch.c:669 +#: builtin/fetch.c:684 +msgid "unable to update local ref" +msgstr "no s'ha pogut actualitzar la referència local" -#: builtin/fetch.c:517 +#: builtin/fetch.c:639 msgid "[new tag]" msgstr "[etiqueta nova]" -#: builtin/fetch.c:520 +#: builtin/fetch.c:642 msgid "[new branch]" msgstr "[branca nova]" -#: builtin/fetch.c:523 +#: builtin/fetch.c:645 msgid "[new ref]" msgstr "[referència nova]" -#: builtin/fetch.c:569 -msgid "unable to update local ref" -msgstr "no s'ha pogut actualitzar la referència local" - -#: builtin/fetch.c:569 +#: builtin/fetch.c:684 msgid "forced update" msgstr "actualització forçada" -#: builtin/fetch.c:576 -msgid "(non-fast-forward)" -msgstr "(sense avanç ràpid)" - -#: 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:689 +msgid "non-fast-forward" +msgstr "sense avanç ràpid" -#: builtin/fetch.c:619 +#: builtin/fetch.c:733 #, c-format msgid "%s did not send all necessary objects\n" msgstr "%s no ha enviat tots els objectes necessaris\n" -#: builtin/fetch.c:637 +#: builtin/fetch.c:753 #, 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:724 builtin/fetch.c:816 +#: builtin/fetch.c:839 builtin/fetch.c:934 #, c-format msgid "From %.*s\n" msgstr "De %.*s\n" -#: builtin/fetch.c:735 +#: builtin/fetch.c:850 #, c-format msgid "" "some local refs could not be updated; try running\n" @@ -6198,55 +6876,55 @@ msgstr "" " intenteu executar 'git remote prune %s' per a eliminar\n" " qualsevulla branca antiga o conflictiva" -#: builtin/fetch.c:787 +#: builtin/fetch.c:904 #, c-format msgid " (%s will become dangling)" msgstr " (%s es tornarà penjant)" -#: builtin/fetch.c:788 +#: builtin/fetch.c:905 #, c-format msgid " (%s has become dangling)" msgstr " (%s s'ha tornat penjant)" -#: builtin/fetch.c:820 +#: builtin/fetch.c:937 msgid "[deleted]" msgstr "[suprimit]" -#: builtin/fetch.c:821 builtin/remote.c:1025 +#: builtin/fetch.c:938 builtin/remote.c:1020 msgid "(none)" msgstr "(cap)" -#: builtin/fetch.c:841 +#: builtin/fetch.c:960 #, 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" +msgstr "S'està refusant obtenir en la branca actual %s d'un dipòsit no nu" -#: builtin/fetch.c:860 +#: builtin/fetch.c:979 #, 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:863 +#: builtin/fetch.c:982 #, c-format msgid "Option \"%s\" is ignored for %s\n" msgstr "S'ignora l'opció \"%s\" per a %s\n" -#: builtin/fetch.c:920 +#: builtin/fetch.c:1039 #, c-format msgid "Don't know how to fetch from %s" msgstr "No se sap com obtenir de %s" -#: builtin/fetch.c:1080 +#: builtin/fetch.c:1199 #, c-format msgid "Fetching %s\n" -msgstr "Obtenint %s\n" +msgstr "S'està obtenint %s\n" -#: builtin/fetch.c:1082 builtin/remote.c:96 +#: builtin/fetch.c:1201 builtin/remote.c:96 #, c-format msgid "Could not fetch %s" msgstr "No s'ha pogut obtenir %s" -#: builtin/fetch.c:1100 +#: builtin/fetch.c:1219 msgid "" "No remote repository specified. Please, specify either a URL or a\n" "remote name from which new revisions should be fetched." @@ -6254,32 +6932,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:1123 +#: builtin/fetch.c:1242 msgid "You need to specify a tag name." msgstr "Necessiteu especificar un nom d'etiqueta." -#: builtin/fetch.c:1165 +#: builtin/fetch.c:1284 msgid "--depth and --unshallow cannot be used together" msgstr "--depth i --unshallow no es poden usar junts" -#: builtin/fetch.c:1167 +#: builtin/fetch.c:1286 msgid "--unshallow on a complete repository does not make sense" msgstr "--unshallow en un dipòsit complet no té sentit" -#: builtin/fetch.c:1187 +#: builtin/fetch.c:1306 msgid "fetch --all does not take a repository argument" msgstr "fetch --all no accepta un paràmetre de dipòsit" -#: builtin/fetch.c:1189 +#: builtin/fetch.c:1308 msgid "fetch --all does not make sense with refspecs" msgstr "fetch --all no té sentit amb especificacions de referència" -#: builtin/fetch.c:1200 +#: builtin/fetch.c:1319 #, c-format msgid "No such remote or remote group: %s" msgstr "No hi ha tal remot ni tal grup remot: %s" -#: builtin/fetch.c:1208 +#: builtin/fetch.c:1327 msgid "Fetching a group and specifying refspecs does not make sense" msgstr "Obtenir un grup i especificar referències no té sentit" @@ -6367,65 +7045,65 @@ msgstr "imprimeix només les referències que no s'han fusionat" msgid "print only refs which contain the commit" msgstr "imprimeix només les referències que continguin la comissió" -#: builtin/fsck.c:156 builtin/prune.c:140 -msgid "Checking connectivity" -msgstr "Comprovant connectivitat" - -#: builtin/fsck.c:486 +#: builtin/fsck.c:519 msgid "Checking object directories" -msgstr "Comprovant els directoris d'objecte" +msgstr "S'estan comprovant els directoris d'objecte" -#: builtin/fsck.c:553 +#: builtin/fsck.c:588 msgid "git fsck [] [...]" msgstr "git fsck [] [...]" -#: builtin/fsck.c:559 +#: builtin/fsck.c:594 msgid "show unreachable objects" msgstr "mostra els objectes inabastables" -#: builtin/fsck.c:560 +#: builtin/fsck.c:595 msgid "show dangling objects" msgstr "mostra els objectes penjants" -#: builtin/fsck.c:561 +#: builtin/fsck.c:596 msgid "report tags" msgstr "informa de les etiquetes" -#: builtin/fsck.c:562 +#: builtin/fsck.c:597 msgid "report root nodes" msgstr "informa dels nodes d'arrel" -#: builtin/fsck.c:563 +#: builtin/fsck.c:598 msgid "make index objects head nodes" msgstr "fes els objectes d'índex nodes de cap" -#: builtin/fsck.c:564 +#: builtin/fsck.c:599 msgid "make reflogs head nodes (default)" msgstr "fes que els registres de referències siguin nodes de cap (per defecte)" -#: builtin/fsck.c:565 +#: builtin/fsck.c:600 msgid "also consider packs and alternate objects" msgstr "també considera els paquets i els objectes alternatius" -#: builtin/fsck.c:566 +#: builtin/fsck.c:601 msgid "check only connectivity" msgstr "comprova només la connectivitat" -#: builtin/fsck.c:567 +#: builtin/fsck.c:602 msgid "enable more strict checking" msgstr "habilita la comprovació més estricta" -#: builtin/fsck.c:569 +#: builtin/fsck.c:604 msgid "write dangling objects in .git/lost-found" msgstr "escriu objectes penjants a .git/lost-found" -#: builtin/fsck.c:570 builtin/prune.c:107 +#: builtin/fsck.c:605 builtin/prune.c:107 msgid "show progress" msgstr "mostra el progrés" -#: builtin/fsck.c:631 +#: builtin/fsck.c:606 +msgid "show verbose names for reachable objects" +msgstr "mostra els noms detallats dels objectes abastables" + +#: builtin/fsck.c:671 msgid "Checking objects" -msgstr "Comprovant els objectes" +msgstr "S'estan comprovant els objectes" #: builtin/gc.c:25 msgid "git gc []" @@ -6476,12 +7154,13 @@ msgstr "força l'execució de gc encara que hi pugui haver un altre gc executant #, c-format msgid "Auto packing the repository in background for optimum performance.\n" msgstr "" -"Empaquetant automàticament el dipòsit en el fons per rendiment òptim.\n" +"S'està empaquetant el dipòsit automàticament en el fons per rendiment " +"òptim.\n" #: builtin/gc.c:375 #, c-format msgid "Auto packing the repository for optimum performance.\n" -msgstr "Empaquetant automàticament el dipòsit per rendiment òptim.\n" +msgstr "S'està empaquetant automàticament el dipòsit per rendiment òptim.\n" #: builtin/gc.c:376 #, c-format @@ -6493,7 +7172,7 @@ msgstr "Vegeu \"git help gc\" per neteja manual.\n" msgid "" "gc is already running on machine '%s' pid % (use --force if not)" msgstr "" -"gc ja està executant en la màquina '%s' pid % (useu --force si no)" +"gc ja s'està executant en la màquina '%s' pid % (useu --force si no)" #: builtin/gc.c:441 msgid "" @@ -6526,218 +7205,218 @@ msgstr "no s'ha pogut llegir l'arbre (%s)" 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:558 +#: builtin/grep.c:560 #, c-format msgid "switch `%c' expects a numerical value" msgstr "l'opció `%c' espera un valor numèric" -#: builtin/grep.c:575 +#: builtin/grep.c:577 #, c-format msgid "cannot open '%s'" msgstr "no es pot obrir '%s'" -#: builtin/grep.c:644 +#: builtin/grep.c:646 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:646 +#: builtin/grep.c:648 msgid "find in contents not managed by git" msgstr "cerca en continguts no gestionats per git" -#: builtin/grep.c:648 +#: builtin/grep.c:650 msgid "search in both tracked and untracked files" msgstr "cerca tant en fitxers seguits com en no seguits" -#: builtin/grep.c:650 +#: builtin/grep.c:652 msgid "ignore files specified via '.gitignore'" msgstr "ignora els fitxers especificats mitjançant '.gitignore'" -#: builtin/grep.c:653 +#: builtin/grep.c:655 msgid "show non-matching lines" msgstr "mostra les línies no coincidents" -#: builtin/grep.c:655 +#: builtin/grep.c:657 msgid "case insensitive matching" msgstr "coincidència insensible a majúscula i minúscula" -#: builtin/grep.c:657 +#: builtin/grep.c:659 msgid "match patterns only at word boundaries" msgstr "coincideix amb els patrons només als límits de paraula" -#: builtin/grep.c:659 +#: builtin/grep.c:661 msgid "process binary files as text" msgstr "processa els fitxers binaris com a text" -#: builtin/grep.c:661 +#: builtin/grep.c:663 msgid "don't match patterns in binary files" msgstr "no coincideixis amb els patrons en els fitxers binaris" -#: builtin/grep.c:664 +#: builtin/grep.c:666 msgid "process binary files with textconv filters" msgstr "processa els fitxers binaris amb filtres de textconv" -#: builtin/grep.c:666 +#: builtin/grep.c:668 msgid "descend at most levels" msgstr "descendeix com a màxim nivells" -#: builtin/grep.c:670 +#: builtin/grep.c:672 msgid "use extended POSIX regular expressions" msgstr "usa les expressions regulars POSIX esteses" -#: builtin/grep.c:673 +#: builtin/grep.c:675 msgid "use basic POSIX regular expressions (default)" msgstr "usa les expressions regulars POSIX bàsiques (per defecte)" -#: builtin/grep.c:676 +#: builtin/grep.c:678 msgid "interpret patterns as fixed strings" msgstr "interpreta els patrons com a cadenes fixes" -#: builtin/grep.c:679 +#: builtin/grep.c:681 msgid "use Perl-compatible regular expressions" msgstr "usa les expressions regulars compatibles amb Perl" -#: builtin/grep.c:682 +#: builtin/grep.c:684 msgid "show line numbers" msgstr "mostra els números de línia" -#: builtin/grep.c:683 +#: builtin/grep.c:685 msgid "don't show filenames" msgstr "no mostris els noms de fitxer" -#: builtin/grep.c:684 +#: builtin/grep.c:686 msgid "show filenames" msgstr "mostra els noms de fitxer" -#: builtin/grep.c:686 +#: builtin/grep.c:688 msgid "show filenames relative to top directory" msgstr "mostra els noms de fitxer relatius al directori superior" -#: builtin/grep.c:688 +#: builtin/grep.c:690 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:690 +#: builtin/grep.c:692 msgid "synonym for --files-with-matches" msgstr "sinònim de --files-with-matches" -#: builtin/grep.c:693 +#: builtin/grep.c:695 msgid "show only the names of files without match" msgstr "mostra només els noms dels fitxers sense coincidència" -#: builtin/grep.c:695 +#: builtin/grep.c:697 msgid "print NUL after filenames" msgstr "imprimeix NUL després dels noms de fitxer" -#: builtin/grep.c:697 +#: builtin/grep.c:699 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:698 +#: builtin/grep.c:700 msgid "highlight matches" msgstr "ressalta les coincidències" -#: builtin/grep.c:700 +#: builtin/grep.c:702 msgid "print empty line between matches from different files" msgstr "imprimeix una línia buida entre coincidències de fitxers distints" -#: builtin/grep.c:702 +#: builtin/grep.c:704 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:705 +#: builtin/grep.c:707 msgid "show context lines before and after matches" msgstr "mostra línies de context abans i després d'una coincidència" -#: builtin/grep.c:708 +#: builtin/grep.c:710 msgid "show context lines before matches" msgstr "mostra línies de context abans d'una coincidència" -#: builtin/grep.c:710 +#: builtin/grep.c:712 msgid "show context lines after matches" msgstr "mostra línies de context després d'una coincidència" -#: builtin/grep.c:712 +#: builtin/grep.c:714 msgid "use worker threads" msgstr "usa fils obrers" -#: builtin/grep.c:713 +#: builtin/grep.c:715 msgid "shortcut for -C NUM" msgstr "drecera per -C NUM" -#: builtin/grep.c:716 +#: builtin/grep.c:718 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:718 +#: builtin/grep.c:720 msgid "show the surrounding function" msgstr "mostra la funció circumdant" -#: builtin/grep.c:721 +#: builtin/grep.c:723 msgid "read patterns from file" msgstr "llegeix els patrons des d'un fitxer" -#: builtin/grep.c:723 +#: builtin/grep.c:725 msgid "match " msgstr "coincideix amb " -#: builtin/grep.c:725 +#: builtin/grep.c:727 msgid "combine patterns specified with -e" msgstr "combina els patrons especificats amb -e" -#: builtin/grep.c:737 +#: builtin/grep.c:739 msgid "indicate hit with exit status without output" msgstr "indica coincidència amb estat de sortida sense sortida textual" -#: builtin/grep.c:739 +#: builtin/grep.c:741 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:741 +#: builtin/grep.c:743 msgid "show parse tree for grep expression" msgstr "mostra l'arbre d'anàlisis de l'expressió de grep" -#: builtin/grep.c:745 +#: builtin/grep.c:747 msgid "pager" msgstr "paginador" -#: builtin/grep.c:745 +#: builtin/grep.c:747 msgid "show matching files in the pager" msgstr "mostra els fitxers coincidents en el paginador" -#: builtin/grep.c:748 +#: builtin/grep.c:750 msgid "allow calling of grep(1) (ignored by this build)" msgstr "permet la invocació de grep(1) (ignorat per aquesta compilació)" -#: builtin/grep.c:811 +#: builtin/grep.c:813 msgid "no pattern given." msgstr "cap patró donat." -#: builtin/grep.c:843 builtin/index-pack.c:1475 +#: builtin/grep.c:845 builtin/index-pack.c:1479 #, 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 +#: builtin/grep.c:875 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:899 +#: builtin/grep.c:901 msgid "--cached or --untracked cannot be used with --no-index." msgstr "--cached o --untracked no es pot usar amb --no-index." -#: builtin/grep.c:904 +#: builtin/grep.c:906 msgid "--no-index or --untracked cannot be used with revs." msgstr "--no-index o --untracked no es pot usar amb revisions." -#: builtin/grep.c:907 +#: builtin/grep.c:909 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:915 +#: builtin/grep.c:917 msgid "both --cached and trees are given." msgstr "s'han donat ambdós --caches i arbres." @@ -6828,8 +7507,8 @@ msgstr "la versió d'emacsclient '%d' és massa vella (< 22)." #: 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 "s'ha fallat en executar '%s': %s" +msgid "failed to exec '%s'" +msgstr "s'ha fallat en executar '%s'" #: builtin/help.c:205 #, c-format @@ -6852,7 +7531,7 @@ msgstr "" #: builtin/help.c:334 #, c-format msgid "'%s': unknown man viewer." -msgstr "'%s': visualitzador de manuals desconegut" +msgstr "'%s': visualitzador de manuals desconegut." #: builtin/help.c:351 msgid "no man viewer handled the request" @@ -6862,332 +7541,331 @@ msgstr "cap visualitzador de manuals ha gestionat la sol·licitud" msgid "no info viewer handled the request" msgstr "cap visualitzador d'informació ha gestionat la sol·licitud" -#: builtin/help.c:408 +#: builtin/help.c:401 msgid "Defining attributes per path" msgstr "La definició d'atributs per camí" -#: builtin/help.c:409 +#: builtin/help.c:402 msgid "Everyday Git With 20 Commands Or So" msgstr "Git quotidià amb més o menys 20 ordres" -#: builtin/help.c:410 +#: builtin/help.c:403 msgid "A Git glossary" msgstr "Un glossari de Git" -#: builtin/help.c:411 +#: builtin/help.c:404 msgid "Specifies intentionally untracked files to ignore" msgstr "Especifica els fitxers intencionalment no seguits a ignorar" -#: builtin/help.c:412 +#: builtin/help.c:405 msgid "Defining submodule properties" msgstr "La definició de les propietats de submòduls" -#: builtin/help.c:413 +#: builtin/help.c:406 msgid "Specifying revisions and ranges for Git" msgstr "L'especificació de revisions i rangs per al Git" -#: builtin/help.c:414 +#: builtin/help.c:407 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:415 +#: builtin/help.c:408 msgid "An overview of recommended workflows with Git" msgstr "Una visió de conjunt de fluxos de treball recomanats amb Git" -#: builtin/help.c:427 +#: builtin/help.c:420 msgid "The common Git guides are:\n" msgstr "Les guies de Git comunes són:\n" -#: builtin/help.c:448 builtin/help.c:465 +#: builtin/help.c:441 builtin/help.c:458 #, c-format msgid "usage: %s%s" msgstr "ús: %s%s" -#: builtin/help.c:481 +#: builtin/help.c:474 #, c-format msgid "`git %s' is aliased to `%s'" msgstr "`git %s' és un àlies de `%s'" -#: builtin/index-pack.c:152 +#: builtin/index-pack.c:153 #, c-format msgid "unable to open %s" msgstr "no s'ha pogut obrir %s" -#: builtin/index-pack.c:202 +#: builtin/index-pack.c:203 #, c-format msgid "object type mismatch at %s" msgstr "hi ha una discordança de tipus d'objecte a %s" -#: builtin/index-pack.c:222 +#: builtin/index-pack.c:223 #, c-format msgid "did not receive expected object %s" msgstr "no s'ha rebut l'objecte esperat %s" -#: builtin/index-pack.c:225 +#: builtin/index-pack.c:226 #, c-format msgid "object %s: expected type %s, found %s" msgstr "objecte %s: tipus %s esperat, %s trobat" -#: builtin/index-pack.c:267 +#: builtin/index-pack.c:268 #, c-format msgid "cannot fill %d byte" msgid_plural "cannot fill %d bytes" msgstr[0] "no es pot omplir %d octet" msgstr[1] "no es pot omplir %d octets" -#: builtin/index-pack.c:277 +#: builtin/index-pack.c:278 msgid "early EOF" msgstr "EOF prematur" -#: builtin/index-pack.c:278 +#: builtin/index-pack.c:279 msgid "read error on input" msgstr "error de lectura d'entrada" -#: builtin/index-pack.c:290 +#: builtin/index-pack.c:291 msgid "used more bytes than were available" msgstr "s'han usat més octets que hi havia disponibles" -#: builtin/index-pack.c:297 +#: builtin/index-pack.c:298 msgid "pack too large for current definition of off_t" msgstr "paquet massa gran per a la definició actual d'off_t" -#: builtin/index-pack.c:313 +#: builtin/index-pack.c:314 #, c-format msgid "unable to create '%s'" msgstr "no es pot crear '%s'" -#: builtin/index-pack.c:318 +#: builtin/index-pack.c:319 #, c-format msgid "cannot open packfile '%s'" msgstr "no es pot obrir el fitxer de paquet '%s'" -#: builtin/index-pack.c:332 +#: builtin/index-pack.c:333 msgid "pack signature mismatch" -msgstr "hi ha una discordança de firma de paquet" +msgstr "hi ha una discordança de signatura de paquet" -#: builtin/index-pack.c:334 +#: builtin/index-pack.c:335 #, c-format msgid "pack version % unsupported" msgstr "la versió de paquet % no és compatible" -#: builtin/index-pack.c:352 +#: builtin/index-pack.c:353 #, c-format -msgid "pack has bad object at offset %lu: %s" -msgstr "el paquet té un objecte dolent a la posició %lu: %s" +msgid "pack has bad object at offset %: %s" +msgstr "el paquet té un objecte dolent a la posició %: %s" -#: builtin/index-pack.c:473 +#: builtin/index-pack.c:475 #, c-format msgid "inflate returned %d" msgstr "la inflació ha retornat %d" -#: builtin/index-pack.c:522 +#: builtin/index-pack.c:524 msgid "offset value overflow for delta base object" msgstr "desbordament de valor de desplaçament per a l'objecte base de delta" -#: builtin/index-pack.c:530 +#: builtin/index-pack.c:532 msgid "delta base offset is out of bound" msgstr "el desplaçament de base de delta està fora de límits" -#: builtin/index-pack.c:538 +#: builtin/index-pack.c:540 #, c-format msgid "unknown object type %d" msgstr "tipus d'objecte desconegut %d" -#: builtin/index-pack.c:569 +#: builtin/index-pack.c:571 msgid "cannot pread pack file" msgstr "no es pot fer pread en el fitxer de paquet" -#: builtin/index-pack.c:571 +#: builtin/index-pack.c:573 #, c-format -msgid "premature end of pack file, %lu byte missing" -msgid_plural "premature end of pack file, %lu bytes missing" -msgstr[0] "final prematur de fitxer de paquet, manca %lu octet" -msgstr[1] "final prematur de fitxer de paquet, manquen %lu octets" +msgid "premature end of pack file, % byte missing" +msgid_plural "premature end of pack file, % bytes missing" +msgstr[0] "el final del fitxer de paquet és prematur, manca % octet" +msgstr[1] "" +"el final del fitxer de paquet és prematur, manquen % octets" -#: builtin/index-pack.c:597 +#: builtin/index-pack.c:599 msgid "serious inflate inconsistency" msgstr "hi ha una inconsistència seriosa d'inflació" -#: 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 +#: builtin/index-pack.c:745 builtin/index-pack.c:751 builtin/index-pack.c:774 +#: builtin/index-pack.c:808 builtin/index-pack.c:817 #, c-format msgid "SHA1 COLLISION FOUND WITH %s !" msgstr "S'HA TROBAT UNA COL·LISIÓ SHA1 AMB %s !" -#: builtin/index-pack.c:746 builtin/pack-objects.c:162 -#: builtin/pack-objects.c:254 +#: builtin/index-pack.c:748 builtin/pack-objects.c:164 +#: builtin/pack-objects.c:256 #, c-format msgid "unable to read %s" msgstr "no s'ha pogut llegir %s" -#: builtin/index-pack.c:812 +#: builtin/index-pack.c:814 #, c-format msgid "cannot read existing object %s" msgstr "no es pot llegir l'objecte existent %s" -#: builtin/index-pack.c:826 +#: builtin/index-pack.c:828 #, c-format msgid "invalid blob object %s" msgstr "objecte de blob no vàlid %s" -#: builtin/index-pack.c:840 +#: builtin/index-pack.c:842 #, c-format msgid "invalid %s" msgstr "%s no vàlid" -#: builtin/index-pack.c:843 +#: builtin/index-pack.c:845 msgid "Error in object" msgstr "Error en objecte" -#: builtin/index-pack.c:845 +#: builtin/index-pack.c:847 #, c-format msgid "Not all child objects of %s are reachable" msgstr "No tots els objectes fills de %s són abastables" -#: builtin/index-pack.c:917 builtin/index-pack.c:948 +#: builtin/index-pack.c:919 builtin/index-pack.c:950 msgid "failed to apply delta" msgstr "s'ha fallat en aplicar la delta" -#: builtin/index-pack.c:1118 +#: builtin/index-pack.c:1120 msgid "Receiving objects" -msgstr "Rebent objectes" +msgstr "S'estan rebent objectes" -#: builtin/index-pack.c:1118 +#: builtin/index-pack.c:1120 msgid "Indexing objects" -msgstr "Indexant objectes" +msgstr "S'estan indexant objectes" -#: builtin/index-pack.c:1150 +#: builtin/index-pack.c:1152 msgid "pack is corrupted (SHA1 mismatch)" msgstr "el paquet és malmès (discordança SHA1)" -#: builtin/index-pack.c:1155 +#: builtin/index-pack.c:1157 msgid "cannot fstat packfile" msgstr "no es pot fer fstat en el fitxer de paquet" -#: builtin/index-pack.c:1158 +#: builtin/index-pack.c:1160 msgid "pack has junk at the end" msgstr "el paquet té brossa al seu final" -#: builtin/index-pack.c:1169 +#: builtin/index-pack.c:1171 msgid "confusion beyond insanity in parse_pack_objects()" msgstr "confusió més enllà de la bogeria en parse_pack_objects()" -#: builtin/index-pack.c:1194 +#: builtin/index-pack.c:1196 msgid "Resolving deltas" -msgstr "Resolent les deltes" +msgstr "S'estan resolent les deltes" -#: builtin/index-pack.c:1205 +#: builtin/index-pack.c:1207 #, c-format msgid "unable to create thread: %s" msgstr "no s'ha pogut crear fil: %s" -#: builtin/index-pack.c:1247 +#: builtin/index-pack.c:1249 msgid "confusion beyond insanity" msgstr "confusió més enllà de la bogeria" -#: builtin/index-pack.c:1253 +#: builtin/index-pack.c:1255 #, c-format -msgid "completed with %d local objects" -msgstr "s'ha completat amb %d objectes locals" +msgid "completed with %d local object" +msgid_plural "completed with %d local objects" +msgstr[0] "s'ha completat amb %d objecte local" +msgstr[1] "s'ha completat amb %d objectes locals" -#: builtin/index-pack.c:1263 +#: builtin/index-pack.c:1267 #, c-format msgid "Unexpected tail checksum for %s (disk corruption?)" msgstr "Suma de verificació final no esperada per a %s (corrupció de disc?)" -#: builtin/index-pack.c:1267 +#: builtin/index-pack.c:1271 #, c-format msgid "pack has %d unresolved delta" msgid_plural "pack has %d unresolved deltas" msgstr[0] "El paquet té %d delta no resolta" msgstr[1] "El paquet té %d deltes no resoltes" -#: builtin/index-pack.c:1291 +#: builtin/index-pack.c:1295 #, c-format msgid "unable to deflate appended object (%d)" msgstr "no s'ha pogut desinflar l'objecte annexat (%d)" -#: builtin/index-pack.c:1367 +#: builtin/index-pack.c:1371 #, c-format msgid "local object %s is corrupt" msgstr "l'objecte local %s és malmès" -#: builtin/index-pack.c:1391 +#: builtin/index-pack.c:1395 msgid "error while closing pack file" msgstr "error en tancar el fitxer de paquet" -#: builtin/index-pack.c:1404 +#: builtin/index-pack.c:1408 #, c-format msgid "cannot write keep file '%s'" msgstr "no es pot escriure el fitxer a retenir '%s'" -#: builtin/index-pack.c:1412 +#: builtin/index-pack.c:1416 #, c-format msgid "cannot close written keep file '%s'" msgstr "no es pot tancar el fitxer escrit a retenir '%s'" -#: builtin/index-pack.c:1425 +#: builtin/index-pack.c:1429 msgid "cannot store pack file" msgstr "no es pot emmagatzemar el fitxer de paquet" -#: builtin/index-pack.c:1436 +#: builtin/index-pack.c:1440 msgid "cannot store index file" msgstr "no es pot emmagatzemar el fitxer d'índex" -#: builtin/index-pack.c:1469 +#: builtin/index-pack.c:1473 #, c-format msgid "bad pack.indexversion=%" msgstr "pack.indexversion=% dolent" -#: builtin/index-pack.c:1479 builtin/index-pack.c:1664 +#: builtin/index-pack.c:1483 builtin/index-pack.c:1681 #, c-format msgid "no threads support, ignoring %s" -msgstr "no hi ha suport de fils, ignorant %s" +msgstr "no hi ha suport de fils, s'està ignorant %s" -#: builtin/index-pack.c:1538 +#: builtin/index-pack.c:1542 #, c-format msgid "Cannot open existing pack file '%s'" msgstr "No es pot obrir el fitxer de paquet existent '%s'" -#: builtin/index-pack.c:1540 +#: builtin/index-pack.c:1544 #, 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:1587 +#: builtin/index-pack.c:1591 #, 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:1594 +#: builtin/index-pack.c:1598 #, 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:1624 -msgid "Cannot come back to cwd" -msgstr "No es pot tornar al directori de treball actual" +#: builtin/index-pack.c:1611 +#, c-format +msgid "packfile name '%s' does not end with '.pack'" +msgstr "el nom del fitxer de paquet '%s' no acaba amb '.pack'" -#: builtin/index-pack.c:1676 builtin/index-pack.c:1679 -#: builtin/index-pack.c:1691 builtin/index-pack.c:1695 +#: builtin/index-pack.c:1693 builtin/index-pack.c:1696 +#: builtin/index-pack.c:1712 builtin/index-pack.c:1716 #, c-format msgid "bad %s" msgstr "%s dolent" -#: builtin/index-pack.c:1709 +#: builtin/index-pack.c:1730 msgid "--fix-thin cannot be used without --stdin" msgstr "--fix-thin no es pot usar sense --stdin" -#: 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:1730 +#: builtin/index-pack.c:1738 msgid "--verify with no packfile name given" msgstr "s'ha donat --verify sense nom de fitxer de paquet" @@ -7224,54 +7902,54 @@ msgstr "no es pot copiar '%s' a '%s'" #: builtin/init-db.c:89 #, c-format msgid "ignoring template %s" -msgstr "ignorant la plantilla %s" +msgstr "s'està ignorant la plantilla %s" -#: builtin/init-db.c:118 +#: builtin/init-db.c:120 #, c-format msgid "templates not found %s" msgstr "no s'han trobat les plantilles %s" -#: builtin/init-db.c:131 +#: builtin/init-db.c:135 #, c-format -msgid "not copying templates of a wrong format version %d from '%s'" -msgstr "no copiant plantilles d'una versió de format errònia %d de '%s'" +msgid "not copying templates from '%s': %s" +msgstr "no s'està copiant plantilles de '%s': %s" -#: builtin/init-db.c:309 builtin/init-db.c:312 +#: builtin/init-db.c:312 builtin/init-db.c:315 #, c-format msgid "%s already exists" msgstr "%s ja existeix" -#: builtin/init-db.c:340 +#: builtin/init-db.c:344 #, c-format msgid "unable to handle file type %d" msgstr "no s'ha pogut gestionar el tipus de fitxer %d" -#: builtin/init-db.c:343 +#: builtin/init-db.c:347 #, c-format msgid "unable to move %s to %s" msgstr "no s'ha pogut moure %s a %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:399 +#: builtin/init-db.c:402 #, c-format -msgid "%s%s Git repository in %s%s\n" -msgstr "%s dipòsit de Git%s a %s%s\n" +msgid "Reinitialized existing shared Git repository in %s%s\n" +msgstr "S'ha reinicialitzat el dipòsit compartit existent del Git en %s%s\n" -#: builtin/init-db.c:400 -msgid "Reinitialized existing" -msgstr "S'ha reinicialitzat un existent" +#: builtin/init-db.c:403 +#, c-format +msgid "Reinitialized existing Git repository in %s%s\n" +msgstr "S'ha reinicialitzat el dipòsit existent del Git en %s%s\n" -#: builtin/init-db.c:400 -msgid "Initialized empty" -msgstr "S'ha inicialitzat un buit" +#: builtin/init-db.c:407 +#, c-format +msgid "Initialized empty shared Git repository in %s%s\n" +msgstr "S'ha inicialitzat un dipòsit compartit buit del Git en %s%s\n" -#: builtin/init-db.c:401 -msgid " shared" -msgstr " compartit" +#: builtin/init-db.c:408 +#, c-format +msgid "Initialized empty Git repository in %s%s\n" +msgstr "S'ha inicialitzat un dipòsit buit del Git en %s%s\n" -#: builtin/init-db.c:448 +#: builtin/init-db.c:455 msgid "" "git init [-q | --quiet] [--bare] [--template=] [--" "shared[=]] []" @@ -7279,25 +7957,25 @@ msgstr "" "git init [-q | --quiet] [--bare] [--template=] [--" "shared[=]] []" -#: builtin/init-db.c:471 +#: builtin/init-db.c:478 msgid "permissions" msgstr "permisos" -#: builtin/init-db.c:472 +#: builtin/init-db.c:479 msgid "specify that the git repository is to be shared amongst several users" msgstr "especifica que el dipòsit de git es compartirà entre diversos usuaris" -#: builtin/init-db.c:506 builtin/init-db.c:511 +#: builtin/init-db.c:513 builtin/init-db.c:518 #, c-format msgid "cannot mkdir %s" msgstr "no es pot mkdir %s" -#: builtin/init-db.c:515 +#: builtin/init-db.c:522 #, c-format msgid "cannot chdir to %s" -msgstr "no es pot chdir a %s" +msgstr "no es pot canviar de directori a %s" -#: builtin/init-db.c:536 +#: builtin/init-db.c:543 #, c-format msgid "" "%s (or --work-tree=) not allowed without specifying %s (or --git-" @@ -7306,7 +7984,7 @@ msgstr "" "no es permet %s (o --work-tree=) sense especificar %s (o --git-" "dir=)" -#: builtin/init-db.c:564 +#: builtin/init-db.c:571 #, c-format msgid "Cannot access work tree '%s'" msgstr "No es pot accedir a l'arbre de treball '%s'" @@ -7339,278 +8017,330 @@ msgstr "remolcs a afegir" 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 +#: builtin/log.c:44 msgid "git log [] [] [[--] ...]" msgstr "git log [] [] [[--] ...]" -#: builtin/log.c:44 +#: builtin/log.c:45 msgid "git show [] ..." msgstr "git show [] ..." -#: builtin/log.c:83 +#: builtin/log.c:84 #, c-format msgid "invalid --decorate option: %s" msgstr "opció --decorate no vàlida: %s" -#: builtin/log.c:131 +#: builtin/log.c:139 msgid "suppress diff output" msgstr "omet la sortida de diferències" -#: builtin/log.c:132 +#: builtin/log.c:140 msgid "show source" msgstr "mostra la font" -#: builtin/log.c:133 +#: builtin/log.c:141 msgid "Use mail map file" msgstr "Usa el fitxer de mapa de correu" -#: builtin/log.c:134 +#: builtin/log.c:142 msgid "decorate options" msgstr "opcions de decoració" -#: builtin/log.c:137 +#: builtin/log.c:145 msgid "Process line range n,m in file, counting from 1" msgstr "Processa el rang de línies n,m en el fitxer, comptant des d'1" -#: builtin/log.c:233 +#: builtin/log.c:241 #, c-format msgid "Final output: %d %s\n" msgstr "Sortida final: %d %s\n" -#: builtin/log.c:465 +#: builtin/log.c:486 #, c-format msgid "git show %s: bad file" msgstr "git show %s: fitxer dolent" -#: builtin/log.c:479 builtin/log.c:572 +#: builtin/log.c:500 builtin/log.c:594 #, c-format msgid "Could not read object %s" msgstr "No es pot llegir l'objecte %s" -#: builtin/log.c:596 +#: builtin/log.c:618 #, c-format msgid "Unknown type: %d" msgstr "Tipus desconegut: %d" -#: builtin/log.c:715 +#: builtin/log.c:739 msgid "format.headers without value" msgstr "format.headers sense valor" -#: builtin/log.c:801 +#: builtin/log.c:839 msgid "name of output directory is too long" msgstr "el nom del directori de sortida és massa llarg" -#: builtin/log.c:816 +#: builtin/log.c:854 #, c-format msgid "Cannot open patch file %s" msgstr "No es pot obrir el fitxer de pedaç %s" -#: builtin/log.c:830 +#: builtin/log.c:868 msgid "Need exactly one range." msgstr "Cal exactament un rang." -#: builtin/log.c:840 +#: builtin/log.c:878 msgid "Not a range." msgstr "No és un rang." -#: builtin/log.c:946 +#: builtin/log.c:984 msgid "Cover letter needs email format" msgstr "La carta de presentació necessita el format de correu electrònic" -#: builtin/log.c:1025 +#: builtin/log.c:1064 #, c-format msgid "insane in-reply-to: %s" msgstr "in-reply-to boig: %s" -#: builtin/log.c:1053 +#: builtin/log.c:1092 msgid "git format-patch [] [ | ]" msgstr "git format-patch [] [ | ]" -#: builtin/log.c:1098 +#: builtin/log.c:1137 msgid "Two output directories?" -msgstr "Dos directoris de sortida?" +msgstr "Hi ha dos directoris de sortida?" + +#: builtin/log.c:1244 builtin/log.c:1883 builtin/log.c:1885 builtin/log.c:1897 +#, c-format +msgid "Unknown commit %s" +msgstr "Comissió desconeguda %s" + +#: builtin/log.c:1254 builtin/notes.c:254 builtin/notes.c:305 +#: builtin/notes.c:307 builtin/notes.c:370 builtin/notes.c:425 +#: builtin/notes.c:511 builtin/notes.c:516 builtin/notes.c:594 +#: builtin/notes.c:657 builtin/notes.c:882 builtin/tag.c:455 +#, c-format +msgid "Failed to resolve '%s' as a valid ref." +msgstr "S'ha fallat en resoldre '%s' com a referència vàlida." + +#: builtin/log.c:1259 +msgid "Could not find exact merge base." +msgstr "No s'ha pogut trobar la base exacta de fusió." + +#: builtin/log.c:1263 +msgid "" +"Failed to get upstream, if you want to record base commit automatically,\n" +"please use git branch --set-upstream-to to track a remote branch.\n" +"Or you could specify base commit by --base= manually." +msgstr "" +"S'ha fallat en obtenir la font. Si voleu registrar la comissió base\n" +"automàticament, si us plau, useu git branch --set-upstream-to per a\n" +"seguir una branca remot. O podeu especificar la comissió base manualment\n" +"amb --base=." + +#: builtin/log.c:1283 +msgid "Failed to find exact merge base" +msgstr "S'ha fallat en trobar la base exacta de fusió." + +#: builtin/log.c:1294 +msgid "base commit should be the ancestor of revision list" +msgstr "la comissió base ha de ser l'avantpassat de la llista de revisions" + +#: builtin/log.c:1298 +msgid "base commit shouldn't be in revision list" +msgstr "la comissió base no ha de ser en la llista de revisions" -#: builtin/log.c:1214 +#: builtin/log.c:1347 +msgid "cannot get patch id" +msgstr "no es pot obtenir l'id del pedaç" + +#: builtin/log.c:1404 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:1217 +#: builtin/log.c:1407 msgid "use [PATCH] even with multiple patches" msgstr "usa [PATCH] fins i tot amb múltiples pedaços" -#: builtin/log.c:1221 +#: builtin/log.c:1411 msgid "print patches to standard out" msgstr "imprimeix els pedaços a la sortida estàndard" -#: builtin/log.c:1223 +#: builtin/log.c:1413 msgid "generate a cover letter" msgstr "genera una carta de presentació" -#: builtin/log.c:1225 +#: builtin/log.c:1415 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:1226 +#: builtin/log.c:1416 msgid "sfx" msgstr "sufix" -#: builtin/log.c:1227 +#: builtin/log.c:1417 msgid "use instead of '.patch'" msgstr "usa en lloc de '.patch'" -#: builtin/log.c:1229 +#: builtin/log.c:1419 msgid "start numbering patches at instead of 1" msgstr "comença numerant els pedaços a en lloc d'1" -#: builtin/log.c:1231 +#: builtin/log.c:1421 msgid "mark the series as Nth re-roll" msgstr "marca la sèrie com a l'enèsima llançada" -#: builtin/log.c:1233 +#: builtin/log.c:1423 msgid "Use [] instead of [PATCH]" msgstr "Usa [] en lloc de [PATCH]" -#: builtin/log.c:1236 +#: builtin/log.c:1426 msgid "store resulting files in " msgstr "emmagatzema els fitxers resultants a " -#: builtin/log.c:1239 +#: builtin/log.c:1429 msgid "don't strip/add [PATCH]" msgstr "no despullis/afegeixis [PATCH]" -#: builtin/log.c:1242 +#: builtin/log.c:1432 msgid "don't output binary diffs" msgstr "no emetis diferències binàries" -#: builtin/log.c:1244 +#: builtin/log.c:1434 msgid "output all-zero hash in From header" msgstr "emet un hash de tots zeros en la capçalera From" -#: builtin/log.c:1246 +#: builtin/log.c:1436 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:1248 +#: builtin/log.c:1438 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:1250 +#: builtin/log.c:1440 msgid "Messaging" msgstr "Missatgeria" -#: builtin/log.c:1251 +#: builtin/log.c:1441 msgid "header" msgstr "capçalera" -#: builtin/log.c:1252 +#: builtin/log.c:1442 msgid "add email header" msgstr "afegeix una capçalera de correu electrònic" -#: builtin/log.c:1253 builtin/log.c:1255 +#: builtin/log.c:1443 builtin/log.c:1445 msgid "email" msgstr "correu electrònic" -#: builtin/log.c:1253 +#: builtin/log.c:1443 msgid "add To: header" msgstr "afegeix la capçalera To:" -#: builtin/log.c:1255 +#: builtin/log.c:1445 msgid "add Cc: header" msgstr "afegeix la capçalera Cc:" -#: builtin/log.c:1257 +#: builtin/log.c:1447 msgid "ident" msgstr "identitat" -#: builtin/log.c:1258 +#: builtin/log.c:1448 msgid "set From address to (or committer ident if absent)" msgstr "" "estableix l'adreça From a (o la identitat del comitent si manca)" -#: builtin/log.c:1260 +#: builtin/log.c:1450 msgid "message-id" msgstr "ID de missatge" -#: builtin/log.c:1261 +#: builtin/log.c:1451 msgid "make first mail a reply to " -msgstr "fes del primer missatge una resposta a " +msgstr "fes que el primer missatge sigui una resposta a " -#: builtin/log.c:1262 builtin/log.c:1265 +#: builtin/log.c:1452 builtin/log.c:1455 msgid "boundary" msgstr "límit" -#: builtin/log.c:1263 +#: builtin/log.c:1453 msgid "attach the patch" msgstr "ajunta el pedaç" -#: builtin/log.c:1266 +#: builtin/log.c:1456 msgid "inline the patch" msgstr "posa el pedaç en el cos" -#: builtin/log.c:1270 +#: builtin/log.c:1460 msgid "enable message threading, styles: shallow, deep" msgstr "habilita l'enfilada de missatges, estils: shallow, deep" -#: builtin/log.c:1272 +#: builtin/log.c:1462 msgid "signature" -msgstr "firma" +msgstr "signatura" -#: builtin/log.c:1273 +#: builtin/log.c:1463 msgid "add a signature" -msgstr "afegeix una firma" +msgstr "afegeix una signatura" + +#: builtin/log.c:1464 +msgid "base-commit" +msgstr "comissió base" -#: builtin/log.c:1275 +#: builtin/log.c:1465 +msgid "add prerequisite tree info to the patch series" +msgstr "afegeix la informació d'arbre prerequerida a la sèrie de pedaços" + +#: builtin/log.c:1467 msgid "add a signature from a file" -msgstr "afegeix una firma des d'un fitxer" +msgstr "afegeix una signatura des d'un fitxer" -#: builtin/log.c:1276 +#: builtin/log.c:1468 msgid "don't print the patch filenames" msgstr "no imprimeixis els noms de fitxer del pedaç" -#: builtin/log.c:1365 +#: builtin/log.c:1558 msgid "-n and -k are mutually exclusive." msgstr "-n i -k són mutualment exclusius." -#: builtin/log.c:1367 +#: builtin/log.c:1560 msgid "--subject-prefix and -k are mutually exclusive." msgstr "--subject-prefix i -k són mutualment exclusius." -#: builtin/log.c:1375 +#: builtin/log.c:1568 msgid "--name-only does not make sense" msgstr "--name-only no té sentit" -#: builtin/log.c:1377 +#: builtin/log.c:1570 msgid "--name-status does not make sense" msgstr "--name-status no té sentit" -#: builtin/log.c:1379 +#: builtin/log.c:1572 msgid "--check does not make sense" msgstr "--check no té sentit" -#: builtin/log.c:1407 +#: builtin/log.c:1602 msgid "standard output, or directory, which one?" msgstr "sortida estàndard o directori, quin dels dos?" -#: builtin/log.c:1409 +#: builtin/log.c:1604 #, c-format msgid "Could not create directory '%s'" msgstr "No s'ha pogut crear el directori '%s'" -#: builtin/log.c:1506 +#: builtin/log.c:1698 #, c-format msgid "unable to read signature file '%s'" -msgstr "no s'ha pogut llegir el fitxer de firma '%s'" +msgstr "no s'ha pogut llegir el fitxer de signatura '%s'" -#: builtin/log.c:1569 +#: builtin/log.c:1769 msgid "Failed to create output files" msgstr "S'ha fallat en crear els fitxers de sortida" -#: builtin/log.c:1617 +#: builtin/log.c:1818 msgid "git cherry [-v] [ [ []]]" msgstr "git cherry [-v] [ [ []]]" -#: builtin/log.c:1671 +#: builtin/log.c:1872 #, c-format msgid "" "Could not find a tracked remote branch, please specify manually.\n" @@ -7618,106 +8348,101 @@ msgstr "" "No s'ha pogut trobar una branca remota seguida. Si us plau, especifiqueu " " manualment.\n" -#: 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:378 +#: builtin/ls-files.c:379 msgid "git ls-files [] [...]" msgstr "git ls-files [] [...]" -#: builtin/ls-files.c:427 +#: builtin/ls-files.c:428 msgid "identify the file status with tags" msgstr "identifica l'estat de fitxer amb etiquetes" -#: builtin/ls-files.c:429 +#: builtin/ls-files.c:430 msgid "use lowercase letters for 'assume unchanged' files" msgstr "usa lletres minúscules per als fitxers 'assume unchanged'" -#: builtin/ls-files.c:431 +#: builtin/ls-files.c:432 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:433 +#: builtin/ls-files.c:434 msgid "show deleted files in the output" msgstr "mostra en la sortida els fitxers suprimits" -#: builtin/ls-files.c:435 +#: builtin/ls-files.c:436 msgid "show modified files in the output" msgstr "mostra en la sortida els fitxers modificats" -#: builtin/ls-files.c:437 +#: builtin/ls-files.c:438 msgid "show other files in the output" msgstr "mostra en la sortida els altres fitxers" -#: builtin/ls-files.c:439 +#: builtin/ls-files.c:440 msgid "show ignored files in the output" msgstr "mostra en la sortida els fitxers ignorats" -#: builtin/ls-files.c:442 +#: builtin/ls-files.c:443 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:444 +#: builtin/ls-files.c:445 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:446 +#: builtin/ls-files.c:447 msgid "show 'other' directories' names only" msgstr "mostra només els noms dels directoris 'other'" -#: builtin/ls-files.c:448 +#: builtin/ls-files.c:449 msgid "show line endings of files" msgstr "mostra els terminis de línia dels fitxers" -#: builtin/ls-files.c:450 +#: builtin/ls-files.c:451 msgid "don't show empty directories" msgstr "no mostris els directoris buits" -#: builtin/ls-files.c:453 +#: builtin/ls-files.c:454 msgid "show unmerged files in the output" msgstr "mostra en la sortida els fitxers sense fusionar" -#: builtin/ls-files.c:455 +#: builtin/ls-files.c:456 msgid "show resolve-undo information" msgstr "mostra la informació de resolució de desfet" -#: builtin/ls-files.c:457 +#: builtin/ls-files.c:458 msgid "skip files matching pattern" msgstr "salta els fitxers coincidents amb el patró" -#: builtin/ls-files.c:460 +#: builtin/ls-files.c:461 msgid "exclude patterns are read from " msgstr "els patrons d'exclusió es llegeixen de " -#: builtin/ls-files.c:463 +#: builtin/ls-files.c:464 msgid "read additional per-directory exclude patterns in " msgstr "llegeix els patrons addicionals d'exclusió per directori en " -#: builtin/ls-files.c:465 +#: builtin/ls-files.c:466 msgid "add the standard git exclusions" msgstr "afegeix les exclusions estàndards de git" -#: builtin/ls-files.c:468 +#: builtin/ls-files.c:469 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:471 +#: builtin/ls-files.c:472 msgid "if any is not in the index, treat this as an error" msgstr "si qualsevol no és en l'índex, tracta això com a error" -#: builtin/ls-files.c:472 +#: builtin/ls-files.c:473 msgid "tree-ish" msgstr "arbre" -#: builtin/ls-files.c:473 +#: builtin/ls-files.c:474 msgid "pretend that paths removed since are still present" msgstr "" "pretén que els camins eliminats després de encara siguin presents" -#: builtin/ls-files.c:475 +#: builtin/ls-files.c:476 msgid "show debugging data" msgstr "mostra les dades de depuració" @@ -7766,7 +8491,7 @@ 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" +msgstr "mostra la referència subjacent a més de l'objecte que senyali" #: builtin/ls-tree.c:28 msgid "git ls-tree [] [...]" @@ -7805,184 +8530,175 @@ msgid "list entire tree; not just current directory (implies --full-name)" msgstr "" "llista l'arbre sencer; no només el directori actual (implica --full-name)" -#: builtin/merge.c:45 +#: builtin/merge.c:46 msgid "git merge [] [...]" msgstr "git merge [] [...]" -#: builtin/merge.c:46 +#: builtin/merge.c:47 msgid "git merge [] HEAD " msgstr "git merge [] HEAD " -#: builtin/merge.c:47 +#: builtin/merge.c:48 msgid "git merge --abort" msgstr "git merge --abort" -#: builtin/merge.c:100 +#: builtin/merge.c:102 msgid "switch `m' requires a value" msgstr "l'opció `m' requereix un valor" -#: builtin/merge.c:137 +#: builtin/merge.c:139 #, c-format msgid "Could not find merge strategy '%s'.\n" msgstr "No s'ha pogut trobar l'estratègia de fusió '%s'.\n" -#: builtin/merge.c:138 +#: builtin/merge.c:140 #, c-format msgid "Available strategies are:" msgstr "Les estratègies disponibles són:" -#: builtin/merge.c:143 +#: builtin/merge.c:145 #, c-format msgid "Available custom strategies are:" msgstr "Les estratègies personalitzades disponibles són:" -#: builtin/merge.c:193 builtin/pull.c:123 +#: builtin/merge.c:195 builtin/pull.c:126 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:126 +#: builtin/merge.c:198 builtin/pull.c:129 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:129 +#: builtin/merge.c:199 builtin/pull.c:132 msgid "(synonym to --stat)" msgstr "(sinònim de --stat)" -#: builtin/merge.c:199 builtin/pull.c:132 +#: builtin/merge.c:201 builtin/pull.c:135 msgid "add (at most ) entries from shortlog to merge commit message" msgstr "" "afegeix (com a màxim ) entrades del registre curt al missatge de comissió " "de fusió" -#: builtin/merge.c:202 builtin/pull.c:135 +#: builtin/merge.c:204 builtin/pull.c:138 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:138 +#: builtin/merge.c:206 builtin/pull.c:141 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:141 +#: builtin/merge.c:208 builtin/pull.c:144 msgid "edit message before committing" msgstr "edita el missatge abans de cometre" -#: builtin/merge.c:207 +#: builtin/merge.c:209 msgid "allow fast-forward (default)" msgstr "permet l'avanç ràpid (per defecte)" -#: builtin/merge.c:209 builtin/pull.c:147 +#: builtin/merge.c:211 builtin/pull.c:150 msgid "abort if fast-forward is not possible" msgstr "avorta si l'avanç ràpid no és possible" -#: builtin/merge.c:213 -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:215 builtin/pull.c:153 +msgid "verify that the named commit has a valid GPG signature" +msgstr "verifica que la comissió anomenada tingui una signatura GPG vàlida" -#: builtin/merge.c:214 builtin/notes.c:770 builtin/pull.c:152 +#: builtin/merge.c:216 builtin/notes.c:772 builtin/pull.c:157 #: builtin/revert.c:89 msgid "strategy" msgstr "estratègia" -#: builtin/merge.c:215 builtin/pull.c:153 +#: builtin/merge.c:217 builtin/pull.c:158 msgid "merge strategy to use" msgstr "estratègia de fusió a usar" -#: builtin/merge.c:216 builtin/pull.c:156 +#: builtin/merge.c:218 builtin/pull.c:161 msgid "option=value" msgstr "opció=valor" -#: builtin/merge.c:217 builtin/pull.c:157 +#: builtin/merge.c:219 builtin/pull.c:162 msgid "option for selected merge strategy" msgstr "opció per a l'estratègia de fusió seleccionada" -#: builtin/merge.c:219 +#: builtin/merge.c:221 msgid "merge commit message (for a non-fast-forward merge)" msgstr "missatge de comissió de fusió (per a una fusió no d'avanç ràpid)" -#: builtin/merge.c:223 +#: builtin/merge.c:225 msgid "abort the current in-progress merge" msgstr "avorta la fusió en curs actual" -#: builtin/merge.c:251 +#: builtin/merge.c:227 builtin/pull.c:169 +msgid "allow merging unrelated histories" +msgstr "permet fusionar històries no relacionades" + +#: builtin/merge.c:255 msgid "could not run stash." msgstr "no s'ha pogut executar stash." -#: builtin/merge.c:256 +#: builtin/merge.c:260 msgid "stash failed" msgstr "l'emmagatzemament ha fallat" -#: builtin/merge.c:261 +#: builtin/merge.c:265 #, c-format msgid "not a valid object: %s" msgstr "no és un objecte vàlid: %s" -#: builtin/merge.c:280 builtin/merge.c:297 +#: builtin/merge.c:284 builtin/merge.c:301 msgid "read-tree failed" msgstr "read-tree ha fallat" -#: builtin/merge.c:327 +#: builtin/merge.c:331 msgid " (nothing to squash)" msgstr " (res a aixafar)" -#: builtin/merge.c:340 +#: builtin/merge.c:342 #, c-format msgid "Squash commit -- not updating HEAD\n" -msgstr "Comissió d'aixafada -- no actualitzant HEAD\n" +msgstr "Comissió d'aixafada -- no s'està actualitzant HEAD\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 "No s'ha pogut escriure al '%s'" - -#: builtin/merge.c:372 -msgid "Writing SQUASH_MSG" -msgstr "Escrivint SQUASH_MSG" - -#: builtin/merge.c:374 -msgid "Finishing SQUASH_MSG" -msgstr "Finalitzant SQUASH_MSG" - -#: builtin/merge.c:397 +#: builtin/merge.c:392 #, c-format msgid "No merge message -- not updating HEAD\n" -msgstr "Cap missatge de fusió -- no actualitzant HEAD\n" +msgstr "Cap missatge de fusió -- no s'està actualitzant HEAD\n" -#: builtin/merge.c:448 +#: builtin/merge.c:443 #, c-format msgid "'%s' does not point to a commit" msgstr "'%s' no assenyala una comissió" -#: builtin/merge.c:538 +#: builtin/merge.c:533 #, c-format msgid "Bad branch.%s.mergeoptions string: %s" msgstr "Cadena branch.%s.mergeoptions dolenta: %s" -#: builtin/merge.c:657 +#: builtin/merge.c:652 msgid "Not handling anything other than two heads merge." -msgstr "No gestionant res a part de la fusió de dos caps." +msgstr "No s'està gestionant res a part de la fusió de dos caps." -#: builtin/merge.c:671 +#: builtin/merge.c:666 #, c-format msgid "Unknown option for merge-recursive: -X%s" msgstr "Opció desconeguda de merge-recursive: -X%s" -#: builtin/merge.c:684 +#: builtin/merge.c:681 #, c-format msgid "unable to write %s" msgstr "no s'ha pogut escriure %s" -#: builtin/merge.c:773 +#: builtin/merge.c:733 #, c-format msgid "Could not read from '%s'" msgstr "No s'ha pogut llegir de '%s'" -#: builtin/merge.c:782 +#: builtin/merge.c:742 #, 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" +msgstr "" +"No s'està cometent la fusió; useu 'git commit' per a completar la fusió.\n" -#: builtin/merge.c:788 +#: builtin/merge.c:748 #, c-format msgid "" "Please enter a commit message to explain why this merge is necessary,\n" @@ -7998,54 +8714,68 @@ msgstr "" "S'ignoraran les línies que comencin amb '%c', i un missatge buit\n" "avorta la comissió.\n" -#: builtin/merge.c:812 +#: builtin/merge.c:772 msgid "Empty commit message." -msgstr "Missatge de comissió buit." +msgstr "El missatge de comissió és buit." -#: builtin/merge.c:824 +#: builtin/merge.c:792 #, c-format msgid "Wonderful.\n" msgstr "Meravellós.\n" -#: builtin/merge.c:879 +#: builtin/merge.c:847 #, 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:895 +#: builtin/merge.c:863 #, c-format msgid "'%s' is not a commit" msgstr "'%s' no és una comissió" -#: builtin/merge.c:936 +#: builtin/merge.c:904 msgid "No current branch." -msgstr "Cap branca actual." +msgstr "No hi ha cap branca actual." -#: builtin/merge.c:938 +#: builtin/merge.c:906 msgid "No remote for the current branch." msgstr "No hi ha cap remot per a la branca actual." -#: builtin/merge.c:940 +#: builtin/merge.c:908 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:945 +#: builtin/merge.c:913 #, 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:1080 +#: builtin/merge.c:960 +#, c-format +msgid "Bad value '%s' in environment '%s'" +msgstr "Valor dolent '%s' en l'entorn '%s'" + +#: builtin/merge.c:1034 #, c-format msgid "could not close '%s'" msgstr "no s'ha pogut tancar '%s'" -#: builtin/merge.c:1207 +#: builtin/merge.c:1061 +#, c-format +msgid "not something we can merge in %s: %s" +msgstr "no és cosa que puguem fusionar en %s: %s" + +#: builtin/merge.c:1095 +msgid "not something we can merge" +msgstr "no és cosa que puguem fusionar" + +#: builtin/merge.c:1162 msgid "There is no merge to abort (MERGE_HEAD missing)." msgstr "No hi ha fusió a avortar (manca MERGE_HEAD)." -#: builtin/merge.c:1223 +#: builtin/merge.c:1178 msgid "" "You have not concluded your merge (MERGE_HEAD exists).\n" "Please, commit your changes before you merge." @@ -8053,7 +8783,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:1230 +#: builtin/merge.c:1185 msgid "" "You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists).\n" "Please, commit your changes before you merge." @@ -8061,108 +8791,120 @@ 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:1233 +#: builtin/merge.c:1188 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:1242 +#: builtin/merge.c:1197 msgid "You cannot combine --squash with --no-ff." msgstr "No podeu combinar --squash amb --no-ff." -#: builtin/merge.c:1250 +#: builtin/merge.c:1205 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:1267 +#: builtin/merge.c:1222 msgid "Squash commit into empty head not supported yet" msgstr "Aixafar una comissió a un cap buit encara no es permet" -#: builtin/merge.c:1269 +#: builtin/merge.c:1224 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:1275 +#: builtin/merge.c:1229 #, c-format msgid "%s - not something we can merge" msgstr "%s - no és una cosa que puguem fusionar" -#: builtin/merge.c:1277 +#: builtin/merge.c:1231 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:1332 +#: builtin/merge.c:1287 #, 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." +msgstr "La comissió %s té una signatura GPG no fiable, suposadament de %s." -#: builtin/merge.c:1335 +#: builtin/merge.c:1290 #, 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." +msgstr "La comissió %s té una signatura GPG dolenta suposadament de %s." -#: builtin/merge.c:1338 +#: builtin/merge.c:1293 #, c-format msgid "Commit %s does not have a GPG signature." -msgstr "La comissió %s no té firma GPG." +msgstr "La comissió %s no té signatura GPG." -#: builtin/merge.c:1341 +#: builtin/merge.c:1296 #, 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" +msgstr "La comissió %s té una signatura GPG bona de %s\n" + +#: builtin/merge.c:1358 +msgid "refusing to merge unrelated histories" +msgstr "s'està refusant fusionar històries no relacionades" + +#: builtin/merge.c:1367 +msgid "Already up-to-date." +msgstr "Ja està al dia." -#: builtin/merge.c:1424 +#: builtin/merge.c:1382 #, c-format msgid "Updating %s..%s\n" -msgstr "Actualitzant %s..%s\n" +msgstr "S'estan actualitzant %s..%s\n" -#: builtin/merge.c:1461 +#: builtin/merge.c:1419 #, c-format msgid "Trying really trivial in-index merge...\n" -msgstr "Intentant una fusió molt trivial en l'índex...\n" +msgstr "S'està intentant una fusió molt trivial en l'índex...\n" -#: builtin/merge.c:1468 +#: builtin/merge.c:1426 #, c-format msgid "Nope.\n" msgstr "No.\n" -#: builtin/merge.c:1500 +#: builtin/merge.c:1451 +msgid "Already up-to-date. Yeeah!" +msgstr "Ja està al dia. Estupend!" + +#: builtin/merge.c:1457 msgid "Not possible to fast-forward, aborting." -msgstr "No és possible avançar ràpidament, avortant." +msgstr "No és possible avançar ràpidament, s'està avortant." -#: builtin/merge.c:1523 builtin/merge.c:1602 +#: builtin/merge.c:1480 builtin/merge.c:1559 #, c-format msgid "Rewinding the tree to pristine...\n" -msgstr "Rebobinant l'arbre a la pristina...\n" +msgstr "S'està rebobinant l'arbre a la pristina...\n" -#: builtin/merge.c:1527 +#: builtin/merge.c:1484 #, c-format msgid "Trying merge strategy %s...\n" -msgstr "Intentant l'estratègia de fusió %s...\n" +msgstr "S'està intentant l'estratègia de fusió %s...\n" -#: builtin/merge.c:1593 +#: builtin/merge.c:1550 #, c-format msgid "No merge strategy handled the merge.\n" msgstr "Cap estratègia de fusió ha gestionat la fusió.\n" -#: builtin/merge.c:1595 +#: builtin/merge.c:1552 #, c-format msgid "Merge with strategy %s failed.\n" msgstr "L'estratègia de fusió %s ha fallat.\n" -#: builtin/merge.c:1604 +#: builtin/merge.c:1561 #, c-format msgid "Using the %s to prepare resolving by hand.\n" -msgstr "Usant el %s per a preparar la resolució a mà.\n" +msgstr "S'està usant el %s per a preparar la resolució a mà.\n" -#: builtin/merge.c:1616 +#: builtin/merge.c:1573 #, c-format msgid "Automatic merge went well; stopped before committing as requested\n" msgstr "" -"La fusió automàtica ha sortit bé; s'ha aturat abans de cometre tal i com " -"s'havia demanat\n" +"La fusió automàtica ha sortit bé; s'ha aturat abans de cometre com s'havia " +"demanat\n" #: builtin/merge-base.c:29 msgid "git merge-base [-a | --all] ..." @@ -8270,7 +9012,7 @@ msgstr "git mv [] ... " 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:72 +#: builtin/mv.c:72 builtin/rm.c:317 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 " @@ -8289,109 +9031,109 @@ msgstr "força el moviment / canvi de nom encara que el destí existeixi" msgid "skip move/rename errors" msgstr "omet els errors de moviment / canvi de nom" -#: builtin/mv.c:152 +#: builtin/mv.c:155 #, c-format msgid "destination '%s' is not a directory" msgstr "el destí '%s' no és un directori" -#: builtin/mv.c:163 +#: builtin/mv.c:166 #, c-format msgid "Checking rename of '%s' to '%s'\n" -msgstr "Comprovant el canvi de nom de '%s' a '%s'\n" +msgstr "S'està comprovant el canvi de nom de '%s' a '%s'\n" -#: builtin/mv.c:167 +#: builtin/mv.c:170 msgid "bad source" msgstr "font dolenta" -#: builtin/mv.c:170 +#: builtin/mv.c:173 msgid "can not move directory into itself" msgstr "no es pot moure un directori a dins d'ell mateix" -#: builtin/mv.c:173 +#: builtin/mv.c:176 msgid "cannot move directory over file" msgstr "no es pot moure un directori sobre un fitxer" -#: builtin/mv.c:182 +#: builtin/mv.c:185 msgid "source directory is empty" msgstr "el directori font està buit" -#: builtin/mv.c:207 +#: builtin/mv.c:210 msgid "not under version control" msgstr "no està sota control de versions" -#: builtin/mv.c:210 +#: builtin/mv.c:213 msgid "destination exists" msgstr "el destí existeix" -#: builtin/mv.c:218 +#: builtin/mv.c:221 #, c-format msgid "overwriting '%s'" -msgstr "sobreescrivint '%s'" +msgstr "s'està sobreescrivint '%s'" -#: builtin/mv.c:221 +#: builtin/mv.c:224 msgid "Cannot overwrite" msgstr "No es pot sobreescriure" -#: builtin/mv.c:224 +#: builtin/mv.c:227 msgid "multiple sources for the same target" msgstr "múltiples fonts per al mateix destí" -#: builtin/mv.c:226 +#: builtin/mv.c:229 msgid "destination directory does not exist" msgstr "el directori destí no existeix" -#: builtin/mv.c:233 +#: builtin/mv.c:236 #, c-format msgid "%s, source=%s, destination=%s" msgstr "%s, origen=%s, destí=%s" -#: builtin/mv.c:254 +#: builtin/mv.c:257 #, c-format msgid "Renaming %s to %s\n" -msgstr "Canviant el nom de %s a %s\n" +msgstr "S'està canviant el nom de %s a %s\n" -#: builtin/mv.c:257 builtin/remote.c:714 builtin/repack.c:365 +#: builtin/mv.c:263 builtin/remote.c:710 builtin/repack.c:375 #, c-format msgid "renaming '%s' failed" msgstr "el canvi del nom de '%s' ha fallat" -#: builtin/name-rev.c:251 +#: builtin/name-rev.c:258 msgid "git name-rev [] ..." msgstr "git name-rev [] ..." -#: builtin/name-rev.c:252 +#: builtin/name-rev.c:259 msgid "git name-rev [] --all" msgstr "git name-rev [] --all" -#: builtin/name-rev.c:253 +#: builtin/name-rev.c:260 msgid "git name-rev [] --stdin" msgstr "git name-rev [] --stdin" -#: builtin/name-rev.c:305 +#: builtin/name-rev.c:312 msgid "print only names (no SHA-1)" msgstr "imprimeix només els noms (sense SHA-1)" -#: builtin/name-rev.c:306 +#: builtin/name-rev.c:313 msgid "only use tags to name the commits" msgstr "només usa les etiquetes per a anomenar les comissions" -#: builtin/name-rev.c:308 +#: builtin/name-rev.c:315 msgid "only use refs matching " msgstr "només usa les referències que coincideixin amb " -#: builtin/name-rev.c:310 +#: builtin/name-rev.c:317 msgid "list all commits reachable from all refs" msgstr "llista totes les comissions abastables de totes les referències" -#: builtin/name-rev.c:311 +#: builtin/name-rev.c:318 msgid "read from stdin" msgstr "llegeix d'stdin" -#: builtin/name-rev.c:312 +#: builtin/name-rev.c:319 msgid "allow to print `undefined` names (default)" msgstr "permet imprimir els noms `undefined` (per defecte)" -#: builtin/name-rev.c:318 +#: builtin/name-rev.c:325 msgid "dereference tags in the input (internal use)" msgstr "dereferencia les etiquetes en l'entrada (ús intern)" @@ -8508,6 +9250,10 @@ msgstr "git notes prune []" msgid "git notes get-ref" msgstr "git notes get-ref" +#: builtin/notes.c:94 +msgid "Write/edit the notes for the following object:" +msgstr "Escriviu/editeu les notes de l'objecte següent:" + #: builtin/notes.c:147 #, c-format msgid "unable to start 'show' for object '%s'" @@ -8522,90 +9268,77 @@ msgstr "no s'ha pogut llegir la sortida de 'show'" msgid "failed to finish 'show' for object '%s'" msgstr "s'ha fallat en finalitzar 'show' per a l'objecte '%s'" -#: builtin/notes.c:174 builtin/tag.c:248 -#, c-format -msgid "could not create file '%s'" -msgstr "no s'ha pogut crear el fitxer '%s'" - -#: builtin/notes.c:193 +#: builtin/notes.c:194 msgid "Please supply the note contents using either -m or -F option" msgstr "" "Si us plau, proveïu els continguts de la nota fent servir l'opció -m o " "l'opció -F" -#: builtin/notes.c:202 +#: builtin/notes.c:203 msgid "unable to write note object" msgstr "no s'ha pogut escriure l'objecte de nota" -#: builtin/notes.c:204 +#: builtin/notes.c:205 #, c-format msgid "The note contents have been left in %s" msgstr "Els continguts de la nota s'han deixat en %s" -#: builtin/notes.c:232 builtin/tag.c:440 +#: builtin/notes.c:233 builtin/tag.c:439 #, c-format msgid "cannot read '%s'" msgstr "no es pot llegir '%s'" -#: builtin/notes.c:234 builtin/tag.c:443 +#: builtin/notes.c:235 builtin/tag.c:442 #, c-format 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: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." - -#: builtin/notes.c:256 +#: builtin/notes.c:257 #, c-format msgid "Failed to read object '%s'." msgstr "S'ha fallat en llegir l'objecte '%s'." -#: builtin/notes.c:260 +#: builtin/notes.c:261 #, c-format 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: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 +#: builtin/notes.c:363 builtin/notes.c:418 builtin/notes.c:494 +#: builtin/notes.c:506 builtin/notes.c:582 builtin/notes.c:650 +#: builtin/notes.c:800 builtin/notes.c:947 builtin/notes.c:968 msgid "too many parameters" msgstr "massa paràmetres" -#: builtin/notes.c:375 builtin/notes.c:662 +#: builtin/notes.c:376 builtin/notes.c:663 #, c-format msgid "No note found for object %s." msgstr "No s'ha trobat cap nota per a l'objecte %s." -#: builtin/notes.c:396 builtin/notes.c:559 +#: builtin/notes.c:397 builtin/notes.c:560 msgid "note contents as a string" msgstr "anota els continguts com a cadena" -#: builtin/notes.c:399 builtin/notes.c:562 +#: builtin/notes.c:400 builtin/notes.c:563 msgid "note contents in a file" msgstr "anota els continguts en un fitxer" -#: builtin/notes.c:402 builtin/notes.c:565 +#: builtin/notes.c:403 builtin/notes.c:566 msgid "reuse and edit specified note object" msgstr "reusa i edita l'objecte de nota especificat" -#: builtin/notes.c:405 builtin/notes.c:568 +#: builtin/notes.c:406 builtin/notes.c:569 msgid "reuse specified note object" msgstr "reusa l'objecte de nota especificat" -#: builtin/notes.c:408 builtin/notes.c:571 +#: builtin/notes.c:409 builtin/notes.c:572 msgid "allow storing empty note" msgstr "permet l'emmagatzematge d'una nota buida" -#: builtin/notes.c:409 builtin/notes.c:480 +#: builtin/notes.c:410 builtin/notes.c:481 msgid "replace existing notes" msgstr "reemplaça les notes existents" -#: builtin/notes.c:434 +#: builtin/notes.c:435 #, c-format msgid "" "Cannot add notes. Found existing notes for object %s. Use '-f' to overwrite " @@ -8614,30 +9347,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:449 builtin/notes.c:528 +#: builtin/notes.c:450 builtin/notes.c:529 #, c-format msgid "Overwriting existing notes for object %s\n" -msgstr "Sobreescrivint les notes existents de l'objecte %s\n" +msgstr "S'estan sobreescrivint les notes existents de l'objecte %s\n" -#: builtin/notes.c:460 builtin/notes.c:621 builtin/notes.c:885 +#: builtin/notes.c:461 builtin/notes.c:622 builtin/notes.c:887 #, c-format msgid "Removing note for object %s\n" -msgstr "Eliminant la nota de l'objecte %s\n" +msgstr "S'està eliminant la nota de l'objecte %s\n" -#: builtin/notes.c:481 +#: builtin/notes.c:482 msgid "read objects from stdin" msgstr "llegeix els objectes des d'stdin" -#: builtin/notes.c:483 +#: builtin/notes.c:484 msgid "load rewriting config for (implies --stdin)" msgstr "" "carrega la configuració de reescriptura per a (implica --stdin)" -#: builtin/notes.c:501 +#: builtin/notes.c:502 msgid "too few parameters" msgstr "hi ha massa pocs paràmetres" -#: builtin/notes.c:522 +#: builtin/notes.c:523 #, c-format msgid "" "Cannot copy notes. Found existing notes for object %s. Use '-f' to overwrite " @@ -8646,12 +9379,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:534 +#: builtin/notes.c:535 #, 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:586 +#: builtin/notes.c:587 #, c-format msgid "" "The -m/-F/-c/-C options have been deprecated for the 'edit' subcommand.\n" @@ -8660,15 +9393,20 @@ 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:767 +#: builtin/notes.c:753 +#, c-format +msgid "unknown notes merge strategy %s" +msgstr "estratègia de fusió de notes desconeguda %s" + +#: builtin/notes.c:769 msgid "General options" msgstr "Opcions generals" -#: builtin/notes.c:769 +#: builtin/notes.c:771 msgid "Merge options" msgstr "Opcions de fusió" -#: builtin/notes.c:771 +#: builtin/notes.c:773 msgid "" "resolve notes conflicts using the given strategy (manual/ours/theirs/union/" "cat_sort_uniq)" @@ -8676,49 +9414,87 @@ msgstr "" "resol els conflictes de nota usant l'estratègia donada (manual/ours/theirs/" "union/cat_sort_uniq)" -#: builtin/notes.c:773 +#: builtin/notes.c:775 msgid "Committing unmerged notes" -msgstr "Cometent les notes sense fusionar" +msgstr "S'estan cometent les notes sense fusionar" -#: builtin/notes.c:775 +#: builtin/notes.c:777 msgid "finalize notes merge by committing unmerged notes" msgstr "finalitza la fusió de notes cometent les notes sense fusionar" -#: builtin/notes.c:777 +#: builtin/notes.c:779 msgid "Aborting notes merge resolution" -msgstr "Avortant la resolució de fusió de notes" +msgstr "S'està avortant la resolució de fusió de notes" -#: builtin/notes.c:779 +#: builtin/notes.c:781 msgid "abort notes merge" msgstr "avorta la fusió de notes" -#: builtin/notes.c:856 +#: builtin/notes.c:792 +msgid "cannot mix --commit, --abort or -s/--strategy" +msgstr "no es pot combinar --commit, --abort i -s/--strategy" + +#: builtin/notes.c:797 +msgid "Must specify a notes ref to merge" +msgstr "Cal especificar una referència de notes a fusionar" + +#: builtin/notes.c:821 +#, c-format +msgid "Unknown -s/--strategy: %s" +msgstr "-s/--strategy desconeguda: %s" + +#: builtin/notes.c:858 #, 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:883 +#: builtin/notes.c:861 +#, c-format +msgid "Failed to store link to current notes ref (%s)" +msgstr "" +"S'ha fallat en emmagatzemar l'enllaç a la referència de notes actual (%s)" + +#: builtin/notes.c:863 +#, c-format +msgid "" +"Automatic notes merge failed. Fix conflicts in %s and commit the result with " +"'git notes merge --commit', or abort the merge with 'git notes merge --" +"abort'.\n" +msgstr "" +"La fusió de notes automàtica ha fallat. Arregleu els conflictes en %s i " +"cometeu el resultat amb 'git notes merge --commit', o avorteu la fusió amb " +"'git notes merge --abort'.\n" + +#: builtin/notes.c:885 #, c-format msgid "Object %s has no note\n" msgstr "L'objecte %s no té cap nota\n" -#: builtin/notes.c:895 +#: builtin/notes.c:897 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:898 +#: builtin/notes.c:900 msgid "read object names from the standard input" msgstr "llegeix els noms d'objecte des de l'entrada estàndard" -#: builtin/notes.c:979 +#: builtin/notes.c:938 builtin/prune.c:105 builtin/worktree.c:127 +msgid "do not remove, show only" +msgstr "no eliminis, només mostra" + +#: builtin/notes.c:939 +msgid "report pruned notes" +msgstr "informa de notes podades" + +#: builtin/notes.c:981 msgid "notes-ref" msgstr "referència de notes" -#: builtin/notes.c:980 +#: builtin/notes.c:982 msgid "use notes from " msgstr "usa les notes de " -#: builtin/notes.c:1015 builtin/remote.c:1626 +#: builtin/notes.c:1017 builtin/remote.c:1623 #, c-format msgid "Unknown subcommand: %s" msgstr "Subordre desconeguda: %s" @@ -8737,183 +9513,193 @@ msgstr "" "git pack-objects [...] [< | < " "]" -#: builtin/pack-objects.c:175 builtin/pack-objects.c:178 +#: builtin/pack-objects.c:177 builtin/pack-objects.c:180 #, c-format msgid "deflate error (%d)" msgstr "error de deflació (%d)" -#: builtin/pack-objects.c:772 +#: builtin/pack-objects.c:766 +msgid "disabling bitmap writing, packs are split due to pack.packSizeLimit" +msgstr "" +"s'està inhabilitant l'escriptura de mapes de bits, es divideixen els paquets " +"a causa de pack.packSizeLimit" + +#: builtin/pack-objects.c:779 msgid "Writing objects" -msgstr "Escrivint els objectes" +msgstr "S'estan escrivint els objectes" -#: builtin/pack-objects.c:1012 +#: builtin/pack-objects.c:1037 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" +"s'està inhabilitant l'escriptura de mapes de bits, perquè alguns objectes no " +"s'empaqueten" -#: builtin/pack-objects.c:2172 +#: builtin/pack-objects.c:2197 msgid "Compressing objects" -msgstr "Comprimint objectes" +msgstr "S'estan comprimint objectes" -#: builtin/pack-objects.c:2558 +#: builtin/pack-objects.c:2611 #, c-format msgid "unsupported index version %s" msgstr "versió d'índex no compatible %s" -#: builtin/pack-objects.c:2562 +#: builtin/pack-objects.c:2615 #, c-format msgid "bad index version '%s'" msgstr "versió d'índex dolenta '%s'" -#: builtin/pack-objects.c:2592 +#: builtin/pack-objects.c:2645 msgid "do not show progress meter" msgstr "no mostris l'indicador de progrés" -#: builtin/pack-objects.c:2594 +#: builtin/pack-objects.c:2647 msgid "show progress meter" msgstr "mostra l'indicador de progrés" -#: builtin/pack-objects.c:2596 +#: builtin/pack-objects.c:2649 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:2599 +#: builtin/pack-objects.c:2652 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:2600 +#: builtin/pack-objects.c:2653 msgid "version[,offset]" msgstr "versió[,desplaçament]" -#: builtin/pack-objects.c:2601 +#: builtin/pack-objects.c:2654 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:2604 +#: builtin/pack-objects.c:2657 msgid "maximum size of each output pack file" msgstr "mida màxima de cada fitxer de paquet de sortida" -#: builtin/pack-objects.c:2606 +#: builtin/pack-objects.c:2659 msgid "ignore borrowed objects from alternate object store" msgstr "" "ignora els objectes prestats d'un emmagatzemament d'objectes alternatiu" -#: builtin/pack-objects.c:2608 +#: builtin/pack-objects.c:2661 msgid "ignore packed objects" msgstr "ignora els objectes empaquetats" -#: builtin/pack-objects.c:2610 +#: builtin/pack-objects.c:2663 msgid "limit pack window by objects" msgstr "limita la finestra d'empaquetament per objectes" -#: builtin/pack-objects.c:2612 +#: builtin/pack-objects.c:2665 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:2614 +#: builtin/pack-objects.c:2667 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:2616 +#: builtin/pack-objects.c:2669 msgid "reuse existing deltas" msgstr "reusa les deltes existents" -#: builtin/pack-objects.c:2618 +#: builtin/pack-objects.c:2671 msgid "reuse existing objects" msgstr "reusa els objectes existents" -#: builtin/pack-objects.c:2620 +#: builtin/pack-objects.c:2673 msgid "use OFS_DELTA objects" msgstr "usa objectes OFS_DELTA" -#: builtin/pack-objects.c:2622 +#: builtin/pack-objects.c:2675 msgid "use threads when searching for best delta matches" msgstr "usa fils en cercar les millores coincidències de delta" -#: builtin/pack-objects.c:2624 +#: builtin/pack-objects.c:2677 msgid "do not create an empty pack output" msgstr "no creïs una emissió de paquet buida" -#: builtin/pack-objects.c:2626 +#: builtin/pack-objects.c:2679 msgid "read revision arguments from standard input" msgstr "llegeix els paràmetres de revisió des de l'entrada estàndard" -#: builtin/pack-objects.c:2628 +#: builtin/pack-objects.c:2681 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:2631 +#: builtin/pack-objects.c:2684 msgid "include objects reachable from any reference" msgstr "inclou els objectes abastables de qualsevulla referència" -#: builtin/pack-objects.c:2634 +#: builtin/pack-objects.c:2687 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:2637 +#: builtin/pack-objects.c:2690 msgid "include objects referred to by the index" msgstr "inclou els objectes als quals faci referència l'índex" -#: builtin/pack-objects.c:2640 +#: builtin/pack-objects.c:2693 msgid "output pack to stdout" msgstr "emet el paquet a stdout" -#: builtin/pack-objects.c:2642 +#: builtin/pack-objects.c:2695 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:2644 +#: builtin/pack-objects.c:2697 msgid "keep unreachable objects" msgstr "retén els objectes inabastables" -#: builtin/pack-objects.c:2645 parse-options.h:142 +#: builtin/pack-objects.c:2699 +msgid "pack loose unreachable objects" +msgstr "empaqueta els objectes inabastables solts" + +#: builtin/pack-objects.c:2700 parse-options.h:142 msgid "time" msgstr "hora" -#: builtin/pack-objects.c:2646 +#: builtin/pack-objects.c:2701 msgid "unpack unreachable objects newer than